-
Notifications
You must be signed in to change notification settings - Fork 1k
开始使用ltp
如果你是第一次使用LTP,不妨花一些时间了解LTP能帮你做什么。
LTP提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。从应用角度来看,LTP为用户提供了下列组件:
- 针对单一自然语言处理任务,生成统计机器学习模型的工具
- 针对单一自然语言处理任务,调用模型进行分析的编程接口
- 使用流水线方式将各个分析工具结合起来,形成一套统一的中文自然语言处理系统
- 系统可调用的,用于中文语言处理的模型文件
- 针对单一自然语言处理任务,基于云端的编程接口
如果你的公司需要一套高性能的中文语言分析工具以处理海量的文本,或者你的在研究工作建立在一系列底层中文自然语言处理任务之上,或者你想将自己的科研成果与前沿先进工作进行对比,LTP都可能是你的选择。
下面的文档将介绍如何安装LTP
作为安装的第一步,你需要获得LTP。LTP包括两部分,分别是项目源码和编译好的模型文件。你可以从以下链接获得最新的LTP项目源码。
- Github项目托管:https://github.com/HIT-SCIR/ltp/releases
同时,你可以从以下链接获得LTP的模型。
- 百度云(当前模型版本3.3.0)
现在,ltp已经在如下系统和编译器环境下进行了测试。我们也欢迎用户反馈其他系统环境下的编译结果。
操作系统 | 编译器 | 版本 | ltp_test | 训练套件 | ltp_server | 单元测试 |
---|---|---|---|---|---|---|
Linux | gnu-c++ | 4.2 - 4.8 | 支持 | 支持 | 支持 | 支持 |
Mac os | clang-c++ | 3.2 | 支持 | 支持 | 支持 | 支持 |
Windows | cygwin-g++ | 4.8 | 支持 | 支持 | 支持 | 支持 |
Windows | mingw-g++ | 4.7 | 支持 | 支持 | ||
Windows | MSVC | 16.0/18.0 | 支持 | 支持 |
LTP使用编译工具CMake构建项目。在安装LTP之前,你需要首先安装CMake。CMake的网站在这里。如果你是Windows用户,请下载CMake的二进制安装包;如果你是Linux,Mac OS或Cygwin的用户,可以通过编译源码的方式安装CMake,当然,你也可以使用Linux的软件源来安装。
第一步:构建VC Project
在项目文件夹下新建一个名为build的文件夹,使用CMake Gui,在source code中填入项目文件夹,在binaries中填入build文件夹。然后Configure -> Generate。
或者在命令行build 路径下运行
cmake ..
第二步:编译
构建后得到ALL_BUILD、RUN_TESTS、ZERO_CHECK三个VC Project。使用VS打开ALL_BUILD项目,选择Release(*)方式构建项目。
- (*注:boost::multi_array与VS2010不兼容的bug已经在3.1.0中得到修复,3.1.x及以上版本已经可以使用Debug方式构建,但出于效率考虑,仍旧建议使用Release方式构建。)
Linux、Mac OSX(*)和Cygwin(**)的用户,可以直接在项目根目录下使用命令
./configure
make
- (*注:Mac OSX如果要编译example下的示例程序,请加入-std=c++11 -stdlib=libstdc++ -Wno-error=c++11-narrowing选项)
- (**注:使用Cygwin编译时,建议使用cygwin适用的cmake,即使用
apt-cyg install cmake
)
进行编译。
编译成功后,会在./bin文件夹下生成如下一些二进制程序:
程序名 | 说明 |
---|---|
./bin/ltp_test | LTP调用程序 |
./ltp_server* | LTP Server程序 |
在lib文件夹下生成以下一些静态链接库(**)
程序名 | 说明 |
---|---|
./lib/splitsnt.lib | 分句lib库 |
./lib/segmentor.lib | 分词lib库 |
./lib/postagger.lib | 词性标注lib库 |
./lib/parser.lib | 依存句法分析lib库 |
./lib/ner.lib | 命名实体识别lib库 |
./lib/srl.lib | 语义角色标注lib库 |
同时,在tools/train文件夹下会产生如下一些二进制程序:
程序名 | 说明 |
---|---|
./tools/train/otcws | 分词的训练和测试套件 |
./tools/train/otpos | 词性标注的训练和测试套件 |
./tools/train/otner | 命名实体识别的训练和测试套件 |
./tools/train/nndepparser | 依存句法分析训练和测试套件 |
./tools/train/lgsrl | 语义角色标注训练和测试套件 |
- (注*:在window版本中ltp_server、Maxent、SRLExtract、SRLGetInstance并不被编译。)
- (注**:window下产生的静态库的后缀是.lib,linux下产生的静态库的后缀是.a)