machine-learning - 提取相关句子到实体

标签 machine-learning nlp semantics semantic-web

您知道 NLP 中的一些论文或算法能够从文本中提取与给定实体(术语)相关的句子吗?我想处理一些评论(主要是技术),但我发现许多评论提到了不止一种产品(他们进行比较)。我想从该文本中仅提取与一种产品相关的句子,或删除与特定命名实体(产品)无关的句子。

我的questin是怎么做的?有相关论文吗?类似的事情是由某些工具包或 API 完成的吗?

最佳答案

您需要的是一个命名实体识别器 (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既可定制又准确,因此您可能需要查看上面的链接。

关于machine-learning - 提取相关句子到实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17770734/

相关文章:

python - Tensorflow CNN 实现的准确性较差

python - 类型错误 : wrapper() takes 1 positional argument but 2 were given

apache-spark - Apache Spark 用户推荐?

python - 改善使用 mnist 数据集训练的神经网络的真实结果

java - 日期的自然语言生成器 (Java)

semantics - 从ID检索Freebase Quad Dump类型名称

nlp - 在 spaCy 中训练句子分词器

tensorflow - 如何使用依存分析树进行情感分析?

c# - 一个 "regex for words"(语义替换)——任何示例语法和库?

dynamic - Antlr 4 停用左递归规则中的子规则