jieba中文分词

1中文分词(Chinese Word Segmentation)

和英文不同,中文词之间没有空格,所以实现中文搜索引擎,比英文多了一项分词的任务。例如,英文句子“I am a student.”,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student 是一个单词,但是不能很容易明白“学”、“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,也称切词。

最常见的中文分词算法可以分为三大类:①基于字符串匹配的分词方法、②基于理解的分词方法、③基于统计的分词方法

下面就具体介绍下这三类分类算法:

基于字符串匹配的分词方法:这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)

1)正向最大匹配法(由左到右的方向)

2)逆向最大匹配法(由右到左的方向):

3)最少切分(使每一句中切出的词数最小)

4)双向最大匹配法(进行由左到右、由右到左两次扫描)

基于理解的分词方法:这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

基于统计的分词方法:给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。例如最大概率分词方法和最大熵分词方法等。随着大规模语料库的建立,统计机器学习方法的研究和发展,基于统计的中文分词方法渐渐成为了主流方法。

2、jieba分词特点

①支持三种分词模式 :  精确模式,试图将句子最精确地切开,适合文本分析;  全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;   搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

②支持繁体分词

③支持自定义词典

④MIT授权协议

3、jieba分词基本算法

①基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图{位置,[有效词的末尾索引]},如下图:

上海大众→DAG: {0: [0, 1, 3], 1: [1], 2: [2, 3, 5], 3: [3] (例:0: [0, 1, 3]可理解为上:上(0),上海(1),上海大众(3))

DAG词图

②根据有向无环图的生成的词切片,计算出每一种可能分词组合的最大概率,这里用到了一个动态规划的算法,从句尾开始向前推进,最后可以得到一个基于字典中每个词的频率而得到的最优解,即得到基于词频的最大切分组合。如下图:(其中最大切分-17.0123*是对“上海大众”这个词的概率求log后的值)

route:{0:(-17.012343323,3), 1:(-20.205012324,1), 2:(-12.202623572,3), 3:(-9.735563572,3), 4:(0.0,'')}。最后得出route概率-17.012343323,“上海大众”即为最大切分。


route概率——词频最大切分

③结巴对于字母和数字的处理方法是:对于route得出单个字节的词,先全部连成一个buf 然后:1.(非隐马尔科夫)组合在一起,并输出   2.隐马尔科夫(HMM) 比较在词典中是否有buf,如果有,则分开输出

4、jieba分词的具体流程图

结巴分词细节

5、代码示例

map_seg.py代码(注释中的代码即为结巴分词代码,注释下方的代码为TF-IDF代码)
执行指令:run.sh代码

input数据的前十行的查看结果:

最终得到的输出结果:

结巴分词结果(注释代码的运行结果)
TF-IDF值

6、jieba分词源码下载地址:https://github.com/fxsjy/jieba

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

推荐阅读更多精彩内容