有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Spninx在印度俚语中的准确性很差

我用语音识别来识别所有的单词!st i采用了en us模型,其精度稍低。当俚语是美国人的时候。因为我想识别印度俚语,所以我在模型中使用了En,但它的敏锐度是0%。它在100个单词中没有认出一个。我不知道如何提高准确性,也不知道我的实现是否正确。请告诉我,如果我想用其他方式或如何提高其准确性

我的代码

package spinxtest;

import java.io.File;
  import java.io.FileInputStream;
  import java.io.InputStream;

  import edu.cmu.sphinx.api.Configuration;
  import edu.cmu.sphinx.api.SpeechResult;
  import edu.cmu.sphinx.api.LiveSpeechRecognizer;
  import edu.cmu.sphinx.frontend.util.Microphone;
  import edu.cmu.sphinx.result.Result;
  import edu.cmu.sphinx.result.WordResult;

  public class IndianSlang {

 public static void main(String[] args) throws Exception {
    Configuration configuration = new Configuration();
    configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-in/en-in");
    configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-in/cmudict-en-in.dict");
    configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-in/en-us.lm.bin");
    configuration.setUseGrammar(false);

    LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);

    recognizer.startRecognition(true);
   System.out.println("Start speaking. \n");
    SpeechResult result;
     long timer=0;

while (timer < 2*60*1000) {
 result = recognizer.getResult();
 if (result != null)
        {
            System.out.print("You said: ");
            for (WordResult word : result.getWords())
            {
                if (!word.isFiller())
                    System.out.print(word.getWord() + " ");
            }
            System.out.println();
        }
   else {
            System.out.println("I can't hear what you said.\n");
        }
   }
  recognizer.stopRecognition();
   }
   }

我使用的罐子:

  WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar
   sphinx4-data-5prealpha-20160628.232535-10.jar
  sphinx4-core-5prealpha-20160628.232526-10.jar
  commons-math3-3.0.jar
  ant-contrib-0.6.jar
  js.jar
  junit-4.8.1.jar
  batch.jar
  jsapi-1.0-base.jar
  tags.jar

共 (1) 个答案

  1. # 1 楼答案

    我尝试了同样的方法,但精确度不太好,因为两种型号的音素都不同。您需要做的是在声学模型中为en创建兼容的字典文件和语言模型。为此,请从下面的链接安装g2p-seq2seq并创建自己的。迪克特和。lm。bin文件,然后重试

    g2p-seq2seq github link