常见的arpa格式,3元文法如下:
prob word1 word2 word3 backoff
那么实现代码的时候,如下:
float getBackoff(words, start, end)
{
if(words in arpa){
return 从arpa中取出对应的words的backoff值;
}
return 0;
}
float getProb(words, start, end)
{
if(words in arpa){
return 从arpa中取出对应的words的prob值;
}
return getBackoff(words, start, end -1) + getProb(words, start + 1, end);
}
具体示例,可以参考这篇文章:http://blog.csdn.net/lv_xinmy/article/details/8595561