词向量(Term Vector) 的数据信息(.tvx,.tvd,.tvf) 格式如下:
词向量信息是从索引(index)到文档(document)到域(field)到词(term)的正向信息,有了词向量信息,我们就可以得到一篇文档包含那些词的信息。
1.词向量索引文件(tvx)
1)一个段(segment)包含 N篇文档,此文件就有N 项,每一项代表一篇文档。
2)每一项包含两部分信息:第一部分是词向量文档文件(tvd)中此文档的偏移量,第二部分是词向量域文件(tvf)中此文档的第一个域的偏移量。
2. 词向量文档文件(tvd)
1)一个段(segment)包含 N 篇文档,此文件就有 N 项,每一项包含了此文档的所有的域的信息。
2) 每一项首先是此文档包含的域的个数 NumFields,然后是一个 NumFields 大小的数组,数组的每一项是域号。然后是一个(NumFields - 1)大小的数组,由前面我们知道,每篇文档的第一个域在 tvf 中的偏移量在 tvx文件中保存,而其他(NumFields - 1)个域在 tvf 中的偏移量就是第一个域的偏移量加上这(NumFields - 1)个数组的每一项的值。
3.词向量域文件(tvf)
1)此文件包含了此段中的所有的域,并不对文档做区分,到底第几个域到第几个域是属于那篇文档,是由 tvx中的第一个域的偏移量以及 tvd中的(NumFields - 1)个域的
偏移量来决定的。
2) 对于每一个域,首先是此域包含的词的个数NumTerms,然后是一个8 位的 byte,最后一位是指定是否保存位置信息,倒数第二位是指定是否保存偏移量信息。然后
是 NumTerms个项的数组,每一项代表一个词(Term),对于每一个词,由词的文本TermText,词频 TermFreq(也即此词在此文档中出现的次数),词的位置信息,词的
偏移量信息。