擅长:python、mysql、java
<p>你好像在问两个问题。首先,NLTK为您提供了一个树,但是您只对命名的实体感兴趣。您可以这样选择它们:</p>
<pre><code>for subtree in t.subtrees(filter=lambda x: x.label() == 'NE'):
print subtree.leaves()
</code></pre>
<p>然而,第二,这个输出显示Python只将您要寻找的答案之一标识为命名实体。这意味着你必须找到其他方法,而不是标准的neu chunk来得到你的答案。这里有很多选择。例如,您可以在自己的数据上训练一个新的命名实体标记器,其中所有适当的单词都被标记为命名实体。如果没有任何带标签的数据,可以使用<a href="https://wordnet.princeton.edu/" rel="nofollow">WordNet</a>这样的资源来查找每个单词或短语的语义类型,并且只保留属于“症状”的单词。或者,您可以使用语义向量(比如Google的<a href="https://code.google.com/p/word2vec/" rel="nofollow">word2vec</a>)来识别句子中与参考词(如“疾病”)非常相似的所有单词。在</p>