【问题标题】:What is the default chunker for NLTK toolkit in Python?Python 中 NLTK 工具包的默认分块器是什么?
【发布时间】:2023-03-24 04:43:02
【问题描述】:

我正在使用他们的默认 POS 标记和默认标记化..这似乎足够了。我也想要他们的默认分块器。

我正在阅读 NLTK 工具包书籍,但他们似乎没有默认的分块器?

【问题讨论】:

    标签: python nlp nltk chunking


    【解决方案1】:

    您可以使用 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')])])

    它将巴拉克识别为一个人,而将奥巴马识别为一个组织。所以,并不完美。

    【讨论】:

    • 如果我不是很关心 named_entities,而是一般的分块怎么办。比如“the yellow dog”就是一个chunk,“is running”就是一个chunk。
    • 是的,据我所知,没有默认值(虽然我不知道关于 nltk 的一切,可以肯定)。您可以使用 RegexpChunkParser,但您必须自己制定规则。这里有一个例子:gnosis.cx/publish/programming/charming_python_b18.txt
    【解决方案2】:

    我也找不到默认的分块器/浅层解析器。尽管本书描述了如何使用示例功能构建和训练一个。想出额外的功能来获得良好的性能应该不会太难。

    请参阅第 7 章关于 Training Classifier-based Chunkers 的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 2015-12-27
      • 1970-01-01
      相关资源
      最近更新 更多