NLP学习路径(三):NLP中文分词技术

本文详细介绍了中文分词的几种方法,包括规则分词(正向最大匹配法、逆向最大匹配法、双向最大匹配法)、统计分词(HMM、条件随机场、神经网络)以及混合分词。重点提及了Jieba分词工具,它结合了规则和统计方法,提供了精确模式、全模式和搜索引擎模式。分词效果受词典质量和统计模型影响。

1、中文分词简介
难点:分词歧义
方法:
1)规则分词:人工建立词库,按一定方式匹配切分。缺点:对新词很难进行处理。
2)统计分词:利用机器学习技术。缺点:过于依赖语料的质量。
3)混合分词:上述两种方法的结合。(用得较多)

2、规则分词
主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。
主要方法有:正向最大匹配法;逆向最大匹配法;双向最大匹配法。
(1)正向最大匹配法
算法描述:
1)从左向右取待切分汉语句的m个字符串作为匹配字段,m为机器词典中最长词条的字符数。
2)查找机器词典并进行匹配。若成功,则将这个匹配字段作为一个词切分出来。若不成功,则将这个匹配字段的最后一个词去掉,剩下的字符串作为新的匹配字段,进行再次匹配,重复以上过程,直到切分出所有词。
例子:

# -*- coding: utf-8 -*

class MM(object):
    def __init__(self):
        self.window_size = 3


    def cut(self, text):
        result = []
        index = 0
        text_length = len(text)
        dic = ['研究', '研究生', '生命', '命', '的', '起源']
        while text_length > index:
            for size in range(self.window_size+index, index, -1):  # 3,0,1
                piece = text[index:size]
                if piece in dic:
                    index = size-1
                    break  # 打破最小封闭的for或者while循环
            i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值