我同意你所说的分母问题,ICTCLAS的做法欠妥。现在我改为:
\hat p(w_t\mid w_{t-1})=\lambda\left[\mu \frac{c(w_{t-1}w_t)}{c(w_{t-1})+1}+1-\mu \right]+(1-\lambda)\frac{c(w_t)}{N} \tag{3.2}
我对上述公式的改动已经可以达到这个准确率了,本着从简的原则,就不进一步改动了。谢谢你的钻研精神,把这个经验公式变得更有经验了。
我同意你所说的分母问题,ICTCLAS的做法欠妥。现在我改为:
我对上述公式的改动已经可以达到这个准确率了,本着从简的原则,就不进一步改动了。谢谢你的钻研精神,把这个经验公式变得更有经验了。
看到你們的精神真令人敬佩。
com.hankcs.hanlp.model.hmm.HiddenMarkovModel
/**
* 采样
*
* @param cdf 累积分布函数
* @return
*/
protected static int drawFrom(double[] cdf)
{
return -Arrays.binarySearch(cdf, Math.random()) - 1;
}
这个方法没有考虑Arrays.binarySearch返回正数的情况,虽然出现的概率很低。
建议改为如下实现:
protected static int drawFrom(double[] cdf)
{
int index = Arrays.binarySearch(cdf, Math.random());
if (index >= 0) {
return index;
} else {
return -index - 1;
}
}
谢谢,这样的确严谨一些。
P86,Python实现的代码中,是否少了一句话:
JString=JClass(‘java.lang.String’)