我一直在探索NLP技术,目的是确定调查评论的主题(然后我将其与情绪分析结合使用)。我想做一些高级别的声明,例如“10%的受访者对客户经理做出了积极的评论(+情绪)”。
我的方法使用了Named Entity Recognition (NER)。现在我正在使用真实数据,我可以看到一些复杂性和与识别句子主语相关的细微差别。以下是主题为客户经理的5个句子示例。我已将命名实体以粗体显示以用于演示目的。
我看到三个挑战增加了我的任务的复杂性
其中同义词问题是最常见的问题,其次是歧义问题。基于我所看到的,缩写问题在我的数据中并不常见。
是否有任何NLP技术能够以相对较高的置信度帮助解决这些问题?
答案 0 :(得分:2)
据我所知,你所谓的"主题" 是给出一个句子的实体,在你的例子中,史蒂夫是一个句子经理。
基于这个假设,以下是一些技巧以及它们如何帮助您:
(依赖关系)解析
由于您并不是指具有严格语法意义的主题, user7344209 基于依赖性解析建议的方法可能无法帮助您。在诸如"我喜欢Steve"这样的句子中,语法主题是" I",尽管你可能想找到" Steve"作为"主题"。
命名实体识别
你已经使用了这个,并且检测史蒂夫等人的名字会很棒。我不太确定的是"客户经理"的例子。 Daniel提供的输出和我自己使用Stanford CoreNLP的测试都没有将其识别为命名的实体 - 这是正确的,它实际上不是命名的实体:
更广泛的内容,例如建议的提及标识可能会更好,但它基本上标记了每个可能过于宽泛的名词短语。如果我理解正确,您希望每个句子找到一个主题。
核心参考分辨率
Coreference Resolution是检测" Steve"的关键技术。以及"客户经理"是同一个实体。例如,斯坦福CoreNLP有module这样的。
为了在你的例子中使用它,你必须让它一次处理几个句子,因为你想找到它们之间的链接。以下是您的一些示例的(简短版本)示例:
可视化有点乱,但它基本上找到了以下的共同链:
鉴于前两个链和一些后处理,你可以发现所有四个语句都是关于同一个实体。
语义相似性
对于帐户,业务和关系经理,我发现尽管条款不同,CoreNLP共享解析器实际上已经找到了链。
更一般地说,如果您认为共参考解析器无法很好地处理同义词和释义,您还可以尝试包含语义相似性的度量。在NLP中有很多关于预测两个短语是否是同义词的工作。
有些方法是:
使用这些相似性度量的想法是识别两个句子中的实体,然后在两个句子中的实体之间进行成对比较,如果一对具有高于阈值的相似性,则将其视为同一实体。
答案 1 :(得分:1)
如果您没有太多要训练的数据,您可以尝试使用依赖关系分析工具并提取已识别出SUBJECT的依赖关系对象(如果使用{{3},通常使用 nsubj })。
答案 2 :(得分:1)
关于第2点,涉及缩写,这是一个难题。但是我们这里有entity-similarity模块可能有用。这会考虑honorifics等内容。
以上数据来自这里的演示:http://deagol.cs.illinois.edu:8080