前幾天看了大快的舉辦的大數據論壇峯會的現場直播,驚喜的是hanlp2.0版本發佈。Hanlp2.0版本將會支持任意多的語種,感受仍是挺好的!不過更多關於hanlp2.0的信息,可能還須要過一段時間才能看到,只能等一下了!下面分享一篇大神的文章,是關於在ubuntu下使用pycharm調用hanlp的實驗。java
如下爲全文:python
首先點擊File,選擇Settings,在Project 下點擊Project Interpreter,並經過點擊右邊的加號:git
搜索JPype,根據python版本選擇你須要的JPype版本安裝。github
以後,在https://github.com/hankcs/HanLP/releasesubuntu
網站下載hanlp.jar包、模型data包、配置文件hanlp.properties,新建一個文件夾Hanlp,python2.7
把hanlp.jar和hanlp.properties放進去;以後須要再新建一個文件夾hanlp,並將data放進去;大數據
修改Hanlp下的路徑爲當前data的路徑,因爲我將data放在/home/javawork/hanlp下,所以:root=/home/javawork/hanlp/網站
接下來新建一個文件demo_hanlp.py,代碼以下:spa
#! /usr/bin/env python2.7blog
#coding=utf-8
from jpype import *
# startJVM(getDefaultJVMPath(), "-Djava.class.path=home/javawork/Hanlp/hanlp-1.2.7.jar;home/javawork/Hanlp/", "-Xms1g", "-Xmx1g")
startJVM(getDefaultJVMPath(), "-Djava.class.path=/home/qinghua/javawork/Hanlp/hanlp-1.2.7.jar:/home/qinghua/javawork/Hanlp")
HanLP = JClass('com.hankcs.hanlp.HanLP')
# 中文分詞
print(HanLP.segment('你好,歡迎在Python中調用HanLP的API'))
testCases = [
"商品和服務",
"結婚的和還沒有結婚的確實在干擾分詞啊",
"買水果真後來世博園最後去世博會"]
for sentence in testCases: print(HanLP.segment(sentence))
# 命名實體識別與詞性標註
NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
print(NLPTokenizer.segment('中國科學院計算技術研究所的宗成慶教授正在教授天然語言處理課程'))
# 關鍵詞提取
document = "水利部水資源司司長陳明忠9月29日在國務院新聞辦舉行的新聞發佈會上透露," \
"根據剛剛完成了水資源管理制度的考覈,有部分省接近了紅線的指標," \
"有部分省超過紅線的指標。對一些超過紅線的地方,陳明忠表示,對一些取用水項目進行區域的限批," \
"嚴格地進行水資源論證和取水許可的批准。"
print(HanLP.extractKeyword(document, 2))
# 自動摘要
print(HanLP.extractSummary(document, 3))
# 依存句法分析
print(HanLP.parseDependency("徐先生還具體幫助他肯定了把畫雄鷹、松鼠和麻雀做爲主攻目標。"))
shutdownJVM()
須要注意的是ubuntu的路徑分割符爲」:」,而window 爲」 ; 」
另附hanlp調用常見問題集:
github.com/hankcs/HanLP/issues?page=3&q=is%3Aissue+is%3Aopen
做者:imperfect00