1. 程式人生 > >在Python中呼叫Java擴充套件包HanLP測試記錄

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

 

最近在研究中文分詞及自然語言相關的內容,關注到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() 這一操作)