簡體   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