前向最大匹配分词FMM

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值