文本表示:文本相似度

1. 文本相似度定义

我们都知道,单词中有同义词、近义词和反义词之分,这表明不同单词间的相似程度也截然不同。对于文本表示,我们也要衡量单词编码向量间的相似程度与单词本身词义间相似程度的一致性,以此来评价文本表示的质量。

2. 文本相似度计算方法

定量计算两个文本之间的相似程度,就是定量计算文本表示后两个向量之间的相似度。一种衡量两向量相似度的方式是计算它们之间的距离,距离越小相似度越高、距离越大相似度越小,常用的向量距离计算指标有欧式距离余弦相似度两种。

2.1 欧氏距离

欧氏距离 d E d_E dE 表示n维空间上,两向量间的直线距离,计算公式如下:
d E ( X ⃗ , Y ⃗ ) = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + ⋯ + ( x n − y n ) 2 d_E(\vec{X}, \vec{Y}) = \sqrt{(x_1-y_1)^{2}+(x_2-y_2)^{2}+\dots +(x_n-y_n)^{2}} dE(X ,Y )=(x1y1)2+(x2y2)2++(xnyn)2
因为式中 d E d_E dE 在定义域上是单调递增函数,所以 d E d_E dE 的值越小,两向量间的距离越小,两向量越相似。

2.2 余弦相似度

余弦相似度 S c S_c Sc 表示两向量间夹角的大小(余弦距离 d c d_c dc = 1 − S c 1 - S_c 1Sc),其计算公式如下:
S c ( X ⃗ , Y ⃗ ) = cos ⁡ ⟨ X ⃗ , Y ⃗ ⟩ = X ⃗ ⋅ Y ⃗ ∣ X ⃗ ∣ ∗ ∣ Y ⃗ ∣ = x 1 y 1 + x 2 y 2 + ⋯ + x n y n x 1 2 + x 2 2 + ⋯ + x n 2 ∗ y 1 2 + y 2 2 + ⋯ + y n 2 S_c(\vec{X}, \vec{Y}) = \cos\left\langle \vec{X}, \vec{Y} \right\rangle = \frac{\vec{X} \cdot \vec{Y}}{|\vec{X}|*|\vec{Y}|} = \frac{x_1y_1+x_2y_2+\dots+x_ny_n}{\sqrt{x_1^{2}+x_2^{2}+\dots+x_n^{2}}*\sqrt{y_1^{2}+y_2^{2}+\dots+y_n^{2}}} Sc(X ,Y )=cosX ,Y =X Y X Y =x12+x22++xn2 y12+y22++yn2 x1y1+x2y2++xnyn
因为式中 S c S_c Sc 在定义域上是单调递减函数,所以 S c S_c Sc 的值越大,两向量间的距离越小,两向量越相似。在实际工作中,因为余弦距离更容易计算和求导,所以它比欧式距离应用更为广泛。

工程实践中,词向量(或句子向量)的长度一般近似为1,即 ∣ X ⃗ ∣ ≈ ∣ Y ⃗ ∣ ≈ 1 |\vec{X}| \approx |\vec{Y}| \approx 1 X Y 1所以实际使用时,余弦相似度公式一般简化为:
S c ( X ⃗ , Y ⃗ ) = cos ⁡ ⟨ X ⃗ , Y ⃗ ⟩ ≈ X ⃗ ⋅ Y ⃗ = ∑ i − 1 n x i y i S_c(\vec{X}, \vec{Y}) = \cos\left\langle \vec{X}, \vec{Y} \right\rangle \approx \vec{X} \cdot \vec{Y} = \sum_{i-1}^{n} x_iy_i Sc(X ,Y )=cosX ,Y X Y =i1nxiyi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值