计算所汉语词法分析系统ictclas 字典格式解析
这段时间小叮咚分词模块基本上没有什么大更新了,不是不想更新,而是感觉好像碰到了天花板,不知道该如何进一步拓展分词的功能了。当然分词不是目的,只是为了让小叮咚理解自然语言的一步必须的中间环节。我对小叮咚的定位是一个智能知识问答系统。这样让小叮咚理解用户输入的内容是最基础也最关键的一步。我们学习一门语言,首先要了解句子的构成,句子的成份,主、谓、宾、定、状、补等等。让机器理解人的语言,也应该采取大致的步骤。
分词很显然是第一步。在我看来分词有两个层次:1、把一句话中的词语按照其所代表的含义分开;(搜索引擎的分词到这一步基本就可以了)
2、对第一个环节分词结果加上词性标注;(动词,名词,等等)
小叮咚的分词程序现在只是基本完成了上面的第一个部分。
要做完第2部分非常困难,首先需要一个分词词性词库,其次需要一个好的算法来标注词性。
这大概就是小叮咚的分词程序一直无法提高的原因吧。
于是就准备参考国内有名的 计算所汉语词法分析系统ictclas, 先看看人家是如何实现的。
汉语词法分词系统 ictclas 是中国科学院的两位研究员开发的一套广受专家好评的汉语分词系统。该系统的功能有:中文分词;词性标注;未登录词识别。详细信息可以看这里。由于对方提供了源代码,所以分析ictclas是个很好的起点。(现在ictclas提供了 windows 和 linux 下的动态链接库,还没有 java 和 c# 版本的,我想如果顺利的话这个系列的文章写完,就应该可以实现c#和java版本的了,呵呵)
当然在好的东西也有缺点,在我看来ictclas最大的缺点是没有文档。就像jboss,代码虽然免费,可是没有文档,很多人只好乖乖的交服务费或者购买文档了。这也算是一种盈利模式吧,给作者的劳动一些补偿。
分词的两个重点分别是一个好的词库和一套好的分词算法。ictclas 无疑在这两方面都是很出色的。
本篇重点分析一下ictclas所采用的词库的格式。
ictclas 使用的词库是以dct结尾的文件。这里有一个例子。
今天就先写到这里吧,没有写过文件格式方面的文章,不知道该怎么描述了……。
[田春峰csdn]
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器