nltkでne_chunkとpos_tagを使用して文をチャンクしようとしています。NLTKでpos_tagのないne_chunk
from nltk import tag
from nltk.tag import pos_tag
from nltk.tree import Tree
from nltk.chunk import ne_chunk
sentence = "Michael and John is reading a booklet in a library of Jakarta"
tagged_sent = pos_tag(sentence.split())
print_chunk = [chunk for chunk in ne_chunk(tagged_sent) if isinstance(chunk, Tree)]
print print_chunk
と、これが結果です:
[Tree('GPE', [('Michael', 'NNP')]), Tree('PERSON', [('John', 'NNP')]), Tree('GPE', [('Jakarta', 'NNP')])]
私の質問は、それが(上記のNNPのような)pos_tagが含まれており、唯一のツリー 'GPE'、 'PERSON' を含まないようにすることができますか? 「GPE」とは何ですか?事前
感謝を参照してください!私はいくつかの特別なNEを訓練することができますか?マイケルのようなものは人名なので「GPE」ではなく「人」でなければなりません。 – sang
nltk本を読んでください。あなたがまだ不思議であれば、ここに新しい質問をしてください。簡単な答えは、統計的手がかりを無効にするために人名の辞書を追加することができますが、一般的にはあなたができることはあまりありません。あまり手作業で修正しようとすると、修正した以上に壊れます。 (例:ニュージャージー州の人や都市である「エリザベス」ですか?) – alexis