Модель телефона с тремя состояниями HMM и вероятность перехода

Я прочитал этот вопрос модель телефона с 3 состояниями в Hidden Marov Model (HMM)

и я понял, что означает 3-состояние, но все еще не понимаю, почему матрица перехода сделана с (состояние +2)*(состояние + 2) матрицы.

Это то, что я получил. У меня есть данные о 21 телефонах.

    #define N_STATE     3
    #define N_PDF       10
    #define N_DIMENSION 39

    typedef struct {
      float weight;
      float mean[N_DIMENSION];
      float var[N_DIMENSION];
    } pdfType;

    typedef struct {
      pdfType pdf[N_PDF];
    } stateType;

    typedef struct {
      char *name;
      float tp[N_STATE+2][N_STATE+2];
      stateType state[N_STATE];
    } hmmType;

    hmmType phones[] = {
      { "f", // HMM
        { // transition probability
  { 0.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000 },
  { 0.000000e+000, 8.519424e-001, 1.480576e-001, 0.000000e+000, 0.000000e+000 },
  { 0.000000e+000, 0.000000e+000, 7.039050e-001, 2.960950e-001, 0.000000e+000 },
  { 0.000000e+000, 0.000000e+000, 0.000000e+000, 5.744837e-001, 4.255163e-001 },
  { 0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000 }
},
{
  {{// state 1
    { // pdf 1
      8.379531e-002,
      { -1.100132e+001, -1.507629e+000, 5.286411e+000, 5.901514e+000, 1.883457e+000, 2.984173e-001, -2.267562e+000, -1.421130e+000, -2.029700e+000, -8.125367e-001, -5.360930e-001, -2.711542e+000, 5.227489e+001, -5.095788e+000, -1.696621e+000, -7.312185e-001, 1.086982e+000, 1.082798e+000, 6.809577e-001, 9.642316e-001, 1.288318e+000, 2.270788e+000, 9.616309e-001, 3.370467e-001, 5.757959e-001, -9.360286e-001, 5.963516e-001, -5.518724e-001, -6.216772e-001, -1.133040e+000, -1.055158e+000, -2.527018e-001, -5.493749e-001, -8.677255e-002, -4.314532e-001, 4.211203e-002, 1.891589e-001, -1.295372e-001, 2.562751e-001 },
      { 2.583579e+001, 1.714888e+001, 1.768794e+001, 1.732637e+001, 1.677207e+001, 2.317034e+001, 1.957299e+001, 1.885118e+001, 1.923330e+001, 1.748584e+001, 1.841182e+001, 1.546110e+001, 2.689937e+001, 2.333710e+000, 2.154598e+000, 5.479347e+000, 5.589773e+000, 4.148128e+000, 3.470205e+000, 3.396770e+000, 3.723966e+000, 4.144585e+000, 3.967475e+000, 3.933262e+000, 2.597734e+000, 1.499691e+000, 5.463322e-001, 4.699343e-001, 6.001114e-001, 6.452432e-001, 5.413819e-001, 6.319258e-001, 6.051217e-001, 6.727058e-001, 7.212463e-001, 7.243521e-001, 6.977258e-001, 5.134848e-001, 2.294584e-001 }
    ...

Я знаю, что в структуре hmmType есть переходная матрица.

1) Но почему [N_STATE+2][N_STATE+2] не [N_STATE] [N_STATE]?

2) Означает ли это вероятность перехода с одного телефона на другой? Тогда как я могу использовать его, чтобы узнать вероятность перехода от 'f' к 't'?

3) или просто из одного штата в другой штат в одном телефоне?

4) и если это правильно, как я могу получить вероятность перехода с одного телефона на другой телефон?(Ex 'f' -> 't') Как я понял Если я хочу сделать распознавание речи с помощью алгоритма Витерби, мне нужны вероятности перехода с телефона на другой телефон, но я даже не уверен, что эти данные содержат это или нет. Должен ли я обучать его по данным?

1 ответ

1) Но почему [N_STATE+2][N_STATE+2] не [N_STATE][N_STATE]?

Программист, написавший этот код, решил написать так, но в целом это не самый простой подход, он мог бы просто объявить N_STATE как 5.

2) Означает ли это вероятность перехода с одного телефона на другой? Тогда как я могу использовать его, чтобы узнать вероятность перехода от 'f' к 't'?

Эта вероятность перехода кодируется в словаре или в языковой модели, а не в акустической модели.

3) или просто из одного штата в другой штат в одном телефоне?

да

4) и если это правильно, как я могу получить вероятность перехода с одного телефона на другой телефон?(Ex 'f' -> 't') Как я понял Если я хочу сделать распознавание речи с помощью алгоритма Витерби, мне нужны вероятности перехода с телефона на другой телефон, но я даже не уверен, что эти данные содержат это или нет. Должен ли я обучать его по данным?

Вы можете обучить его на основе данных, которые часто называют моделью фонетического биграмма и используются в оценках TIMIT.

Другие вопросы по тегам