Input(入力)
Input(入力)は短期間のJSONデータオブジェクトで、メッセージがCognigy.AIに送信されるたびに生成されます。
入力オブジェクトには、メッセージが受信された時間やメッセージが送信されたチャネルなど、メッセージに関する一般的な情報が含まれます。選択された Intent、識別されたSlot、その他多くの有用な情報など、NLU Intent マッピングプロセスのより具体的な結果も利用できます。
入力オブジェクトは、AgentのFlowに渡され、次に実行するアクションを決定します。入力の有効期間についての詳細は、[CognigyScript]ページをご覧ください。
インテントのデフォルト返信がフローロジックを上書きする
インテントがデフォルトの返信で設定されている場合、エージェントのフローロジックを上書きし、自動的に返信として配信されます。
プロパティ
v4.45でアップデート
Inputオブジェクトには以下のプロパティがあります(テキスト入力用)。
キー | 説明 |
activeQuestion | このプロパティはオプションです。質問がアクティブな場合の質問実行に関する情報 以下のプロパティが利用可能です: nodeId: 質問ノードのID。 typ: 質問のタイプ lastExecutedAt: 最後の実行のインデックス forgetQuestionThreshold: 質問を忘れるために設定されたしきい値 repromptCount: 再試行の回数 escalationCount: エスカレーションの回数 |
channel | メッセージの受信元チャネル。例えば、Facebookのエンドポイントではfacebookという値になります。 socket、webhook、rest のような一般的なエンドポイントでは、この値を定義できます。このプロパティは、チャネルベースの分析フィルタリングを有効にするために、ODataレコードでも使用できるようになります。 |
conditionalEntrypointWasExecuted | フローが条件ノードで実行された場合にtrueを表示するブール変数 |
currentTime | Cognigy.AIがメッセージを受信した際のタイムスタンプ。 |
data | ユーザー入力にペイロードとして送信されたデータオブジェクト。このオブジェクトは、外部チャネルからの元のリクエストを保存するrequestプロパティを含むことができます。例えば、Facebookのエンドポイントが使用されている場合、input.data.requestにはFacebookからの元のHTTPリクエストコンテンツが含まれます。 |
endpointType | メッセージを受信したエンドポイントのタイプ(Alexa、Facebook(Meta)、Dialogflowなど)。この値は変更できません。 |
entrypoint | このプロパティはSnapshotの使用状況によって異なります: Snapshotが使用されていない場合は、 Project/Agent ID 。Snapshotが使用されている場合は、snapshot ID。 |
execution | 現在のセッションでこれまでに受信したメッセージの数 |
flowName | 入力データを処理し、次のアクションを決定するアクティブフローの名前 |
inputId | Cognigy.AIが受信したメッセージごとに生成される一意のID |
intent | 検出されたIntent(NULLでも可) |
intentFlow | 検出されたIntentを含むFlow |
intentLevel | Intent階層レベルごとのマッチしたIntent |
intentOutOfState | Stateがアクティブな場合、このプロパティには、Stateによって除外された検出されたIntentを含みます。 |
intentScore | 検出されたIntentのスコア |
language | 入力メッセージの処理に使われたロケール言語 |
localeId | 入力メッセージの処理に使用される現在のロケールの一意のID。 |
mode | Cognigy.AIが受信した入力のタイプ。TextOnlyまたはTextDataのいずれかを指定できます。 |
nlu | 詳細なNLU処理結果が含まれます。詳細は[NLU Properties(NLUプロパティ)]をご覧ください。 |
sessionId | 現在のセッションID。これはチャネルから提供されるか、Cognigy.AIによって生成されます。ほとんどのエンドポイントでは、個々のセッションの有効期限(TTL)を定義できます。 |
slots | 自動レキシコンからカスタムレキシコンライブラリまで、検出されたスロットが含まれています。 |
state | セッション内の現在の状態。デフォルトでは値defaultが格納されます。他の状態を定義することもできます。詳細は[State(状態)]をご覧ください。 |
text | 受信したメッセージのテキスト |
traceId | 特定のユーザー入力に対する一意の識別子 |
type | NLUによって判断された入力文のタイプ(Statement、Command、Greeting、BGreeting、whQuestion、howQuestion、ynQuestion、pAnswer、nAnswer) 質問を入力文として受け取ったかどうか、またどのようなタイプの質問がされたかを示します。 |
understood | NLUがユーザーのメッセージを理解したかどうかを判断するブーリアン型のフラグ。IntentまたはSlotが見つかった場合、入力は理解済とカウントされます。 入力は、Code NodeまたはOverwrite Analytics Nodeを通じて理解済とマークされるか、文のタイプがpAnswer、nAnswer、またはGreeting(Confirmation Wordロジックが有効な場合)である場合に理解済とマークされます。それ以外の場合は、(エージェントアシストフローをアクティブにせずに)アクティブなハンドオーバがある場合、またはメッセージが明示的に 「Don't count」 または「Null」 としてマークされている場合を除き、未理解とマークされます。 |
URLToken | 特定のエンドポイントを識別するための一意のID |
userId | 現在のユーザーのID。これはCognigy.AIが各ユーザーを識別するために使用するもので、各ユーザーのコンタクトプロファイルへの参照として使用されます。 詳細は[Contact Profiles(コンタクトプロファイル)]をご覧ください。 |
NLUプロパティ
詳細なNLU結果は、以下のプロパティを含むnlu変数に公開されます:
キー | 説明 |
detailedSlots | 自動レキシコンからカスタムレキシコンライブラリまで、検出されたスロットが含まれています。 |
intentId | NLUによって選択されたインテントに割り当てられた一意のID |
intentFlow | 選択されたインテントを含むフローに割り当てられた一意のID |
intentMapperResults | scores子プロパティにある学習済みインテントごとのインテントスコアリングの要約を含む、NLUインテントマッピング結果に関する具体的な詳細を示します。 |
tokens | 入力文の各単語を文字列要素として含む配列を提供します。 |
NLUプロパティは、NLU後でのみ利用可能です。
以下のプロパティは、NLUコネクタによって算出されます。
そのため、これらはNLUの後に公開されます。
したがって、[Cognigy NLU Rules and Conditions(コグニジーNLUルールと条件)]内では利用できません。
NLUによって入力に書き込まれるプロパティ:
・intent
・intentScore
・nlu
・type
・intentLevel
・localeId
・understood
・conditionalEntrypointWasExecuted
入力オブジェクトへのアクセス
Flow Nodeは、トークンまたはCognigyScript({{input.property}}
など)を介して入力プロパティに動的にアクセスできます。入力オブジェクトのアクセスに使用されるCognigy Scriptは、ドット表記property.child.child
に従います。
例: {input.text}}
は、Flowに送信されたテキストメッセージを返します。
InputオブジェクトからのJSONパスのコピー
Inputオブジェクトを右クリックし、コンテキストメニューから[Copy JSON Path(JSONパスのコピー)]を選択することで、Inputオブジェクト内の特定の値を参照するために必要なJSONパスを正確にコピーすることができます。