java 文本语义相似度计算,NLP 语义相似度计算 整理总结

本文详细介绍了NLP中用于语义相似度计算的多种方法,包括TF-IDF、余弦相似度、欧式距离、曼哈顿距离、Jaccard系数、皮尔森相关系数、SimHash和汉明距离、斯皮尔曼相关系数以及BM25算法,探讨了它们的原理和应用。并提供了Python代码示例。
摘要由CSDN通过智能技术生成

更新中

更新时间:

2019-12-03 18:29:52

写在前面:

本人是喜欢这个方向的学生一枚,写文的目的意在记录自己所学,梳理自己的思路,同时share给在这个方向上一起努力的同学。写得不够专业的地方望批评指正,欢迎感兴趣的同学一起交流进步。

(参考文献在第四部分,侵删)

一、背景

在很多NLP任务中,都涉及到语义相似度的计算,例如:

在搜索场景下(对话系统、问答系统、推理等),query和Doc的语义相似度;

feeds场景下Doc和Doc的语义相似度;

在各种分类任务,翻译场景下,都会涉及到语义相似度语义相似度的计算。

所以在学习的过程中,希望能够更系统的梳理一下这方面的方法。

二、基本概念

1. TF

Term frequency即关键词词频,是指一篇文章中关键词出现的频率,比如在一篇M个词的文章中有N个该关键词,则

37815bfa222e178dfb1da41aa8731af8.gif

为该关键词在这篇文章中的词频。

2. IDF

Inverse document frequency指逆向文本频率,是用于衡量关键词权重的指数,由公式

a493ce8c428ac0086f362651dff92b8f.gif

计算而得,其中D为文章总数,Dw为关键词出现过的文章数。

3. 向量空间模型

向量空间模型简称 VSM,是 VectorSpace Model 的缩写。在此模型中,文本被看作是由一系列相互独立的词语组成的,若文档 D 中包含词语 t1,t2,…,tN,则文档表示为D(t1,t2,…,tN)。由于文档中词语对文档的重要程度不同,并且词语的重要程度对文本相似度的计算有很大的影响,因而可对文档中的每个词语赋以一个权值 w,以表示该词的权重,其表示如下:D(t1,w1;t2,w2;…,tN,wN),可简记为 D(w1,w2,…,wN),此时的 wk 即为词语 tk的权重,1≤k≤N。关于权重的设置,我们可以考虑的方面:词语在文本中的出现频率(tf),词语的文档频率(df,即含有该词的文档数量,log N/n。很多相似性计算方法都是基于向量空间模型的。

三、语义相似度计算方法

1. 余弦相似度(Cosine)

d99c8f56738a5cd09411971c6d36c9fc.png

余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。

两个向量间的余弦值可以通过使用欧几里得点积公式求出:

c8ea15ce36d3d539f2ff33ba3787e950342ab08c.jpg

余弦相似性θ由点积和向量长度给出,如下所示(例如,向量A和向量B):

ac4bd11373f0820282c6ae4646fbfbedab641b76.jpg

这里的

f2deb48f8c5494ee8d2f306020f5e0fe99257ebd.jpg分别代表向量A和B的各分量。

问题:表示方向上的差异,但对距离不敏感。

关心距离上的差异时,会对计算出的每个(相似度)值都减去一个它们的均值,称为调整余弦相似度。

代码:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文本相似度计算一直是自然语言处理领域研究中的一个基础问题。而文本语义相似度计算则是在文本相似度计算基础上增加了语义分析,在语义层面对文本相似度作进一步的分析研究,具有广阔的应用背景。本文针对句子级别的文本语义相似度计算问题,提出了应用结构化特征和神经网络的方法,并将该方法应用到一个实际的问答系统中,取得了良好的效果。本文深入研究文本语义相似度计算方法,主要研究内容如下:(1)基于结构化表示的文本语义相似度计算方法针对句子级文本相似度计算方法中平面特征表征性弱的问题,本文提出了应用结构化特征来表示句子级文本的句法、语义等信息。在浅层句法树和依存关系树的基础上,获得了基于短语的浅层句法树PST(Phrase-based Shallow Tree)和基于短语的依存树PDT(Phrase-based Dependency Tree)的结构化特征,并与平面特征向量相结合,使用支持向量回归模型进行文本语义相似度计算。实验结果表明,加入PST或PDT特征可以分别使皮尔逊相关系数比基准系统提高0.054和0.041。(2)基于Tree-LSTM的文本语义相似度计算方法为了进一步提高长文本语义相似度计算性能,本文提出应用深度学习方法对长文本进行语义相似度计算研究。首先,设计了适合神经网络模型的新的基于短语的浅层句法树NPST(New PST)和新的基于短语的依存树NPDT(New PDT)结构化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值