我为测试语料库构建了一个三元模型,我想计算其最大似然估计值。
假设我们有以下文字:
text = "The white fox, The white fox, the black fox."
它的三元组将是:(The white fox), (white fox The), (fox The white) ...
要做到这一点,我将不得不计算所有出现的让我们说'白'然后所有出现的三卦以'狐狸'结尾,然后是'白色','黑色'等等。
除了迭代所有三元组,分割它们并读取它们的内容以查看它们是否是我当前迭代所需的内容之外,还有更好的方法吗?
我知道nltk,但这是出于学习目的,我宁愿看看自己是如何完成的。
答案 0 :(得分:0)
简而言之,我会说不。迭代每个三元组可能看起来很费力且效率低下但是如果你想要从给定的概率生成文本,这是至关重要的。在我个人看来,我建议使用二元系统,因为很难用三元组生成任何可行的东西。除非使用非常好的数据源,否则我认为使用简单的双概率方法可以获得更好的结果。想一想你想要实现什么,以及你是否拥有三元组系统所需的资源