Ansj分词双数组Trie树实现与arrays.dic词典格式

http://www.hankcs.com/nlp/ansj-word-pairs-array-tire-tree-achieved-with-arrays-dic-dictionary-format.html

arrays.dic是一个双数组Trie树格式的词典,用文本的形式储存了索引,字串,base,check,status与词性。

一个直观的图示:

index就是base数组中的下标。

term是词的当前状态,不一定代表一个词,如“一举一”是“一举一动”的前缀。

base是base数组的值。代表字串的当前状态,其实就是字串一路按base[tx] = base[t] + x查过来的值。比如base[一举一动] = base[一举一] + code(动)。特别地,如果字串长度为1的话(字符),那么base值就是字符的双字节码。

check是check数组的值。check是用来验证这个词是从哪个状态转换过来的。比如是由转换过来的。base[105540] + 21160 = 126700.

status是term的成词状态:1:继续 2:是个词语但是还可以继续 3:确定。参考

nature是这个词以这些词性出现的频次。

转载请注明:码农场 » Ansj分词双数组Trie树实现与arrays.dic词典格式

posted @ 2014-11-04 10:58  Django's blog  阅读(552)  评论(0编辑  收藏  举报