Machine learning Intents(機械学習インテント)
Intentとは、特定されたユーザーの意図(例えば、ユーザーが何を望んでいるか)のコレクションです。
ユーザー入力はすべての例文に対してスコアリングされ、Cognigy.AIは設定されたしきい値を超えている場合、最も高いスコアを持つIntentをこの入力のIntentとして識別します。
NLUモデルのビルド
ビルドメニューは、Flowエディタの [NLU ]タブにあります。NLUモデルのビルドが必要なFlowは、FlowのリストおよびFlowエディタの[NLU]タブで、名称の横に赤いインジケータが表示されます。
アタッチFlowとしてのみ処理される Flowは、個別にビルドする必要はありません(感嘆符は無視できます)。アタッチFlowのビルドによって、アタッチFlowのIntentが取り込まれ、そこでビルドが行われるからです。Intentマッピングで個別に使用されるFlowは、個別にビルドする必要があります。
Cognigy NLUでは、Intentマッピングモデルを事前にビルドする必要があります。
モデルをビルドするには、Flowエディタの[Intents]タブに移動し、青色の[Build Model(モデルのビルド)]ボタンをクリックします。
新しいタスクが開始され、回転するタスクアイコンはモデルビルドが進行中であることを示します。新しいモデルがビルドされる間、最新バージョンのFlowは直近に学習されたモデルにフォールバックします。
ビルドに成功すると、緑色の成功通知が表示されます。ビルドが失敗する可能性もあり、その場合は赤色のエラー通知が表示されます。エラーメッセージを展開すると、ビルドを正常に完了するために例文データを追加する必要がある場合など、詳細が表示されます。
モデルデータに調整が加えられた場合、その変更を反映させるためにNLUモデルを再ビルドする必要があります。また、次のような操作を行った場合にも、モデルをビルドする必要が生じます(「Build Model」アイコンの横に赤い感嘆符が表示されます):
- Intentを作成、編集、削除する。
- Lexiconのアタッチ
- Lexiconの編集
- Flowのアタッチとデタッチ
クイックビルド
v4.10で追加
[Build Model(モデルのビルド)] ボタンの矢印をクリックすると、[Quick Build(クイックビルド)] オプションが選択できます。このオプションは、StatesやIntent Conditionsの指定を含まないIntentの機械学習モデルをビルドし、モデルのビルドを大幅に加速します。
StatesやIntent Conditionsを使用しない場合、通常のBuild Modelオプションを使用してもQuick Buildオプションを使用しても、学習速度(ボタンをクリックしてからCognigy.AIがモデルをビルドするまでの時間)とモデルの品質は変わりません。
例文
これにより、制作者はバーチャルエージェントにカスタマイズされた独自の理解レベルを追加することができ、エンドユーザが受信したメッセージに知能的に反応することができるようになります。
各Intentは最大2000の例文を含むことができますが、最小5、最大100を推奨します。これらの文は、Intentをアクティブにするために想定される、幅広いユーザー入力である必要があります。総合的な例文リストを作成することは、スマートAIサービスを構築するプロセスにおいて非常に重要なステップです。
例文を入力するときは、TABキーまたはENTERキーを使用して次のNLU例文フィールドに移動できます。
繰り返しの回避
例えば、I want to order Pizza(ピザを注文したい)、I want to order Pasta(パスタを注文したい)…というように、異なるエンティティ名に対して同じような文を書くのではなく、文に注釈を付けられるようなLexiconを作成し、Flowにアタッチします。
前述のとおり、NLUモデルが十分に学習されるように、Intentごとに例文を最低5、最高100を推奨します。最小しきい値に達しない場合、または最大しきい値を超える場合は、例文を追加または削除するようユーザーに促す警告アイコンが表示されます。
5つ未満の例文でIntentを学習させようとすると、ビルドが完了した時点でネガティブフィードバックインジケータが表示されます。
Intentの例文は、できるだけ明瞭で独自性がある必要があります。他のIntentとの類似性や重複が多すぎると、Intentマッピングが予測しにくくなり、設定されている場合は、Intent確認文が頻繁にトリガーされるようになります。
例文の評価
Cognigy.AIが例文の評価表方法の詳細については、[Intent Analyzer()インテントアナライザー]ページをご覧ください。
v4.17.0で追加
When you hover over an example sentence, a Delete Icon will appear. Clicking on this will delete the c例文にカーソルを合わせると、削除アイコンが表示されます。これをクリックすると、対応する例文フィールドが削除されます。
キーボードで例文を削除する
キーボード操作のみでは、例文の削除アイコンにアクセスできません。しかし、キーボードのみのユーザーは、DeleteキーまたはBackspaceキーでフィールドをクリアするだけで、例文を削除することができます。
生成AIで例文を作成する
生成AI技術を使って Intentの例文を作成するには、[Generative AI(生成AI)]の記事をご覧ください。
SlotとLexicon
例文を作成する際、注釈機能を使って文の構成にSystem Slotsや アタッチLexiconを追加することができます。
似たような項目(例えば、ピザ=FOOD、ケーキ=FOOD)でLexiconを設定した場合、両方に似たような文章を入力する必要はありません。例えば、「I want to order some FOOD(FOODを注文したい)
」のように、カスタムLexiconのキーフレーズを認識するための注釈を設定する一般的な文を作成します。
SlotまたはLexiconとしてマッピングする単語をハイライトし、テキストフィールドの右端にある+をクリックすると、[Annotations(注釈)]メニューが開きます。注釈メニューには、ハイライトされた単語にマッピングするスロットのタイプを選択するためのオプションが用意されています。
例文の注釈
例文にSlotとLexiconを認識させる方法については、[Annotations(注釈)] ページをご覧ください。
しきい値
Intentは3つのしきい値のいずれかに分類されます:
- Confirmed(確認済み) Intentのスコアは信頼度しきい値より高く、「確認済み」とみなされます。
- Reconfirmation Needed(再確認が必要) Intentのスコアは再確認のしきい値より高いが、 信頼度しきい値より低く、システムによる再確認が必要です。
- Not found(見つかりませんでした) Intent のスコアが再確認のしきい値より低く、この入力に対して有効な結果とは見なされません。
これらのしきい値は、[Agent Settings (エージェント設定)]で変更できます。
確認文
機械学習Intentに確認文を定義していない場合、再確認しきい値はIntentを確認するために使用されます。
そのため、再確認しきい値は確認文の有無によって2つの異なる方法で使用されます:
・確認文あり:再確認しきい値は再確認文をトリガーします。
・確認文なし:再確認しきい値は入力を確認します。
確認文と再確認
あるIntentが「Reconfirmation Needed
」 としてマークされ、その Intentが最上位に見つかった場合、Cognigy AI はそのIntentの確認文
プロパティで設定された質問をユーザーに尋ねます。ユーザーが肯定的な回答で質問を確認した場合、Cognigy AI はこのユーザーの回答を記憶し、再度ユーザーに質問することはありません。
再確認の仕組み
ユーザー: “軽食を注文したいです。”
Cognigy AIは0.7でIntent「orderPizza 」をスコアリングします。
Cognigy AI: “ピザを注文したいということですか?”
ユーザー: “はい”
Cognigy AIはユーザーが “ピザを注文したいです。”と言っているかのように文を実行し、今後のためにこの確認を記憶します。