1 // Machine Translation model 2
2 // Copyright © 2009 The University of Chicago
3 #ifndef CMTMODEL2NORM_H
4 #define CMTMODEL2NORM_H
9 typedef QMap
<int, double> IntToDouble
;
10 typedef QMap
<int, IntToDouble
*> IntToIntToDouble
;
17 int m_sentenceNormChunk
;
18 bool m_getTfromModel1
;
20 // alignment parameters.
22 QMap
<int, QMap
<int, double>*> m_T
;
23 /// Here, we use different idea,
24 /// we normalize the len of a sentence to m_sentenceNormChunk.
25 /// Also, the A is [language2][language1],
26 /// this is different from T !! Discuss to do ?
27 QMap
<int, QMap
<int, double>*> m_A
;
28 QMap
<int, QMap
<int, double>*> m_softCountOfT
;
29 QMap
<int, QMap
<int, double>*> m_softCountOfA
;
30 QMap
<int, double> m_lamdaT
;
31 QMap
<int, double> m_lamdaA
;
33 // construction/destruction.
35 cMTModel2Norm(cMT
* driver
, int iterations
, bool from_model1
);
36 virtual ~cMTModel2Norm();
38 // disable default-construction, copy
41 cMTModel2Norm(const cMTModel2Norm
& x
);
42 cMTModel2Norm
& operator=(const cMTModel2Norm
& x
);
45 void addSoftCountOfTandA(int);
47 void clearSoftCounts();
50 void releaseSoftCounts();
55 #endif // CMTMODEL2NORM_H