カスタム固有表現認識モデルをトレーニングする
トレーニングは、モデルがラベル付けされたデータから学習するプロセスです。 トレーニングが完了した後、モデルのパフォーマンスを表示して、モデルを改善する必要があるかどうかを判断できます。
モデルをトレーニングするには、トレーニング ジョブを開始します。モデルは、正常に完了したジョブでのみ作成されます。 トレーニング ジョブは、7 日後に期限切れになります。つまり、この期間を過ぎると、ジョブの詳細を取得できなくなります。 トレーニング ジョブが正常に完了し、モデルが作成されていれば、モデルが影響を受けることはありません。 一度に実行できるトレーニング ジョブは 1 つのみで、同じプロジェクトで他のジョブを開始することはできません。
トレーニング時間は、数少ないドキュメントを処理する場合は数分で済みますが、データセットのサイズとスキーマの複雑さによっては最大で数時間かかる場合もあります。
前提条件
- 構成済みの Azure Blob Storage アカウントで正常に作成されたプロジェクト
- ストレージ アカウントにアップロードされたテキスト データ。
- ラベルの付いたデータ
詳細については、「プロジェクト開発サイクル」を参照してください。
データの分割
トレーニング プロセスを開始する前に、プロジェクト内のラベル付けされたドキュメントはトレーニング用セットとテスト用セットに分割されます。 これらはそれぞれ異なる機能を提供します。 トレーニング用セットは、モデルのトレーニングに使用されます。モデルは、このセットを基に、ラベル付けされたエンティティと、エンティティとして抽出するテキストのスパンを学習します。 テスト用セットは、トレーニング中ではなく評価中にのみ導入されるブラインド セットです。 モデルのトレーニングが正常に完了すると、そのモデルを使用してテスト用セットのドキュメントから予測が行われ、それらの予測に基づいて評価メトリックが計算されます。 すべてのエンティティが、トレーニング用とテスト用の両方のセットで適切に表現されていることを確認することをお勧めします。
カスタム NER では、データの分割方法として次の 2 つがサポートされています。
- トレーニング用データからテスト用セットを自動分割: システムにより、選択した割合に従って、ラベル付けされたデータがトレーニング用セットとテスト用セットに分割されます。 推奨される分割の割合は、トレーニング用 80%、テスト用 20% です。
注意
[トレーニング用データからテスト用セットを自動分割] オプションを選択した場合、トレーニング用セットに割り当てられたデータのみが、指定された割合に従って分割されます。
- トレーニング用データとテスト用データの手動分割を使用: この方法を使用すると、ユーザーは、ラベル付けされたドキュメントがどちらのセットに属するかを定義できます。 この手順は、データのラベル付け中にドキュメントをテスト用セットに追加した場合にのみ有効になります。
モデルのトレーニング
Language Studio 内からモデルのトレーニングを開始するには、次の手順を行います。
左側のメニューから [トレーニング ジョブ] を選択します。
上部のメニューから [Start a training job] (トレーニング ジョブの開始) を選択します。
[新しいモデルのトレーニング] を選択し、テキスト ボックスにモデル名を入力します。 また、[既存のモデルを上書きする] オプションを選択し、ドロップダウン メニューから上書きするモデルを選択することにより、既存のモデルを上書きすることもできます。 トレーニング済みモデルを上書きすると、元に戻すことはできません。ただし、新しいモデルをデプロイするまで、デプロイされているモデルには影響しません。
データの分割方法を選択します。 [トレーニング用データからテスト用セットを自動的に分割する] を選択できます。その場合、システムは、指定された割合に従って、ラベル付けされたデータをトレーニング用セットとテスト用セットに分割します。 または、[トレーニング用データとテスト用データの手動分割を使用] を選択することもできます。このオプションは、データのラベル付け中にドキュメントをテスト用セットに追加した場合にのみ有効になります。 データの分割の詳細については、「モデルをトレーニングする方法」を参照してください。
[トレーニング] ボタンを選択します。
一覧からトレーニング ジョブ ID を選択すると、サイド ペインが表示され、そのジョブの [トレーニングの進行状況]、[ジョブの状態]、その他の詳細を確認できます。
注意
- 正常に完了したトレーニング ジョブでのみ、モデルが生成されます。
- トレーニングは、ラベル付けされたデータのサイズに応じて、数分から数時間かかる場合があります。
- 一度に実行できるトレーニング ジョブは 1 つだけです。 実行中のジョブが完了するまで、同じプロジェクト内で他のトレーニング ジョブを開始することはできません。
トレーニング ジョブのキャンセル
Language Studio 内からトレーニング ジョブをキャンセルするには、[Training jobs](トレーニング ジョブ) ページに移動します。 キャンセルするトレーニング ジョブを選択し、上部のメニューから [キャンセル] を選択します。
次の手順
トレーニングが完了した後、モデルのパフォーマンスを表示し、必要に応じてモデルを改善することができます。 モデルに問題がなければ、それをデプロイし、テキストからエンティティを抽出するために使うことができます。