机器翻译最后一个大作业需要使用moses搭建一个机器翻译系统。其中有一步中要调用ICTCLA api实现中文分词,晚上稍稍熟悉了一下ICTCLA,大概了解了它的原理和使用方法,在此将使用它的方法和实验过程加以简述,以备忘。
我是在ubuntu 9.10系统中进行实验的,故而需要下载linux版本的ICTCLA。我首先下的是java版本,但是在ubuntu中使用时出现了问题,后换成了C++版本。在解决了实验过程中在C++版本里出现的问题之后,回头看java版本,之前遇到的是一样的问题。在此以c++版本为例说明。
完成一个汉语分词程序的过程:
首先,下载C++ ICTCLA for linux,解压,出现4个文件夹api, Demo, Doc和Simple。Demo中放的是在windows中使用的一个GUI的程序,Doc是说明文档,Sample是一个示例,api中存放的是使用C++ api是在工程中必须存在的一些文件和文件夹,可视作各个库和配置文件。
其次,建立一个C++工程CTestProject,在这个工程的文件夹里拷入上述api文件夹内的所有东东。下一步很重要,修改ICTCLAS50.h头文件,我不晓得为什么这个文件会有问题,不过改后确实好了。这个文件中需要注释掉各个函数声明之前的“ICTCLAS_API”,不然编译报错(我估计是开发人员忘记将这个字符串放入注释了)。
写程序test.cpp(一个简单的调用api进行中文分词的程序):
#include <stdio.h>