データを抽出するエンティティを追加する

重要

LUIS は 2025 年 10 月 1 日に廃止され、2023 年 4 月 1 日から新しい LUIS リソースを作成できなくなります。 継続的な製品サポートと多言語機能のベネフィットを得るために、LUIS アプリケーション会話言語理解に移行することをお勧めします。

Language Understanding (LUIS) アプリでユーザーの発話から重要なデータを抽出するエンティティを作成します。 抽出されたエンティティ データは、顧客の要求に応えるためにクライアント アプリケーションによって使用されます。

エンティティは、抽出しようとしている発話内の単語またはフレーズを表します。 エンティティは、意図に関連する情報を説明し、アプリがタスクを実行するうえで不可欠なこともあります。

新しいエンティティを作成する方法

次のプロセスは、機械学習済みエンティティリスト エンティティ、および正規表現エンティティに対して機能します。

  1. LUIS ポータルにサインインし、自分のサブスクリプション作成リソースを選択して、その作成リソースに割り当てられているアプリを表示します。
  2. [マイ アプリ] ページで自分のアプリの名前を選択して、そのアプリを開きます。
  3. 上部のナビゲーション メニューで [ビルド] を選択してから、左側のパネルで [エンティティ] を選択します。次に、[+ 作成] を選択してから、エンティティの種類を選択します。
  4. エンティティの構成を先に進めます。 完了したら、[作成] を選択します。

機械学習済みエンティティを作成する

ピザの例に従って、発話からピザの注文を抽出するための "PizzaOrder" エンティティを作成する必要があります。

  1. 上部のナビゲーション メニューで [ビルド] を選択してから、左側のパネルで [エンティティ] を選択します。

  2. [Create an entity type](エンティティ型の作成) ダイアログ ボックスで、エンティティの名前を入力し、[Machine learned](機械学習済み) を選択します。 サブエンティティを追加するには、[Add structure](構造を追加する) を選択します。 [作成] を選択します。

    機械学習済みエンティティを作成しているスクリーンショット。

    ピザの注文には、数量や種類などのさまざまな詳細情報が含まれている可能性があります。 これらの詳細を追加するために、サブエンティティを作成します。

  3. [Add subentities](サブエンティティの追加) で、親エンティティ行の + を選択して、サブエンティティを追加します。

    サブエンティティを追加しているスクリーンショット。

  4. [作成] を選択して、作成プロセスを終了します。

機械学習エンティティ済みに特徴を追加する

一部のエンティティには多くの詳細が含まれています。 "PizzaOrder" エンティティを想像してください。これに、"ToppingModifiers" または "FullPizzaWithModifiers" が含まれている可能性があります。 これらは、機械学習したエンティティに特徴として追加できます。

  1. 上部のナビゲーション バーで [ビルド] を選択してから、左側のパネルで [エンティティ] を選択します。

  2. エンティティ行またはサブエンティティ行で [+ Add feature](+ 特徴の追加) を選択して、特徴を追加します。

  3. 既存のエンティティとフレーズ リストから 1 つを選択します。

  4. 特徴が見つかった場合にのみエンティティを抽出する必要がある場合は、その特徴のアスタリスクを選択します。

    エンティティに特徴を追加しているスクリーンショット。

正規表現エンティティを作成する

構造化テキストまたは定義済みの英数字値のシーケンスを抽出する場合は、正規表現エンティティを使用します。 たとえば、OrderNumber は、0 から 9 の範囲の数値型の 5 文字になるように事前に定義することができます。

  1. 上部のナビゲーション バーで [ビルド] を選択してから、左側のパネルで [意図] を選択します

  2. [+ 作成] を選択します。

  3. [Create an entity type](エンティティ型の作成) ダイアログ ボックスで、エンティティの名前を入力します。[RegEx] を選択し、[Regex] フィールドに正規表現を入力した後、[作成] を選択します。

    正規表現エンティティを作成しているスクリーンショット。

リスト エンティティを作成する

リスト エンティティとは、関連単語の集まりであり、固定かつ限定的です。 作成者はリストを変更できますが、LUIS によってリストが増減することはありません。 また、リスト エンティティの .json 形式を使用して、既存のリスト エンティティにインポートすることもできます。

