Как указать, использовать 2 грамма вместо 1 грамма в формате ARPA - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу, чтобы некоторые 1 грамм использовались только для 2 грамм.Имея как в 1-граммовом слове «OPEN» или «CLOSE», так и в 2-граммовом «OPEN DOOR» «CLOSE WINDOW», и если вы говорите только «OPEN», ничего не показывается, но если вы говорите «OPEN DOOR», совпадение появляется,Есть какая-нибудь форма для этого?Некоторые задают символ в ARPA или, возможно, устанавливают некоторые вероятности со значением?

Это для языковой модели, которую я создаю, для использования ее с voice_recognition pocketsphinx в python, в простом чат-боте, который я создаю сам.Я попытался изменить вероятность "ОТКРЫТЬ" и "ЗАКРЫТЬ", установив их как "-100.0000", и, таким образом, они не появляются, когда я говорю только "ОТКРЫТО" или "ДВЕРЬ" и появляется в "ДВЕРИ ОТКРЫТО",«ОКНО ЗАКРЫТЬ», «ЗАКРЫТЬ ДВЕРЬ» и «ОКНО ОТКРЫТЬ», но опции «ОТКРЫТЬ ДВЕРЬ», «ОТКРЫТЬ ОКНО» и т. Д. Не отображаются

\data\
ngram 1=4
ngram 2=8

\1-grams:
-0.6990 OPEN     -0.2553
-0.6990 CLOSE -0.3776
-0.6990 DOOR     -0.2553
-0.6990 WINDOW -0.3776

\2-grams:
-1.2553 OPEN DOOR
-0.2553 OPEN WINDOW
-1.2553 CLOSE DOOR
-0.2553 CLOSE WINDOW
-1.2553 DOOR OPEN
-0.2553 WINDOW OPEN
-1.2553 DOOR CLOSE
-0.2553 WINDOW CLOSE
\end\

Если я говорю «ОТКРЫТЬ» или «ЗАКРЫТЬ»«результат должен быть ничем, но если я скажу« ОТКРЫТЬ »+« ОКНО »/« ДВЕРЬ »(и другие комбинации), то результат должен быть 2-граммовым соответствием

...