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 LSAFLOAT_THESAURUS_H
00025 #define LSAFLOAT_THESAURUS_H
00026
00027 #include "SortedSubIndex.tcc"
00028 #include "Triplef_tfd.h"
00029 #include "ElementFloatIndex.tcc"
00030 #include "FileName.h"
00031 #include "CSCTriple_matrix.tcc"
00032
00033
00056 class LSAFloatThesaurus : public ElementFloatIndex<SortedSubIndex<WordSubIndex> >
00057 {
00058 public:
00059
00061 LSAFloatThesaurus(int totalWords, BlockStats *stats,
00062 SortedSubIndex<WordSubIndex> *index,
00063 FileName *fileName, int eigenvalues);
00064 ~LSAFloatThesaurus(void);
00065
00066 bool calculateRow(int currentRealWord);
00067 int listRealPosition(int position);
00068 int indexRealPosition(int position);
00069
00070
00071 private:
00072 int _elements;
00073 int _eigenvalues;
00074 float **_eigenvectors;
00075 float *_eigenvalueList;
00076
00077 Quantise *createQuantiser(float lower, float upper);
00078 };
00079
00080 #endif