自然語言處理工具hanlp自定義詞彙新增圖解

adnb34g發表於2019-01-27


過程分析

1. 新增新詞需要確定無快取檔案,否則無法使用成功,因為詞典會優先載入快取檔案

2. 再確認快取檔案不在時,開啟本地詞典按照格式新增自定義詞彙。

3. 呼叫分詞函式重新生成快取檔案,這時會報一個找不到快取檔案的異常,不用管,因為載入詞典進入記憶體是會優先載入快取,快取不在當然會報異常,然後載入詞典生成快取檔案,最後處理字元進行分詞就會發現新新增的詞彙可以進行分詞了。

操作過程圖解:

1 有快取檔案的情況下 :

1  System.out.println(HanLP.segment(" 張三丰在一起我也不知道你好一個心眼兒啊,一半天歡迎使用 HanLP 漢語處理包! " +" 接下來請從其他 Demo 中體驗 HanLP 豐富的功能 ~"))

  2

3  // 首次編譯執行時, HanLP 會自動構建詞典快取,請稍候……

4  //[ /q, 三豐 /nz, /p, 一起 /s, /rr, /d, /d, 知道 /v, 你好 /vl, 一個心眼兒 /nz, /y, /w, 一半天 /nz, 歡迎 /v, 使用 /v, HanLP/nx, 漢語 /gi, 處理 /vn, /v, /w, 接下來 /vl, /v, /p, 其他 /rzv, Demo/nx, /f, 體驗 /v, HanLP/nx, 豐富 /a, /ude1, 功能 /n, ~/nx]

  5

  6

1.  開啟使用者詞典 –新增 ‘張三丰在一起’ 為一個 nz 詞性的新詞

 

2.2 原始快取檔案下執行–會發現不成功,沒有把 ‘張三丰在一起’ 分詞一個 nz 詞彙

1  System.out.println(HanLP.segment(" 張三丰在一起我也不知道你好一個心眼兒啊,一半天歡迎使用 HanLP 漢語處理包! " +" 接下來請從其他 Demo 中體驗 HanLP 豐富的功能 ~"))

    2

3  // 首次編譯執行時, HanLP 會自動構建詞典快取,請稍候……

4  //[ /q, 三豐 /nz, /p, 一起 /s, /rr, /d, /d, 知道 /v, 你好 /vl, 一個心眼兒 /nz, /y, /w, 一半天 /nz, 歡迎 /v, 使用 /v, HanLP/nx, 漢語 /gi, 處理 /vn, /v, /w, 接下來 /vl, /v, /p, 其他 /rzv, Demo/nx, /f, 體驗 /v, HanLP/nx, 豐富 /a, /ude1, 功能 /n, ~/nx]

     5

 

3.1 刪除快取檔案 bin

 

3.2 再次執行程式,此時會報錯—無法找到快取檔案

1  System.out.println(HanLP.segment(" 張三丰在一起我也不知道你好一個心眼兒啊,一半天歡迎使用 HanLP 漢語處理包! " +" 接下來請從其他 Demo 中體驗 HanLP 豐富的功能 ~"));

    2

3  /** 首次編譯執行時, HanLP 會自動構建詞典快取,請稍候……

4   十月 19, 2018 6:12:49 下午 com.hankcs.hanlp.corpus.io.IOUtil readBytes

5  WARNING: 讀取 D:/datacjy/hanlp/data/dictionary/custom/CustomDictionary.txt.bin 時發生異常 java.io.FileNotFoundException: D:\datacjy\hanlp\data\dictionary\custom\CustomDictionary.txt.bin ( 系統找不到指定的檔案。 )    找不到快取檔案

    6

    7

8  [ 張三丰在一起 /nz, /rr, /d, /d, 知道 /v, 你好 /vl, 一個心眼兒 /nz, /y, /w, 一半天 /nz, 歡迎 /v, 使用 /v, HanLP/nx, 漢語 /gi, 處理 /vn, /v, /w, 接下來 /vl, /v, /p, 其他 /rzv, Demo/nx, /f, 體驗 /v, HanLP/nx, 豐富 /a, /ude1, 功能 /n, ~/nx]

    9

10  */  

 


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

相關文章