1、pyltp簡介
pyltp 是哈工大自然語言工作組推出的一款基於Python 封裝的自然語言處理工具(輪子),提供了分詞,詞性標注,命名實體識別,依存句法分析,語義角色標注的功能。
2、pyltp安裝方法
- 安裝環境:windows10,python3.6
2.1.安裝pyltp庫
安裝方法一:使用pip命令安裝
pip install pyltp
注:此種方法大概率會失敗,會出現較多問題,如VC++編譯環境缺少。
安裝方法二:使用whl輪子安裝
輪子下載地址:
鏈接:https://pan.baidu.com/s/1Jbw6IjVbb-URZCHvh3FNDQ
提取碼:i3le
pyltp-0.2.1-cp35-cp35m-win_amd64.whl(python3.5,64位)
pyltp-0.2.1-cp36-cp36m-win_amd64.whl(python3.6,64位)(根據我的編譯環境,下載這個)
下載好后,在安裝包目錄下,打開系統命令框,輸入:
pip install pyltp-0.2.1-cp36-cp36m-win_amd64.whl
即可安裝成功。
2.2.pyltp數據包安裝
pyltp要能實現分詞、詞性標注、命名實體識別,還需要安裝數據包以及模型。請確保下載的模型版本與當前版本的 pyltp 對應,否則會導致程序無法正確加載模型。
- pyltp 版本:0.2.0-0.2.1
- 對應LTP模型 版本:3.4.0
模型下載地址:https://pan.baidu.com/share/link?shareid=1988562907&uk=2738088569#list/path=%2F,
根據需要,我們下載3.4版本的模型數據。
下載后,可以解壓到任意位置,C盤,D盤、E盤都行,為了方便查找數據,我將模型文件解壓到我的pyltp庫文件中。如下圖:
1. 官方的下載模型文件,ltp_data並解壓到任意位置(注意點:模型的路徑最好不要有中文,不然模型加載不出), 2. 解壓后得到一個大於1G的文件夾,確保此文件夾名稱為ltp_data,位置任意,但在Python程序中一定要指明這個路徑。 3. LTP提供的模型包括:(在ltp_data文件夾里面) cws.model 分句模型,單文件 pos.model 詞性標注模型,單文件 ner.model 命名實體識別模型,單文件 parser.model 依存句法分析模型,單文件 srl_data/ 語義角色標注模型,多文件(文件夾srl)(注意:按照官網提示注:3.4.0 版本 SRL模型 pisrl.model 如在windows系統下不可用,可以到官網“此鏈接” 下載支持windows的語義角色標注模型。) 2017/06/15 16:42 182,672,934 cws.model 2017/07/07 15:47 260 md5.txt 2017/06/15 15:19 22,091,814 ner.model 2017/06/15 16:26 367,819,616 parser.model 2017/06/15 16:00 196,372,381 pisrl.model 2017/06/15 16:43 433,443,857 pos.model 2017/07/07 15:47 6 version 7 個文件 1,202,400,868 字節 2 個目錄 108,015,374,336 可用字節 參考:https://blog.csdn.net/shuihupo/article/details/81545335
參考資料:
官方使用文檔:https://github.com/HIT-SCIR/ltp
Python文檔說明地址:https://github.com/HIT-SCIR/pyltp
3、問題匯總
pyltp安裝過程中問題匯總:
問題一:python版本不是3.6,為3.7或者更高的版本,安裝輪子失敗
原因:目前pyltp庫最高支持python3.6版本,更高版本的python安裝會出錯。
解決方法:1、將你的python版本降級,降到3.6版本,降級方法,百度。
2、更改輪子名稱,如pyltp-0.2.1-cp36-cp36m-win_amd64.whl(python3.6,64位),更改為pyltp-0.2.1-cp37-cp37m-win_amd64.whl(python3.7),親測有效。
問題二:使用方法一安裝出現VC++錯誤,
原因:你的電腦確實VC++編譯環境,需要安裝特定的VC++支持數據包。
解決方法:安裝支持環境,下載下面的exe文件,安裝VC++編譯環境。
鏈接:https://pan.baidu.com/s/1za9j5p4YxxFle6-MT3NKMQ
提取碼:y70v
4、pyltp簡單使用
# -*- coding: utf-8 -*- import os LTP_DATA_DIR = r'E:\tool\python\Lib\site-packages\pyltp-0.2.1.dist-info\ltp_data' # ltp模型目錄的路徑 cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model') # 分詞模型路徑,模型名稱為`cws.model` from pyltp import Segmentor segmentor = Segmentor() # 初始化實例 segmentor.load(cws_model_path) # 加載模型 words = segmentor.segment('大明王很喜歡一個人') # 分詞 print ('\t'.join(words)) segmentor.release() # 釋放模型
E:\tool\python\python.exe "E:/學習筆記/NLP學習/NLP code/情感分析2/test1.py" 大明王 很 喜歡 一個 人 Process finished with exit code 0
5、總結
專注、認真