在NLP中文本均會被表示爲向量的形式,爲了給出任何兩個文本之間的相似程度,則可以利用各類的距離進行表示,其中最爲著名的兩種距離就是歐式距離和宇軒相似度,此外還有曼哈頓距離也被廣泛使用。而這三個測度方式均是在歐式空間下進行的。
本文以如下的兩個向量作爲例子進行具體的闡述:
vec1=[x1,x2,x3...xn]
vec2=[y1,y2,y3...yn]
歐氏距離
歐式距離就是最簡單最直觀的測度方式,兩點之間連線最短
,把這兩個點的連線的距離計算出來就可以得到歐氏距離的結果了。也就是利用如下的公式可以計算出來。
曼哈頓距離
曼哈頓距離作爲向量距離的另一種測度方式,是將某一向量在絕對值方向上進行移動,最終變爲另一向量的總體變動的距離之和。具體的公式可以表示爲如下形式。
曼哈頓距離和歐氏距離的區別
引用最經典的一個圖,上圖可以認爲是兩點之間的4個路徑。其中綠色路徑的距離是歐式距離,而剩下的三條均是曼哈頓距離。
可以直觀的理解,歐式距離與平方相關,曼哈頓距離與絕對值相關。
餘弦相似度
本質上餘弦相似度並不是一種距離的測度,當然可以利用1-餘弦相似度
的方法來定義餘弦距離。但是餘弦相似度與歐氏距離經常一起出現。所以本文也一併將其列出來進行簡單的介紹。
餘弦相似度和歐氏距離的區別
上圖較爲清晰的表示出歐氏距離與餘弦相似度的本質內容,一個是真實在數值上的差異,另一個是在方向與趨勢上的差異。
不同的使用場景需要選擇不同的度量方式。