計算文字間相識度的演算法

2021-10-04 00:00:59 字數 537 閱讀 3838

公式:有字串a和字串b,a和b所含字元的交集/a和b所含字元的並集,就是兩句話的相識度。

步驟:1.分詞處理

2.去停詞處理

3.使用gensim,將詞轉成詞向量

4.將詞向量轉成句向量

5.對向量x進行hash值處理,(x*w+b)/s,將其存在陣列中,若存在相同位置的字串通過鍊錶儲存,以上是待匹配的字串的儲存

6.將待匹配的字串也經過上面的步驟得到hash值,索引陣列中的位置,若該位置有多個字串,可在再通過歐式距離求相似度。若不存在,可找相鄰位置上的字串。

將詞向量轉句向量的方法:

1. 分詞累加厚求平均值的方式

2. 使用tf-idf做加權平均

3. 使用詞移距離,計算乙個字串中乙個詞到另乙個字串中所有詞的距離之和,可以使用if-idf作為權重

4. 使用seq2seq模型來生成句向量

使用中間上下文c,作為句向量

文字比較演算法 計算文字的相似度

原文 在給定的字串a和字串b,ld a,b 表示編輯距離,lcs a,b 表示最長公共子串的長度。如何來度量它們之間的相似度呢?不妨設s a,b 來表示字串a和字串b的相似度。那麼,比較合理的相似度應該滿足下列性質。性質一 0 s a,b 100 0表示完全不相似,100 表示完全相等 性質二 s ...

文字比較演算法 計算文字的相似度

在 文字比較演算法 ld演算法 中,介紹了編輯距離的計算。在 文字比較演算法 needleman wunsch演算法 中,介紹了最長公共子串的計算。在給定的字串a和字串b,ld a,b 表示編輯距離,lcs a,b 表示最長公共子串的長度。如何來度量它們之間的相似度呢?不妨設s a,b 來表示字串a...

python3 計算字串相識度

coding utf 8 created on wed feb 13 12 52 17 2019 author administrator import difflib if name main a 123456a b 234567b str 上海中心大廈上海中心大廈1 s1 大廈 s2 上海中心 ...