カスタム・エンティティ
カスタム・エンティティを作成して、スキルのユース・ケースに固有の情報をユーザー入力から抽出できます。
組込みエンティティは一般的な情報を抽出するため、様々なボットで使用できます。一方、カスタム・エンティティの用途はより限定的です。当座預金、普通預金、クレジット・カードなどのキーワードがユーザー入力に含まれているかどうかを確認することによって様々な銀行取引を行えるようにするFinancialBotのAccountTypeエンティティのように、これらは、ボットが実行する特定のアクションにあわせて作成されます。
コンポジット・バッグ
コンポジット・バッグは、関連エンティティのグループであり、会話内でまとめて扱うことができます。コンポジット・バッグを使用すると、1つのユーザー発話の複数のエンティティの値をスキルが抽出できるようになり、会話の流れがより自然になります。スキルの設計の初期段階で、このような関連エンティティのグループ(明確なビジネス・ドメインを反映することが多い)を識別し、それらのためのコンポジット・バッグを構築します。
たとえば、ピザ用のコンポジット・バッグには、タイプ、サイズ、クラストおよび追加トッピングのエンティティを含めることができます。ユーザーが「グルテンフリー・クラストでラージ・サイズのペパロニ・ピザをください」と入力した場合、スキルはその入力から「ラージ」、「ペパロニ」および「グルテンフリー」を抽出でき、それらの値を個別にユーザーに要求する必要がなくなります。
コンポジット・バッグ・エンティティは、その構成アイテムを様々な方法で解決するように構成できます: たとえば、個々のエンティティ値がユーザー入力から欠落している場合にそれらの入力を求めることも、そのエンティティがエンティティを解決する場合に別のエンティティによって抽出された値を使用することもできます。
コンポジット・バッグには、店の場所など他のタイプの項目も含めることができ、フリー・テキストや添付ファイルも含められます。
コンポジット・バッグ・エンティティは、1つのコンポーネントのみで解決できるため、このエンティティにより、はるかに短く、コンパクトなダイアログ・フロー定義を作成できます。コンポジット・バッグの作成および構成の詳細は、コンポジット・バッグ・エンティティの構成を参照してください。
MLエンティティ
- Flo'sでディナーに$100を払い戻してください
- SFOは5月25日に駐車料金として2.75ドルを請求しました
ユーザー・メッセージの形式や表現の予測は難しいため、特に多言語スキルでは、柔軟性の低い値リスト・エンティティや正規表現エンティティのかわりにMLエンティティを使用できます。ファジー・マッチングにもかかわらず、バリュー・リスト・エンティティ(静的エンティティと動的エンティティの両方)は、値またはシノニムと一致する場合にのみエンティティ値を検出できます。たとえば、「コンピュータエンジニア」が「コンピュータエンジニアリング」と一致しない場合があります。正規表現エンティティは、ユーザー入力を、あらかじめ決められたパターンまたはエンティティ値の後に続く文言と一致するように制限します。一方、MLエンティティは適応性が高く、堅牢なトレーニング・データによってより多く作成することができます。
値リスト・エンティティ
共通レスポンス・コンポーネントによって出力されるメニュー・アイテムなど、事前設定済の値のリストに基づくエンティティ。ユーザー入力を抽出するエンティティの能力を最適化するには、シノニムを定義します。これには、略語、俗語およびよくあるスペルミスが含まれます。シノニムの値では、大/小文字は区別されません: たとえば、USAとusaは同じ値とみなされます。
動的エンティティ
動的エンティティは、Oracle Cloud Infrastructure (Generation 2クラウド・インフラストラクチャとも呼ばれる)にプロビジョニングされたOracle Digital Assistantのインスタンスでのみサポートされます。インスタンスが(バージョン19.4.1のすべてのインスタンスと同様に)Oracle Cloud Platformにプロビジョニングされている場合、この機能を使用することはできません。
動的エンティティ値用に作成された拡張音声モデルは、現在、ファイナライズされたプッシュ・リクエストが動的エンティティAPIから行われた後にしかトレーニングされません。つまり、UIで動的エンティティ値を変更しても、スキルの再トレーニング後に、その変更内容は拡張音声モデルに含まれません。APIの次の更新の後でないと、その変更内容は組み込まれません。変更を保持するには、リクエストの
copy
パラメータをTRUE
に設定する必要があります。
正規表現
(?<=one\s).*(?=\sthree)
のような正規表現(regex)を使用してエンティティを解決します。正規表現を使用すると、チケット番号など、ユーザー入力内の事前定義済パターンをスキルが識別できます。他のエンティティ・タイプとは異なり、厳密にパターンに基づいて照合が行われるため、regexベースのエンティティではNLPは使用されません。