00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 class CXMLElement;
00027
00050 #ifndef _CINVERTEDFILEACCESSOR
00051 #define _CINVERTEDFILEACCESSOR
00052 #include "libGIFTAcInvertedFile/include/uses-declarations.h"
00053 #include <string>
00054 #include "libMRML/include/TID.h"
00055 #include "libMRML/include/CAccessor.h"
00056 #include "libGIFTAcInvertedFile/include/CDocumentFrequencyList.h"
00057 #include <iostream>
00058 #include <fstream>
00059 #include <map>
00060 #include <vector>
00061 #ifdef HAS_HASH_MAP
00062 #include <hash_map>
00063 #else
00064 #define hash_map map
00065 #endif
00066
00067 #include <functional>
00068 #include <algorithm>
00069
00070 #include "libMRML/include/CMagic.h"
00071
00072
00073 typedef TID TFeatureID ;
00074
00081 class CAcInvertedFile:public CAccessor{
00082
00083 public:
00085 virtual bool operator()()const =0;
00086
00090 virtual string IDToURL(TID inID)const =0;
00091
00093 virtual pair<bool,TID> URLToID(const string& inURL)const =0;
00094
00111 virtual CDocumentFrequencyList* FeatureToList(TFeatureID inFID)const =0;
00112
00114 virtual CDocumentFrequencyList* URLToFeatureList(string inURL)const =0;
00115
00117 virtual CDocumentFrequencyList* DIDToFeatureList(TID inDID)const =0;
00118
00131
00132
00136 virtual double FeatureToCollectionFrequency(TFeatureID)const =0;
00137
00139 virtual unsigned int getFeatureDescription(TID inFeatureID)const =0;
00141
00145 virtual double DIDToMaxDocumentFrequency(TID)const =0;
00146
00148 virtual double DIDToDFSquareSum(TID)const =0;
00149
00151 virtual double DIDToSquareDFLogICFSum(TID)const =0;
00153
00154
00156
00159 virtual bool generateInvertedFile() =0;
00160
00163 virtual bool checkConsistency() =0;
00164
00166
00174 virtual list<TID>* getAllFeatureIDs()const =0;
00175 };
00176
00177 #endif