2017-01-19 1 views
0

LUIS私はIntentが検出され、そのために3つの異なるEntitiesを設定しました。たとえば、アプリケーションに関するユーザーの問題を検出するためのボットを作成しようとしています。したがって、ユーザがUnable to Open Androidと入力したとき、私はFind_IssueEntitiesを1と設定しました。Product 2. Issue 3. Error。しかしUnable to Open Androidにはエラーコードが含まれていないため私は唯一2 entitiesProduct & Issueです。今私はErrorの値を取得したい場合は、エラーがない場合はnoneとして保存されます。ここ はTaskコードはBotFramework:1つのインテントに対して複数のエンティティを処理する方法は?

[LuisIntent("Find_Issue")] 
    public async Task getIssue(IDialogContext context, LuisResult result) 
    { 
     EntityRecommendation getProduct; 
     EntityRecommendation getIssue; 
     EntityRecommendation getError; 
     if(result.TryFindEntity("Product",out getProduct)) 
     { 
      chatdetails.issuedetails.product = getProduct.Entity; 

     } 
     if (result.TryFindEntity("Issue", out getIssue)) 
     { 
      chatdetails.issuedetails.issue = getIssue.Entity; 
     } 
     if (result.TryFindEntity("Error", out getError)) 
     { 
      chatdetails.issuedetails.error = getError.Entity; 
     } 

    } 

chatdetails.issuedetailsこれまでのところ、私はさらに進行する方法を得ていないのです、Productの値を格納するために作成したクラスされIssueError です。

+0

あなたのルイスエージェントは、より多くのトレーニングが必要です。 –

+0

ユーザのステートメントに 'Error'に関連するものが含まれていなければ、それは取得できませんが、' error entitiy'が見つからない場合、ユーザに 'error'関連の質問を求めるべきです。 –

+0

@saikatmukherjee Train 'Find Intent'をもっと列挙し、エンティティがない場合は、フォームフローを使用して、ユーザーからの' error'関連の質問の答えを得ることができます –

答えて

0

LUISでインテントを定義するときに、アクションパラメータを定義することもできます。アクションパラメータは、パラメータ名、エンティティタイプ、プロンプト、および必須かどうかで構成されます。

enter image description here

BotFramework Nugetパッケージの最新バージョンを使用している場合次に、あなたのLuisDialogは、自動的に(エラー・エンティティとのシナリオのように)必要なパラメータが不足していることを検出し、自動的にのためにプロンプ​​トを起動しますアクションパラメータで定義されたメッセージを使用して、パラメータを返します。

アクションパラメータに関するこのようなことの技術的な詳細については、this threadを確認してください。

関連する問題