Sphinx4荷兰语语言模型不起作用

时间:2016-10-19 15:21:19

标签: java cmusphinx sphinx4

我刚从短文本文件中创建了一个语言模型。我这样做是为了英语和荷兰语,主要是通过降低可能性来减少识别时间。 我都使用Sphinx工具包和basesphinx lm到二进制转换器创建它们。 荷兰语语言模型可以在这里找到:http://pastebin.com/txkxiAc6 可在此处找到英文版:http://pastebin.com/fr3Epj5b 它们都很小,但英国人认识到它需要识别的一切。

荷兰人使用荷兰语Voxforge包和字典。英语版使用cmusphinx-en-us-8khz-5.2.tar.gz和pocketsphinx的默认字典。

代码是这样的:

cron

对于正确的语言,'language'变量可以设置为荷兰语或英语。英语有效,但荷兰语没有。 我的错误在哪里?我似乎找不到它。

Dutch Acoustic Model文件夹包含以下内容:

Public static main(){
     configuration = new Configuration();
     configuration.setAcousticModelPath("src/main/resources/"+language+"/model");
     configuration.setDictionaryPath("src/main/resources/"+language+"/dict.dict");
     configuration.setLanguageModelPath("src/main/resources/"+language+"/model.lm.bin");
     context = new Context(configuration);
     recognizer = context.getInstance(Recognizer.class);
     recognizer.allocate();

     ----------GET INPUT STREAM AND SEND TO METHOD-------------

      RecognizeText(inputstream,outputstream)
}

private static String RecognizeText(InputStream stream, OutputStream os) throws Exception {
        context.setSpeechSource(stream, TimeFrame.INFINITE);
        Result result;
        while ((result = recognizer.recognize()) != null) {
            SpeechResult speechResult = new SpeechResult(result);
            return speechResult.getHypothesis();
        }
        return "";
    }

1 个答案:

答案 0 :(得分:0)

荷兰模型非常陈旧,5年来一直没有更新。我刚刚在cmusphinx网站上传了一个新模型。

https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Dutch/

它应该更准确,但仍然只有13小时的数据训练。英语模型训练超过1000小时。我们需要更多转录的荷兰数据。