自然語言處理之:搭建基於HanLP的開發環境

adnb34g發表於2018-11-09

環境搭建比 FNLP 的簡單,具體參考: https://github.com/hankcs/HanLP

各個版本的下載: https://github.com/hankcs/HanLP/releases

完畢後有一個報錯:

字元型別對應表載入失敗 :

D:/eclipse_workspace/HanLPTest/HanLP/data/dictionary//other/CharType.dat.yes

直接在 D:/eclipse_workspace/HanLPTest/HanLP/data/dictionary//other/ 目錄下新建一個 txt 文件將名稱改為 CharType.dat.yes 即可。

相對比較簡單。

嘗試 HanLP 主要處於各個開源自然語言處理工具包之間的差異,尋找一個適合學習的開源工具包。

 

HanLP 呼叫方法

HanLP 幾乎所有的功能都可以通過工具類 HanLP 快捷呼叫,當你想不起來呼叫方法時,只需鍵入 HanLP. IDE 應當會給出提示,並展示 HanLP 完善的文件。所有 Demo 都位於 com.hankcs.demo 下,比文件覆蓋了更多細節,更新更及時,強烈建議執行一遍。

HanLP 的適用過程中注意的問題:

1 、因為 HanLP 版本更新比較頻繁,所以, jar 原始碼版本需要對應適用,否則原始碼和 jar 中介面呼叫對應不上。

在進行 CRF 分詞過程中報錯 :

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

    at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)

    at java.nio.ByteBuffer.allocate(ByteBuffer.java:335)

    at com.hankcs.hanlp.corpus.io.IOUtil.readBytesFromFileInputStream(IOUtil.java:251)

    at com.hankcs.hanlp.corpus.io.IOUtil.readBytes(IOUtil.java:178)

    at com.hankcs.hanlp.corpus.io.ByteArray.createByteArray(ByteArray.java:47)

    at com.hankcs.hanlp.model.crf.CRFModel.loadTxt(CRFModel.java:89)

    at com.hankcs.hanlp.seg.CRF.CRFSegment.<init>(CRFSegment.java:58)

    at com.hankcs.hanlp.seg.CRF.CRFSegment.<init>(CRFSegment.java:73)

    at test.Main.main(Main.java:56)

 

是因為 CRF 比較耗記憶體,所以出現記憶體不足,所以需要修改一下 VM 的最大記憶體。

選中工程,然後:

 

即可解決。

在原始碼包檔案在 eclipse 中開啟出現亂碼,解決方法:

(必須)首先用 txt 開啟,然後在第一行新增: encoding="utf-8" 即可。

 

轉載自 CrazyNong   的部落格


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

相關文章