i = 0
point = point + i
return point
+def trigram(str1, str2):
+ str1 = zenhan.toHankaku(str1)
+ str2 = zenhan.toHankaku(str2)
+ str1 = str1.replace(" ", "")
+ str2 = str2.replace(" ", "")
+ """
+ trigramによる単語の近さを計算します。
+ """
+ gram = []
+ if len(str1) < 3:
+ gram.append(str1)
+ else:
+ tmp1 = str1[0]
+ tmp2 = str1[1]
+ for x in str1[2:]:
+ gram.append(tmp1 + tmp2 + x)
+ tmp1 = tmp2
+ tmp2 = x
+ point = 0
+ for x in gram:
+ i = find_gram(x, str2)
+ if i > 0:
+ i = 90 + 10 * i
+ else:
+ i = 0
+ point = point + i
+ return point
def find_gram(gram, s):
"""
s中にあらわれるgramの数を調べる