我一直在探索NLP技术,目的是确定调查评论的主题(然后我将其与情绪分析结合使用)。我想做一些高层次的陈述,比如“10%的调查对象对客户经理做出了积极的评价(+情绪)”。在
我的方法使用了Named Entity Recognition (NER)。现在我正在处理真实的数据,我开始了解一些与确定句子主语相关的复杂性和细微差别。这里有5个例句,主题是客户经理。为了演示的目的,我将命名实体以粗体显示。在
我看到三个挑战增加了我的任务的复杂性
其中同义词问题是最常见的问题,其次是歧义问题。根据我所见,在我的数据中,缩写问题并不常见。在
是否有任何NLP技术可以帮助处理这些问题中的任何一个以相对高的信心?在
如果您没有太多的数据需要训练,那么您可能可以尝试使用依赖性分析工具,并提取具有主题标识的依赖项对(如果使用Stanford Parser,则通常是nsubj)。在
据我所知,你所说的主题“是,给出一个句子,一个声明的实体-在你的例子中,客户经理史蒂夫。在
基于这一假设,以下是一些技巧及其对您的帮助:
(依赖)分析
由于您不是严格语法意义上的主语,因此user7344209基于依赖分析的方法可能帮不了你。在“我喜欢史蒂夫”这样的句子中,语法主语是“我”,尽管你可能想把“史蒂夫”当作“主语”。在
命名实体识别
你已经用过了,如果能检测到像史蒂夫这样的人的名字,那就太棒了。我不太确定的是“客户经理”的例子。Daniel提供的输出和我自己对Stanford CoreNLP的测试都没有将其识别为一个名为的实体-这是正确的,它确实不是一个名为的实体:
一些更宽泛的东西,如建议的提及标识可能更好,但它基本上标记了每个可能过于宽泛的名词短语。如果我没听错,你想在每个句子里找到一个主语。在
共指消解
共指消解是检测“Steve”和“account manager”是同一个实体的关键技术。斯坦福大学CoreNLP就有这样的module。在
为了在你的例子中起作用,你必须让它同时处理几个句子,因为你想找到它们之间的联系。下面是一个示例(简短版本)中的一些示例:
可视化有点混乱,但基本上发现了以下共指链:
考虑到前两个链,以及一些后期处理,您可以发现所有四个语句都是关于同一个实体的。在
语义相似度
在account、business和relationship manager的例子中,我发现CoreNLP共指解析程序实际上已经找到了链,尽管术语不同。在
更一般地说,如果您认为共指消解器不能很好地处理同义词和释义,您还可以尝试包含语义相似性度量。在自然语言处理中,有大量的工作要做,即预测两个短语是否同义。在
一些方法是:
使用这些相似性度量的一个想法是识别两个句子中的实体,然后对两个句子中的实体进行两两比较,如果一对句子的相似度高于阈值,则将其视为同一个实体。在
我喜欢你用内线的方法。我在我们的系统中看到了您的输入:
提及检测输出也可能有用:
关于你的第二点,涉及缩写,这是一个很难解决的问题。但是我们这里有entity-similarity模块,可能会有用。这会考虑到honorifics等
关于第三点,共同参考问题,请尝试coref模块:
顺便说一句,上面的数字来自这里的演示:http://deagol.cs.illinois.edu:8080
相关问题 更多 >
编程相关推荐