diff options
| author | Chris Dyer <cdyer@cs.cmu.edu> | 2012-03-09 22:23:50 -0500 | 
|---|---|---|
| committer | Chris Dyer <cdyer@cs.cmu.edu> | 2012-03-09 22:23:50 -0500 | 
| commit | 89d63600524bc042b6c2741d7d67db6a3a74dc8c (patch) | |
| tree | ccec74b3e311084d6d2013e4b3b101e29108ded0 /gi/pf/pyp_tm.h | |
| parent | 0ab9e175f86b3fd02a4a94f350282210aba054e3 (diff) | |
moar
Diffstat (limited to 'gi/pf/pyp_tm.h')
| -rw-r--r-- | gi/pf/pyp_tm.h | 34 | 
1 files changed, 34 insertions, 0 deletions
| diff --git a/gi/pf/pyp_tm.h b/gi/pf/pyp_tm.h new file mode 100644 index 00000000..fa0fb28f --- /dev/null +++ b/gi/pf/pyp_tm.h @@ -0,0 +1,34 @@ +#ifndef PYP_LEX_TRANS +#define PYP_LEX_TRANS + +#include <vector> +#include "wordid.h" +#include "prob.h" +#include "sampler.h" + +struct TRule; +struct PYPWordModel; +template <typename T> struct ConditionalPYPWordModel; + +struct PYPLexicalTranslation { +  explicit PYPLexicalTranslation(const std::vector<std::vector<WordID> >& lets, +                                 const unsigned num_letters); + +  prob_t Likelihood() const; + +  void ResampleHyperparameters(MT19937* rng); +  prob_t Prob(WordID src, WordID trg) const;  // return p(trg | src) +  void Summary() const; +  void Increment(WordID src, WordID trg, MT19937* rng); +  void Decrement(WordID src, WordID trg, MT19937* rng); +  unsigned UniqueConditioningContexts() const; + + private: +  const std::vector<std::vector<WordID> >& letters;   // spelling dictionary +  PYPWordModel* up0;  // base distribuction (model English word) +  ConditionalPYPWordModel<PYPWordModel>* tmodel;  // translation distributions +                      // (model English word | French word) +  const WordID kX; +}; + +#endif | 
