中文分词

中文分词

一、简介

中文分词主要有三种技术,分别为:

1.1 规则分词

规则分词主要是通过人工设立词库,按照一定方式进行匹配切分。其实现简单高效,但对新词很难进行处理。基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语句的每个字符串与词表中的词进行逐一匹配,找到则分词,否则不予切分。

1.1.1 正向最大匹配法

其基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若找到,则匹配成功,匹配字段作为一个词切分出来,若没找到,则匹配失败,将匹配字段中的最后一个字去掉。对剩下的字符串重新进行匹配处理。

1.1.2 逆向最大匹配法

逆向最大匹配的基本原理与MM法相同,不同的是分词切分的方向与MM法相反。此方法从被处理文档的末端开始匹配扫描,每次去最末端的i个字符作为匹配字段,若匹配失败,则去掉匹配字段最前面的一个字,继续匹配。在实际处理过程中,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆文档用正向最大匹配。

1.1.3 双向最大匹配

双向最大匹配法是将正向最大匹配法得到的分词结果和逆向最大匹配法得到的结果进行比较,然后按照最大匹配原则,选取词数切分最少的作为结果。

1.2 统计分词

基于统计的分词模型其主要思想是把每个词看作是由词的最小单位的各个字组成的,如果相连的字在不同的文本中出现的次数越多,就证明这相连的字很可能就是一个词。
其一般分为两步:

1.建立统计语言模型
2.对句子进行单词分词,然后对划分的结果进行概率计算,获得概率最大的分词方式。

1.2.1 语言模型

语言模型中常用的为n元模型,所谓n元模型就是在估算条件概率时,忽略距离大于等于n的上文此的影响,其概率计算公式如下:

P(w_i|w_1,w_2,...,w_{i-1}) = P(w_i|w_{i-(n-1)},...,w_{i-1})

一般使用频率计数的比例来计算n元条件概率

P(w_i|w_1,w_2,...,w_{i-1})=\frac{count(w_i|w_{i-(n-1)},...,w_{i})}{count(w_i|w_{i-(n-1)},...,w_{i-1})}

当n越大时,模型包含的词序信息越丰富,同时计算量随之增大。与此同时,长度越长的文本序列出现的次数也会减少。同时为避免出现分母为零的情况,一般在n元模型中与要配合相应得平滑算法来解决这个问题,例如拉普拉斯平滑等

1.2.2 HMM模型

隐含马尔可夫模型是将分词作字在字串中得序列标注任务来实现的,其基本思路是:每个字在构造一个特定的词语时都占据着一个确定的构词位置。
用数学抽象表示如下: 用\lambda = \lambda_1...\lambda_n代表输入的句子,n为句子长度,\lambda_i表示字,o=o_1...o_n代表输出的标签,理想输出为:

max = maxP(o_1o_2...o_n|\lambda_1...\lambda_n)

我么们假设每个字的输出仅仅与当前字有关,就可以得到:

P(o_1o_2...o_n|\lambda_1...\lambda_n) = P(o_1|\lambda_1)...P(o_n|\lambda_n)

通过贝叶斯公式我们可以把最大化P(o|\lambda)转化为最大化P(\lambda|o)

P(o|\lambda) = \frac{P(o,\lambda)}{P(\lambda_n)} = \frac{P(\lambda|o)P(o)}{P(\lambda_n)}

针对{P(\lambda|o)P(o)}作马尔可夫假设,得到:

{P(\lambda|o)} = P(\lambda_1|o_1)...P(\lambda_n|o_n)

P(o)有:

P(o) = P(o_1)P(o_2|o_1)P(o_3|o_1,o_2)...P(o_n|o_1,o_2,...o_{n-1})

作齐次马尔可夫假设的计算公式如下(这个公示表示,每个输出仅仅与上一个输出有关):

P(o) = P(o_1)P(o_2|o_1)P(o_3|o_1,o_2)...P(o_n|o_1,o_2,...,o_{n-1})

于是得到:

{P(\lambda|o)P(o)} ~ P(\lambda_1|o_1)P(o_2|o_1)...P(o_n|o_{n-1})P(\lambda_n|o_n)

在HMM中,求解maxP(\lambda|o)P(o)的常用方法是Veterbi算法,这个算法的核心思想是:如果最终的最优化路径经过某个o_i,那么从初始节点到o_{i-1}点的路径必然也是一个最优路径。

1.2.3 其他统计分词方法

条件随机场(CRF)也是一种基于马尔科夫思想的统计模型。条件随机场算法的思想在于提出每个状态不止与他前面的状态有关,还与后面的状态有关。

1.3 混合分词(规则+统计)

最常用的就是先基于词典的方式进行分词,然后再用统计分词方法进行辅助。

二、中文分词工具

2.1 jieba

jieba分词结合了基于规则和基于统计这两类方法。
jieba提供了三种分词模式:

1.精确模式,适合文本分析
2.全模式,扫出所有可以成词的词语
3.搜索引擎模式,适合用于搜索引擎分词

除了可以进行分词外,还可以进行词性标注。

下面是各种分词工具比较:

分词工具比较

图片来自

还有NLPIR汉语分词系统,主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。NLPIR系统支持多种编码、多种操作系统、多种开发语言与平台

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • 转载请注明:终小南 » 中文分词算法总结 什么是中文分词众所周知,英文是以 词为单位的,词和词之间是靠空格隔开,而...
    kirai阅读 9,826评论 3 24
  • 转自 进击的Coder 公众号 原理 中文分词,即 Chinese Word Segmentation,即将一个汉...
    Epiphron阅读 11,559评论 2 56
  • 1. 介绍一下分类,能用分类做什么?内部是如何实现的?它为什么会覆盖掉原来的方法? 2> 声明私有方法 注意点:1...
    雪丹妮_66865阅读 115评论 0 1
  • 多种尝试内容融合 上次提到要进行三本书的融合,一开始,我尝试从三本书的目录入手,合并同类项。结果发现不靠谱,因为三...
    喜哥哥_1010阅读 403评论 0 2
  • 有一个叫“木桶理论”的东西曾经大行其道,现在也偶尔能听到有人提起它。该理论告诉我们 一只木桶能盛多少水,并不取决于...
    伍国华阅读 7,678评论 1 7