ボットプラットフォームの自然言語処理(NLP)インタープリターは、ユーザーの発話の特定の単語やフレーズを解析し、意味、単語の配置、および追加された修飾子に基づいて平均トーンスコアを提供できます。スコアを使用してユーザー入力の評価を助け、ボットとユーザー間の会話の流れの方向をつかむことができます。たとえばトーンスコアがユーザーが怒っている、または悲しいことを示している場合、ボットの会話をライブエージェントに移行する必要があります。ダイアログタスクではContext
オブジェクトからトーンスコアにアクセスするか、インテリジェンスのセンチメント管理オプションからトリガーされるイベントを構成できます。
トーンタイプ
Kore.aiボットプラットフォームはユーザー入力を評価して、次の6つの考えられる感情を見つけます。
- 怒り
- 嫌悪感
- 恐怖
- 悲しみ
- 喜び
- ポジティブ―発話の一般的な前向きさを評価するために使用される特別なトーン。
ボットプラットフォームトーンアルゴリズムは感情を相互に排他的にしないことにより、ユーザーの発話トーンの微妙な概要を提供します。たとえば入力によっては、恐怖については高いスコアが出て、悲しみについては穏やかなスコアが出る可能性があります。別の入力は悲しみに対してネガティブなスコアを持ちながら、喜びに対して非常に高いスコアをもたらす可能性があります。v8.1以降プラットフォームはユーザーの発話の感情を識別し、それに応じてトーンを設定できます。
感情のトーンをスコアする
ボットプラットフォームは、-3から+3のスケール範囲でトーン感情をスコアリングします。ここで、正の値は前向きなトーンの感情を表し、負の値は抑制されたトーンの感情を表します。正の値の場合感情のトーンは明示的に伝達されますが、負の値は明示的に否定されます。たとえばユーザーの発話では、このニュースが嬉しい場合は喜びに対して正のトーンスコアを返しますが、このニュースが不満の場合は喜びに対して負のスコアを返します。次のスケールはスコアと感情のトーンのポジティブな表現、または感情のトーンのネガティブな抑制のレベルとの関係を示しています。
- +3―ユーザーは確かに感情のトーンを表現しました。
- +2―ユーザーは感情のトーンを表現しました。
- +1―ユーザー多分感情のトーンを表現しました。
- 0―ユーザートーンの感情は中立です。
- -1―ユーザー多分感情のトーンを抑制しました。
- -2―ユーザーは感情のトーンを抑制しました。
- -3―ユーザーは確かに感情のトーンを抑制しました。
トーンスコアについて
全体的なトーンスコアはベーストーン値とトーン修飾子の関数として計算されます。修飾子は一般に、基本トーンスコアを増減するために、感情のトーンの単語を補足する副詞または形容詞です。たとえば非常に失望しているユーザーの発話は、ユーザーの発話が失望している場合よりも、怒りのトーンの感情に対して高いトーンスコアを返します。逆に、失望していないというユーザーの発話は、感情のトーンとトーンスコアを否定的にします。ベーストーンと修飾子の値は、各感情のトーンの最終的なトーンスコアを計算するために使用されます。トーンアナライザは感情のトーンタイプに基づいてすべてのベーストーンをコンパイルし、現在のダイアログタスクノードの各感情のトーンタイプの平均スコアと最後のリセット以降のトーン合計スコアを計算します。トーンの結果は、次のようにContext
オブジェクト変数として返されます。
message_tone
―ダイアログタスクの現在のノードで認識された感情のトーンとスコアの配列。dialog_tone
―ダイアログタスクセッション全体で認識された平均的な感情のトーンとスコアの配列。この値は、各ダイアログセッションの終了時にリセットされます。
各変数には認識された感情のトーンごとにキーと値のペアが入力されます。感情のトーンが検出されない場合、キーと値のペアは返されません。ただしトーンがニュートラルとして認識されると、NLPエンジンはトーンスコア0を返します。Context
オブジェクトのトーン変数にアクセスするときは、正、負、ゼロ、および未定義の結果を処理できる必要があります。
例:
message_tone 0 tone_name : positive level : 2 1 tone_name : disgust level : -2 2 tone_name : angry level : -2 dialog_tone 0 tone_name : angry level : -3 1 tone_name : sad level : -3 2 tone_name : positive level : 3 3 tone_name : joy level : 3
感情のトーンスコアが関連付けられたテスト文の例を次に示します。これは良い考えではないと思いますし、特にあなたの態度のせいで、それがどうして出てきたか納得していません。
dialog_tone 0 tone_name : joy count : 1 level : 0.67 1 tone_name : sad count : 1 level : 0.5 2 tone_name : angry count : 1 level : 0.5
これは素晴らしいアイデアです!私はすでにとても興奮しています。
dialog_tone 0 tone_name : joy count : 1 level : 3 1 tone_name : sad count : 1 level : 2.8 2 tone_name : angry count : 1 level : -3 }
これは面白くてさりげなくよく書かれた本で、よく読みました。しかし、それは物語を終わらせずに途中で放置されているので、少しイライラします。
dialog_tone 0 tone_name : joy count : 1 level : 1.5 1 tone_name : sad count : 1 level : -1.5 2 tone_name : angry count : 1 level : -1
条件付き遷移ステートメントを使用してダイアログタスクのフローを促進するために、トーンスコアにアクセスして使用することができます。たとえば、
if context.message_tone.angry > 2.0 then goTo liveAgent
詳細についてはコンテキストオブジェクトを参照してください。