我找到了教程,其中使用Brown集群实现了基于类的LM,只传递了您想要的类数,但是我希望实现一个基于类的模型,在这个模型中,我首先给出类分配。我试过这个http://projects.csail.mit.edu/cgi-bin/wiki/view/SLS/SriLM。但这给了LM中所有的纳克-99。这方面的文件很少,有人能帮我吗?
发布于 2018-05-08 21:05:38
我以前也这么做过,但那是几年前的事了。让我看看我能不能为你回溯这些步骤。
第一步是创建指定类的文件。它应该有三列。首先是类id,然后是给定类的单词的概率,最后是单词。
下一步是用它们的类is替换训练数据中的所有单词。您可以使用SRILM replace-words-with-classes脚本,也可以编写自己的脚本。
现在,您使用ngram-count训练语言模型,就像对常规的非类n格模型一样。
对于计算,您只需指定语言模型和类文件。
ngram -ppl test_data.txt -lm class.lm -classes class_definition_file.txthttps://stackoverflow.com/questions/50233608
复制相似问题