2013-07-21 44 views
-1

您是否知道NLP中的某些论文或算法能够从与给定实体(词)相关的文本中提取句子。我想处理一些评论(主要是技术),但是我发现很多评论都提到了更多的产品(它们会进行比较)。我想从该文本中提取与某个产品相关的句子,或删除与特定命名实体(产品)无关的句子。将相关句子提取到实体

我的questin是如何做到这一点?有没有相关的论文?是这样做的一些工具包或API?

+1

https://www.google.com.sg/search?q=name+enitity+recognition – alvas

回答

2

你想要的是一个命名实体识别器(NER)。给定输入句子后,NER将把句子中的各个实体标识为人员,组织,产品等。然后,您可以检查被识别为产品的实体,并相应地保留或丢弃该句子。一个非常简单的可能性就是在Python中使用NLTK的命名实体识别器。这里有一个例子:

import nltk 
sent = "Albert Einstein spent many years at Princeton University in New Jersey" 
sent1 = nltk.word_tokenize(sent) 
sent2 = nltk.pos_tag(sent1) 
sent3 = nltk.ne_chunk(sent2) 
print sent3 

输出将是:

(S 
    (PERSON Albert/NNP) 
    (PERSON Einstein/NNP) 
    spent/VBD 
    many/JJ 
    years/NNS 
    at/IN 
    (ORGANIZATION Princeton/NNP University/NNP) 
    in/IN 
    (GPE New/NNP Jersey/NNP)) 

NLTK很适合这个简单的例子,但说实话,我不知道它是如何准确,或者也可以是定制以适合您的目的(识别产品)。但我知道Stanford NER既可定制也可准确,因此您可能需要查看上述链接。