依照什么切分句子——标点符号
- 无歧义的:!?等
- 存在歧义的:. 英文中的.不止表示句号,也可能出现在句子中间,比如缩写Dr. 或者数字里的小数点4.3
- 解决方法:建立一个二元分类器:
- 检查“.”
- 判断这个是不是出现在句尾
- 具体使用手写规则(正则表达式)、机器学习分类器,最简单的是决策树
- 决策树:
- 首先检查是否在该词之后有很多空白行,如果是,则该词是句尾,否则检查下一项
- 检查最后一个标点是不是?, !, 或者:,如果是,则该词是句尾,否则检查下一项
- 检查最后一个标点是不是句号,如果否,则该词不是句尾,并结束,否则检查下一项
- 检查该词是不是“etc”或者其他缩写,如果是,则该词不是句尾,否则是句尾
- , E-O-S 表示End-Of-Sentence
- 其都是基于经验所建,可以有更复杂的规则如下:
- 带.的词:检查第一个字母是不是大写、或者小写、是不是缩写(比如Mr.)、是不是数字
- 检查.之后的下一个单词:第一个字母是不是大写、小写、缩写或数字
- 检查带有.的数字:
- 检查长度,一般缩写词的长度较短
- 检查概率:在语料库中检索该词作为句尾出现的概率
- 检查概率:在语料库中检索.之后的那个单词作为句首出现的概率
- 决策树的本质就是一系列if-then-else的声明,所以关键在于如何选择特征,也就是if里的条件语句。手动选择特征往往很难,所以一般用机器学习的方法提取特征
- 特征提取之后,也可以被用于其他分类器,比如逻辑回归、SVM、神经网络等等
posted @
2018-07-30 16:37
A_Present
阅读(
2476)
评论()
编辑
收藏
举报