作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现教程中基于类的 LM 是使用 Brown 聚类实现的,只传递你想要的类数,但我想实现一个基于类的模型,我最初给出类分配。我试过这个 http://projects.csail.mit.edu/cgi-bin/wiki/view/SLS/SriLM .但这会为 LM 中的所有 ngram 提供 -99。关于这方面的文档很少,有人可以帮我吗?
最佳答案
我以前做过,但那是几年前的事了。让我看看是否可以为您追溯这些步骤。
第一步是创建指定类的文件。它应该有三列。首先是类 ID,然后是给定类的那个词的概率,最后是这个词。
下一步是用它们的类 ID 替换训练数据中的所有单词。您可以使用 SRILM replace-words-with-classes
脚本,也可以编写自己的脚本来执行此操作。
现在您可以使用 ngram-count
训练语言模型,就像训练常规非类 n-gram 模型一样。
对于评估,您只需指定语言模型和类文件。
ngram -ppl test_data.txt -lm class.lm -classes class_definition_file.txt
关于nlp - 如何在 SRILM 中实现基于监督类的语言模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50233608/
我是一名优秀的程序员,十分优秀!