summaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorredpony <redpony@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-09-29 21:06:33 +0000
committerredpony <redpony@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-09-29 21:06:33 +0000
commit446fde8f67d4ad8c2699a8e9327a8988c3380723 (patch)
treed0e968a2dbb84dab205f6df17c6ffab1331fd55f /decoder
parent252d628d38b792acbd98e2f74e129994cc9fe3b4 (diff)
move model 1 code
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@665 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder')
-rw-r--r--decoder/Makefile.am1
-rw-r--r--decoder/ttables.cc31
-rw-r--r--decoder/ttables.h87
3 files changed, 0 insertions, 119 deletions
diff --git a/decoder/Makefile.am b/decoder/Makefile.am
index a6dbfca4..bf368c6d 100644
--- a/decoder/Makefile.am
+++ b/decoder/Makefile.am
@@ -55,7 +55,6 @@ libcdec_a_SOURCES = \
earley_composer.cc \
phrasetable_fst.cc \
trule.cc \
- ttables.cc \
ff.cc \
ff_lm.cc \
ff_ruleshape.cc \
diff --git a/decoder/ttables.cc b/decoder/ttables.cc
deleted file mode 100644
index 2ea960f0..00000000
--- a/decoder/ttables.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "ttables.h"
-
-#include <cassert>
-
-#include "dict.h"
-
-using namespace std;
-using namespace std::tr1;
-
-void TTable::DeserializeProbsFromText(std::istream* in) {
- int c = 0;
- while(*in) {
- string e;
- string f;
- double p;
- (*in) >> e >> f >> p;
- if (e.empty()) break;
- ++c;
- ttable[TD::Convert(e)][TD::Convert(f)] = prob_t(p);
- }
- cerr << "Loaded " << c << " translation parameters.\n";
-}
-
-void TTable::SerializeHelper(string* out, const Word2Word2Double& o) {
- assert(!"not implemented");
-}
-
-void TTable::DeserializeHelper(const string& in, Word2Word2Double* o) {
- assert(!"not implemented");
-}
-
diff --git a/decoder/ttables.h b/decoder/ttables.h
deleted file mode 100644
index 3ffc238a..00000000
--- a/decoder/ttables.h
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef _TTABLES_H_
-#define _TTABLES_H_
-
-#include <iostream>
-#include <map>
-
-#include "wordid.h"
-#include "prob.h"
-#include "tdict.h"
-
-class TTable {
- public:
- TTable() {}
- typedef std::map<WordID, double> Word2Double;
- typedef std::map<WordID, Word2Double> Word2Word2Double;
- inline const prob_t prob(const int& e, const int& f) const {
- const Word2Word2Double::const_iterator cit = ttable.find(e);
- if (cit != ttable.end()) {
- const Word2Double& cpd = cit->second;
- const Word2Double::const_iterator it = cpd.find(f);
- if (it == cpd.end()) return prob_t(0.00001);
- return prob_t(it->second);
- } else {
- return prob_t(0.00001);
- }
- }
- inline void Increment(const int& e, const int& f) {
- counts[e][f] += 1.0;
- }
- inline void Increment(const int& e, const int& f, double x) {
- counts[e][f] += x;
- }
- void Normalize() {
- ttable.swap(counts);
- for (Word2Word2Double::iterator cit = ttable.begin();
- cit != ttable.end(); ++cit) {
- double tot = 0;
- Word2Double& cpd = cit->second;
- for (Word2Double::iterator it = cpd.begin(); it != cpd.end(); ++it)
- tot += it->second;
- for (Word2Double::iterator it = cpd.begin(); it != cpd.end(); ++it)
- it->second /= tot;
- }
- counts.clear();
- }
- // adds counts from another TTable - probabilities remain unchanged
- TTable& operator+=(const TTable& rhs) {
- for (Word2Word2Double::const_iterator it = rhs.counts.begin();
- it != rhs.counts.end(); ++it) {
- const Word2Double& cpd = it->second;
- Word2Double& tgt = counts[it->first];
- for (Word2Double::const_iterator j = cpd.begin(); j != cpd.end(); ++j) {
- tgt[j->first] += j->second;
- }
- }
- return *this;
- }
- void ShowTTable() {
- for (Word2Word2Double::iterator it = ttable.begin(); it != ttable.end(); ++it) {
- Word2Double& cpd = it->second;
- for (Word2Double::iterator j = cpd.begin(); j != cpd.end(); ++j) {
- std::cerr << "P(" << TD::Convert(j->first) << '|' << TD::Convert(it->first) << ") = " << j->second << std::endl;
- }
- }
- }
- void ShowCounts() {
- for (Word2Word2Double::iterator it = counts.begin(); it != counts.end(); ++it) {
- Word2Double& cpd = it->second;
- for (Word2Double::iterator j = cpd.begin(); j != cpd.end(); ++j) {
- std::cerr << "c(" << TD::Convert(j->first) << '|' << TD::Convert(it->first) << ") = " << j->second << std::endl;
- }
- }
- }
- void DeserializeProbsFromText(std::istream* in);
- void SerializeCounts(std::string* out) const { SerializeHelper(out, counts); }
- void DeserializeCounts(const std::string& in) { DeserializeHelper(in, &counts); }
- void SerializeProbs(std::string* out) const { SerializeHelper(out, ttable); }
- void DeserializeProbs(const std::string& in) { DeserializeHelper(in, &ttable); }
- private:
- static void SerializeHelper(std::string*, const Word2Word2Double& o);
- static void DeserializeHelper(const std::string&, Word2Word2Double* o);
- public:
- Word2Word2Double ttable;
- Word2Word2Double counts;
-};
-
-#endif