私はまた、PythonとSyntaxNetの両方の初心者です。私がやったことは、私がSyntaxNetフォルダにdemo.shから
bazel-bin/syntaxnet/conll2tree \
--task_context=$MODEL_DIR/context.pbtxt \
--alsologtostderr
を削除することにより、ツリーからタブ区切りのテキストファイルにSyntaxNetの出力を変更したことでした。次に、あなたが、csv.reader
でデータを読み取るlist
にそれを回した後、「からsublists
の4列(列番号の開始を検索することができ
:'open Book, which I have written with laboratory writer, with libreoffice writer.' | syntaxnet/demo.sh > output.txt
テキストファイルエコー、このコマンドを実行しますと、このようなものです0' )とROOT
を見つけるための7列目私は上記の説明のコードを配置:
#read from Syntaxnet output tab delimited textfile
def readata(filename):
file=open(filename,'r')
lines=file.readlines()
lines=lines[:-1]
data=csv.reader(lines,delimiter='\t')
#make a list of lists
lol=list(data)
return lol
#find the verb which is ROOT of the sentence
lists=readata(filename)
for sublist in lists:
if sublist[7]=='ROOT' and sublist[4]=='VBP':
word=sublist[1]
このコードはbignnerによって書かれていますが、少なくとも私のために働いたことに注意してください。