summaryrefslogtreecommitdiff
path: root/training/crf/cllh_observer.h
blob: 0de47331112df08c9956c53302fa6eecbebaaa91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef _CLLH_OBSERVER_H_
#define _CLLH_OBSERVER_H_

#include "decoder.h"

struct ConditionalLikelihoodObserver : public DecoderObserver {

  ConditionalLikelihoodObserver() : trg_words(), acc_obj(), cur_obj() {}
  ~ConditionalLikelihoodObserver();

  void Reset() {
    acc_obj = 0;
    trg_words = 0;
  }
 
  virtual void NotifyDecodingStart(const SentenceMetadata&);
  virtual void NotifyTranslationForest(const SentenceMetadata&, Hypergraph* hg);
  virtual void NotifyAlignmentForest(const SentenceMetadata& smeta, Hypergraph* hg);

  unsigned trg_words;
  double acc_obj;
  double cur_obj;
  int state;
};

#endif