00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _SUMMARIZER_HPP
00013 #define _SUMMARIZER_HPP
00014
00015 #include <stdlib.h>
00016 #include <vector>
00017 #include <string>
00018 #include "Passage.hpp"
00019
00020 using std::vector;
00021 using std::string;
00022
00023 namespace lemur
00024 {
00025 namespace summarization
00026 {
00027 #define PSG_LEN 15
00028
00033 class Summarizer {
00034
00035 public:
00036 virtual ~Summarizer();
00037
00039 virtual void summDocument(const string &docID, const int optLen, const string &qInfo) = 0;
00040
00042 virtual void scorePassages(const string &qInfo) = 0;
00043
00045 virtual void markPassages(int optLen, const string &qInfo) = 0;
00046
00048 virtual void addPassage(Passage &psg) = 0;
00049
00051 virtual void clear(void) = 0;
00052
00054 virtual int fetchPassages(Passage* psgs, int optLen) const = 0;
00055
00057 virtual int nextPassage(Passage* psg) const = 0;
00058
00060 virtual void iterClear(void) const = 0;
00061
00063 virtual void outputSumm(void) const = 0;
00064
00066 static const string EOS;
00067
00068 };
00069 }
00070 }
00071
00072 #endif