利用Theano实现Levenstein测距功能

时间:2016-07-28 21:47:57

标签: python algorithm parallel-processing theano levenshtein-distance

我必须相互比较许多巨大的字符串并使用这样的算法:

def distance(a, b):
    "Calculates the Levenshtein distance between a and b."
    n, m = len(a), len(b)
    if n > m:
        # Make sure n <= m, to use O(min(n,m)) space
        a, b = b, a
        n, m = m, n

    current_row = range(n+1) # Keep current and previous row, not entire matrix
    for i in range(1, m+1):
        previous_row, current_row = current_row, [i]+[0]*n
        for j in range(1,n+1):
            add, delete, change = previous_row[j]+1, current_row[j-1]+1, previous_row[j-1]
            if a[j-1] != b[i-1]:
                change += 1
            current_row[j] = min(add, delete, change)

    return current_row[n]

等了2-3个小时后,我决定停止剧本并找到Theano。

如何使用Theano实现此功能?

0 个答案:

没有答案