【问题标题】:Entity Recognition and Sentiment Analysis using NLP使用 NLP 进行实体识别和情感分析
【发布时间】:2014-03-25 20:56:50
【问题描述】:

所以,这个问题可能有点幼稚,但我认为问 Stackoverflow 的友好人士不会有什么坏处。

我现在的公司已经使用第三方 API 进行 NLP 有一段时间了。我们基本上是对一个字符串进行 URL 编码并将其发送过来,它们会为我们提取某些实体(我们有一个我们正在寻找的实体列表)并返回一个实体的 json 映射:sentiment。我们最近决定将这个项目引入内部。

过去 2 天我一直在研究 NLTK、Stanford NLP 和 lingpipe,但不知道我是否基本上是在重新发明轮子来做这个项目。

我们已经有包含原始非结构化文本的大量表格和另一个包含从该文本中提取的实体及其情绪的表格。实体是单个单词。例如:

非结构化文本:现在是床。这不是最好的。

实体:床

情绪:负面

我认为这意味着我们拥有训练数据(非结构化文本)以及实体和情绪。现在,我如何在其中一个 NLP 框架上使用这些训练数据并获得我们想要的东西?没有线索。我有一些步骤,但不确定:

  1. 标记句子
  2. 标记词
  3. 在句子中查找名词(词性标注)
  4. 找出那句话的情感。

但是对于我上面提到的情况,这应该失败,因为它用 2 个不同的句子谈论床?

所以问题 - 有没有人知道完成上述任务的最佳框架是什么,以及相同的任何教程(注意:我不是在寻求解决方案)。如果你以前做过这些事情,这个任务是否太大而无法承担?我查找了一些商业 API,但它们的使用成本高得离谱(我们是一家小型初创公司)。

感谢stackoverflow!

【问题讨论】:

    标签: nlp nltk stanford-nlp sentiment-analysis lingpipe


    【解决方案1】:

    OpenNLP 也可以通过库来查看。至少他们有一个小教程来训练名称查找器并使用文档分类器进行情感分析。要跟踪名称查找器,您必须通过使用 SGML 标签标记文本中的实体来准备训练数据。

    http://opennlp.apache.org/documentation/1.5.3/manual/opennlp.html#tools.namefind.training

    【讨论】:

    • 谢谢凯!实际上,我最终编写了自己的库,用于在 NLTK 中使用标记实体进行训练。它起作用了,嗯,还可以。现在尝试在斯坦福 NLP 中做这件事,因为我发现他们的 NER 和 Sentiment Extraction 更适合/更友好。我很快就会用代码链接更新这个问题。
    【解决方案2】:

    NLTK 提供了一个简单的 NER 标记器以及资源。但它并不适合所有情况(包括查找日期。)但 NLTK 允许您根据要求修改和自定义 NER 标记器。这个link 可能会给你一些关于如何定制的基本示例的想法。此外,如果您对 scala 和函数式编程感到满意,这是您不能错过的tool

    干杯...!

    【讨论】:

      【解决方案3】:

      我最近发现了spaCy,真是太棒了!在链接中,您可以找到与 NLTK、CoreNLP 相比在速度和准确性方面的性能对比,它确实做得很好!

      虽然解决您的问题任务不是框架问题。您可以有两个不同的系统,一个用于 NER,一个用于 Sentiment,它们可以完全独立。这些天的炒作是使用神经网络,如果你也愿意,你可以训练一个带有注意力机制的循环神经网络(它在 NLP 任务中表现出最佳性能)来找到实体和情绪。

      互联网上到处都有很棒的演示,我阅读并发现有趣的最后两个是[1][2]

      【讨论】:

        【解决方案4】:

        与 Spacy 类似,TextBlob 是另一个快速简便的软件包,可以完成许多此类任务。

        我经常使用 NLTK、Spacy 和 Textblob。如果语料库简单、通用且直接,那么 Spacy 和 Textblob 在 OOTB 中运行良好。如果语料库是高度定制的、特定于领域的、混乱的(拼写或语法不正确)等。我将使用 NLTK 并花更多时间通过擦洗、词形还原等来定制我的 NLP 文本处理管道。

        NLTK 教程:http://www.nltk.org/book/

        Spacy 快速入门:https://spacy.io/usage/

        Textblob 快速入门:http://textblob.readthedocs.io/en/dev/quickstart.html

        【讨论】:

          猜你喜欢
          • 2023-03-23
          • 2018-09-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-12
          • 2018-03-08
          • 2020-07-02
          • 1970-01-01
          相关资源
          最近更新 更多