所谓词形还原(lemmatizer),即把一个任何形式的英语单词还原到一般形式,与词根还原不同(stemmer),后者是抽取一个单词的词根。
最近在做跨语言文本分类的研究,需要词形还原,穷搜一番后找到了这个俄罗斯人写的工具,貌似还不错。现在把自己的探索笔记列在这里,以方便来人。
1、下载地址:http://lemmatizer.org/en/download.html
2、依次安装4个组件,其中有一个是俄文词典,可以不装。安装过程很简单:http://lemmatizer.org/en/setup.html。安装时要用到cmake,下载地址:http://www.cmake.org/
3、装英文词典时遇到问题,make报错,找不到turglem/txml.h,跑到usr/local/include/turglem下一看,果然没有,在usr/local/include/txml下有个txml.hpp,拷贝到前一个目录下,名字改成txml.h,再make。还有错:‘void txml::determination_object::load_from_file(const std::string&)’ 的原型不匹配类 ‘txml::determination_object’ 中的任何一个。大意是说txml.cpp的实现中,这个函数与头文件中的声明不一致。于是打开turglem-english