繁体   English   中英

在Python中使用NLTK进行绘图

[英]Chinking using NLTK in Python

我一直在尝试Python NLTK Book中的一些示例。 例如,第7章通过以下示例讨论了Chinking:

grammar = r"""
    NP:
    {<.*>+}          # Chunk everything
    }<VBD|IN>+{      # Chink sequences of VBD and IN
  """
sentence = [("the", "DT"), ("little", "JJ"), ("yellow", "JJ"),
       ("dog", "NN"), ("barked", "VBD"), ("at", "IN"),  ("the", "DT"), ("cat", "NN")]
cp = nltk.RegexpParser(grammar)
result = cp.parse(sentence)

据我说,这应该从结果中剔除。 但事实并非如此。 我是python和nltk的新手,但是我在这里错过了什么? 是否有明显的东西需要在这里进行更新? 谢谢..

分块会创建块,而chinking会分解这些块。

这正是Jacob Perkins所说的“使用NLTK 2.0食谱进行Python文本处理”(我建议您这本书,因为您是NLTK的新手)。

这意味着{}创建了一些块,} {将这些块分解为较小的块(即,将它们分开),但不删除任何内容。

根据您的示例,查看显示了什么

result.draw()

或者运行

from nltk.tree import Tree

Tree('S', [Tree('NP', [('the', 'DT'), ('little', 'JJ'), ('yellow', 'JJ'), ('dog', 'NN')]), ('barked', 'VBD'), ('at', 'IN'), Tree('NP', [('the', 'DT'), ('cat', 'NN')])]).draw()

(以上代码示例显示了相同的内容。不同之处在于,第一个示例要求您运行初始示例,而第二个示例则不需要任何操作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM