using namespace pinyin;
-const gfloat PhraseLookup::bigram_lambda = LAMBDA_PARAMETER;
-const gfloat PhraseLookup::unigram_lambda = 1 - LAMBDA_PARAMETER;
-
+/*
+const gfloat PhraseLookup::bigram_lambda = lambda;
+const gfloat PhraseLookup::unigram_lambda = 1 - lambda;
+*/
static bool populate_prefixes(GPtrArray * steps_index,
GPtrArray * steps_content) {
}
}
-PhraseLookup::PhraseLookup(FacadePhraseTable2 * phrase_table,
+PhraseLookup::PhraseLookup(const gfloat lambda,
+ FacadePhraseTable2 * phrase_table,
FacadePhraseIndex * phrase_index,
Bigram * system_bigram,
- Bigram * user_bigram){
+ Bigram * user_bigram)
+ : bigram_lambda(lambda),
+ unigram_lambda(1. - lambda)
+{
m_phrase_table = phrase_table;
m_phrase_index = phrase_index;
m_system_bigram = system_bigram;
*/
class PhraseLookup{
private:
- static const gfloat bigram_lambda;
- static const gfloat unigram_lambda;
+ const gfloat bigram_lambda;
+ const gfloat unigram_lambda;
PhraseItem m_cache_phrase_item;
SingleGram m_merged_single_gram;
public:
/**
* PhraseLookup::PhraseLookup:
+ * @lambda: the lambda parameter for interpolation model.
* @phrase_table: the phrase table.
* @phrase_index: the phrase index.
* @system_bigram: the system bi-gram.
* The constructor of the PhraseLookup.
*
*/
- PhraseLookup(FacadePhraseTable2 * phrase_table,
+ PhraseLookup(const gfloat lambda,
+ FacadePhraseTable2 * phrase_table,
FacadePhraseIndex * phrase_index,
Bigram * system_bigram,
Bigram * user_bigram);