[英]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.