我正在尝试创建一种向PocketSphinx中添加新关键字的简单方法。我们的想法是拥有一个临时文本文件,可用于(通过脚本)添加自动添加到corpus.txt
,dictionary.dic
和language_model.lm
的单词(或短语)。
目前,最好的方法是使用lmtool,然后用更新的版本替换上述文件。然而,这提出了三个问题:
我希望能够(如果可能的话)使用/创建lmtool的离线版本,该版本从临时文本文件(input.txt
)获取输入并处理它们并将内容打印成三个临时文本文件(dic.txt
,lm.txt
,corp.txt
)。
最后一步是运行一个脚本:
corp.txt
中的输出,并将其添加到corpus.txt
。dictionary.dic
并在dic.txt
中添加任何新单词。language_model.lm
以在lm.txt
中包含新字词。我的问题是,是否有可能获得能够将结果输出到特定文本文件的lmtool的离线版本?我知道有可能自动化lmtool(根据他们的网站),但我希望能够在可能的情况下离线运行该进程。
此外,在我可以作为向导之前,有没有人尝试过这样的事情?
我在树莓派上运行pocketsphinx,我知道它可能无法自行运行lmtool。我的计划是让lmtool在本地服务器上运行,并通过wifi / ethernet与pi同步文件。
任何帮助都将不胜感激。
答案 0 :(得分:2)
你没有多少选择,如果你想在Raspberry Pi本地生成字典和语言模型(至少是2B型)
对于语言模型生成,您可以使用
SRILM(SRI语言模型工具包)
要在Raspbian上编译SRILM,您需要调整一些文件。 看看https://github.com/G10DRAS/SRILM-on-RaspberryPi
对于字典生成,您可以使用
基于TensorFlow的g2p-seq2seq,RaspberryPi不正式支持。有关详细信息,请参阅Installing TensorFlow on Raspberry Pi 3
有关详细信息(用法,如何编译等等),请查看相应工具包的文档。