将相关句子提取到实体

时间:2013-07-21 09:07:40

标签: machine-learning nlp semantics semantic-web

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

我的任务是如何做到的?有一些相关的论文吗?这样的东西是由某些工具包还是api完成的?

2 个答案:

答案 0 :(得分: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可自定义且准确,因此您可能需要查看上述链接。

答案 1 :(得分:0)

本文可能是您解决问题的方法。 https://www.aclweb.org/anthology/W12-4702

解决这类问题的方法很复杂。像谈论实体的句子一样,可以是描述/比较/问题类型等任何类型。在某些情况下,可能会或可能不会明确提及实体。

可以尝试一些方法:实体转换,共指解析,话语关系提取等。

谢谢。