基于规则的分词
“基于规则的分词”思想:通过人工设立词库,按照一定方式进行匹配切分,其实现简单高效,但对新词很难进行处理。通过维护词典,在切分语句时,将句子的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。
- 正向最大匹配
- 逆向最大匹配:由于汉语中偏正结构较多,若从后向前匹配,可以适当提高精确度。所以逆向最大匹配比正向最大匹配法的误差要小。
- 双向最大匹配:按照最大匹配原则,选取词数切分最少的作为结果,如果分词结果不同,则返回其中单字较少的那个。
基于统计语言模型的分词
统计语言模型:基于统计语言模型计算出每种分词后句子出现的概率,并找出其中概率最大的,就能找到最好的分词方法。
基于统计语言模型分词步骤:
- 建立统计语言模型(N 元模型)
- 对句子进行单词划分,然后对划分结果进行概率计算,获得概率最大的分词方法。如果穷举所有可能的分词方法并计算出每种可能性下句子的概率,那么计算量是相当大的。因此,可以把它看成一个动态规划的问题,并利用维比特算法快速找到最佳分词。统计学习算法有:**隐含马尔可夫(HMM)、条件随机场(CRF)等。
语言模型:
![](https://img.haomeiwen.com/i13140540/aa4aeeed82cb7caf.png)
![](https://img.haomeiwen.com/i13140540/c5c44c073c9be12c.png)
N 元模型:当 N 越大,模型包含的次序信息越丰富,同时计算量随之增大。同时,长度越长的文本序列出现的次数也会减少,估计 N 元条件概率时,就会出现分子分母为零的情况。因此,一般在 N 元模型中需要配合相应的平滑算法解决该问题,如拉普拉斯平滑算法等
HMM 模型
HMM 将分词作为字在字串中的序列标注任务来实现的。
-
基本思路:每个字构造一个特定词语时都占据着一个确定的构词位置(词位),现规定每个字最多只有四个构词位置:B(词首)、M(词中)、E(词尾)、S(单独成词)
-
独立性假设:每个字的输出仅仅与当前字有关,该方法完全没有考虑上下文,且会出现不合理的情况。比如按照之前设定的 B、M、E、S,正常来说 B 后面只能是 M 或者 E,然后基于观测独立性假设,我们可能得到诸如 BBB、BEM等不合理输出。HMM 可以解决这个问题,通过设置某些转移概率为 0 。
HMM 中求解 maxP(I/O)P(O) 使用 Veterbi 算法,它是一种动态规划方法,思想是如果最终最优路径经过某个 Oi,那么从初始节点到 Oi-1 点的路径必然也是一个最优路径,因为每个结点只会影响前后两个的条件概率
P(Oi-1/Oi),P(Oi/Oi+1)
其他分词模型
- 条件随机场(CRF):隐含马尔科夫模型,有个经典假设,就是每个状态只与它前面的状态有关,这个假设显然有偏差的。条件随机场算法使得每个状态不止与他前面的状态有关,还与他后面的状态相关。
- 神经网络分词算法:采用 CNN、LSTM 等深度学习网络自动发现一些模式和特征,结合 CRF、Softmax 等分类算法进行分词预测。
分词的准确性
准确性标准
- 分词的一致性:
- 越界型错误,比如把“北京大学生”分成“北京大学-生”
- 覆盖型错误:比如把“贾里尼克”拆成了四个字。
- 颗粒度不一致:应用不同,汉语分词的颗粒度大小应该不同。
影响分词准确度的因素
- 未登录词
- 分词粒度的粗细
构建分词器
分词器支持不同层次的词的切分,根据不同的应用自行决定切分的颗粒度。
- 首先需要一个基本词表和一个复合词表。基本词表包括像“清华”、“大学”这样无法再分的词。复合词表包含复合词以及它们由哪些基本词构成,比如“清华大学:清华-大学”、“搜索引擎:搜索-引擎”
- 需要根据基本词表和复合词表各建立一个语言模型,比如 L1 模型和 L2 模型
- 根据基本词表和语言模型 L1 对句子进行分词,就得到小颗粒度的分词结果。输入的是子串,输出的是词串
- 在此基础上,再用复合词表和语言模型 L2 进行第二次分词。输入的是基本词串,输出是复合词串。词表和语言模型这两个数据库改变了,但分词器本身和前面完全相同。
![](https://img.haomeiwen.com/i13140540/aab0376f1056a516.png)
在实际工程中,多是基于一种分词算法,然后用其他分词算法加以辅助。最常用的方式是先基于词典的方式进行分词,然后再用统计分词方法进行辅助。如此,能在保证词典分词准确率的基础上,对未登录词和歧义词有较好的识别。
面试问题
1、为什么 N 取值一般很小
N 元模型的大小(空间复杂度)几乎是 N 的指数函数。三元或四元甚至更高阶的模型也不能覆盖所有的语言现象。在自然语言中,上下文之间的相关性可能跨度非常大,甚至可以从一个段落跨到另一个段落。这就是马尔可夫假设的局限性。
网友评论