是否有标准的linux命令?如果没有,任何人都可以描述一个python脚本来做同样的事情吗?
答案 0 :(得分:1)
我不建议这样做。 levenstein距离函数的复杂度几乎为O(n * m),当文本相似时,它是O(n²)的种类。
但如果你愿意,你可以做到......
pip install python-Levenshtein
代码就像那样:
form Levenshtein import *
txt1 = open("text1.txt").read()
txt2 = open("text2.txt").read()
print("distance:", distance(txt1,txt2)
答案 1 :(得分:0)
这取决于。当ocr输出相似且有一些差异可以预期时,你可以做一个"分裂"并比较每个单词/行等 当线的数量相同时,只有使用levenshtein距离才能发生差异。例如:
def textLevi(txt1,txt2):
lines = list(zip(txt1.split("\n"),txt2.split("\n")))
distance = 0
for i,ele in enumerate(lines,1):
line1,line2 = ele
if line1 != line2:
actDistance = distance(line1,line2)
print( "Distance of line %d: " %(i),actDistance)
distance += actDistance
print( "Sum of Lv Distances:",distance)
textLevi("Hello I \n like cheese","Hello I \n like cheddar")
将创建输出:
第2行:4的距离
Lv距离之和:4