NLP最大匹配進行分詞

2021-09-29 07:35:25 字數 1011 閱讀 1433

#-*- 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...