HanLP二元核心詞典詳細解析

本文分析:HanLP版本1.5.3中二元核心詞典的存儲與查找。當詞典文件沒有被緩存時,會從文本文件CoreNatureDictionary.ngram.txt中解析出來存儲到TreeMap中,而後構造start和pair數組,並基於這兩個數組實現詞共現頻率的二分查找。當已經有緩存bin文件時,那直接讀取構建start和pair數組,速度超快。數組

3ae6be15fed07c277a26744bd8d948df65743bf4

源碼實現緩存

二元核心詞典的加載spa

二元核心詞典在文件:CoreNatureDictionary.ngram.txt,約有46.3 MB。程序啓動時先嚐試加載CoreNatureDictionary.ngram.txt.table.bin 緩存文件,大約22.9 MB。這個緩存文件是序列化保存起來的。blog

 ObjectInputStream in = new ObjectInputStream(IOUtil.newInputStream(path));源碼

 start = (int[]) in.readObject();io

 pair = (int[]) in.readObject();table

相關文章
相關標籤/搜索