python识别_python-识别句子的主题

据我了解,给定一个句子,您所说的“主题”是作出声明的实体-在您的示例中,客户经理史蒂夫(Steve).

基于此假设,以下是一些技巧及其对您的帮助:

(依赖项)解析

由于您不是严格意义上的主题,因此user7344209建议的基于依赖项解析的方法可能对您没有帮助.在诸如“我喜欢史蒂夫”的句子中,语法主题是“我”,尽管您可能希望将“史蒂夫”作为“主题”.

命名实体识别

您已经使用过此功能,这将非常适合检测Steve等人的名字.我不太确定的是“客户经理”的示例. Daniel提供的输出以及我自己使用Stanford CoreNLP进行的测试均未将其标识为命名实体-正确,它实际上不是命名实体:

WcupE.png

诸如建议的提及识别之类的较宽泛的内容可能会更好,但它基本上标记了每个名词性短语,可能太宽泛了.如果我理解正确,则希望每个句子找到一个主题.

共指解析

共指解析是检测“史蒂夫”和“客户经理”是同一实体的关键技术.斯坦福CoreNLP例如具有module.

为了使它在您的示例中起作用,您必须让它一次处理几个句子,因为您想找到它们之间的链接.这是您的某些示例的示例(简短版本):

Cpxjs.png

可视化有点混乱,但是它基本上找到了以下共指链:

>史蒂夫史蒂夫·史密斯

>史蒂夫(Steve)我们的客户经理他我们的客户经理

>我们的我们的

>额外英里额外的英里

给定前两个链以及一些后期处理,您可以弄清楚所有四个语句都是关于同一实体的.

语义相似度

对于客户,业务和客户关系经理,我发现尽管条款不同,但CoreNLP共引用解析器实际上已经找到了链.

更一般而言,如果您认为共引用解析器不能很好地处理同义词和释义,则还可以尝试包括语义相似性度量.在NLP中,关于预测两个短语是否是同义词的工作很多.

一些方法是:

>在词库(例如Wordnet)中查找同义词-例如使用nltk(python)如图所示here

>更好地,基于WordNet中定义的关系计算相似性度量-例如使用SEMILAR(Java)

>使用连续的单词表示来计算相似度,例如基于LSA或LDA-也可以使用SEMILAR

>使用更新的神经网络风格的词嵌入,例如word2vec或GloVe-后者可轻松地与spacy(python)一起使用

使用这些相似性度量的想法是识别两个句子中的实体,然后在两个句子中的实体之间进行成对比较,如果一对相似度高于阈值,则认为它是在欺骗同一实体.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值