从0到1,了解NLP中的文本相似度

AI在2018年应该是互联网界最火的名词,没有之一。时间来到了9102年,也是项目相关,涉及到了一些AI写作相关的功能,为客户生成一些素材文章。但是,AI并不一定最懂你,客户对于AI写出来的文章,多少是会做些修改的。为了更好的衡量出AI文章的可用度,在这儿就会需要存有一个反馈的环节,来看看用户润色后的文章与原始AI文章之间的区别是多大,AI写出来的文章可用性是否足够。由于目前还没精力细究AI写作其中的细节,为了更好地计算每次成文与原文的区分,便花了点小时间看了看文本相似度的知识点,记录于此。

本文将从预备知识的概念开始介绍,从距离名词,到文本分词,相似度算法,并将这些概念融合、统一的介绍NLP中文本相似度的知识,期望通过本文,大家可以与我一样,对这些知识有个基本的了解。

几个距离

在介绍更多的内容之前,我们需要了解文本距离的概念,这些距离是我们在后文比较文本相似度的基础,所以下面将首先形象的为大家介绍几个重要且基础的距离含义。

欧几里德距离

Euclidean Distance,是最直白的、最容易直观理解的距离度量方法,在二维空间来看,用一句几乎耳熟能详的话来解释就是:两点之间直线最短。这句话中说到的「直线距离」就是欧几里德距离。我们来看下相关数学公式定义。

二维的公式:

​ p = sqrt( (x1-y1)^2+(x2-y2)^2 )

三维的公式:

​ p = sqrt( (x1-y1)^2+(x2-y2)^2+(x3-y3)^2 )

当然,毕竟不是存活于刘慈溪的三体世界之下,我们在小学或者日常所能感知到的多是,二维或者三维空间的距离,当大于3维,从数学理论上的n维空间的公式,在欧几里德空间中,点x =(x1,...,xn)和 y =(y1,...,yn)之间的欧氏距离为:

​ p = sqrt( (x1-y1)^2+(x2-y2)^2+(x3-y3)^2+ ... +(xn-yn)^2 )

曼哈顿距离

Manhattan Distance的命名原因,是从规划为方型建筑区块的城市(如曼哈顿)间,最短的出租车从一个点A到另一个点B的行车路径距离,任何往东三区块、往北六区块的的路径一定最少要走九区块(出租车当然不能穿插过街区),没有其他捷径。抽象到数学角度,从点A(x1, y1)到点B(x2, y2)的曼哈顿距离为两个点上在标准坐标系上的绝对轴距之总和:

​ p = |x1-x2| + |y1-y2|

那么,曼哈顿距离和欧几里得距离的区别是什么呢?我们从维基百科拉过来一张图,就可以很直白的看到这二者的区别,假设在下方棋盘一样的图示中,白色方块表示为建筑物,灰色线条表示为道路,那么其中绿色线路表示为黑色两点之间的欧几里德距离(两点之间直线最短),而剩下的红蓝黄三色线路表示的均为为曼哈顿距离:

img

欧几里德距离和曼哈顿距离

切比雪夫距离

Chebyshev distance得名自俄罗斯数学家切比雪夫。大家对切比雪夫应该多少是觉得有印象的,没错,切比雪夫更被我们熟悉的是中学时候学过的关于他的切比雪夫多项式吧。所谓切比雪夫距离,是将两点之间的距离定义为其各座标数值差的最大值。如果我们以二维空间中两点A(x1,y1)和B(x2,y2)二点为例,其切比雪夫距离:

​ p = max(|x2-x1|, |y2-y1|)

更形象的来介绍,切比雪夫距离在二维空间有着一个应用场景:国际象棋中「国王」的行走距离。由于王可以往斜前或斜后方向移动一格,因此可以较有效率的到达目的的格子,我们将国际象棋的棋盘映射到二维直角座标系中,格子的边长定义为1,座标的x轴及y轴和棋盘方格平行,原点恰落在某一格的中心点,则「国王」从一个位置走到其他位置需要的步数恰为这两个位置的切比雪夫距离。下图是棋盘上所有位置距f6位置的切比雪夫距离。

img

国际象棋的国王

余弦距离

Cosine distance使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比于欧几里德距离,余弦距离更加注重的是两个向量在方向上的差异。首先我们来看一下数学中余弦定理的定义:

img

余弦定理公式

关于余弦定理,这儿我们简单来复习下这个初中概念。前几年曾经有过一个地方的高考题出过余弦定理的证明,当时也有人通过向量的方法来证明,两行就得出了答案(其实这儿有点疑问,因为课本中对向量内积是通过余弦定理来证明的,所以从个人来看通过向量内积来证明余弦定理是有些逻辑问题的),那么具体应该如何证明呢?其实很简单,通过一张图就可以证明:

img

余弦定理的证明

结合这张图,花2分钟应该就可以得到余弦定理的结论了,其中需要了解的一点事对于bsin(θ*)的定义,是直接使用了毕氏定理。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxygj.html