音声入力の解釈の問題-どのように機能するか

「コールセンターと妄想のためのロシア語の音声認識」および「サポートサービスの「電子少女」であるエレナ の出版物の足跡とそれらへのコメントで、私は対話システムで音声入力を解釈する問題をどのように解決するかを伝えることにしました。



開始するために、プロトタイプと対話の開発インターフェイスからの短いビデオを紹介しましょう。この記事専用に撮影されました。 Megaphoneの公開に関するコメントに基づいて撮影されました(可能であれば、720以上の解像度で参照)。







このシステムでは、予備的な準備は必要ありません。ビデオから、「オンザフライ」でダイアログを作成してテストすることが明らかであることを願っています。



ダイアログ作成のアプローチの主な違い



まず、ダイアログデザイナに、フレーズの発音オプションの可能なすべての組み換えをリストするように強制しません。 検索は、意味的に近い単語や表現が近くにある意味空間で実行されます。 ビデオはこのことをよく示しています-「ダブリンにはローミングはありません」と言ったが、「非稼働」、「ローミング」、「アイルランド」という言葉を使用した。 または、「あなたの名前は何ですか」と尋ねましたが、「あなたの名前」と書きました。 システムは安定した表現をよく認識します。たとえば、「モバイルオペレータ」という表現は「モバイルオペレータ」という表現に非常に近いです。 形態学的に豊富な言語の場合、比較される式を正規化します。



第二に、システムは純粋なWYSIWYGです。 クライアントは、対話設計者が聞くことを正確に聞きます。 コードはすべてのバージョンで同じです。 変更の市場投入までの時間は、文字通り秒単位で計算されます。 たとえば、プロバイダーにルーターがある場合、顧客に状況を説明する新しい質問と回答をその場で追加できます。



第三に、対話の「深さ」と反対方向の両方で質問をすることができます。 つまり 明確な「現在の状態」(「はい」または「いいえ」など)がなく、いつでも質問をすることができるライブコミュニケーションを模倣しようとします。



4番目に、現在のコンテキストを維持します。 つまり 2つのブランチに同じ質問、たとえばSMSのコストがあり、「雨の関税でのSMSのコスト」の精神で何かを尋ねた場合、明確な質問を尋ねることができます-「そして、レインボーの関税で?」、本質的には質問に相当します「レインボー料金でのSMSのコスト。」



どのように機能しますか?



  1. サポートされている言語ごとに、ベクトルセマンティックモデル-教師なし単語表現を構築します。 非常に一般的で確立されたアプローチ。 永続的な表現は、個々の単語とともに訓練されます。 現時点では、意味によって単語を複数のプロトタイプに分割していません-どういうわけか手が届かず、ダイアログシステムでは、使用されるドメインの数は通常、野生よりもはるかに少なくなっています。
  2. ユーザー指定の質問(「標準質問」と呼びます)を含むグラフは、ベクトルのセットに変換されます。
  3. 質問ごとに、比較的単純な優先順位ヒューリスティックを使用して、ベクトルの適切な組み合わせを探します。 この段階では、以前の質問に基づいて現在のコンテキストを考慮し、質問を「詳細な」階層と比較します。


そして、このような比較的単純なスキームは、大きなグラフでも非常にうまく機能します。 一般に、適切な構造化アプローチにより、このようなスキームで持続可能な対話を構築することは非常に簡単です。



主な問題のうち、音声認識の問題に注目したいと思います。 対話システムの場合、私たちの意見では、音声をテキストにデコードし、その後のテキスト形式での処理は、言葉の一時停止やイントネーションなどの重要な詳細が失われるため、不利です。



セマンティックプロセッサのプラグインとして機能し、音声を直接セマンティックベクトルにデコードするASRを現在開発しているのはそのためです。 このようなスキームの利点の1つは、適応文法を使用できることです。 実際、対話システムは、どの辞書を理解しているかを常に知っています。 したがって、仮説ツリーの成長と戦うための自然な手段、したがって認識の不正確さを伴うのは、特定の辞書(文法)の優先順位付けです。 しかし、そのような文法は、明らかに実用的ではない対話システムのために、まだ何千もの単語を含んでいるでしょう。 さらに、手動での構築の難しさ。 また、形態学的に豊かな言語の場合...



適応文法では、これらの目的でセマンティック言語モデルを使用します。 予想される単語の1つが、たとえば「価格」という単語である場合、「値」という単語も適切であることは明らかです。 または「関税」という言葉。 一般に、適切な「標準的な質問」を見つけるのと同じアプローチが使用されます。



言語処理は未来ですか?



言語に対する私たちの現在のアプローチは、人々が「理解する」という意味で、「言語を理解する」ことではないことを認識する価値があります。 ベクトルセマンティックモデルは、私たちには思われますが、このプロセスの一部を非常にうまくモデル化しています。



これまでに、Zellig Harrisによって作成された言語の一般理論への数学的アプローチの実験を開始しました。 おそらくあなたの何人かは彼の演算子文法の理論に触発されるでしょう。 特に対話システムのコンテキストでは、非常に興味深いようです。



私たちが実験しているもう1つの分野は、サポートされているすべての言語の単一の意味空間です。 実際には、これは互いに互換性のあるセマンティックモデルを意味します。 つまり ベクトル形式への変換後、テキスト表現の元の言語にはまったく関係ありません。 したがって、たとえば、ドキュメントの言語ではなく、自分にとって便利な言語を使用してドキュメントを検索できます。



対話システムの開発の観点から、単一のセマンティック空間では、「標準的な問題」を一度だけ指定できます。 つまり たとえば、システムはロシア語で応答しますが、ベラルーシ語の話者からの質問を理解できます。



練習する



しかし、実際には、突然ベータ版を使用したい場合は、 tridemax @ sapiensapi.comに手紙を送ってください。システムにアクセスできます。 ツールボックスからは、Chromeブラウザーのみが必要です。 回答に多少の遅れがある場合は、事前に申し訳ありません。お気に入りのサーバーを殺さないように、特定のキューを並べる必要があります。



All Articles