您的位置:首页 > 编程语言 > PHP开发

[转]哈工大开源项目LTP系统的首次运行

2015-11-10 13:45 483 查看
forever1dreamsxx--NLP

[转]哈工大开源项目LTP系统的首次运行

2012-7-26阅读1225 评论2

原文地址:http://www.mrluoyi.com/blog/2011/07/tutorial-of-ltp/

(环境:Windows, VS2008)

chubby_roro@qq.com

0. 说明

辛勤原创,转载请注明出处。新手之作,请各位朋友斧正。为了方便, [这里]
提供了PDF版本的,欢迎下载:)

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 2009\VC路径下,运行vcvarsall.bat,得到以下提示。





3) 接着直接把CMD转入路径D:\boost_1_37_0\libs\regex\build,在这个路径下有针对VC各个不同版本的Makefile文件,Visual Studio 2008对应的VC版本是VC9。

4) 依次执行以下命令:

执行命令nmake -f vc9.mak





执行命令nmake -f vc9.mak install

执行命令nmake -f vc9.mak clean

5) 这时,在C:\Program Files\Microsoft Visual Studio 9.0\VC\lib下生成了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中打开windows\win_project\vs2008\__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函数可以发现,哈工大已经为我们提供好了各个测试例子,我们只需要顺藤摸瓜就可以自己完善了:)

6) 按道理讲,现在可以对整个工程直接编译了!然后出现以下对话框:





开始各种读取和加载模型。

4. 输入和输出在哪里

直接编译的话,输入是E:\LTP\windows\win_project\vs2008里面的text.txt。你可以自己放些文本测试测试。

输出就是该路径下的xml文件。

5. 引用文献

[1]正则化库Boost.Regex的编译与使用(Visual Studio 2008)http://hi.baidu.com/%D3%F3%C4%E0%C4%EA%B8%E2/blog/item/c4058512fa451147f819b88c.html

6. 特别感谢

之所以写这篇文档,是为了帮助那些和我一样在入门道路上苦无援助的同学们。都是我自己的实践过程,由于是初学者,难免很多步骤显得冗长和幼稚,请大家包涵指正,希望我们共同进步!

特别感谢LTP官方微群http://q.weibo.com/849045中帮助我的学长们,感谢郑学长。感谢吴老师提供实验室,感谢淼的键盘,感谢Quan的指导和Kong的帮助……

最重要的是感谢哈工大无私地开源!LTP是个强大的东西。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: