def getSeg(text,lib_trie):
if not text:
return ''
if len(text) == 1:
return text
if lib_trie.find(text):
return text
else:
small = len(text) - 1
text = text[0:small]
return getSeg(text,lib_trie)
def FMM(str,lib_trie): # 正向最大匹配分词
result_str = ''
result_len = 0
while str:
tmp_str = str
seg_str = getSeg(tmp_str,lib_trie)
seg_len = len(seg_str)
result_len = result_len + seg_len
if seg_str.strip():
if (result_str):
result_str = result_str + '/' + seg_str
else:
result_str = seg_str
str = str[seg_len:]
return result_str
前向最大匹配分词FMM
最新推荐文章于 2023-11-23 14:15:08 发布