读《数学之美》第四章 谈谈分词

中文分词其实有点像古代的句读(dou),韩愈的《师说》中就有:“彼童子之师,授之书而习其句读者也”。古人文章是没有标点符号的,行文一气呵成。如果不懂离经断句,就很难理解古文的意思。从某种程度上,句读就类似今天要讲的中文分词。

北京航空航天大学的梁南元教授提出了查字典的方法

查字典的方法就是把句子从左到右扫描一遍,遇到字典里有的词就标示出来,遇到不认识的字串就分割为单字词。如果分割出的词与后面的字不会组成更长的词,那么分割点就最终确定了。这种最简单的方法可以解决七八层以上的分词问题,在不太复杂的前提下,取得了还算满意的效果。

20世纪80年代哈尔滨工业大学的王晓龙博士将查字典的方法理论化,发展成最少词数的分词理论,即一句话应该分成数量最少的词串。但是并非所有最长匹配都是正确的,语言的歧义性是分词的最大难题。

1990年清华电子工程系的郭进博士率先使用统计语言模型成功解决分词二义性问题,将汉语分词错误率降低了一个数量级。最为简单的思考是有N中分词所得,统计各种分词结果出现的概率,选择最大概率的分词结果作为最好的分词方法。这里有一个实现技巧,如果穷举所有分词结果,显然会导致计算量大增。因此,可以看成一个动态规划问题,利用维特比算法快速找到最佳分词。这样就可以构造分词器:输入字串,输出分词字串,中间需要词典和语言模型作为辅助。

清华大学郭茂松教授解决了没有词典时的分词问题;香港科技大学吴德凯教授较早将中文分词方法用于英文词组的分割,并将英文词组和中文词组在机器翻译时对应起来。

另外,对于平板电脑和智能手机的出现,英文手写体中的分词常常是需要的,因此,中文分词方法可以帮助判别英语单词的边界。

衡量分词的结果可以采用分词的一致性;人工分词产生的原因主要在于人们对词的颗粒度认识问题。解决办法可以构建一个基本词表和复合词表,不断丰富完善复合词表,会将分词器的明显错误得以改进。

************************

2015-8-7

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-03 12:23:11

读《数学之美》第四章 谈谈分词的相关文章

第四章谈谈中文分词

1.中文分词的演变 由于中文等语言,字与字之间是没有空格隔开的,所以需要分词.最简单的分词就是查字典.就是从左到右或者从右到左扫描一句话,然后找到最长的匹配.这种方法可以解决七八成的分词问题.但是毕竟太简单了一点.后来哈工大王晓龙博士把查字典方法理论化,发展成最少词数的分词理论,即一句话应该分成数量最少的词串.但是他无法解决“北京大学生”这样的二义性分割问题.直到20世纪90年代,郭进博士用统计语言模型成功解决了分词二义性问题.假设我们有几种不同的分词方法,那么最好的方法应该是出现概率最大的划分

第四章 谈谈.NET Core下如何使用

[敬请期待] 上一章:第三章 谈谈.NET下如何使用 下一章:没有了 真没有了 源码地址:https://github.com/xiexingen/AutoMapper.RegExtension [欢迎fork.欢迎star.欢迎watch]

读大道至简第四章有感

第四章题目为流于形式的沟通,顾名思义说的就是我们的沟通只是表面工作,没有深入,也就不会对工作有什么实质性的帮助.但是这个沟通值得是谁与谁之间的沟通呢,没错,就是我们与客户之间的沟通.程序员与计算机之间可以用C语言,java进行沟通但是客户不一定会这些我们也不能要求客户会这些,所以学好基本的编程语言是基础,学会与客户用汉语进行深刻的沟通,并且把这些沟通的内容转化为编程的需求.这是对一个程序员的客观要求. 然而就像书中所说,有的客户会聘用一个专家组来与程序员进行沟通,这时候专业知识就可以很好的应用,

读构建之法第四章第十七章有感

第四章 1.原文:"函数最好有单一的出口,为了达到这个目的,可以使用goto.只要有助于程序逻辑的清晰体现,什么方法都可以使用.--P69" 问题:关于goto,我记得老师讲过,这个在编程中是尽力避免的,所以我在之前并没有了解过它.本书却建议用,这让我产生了困惑. 我的看法:goto语句它可以不受限制的灵活跳转,这样程序员在使用goto语句的时候就很容易因为跳转而略过了一些关键语句.但是它能从多重循环体中跳出,用不着写很多次的break语句.我查了一些资料,发现自从提倡结构化设计以来,

数学之美 第1章 文字和语言 vs 数字和信息

参考书籍:<数学之美> 吴军著 语言和数学的产生都是为了同一个目的:记录和传播信息 1. 文字的起源:当语言和词汇积累到一定程度(记不住)的时候,产生了高效记录信息的需求-->文字. 2. 文字发展的阶段 象形文字(物体的外表):<亚尼的死者之书>:象形文字增加到一定程度(记不住)的时候,概念开始进行概括和归纳,如日即可表示太阳,也可以表示一天(类比机器学习中的聚类):但是由于文字按照意思来聚类,会导致歧义性(文言文解读),通常借助上下文去除歧义: 楔形文字/拼音文字(抽象编

数学之美 第2章 自然语言处理:从规则到统计

参考书籍:<数学之美> 吴军著 任何语言都是一种编码方式,语言的规则则是编解码的算法. 1. 计算机能否处理自然语言?如果能,它处理自然语言的方法和人类一样吗? Yes and Yes(上下文相关的.基于语料统计的方法) 2. 图灵测试:让人和机器进行交流,如果人无法判断自己交流得对象是人还是机器,就说明这个机器是有智能的. 3. 基于规则的句法分析("鸟飞派"):语法分析.语义分析-->失败:语法规则过多,计算量太大(甚至相互矛盾)+ 语义的多义性严重依赖上下文 高

《数学之美》——第二章 个人笔记

第二章    自然语言处理--从规则到统计 这一章开头这句话:字母,文字,数字是信息编码的不同单位.任何一种语言都是一种编码的方式,而语言的语法规则是编解码的算法.我们表达一个意思要通过语言表达出来,就是用这种语言的编码方式表示出来,结果就输出一串文字.别人懂这门语言的编码方式,就会理解.这里说的输出一串文字,可以是字母,数字(计算机理解),和开头说的信息编码的不同单位是符合的,就很好理解了.这就是语言的数学本质. ?①计算机能处理自然语言 ?②它处理自然语言的方法和人类一样 1 机器智能 有意

AI - 深度学习之美十四章-概念摘要(8~14)

原文链接:https://yq.aliyun.com/topic/111 08 反向传播(Back Propagation,简称BP) 算法 在神经网络(甚至深度学习)参数训练中,BP算法占据举足轻重的地位. 实际上BP算法是一个典型的双向算法,但通常强调的是反向传播. 工作流程分两大步: 正向传播输入信号,输出分类信息(对于有监督学习而言,基本上都可归属于分类算法).简单说来,就是把信号通过激活函数的加工,一层一层的向前"蔓延",直到抵达输出层. 反向传播误差信息,调整全网权值.如果

读高性能JavaScript编程 第四章 Conditionals

if else 和 switch    &&    递归 if else 和 switch 一般来说,if-else 适用于判断两个离散的值或者判断几个不同的值域.如果判断多于两个离散值,switch表达式将是更理想的选择. 如同 我们在写sql 总习惯把可以过滤掉更多的where 放在前面一样,当 if else 判断的离散值较多时也因该这么干. 二分搜索法: if (value == 0){ //要优化的代码 return result0; } else if (value == 1)