NLTK工具包在Python中的默认分块器是什么?

9 投票
2 回答
4640 浏览
提问于 2025-04-15 15:44

我正在使用他们的默认词性标注和默认分词,这些功能看起来已经足够用了。我也想要他们的默认分块工具。

我在看NLTK工具包的书,但似乎他们没有提供默认的分块工具?

2 个回答

8

我也找不到一个默认的分块器或浅层解析器。虽然书里有讲怎么用示例特征来构建和训练一个。想出更多的特征来提高性能应该不会太难。

可以看看第七章关于 基于分类器的分块器训练 的部分。

9

你可以使用nltk.ne_chunk()这个方法来进行命名实体识别。这个方法需要一个已经标注好词性的元组列表:

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')])])

这个结果把Barack识别为一个人,而把Obama识别为一个组织。所以,这个识别并不是完全准确的。

撰写回答