张开旭:分词不是一个独立的任务,大量无标注语料是真正的金矿
作者:张开旭 CLPS-SIGHAN2012微博分词评测第一名
最近看大家在微博上讨论分词。作为一个分词的同好,我也是有分词情怀的。我是12年毕业的NLP博士。(注:NLP是神经语言程序学 (Neuro-Linguistic Programming))课题就是分词,做课题期间读了几乎所有的主要文献,也自己重现过主流的方法,包括最大匹配,CRF,感知器,基于词的方法等等。
遗憾的是自己没有写出高水平的paper。自己编写过一个分词系统,也就是现在的THUNLP分词开源版本的雏形。
毕业前后参加SIGHAN2012年的分词评测,题目是切分微博语料,在17只队伍中获得第一名。
毕业后到国内某商业搜索引擎公司也完成过一次分词模块的升级。直到一年半之前,决定暂时放弃分词的研究。
在此我也想跟大家分享一下我对分词的看法。
分词不是一个独立的任务
分词的确在很多地方被使用,但不像机器翻译、语音识别、聊天那样形成一个独立的产品。用户并不对其感知,他在所有使用场景中,都如同一个hidden variable,对最后效果的影响即使不是次要的,但一定也是间接的。这样一个特点就导致很多尴尬的问题。
不论从实践上还是理论上,分词不存在完美的标准。首先,如上所说,不同的任务所需要的分词结果可能是不一样的;退一步,即使想只关心语言学意义上的标准,从语言学家们对词的定义的争论不朽,我觉得这样一个标准也是不存在的。
那么,所谓有监督分词,就像是一个半伪的命题
因为训练样本是人按照某种不完美的规范标注的,而分词的使用场景却又有另一套评价方法(比如搜索引擎中的NDCG,机器翻译中的BLUE),这两者本身就不能匹配。(是的,也许大家也听出来了,词性标注、句法分析也躺枪了)
所以,分词标注语料的作用有限
原因之一上面已经提到,他对于分词所在的大任务效果的提高是间接的,比如在一个实际系统中,不同分词错误的影响是非常不一样的。另一个原因是分词语料获得的成本非常昂贵,老实说我自己都无法熟练地按照某一个标准前后一致地去标注生语料,虽然我尝试过。这就使得在大数据量大计算能力的今天,分词语料的规模相当有限,很难覆盖到Zipf尾部。
因此,纯有监督模型的改进,意义也没有那么大
我试过很多模型,有好坏的区别,后来大家也试了很多神经网络的方法,但在有限的标注语料上,改进真的算显著吗。
我的经验告诉我,模型的升级带来计算量剧增的同时(很多时候其实就只能写paper玩了),其对效果的改进可能远不如加一个词表来得明显。是呀,那我们去把别的领域的那些很酷炫的有监督模型来装分词这个新酒,真那么有意义吗。
大量无标注语料,是真正的金矿
分词的有标注语料很少,但分词的无标注语料可以说是最多的。从里面学习词表,是一种简单粗暴的可行方法。从里面统计字的PMI也是利用无标注语料的方法。从里面学习embedding,是很多神经网络分词模型效果提升的根本。甚至用其中的标点符号,都能总结出一些词的边界规律。
更不用说self-training、co-training等等,都是试图从无标注语料中提炼出知识来。但我并不觉得以上提到的任何方法完美解决了在无标注语料中挖矿的问题。
不妨将分词的优化目标,设定为优化所在大任务的整体效果
一个句子x的分词结果是s,在其所在的大任务中,会有一个收益r(s),根据不同的结果可能收益不同。那么任何的分词判别模型,给定x,可以给出s的分布,与其让所谓的标注得到正确结果s*的似然p(s*|x)最大化,不如将优化目标定为在s分布下r(s)的期望最大化。
其实在神经网络的端到端机器翻译中有现成的例子,与其优化平行语料的最大似然,不如最大化BLUE值的期望。(当然BLUE是否是一个好的机器翻译的reward,就不在本文讨论范围内了) 微信回复文字,查看系列文章
回复 1 大数据可视化 5篇系列文章 回复 2 推荐系统 5篇系列文章 回复 3 机器学习 5篇系列文章 回复 4 随机森林 5篇系列文章 回复 5 数据科学家 5篇系列文章 回复 6 大数据面试题 5篇系列文章 回复 7 大数据工具 5篇系列文章 回复 8 大数据应用案例 5篇系列文 回复 9 新手入门大数据 5篇系列文 36大数据 36大数据成立于2013年5月,是中国访问量最大的大数据网站。
36大数据以独立第三方的角度,为大数据产业生态图谱上的需求商、应用商、服务商、技术解决商等相关公司及从业人员提供全球资讯、商机、案例、技术教程、项目对接、创业投资及专访报道等服务。 投稿/合作联系:[email protected]
网址:http://www.36dsj.com
长按二维码发现惊喜
点击下方 “阅读原文”查看更多 ↓↓↓