使用自然语言处理的实体识别和情感分析

7
所以,这个问题可能有点幼稚,但我想问问Stackoverflow友好的人们不会有什么损失。
我们公司目前已经使用第三方NLP API一段时间了。我们基本上对字符串进行URL编码并发送它们,他们为我们提取某些实体(我们有一个实体列表)并返回一个json映射实体:情感。我们最近决定将这个项目带到内部。
我已经研究了NLTK、Stanford NLP和lingpipe两天了,但是我无法确定是否正在重新发明轮子。
我们已经有包含原始非结构化文本和另一个包含从该文本中提取的实体及其情感的巨大表格。这些实体是单词。例如:
未结构化文本:现在到床上了。 这不是最好的。 实体:床 情感:负面
我认为这意味着我们有训练数据(非结构化文本)以及实体和情感。现在我该如何在其中一个NLP框架上使用此训练数据并获得我们想要的结果?毫无头绪。我有一些步骤,但不确定:
1. 对句子进行分词 2. 对单词进行分词 3. 在句子中查找名词(POS标记) 4. 找到该句子的情感。
但是对于我上面提到的情况,它应该会失败,因为它在两个不同的句子中谈到了床?
问题是 - 有没有人知道实现上述任务的最佳框架以及任何相关教程(注意:我不是在寻求解决方案)。如果您以前做过这些事情,这项任务是否太大而无法完成?我查找了一些商业API,但它们的使用费用非常昂贵(我们是一个小型初创公司)。
感谢stackoverflow!
4个回答

3

1
谢谢Kai!实际上我最终编写了自己的库来训练NLTK中的标记实体。它运行得还可以。现在我正在尝试在Stanford NLP中完成,因为我发现他们的NER和情感提取更易于使用/友好。我很快会更新这个问题,并提供代码链接。 - user3457860

1
我最近发现了spaCy,它非常棒!在链接中,您可以找到与NLTK、CoreNLP相比性能方面的比较,它表现得非常好!
虽然解决问题的任务不是框架的问题。您可以拥有两个不同的系统,一个用于NER,另一个用于情感分析,它们可以完全独立。这些天的炒作是使用神经网络,如果您愿意,您可以训练一个具有注意机制的循环神经网络(对于NLP任务表现最佳)来查找实体和情感。
互联网上有很多很棒的演示,我最近看到并觉得有趣的是[1][2]

1
NLTK提供了一个朴素的NER标注器和相关资源。但是它并不适用于所有情况(包括查找日期)。但是,NLTK允许您根据要求修改和定制NER标注器。这个link可能会给您一些基本示例的想法如何自定义。此外,如果您熟悉Scala和函数式编程,那么这个tool是您不能错过的。

Cheers...!


0

与Spacy类似,TextBlob是另一个快速且易于使用的软件包,可以完成许多这些任务。

我经常使用NLTK、Spacy和Textblob。如果语料库简单、通用且直接,Spacy和Textblob可以很好地开箱即用。如果语料库高度定制、特定于领域、混乱(拼写或语法不正确)等,则会使用NLTK,并花更多时间定制我的NLP文本处理管道,进行清洗、词形还原等。

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接