关闭

哈工大语言云(LTP)本地安装使用及Python调用

711人阅读 评论(0) 收藏 举报

转载:http://blog.csdn.net/churximi/article/details/51174182

备注:本文实验环境为64位win7系统,32位python2.7.11

哈工大LTP官方主页:http://ltp.readthedocs.org/zh_CN/latest/index.html


1.LTP下载

(1)LTP项目文件ltp-3.3.1-win-x86.zip

(2)LTP模型文件3.3.1(2016年4月13日前)

下载地址参考:http://ltp.readthedocs.org/zh_CN/latest/install.html

Windows系统直接下载编译好的二进制文件ltp-3.3.1-win-x86.zip,不用管编译。


2.文件夹放置

(1)新建一个项目文件夹:D:\myprojects\LTP;

(2)将模型文件解压后的ltp_data文件夹放入项目文件夹;

(3)将ltp-3.3.1-win-x86.zip解压后的dll、exe文件全部拷入项目文件夹。

最后文件夹列表如下:


说明:因为内部默认路径的关系,这样放置可以使ltp_data文件夹处在默认路径上。


3.Python使用ltp_test

LTP提供的模型包括:(在ltp_data文件夹)
    cws.model         分句模型,单文件
    pos.model         词性标注模型,单文件
    ner.model 命名实体识别模型,单文件
    parser.model 依存句法分析模型,单文件
    srl_data/ 语义角色标注模型,多文件(文件夹srl)


    ltp_test是一个整合LTP中各模块的命令行工具。它完成加载模型,依照指定方法执行分析的功能。

    主要参数:线程数、最终步骤、输入文件路径、模型路径、词典路径等。

    具体可通过CMD运行ltp_test.exe查看。


python程序简单调用:

[python] view plain copy
 
 
  1. # -*- coding: utf-8 -*-  
  2.   
  3. """ 
  4. 学习:python执行CMD命令command,可以用&连接多个命令 
  5. 功能:python调用CMD命令来执行本地LTP功能 
  6. 时间:2016年4月13日 19:07:41 
  7. """  
  8.   
  9. import os  
  10.   
  11. project_path = "d:\\myprojects\\LTP"    # 项目文件夹目录  
  12.   
  13. # 可设置ltp_test、(cws、pos、par、ner)_cmdline,但是注意各自能用的参数,没有的参数请置空""  
  14. model_exe = "ltp_test"    # 又如cws_cmdline  
  15.   
  16. threads_num = " --threads "+str(3)                                    # 更改线程数  
  17. last_stage = " --last-stage "+"all"                                   # 最终步骤,可设置ws、pos、ner、dp、srl、all  
  18. input_path = " --input "+"d:\\myprojects\\LTP\\file\\test.txt"        # 输入文件  
  19. seg_lexicon = ""                                                      # 分词用户词典  
  20. pos_lexicon = ""                                                      # 词性标注用户词典  
  21. output_path = "D:\\myprojects\\LTP\\result\\out.txt"                  # 输出文件  
  22.   
  23. command = "cd "+project_path+" & "+model_exe+threads_num+input_path+last_stage+" > "+output_path  
  24. os.system(command)  

4.Python使用xxx_cmdline

(1)cws_cmdline :分词命令行 

(2)pos_cmdline :词性标注命令行 

(3)par_cmdline :句法分析命令行

(4)ner_cmdline :命名实体识别命令行


python程序简单调用(以cws_cmdline为例,其他类似,参数略不同)

[python] view plain copy
 
 
  1. # -*- coding: utf-8 -*-  
  2.   
  3. """ 
  4. 功能:LTP本地分词cws_cmdline,输入文本需要每行一句。(不能自动分句) 
  5. 时间:2016年4月13日 20:22:39 
  6. """  
  7.   
  8. import os  
  9.   
  10. project_path = "d:\\myprojects\\LTP"    # 项目文件夹目录  
  11.   
  12. model_exe = "cws_cmdline"               # 分词模块,相当于ltp_test的last_stage=ws,但是输出格式不同  
  13.   
  14. threads_num = " --threads "+str(3)                                    # 更改线程数  
  15. input_path = " --input "+"d:\\myprojects\\LTP\\file\\test.txt"        # 输入文件  
  16. seg_lexicon = " --segmentor-lexicon "+"D:\\myprojects\\LTP\\file\\seg_lexicon.txt"     # 分词用户词典  
  17. output_path = "D:\\myprojects\\LTP\\result\\out.txt"                  # 输出文件  
  18.   
  19. command = "cd "+project_path+" & "+model_exe+threads_num+input_path+seg_lexicon+" > "+output_path  
  20. os.system(command)  

5.注意事项

(1)长度限制:为了防止输入过长句子对稳定性造成影响,限制输入字数少于1024字,分词结果少于256词。

(2)编码:统一采用UTF-8


