00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef THESAURUS_TEMPLATE_H
00025 #define THESAURUS_TEMPLATE_H
00026
00027 #include "SortedSubIndex.tcc"
00028 #include "Triplef_tfd.h"
00029 #include "ElementFloatIndex.tcc"
00030 #include "FileName.h"
00031 #include "WeightBM25.tcc"
00032
00053 class FloatThesaurus : public ElementFloatIndex<SortedSubIndex<WordSubIndex> >
00054 {
00055 public:
00056
00058 FloatThesaurus(int totalWords, BlockStats *stats,
00059 SortedSubIndex<WordSubIndex> *index,
00060 FileName *fileName, int eigenvalues, int iterations);
00061 ~FloatThesaurus(void);
00062
00063 bool calculateRow(int currentRealWord);
00064 int listRealPosition(int position);
00065 int indexRealPosition(int position);
00066 Quantise *createQuantiser(float lower, float upper);
00067
00068 private:
00069 int _elements;
00070 int _eigenvalues;
00071
00072
00073 };
00074
00075 #endif