原文链接:https://blog.csdn.net/yangfengling1023/article/details/84559848

LTP即哈工大语言技术平台云,是基于云计算技术的中文自然语言处理服务平台

在线使用的网址:https://www.ltp-cloud.com/

github网址:https://github.com/HIT-SCIR/ltp

模型下载网址:http://ltp.ai/download.html

1、安装

我主要完成了python安装pyltp,但是在安装的过程中,需要安装VS,不同版本的python会对应不同的VS

python3.6 对应的VS2005  可以从下面的网盘进行下载:

链接:https://pan.baidu.com/s/19DwbVfe3JQYWA3oPCZQoPw 
提取码:u5lm 
python2.7.13 对应的VS可以从下面的网盘中进行下载:

链接:https://pan.baidu.com/s/1rd_9i4wy45FKeF2oYSPCbA 
提取码:qf38 

(1)python3.6安装过程

执行下面的安装步骤则完成了安装

$ git clone https://github.com/HIT-SCIR/pyltp
$ git submodule init 
$ git submodule update
$ python setup.py install

但此时安装的pyltp版本是0.2.1

(2)python2.7.13安装过程

按照上面的步骤,会出现下面的问题(本地的python版本默认的是python2.7.14):

visual c++ for python\9.0\VC\Bin\amd64\cl.exe failed with exit status 2

解决方法:

把python2.7.14换成python2.7.13版本即可,且改成pip安装,具体的安装命令如下所示:
set STATICBUILD=true && pip install pyltp==0.1.9.1

此时安装的pyltp版本为0.1.9.1
 

2、使用

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

主要使用pyltp中的命名实体识别的功能,具体的代码如下所示:


 
 
  1. # -*- coding: utf-8 -*-
  2. from pyltp import SentenceSplitter
  3. from pyltp import Segmentor
  4. from pyltp import Postagger
  5. from pyltp import NamedEntityRecognizer
  6. paragraph1 = "张三来自中国"
  7. # 分词
  8. sengentor = Segmentor()
  9. sengentor.load( "model/ltp_data_v3.4.0/cws.model")
  10. words = sengentor.segment(paragraph1)
  11. sengentor.release() # 释放模型
  12. # 词性标注
  13. postagger = Postagger()
  14. postagger.load( "model/ltp_data_v3.4.0/pos.model")
  15. postags = postagger.postag(words)
  16. postagger.release() # 释放模型
  17. # 命名实体识别
  18. recognizer = NamedEntityRecognizer()
  19. recognizer.load( "model/ltp_data_v3.4.0/ner.model")
  20. netags = recognizer.recognize(words, postags)
  21. result = "|".join(netags).split( '|')
  22. for i in range(len(words)):
  23. print words[i],postags[i],result[i]
  24. recognizer.release() # 释放模型

运行的结果如下图所示:

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