AmazonのAlexa、NuanceのMix、およびFacebookのWit.aiはすべて同様のシステムを使用して、テキストコマンドをインテントに変換する方法、つまりコンピューターが理解できるものを指定する方法を指定しています。これの「正式な」名前が何であるかはわかりませんが、「意図認識」と呼んでいます。基本的に、「ライトを50%の明るさに設定してください」からに進む方法lights.setBrightness(0.50)
です。
それらが指定される方法は、インテントに関連付けられ、オプションで「エンティティ」(基本的にパラメータ)の場所でタグ付けされた「サンプル発話」のリストを開発者に提供することです。Wit.aiの例を次に示します。
私の質問は、これらのシステムはどのように機能するのですか?それらはすべて非常に類似しているので、私はそれらすべてが使用するいくつかの精巧な仕事があると思います。誰か知っていますか?
興味深いことに、Houndifyは正規表現に似た別のシステムを使用しています["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") . ["please"]
。私はそれが彼らの音声認識システムのビーム検索に統合されていると思いますが、Alexa、Wit.ai、Mixは別々のSpeech-> TextおよびText-> Intentシステムを持っているようです。
編集:出発点- 非公式の音声コマンドによる人間とロボットの相互作用のメカニズムを見つけました。これは、潜在セマンティック分析と呼ばれるものを使用して発話を比較します。私はそれについて読みます。少なくともそれは私に引用ネットワークの出発点を与えました。
編集2: LSAは基本的に、テキストの各段落で使用されている単語(Bag of Words)を比較しています。この場合、単語の順序が完全に失われるため、どのようにうまく機能するかわかりません。おそらく、これらの種類のコマンドでは、単語の順序はそれほど重要ではありません。
編集3: 非表示のトピックマルコフモデルは、興味深いかもしれないように見えます。