- リリース ノート
- はじめる前に
- 基本情報
- AI Center をインストールする
- 移行とアップグレード
- プロジェクト
- データセット
- データのラベル付け
- ML パッケージ
- すぐに使えるパッケージ
- パイプライン
- ML スキル
- ML ログ
- AI Center の Document UnderstandingTM
- AI Center API
- 使い方
- ノードのスケジュール設定を管理する
- 継続学習するカスタム NER を使用する
- ライセンス
- 基本的なトラブルシューティング ガイド
継続学習するカスタム NER を使用する
ここでは、研究論文で言及されている化学物質をカテゴリ別に抽出する方法を例に説明します。以下の手順に従って化学物質を抽出し、ABBREVIATION、FAMILY、FORMULA、IDENTIFIER、MULTIPLE、SYSTEMATIC、TRIVIAL および NO_CLASS に分類します。
Custom Named Entity Recognition (カスタム固有表現抽出) (NER) モデルを使用すべき状況
カスタム NER モデルを使用して以下を抽出する場合。
-
テキストの特別な情報。この情報は
entity
と呼ばれます。 -
人名、場所、組織、位置、日付、数値など。抽出されるエンティティは相互に排他的です。エンティティは単一の単語レベルまたは複数の単語レベルであり、サブワード レベルではありません。たとえば、「I live in New York」という文の場合は「New York」をエンティティにすることができますが、「I read the New Yorker」という文の場合にはできません。
抽出されたエンティティは、情報抽出プロセスで直接使用できます。また、ソース テキストの分類、ソース テキストの感情分析、PHI などの下流のタスクの入力として使用することもできます。
トレーニング データセットに関する推奨事項
- サンプル内のエンティティの密度が高い場合は、エンティティあたり少なくとも 200 個のサンプルを用意します。つまり、ほとんどのサンプル (75% 以上) に、これらのエンティティが 3 個から 5 個含まれるようにします。
- エンティティの密度が低い (各サンプルのエンティティの数が 3 個未満である) 場合、つまり、どのエンティティもほとんどのドキュメントにごくわずかしか出現しない場合は、少なくともエンティティあたり 400 個のサンプルを使用することをお勧めします。これにより、モデルは判別性の高い特徴をより効果的に理解できます。
- エンティティが 10 個を超える場合は、求めるパフォーマンス メトリックに達するまで、さらに 100 個のサンプルを段階的に追加します。
ベスト プラクティス
- 意味のあるエンティティを用意します。人間がエンティティを識別できなければ、モデルも識別することはできません。
- シンプルなエンティティを用意します。住所を 1 つのエンティティとして使用するのではなく、複数のエンティティ (番地、都道府県名、市町村名、郵便番号など) に分割します。
- トレーニング データセットとテスト データセットの両方を作成し、フル パイプラインを使用してトレーニングを行います。
- 最小限のサンプルから始めてアノテーションを行い、すべてのエンティティをカバーします。
- トレーニングとテストの両方の分割ですべてのエンティティが代表されていることを確認します。
- フル パイプラインを実行し、テスト メトリックを確認します。テスト メトリックが十分ではない場合は、分類レポートを確認し、パフォーマンスの低いエンティティを特定します。パフォーマンスの低いエンティティをカバーするサンプルをさらに追加し、目的のメトリックに達するまでトレーニング プロセスを繰り返します。
この手順では、Custom Named Entity Recognition (カスタム固有表現抽出) パッケージを使用します。このパッケージの機能と用途については、「Custom Named Entity Recognition (カスタム固有表現抽出)」をご覧ください。
この手順は、以下のサンプル ファイルを使用して実行します。
- CoNLL 形式の事前にラベル付けされたトレーニング データセット。こちらからダウンロードできます。
- 事前にラベル付けされたテスト データセット。こちらからダウンロードできます。
- 研究論文で言及されている化学物質をカテゴリ別に抽出するためのサンプル ワークフロー。こちらからダウンロードできます。
注: サンプル ファイルに以下の変数が入力されていることを確認してください。
in_emailAdress
- Action Center タスクが割り当てられるメール アドレスin_MLSkillEndpoint
- ML スキルのパブリック エンドポイントin_MLSkillAPIKey
- ML スキルの API キーin_labelStudioEndpoint
- (任意) 継続的なラベル付けを可能にします。Label Studio プロジェクトのインポート URL を指定します。
Label Studio の使用を開始して、AI Center にデータをエクスポートするには、以下の手順に従います。
- ローカル マシンまたはクラウド インスタンスに Label Studio をインストールします。こちらの手順に従ってください。
- Named Entity Recognition (固有表現抽出) テンプレートから新しいプロジェクトを作成して、ラベル名を指定します。
- ラベル名に特殊文字やスペースが含まれていないことを確認します。たとえば、
Set Date
ではなくSetDate
を使用します。 <Text>
タグの値が"$text"
であることを確認します。- こちらの API を使用してデータをアップロードします。
cURL 要求の例:
curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\) --header 'Content-Type: application/json' \)\) --header 'Authorization: Token <Token>' \)\) --data-raw '[ { "data": { "text": "<Text1>" }, }, { "data": { "text": "<Text2>" } } ]'
curl --location --request POST 'https://<label-studio-instance>/api/projects/<id>/import' \)\) --header 'Content-Type: application/json' \)\) --header 'Authorization: Token <Token>' \)\) --data-raw '[ { "data": { "text": "<Text1>" }, }, { "data": { "text": "<Text2>" } } ]' - データに注釈を付けます。
- データを CoNLL 2003 形式でエクスポートし、AI Center にアップロードします。
- 不正確で信頼度の低い予測をキャプチャするために、提供されているサンプル ワークフローで Label Studio インスタンスの URL と API キーを入力します。