2017-06-16 9 views
1

API.aiのプリビルドパッケージを使用すると、長いインテントリストを簡単に取得できます。現在私は約100の意図を持ったsmalltalkパッケージを利用しようとしており、それぞれに対応しています。botbuilderでapi.aiインテントを使用する

私はapi-ai-recognizerパッケージを使用してインテントをリッスンしています。それはうまくいきますが、今ではこれらのインテントと一致させる必要があるため、ダイアログを定義することができます(フルフィルメントを使用するだけです)。そして、これが私が困っているところです。これはどのようにmatches作品のマニュアルに従って理にかなって

{"score":1, 
"intent":"smalltalk.greetings.how_are_you", 
"entities": [ 
    { 
    "entity":"Lovely, thanks.", 
    "type":"fulfillment", 
    "startIndex":-1, 
    "endIndex":-1, 
    "score":1 
    }, 
    { 
    "entity":false, 
    "type":"actionIncomplete", 
    "startIndex":-1, 
    "endIndex":-1, 
    "score":1 
    } 
]} 

intents = IntentDialog({recognizers: [apiairecognizer(CLIENT_TOKEN)]}) 
intents.matches('smalltalk', smalltalk_handler) // No luck 
intents.matches(/smalltalk/, smalltalk_handler) // No luck 
intents.onDefault(default_handler) 

default_handlerで、私はargsをキャプチャします。 しかし、それは私が実際に明示的にすべての単一の意図をコピーすることなく、テントの完全なリストを使用する方法がわからないことを意味してい

だけで、明確にするために私は、正確な意図を使用する場合:。

intents.matches('smalltalk.greetings.how_are_you', smalltalk_handler) 

私は素晴らしい応答を受け取ります:Lovely, thanks.

何か提案がありますか?

答えて

0

これまでのところ、api-ai-recognizerを変更して、そのバージョンに遭遇するたびにsmalltalkをインテントとして戻すようにしています。この方法では、インテントダイアログは1つのインテントのみを認識する必要があります。それらは同じ方法で処理されるため、この時点では問題になりません。

関連する問題