用双向最大匹配法进行中文分词
问题情况
中文分词任务,采用的是Sighan2004(backoff2005微软数据)数据。给出训练集和测试集,对测试集进行中文分词,要求给出的分词结果F-score尽量大。
常见解法
1.正向(逆向)最大匹配
以选出匹配的单词尽可能长为目标分词,具体操作是从一个方向不断尝试匹配出最长单词,再进行下一次匹配,直到匹配完成为止。
2.双向最大匹配
同样以选出匹配的单词尽可能长为目标分词,具体操作可以给分词结果打分,找一个合适的打分函数下,匹配单词较长则比较合算,同时希望求解打分函数最大值的复杂度比较低。
3.最大熵模型
4.CFR方法
常见优化
1.数字和百分号小数点
因为希望从12米学习出2米,所以应该把12米和2米都弄成米,是一个占位符。
需要注意全角半角问题,本组数据所有的字符全部是全角的。
2.人名地名
这个优化我做不太会做。感觉要识别出人名地名涉及到命名实体识别,这就很困难。
我的解法
我尝试了正向最大匹配法(V1)和双向最大匹配法(V2),都加了数字和百分号小数点的优化。
1.正向最大匹配法(V1)
用训练集训练出一个字典。
对于测试集句子,从一个方向不断尝试