2017-02-23 14 views
0

私はLUISベースのBot Frameworkを稼働させています。ユーザーが検索を実行できるようにする機能を追加したいと思います。例えば、私が発声するようにユーザーをしたいと思います:LUIS - 任意の検索の目的でワイルドカードを認識するにはどうすればよいですか?

ヘルプは、私はパリで月面着陸

Iの画像のための

または

検索を安いホテルを見つけますユーザーが検索意図を実行していることを認識したいと思います。これは簡単です。困難な部分は、任意の検索語を提供するLUISを設定することです。私はこれらの用語を取り、BingやGoogleの検索(または私自身のAzure Searchのインスタンス)にフィードしたいと思います。 LUISをどのようにして「パリの安いホテル」や「月の上陸」の文字列を私に与えることができますか?

+0

すみませんが、ハードの部分を理解することができませんでした。問題は、ユーザーが入力した正確な文章を取得する方法です。 – artie

+0

さて、私は検索エンジンに送ることができる文の部分を抽出したいだけです。だから文章が「アンティーク車の検索」だったら、単に「アンティーク車」という文字列が必要です。私は残りを望んでいない。 – elabs

答えて

2

私がこれを正しく理解していれば、エンティティはそのためです。あなたは私がパリで月面着陸

のイメージのため

または

検索を安いホテルを見つける

ヘルプとして、このような発話を認識するはずの意図MakeSearchを持っているとしましょう

SearchItemというエンティティを作成し、トレーニングするときにMakeSearch i ntentあなたはSearchItemエンティティとして「パリの安いホテル」「月面着陸の画像」を選択する必要があります。

LuisDialogの内部では、インテントハンドラメソッドでLuisResultからEntityを抽出できます。

あなたは、このコードでできる方法のほんの一例:

result.Entities.FirstOrDefault(e => e.Type == "SearchItem").Entity; 
+0

これは試してみるのは良い考えです。ユーザーが入力したものにマッチするほど柔軟なエンティティを作成できると思いますか? – elabs

+1

十分な訓練があればうまくいくと思います。エンティティの価値はクエリごとに非常に異なるでしょうが、人々が検索する方法は、これを可能にすると思われるパターンに従います。たとえば、モデルを十分に訓練して、コンテキストとテキストを認識するとしたら「検索」または「ヘルプが見つかりました」の後にSearchItemエンティティの一部として扱われます。 – artie

+0

それは完璧だろう。私はこれを試して、報告する。 – elabs

関連する問題