在Python中呼叫Java擴充套件包HanLP測試記錄

adnb34g發表於2018-12-12


最近在研究中文分詞及自然語言相關的內容,關注到 JAVA環境下的HanLP,HanLP是一個致力於向生產環境普及NLP技術的開源Java工具包,支援中文分詞(N-最短路分詞、CRF分詞、索引分詞、使用者自定義詞典、詞性標註),命名實體識別(中國人名、音譯人名、日本人名、地名、實體機構名識別),關鍵詞提取,自動摘要,短語提取,拼音轉換,簡繁轉換,文字推薦,依存句法分析(MaxEnt依存句法分析、神經網路依存句法分析)。

由於自己才疏學淺,對 JAVA方面瞭解不多,所以打算在Python環%2, line 5, in <module>

startJVM(getDefaultJVMPath())

File “C:\Python27\lib\site-packages\jpype\_core.py”, line 44, in startJVM

_jpype.startup(jvm, tuple(args), True)

RuntimeError: First paramter must be a string or unicode at src/native/python/jpype_module.cpp:31

很有可能是沒有配置 JDK的環境變數或安裝的JDK的位數與Python的位數不一致。導致 getDefaultJVMPath()  方法返回的是 None。

下載 HanLP

1 你可以直接下載 Portable版的jar,零配置。

2 也可以使用自定義的 HanLP——HanLP由3部分組成:類庫hanlp.jar包、模型data包、配置檔案hanlp.properties,請前往專案主頁下載最新版:github.com/hankcs/HanLP/releases。對於非portable版,下載後,你需要編輯配置檔案第一行的root指向data的父目錄。

這裡,假設新建了一個目錄(假定為 C:\hanlp),把hanlp.jar和hanlp.properties(portable版的話,僅需一個hanlp-portable.jar)放進去。

Python呼叫

以下是我的測試:(使用的是 Python,與Python3 相比多了 .toString() 這一操作)

 

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

相關文章