(环境:Windows, VS2008)
1.必须的材料:
1)VS2008的安装略去。(由于该项目的开发比较早,所以官方建议2008而不是2010)
2)LTP系统包:HIT-SCIR-ltp-83ddff2,记得跟哈工大申请,下载地址:http://ir.hit.edu.cn/ltp/
3)Boost库(LTP用到了boost.regex库),此案例使用boost版本1.37.0,下载地址:http://www.boost.org/users/history/version_1_37_0.html
2.Boost库中regex库的编译
Regex库是博大精深的boost库的一个组成部分,它必须要专门地进行一次编译操作才能正确被创建。然后,系统包中有三个模块(_svmtagger, _srl, _ner)用到了boost库中的regex库,所以我们必须先编译它。[1]
1)把下载好的boost压缩包解压到某个盘,我是解压到了d盘。
2)然后运行CMD,进入Visual Studio 2009VC路径下,运行vcvarsall.bat,得到以下提示。
3)接着直接把CMD转入路径D:boost_1_37_0libsregexbuild,在这个路径下有针对VC各个不同版本的Makefile文件,Visual Studio 2008对应的VC版本是VC9。
4)依次执行以下命令:
执行命令nmake -fvc9.mak
执行命令nmake -f vc9.makinstall
执行命令nmake -f vc9.makclean
5)这时,在C:Program FilesMicrosoft Visual Studio9.0VClib下生成了7个Boost.Regex库文件,Regex库的编译告一段落。
6)Boost库还有很多内容,完全的编译需要很长时间,由于我们只用到了regex,就不再赘述了,大家有兴趣查阅[1]或者boost的官方网站(http://www.boost.org/)。
3.把LTP代码跑起来
1)先把HIT-SCIR-ltp-83ddff2包解压到本地某个位置,我放在了E:LTP,并把其中的ltp_data压缩包在同一层解压。(ltp_data里装的是各个模块的模型文件,以待加载)
2)在VS2008中打开windowswin_projectvs2008__ltp.sln工程,可以看到一共有8个项目文件。
3)由于_ner,_srl与_svmtagger用到了boost库,我们需要把他们编译时的引用指向第三方库,具体操作我们以_ ner为例:
a.右键点击_ner,选择属性,左边的配置属性->C/C++,在“附加包含目录”中,把boost库的路径添加进去,即D:boost_1_37_0。
b.同理把_srl与_svmtagger项目也配置好。
4)由于模块之间存在依赖关系,我们需要分清楚顺序。实际的操作中,我们发现_svmtagger模块儿需要最先编译,所以请首先编译该项目,右键->生成。
5)接下来,把官方提供的_test_suit项目改为“启动项目”,右键->设为启动项目。(这一步不改的话,会出现让你选择执行文件的对话框,但是我因为这个迷茫了好久……)你注意看_test_suit的main函数可以发现,哈工大已经为我们提供好了各个测试例子,我们只需要顺藤摸瓜就可以自己完善了:)
生成顺序:_gparser
_svmtagger
_srl
_ner
_crfwordsegment
__ltp_dll
__ltp_dll_for_python
test_suit
6)按道理讲,现在可以对整个工程直接编译了!
调试—>启动调试
然后出现以下对话框:
开始各种读取和加载模型。
4.输入和输出在哪里
直接编译的话,输入是E:LTPwindowswin_projectvs2008里面的text.txt。你可以自己放些文本测试测试。
输出就是该路径下的xml文件。