データにラベルを付ける

完了

データに正しくラベル付け、タグ付けすることは、カスタム エンティティ抽出モデルを作成するプロセスの重要な部分です。 テキストの中でモデルのトレーニングに使用される特定のエンティティ例がラベルによって識別されます。 注目すべき 3 つの点は次のとおりです。

  • 整合性 - トレーニングのためのすべてのファイルに対して同じようにデータにラベルが付けられます。 整合性によって、競合する入力なしでモデルは学習できます。
  • 正確性 - 不要な単語が追加されることなく、一貫性をもってエンティティにラベルが付けられます。 正確性によって、抽出されたエンティティには正しいデータのみが含まれます。
  • 完全性 - データに完全にラベルが付けられ、いかなるエンティティも取りこぼされません。 完全性によって、モデルでは存在するエンティティが常に認識されます。

Screenshot of labeling an entity in Language Studio.

データにラベルを付ける方法

Language Studio は、データにラベルを付ける最も簡単な方法です。 Language Studio を使用すると、ファイルを表示し、エンティティの先頭と末尾を選択し、それがどのエンティティか指定できます。

識別された各ラベルは、自動生成された JSON ファイルで、ストレージ アカウントに存在するファイルにデータセットと共に保存されます。 このファイルはその後、カスタム エンティティの抽出方法を学習する目的でモデルによって使用されます。 (たとえば、異なるプロジェクトから同じラベルをインポートする場合など) プロジェクトの作成時にこのファイルを提供できますが、これは承認されているカスタム NER データ形式である必要があります。 次に例を示します。


{
  "projectFileVersion": "{DATE}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectKind": "CustomEntityRecognition",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectName": "{PROJECT-NAME}",
    "multilingual": false,
    "description": "Project-description",
    "language": "en-us",
    "settings": {}
  },
  "assets": {
    "projectKind": "CustomEntityRecognition",
    "entities": [
      {
        "category": "Entity1"
      },
      {
        "category": "Entity2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 500,
            "labels": [
              {
                "category": "Entity1",
                "offset": 25,
                "length": 10
              },
              {
                "category": "Entity2",
                "offset": 120,
                "length": 8
              }
            ]
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "entities": [
          {
            "regionOffset": 0,
            "regionLength": 100,
            "labels": [
              {
                "category": "Entity2",
                "offset": 20,
                "length": 5
              }
            ]
          }
        ]
      }
    ]
  }
}

フィールド 説明
documents ラベル付けされたドキュメントの配列
location プロジェクトに接続されているコンテナー内のファイルへのパス
language ファイルの言語
entities 現在のドキュメントに存在するエンティティの配列
regionOffset テキストの先頭の文字位置 (この文字も含めて)
regionLength トレーニングで使用されるデータの文字数
category 抽出するエンティティの名前
labels ファイル内のラベル付けされたエンティティの配列
offset エンティティの先頭の文字位置 (この文字も含めて)
length エンティティの文字数
dataset ファイルが割り当てられているデータセット