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:
authorHieu Hoang <fishandfrolick@gmail.com>2012-05-31 20:24:06 +0400
committerHieu Hoang <fishandfrolick@gmail.com>2012-05-31 20:24:06 +0400
commit4eef94b1217a82eb979242dd3e06d8a4b6255e6e (patch)
treebab044ee77c9bf699954ea789078f4c885d66723 /phrase-extract/tables-core.h
parentc3d4615fc012a5ad5b33a2b587df31064e0ec82b (diff)
move c++ code out of /script/ to /
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