HanLP环境配置和使用
HanLP環境配置使用
1 安裝Anaconda
版本: python3.7
2 安裝python IDE
我安裝的是wingide,按照安裝步驟下載即可。
將wingide與python關聯:Project->Project Properties
點擊custom,Browse選擇Anaconda3安裝地址下的python.exe,點擊OK
ps:因為與wingide關聯的是Anaconda下的python,后續所有安裝包均在Anaconda Prompt環境下安裝,非cmd環境。否則,若存在不通過Anaconda下載的其他python版本,cmd環境下pip install的安裝包將下載到其他python下,報錯:XXX not defined/found
3 安裝HanLP
(1)安裝 Microsoft Visual C++插件
(2)在Anaconda Prompt中安裝jpype和pyhanlp:
若安裝jpype失敗,可手動安裝安裝包:jpype安裝包地址
pip install JPype1?0.7.0?cp37?cp37m?win_amd64.whlps:注意python版本對應關系,cp37---->python3.7 cp27---->python2.7
下載完pyhanlp后不能立即使用,
(3)在命令行中import pyhanlp,它會自動下載jar包、data文件和properties文件到默認的目錄,data文件比較大1個G左右。
(4)配置Java環境:因為hanlp是java開發的雖然有python的API但是還是需要java環境,所以需要安裝JDK。
(5)設置java環境變量:
C:\Program Files\Java\jdk1.8.0_221
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
(6)在wingide中驗證 pyhanlp是否安裝成功:
#encoding=utf8 from pyhanlp import * print(HanLP.segment("您好,歡迎使用HanLP"))若報錯:builtins.ValueError: 配置錯誤: 數據包 C:/Users/Adminstrate/Anaconda3/lib/site-packages/pyhanlp/static\data 不存在,請修改配置文件中的root
說明import pyhanlp時下載data文件失敗,可手動下載配置
(1)下載data,將data文件放到提示目錄Anaconda3\Lib\site-packages\pyhanlp\static下
(2) 打開Anaconda3\Lib\site-packages\pyhanlp\static目錄下的hanlp.properties,修改root=C:/Users/Adminstrate/Anaconda3/lib/site-packages/pyhanlp/static. (root=存放data的父目錄)
解決方案:
4 HanLP各種分詞方法
#encoding=utf8 from pyhanlp import *print(HanLP.segment('你好,歡迎在Python中調用HanLP的API')) PerceptronLexicalAnalyzer = JClass('com.hankcs.hanlp.model.perceptron.PerceptronLexicalAnalyzer') analyzer = PerceptronLexicalAnalyzer() print(analyzer.analyze("上海華安工業(集團)公司董事長譚旭光和秘書胡花蕊來到美國紐約現代藝術博物館參觀"))print("="*30+"HanLP分詞"+"="*30) HanLP = JClass('com.hankcs.hanlp.HanLP') print(HanLP.segment('你好,歡迎在Python中調用HanLP的API')) print('-'*70)print("="*30+"標準分詞"+'='*30) StandardTokenizer = JClass('com.hankcs.hanlp.tokenizer.StandardTokenizer') print(StandardTokenizer.segment('上海華安工業(集團)公司董事長譚旭光和秘書胡花蕊來到美國紐約現代藝術博物館參觀')) print('-'*70)#NLP分詞NLPTokenizer會執行全部命名實體識別和詞性標注 print('='*30+'NLP分詞'+'='*70) NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer') print(NLPTokenizer.segment('中國科學院計算技術研究所得宗成慶教授正在教授自然語言處理課程')) print('-'*70)print('='*30+"索引分詞"+'='*30) IndexTokenizer = JClass('com.hankcs.hanlp.tokenizer.IndexTokenizer') termlist = IndexTokenizer.segment("主副食品") for term in termlist: print(str(term)+"["+str(term.offset)+":"+str(term.offset+len(term.word))+"]") print('-'*70)print('='*30+"CRF分詞"+'='*30) print('-'*70)print('='*30+"急速詞典分詞"+'='*30) SpeedTokenizer = JClass('com.hankcs.hanlp.tokenizer.SpeedTokenizer') print(NLPTokenizer.segment('江西鄱陽湖干枯,中國最大淡水湖變成大草原')) print('-'*70)print('='*30+"自定義分詞"+'='*30) customDictionary = JClass('com.hankcs.hanlp.dictionary.CustomDictionary') customDictionary.add('攻城獅') customDictionary.add('單身狗') print(HanLP.segment('攻城獅逆襲單身狗,迎娶白富美,走上人生巔峰')) print('-'*70)document = "水利部水資源司司長陳明聰9月29日在國務院新聞辦舉行的新聞發布會上透露."\"根據剛剛完成了水資源管理制度的考核,有部分省接近了紅線的指標。"\"有部分省接近了紅線的指標。對一些超過紅線的地方,陳明忠表示,對一些取水項目進行區域的限批,"\"嚴格的進行水資源論證和取水許可的批準。"print('='*30+"關鍵詞提取"+'='*30) print(HanLP.extractKeyword(document,8)) print('-'*70)print('='*30+"自動摘要"+'='*30) print(HanLP.extractSummary(document,3)) print('-'*70)text = r"算法工程師\n算法(Algorithm)是一系列解決問題的指令,也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出," print('='*30+"短語提取"+'='*30) print(HanLP.extractPhrase(text,10)) print('-'*70)總結
以上是生活随笔為你收集整理的HanLP环境配置和使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMwear虚拟机安装动态网卡和静态网卡
- 下一篇: 二次元RPG游戏:Tap Fantasy