ch2-分词
- 词是自然语言中能够独立运用的最小单位,是自然语言处理的基本单位,词的界定:规范+词表+语料库
- 曲折语、分析语、黏着语
- 单词识别、形态还原
- 形态分析-查字典-还原处理-进入未登录处理模块
import nltk
sentence = “ Tony’s horse isn’t from U.S.A"
tokens = nltk.word_tokenize(sentence)
print (tokens)
[‘Tony’, ”’s”, ’horse’, ‘is’, “n’t”, ‘from’, ‘U.S.A’]
from nltk.stem import WordNetLemmatizer
lemmatizaer = WordNetLemmatizer()
print(lemmatizaer.lemmatize('dogs'))
print(lemmatizaer.lemmatize('is'))
print(lemmatizaer.lemmatize('is',pos='v’))
dog
is
be
汉语自动分词-基本原则:
1.语义上无法由组合成分直接相加而得到的字串应该合并为一个分词单位
eg:不管三七二十一(成语),或多或少(副词片语),十三点(定量结构),六月(定名结构),谈谈(重叠结构,表示尝试),辛辛苦苦(重叠结构,加强程度),进出口(合并结构)
2.语类无法由组合成分直接得到的字串应该合并为一个分词单位
字串的语法功能不符合组合规律
eg:好吃,好喝,好听,好看等
字串的内部结构不符合语法规律
eg:游水等交集型歧义链长
交集型歧义字段中含有交集字段的个数,称为链长
– 链长为1: 和尚未 {尚}
– 链长为2: 结合成分 {合,成}
– 链长为3: 为人民工作 {人,民,工}
– 链长为4: 中国产品质量
– 链长为5: 鞭炮声响彻夜空真歧义、伪歧义(真实语料中往往取其中一种切分形式)
-
文本分词的基本方法(降低不确定性)
为了降低不确定性,需要为计算机提供确定的“语言知识”,比如词典、规则、经过分词处理的语料库(可从中获取词语的各项统计数据)等知识形式- 基于词典的分词方法(最大匹配法、最短路径法、最大概率法,自顶向下分词)
- 基于字序列标注的方法(自底向上合词)
- 最大匹配法 - 有词典切分,机械切分长词优先
正向最大匹配(FMM)、逆向(BMM)、双向(Bi-MM)
改进:
存在分词错误=〉增加知识,局部修改
增加歧义词表,排歧规则
增加“回溯”
对于某些交集型歧义,可以通过增加回溯机制来修改最大匹配法的分词结果
例如:“爱人民英雄”
– 顺向扫描的结果是:“爱人/民/ 英雄/”
– 通过查词典知道“民”不在词典中,于是进行回溯,将“爱人”的尾字“人”取出与后面的“民”组成“人民”
– 再查词典,看“爱”,“人民”是否在词典中,如果在,就将分词结果调整为:“爱/人民/英雄/”
无法发现分词歧义=〉从单向最大匹配改为双向最大匹配 - 最短路径分词法 - 词图上选择词数最少的路径
- 半词法分词 - 在词图路径优劣评判中引入罚分机制
- 最大概率法 - 在词图上选择概率最大的分词路径作为最优结果
- 由字构词(基于字标注)的分词方法
-在字标注过程中,对所有的字根据预定义的特征进行词位特征学习,获得一个概率模型
-然后在待切分字串上,根据字与字之间的结合紧密程度, 得到一个词位的分类结果
-最后根据词位定义直接获得最终的分词结果
工具:支持向量机、条件随机场 - 生成式方法与区分式方法的结合
方法比较
- 最大匹配分词算法是一种简单的基于词表的分词方法,有着非常广泛的应用。这种方法只需要最少的语言资源(仅需要一个词表,不需要任何词法、句法、语义知识),程序实现简单,开发周期短,是一个简单实用的方法,但对歧义字段的处理能力不够强大
- 全切分方法首先切分出与词表匹配的所有可能的词,然后运用统计语言模型和决策算法决定最优的切分结果。这种切分方法的优点是可以发现所有的切分歧义,但解决歧义的方法很大程度上取决于统计语言模型的精度和决策算法,需要大量的标注语料,并且分词速度也因搜索空间的增大而有所缓慢
- 最短路径分词方法的切分原则是使切分出来的词数最少。这种切分原则多数情况下符合汉语的语言规律,但无法处理例外的情况,而且如果最短路径不止一条时,系统往往不能确定最优解
- 统计方法具有较强的歧义区分能力,但需要大规模标注(或预处理) 语料库的支持,需要的系统开销也较大
未登录词(人名地名、中外组织机构单位名称、专业术语、商品品牌、新词语、缩略语、汉语重叠形式、离合词等)
-
识别未登录词
- 中国人名识别方法:
姓名库匹配,以姓氏作为触发信息,寻找潜在的名字
计算潜在姓名的概率估值及相应姓氏的姓名阈值(threshold value),根据姓名概率和修饰规则对潜在的姓名进行筛选 - 机构名称识别方法:
找到一机构称呼词
根据相应规则往前逐个检查名词作为修饰名词的合法性,直到发现非法词
如果所接受的修饰词同机构称呼词构成一个合法的机构名称,则记录该机构名称
统计模型
- 中国人名识别方法:
-
对文本分词质量的评价
- 计算分词正确率的不同标准,以词、以句
- 分词质量对NLP应用系统的影响,从分对MT、翻译、校对有利,从合对IR有利
-
准确率、召回率、F-measure
评测:SIGHAN bakeoff