Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'phrase-extract/tables-core.h')
-rw-r--r--phrase-extract/tables-core.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/phrase-extract/tables-core.h b/phrase-extract/tables-core.h
new file mode 100644
index 000000000..1899b4d77
--- /dev/null
+++ b/phrase-extract/tables-core.h
@@ -0,0 +1,66 @@
+// $Id$
+
+#ifndef _TABLES_H
+#define _TABLES_H
+
+#include <iostream>
+#include <fstream>
+#include <assert.h>
+#include <stdlib.h>
+#include <string>
+#include <queue>
+#include <map>
+#include <cmath>
+
+extern std::vector<std::string> tokenize( const char*);
+
+typedef std::string WORD;
+typedef unsigned int WORD_ID;
+
+class Vocabulary
+{
+public:
+ std::map<WORD, WORD_ID> lookup;
+ std::vector< WORD > vocab;
+ WORD_ID storeIfNew( const WORD& );
+ WORD_ID getWordID( const WORD& );
+ inline WORD &getWord( WORD_ID id ) {
+ return vocab[ id ];
+ }
+};
+
+typedef std::vector< WORD_ID > PHRASE;
+typedef unsigned int PHRASE_ID;
+
+class PhraseTable
+{
+public:
+ std::map< PHRASE, PHRASE_ID > lookup;
+ std::vector< PHRASE > phraseTable;
+ PHRASE_ID storeIfNew( const PHRASE& );
+ PHRASE_ID getPhraseID( const PHRASE& );
+ void clear();
+ inline PHRASE &getPhrase( const PHRASE_ID id ) {
+ return phraseTable[ id ];
+ }
+};
+
+typedef std::vector< std::pair< PHRASE_ID, double > > PHRASEPROBVEC;
+
+class TTable
+{
+public:
+ std::map< PHRASE_ID, std::vector< std::pair< PHRASE_ID, double > > > ttable;
+ std::map< PHRASE_ID, std::vector< std::pair< PHRASE_ID, std::vector< double > > > > ttableMulti;
+};
+
+class DTable
+{
+public:
+ std::map< int, double > dtable;
+ void init();
+ void load( const std::string& );
+ double get( int );
+};
+
+#endif