3 # Rec10 TS Recording Tools
4 # Copyright (C) 2009-2010 Yukikaze
7 def bigram(str1, str2):
8 str1 = zenhan.toHankaku(str1)
9 str2 = zenhan.toHankaku(str2)
10 str1 = str1.replace(" ", "")
11 str2 = str2.replace(" ", "")
25 i = find_gram(x, str2)
32 def trigram(str1, str2):
34 trigramによる単語の近さを計算します。
37 str1 = zenhan.toHankaku(str1)
38 str2 = zenhan.toHankaku(str2)
39 str1 = str1.replace(" ", "")
40 str2 = str2.replace(" ", "")
48 gram.append(tmp1 + tmp2 + x)
54 i = find_gram(x, str2)
61 point = point + 20*count*count
62 point = point / len(str1) * 10
63 point = point / len(str2) * 10
65 def find_gram(gram, s):
71 while st.find(gram) != -1:
73 st = st[st.find(gram) + 1:]
75 def get_noun_quad_gram(s):
79 str1 = zenhan.toHankaku(s)
90 tmps=tmp1 + tmp2 + tmp3 + x
92 if zenhan.check_Character_Type(tmp1)>0:
93 if (zenhan.check_Character_Type(tmp1)==zenhan.check_Character_Type(tmp2)):
94 if (zenhan.check_Character_Type(tmp2)==zenhan.check_Character_Type(tmp3)):
95 if (zenhan.check_Character_Type(tmp3)==zenhan.check_Character_Type(x)):
96 gram[tmps]=gram.get(tmps,0)+1
101 if (zenhan.check_Character_Type(tmp3)==zenhan.check_Character_Type(x)):
106 if (zenhan.check_Character_Type(tmp2)==zenhan.check_Character_Type(tmp3)):
107 if (zenhan.check_Character_Type(tmp3)==zenhan.check_Character_Type(x)):
112 if (zenhan.check_Character_Type(tmp3)==zenhan.check_Character_Type(x)):