深度学习案例教程 教案6.7中文分词原理.docx
07中文分词原理
1
我们本节课来学习中文分词原理。
中文分词(ChineseWordSegmentation)是中文自然语言处理中的一个基础任务,由于中文文本没有像英文那样的明显的单词分隔符,所以中文分词的任务就是将一个汉字序列切分成一个个单独的词。
2
中文分词的常见方法主要有3种。
第一个方法是基于字符串匹配的分词方法。
这类方法主要有最大匹配法(如正向最大匹配法、逆向最大匹配法和双向最大匹配法)。它们都是基于词典进行匹配的,比如正向最大匹配法是指从左向右取词,取词的长度与词典中最长的词相同,然后逐渐缩短长度,直至匹配成功。
3
第二个是基于统计的分词方法。
这类方法包括基于N-gram模型、HMM模型等。比如HMM模型会把分词任务当作序列标注问题来解决,对每个字进行标注,从而实现分词。
4
第三个是深度学习方法。
近年来,随着深度学习的发展,一些基于神经网络的中文分词方法也得到了广泛的应用。
5
在这里,我们主要讲解一下HMM模型。
基于HMM的中文分词原理采用隐藏马尔科夫模型,它是统计分词方法中常用的一种,它是一种统计模型,用来描述一个含有未知参数的马尔科夫过程。
在中文分词中,HMM用于解决切词的歧义问题,通过对字进行状态标注,从而达到分词的目的。
6
HMM模型在分词中的应用,通常是将分词问题视作为一个序列标注问题,即给出一个观察序列,找出最可能的状态序列。
在这里是给出字序列,找出每个字的状态,比如B/M/E/S,也就是词首、词中、词尾、单字成词等等。
7
在分词的过程中,HMM模型需要三个主要的参数:
初始概率:是每个标签作为序列的起始标签的概率。
转移概率:就是从当前标签转移到下一个标签的概率。
发射概率:每个标签生成某个观察值(这里是字)的概率。
以上的这些概率参数,都是通过对大量的已经分好词的语料进行统计得到的。
8
在实际操作中,可以使用jieba来进行分词,这个工具中已经内置了训练好的模型,可以直接使用,而无需我们从头开始训练模型。
我们来看一个基于jieba分词的应用案例。
9
在这个例子中,我们首先导入了jieba库,
10
然后定义了一个句子,
11
使用jieba.cut方法对句子进行分词,
12
最后打印出分词结果。
需要注意的是,虽然中文分词看起来是一个简单的任务,但是由于中文的复杂性,实际上是一个相当复杂的问题,需要考虑很多因素,如歧义消解、人名识别等问题。
好,本节对于中文分词原理就了解到这里。