我可以问一些关于执行绝对折扣的问题吗?谢谢你的帮助!
我的毕业设计是关于n-gram语言模型的,我尝试了绝对折扣。我参考了page上的公式
f(a_z) = (c(a_z) - D) / c(a_)
p(a_z) = (c(a_z) > 0) ? f(a_z) : bow(a_) p(_z)
bow(a_) = (1 - Sum_Z1 f(a_z)) / (1 - Sum_Z1 f(_z))但是,我的程序打印的退避权重结果与ngram-count生成的ARPA文件不同。我认为这是由于我对公式的误解造成的。我是这样理解的。假设计算bow(a,b):
bow(ab) = (1 - Sum_Z1 f(abz)) / (1 - Sum_Z1 f(bz)) = (N(ab) / C(ab)) / (N(b) / C(b))其中N(ab)表示像'abc‘和'abd’这样的唯一n元语法的数量。
我说的对吗?当涉及到弓(A)时,由于'a‘中没有后缀,如何计算分母?
提前感谢!
发布于 2020-04-08 22:55:08
我已经找到了我自己问题的关键因素。这就是鼓励!这就是答案:
发布的公式是错误的
bow(ab) = (1 - Sum_Z1 f(abz)) / (1 - Sum_Z1 f(bz)) = (N(ab) / C(ab)) / (N(b) / C(b))正确的答案是
bow(ab) = (1 - Sum_Z1 f(abz)) / (1 - Sum_Z1 f(bz)) = (N(ab) * D / C(ab)) / (1 - Sum_Z1 f(bz))https://stackoverflow.com/questions/61053345
复制相似问题