arpa格式的ngram模型概率如何计算

常见的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

你可能感兴趣的:(语言模型)