前向最大匹配分词FMM

来源:互联网 发布:安宫教务网络管理系统 编辑:程序博客网 时间:2024/05/29 19:19
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

原创粉丝点击