私は現在スタンフォードパーサー用のPythonインターフェイスを使用しています。Stanford Parser for Python:出力形式
from nltk.parse.stanford import StanfordParser
import os
os.environ['STANFORD_PARSER'] ='/Users/au571533/Downloads/stanford-parser-full-2016-10-31'
os.environ['STANFORD_MODELS'] = '/Users/au571533/Downloads/stanford-parser-full-2016-10-31'
parser=StanfordParser(model_path="edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz")
new=list(parser.raw_parse("The young man who boarded his usual train that Sunday afternoon was twenty-four years old and fat. "))
print new
私が手出力は次のようなものになります。
[Tree('ROOT', [Tree('S', [Tree('NP', [Tree('NP', [Tree('DT', ['The']), Tree('JJ', ['young']), Tree('NN', ['man'])]), Tree('SBAR', [Tree('WHNP', [Tree('WP', ['who'])]), Tree('S', [Tree('VP', [Tree('VBD', ['boarded']), Tree('NP', [Tree('PRP$', ['his']), Tree('JJ', ['usual']), Tree('NN', ['train'])]), Tree('NP', [Tree('DT', ['that']), Tree('NNP', ['Sunday'])])])])])]), Tree('NP', [Tree('NN', ['afternoon'])]), Tree('VP', [Tree('VBD', ['was']), Tree('NP', [Tree('NP', [Tree('JJ', ['twenty-four']), Tree('NNS', ['years'])]), Tree('ADJP', [Tree('JJ', ['old']), Tree('CC', ['and']), Tree('JJ', ['fat'])])])]), Tree('.', ['.'])])])]
しかし、私は音声のみのラベルの一部を必要とし、したがって、私は言葉のように見える形式で出力をしたいのですが/タグ。
javaでは、-outputFormat 'wordsAndTags'を指定することができ、それは私が望むものを正確に提供します。これをPythonでどのように実装するかについてのヒント?
助けてくれれば幸いです。 ありがとう!
PS:スタンフォードPOSTaggerを使用しようとしましたが、それははるかに正確な私が興味の単語のいくつかのことである
出力をどのように表示するかの例で編集できますか? –
上記のコードの文の場合、['/ DT'、 'young/JJ'、 'man/NN']のようなもの、文字列のような項目のリスト、タプルやテーブルのリスト大丈夫です。要点は次のとおりです。依存関係ツリーの情報は必要ありませんが、各単語の品詞のみです。ありがとう! :) – roberta