在自然語言處理領域,人們經常需要比較字串,這些字串可能是單詞、句子、段落甚至是整個文件。如何快速判斷兩個單詞或句子是否相似,或者相似度是好還是差。這類似於我們使用手機打錯一個詞,但手機會建議正確的詞來修正它,那麼這種如何判斷字串相似度呢?本文將詳細介紹這個問題。
字串相似度
當我們有兩個數字時,我們可以透過從一個數字中減去另一個數字並觀察結果的符號和大小來輕鬆比較它們。這種比較方式也可以用於向量,並且有許多方法可以做到這一點。例如常見的:餘弦距離、歐幾里得距離、曼哈頓距離、閔可夫斯基公式的p距離等等
但是對於字串來說就比較複雜了,因為有時需要比較單詞、句子或一般的字串。一種簡單的方法是比較字串或單詞之間的公共字母。
總的來說,有三種主要型別的演算法用於衡量字串的相似度,我們將一一介紹:
- 基於編輯的演算法
- 基於令牌的演算法
- 基於序列的演算法
https://avoid.overfit.cn/post/43c11a3fee684fecb81eebf5647159aa