最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 比較文本相似性的方法(difflib,Levenshtein)

 更新時(shí)間:2018年10月15日 14:50:56   作者:曉東邪  
今天小編就為大家分享一篇Python 比較文本相似性的方法(difflib,Levenshtein),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近工作需要用到序列匹配,檢測相似性,不過有點(diǎn)復(fù)雜的是輸入長度是不固定的,舉例為:

input_and_output = [1, 2, '你好', 世界', 12.34, 45.6, -21, '中國', '美麗']

其中,需要從input_and_output 中選取不固定長度的一段作為輸入,且順序不定,然后去與總體進(jìn)行比較,找出最符合的,開始是對漢字進(jìn)行數(shù)值化編碼,不過后來由于出現(xiàn)漢字越來越多,遂放棄該方法,轉(zhuǎn)向別的方式,查找資料發(fā)現(xiàn)了兩個(gè)python包廣被推薦,從下面來看各有優(yōu)缺點(diǎn),記錄之~

1、difflib

import difflib #python 自帶庫,不需額外安裝

In [49]: test1
Out[49]: ['你好', '我是誰']

In [50]: test2
Out[50]: ['你好啊', '我誰']

In [51]: test3
Out[51]: [12, 'nihao']

In [52]: test4
Out[52]: ['你好', 'woshi']

In [53]: difflib.SequenceMatcher(a=test1, b=test2).quick_ratio()
Out[53]: 0.0

In [54]: difflib.SequenceMatcher(a=test1, b=test4).ratio()
Out[54]: 0.5

2、Levenshtein

#pip install python-Levenshtein

import Levenshtein


In [56]: Levenshtein.distance(','.join(test1), ','.join(test2))
Out[56]: 2

In [57]: Levenshtein.distance(','.join(test1), ','.join(test4))
Out[57]: 5

簡單來說,difflib使用時(shí)不一定為字符串,但匹配時(shí)只有單個(gè)元素完全匹配才計(jì)入,

而Levenshtein則需要輸入為字符串,匹配時(shí)是整體匹配(也可能跟把所有元素集中成一個(gè)字符串有關(guān),具體待繼續(xù)使用再摸索)

以上這篇Python 比較文本相似性的方法(difflib,Levenshtein)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

尼勒克县| 高陵县| 防城港市| 徐闻县| 巫山县| 云阳县| 桐梓县| 阿拉善盟| 平顶山市| 海晏县| 南通市| 上虞市| 武平县| 孙吴县| 清涧县| 扶沟县| 高安市| 五河县| 乌拉特中旗| 波密县| 从化市| 永寿县| 神农架林区| 台东县| 浦县| 丹东市| 济宁市| 绥芬河市| 佛学| 万源市| 河西区| 文水县| 新巴尔虎左旗| 辽宁省| 乌拉特后旗| 沁源县| 化州市| 永修县| 祁连县| 商洛市| 桃园县|