分词器
转载请注明出处:http://www.codelast.com/
现在有很多开源的中文分词器库,如果你的项目要选择其一来实现中文分词功能,必然要先评测它们的分词效果。如何评测?下面详细叙述。
【1】黄金标准/Golden standard
所谓的黄金标准是指:评价一个分词器分词结果的好坏,必然要有一份“公认正确”的分词结果数据来作为参照。
通常,我们使用一份人工标注的数据作为黄金标准。但是,就算是人工标注的数据,每个人对同一句话的分词结果恐怕也持有不同的意见,例如,有一句话“科学技术是第一生产力”,有人说应该这样分词:“科学技术 是 第一 生产力”,又有人说应该这样分词:“科学 技术 是 第一 生产力”。那么,到底哪种才是对的呢?
因此,要找有权威的分词数据来做为黄金标准。
大家可以使用SIGHAN(国际计算语言学会(ACL)中文语言处理小组)举办的国际中文语言处理竞赛Second International Chinese word segmentation Bakeoff(http://sighan.cs.uchicago.edu/bakeoff2005/)所提供的公开数据来评测,它包含了多个测试集以及对应的黄金标准分词结果。
文章来源:http://www.codelast.com/
【2】评价指标
精度(Precision)、召回率(Recall)、F值(F-mesure)是用于评价一个信息检索系统的质量的3个主要指标,以下分别简记为P,R和F。同时,还可以把错误率(ERROR Rate)作为分词效果的评价标准之一(以下简记为ER)。
直观地说,精度表明了分词器分词的准确程度;召回率也可认为是“查全率”,表明了分词器切分正确的词有多么全;F值综合反映整体的指标;错误率表明了分词器分词的错误程度。
P、R、F越大越好,ER越小越好。一个完美的分词器的P、R、F值均为1,ER值为0。
通常,召回率和精度这两个指标会相互制约。
例如,还是拿上面那句话作为例子:“科学技术是第一生产力”(黄金标准为“科学技术 是 第一 生产力”),假设有一个分词器很极端,把几乎所有前后相连的词的组合都作为分词结果,就像这个样子:“科学 技术 科学技术 是 是第一 第一生产力 生产力”,那么毫无疑问,它切分正确的词已经覆盖了黄金标准中的所有词,即它的召回率(Recall)很高。但是由于它分错了很多词,因此,它的精度(Precision)很低。
因此,召回率和精度这二者有一个平衡点,我们希望它们都是越大越好,但通常不容易做到都大。
文章来源:http://www.codelast.com/
为了陈述上述指标的计算方法,先定义如下数据:
:黄金标准分割的单词数
:分词器错误标注的单词数
:分词器正确标注的单词数
则以上各指标的计算公式如下:
文章来源:http://www.codelast.com/
【3】正确及错误标注的计数算法
如上所述,我们要先计算出e和c,才能计算出各指标值。 和 是按如下算法来统计的:
在“黄金标准”和“待评测的结果”中,理论上,除了分词后添加的空格之外,它们所有的文字都是相同的;唯一的不同就在于那些有差异的分词结果的位置上。例如,“计算机 是个 好东西”(黄金标准)与“计算机 是 个 好东西”(待评测的结果)的差异就在于“是个”与“是 个”的差异,其余分词结果都是相同的。因此,只需要找到这种差异的个数,就可以统计出分词器正确标注了多少个词、错误标注了多少个词。
以下面的分词结果为例:
“计算机 总是 有问题”——黄金标准
“计算机 总 是 有问题”——待评测的结果
给分出来的每个词都做位置的标记(位置从1开始):
(1,4),(4,6),(6,9) ——黄金标准
(1,4),(4,5),(5,6),(6,9) ——待评测的结果
文章来源:http://www.codelast.com/
那么我们会发现,(1,4)和(6,9)这两个词是相同的(即“计算机”和“有问题”),而差异在于(4,6)和(4,5),(5,6)(即“总是”和“总 是”),因此,我们只需要比较这两个标注结果中的差异数,就可以知道分词器正确、错误地标注了多少个单词。在此例中,正确的标注的单词数为2,错误标注的单词数为2。
需要说明的是:在此例中,也可以认为错误标注的单词数为1(即“总是”与“总 是”的差异),按照最大错误数来算会使错误率升高(在分词精度很差的情况下,可能会导致ER>100%),不过,在所有分词器都使用同一标准来评测的情况下,也就会很公平,并不会影响到最终的结论。
有了上面的算法,就很容易写出一个评测程序了。这里就不把程序放上来了。
文章来源:http://www.codelast.com/
【4】参考文献
① Word Segmentation: Quick but not Dirty.
Timothy Gambell 1814 Clover Lane Fort Worth, TX 76107, [email protected]
Charles Yang* Department of Linguistics, Yale University New Haven, CT 06511, [email protected]
② Chinese Segmentation and New Word Detection using conditional Random fields
Fuchun Peng, Fangfang Feng, Andrew McCallum, Computer Science Department, University of Massachusetts Amherst, 140 Governors Drive, Amherst, MA, U.S.A. 01003, {fuchun, feng, mccallum}@cs.umass.edu
③ A Compression-based Algorithm for Chinese Word Segmentation
W. J. Teahan, The Robert Gordon University
Rodger McNab, University of Waikato
Yingying Wen, University of Waikato
Ian H. Witten, University of Waikato
相关阅读
这两年可以说是淘宝客数量迅速增长的一段时间,各种淘宝客优惠券群遍地开花,有的小伙伴加入淘宝客之后很快赚得了人生的第一桶金,但是
软文写作,其实没你想象的那么难,也没你想象中的那么简单。不会写软文,没关系。若,总结了这几条。站在三个不同的角度写软文一、产品角
win10共享在哪?Win10系统照样离不开网络,甚至在某些方面更需要处理网络问题。处理网络就需要用到“网络和共享中心”。
数组和数组之间能直接赋值吗?——不能 你难道是想 a=b??首先你要明白:数组名a,b代表指针常量,所以说赋值号左边必须是一个变量a=b
一个产品,如果它长期不创新,最后终将会被人们遗忘,那产品创新,我们得遵守什么样的规则呢?如果你刷抖音,你一定在抖音上看到过答案茶,还有