1. 程式人生 > >哈工大LTP本地安裝及python呼叫

哈工大LTP本地安裝及python呼叫

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中的命名實體識別的功能,具體的程式碼如下所示:

# -*- coding: utf-8 -*-
from pyltp import SentenceSplitter
from pyltp import Segmentor
from pyltp import Postagger
from pyltp import NamedEntityRecognizer


paragraph1 = "張三來自中國"
# 分詞
sengentor = Segmentor()
sengentor.load("model/ltp_data_v3.4.0/cws.model")
words = sengentor.segment(paragraph1)

sengentor.release() # 釋放模型

# 詞性標註
postagger = Postagger()
postagger.load("model/ltp_data_v3.4.0/pos.model")
postags = postagger.postag(words)
postagger.release() # 釋放模型

# 命名實體識別
recognizer = NamedEntityRecognizer()
recognizer.load("model/ltp_data_v3.4.0/ner.model")
netags = recognizer.recognize(words, postags)
result = "|".join(netags).split('|')
for i in range(len(words)):
    print words[i],postags[i],result[i]
recognizer.release() # 釋放模型

執行的結果如下圖所示: