Microsoftボットフレームワークを使用してライブラリボットを開発しています。マイクロソフトボット - 同じ回答のループも入力が異なる
私は「私はJavaの本を必要とする」検索すると私たちは
Intent : BookSearch
Entiry : BookName, BookAuthor
、それはjavaは "実体であることを理解し、その他の詳細とJavaの本を提供しています。
私はJavaの本の詳細を受け取った後、私は本を発行したいので、私は "私は本のJavaを発行する"と尋ねるとき、ここでそれは矛盾し、ループに入る。
私たちはこのシナリオでお手伝いしますが、私たちの質問ではどのように異なる状況を決定できますか?
コード:私たちが要求したときここ
[LuisIntent("BookSearch")]
public async Task BookSearch(IDialogContext context, LuisResult result)
{
if (result.Entities.Any())
{
DBConnect dbConnect = new DBConnect();
string combindedString = string.Empty;
string mysqlQuery = string.Empty;
foreach (var item in result.Entities)
{
switch (item.Type.ToString())
{
case "BookAuthor":
break;
case "BookName":
break;
case "BookIssue":
break;
default:
break;
}
}
}
else
{
await context.PostAsync("Which book are you searching.");
context.Wait(MessageReceived);
}
}
BookNameとBookIssueは実体があり、 だから=>これは、書籍の詳細を提供するために、BookNameエンティティに行くべき「私はJavaの本を必要とします」。 私は "Issue me java book"と尋ねると、書式を発行するためにBookIssueエンティティに入るべきです。事前に
おかげ
コード例が役に立ちます。 – Svekke
@Svekke、私はコードを追加する質問を編集しました –
@PareshBijarane本の発行が起こるはずのインテントにコードを投稿できますか? – artie