回复: 请问哪里有可以下载用以训练的语料库?
"开源传万世,因有我参与",引自 linuxsir.org。
不知到你的开源项目有没有相关网站,大家可以了解一下。
另外,你可以询问xiaoz,看LCMC是否可以有条件使用。
同时,是否可以自己收集一些语料(时限符合条件的),然后用ICTCLAS来进行标注呢?
再问,做开源辞典的目的和意义是什么,大家了解了,也许有C友愿意参与。
是这样,我写一个中文分词的库,计划命名为OpenCLAS,以ICTCLAS为原型,完全重写,重新设计、重新实现,先实现C++的分支版本,并且以之为蓝本,clone出Java和C#的两个分支版本,以BSD许可协议发布。
之所以重写,其一,是因为目前没有看到任何比较有水平的开源分词软件项目,以开放源代码的ICTCLAS并不是自由软件,只允许学术科研,不允许商业使用,不符合开源的精神,我们重写,并使用BSD协议,为的是能够最大化的提高广大中文分词应用的水平,至少不必停留在规则匹配、最大匹配这些已经很落后的技术上,而且不限制商业应用、不限制源代码开放,保持商业友好;其二,原有的ICTCLAS的Bug很多,相当多的原因是因为设计者当初并没有很好的软件功底,如不重新设计、重新实现,很多问题很难解决,无论是执行速度还是准确率都有很大影响。我们重新设计,将解决已经知道的这些设计上的缺陷。
以ICTCLAS为原型,是因为这是目前提供源代码的相对效果很好的分词软件。以它为原型会事半功倍。需要注意的是,我们将不会使用原有ICTCLAS的任何代码,我们是完全重写,所以不存在版权问题。
目前我们并没有建立自己的网站,主要还是在concept proof阶段。感兴趣的朋友可以到我们在Google的讨论组来看看:
http://groups.google.com/group/ictclas
我们现在已经重新设计了词典结构,重新实现了原子切分、生成一元词图、生成二元词图、k shortest path算法,现在已经可以进行初步切分了。接下来是需要添加对NE(中国人名、地名、翻译人名)、(数字、时间),这几类的未登录词的识别。既然以ICTCLAS为原型,自然会实现基于角色的HMM来实现前三种识别,而对于后两种,我不打算采用原ICTCLAS的实现方式,可能会另行考虑。
等所有的细节都concept proof后,我们会开始划分模块、重构、并开始真正实现具体代码。
从目前的情况看,重新实现的代码在执行效率上将会超过原ICTCLAS不少,准确率上暂时无法估计,实现出来后,我们会进行评测,并进一步优化。
我们完全不打算以这个项目盈利,就是为了建立一个有水平的中文分词项目,以让更多需要这个功能的人,不必自己琢磨那些落后的技术,而可以直接使用较先进的技术来为自己服务,从而降低中文分词应用的门槛,能够让中文分词应用的技术含量提高一个水平。
我们所说的词典,也是完全为了这个项目服务。开放出来的ICTCLAS只使用了1998年1月的人民日报语料进行训练,应该说还有很大不足。8.5万个词中,大约只有3万个是来自人民日报1月语料,其余的可能是另有来源,因此,有5万多个词的词频为0,就算剩下的3万词,也相当多的是1,这对于按词频划分来说带来了不小的麻烦。另外就是直接使用这个词典意味着这个词典是继承原有版权的,我们不可以以BSD协议重新发布。我们必须产生自己的辞典。
为了让分词效果更好,我们需要对大规模的语料库来进行统计,训练出词典。而这种免费的大规模语料库的缺乏,让我们很是头疼,毕竟是开源项目,没有资金购买有偿的大规模语料库。
我看过厦门大学的语料库,可是语料库的正确率令人堪忧,如果以行为单位,恐怕错误率能在10%左右,这对于训练出的结果会有很大的负面影响。
唯一让我感到希望的是国家语委的语料库,资源庞大,正确率好像也不低。按说这种使用纳税人的税金建立的国家项目,应该对公众免费开放使用才对,不过从网站上看,虽然没有明确收费的条款,但是前景似乎也不那么乐观。
其它的语料库基本都是查询而没有下载的能力,有些查询速度也相当的慢,因此基本上无法用于词典的训练。
大体上就是这样了。
至于你说的用ICTCLAS进行分词然后拿来处理,这个说实在的不大现实。有两点,一个是语料不好找,当然这个倒也不是绝对不可以,有很多办法。第二个,现有的ICTCLAS的词库很小,有词频的更少,所以对于这种开放测试来说,它的准确率还是不高的,由此产生的词典会继承现有词典和ICTCLAS的缺陷,而不会有效的提高我们新的分词系统的分词准确率的。除非有人工校验,否则意义不是太大。而人工校验对于我们现在有限的人手来说,基本上不大可能,况且我们主要还都是软件设计人员而不是语料库的专家,对于切分标注并不擅长,而且大家都是业余时间来作这个开源项目,能实现完整代码已经不易,根本再无精力去做着费时费力的语料库人工校验了。
希望大家能够帮忙,谢谢了。:)