6.使用心得

(1)ltp_test输出结果只有xml格式;(在线ltp-cloud api调用可以返回多种格式)
(2)ltp_test可以自动分句,遇到新的文本段落时,句子编号重新会从0开始(所以已经分好句的文本,输出结果中的句子编号都是0)
(3)单独使用某个功能模块时,需要事先分好句或者分好词;(不同分析之间存在的依赖关系)
(4)#、&、+等特殊符号不会影响LTP本地分析;(在线ltp-cloud api调用会有影响);
(5)cws_cmdline分词模块输出结果为plain格式,分词间隔用的是TAB制表符;
(6)pos_cmdline词性标注模块输出结果为plain格式,结果用TAB制表符分隔;词与词性之间以下划线(_)连接。
(7)分词用户词典问题:官方说“可以设置用户词典,但是ltp的分词模块并非采用词典匹配的策略,外部词典以特征方式加入机器学习算法,并不能保证所有的词都是按照词典里的方式进行切分。”

    例子:“C++”、“互联网+”这样的词,加入词典还是不能切分出来。

(8)一定要注意编码问题:用户词典也要用UTF-8无BOM格式编码,如果是UTF-8格式编码,将导致第一行的词不能被正确识别(因为存在字节前缀)。

    

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

哈工大语言云(LTP)本地安装使用及Python调用

备注:本文实验环境为64位win7系统,32位python2.7.11 哈工大LTP官方主页:http://ltp.readthedocs.org/zh_CN/latest/index.html ...
  • churximi
  • churximi
  • 2016-04-17 17:51
  • 12151

常用工具包-哈工大语言技术平台(LTP)-本地安装-python接口(ubuntu,win7-64)

目录 一、前言... 1 二、Win7下通过命令行使用LTP. 2 2.1下载相关软件... 2 2.2文件夹放置... 2 2.3通过python使用命令接口... 2 2.3.1命令简介... 2...
  • alihonglong
  • alihonglong
  • 2016-09-07 20:41
  • 4811

Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札

1 什么是pyltp 语言技术平台(LTP) 是由 哈工大社会计算与信息检索研究中心 11 年的持续研发而形成的一个自然语言处理工具库,其提供包括中文分词、词性标注、命名实体识别、依存句法分...
  • MebiuW
  • MebiuW
  • 2016-09-10 20:44
  • 13350

Python调用哈工大语言云(LTP)API进行自然语言处理

转载:http://blog.csdn.net/churximi/article/details/51173297 哈工大语言云(语言技术平台云)是以哈工大社会计算与信息检索研究中心...
  • huludan
  • huludan
  • 2016-07-07 22:58
  • 891

哈工大语言云(LTP)本地安装使用及Python调用

备注:本文实验环境为64位win7系统,32位python2.7.11 哈工大LTP官方主页:http://ltp.readthedocs.org/zh_CN/latest/index.html ...
  • huludan
  • huludan
  • 2016-07-07 22:43
  • 1984

Python调用哈工大语言云(LTP)API进行自然语言处理

哈工大语言云(语言技术平台云)是以哈工大社会计算与信息检索研究中心研发的“语言技术平台(LTP)” 为基础,提供高效精准的中文自然语言处理云服务。          官网:http://www.ltp...
  • churximi
  • churximi
  • 2016-04-17 17:17
  • 5843

哈工大LTP:Windows系统Python本地调用

本文实验环境为64位win10系统,python3.6.2,LTP项目文件和模型文件使用的3.3.1版本 1.LTP下载 (1)LTP项目文件ltp-3.3.1-win-x86.zip(下载链接) ...
  • informationscience
  • informationscience
  • 2017-08-07 16:19
  • 1053

自然语言处理包 哈工大 LTP的使用

开始使用LTPLTP 的下载和安装 依赖:CMake在 Windows (MSVC) 下编译在 Linux, macOS 和 Cygwin 下编译编译结果说明 使用ltp_test和xxx_cmd...
  • u013378306
  • u013378306
  • 2017-03-21 14:52
  • 2858

Java调用哈工大LTP接口(JNI方式实现)

哈工大LTP编译使用译文提到了哈工大LTP自然语言处理平台的编译使用,设计C++、Python和Java方式,相信可以参见其在GitHub主页中提到的具体编译方式和使用。这里主要是关于在Java项目中...
  • u012268339
  • u012268339
  • 2017-03-29 21:27
  • 1040

哈工大LTP项目

来自哈工大官网:http://ir.hit.edu.cn/ltp/ Ltp: Language Technology Platform (下载源代码) Introduction 语言技术平台(L...
  • forever1dreamsxx
  • forever1dreamsxx
  • 2012-11-30 11:28
  • 3296
    个人资料
    • 访问:7735次
    • 积分:239
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:15篇
    • 译文:0篇
    • 评论:0条