ubuntu下pycharm呼叫Hanlp實踐分享

adnb34g發表於2018-12-14

ubuntu下pycharm呼叫Hanlp 實踐分享

前幾天看了大快的舉辦的大資料論壇峰會的現場直播,驚喜的是 hanlp2.0版本釋出。Hanlp2.0版本將會支援任意多的語種,感覺還是挺好的!不過更多關於hanlp2.0的資訊,可能還需要過一段時間才能看到,只能等一下了!下面分享一篇大神的文章,是關於在ubuntu下使用pycharm呼叫hanlp的實驗。

 

以下為全文:

首先點選 File,選擇Settings,在Project 下點選Project Interpreter,並通過點選右邊的加號:

搜尋 JPype,根據python版本選擇你需要的JPype版本安裝。

之後 ,在https://github.com/hankcs/HanLP/releases

網站下載 hanlp.jar包、模型data包、配置檔案hanlp.properties,新建一個資料夾Hanlp,

hanlp.jar和hanlp.properties放進去 之後需要再新建一個資料夾 hanlp,並將data放進去

修改 Hanlp下的路徑為當前data的路徑,由於我將data放在/home/javawork/hanlp下,因此:root=/home/javawork/hanlp/

 

接下來新建一個檔案 demo_hanlp.py,程式碼如下:

#! /usr/bin/env python2.7

#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日在guo wu yuan 新聞辦舉行的新聞釋出會上透露," \

           "根據剛剛完成了水資源管理制度的考核,有部分省接近了紅線的指標," \

           "有部分省超過紅線的指標。對一些超過紅線的地方,陳明忠表示,對一些取用水專案進行區域的限批," \

           "嚴格地進行水資源論證和取水許可的批准。"

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2285215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章