刘群:计算所与北大往事回顾七
取自 自然语言处理百科
5、汉语词法分析
汉语词法分析,包括汉语的切词、未定义词识别和词性标注,是很多汉语自然语言处理工作的基础。从1980年代起,各国学者,尤其是中国学者在这方面投入的大量的精力。因为不管在哪方面研究,比如机器翻译、信息检索、文本分类、自动文摘等等,首先要做的都是切词。由于没有公开好用的切词工具,所有从事中文自然语言处理研究的学者首先都要开发一个切词系统,这就导致这方面的研究论文层出不穷。但如果仔细分析,会发现其中大部分的工作都是在低水平上重复。虽然有一些汉语切词系统已经达到相当高的质量(如北语的系统和北大的系统),但由于普通研究人员无法得到这样的系统,因此对于绝大部分研究人员来说,缺乏好的分词系统依然是一个非常严重的问题。由于分词并不是一个很简单的问题,尤其是词语切分歧义问题和未定义词识别问题往往纠缠在一起,这就导致汉语的切词变得比较困难,单纯依靠规则方法很难得到很好的结果。而当时采用统计方法进行切词研究的还不太多,尤其是将切词、未定义词识别和词性标注等问题结合起来的研究还非常少见。这也导致很多原本希望从事其他中文处理研究的学者不得不陷入了切词问题的研究之中,而削弱了对其本来研究问题的关注。我自己在原来的机器翻译系统中,也开发了一个纯粹基于规则的汉语词法分析系统。由于缺乏足够的调试,分词效果当然很不理想,因此开发一个好的分词系统也是一个迫在眉睫的问题。刚好这时候我看了很多自然语言处理中统计方法的文章,我发现,隐马尔科夫模型是一种相当强大的工具,应该可以解决汉语词法分析中的各种问题,包括切词、未定义词识别和词性标注。于是在2001年下半年,我开始让张华平开展这方面的研究。张华平是个非常聪明也非常勤快的学生,虽然他原来并没有任何自然语言处理工作的基础,但他很快就动手做了起来。刚开始他还不太能理解我的设想,就不断地跟我来讨论,在这种讨论中他慢慢理解了我的设想,而且在一些细节上对我原先的设想也进行了进一步的改进和完善。我们采用北京大学计算语言学研究所开发的人民日报语料库作为训练和测试语料,实验结果令我们非常满意。2002年7月,我们参加了973项目组授权姚天顺老师组织的汉语词法分析评测,我们的系统ICTCLAS在参加评测的三个系统中,以微弱的优势领先第二名的系统获得第一,这让我们非常高兴。
虽然我们的词法分析程序效果非常好,但说实话我并没有把这件事看得很重。毕竟词法分析只是机器翻译的第一步,而且是非常小的一步。我忽然有了一个想法,就是把这个系统以开放源代码的形式公开出来,一方面,可以让所有为汉语切词而苦恼的人解脱出来,不要再纠缠在汉语切词问题上,而可以关注他们应该关注的研究问题。另一方面,可以为真正从事汉语分词研究的人树立一个标杆,不要再做低水平重复的工作,至少跟我们这个系统相比水平要有所提高才有意义吧。这个想法得到批准后,我们很快把我们的系统源代码放到了刚开张的“开放平台”上。正好这时计算所组织向社会公开了一批开放源代码的工具,我们就把我们这套汉语词法分析系统ICTCLAS和另一个汉语句法分析系统ICTPROP加入了这次活动,通过计算所网站也向社会公开。在2002年底,我们了解到国际上刚刚成立的汉语处理兴趣小组Sighan要举办第一届汉语切词评测比赛,我们也积极参加了这次评测比赛,评测时间是在2003年4月,结果我们在有关汉语简体文字切分的四个评测项目中,得到了两个第一名和一个第二名。这使得我们的研究工作在国际上引起了更多的关注。到目前为止,ICTCLAS已经成为最有影响的汉语切词工具,在计算所网站开源软件网站上下载次数达4500多次,在“开放平台”上的下载次数也应该有数千次,加上用户其他途径的传播,我们估计ICTCLAS的用户数量应该会有1万以上。在Google等著名搜索引擎上搜索ICTCLAS,可以查询到的网页都在6000篇以上。东北大学的博士生张乐把这个系统移植到了Linux上,并把移植的结果上载到了“开放平台”。在“共创软件联盟”上也出现了一个ICTCLAS FOR JAVA的项目。另外,网上还有大量的文章讨论ICTCLAS的Bug,求解其中的问题。由于我们没有提供英文的文档,也没有在英文网站上发布这个软件,国外用这个软件的人还不像国内这么多。不过还是有很多中国研究人员把ICTCLAS用在了他们在国外研究机构的研究成果中。在Google Scholar上查询ICTCLAS可以查到90篇文献,其中就包括了很多国外的文献。由于我们一直很忙,ICTCLAS的1.0版推出后,我们就一直没有进行升级,其中的一些Bug我们也没有来得及打上补丁。不过我们现在已经开始着手做这件事情,相信不久就会有2.0版本出来。另外,我们在课题组的网站上也提供了ICTCLAS的在线测试版本,供大家随时测试。
6、汉语句法分析
在进行汉语词法分析的同时,我们组另一个硕士生张浩也在进行汉语句法分析的研究。我原来在机器翻译中开发了一个基于规则的汉语句法分析器,我很希望张浩能开展统计句法分析的研究。张浩的导师白硕研究员对于汉语句法分析提出了一种叫做角色反演的算法,因此也同意张浩进行这方面研究。张浩在查阅有关资料的基础上,提出了一种基于结构上下文特征的汉语句法分析算法,其中也实现了白硕提出的角色反演方法。这种算法比单纯的概率上下文无关语法的句法分析性能有所提高。这种做法不同于当时性能最好的词汇化概率上下文无关语法相比。与词汇化概率上下文无关语法相比,性能略低,但复杂度也较低。这个句法分析器虽然没有达到当时国际上已经发表的最好水平(在同样的训练和测试数据上比较),但比我原来的基于规则的句法分析器已经有了大大的提高。我们后来把这个软件的核心算法部分也以开放源代码形式在“开放平台”和计算所网站的免费资源栏目同时公开了。在计算所网站上的下载次数同样达到了4000多次。后来张浩毕业后去了美国Rochester大学读博士,还是从事与自然语言处理相关的研究工作。我们到数字化室以后,我们课题组另外两名硕博连读生熊德意和米海涛后来继续在汉语句法分析领域开展了很多研究工作,目前我们的系统性能已经超过了国际上已经报道的最好水平,而且这个句法分析器已经用在了我们的统计机器翻译研究中,发挥了很大的作用。这个系统也在我们课题组的网站上提供在线测试。
这段时间与句法分析相关的另一个工作是李素建在她的博士论文工作中开展了汉语组块分析的研究,不过这项研究并没有形成可使用的软件工具。
转自:http://mtgroup.ict.ac.cn/~liuqun/research/experience.htm#_Toc146986889

