- はじめる前に
- 基本情報
- AI Center をインストールする
- 移行とアップグレード
- プロジェクト
- データセット
- データのラベル付け
- ML パッケージ
- すぐに使えるパッケージ
- パイプライン
- ML スキル
- ML ログ
- AI Center の Document UnderstandingTM
- AI Center API
- 使い方
- ノードのスケジュール設定を管理する
- 継続学習するカスタム NER を使用する
- ライセンス
- 基本的なトラブルシューティング ガイド
AI Center ガイド
バックグラウンド情報
この例は、研究論文で言及されているカテゴリ別に化学物質を抽出するために使用されます。この手順に従って、化学物質を抽出し、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 を指定します。
手順
次の手順を使用して、研究論文から化学物質をカテゴリ別に抽出します。
- UiPath® AI Center にサンプル データセットをインポートします。そのためには、[ データセット ] メニューに移動し、サンプルから
trainフォルダーとtestフォルダーをアップロードします。 - [ML パッケージ] > [すぐに使えるパッケージ] > [UiPath Language Analysis (UiPath 言語分析)] から目的のカスタム NER パッケージを選択して作成します。
- [パイプライン] メニューに移動して、前の手順で作成したパッケージの新しいフル パイプライン実行を作成します。サンプル ファイルで提供されているトレーニングおよびテスト データセットを指定します。 完了すると、パイプラインの結果が [成果物] に表示されます。分類レポートをダウンロードして、テスト結果を評価できます。
- 前の手順のパイプライン実行で生成されたパッケージを使用して新しい ML スキルを作成し、デプロイします。
- スキルをデプロイしたら、提供される UiPath® Studio のワークフローでスキルを活用します。弱い予測を含むデータのキャプチャを有効化するには、Label Studio インスタンスをデプロイし、ワークフロー内の Label Studio アクティビティでインスタンスの URL と API キーを指定します。
Label Studio の使用を開始する
-
ローカル マシンまたはクラウド インスタンスに Label Studio をインストールします。それには、 Label Studio のページの手順を実行します。
-
Named Entity Recognition (固有表現抽出) テンプレートから新しいプロジェクトを作成して、ラベル名を指定します。
-
ラベル名に 特殊文字やスペースが含まれていないことを確認してください。たとえば、
Set Dateの代わりにSetDateを使用します。 -
<Text>タグの値が"$text"であることを確認します。 -
Label Studio の API ページから 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 キーを入力します。