LUIS
私はIntent
が検出され、そのために3つの異なるEntities
を設定しました。たとえば、アプリケーションに関するユーザーの問題を検出するためのボットを作成しようとしています。したがって、ユーザがUnable to Open Android
と入力したとき、私はFind_Issue
とEntities
を1と設定しました。Product
2. Issue
3. Error
。しかしUnable to Open Android
にはエラーコードが含まれていないため私は唯一2 entities
Product
& 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
の値を格納するために作成したクラスされIssue
、Error
です。
あなたのルイスエージェントは、より多くのトレーニングが必要です。 –
ユーザのステートメントに 'Error'に関連するものが含まれていなければ、それは取得できませんが、' error entitiy'が見つからない場合、ユーザに 'error'関連の質問を求めるべきです。 –
@saikatmukherjee Train 'Find Intent'をもっと列挙し、エンティティがない場合は、フォームフローを使用して、ユーザーからの' error'関連の質問の答えを得ることができます –