Nlp 如何在SRILM中实现有监督的基于类的语言模型?

Nlp 如何在SRILM中实现有监督的基于类的语言模型?,nlp,speech-recognition,srilm,Nlp,Speech Recognition,Srilm,我找到了一些教程,其中基于类的LM是使用Brown聚类实现的,只传递了您想要的类数,但我想实现一个基于类的模型,在这个模型中,我首先给出类分配。 我试过这个。但这将为LM中的所有NGRAM提供-99。 关于这方面的文档很少,有人能帮我吗?我以前做过,但那是几年前的事了。让我看看是否可以为您追溯这些步骤 第一步是创建指定类的文件。它应该有三列。首先是类id,然后是给定类的单词的概率,最后是单词 下一步是用它们的类ID替换训练数据中的所有单词。您可以使用SRILM将单词替换为类脚本,也可以编写自己的

我找到了一些教程,其中基于类的LM是使用Brown聚类实现的,只传递了您想要的类数,但我想实现一个基于类的模型,在这个模型中,我首先给出类分配。 我试过这个。但这将为LM中的所有NGRAM提供-99。
关于这方面的文档很少,有人能帮我吗?

我以前做过,但那是几年前的事了。让我看看是否可以为您追溯这些步骤

第一步是创建指定类的文件。它应该有三列。首先是类id,然后是给定类的单词的概率,最后是单词

下一步是用它们的类ID替换训练数据中的所有单词。您可以使用SRILM
将单词替换为类
脚本,也可以编写自己的脚本

现在,您可以使用
ngram count
训练语言模型,就像训练常规非类n-gram模型一样

对于评估,您只需指定语言模型和类文件

ngram -ppl test_data.txt -lm class.lm -classes class_definition_file.txt

我正在执行这些步骤-统一类amiClasses.txt>amiClassesWithProbs.txt用类addone=1 normalize=1 outfile=ami.counts类=amiClassesWithProbs.txt ami-train.txt>amitrainsreplaced.txt ngram count-vocab amiVocabWithClass.txt-order 3-text amitrainsreplaced.txt-lm amiClassBased.srilm ngram-lm amiClassBased.srilm-ppl ami-dev.txt-classes ami.counts我使用每个标记的词性作为类,当我测试这个LM时,与没有基于类的LM的简单3克相比,我的困惑增加了。你知道吗?在课堂上困惑感增加是正常的。通常,为了改善困惑,你必须用一个普通的n-gram lm来插值classlm。哦,非常感谢。