公式:有字串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 上海中心 ...