2017-01-18 1 views
0

私は、ユーザーからの画像入力とテキスト入力を受け付けるC#のボットを組み立てています。私はAIフレームワークとしてLUISを使用して、ダイアログパターンのインテントを決定しています。しかし、両方のタイプの入力が共存できないようです:LUISと添付ファイル。このシナリオで推奨されるパターンがあるかどうかを知りたいと思います。助けてください! :|LUISを使用するダイアログでイメージ入力を処理する正しいフローは何ですか?

答えて

-1

私はより良いパターンを見つけましたが、プラベーンの答えに沿っています。

添付ファイルactivity.Attachments == nullを確認する必要がありますが、さらにRootDialogと呼ばれるものを作成し、その中からすべての会話を送信して会話を他のダイアログに転送する必要があります。

私の場合、LUISをサービスとして継承するダイアログクラスにLUISで処理させたいメッセージを転送します。添付ファイルなどの他のメッセージは、処理される別のダイアログクラスに送信されます。

添付ファイルを取得し、ダイアログコードの中にそれを処理するための別の方法は、添付ファイルのユーザーの入力のためのキャッチャーとしてPromptAttachmentコールを使用することです:

var dialog = new PromptDialog.PromptAttachment(message.ToString(), "Sorry, I didn't get the receipt. Try again please.", 2); 
     context.Call(dialog, AddImageToReceiptRecord); 

乾杯! :)

0

添付ファイルがあるメッセージは、MessageControllerでフィルタリングできます。あなたはMessageControllerで

activity.Attachments == null 
1

を使用して、添付ファイルをチェックすることができ

、あなたは画像/添付ファイルの値

activity.Attachments  

Attachments Properties

await Conversation.SendAsync(activity,() => new RootLuisDialog();  

LuisDialogは、テキストメッセージを処理する得ることができますテキストとは別に、他の全てのものを考慮する例えば、nullパラメータ。しかし、

Prompts.attachment()メソッドは、ユーザーにイメージやビデオのような添付ファイルをアップロードするように求めます。ユーザーの応答はIPromptAttachmentResultとして返されます。

Hereは参考リンクです。

+0

答えてくれてありがとうPraveen!偶然にも私はちょうどいくつかの研究の後で私の同じ質問に答え、同様の結論に達しました。私が追加する唯一のものは、RootDialogsの概念であり、添付ファイルを持つメッセージをactivity.Attachmentプロパティでフィルタリングできることです。 – Dustin

関連する問題