- 印刷する
- PDF
エンティティ
- 印刷する
- PDF
Classic/VPC環境で利用できます。
エンティティとは、人名、機関名、場所、日付、商品名などの単語が登録された辞書を意味します。チャットボットは、ユーザーの発話の中で分析したエンティティを、意図を把握してスロットを抽出するのに活用します。同じ意味を持つ単語をエンティティで定義しておくと、ユーザーの発話を把握するのに役立ちます。エンティティを作成、修正、削除した後、それをチャットボットサービスに反映するには、ビルドまたは変更された設定の適用を完了する必要があります。
エンティティの種類
- ドメインエンティティ:特定のドメインでのみよく使われるエンティティ。辞書ベースの辞書型エンティティと正規表現パターンベースのパターン型エンティティタイプに分けられる
- システムエンティティ:すべてのドメインで共通して使用可能なエンティティ。ビルトインとして提供される
- APIエンティティ:チャットボットビルダー内部に直接エンティティを定義する代わりに、外部DBに保存されているエンティティデータを活用するエンティティ
ドメインエンティティの作成
ドメインエンティティは、そのドメインで使用されると想定される主な単語の集まりです。例えば、コーヒーの注文に関連したチャットボットを作成するとします。その場合、コーヒーの注文に必要なコーヒーの種類、コーヒーのサイズなどをドメインエンティティに登録して活用することができます。
ドメインエンティティを登録する方法は以下のとおりです。
- NAVERクラウドプラットフォームコンソールでServices > CLOVA Chatbot > Domainメニューを順にクリックします。
- 希望するドメインの [ビルダーを実行する] ボタンをクリックしてチャットボットビルダーを実行します。
- チャットボットビルダーで エンティティ > [ドメインエンティティ] タブをクリックします。
- [エンティティ作成] ボタンをクリックします。
項目 | 説明 |
---|---|
エンティティ名 | エンティティの名前を入力 |
エンティティタイプ | エンティティタイプを選択 - 辞書型:辞書ベースのエンティティタイプ。辞書型エンティティデータはモデル学習に用いられる。ドメインエンティティ内では、重複する単語を代表語または類義語として登録不可 - パターン型:正規表現パターンベースのエンティティタイプ。パターン型エンティティはモデル学習に用いられない |
要配慮情報のセキュリティ設定 | エンティティに含まれる情報を要配慮情報にするかどうかを設定。要配慮情報が含まれる特殊な場合ではない限り、基本的には一般情報に設定 - 一般情報:エンティティに含まれる情報が要配慮情報でない一般的な情報 - 一般要配慮情報:ユーザーの氏名、電話番号、住所といった情報。ユーザーが一般要配慮情報を含めて入力した場合、チャットボットビルダー内の会話記録などの画面でその要配慮情報はマスキングされ、チャットボット作成者側には表示されない。一般要配慮情報をチャットボットの返答に挿入して使用する場合、チャットボットがユーザーの要配慮情報を再発話するおそれがあるため、ロギング除外オプションを有効にしてチャットボットの返答もマスキングすることを推奨する。 - 特殊要配慮情報:ユーザーの固有識別情報(住民登録番号、運転免許番号)、パスワードといった特殊な要配慮情報。ユーザーが特殊要配慮情報を含めて入力した場合、チャットボットビルダー内の会話記録などの画面でその要配慮情報はマスキングされ、チャットボット作成者側には表示されない。また、チャットボットエンジン内のログにもマスキングするため、特殊なセキュリティ処理が必要な場合は特殊要配慮情報に設定することを推奨する。ただし、エンジンログにも情報を残さないため、障害発生時にデバッグ支援が困難である。そのため、特殊要配慮情報をチャットボットの返答に挿入して使用することを制限する。 |
エンティティの登録 | エンティティタイプとして辞書型エンティティを選択した場合 - 代表語:エンティティに登録する代表語を入力 - 類義語:様々な表現の類義語を入力。複数の類義語を入力する場合、コンマ(,)で区切る エンティティタイプとしてパターン型エンティティを選択した場合 - 正規表現を活用してパターンとしてエンティティを分析。 - ただし、パターン型エンティティには、辞書型エンティティ、システムエンティティ、システム変数、ドメイン変数のみ入力できる - パターンの定義については正規表現入力ガイドを参照 |
- エンティティ情報の入力が完了したら、[保存] ボタンをクリックします。
<例> パターン型エンティティ
<例> 辞書型エンティティ
システムエンティティの作成
システムエンティティは、すべてのドメインで共通して使用可能なエンティティです。NAVERクラウドプラットフォームで管理します。チャットボット作成者は登録されているシステムエンティティのうち、使用するシステムエンティティのみ有効にします。
タスクまたは正規表現の質問でそのシステムエンティティを参照している場合は、無効にできません。
`@SYSTEM_ANY
`@SYSTEM_ANYは、ユーザーの自由発話のうち、一部のパターンだけ保存する場合に使用します。例えば、辞書型エンティティまたはパターン型エンティティで定義しづらい人の名前や、検索キーワードなどをエンティティで分析する場合に活用できます。
- `@SYSTEM_ANYは、正規表現の質問にのみ入力できます。
- `@SYSTEM_ANYはどんな発話ともマッチングできます。正規表現文法の中ではワイルドカードと同じです。
- `@SYSTEM_ANYのみ登録するのではなく、登場し得る他のパターンをも併せて入力することをお勧めします。
정규식 질문: `@SYSTEM_ANY [은|는|이|가] [뭐야|뭐니|뭘까요]
- ただし、選択的に登場する正規表現を併せて使用する場合、`@SYSTEM_ANYとマッチングされる単語を保証できないことにご注意ください。
정규식 질문 : `@SYSTEM_ANY (을|를) [설명해](줘|주세요)
-> ユーザーが「CLOVA Chatbotについて説明して」と入力した場合、`@SYSTEM_ANYが「CLOVA Chatbot」とマッチングされる可能性があります。
- `@SYSTEM_ANYのみ登録する場合、コンテキストまたは条件などを設定して特定の時点にのみ、その会話がマッチングされるように制限することをお勧めします。
正規表現の質問:`@SYSTEM_ANY
-> `@SYSTEM_ANYのみ入力した正規表現の質問を登録する場合、ユーザーが発話を入力するときに常にその会話とマッチングされてしまう可能性があります。
API連携型エンティティの作成
API連携型エンティティは、チャットボットビルダーでは管理できないエンティティやリアルタイムで情報が変更されるエンティティがある場合に活用します。例えば、従業員名や顧客名といったセキュリティの重要なデータをチャットボットビルダーにエンティティとして登録して管理するのが困難な場合、API連携型エンティティを活用します。エンティティを代わりに分析できるサーバのAPI URLを入力すると、ユーザーが入力した発話をエンティティ分析が可能なAPIサーバに伝達し、分析された結果を受け取ってシナリオを展開することができます。
API連携型エンティティは以下のような場合に使用します。
- タスクのスロットとして使用する場合
- 返答条件でエンティティ条件をチェックする場合
- アクションメソッドv1を呼び出す場合
API連携型エンティティの使用方法は以下のとおりです。
- NAVERクラウドプラットフォームコンソールでServices > CLOVA Chatbot > Domainメニューを順にクリックします。
- 希望するドメインの [ビルダーを実行する] ボタンをクリックしてチャットボットビルダーを実行します。
- チャットボットビルダーで エンティティ > [APIエンティティ] タブをクリックします。
- URL領域の [修正] ボタンをクリックします。
- URLフィールドにエンティティを分析できるAPIのアドレスを入力して、[保存] ボタンをクリックします。
- チャットボットは、入力されたURLで形態素を分析した結果を含めて呼び出す
- [エンティティ作成] ボタンをクリックします。
- エンティティ作成画面が表示されたら、エンティティの名前を入力して [重複チェック] ボタンをクリックし、[保存] ボタンをクリックします。
- 作成されたエンティティを確認します。
リクエスト形式
{
"query": "한국살아",
"nlpResult": {
"data": [
{
"words": [
{
"in": [
{
"morph": "한국",
"tag": "NOUN",
"ner": "Ner=B-韓国エンティティの名前",
"lemma": null,
"start": 0,
"end": 5,
"feature": 0,
"additionals": ""
},
{
"morph": "살아",
"tag": "NORMALVERB",
"ner": "Ner=O",
"lemma": "살다",
"start": 6,
"end": 11,
"feature": 0,
"additionals": "아"
}
],
"word": "한국살아"
}
]
}
],
"success": true
}
}
応答形式
{
"code": "OK",
"message": "Option[String]",
"entity": [
{
"name": "国",
"userInput": "韓国",
"represent": "Korea"
}
]
}
手動によるエンティティのタグ付け
辞書型エンティティは、会話の一般質問にタグ付けできます。エンティティを登録してモデルのビルドが完了すると、一般質問の登録時にエンティティに該当する単語が自動でタグ付けされ、タグ付けされたエンティティは会話の質問リストで青い文字で表示されます。エンティティがタグ付けされた質問は会話モデル学習に反映され、ユーザー発話の認識を手助けします。
会話モデルのビルド前か、エンティティに自動でタグ付けされていない場合は、チャットボットの作成者がエンティティを手動でタグ付けすることができます。
手動でエンティティをタグ付けする方法は以下のとおりです。
- 事前作業を完了します。
- 「ピザの種類」エンティティの追加、代表語:ポテトピザ
- 「ピザの種類」エンティティの追加、代表語:ポテトピザ
- 質問を登録し、エンティティとしてタグ付けする単語をドラッグします。
- このシナリオでは、「ポテトピザ」をドラッグします。
- このシナリオでは、「ポテトピザ」をドラッグします。
- エンティティ選択画面が表示されたら、タグ付けしたいエンティティを選択して [適用] ボタンをクリックします。
- 新しい代表語として追加するか、既に登録済みの代表語の類義語として追加することができます。
- エンティティが存在しない場合は、[エンティティ作成] をクリックして新規作成します。
- エンティティのタグ付けが完了したことを確認します。