本文整理汇总了C++中Vocabulary::getWordID方法的典型用法代码示例。如果您正苦于以下问题:C++ Vocabulary::getWordID方法的具体用法?C++ Vocabulary::getWordID怎么用?C++ Vocabulary::getWordID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vocabulary
的用法示例。
在下文中一共展示了Vocabulary::getWordID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: computeLexicalTranslation
double computeLexicalTranslation( PHRASE &phraseS, PHRASE &phraseT, PhraseAlignment *alignment ) {
// lexical translation probability
double lexScore = 1.;
int null = vcbS.getWordID("NULL");
// all target words have to be explained
for (size_t ti=0; ti<alignment->alignedToT.size(); ++ti) {
const set<size_t>& srcIndices = alignment->alignedToT[ti];
if (srcIndices.empty())
// explain unaligned word by NULL
lexScore *= lexTable.permissiveLookup(null, phraseT[ti]);
else {
// go through all the aligned words to compute average
double thisWordScore = 0.;
for (set<size_t>::const_iterator p(srcIndices.begin()); p != srcIndices.end(); thisWordScore += lexTable.permissiveLookup(phraseS[*(p++)], phraseT[ti]));
lexScore *= (thisWordScore / srcIndices.size());
}
}
return lexScore;
}