关于Moses的moses.ini格式是否有相关的文档说明?在命令行中运行moses而不带参数时,会返回可用的功能名称,但不会显示其可用的参数。此外,我在手册中没有看到对.ini文件结构的说明。
回答:
主要观点是该文件包含将由翻译模型使用的设置。因此,moses.ini
中的值和选项的文档说明应在Moses功能规范中查找。
以下是我在网上找到的关于moses.ini
的一些摘录。
在Moses Core中,我们有一些详细信息:
7.6.5 moses.ini
所有功能函数都在[feature]
部分中指定。格式应为:* Feature-name key1=value1
key2=value2
….
例如,KENLM factor=0 order=3 num-features=1 lazyken=0 path=file.lm.gz
此外,还有一个关于如何打印moses.ini中提到的所有组件的基本统计信息的提示。
运行脚本
analyse_moses_model.pl moses.ini
这可以用来设置映射步骤的顺序,以避免翻译选项的爆炸,或者只是检查模型组件是否如我们预期的那样大/详细。
在计算语言和教育研究中心(CLEAR)的Wiki中,有一个带有一些文档说明的示例文件:
参数
建议创建一个
.ini
文件来存储所有设置。
input-factors
– 是否使用因子模型mapping
– 在内存中使用语言模型(T)还是直接从硬盘读取文件(G)ttable-file
– 指示源因子数量、目标因子数量、分数数量以及翻译表文件的路径lmodel-file
– 指示用于语言模型的类型(0:SRILM, 1:IRSTLM)、使用因子数量、语言模型的阶数(n-gram)以及语言模型文件的路径
如果这些还不够,还可以在这个页面,查看“解码器配置文件”部分找到另一段描述
[ttable-file]
和[lmodel-file]
部分分别包含指向短语表文件和语言模型文件的指针。你可以忽略这些行上的数字。目前,知道语言模型规范中最后一个数字是n-gram模型的阶数就足够了。配置文件还包含一些功能权重。请注意,
[weight-t]
部分有5个权重,每个权重对应短语表中的一个功能。训练过程创建的
moses.ini
文件在未经修改的情况下无法与你的解码器一起使用,因为它依赖于未编译到我们解码器中的语言模型库。为了使其工作,打开moses.ini文件,并在[lmodel-file]
标题后的下一行找到语言模型规范。这行上的第一个数字将是0
,代表SRILM。将其改为8
,并保持该行的其余部分不变。然后你的配置应该可以工作了。