私は約1500のドキュメントのコレクションを持っています。各ドキュメントを解析し、トークンを抽出しました。これらのトークンはハッシュマップに (キーとして) 保存され、コレクション内で発生する合計回数 (頻度) が値として保存されます。
逆索引を作成するには、これを拡張する必要があります。つまり、用語(キー)| 発生するドキュメントの数 -->DocNo|そのドキュメントの頻度。たとえば、
Term DocFreq DocNum TermFreq
data 3 1 12
23 31
100 17
customer 2 22 43
19 2
現在、私はJavaで以下を持っています、
hashmap<string,integer>
for(each document)
{
extract line
for(each line)
{
extract word
for(each word)
{
perform some operations
get value for word from hashmap and increment by one
}
}
}
このコードに基づいて構築する必要があります。逆インデックスを実装する良い方法が思いつきません。ここまでで、value を 2D 配列にすることを考えました。したがって、用語がキーになり、値 (つまり、2D 配列) に docId と termFreq が格納されます。
私の論理が正しいかどうか教えてください。