![9cde3da9ca8777048c3191e8e53d724c.png](https://i-blog.csdnimg.cn/blog_migrate/2432793b695c0ffb1ac05137dac221d9.jpeg)
海德格尔说“词语破碎处,无物可存在”。中文句子不像英文那样的词与词之间有显示空格边界,使得词和词组边界模糊。
为了让计算机更容易理解文本,通常中文信息处理的第一步是中文分词。中文分词是在中文句子中的词与词之间加上边界标记。
本文首先介绍词、词组、句子、语言模型等基本概念及基本原理,比如:短语结构语法(PSG)模型、n元语法模型( n-gram)、神经网络语言模型(NNLM)、Masked Language Model(MLM);
接着介绍主要中文分词方法,比如最短路径分词、n元语法分词、由字构词分词、循环神经网络分词、Transformer分词;
然后介绍当前主要使用的分词工具,比如jieba、HanLP、FoolNLTK;
最后抛出个人认为垂直领域如何中文分词及发展趋势。
文章目录如下:
一、中文分词原理
1、中文分词
2、词、词组、句子
3、语言模型
4、中文分词发展简史
二、中文分词方法
1、最短路径分词
2、n元语法分词
3、由字构词分词
4、循环神经网络分词
5、Transformer分词
三、中文分词工具
1、jieba
2、HanLP
3、FoolNLTK
四、总结
1、规则 VS 统计 VS 深度
2、垂直领域中文分词
3、中文分词发展趋势
直接上PPT
![438da8276520458620a9530da92691e5.png](https://i-blog.csdnimg.cn/blog_migrate/c6614fe563717e37813913735d966266.png)
为什么要中文分词?
![ff20c1ff8ed77107a246cba9d2a90142.png](https://i-blog.csdnimg.cn/blog_migrate/e094f1cbcedbee606baeff2125fdfa45.jpeg)
一、中文分词原理
![29f4be8a706642188a75b4cf657484e5.png](https://i-blog.csdnimg.cn/blog_migrate/b7657b53bcbd5ad51df169f6f47c03fb.jpeg)
1、中文分词
什么是中文分词?
给出定义:中文分词是在中文句子中的词与词之间加上边界标记。
![cef8ea04f0d8469b197e77dc7fa5bdc3.png](https://i-blog.csdnimg.cn/blog_migrate/7110b19c329ba5a1378062a0c7340ab1.jpeg)
中文分词总的来说就两种方法:一种是由句子到词;另一种是由字到词。
![aa7a76cc001578bedd38a70a87705d17.png](https://i-blog.csdnimg.cn/blog_migrate/c8ab5b549ea4f78544a6587b50e4df97.jpeg)
中文分词本质:划分词的边界
![2d4868a8084dec77cc01ee7e8986869c.png](https://i-blog.csdnimg.cn/blog_migrate/5338f831a6028bfade61eb0f9b1899ea.png)
同时,中文分词也面临着分词规范、歧义切分、新词识别等挑战。
![537262d4078f70728233d6dc61a3afaa.png](https://i-blog.csdnimg.cn/blog_migrate/d84fb6729c80d4e619ea077aadfca056.png)
2、词、词组、句子
什么是词?什么是词组?什么是句子?
搞懂这些基本概念,更容易处理它们。
![16ab446a2cf3b2f331abbb66b6d9daf3.png](https://i-blog.csdnimg.cn/blog_migrate/72b592345ef3e575e5ad689d7c843f73.jpeg)
3、语言模型
什么是语言模型?
由语音、词汇、语法构成的交流模型。
![08fcb2d0e12446b15bd4c56edee1b3e2.png](https://i-blog.csdnimg.cn/blog_migrate/fab4cc84294a5f776701d50f8e98eb53.jpeg)
短语结构语法( Phrase Structure Grammar, PSG)
![57e187b17bb9ea1dea26bcec84a95e5a.png](https://i-blog.csdnimg.cn/blog_migrate/e750735725940085d3ea0c0059a614d1.jpeg)
n元语法模型( n-gram)
![fd9dc06d717bf05a13f5728133c95fb8.png](https://i-blog.csdnimg.cn/blog_migrate/a4377a5bddaffdf95fac189ffb03de52.jpeg)
常见的n元语法模型如下表所示:
![d0a2fc1278befaeadf33129f438c6f45.png](https://i-blog.csdnimg.cn/blog_migrate/9946a15d640493c9a9dc959342ae7946.jpeg)
神经网络语言模型(NNLM)
![df771fad34c99372c8a13f33d5d6ba56.png](https://i-blog.csdnimg.cn/blog_migrate/57e865455aa93c9c757538831c4931b3.jpeg)
Masked Language Model(MLM)
![185d658cf42ec06fdb76fd38db86af89.png](https://i-blog.csdnimg.cn/blog_migrate/47aaebcb54f90935892d97830e33b563.jpeg)
4、中文分词发展简史
![d78d95858a4359af40ec7c83453cf72a.png](https://i-blog.csdnimg.cn/blog_migrate/e2ff42a7040350a854c894a977f2b244.jpeg)
二、中文分词方法
中文分词代表方法有最短路径分词、n元语法分词、由字构词分词、循环神经网络分词、Transformer分词等。
![a9ebada96cf42285be349e87310e2164.png](https://i-blog.csdnimg.cn/blog_migrate/bf0a8a44cea8b8f11f6ab967921c6517.jpeg)
1、最短路径分词
![cfc74fb2685a8f0a8304258f9c64344f.png](https://i-blog.csdnimg.cn/blog_migrate/72b00046296bd1677bacc4afc871a141.jpeg)
2、n元语法分词
![5a2fd8fe205ece67bf6ac324445a8f97.png](https://i-blog.csdnimg.cn/blog_migrate/0efc8d75b87cdac8db3165bf51c8414b.png)
举一个n元语法分词的例子。
![a3ca31a1ec5c33fa87389a5accfa5c7f.png](https://i-blog.csdnimg.cn/blog_migrate/fd50ed624ea8c9a2871e64e9cadb3188.jpeg)
3、由字构词分词
![fed5b5fce44168c58c14b192bd214933.png](https://i-blog.csdnimg.cn/blog_migrate/28630f8db0100844571216b030fb9cda.jpeg)
常用的三类由字构词
![04b2e5042ecc3a259d361029a5ef588e.png](https://i-blog.csdnimg.cn/blog_migrate/794bd27255172ad6eb407343aca70590.jpeg)
4、循环神经网络分词
![67ee4036ed009e11e475d83d57d99ca4.png](https://i-blog.csdnimg.cn/blog_migrate/952f3f41b6007e8c66acbc843e3e5e20.jpeg)
循环神经网中文分词有:LSTM、LSTM+CRF、BiLSTM-CRF、LSTM-CNNs-CRF等。
循环神经网络中文分词的结构图如下:
![da60f2530040167027a2c59d61df540a.png](https://i-blog.csdnimg.cn/blog_migrate/085c89b6cf2ad60c0f4b173467ee4190.jpeg)
5、Transformer分词
2014年,Google在《Recurrent Models of Visual Attention》论文中提出Attention机制。
2017年,Google在《Attention is All You Need》论文中提出Transformer模型。
![465a0b9c33bcb4ec2cbfb63db5c3b052.png](https://i-blog.csdnimg.cn/blog_migrate/1c7836545d5dfb20a881cc2c0f3f8cab.jpeg)
2019年,邱锡鹏在《Multi-Criteria Chinese Word Segmentation with Transformer》论文中提出Transformer中文分词模型如下图所示:
![89e98bc3e8998c497e71a8141a41e19f.png](https://i-blog.csdnimg.cn/blog_migrate/6d03c4ed97d97721b4bad89111a1345a.jpeg)
Transformer中文分词学习结果如下图所示:
![234be04499b7865ca7cc7aa99f87c775.png](https://i-blog.csdnimg.cn/blog_migrate/ee062450e55b09edf63a4e6720d74385.jpeg)
三、中文分词工具
中文分词工具工具很多,这里我们选择使用较多,关注度较高的jieba、HanLP、FoolNLTK等来介绍。
![b17a66a4fa9c4bbab53f53ad9f57ad55.png](https://i-blog.csdnimg.cn/blog_migrate/69d1bf15b6d8d62a8ab2e42a6f6c76b8.png)
jieba、HanLP、snownlp、FoolNLTK、LTP、THULAC等分词工具概览。
![164200cdcfc8b31a759fa59f5c0cba80.png](https://i-blog.csdnimg.cn/blog_migrate/e6920007645425fc147ef17119207d60.jpeg)
1、jieba
jieba概述
![d24c7fa7047c851ac650de22257617c3.png](https://i-blog.csdnimg.cn/blog_migrate/0b8d19badf4b59e3b7333b88c78c4769.png)
jieba分词原理:HMM(隐马尔可夫模型)。更多HMM内容可参考:
刘启林:隐马尔可夫模型HMM的原理及应用zhuanlan.zhihu.com![6de57d670d632faffacc4cef3313c4bf.png](https://i-blog.csdnimg.cn/blog_migrate/059bd2f160eb5cea58905774681339a4.jpeg)
![fa15da57e2de146249eb174e768aef70.png](https://i-blog.csdnimg.cn/blog_migrate/65735f1d8d1fc9924163ea54ded74a46.jpeg)
jieba中文分词代码实例如下:
# jieba 0.42.1
import jieba
string = '我喜欢北京冬奥会'
print(",".join(jieba.cut(string)))
2、HanLP
HanLP概述
![bfadee42626d7490cb67a667e8f719c3.png](https://i-blog.csdnimg.cn/blog_migrate/09ba839867808a5a0dbde8aa69e362ca.jpeg)
HanLP实现的基于CRF分词原理如下:
![339afba67380f96e92b3b5e2f82f881d.png](https://i-blog.csdnimg.cn/blog_migrate/5e7c0a3e38c73f1955d7a5200dc623b7.jpeg)
HanLP中文分词代码实例如下:
# HanLP1.7.7
from pyhanlp import *
string = '我喜欢北京冬奥会'
HanLP.Config.ShowTermNature = False
print(HanLP.segment(string))
3、FoolNLTK
FoolNLTK概要
![c2e2035b63446611ef4b7a6f30a9bd44.png](https://i-blog.csdnimg.cn/blog_migrate/12eb7b36e8969dfd988d096653cdbf70.png)
FoolNLTK分词原理如下:
BiLSTM-CRF模型架构
![30430a5b0c2c70f7b8c9d5b5a81da06d.png](https://i-blog.csdnimg.cn/blog_migrate/aab9d7a6557e622a869634461bab90b1.jpeg)
各分词工具对比表如下:
![9a9992aea705fd9b76d3e5e5bb7682f0.png](https://i-blog.csdnimg.cn/blog_migrate/013f85d3fedb00471a6c13d7c74c2b68.jpeg)
中文分词工具使用总结如下:
![cde2f46c79d02ca6dce3a83d0a91611a.png](https://i-blog.csdnimg.cn/blog_migrate/a91f4ed359213aba3390477a09e5be0c.jpeg)
四、总结
![4655b9871523d8baf550fa76ee320808.png](https://i-blog.csdnimg.cn/blog_migrate/50793fc1f132d11c674d56ff8256b688.jpeg)
1、规则 VS 统计 VS 深度
基于规则分词、基于统计分词与基于深度学习分词的对比。
![881c48337596c24bae5e0d7583310ce4.png](https://i-blog.csdnimg.cn/blog_migrate/a2d8081406e928a21c804b1647b744cd.jpeg)
2、垂直领域中文分词
垂直领域的中文分词现状与挑战。
![0294b2138dd1148efc6719a8035d6f50.png](https://i-blog.csdnimg.cn/blog_migrate/39bb74fcd53dd9c47118d684b499e45e.jpeg)
3、中文分词发展趋势
![69201047e66d826a7cfd6094f23bdf9f.png](https://i-blog.csdnimg.cn/blog_migrate/c5684b6d65f9e788c0336f95516d00f0.jpeg)
中文分词呈现两个发展趋势:
1、越来越多的Attention方法应用到中文分词上。
2、数据科学与语言科学融合,发挥彼此优势。
由于当前自己的能力和水平的限制,我的可能是错的,或者是片面,这里抛砖引玉,期待与您一起交流探讨。
参考文献:
1、中国社会科学院语言研究所词典编辑室, 现代汉语词典(第7版), 商务印书馆[M], 2017.01
2、宗成庆, 统计自然语言处理(第2版), 清华大学出版社[M], 2013.08
3、黄昌宁, 赵海, 由字构词——中文分词新方法, 中国中文信息学会二十五周年学术会议[J], 2006
4、姜维, 文本分析与文本挖掘, 科学出版社[M], 2018.12
5、Xipeng Qiu等, Multi-Criteria Chinese Word Segmentation with Transformer, 2019.06