#-*- coding:utf-8 -*-
# author:lhf time:2019/11/3
def max_match(need_seg,dic,max_len=5):
test_list =
for i in range(len(need_seg)):
out_list = ""
while true:
min_len = min(max_len, len(test_list))
while true:
sum_list = ""
for i in range(min_len):
start_list = test_list[i]
sum_list = sum_list + start_list
if sum_list not in dic:
min_len -= 1
else:
for i in range(min_len):
test_list.remove(sum_list[i])
out_list += sum_list
if len(test_list) != 0:
out_list = out_list + "/"
break
if len(test_list) <= 0:
print(out_list)
break
test = "我們經常有意見分歧"
dic = ["我們","經常","有意見","有","意見","分歧"]
max_match(test,dic)
need_seg = "喬藝我愛你,我特別想揍你"
dic1 = ["喬藝","藝","我","愛你","特別","想","揍你","分歧",","]
max_match(need_seg,dic1)
我們/經常/有意見/分歧
喬藝/我/愛你/,/我/特別/想/揍你
用雙向最大匹配法進行中文分詞
中文分詞任務,採用的是sighan2004 backoff2005微軟資料 資料。給出訓練集和測試集,對測試集進行中文分詞,要求給出的分詞結果f score盡量大。以選出匹配的單詞盡可能長為目標分詞,具體操作是從乙個方向不斷嘗試匹配出最長單詞,再進行下一次匹配,直到匹配完成為止。同樣以選出匹配的單詞...
最大匹配演算法進行分詞 前向 後向 python實現
先定義個詞典 word dict 我們 經常 有 有意見 意見 分歧 滑動視窗的大小 max len 5 使用者的輸入 user input 我們經常有意見分歧 len user input 結果 9 前向最大匹配演算法的實現 前向最大匹配演算法 result i 0 while i len use...
python 最大匹配分詞
參考部落格參考部落格 given a dict li 北京大學 生前 來 應聘 大學生 前來 北京 dic print dic 視窗從前面開始滑動,每次取maxlength 匹配不上也是捨棄後面的 forward max matching given the longest word in dict...