我試圖在nltk中使用ne_chunk和pos_tag對一個句子進行分塊。ne_chunk NLTK中沒有pos_tag
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')])]
我的問題,是有可能不包括pos_tag(如上面NNP),只包括樹 'GPE', '人'? 和'GPE'是什麼意思?
在此先感謝
由於它的作品!但我該如何訓練一些特殊的NE?像邁克爾必須是'PERSON'而不是'GPE',因爲它是一個人名。 – sang
閱讀nltk書。然後在這裏問一個新問題,如果你還在想。簡而言之,您可以添加一個人名字典來覆蓋統計信息,但總的來說,您可以做的事情並不多。你試圖手動修復太多,你比你修復的更多。 (例如,「伊麗莎白」是新澤西州的人還是城市?) – alexis