开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:文本特征提取-中】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15491
文本特征提取-中
内容简介:
一、分词方法
二、分词难点
一、分词方法
那么我们下来看一下分词方法的最大匹配法,有一串生活文本,计算机语言学课程是三个课时,我们要用最大匹配法分词的话,我们就要设定一个最大的词长,5个词为分好词的最大词长,分好的词放在S2里。
我们刚才讲过,分词需要有一个分词的词典,词典里有的词才能分出来。因为我们最大的词长是五个字,所以在词典里查计算机语言学,查到的话就命中,然后把他放到s2。
接下来去词典里查课程是三个,没有查到,变成四个词,查课程是三,还是没有,再变成三个,课程是,仍然没有,再变成两个字课程,查找,命中了,再放到s2里面。
运用这样一个方法,我们可以把这一句话分成这样一些词,这就是最大匹配法的一个基本思路。当然最大匹配法我们刚刚是从左往右截,也可以从右往左截,或者双向的截取。
接下来我们再看一下最大概率法.他的基本思想是,一个待切分的汉字串可能包含多种分词结果,我们知道这是非常常见的,然后我们要选择其中概率最大的那个作为该字串的结果。
比如对于这样一串中文,它就有意见分歧,它有两种路径,一种是有/意见/分歧,还有一种是有意/见/分歧,我们知道有意也是一个词,假如分歧是一个女孩子,有意就见分歧。有两条路径,我们该走哪一条路径呢,这两条路径我们就要通过概率计算。
通过概率计算,这是他的计算过程,细节就不和大家细说了,你们应该很熟悉,也就是每一个词在整个语料里面,在整个文档集合里面统计 它出现的概率,我们有这样一张概率表,那么我们再做它的联合概率,有/意见/分歧的概率是1.8*10-9,有意/见/分歧的概率是1*10-11。前面的分词概率就大于后面的分词概率,最后的分词就是有/意见/
分歧。
我们再来了解一下最短路径分词方法.它的主要方法是在词图上选择一条词数最少的路径,最少的路径。
它的优点好于单向最大匹配法,大家看看如果用最大匹配法,他有六个分词独立、自主、和、平等、互利、的、原则。如果用最短路径法只需要五个分词,这个具体的细节你们去考虑一下。最短路径法也有它的缺点,就是无法解决分词歧义,就是分词的歧义问题。你比如说结合/成分/子时,它的分词是3个,但你结合成/分子/时,也是三个分词,就产生歧义问题了,很难解决,下面这个就更有代表性了,他/说/的/确实/在理,和他/说/的确/实在/理,都是最短路径,都是五个词,所以很难解决分词歧义问题。
二、分词难点
我们介绍了三种分词方法,除此之外还有两个分词难点,一个是分词歧义问题,就有多种可能性,关于分词歧义和他进一步的细节,我们课里就不在介绍了,后面有思考题让同学们来思考。
我们来看另一个难点,也就是未登录词识别,未登录词也就是词典中未有的词。有些词在词典里是不可能有的,比如数字、命名,像人名、地名、机构名、专业术语在词典里基本上不可能有的,还有一些特殊的词。那么对于未定义词,也就是未登录词的一般的方法,规则的方法或者概率统计的方法.我们来看一看数字识别的常用方法。数字识别的经典方法是用正则表达式,这一相关的知识我们会在下一章文本数据采集和处理里面会介绍。
那么识别分数日期我们就用正则表达式的方法,正则表达式就是有这些通配符,元字符他有特定的语法,然后到文本串里找相应的内容。比如[]就是表示一个范围。识别百分数也是用正则表达式,用正则表达式这样一种语法。包括十进制数字的识别都是正则表达式识别.
我们再来看一下对于中文姓名的识别。中文姓名识别如果用规则的话,我们可以制定一些规则。
比如姓是哪些,哪些字在名字里不会用,名字里面会有一些前缀后缀,这是用规则的方法,当然现在用机器学习的方法的话,比较重要的一个是命名实体的识别方法,我们在以后的课题里也会提到。
他所谓的命名实体是指人名,所谓的机构名,还有地名,就地理位置等等。可以用一个非常好的命名实体的方法来解决。