我想找到某种类型的包或模块(最好是 Python 或 Perl,但其他人会这样做)从输入文本自动生成 n-gram 概率,并且还可以自动应用一种或多种平滑算法。
也就是说,我正在寻找类似 NLTKNgramModel类的东西。我不能将它用于我的目的,因为平滑函数存在一些错误,当您询问它以前从未见过的单词的概率时,它会使其窒息。
我已经阅读了 NLTK 的开发论坛,到目前为止似乎没有任何进展。
有什么替代品吗?
我在R中生成了以下直方图:

我使用此hist()调用生成它:
hist(x[,1], xlab='t* (Transition Statistic)',
ylab='Proportion of Resamples (n = 10,000)',
main='Distribution of Resamples', col='lightblue',
prob=TRUE, ylim=c(0.00,0.05),xlim=c(1725,max(x[,1])+10))
Run Code Online (Sandbox Code Playgroud)
加上以下内容abline():
abline(v=1728,col=4,lty=1,lwd=2)
Run Code Online (Sandbox Code Playgroud)
该垂直线表示测试统计的实际位置,我将其与置换样本的结果进行比较.
我的问题是:正如你所看到的,x标度不会延伸回垂直线.我真的很想这样做,因为我觉得它看起来很奇怪.我怎样才能做到这一点?
我已经尝试过该xaxs="i"参数,该参数无效.我也试过制作自己的轴,axis()但是这需要从头开始重新制作两个轴,结果对我来说看起来不那么好.所以,我怀疑必须有一个更简单的方法来做到这一点.在那儿?而且,如果没有,任何人都可以建议什么axis()命令可以正常工作,假设我希望一切看起来基本相同,但是x规模更长?