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

相关文章
相关标签/搜索