リスト エンティティを作成する手順を使用します。 リスト エンティティが作成されたら、意図でサンプル発話にラベルを付ける必要はありません。 リスト アイテムとシノニムは正確なテキストを使用して照合されます。 "Size" エンティティはリスト型にすることができ、"small"、"medium"、"large"、"family" などのさまざまなサイズが含まれます。

  1. [ビルド] セクションの左側にあるパネルで [エンティティ] を選択し、 [+ 作成] を選択します。

  2. [Create an entity type](エンティティの種類を作成する) ダイアログ ボックスにエンティティの名前 (Size など) を入力し、[リスト] を選択します。

  3. [Create a list entity](リスト エンティティを作成する) ダイアログ ボックスの [Add new sublist....](新しいサブリストを追加する) にリスト アイテム名 (large など) を入力します。 また、アイテム large のリスト アイテム (hugemega など) にシノニムを追加することもできます。

    [Entity detail]\(エンティティの詳細\) ページでリスト エンティティとしてサイズの一覧を作成します。

  4. リスト アイテムとシノニムの追加を終えたら、 [作成] を選択します。

アプリに対する一連の変更が完了したら、忘れずにアプリをトレーニングしてください。 1 回変更してアプリケーションをトレーニングすることは避けてください。

注意

この手順では、 [Intent detail](意図の詳細) ページのサンプル発話からリスト エンティティが作成され、ラベルが付けられます。 [エンティティ] ページから同じエンティティを作成することもできます。

事前構築済みのドメイン エンティティを追加する

  1. 左側にある [エンティティ] を選びます。
  2. [エンティティ] ページで、 [Add prebuilt domain entity](事前構築済みドメイン エンティティの追) を選択します。
  3. [事前構築済みドメイン モデルの追加] ダイアログ ボックスで、事前構築済みドメイン エンティティを選択します。
  4. [Done] を選択します。 エンティティを追加した後、アプリをトレーニングする必要はありません。

作成済みエンティティの追加

共通の情報の種類を認識するには、事前構築済みのエンティティを追加します。

  1. 左側にある [エンティティ] を選びます。

  2. [エンティティ] ページで、 [事前構築済みエンティティを追加する] を選択します。

  3. [事前構築済みエンティティの追加] ダイアログ ボックスで、事前構築済みエンティティを選択します。

    事前構築済みエンティティのダイアログ ボックスを示すスクリーンショット。

  4. [Done] を選択します。 エンティティを追加した後、アプリをトレーニングする必要はありません。

異なるコンテキストを区別するためにロールを追加する

ロールは、文脈に左右される、エンティティの名前付きサブタイプです。 次の発話には、場所が 2 つあり、いずれも、to や from など、それを囲む単語で意味的に指定されています。

シアトルからピザの注文を受け取り、ニューヨーク市に配達します。

この手順では、Origin ロールと Destination ロールを、事前構築済みの geographyV2 エンティティに追加します。

  1. [ビルド] セクションから、左パネル内の [エンティティ] を選択します。
  2. [+ Add prebuilt entity](+ 事前構築済みエンティティの追加) を選択します。 [geographyV2] を選択し、 [完了] を選択します。 事前構築済みのエンティティがアプリに追加されます。

Pattern.any が含まれているパターンでエンティティが正しく抽出されない場合は、明示的なリストを使用してこの問題を修正します。

  1. エンティティの [エンティティ] ページ リストから、新しく追加された事前構築済み geographyV2 エンティティを選択します。

  2. 新しいロールを追加するには、[役割が追加されませんでした] の横にある + を選択します。

  3. [Type role...](ロールの入力...) テキストボックスにロール Origin の名前を入力し、Enter キーを押します。 Destination という 2 つ目のロール名を追加してから、Enter キーを押します。

    場所エンティティに配信元ロールを追加する方法を示すスクリーンショット。

ロールは構築済みのエンティティに追加されますが、そのエンティティを使用して発話に追加されることはありません。

pattern.any エンティティの作成

パターンは、複数の発話が非常に似ているときに、精度を改善するように設計されています。 パターンを使用すると、さらに数個の発話を提供しなくても意図の精度を高めることができます。 Pattern.any エンティティは、パターンでのみ使用できます。 詳細については、パターンに関する記事を参照してください。

次の手順