日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hanlp中自定义词典的配置、引用以及问题解决

發布時間:2024/7/19 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hanlp中自定义词典的配置、引用以及问题解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 如何閱讀本文?
  • Hanlp用戶自定義詞典引用簡介
  • 操作步驟
    • 環境創建
    • 編輯詞典文件
    • 將用戶自定義詞典路徑加入配置文件
    • 刪除緩存文件

如何閱讀本文?

  • 首先我們對Hanlp用戶詞典進行簡介,推薦首先閱讀鏈接文章,它是本文的第一來源;
  • 環境配置方面分為幾個步驟,每個需要動手操作的步驟都用黑體加粗顯示,依據這些步驟你完全可以將用戶自定義詞典創建完成,但是我們建議將分析部分仔細看一看,加深理解;
  • 對每一個步驟出現的問題我們都進行了解釋并提供了解決方案,如果你是為了解決問題來到的本文,可以使用Ctrl+F查找你想解決的問題,很有可能就在文章中;
  • 僅供參考,感謝來到這里─=≡Σ(((つ??ω??)つ;
  • Hanlp用戶自定義詞典引用簡介

    考完六級的我回來了~
    在之前的文章中,提到了Hanlp用戶自定義詞典的作用和詳細信息,傳送門:Hanlp之理解用戶自定義詞典(java版本)那篇文章的源代碼分析還沒寫
    光說不練假把式,今天我們一步一步來配置一個自定義詞典并在分詞中使用它;(Java版本)

    操作步驟

    環境創建

  • java項目:在IDE中創建一個java項目,將hanlp-jar和hanlp-sources-jar引入到項目(Build Path),當我們第一次使用時將sources包attach到項目,就可以查看源代碼了,否則是無法查看的;同時將Hanlp的配置文件導入到classpath(放入項目文件的bin目錄下即可,我們一會要著重操作這個配置文件);
  • Hanlp文件:我們在第一步已經導入了兩個包,同時將配置文件加入到了classpath,我們還需要在Hanlp根目錄下任意位置創建一個詞典文件,我們這里以txt格式為例。
  • 問題1:我的詞典文件應該創建在哪里呢?任意位置都可以嗎? 答:我們希望你將文件創建在Hanlp配置文件聲明的根目錄下,你如果仔細觀察配置文件的話會發現Hanlp 的地址規則,原文如下: #本配置文件中的路徑的根目錄,根目錄+其他路徑=完整路徑(支持相對路徑,請參考:https://github.com/hankcs/HanLP/pull/254) #Windows用戶請注意,路徑分隔符統一使用/ 緊接著一行就是你配置的根目錄:root 所以,最好將文件創建在根目錄下。 同時注意,windows OS用戶的分隔符請使用 "/",不要轉義。

    至此,我們就將環境創建好了。

    編輯詞典文件

    我們知道了詞典內部數據的組織方式,我們也要按照這個方式來進行加載,在應用時我們經常通過流操作來寫入數據,由于這次演示的數據量比較小,我們直接輸入。

  • 進入編輯器,我們編輯詞典文件:我創建了一個名稱為 我的詞典.txt 的詞典文件,在里面,我定義了一個開斯卡名詞和一個子庫啊動詞,顯然,這兩個在現有語料庫中沒有任何意義的詞是不太可能分到一起的,當我們需要將這兩個詞分到一起時就可以將他們加入詞典;
  • 問題2:開斯卡和子庫啊兩個詞在分詞時一定會分到一起嗎? 答:還是不一定,為什么“還是”,請看鏈接文章解釋。這兩個詞在分詞時會有很大概率在一起,但不是一定 ,當你充分了解后果后,可以使用 Segment #enableCustomDictionaryForcing 強制分詞 問題3:我應該如何編輯文件?格式是什么? 答:輸入單詞,同時加入詞性和出現頻率,詞性和頻率不是必須項,省略會使用默認值,默認值我們會在稍后 介紹;詞性表請見 http://www.hankcs.com/nlp/part-of-speech-tagging.html#h2-8 單詞之間請使用制表符或者空格隔開(這意味著單詞之間不允許出現空格);

  • 保存文件,注意,一定要將文件保存為UTF-8編碼,Hanlp使用UTF-8編碼;
  • 將用戶自定義詞典路徑加入配置文件

  • 路徑配置規則
    (1)#本配置文件中的路徑的根目錄,根目錄+其他路徑=完整路徑(支持相對路徑,請參考:https://github.com/hankcs/HanLP/pull/254)
    #Windows用戶請注意,路徑分隔符統一使用/
    (2)#自定義詞典路徑,用;隔開多個自定義詞典,空格開頭表示在同一個目錄,使用“文件名 詞性”形式則表示這個詞典的詞性默認是該詞性。優先級遞減。
  • 操作:
    首先確定根目錄,根目錄是data目錄的父目錄;
    然后將詞典移動至父目錄下的任意一個位置(創建時就在請忽略此步);
    在CustomDictionaryPath后追加字典位置,值為絕對路徑-root路徑,比如我的詞典文件路徑是 F:\java學習\Hanlp\data\dictionary\custom\我的詞典.txt,而root是F:\java學習\Hanlp\,所以我應該在最后寫入data\dictionary\custom\我的詞典.txt;
    如果創建的詞典文件和已有的詞典在一個目錄,在上一目錄分號后輸入一個空格,直接追加文件名稱即可
  • 刪除緩存文件

    在配置完畢后,我們一定要刪除之前加載字典時產生的緩存文件,比如下圖中的CustomDictionary.txt.bin文件就是上次產生的緩存文件,我們將他刪除;

    問題4 我們為什么要刪除緩存文件? 答:Hanlp首次加載詞典/模型會發生一個自動緩存的過程,自動緩存的目的是為了加速詞典載入速度,在下次 載入時,緩存的詞典文件會帶來毫秒級的加載速度。 如果我們不刪除這個文件,Hanlp會直接使用緩存進行分詞,不會應用新的改變,手動刪除后,再次加載會 重新緩存,這是我們的自定義詞典就會加載到緩存了。 注意:字典刪除加入詞語時不用重新創建緩存。

    總結

    以上是生活随笔為你收集整理的Hanlp中自定义词典的配置、引用以及问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。