自然語言處理工具hanlp自定義詞彙添加圖解


過程分析

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詞性的新詞

 圖1.png

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

 圖2.png

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  */  

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章