我正在使用他们的默认 POS 标记和默认标记化..这似乎就足够了。我也想要他们的默认分块器。
我正在阅读 NLTK 工具包书,但他们似乎没有默认的分块器?
您可以使用 nltk.ne_chunk() 方法开箱即用地命名实体分块。它需要一个 POS 标记的元组列表:
nltk.ne_chunk([('Barack', 'NNP'), ('Obama', 'NNP'), ('lives', 'NNS'), ('in', 'IN'), ('Washington', 'NNP')])
结果是:
Tree('S', [Tree('PERSON', [('Barack', 'NNP')]), Tree('ORGANIZATION', [('Obama', 'NNP')]), ('lives', 'NNS'), ('in', 'IN'), Tree('GPE', [('Washington', 'NNP')])])
它将巴拉克确定为一个人,但将奥巴马确定为一个组织。所以,并不完美。
我也找不到默认的分块器/浅层解析器。尽管本书描述了如何使用示例功能构建和训练一个。想出额外的特性来获得良好的性能应该不会太难。
请参阅第 7 章关于训练基于分类器的块的部分。