哈工大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() # 釋放模型
執行的結果如下圖所示: