NLP自然語言處理中句子相似度計算

2021-10-01 05:53:41 字數 729 閱讀 7462

在做自然語言處理的過程中,現在智慧型對話比較火,例如智慧型客服,智慧型家電,智慧型音箱等,我們需要獲取使用者說話的意圖,方便做出正確的回答,這裡面就涉及到句子相似度計算的問題,那麼本節就來了解一下怎麼樣來用 python 實現句子相似度的計算。

編輯距離,英文叫做 edit distance,又稱 levenshtein 距離,是指兩個字串之間,由乙個轉成另乙個所需的最少編輯操作次數,

如果它們的距離越大,說明它們越是不同。許可的編輯操作包括將乙個字元替換成另乙個字元,插入乙個字元,刪除乙個字元。

例如我們有兩個字串:string 和 setting,如果我們想要把 string 轉化為 setting,需要這麼兩步:

第一步,在 s 和 t 之間加入字元 e。

第二步,把 r 替換成 t。

所以它們的編輯距離差就是 2,這就對應著二者要進行轉化所要改變(新增、替換、刪除)的最小步數。

安裝:pip3 install distance

import distance

def edit_distance(s1, s2):

return distance.levenshtein(s1, s2)

if __name__ == "__main__":

str1 = "公司位址是**"

str2 = "公司在什麼位置"

print(edit_distance(str1, str2))

想要獲取相似的文

自然語言處理(NLP)語義分析 文字相似度

在做自然語言處理的過程中,我們經常會遇到需要找出相似語句的場景,或者找出句子的近似表達,這時候就需要把類似的句子歸到一起,這裡面就涉及到句子相似度計算的問題。句子相似度計算一共歸類了以下幾種方法 下面來一一了解一下這幾種演算法的原理和 python 實現。編輯距離計算 編輯距離,英文叫做 edit ...

NLP自然語言處理

第1部分自然語言處理入門 1.1自然語言處理入門.mp4 第2部分hmm和crf 1.1crf模型簡介.mp4 1.1hmm模型介紹.mp4 1.2文字處理的基本方法 part1.mp4 2.1新聞主題分類任務 第4步 part2.mp4 第43部分rnn 1.1rnn模型小結.mp4 1.1rnn...

NLP自然語言處理

老實來講這課我一頭霧水滿腦袋問號 import numpy as np from collections import counter counttime 0 def seperate filename totalnum 0 郵件的總數 global counttime i 0 file open ...