ai-center
2024.10
true
UiPath logo, featuring letters U and I in white

AI Center ガイド

Automation CloudAutomation SuiteStandalone
最終更新日時 2024年11月11日

Custom Named Entity Recognition (カスタム固有表現抽出)

[すぐに使えるパッケージ] > [UiPath Language Analysis (UiPath 言語分析)] > [Custom Named Entity Recognition (カスタム名前付きエンティティ認識)]

このモデルでは、抽出するエンティティでタグ付けされた独自のデータセットを使用できます。 トレーニング データセットおよび評価データセットは、CoNLL または JSON 形式である必要があります。 データは、 AI Center のデータのラベル付けツールからエクスポートしたり、Label Studio からエクスポートしたりすることもできます。 この ML パッケージは再トレーニングする必要があります。トレーニングしないでデプロイすると、モデルがトレーニングされていないことを示すエラーが表示され、デプロイが失敗します。

このモデルの使用例については、研究論文で言及されている化学物質をカテゴリ別に抽出する方法についてのユースケースをご覧ください。

推奨

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. 意味のあるエンティティを用意します。人間がエンティティを識別できなければ、モデルも識別することはできません。
  2. シンプルなエンティティを用意します。住所を 1 つのエンティティとして使用するのではなく、複数のエンティティ (番地、都道府県名、市町村名、郵便番号など) に分割します。
  3. トレーニング データセットとテスト データセットの両方を作成し、フル パイプラインを使用してトレーニングを行います。
  4. 最小限のサンプルから始めてアノテーションを行い、すべてのエンティティをカバーします。
  5. トレーニングとテストの両方の分割ですべてのエンティティが代表されていることを確認します。
  6. フル パイプラインを実行し、テスト メトリックを確認します。テスト メトリックが十分ではない場合は、分類レポートを確認し、パフォーマンスの低いエンティティを特定します。パフォーマンスの低いエンティティをカバーするサンプルをさらに追加し、目的のメトリックに達するまでトレーニング プロセスを繰り返します。

言語

この多言語モデルでは、以下に表示する言語をサポートしています。これらの言語が選ばれた理由は、世界最大規模のインターネット百科事典 Wikipedia が対応していて、記事数も多い上位 100 の言語だからです。

  • アフリカーンス語
  • アルバニア語
  • アラビア語
  • アラゴン語
  • アルメニア語
  • アストゥリアス語
  • アゼルバイジャン語
  • バシキール語
  • バスク語
  • バイエルン語
  • ベラルーシ語
  • ベンガル語
  • ビシュヌプリヤ・マニプリ語
  • ボスニア語
  • ブルトン語
  • ブルガリア語
  • ビルマ語
  • カタロニア語
  • セブアノ語
  • チェチェン語
  • 中国語 (簡体)
  • 中国語 (繁体)
  • チュヴァシ語
  • クロアチア語
  • チェコ語
  • デンマーク語
  • オランダ語
  • 英語
  • エストニア語
  • フィンランド語
  • フランス語
  • ガリシア語
  • グルジア語
  • ドイツ語
  • ギリシャ語
  • グジャラート語
  • ハイチ語
  • ヘブライ語
  • ヒンディー語
  • ハンガリー語
  • アイスランド語
  • イド語
  • インドネシア語
  • アイルランド語
  • イタリア語
  • 日本語
  • ジャワ語
  • カンナダ語
  • カザフ語
  • キルギス語
  • 韓国語
  • ラテン語
  • ラトビア語
  • リトアニア語
  • ロンバード語
  • 低地ドイツ語
  • ルクセンブルク語
  • マケドニア語
  • マダガスカル語
  • マレー語
  • マラヤーラム語
  • マラーティー語
  • ミナンカバウ語
  • モンゴル語
  • ネパール語
  • ネワール語
  • ノルウェー語 (ブークモール)
  • ノルウェー語 (ニーノシュク)
  • オック語
  • ペルシア語 (ファールシー)
  • ピエモンテ語
  • ポーランド語
  • ポルトガル語
  • パンジャブ語
  • ルーマニア語
  • ロシア語
  • スコットランド語
  • セルビア語
  • セルビア・クロアチア語
  • シチリア語
  • スロバキア語
  • スロベニア語
  • 南アゼルバイジャン語
  • スペイン語
  • スンダ語
  • スワヒリ語
  • スウェーデン語
  • タガログ語
  • タジク語
  • タミール語
  • タタール語
  • テルグ語
  • タイ語
  • トルコ語
  • ウクライナ語
  • ウルドゥ語
  • ウズベク語
  • ベトナム語
  • ヴォラピュク
  • ワライ語
  • ウェールズ語
  • 西フリジア語
  • 西パンジャブ語
  • ヨルバ語

モデルの詳細

入力の説明

エンティティの抽出元となる、上記のいずれかの言語のテキストです。

出力の説明

テキスト内の名前付きエンティティのリストです。リストの各要素では、予測に以下の項目が含まれます。

  • 認識されたテキスト
  • テキストの開始位置と終了位置 (文字数)
  • 名前付きエンティティの型
  • 信頼度
    {
     "response" : [{
       "value": "George Washington",
       "start_index": 0,
       "end_index": 17,
       "entity": "PER",
       "confidence": 0.96469810605049133 
      }]
    }{
     "response" : [{
       "value": "George Washington",
       "start_index": 0,
       "end_index": 17,
       "entity": "PER",
       "confidence": 0.96469810605049133 
      }]
    }

GPU の推奨

既定では、GPU が推奨されます。

パイプライン

このパッケージでは、3 つの種類のパイプライン (フル トレーニング、トレーニング、評価) がすべてサポートされています。ほとんどのユース ケースでは、パラメーターを指定する必要がなく、モデルは高度な手法を使用して高性能なモデルを検出します。2 回目以降のトレーニングでは、モデルは増分学習を使用します (トレーニングの実行の最後で、その前にトレーニングされたバージョンが使用されます)。

検証ステーションからのデータを使用して微調整する

Label Studio API を使用して、信頼度が低いデータと予測を書き戻すことができます。その後、データを再ラベル付けして、CoNLL 形式でエクスポートできます。

Label Studio の使用方法について詳しくは、「Label Studio の使用を開始する」をご覧ください。また、Label Studio と連携させる UiPath® Studio アクティビティは 、こちらからダウンロードできます。

または AI Center のデータのラベル付け機能を活用することもできます。

GPU または CPU に対するトレーニング

トレーニングには GPU または CPU を使用できます。より高速な GPU を使用することをお勧めします。

データセットの形式

このモデルは、すべてのパイプライン実行 (トレーニング、評価、フル パイプライン) で、指定されたディレクトリ内にあるすべてのファイルを読み取ることができます。

注: ラベル名にスペースや特殊文字が含まれていないことを確認してください。たとえば、Set Date ではなく SetDate を使用します。

CoNLL ファイル形式

このモデルは、指定されたディレクトリにある .txt または .conll という拡張子の付いた CoNLL ファイル形式のファイルをすべて読み取ることができます。

CoNLL ファイル形式は、1 行に 1 つの単語を含むテキストの本文を表します。各単語には、単語に関する情報を示す 10 個のタブ区切り列が含まれます (表層や構文など)。

トレーニング可能な Named Entity Recognition (固有表現抽出) では、2 つの CoNLL 形式をサポートしています。

  • テキストに 2 列のみ含まれる。
  • テキストに 4 列含まれる。
この形式を使用するには、 dataset.input_format 環境変数を conll または label_studio に設定します。
注: label_studio 形式は CoNLL 形式と同じで、2 つのデータ ポイントが新しい空の行で区切られます。-DOCSTART- -X- O O で 2 つのデータ ポイントを区切れるようにするには、dataset.input_format を環境変数として追加して、その値を conll に設定します。

詳しくは、以下の例をご覧ください。

Japan NNP B-NP B-LOC
began VBD B-VP O
the DT B-NP O
defence NN I-NP O
of IN B-PP O
their PRP$ B-NP O
Asian JJ I-NP B-MISC
Cup NNP I-NP I-MISC
title NN I-NP O
with IN B-PP O
a DT B-NP O
lucky JJ I-NP O
2-1 CD I-NP O
win VBP B-VP O
against IN B-PP O
Syria NNP B-NP B-LOC
in IN B-PP O
a DT B-NP O
Group NNP I-NP O
C NNP I-NP O
championship NN I-NP O
match NN I-NP O
on IN B-PP O
Friday NNP B-NP O
. . O OFounding O
member O
Kojima B-PER
Minoru I-PER
played O
guitar O
on O
Good B-MISC
Day I-MISC
, O
and O
Wardanceis I-MISC
cover O
of O
a O
song O
by O
UK I-LOC
post O
punk O
industrial O
band O
Killing B-ORG
Joke I-ORG
. OJapan NNP B-NP B-LOC
began VBD B-VP O
the DT B-NP O
defence NN I-NP O
of IN B-PP O
their PRP$ B-NP O
Asian JJ I-NP B-MISC
Cup NNP I-NP I-MISC
title NN I-NP O
with IN B-PP O
a DT B-NP O
lucky JJ I-NP O
2-1 CD I-NP O
win VBP B-VP O
against IN B-PP O
Syria NNP B-NP B-LOC
in IN B-PP O
a DT B-NP O
Group NNP I-NP O
C NNP I-NP O
championship NN I-NP O
match NN I-NP O
on IN B-PP O
Friday NNP B-NP O
. . O OFounding O
member O
Kojima B-PER
Minoru I-PER
played O
guitar O
on O
Good B-MISC
Day I-MISC
, O
and O
Wardanceis I-MISC
cover O
of O
a O
song O
by O
UK I-LOC
post O
punk O
industrial O
band O
Killing B-ORG
Joke I-ORG
. O

JSON ファイル形式

環境変数を設定できます。これにより、このモデルは指定されたディレクトリにある .json という拡張子の付いた JSON ファイル形式のファイルをすべて読み取ることができます。

JSON ファイル形式の例については、次のサンプルと環境変数を確認してください。

{
    "text": "Serotonin receptor 2A ( HTR2A ) gene polymorphism predicts treatment response to venlafaxine XR in generalized anxiety disorder . anxiety disorder ( GAD ) is a chronic psychiatric disorder with significant morbidity and mortality .\)
Antidepressant drugs are the preferred choice for treatment ; however , treatment response is often variable .\)
Several studies in major depression have implicated a role of the serotonin receptor gene ( HTR2A ) in treatment response to antidepressants .\)
We tested the hypothesis that the genetic polymorphism rs7997012 in the HTR2A gene predicts treatment outcome in GAD patients treated with venlafaxine XR . Treatment response was assessed in 156 patients that participated in a 6-month open - label clinical trial of venlafaxine XR for GAD . Primary analysis included Hamilton Anxiety Scale ( HAM-A ) reduction at 6 months .\)
Secondary outcome measure was the Clinical Global Impression of Improvement ( CGI-I ) score at 6 months .\)
Genotype and allele frequencies were compared between groups using χ(2) contingency analysis .\)
The frequency of the G-allele differed significantly between responders ( 70% ) and nonresponders ( 56% ) at 6 months ( P=0.05 ) using the HAM-A scale as outcome measure .\)
Similarly , using the CGI-I as outcome , the G-allele was significantly associated with improvement ( P=0.01 ) .\)
Assuming a dominant effect of the G-allele , improvement differed significantly between groups ( P=0.001 , odds ratio=4.72 ) .\)
Similar trends were observed for remission although not statistically significant .\)
We show for the first time a pharmacogenetic effect of the HTR2A rs7997012 variant in anxiety disorders , suggesting that pharmacogenetic effects cross diagnostic categories .\)
Our data document that individuals with the HTR2A rs7997012 single nucleotide polymorphism G-allele have better treatment outcome over time .\)
Future studies with larger sample sizes are necessary to further characterize this effect in treatment response to antidepressants in GAD .",
    "entities": [{
        "entity": "TRIVIAL",
        "value": "Serotonin",
        "start_index": 0,
        "end_index": 9
    }, {
        "entity": "TRIVIAL",
        "value": "venlafaxine",
        "start_index": 81,
        "end_index": 92
    }, {
        "entity": "TRIVIAL",
        "value": "serotonin",
        "start_index": 409,
        "end_index": 418
    }, {
        "entity": "TRIVIAL",
        "value": "venlafaxine",
        "start_index": 625,
        "end_index": 636
    }, {
        "entity": "TRIVIAL",
        "value": "venlafaxine",
        "start_index": 752,
        "end_index": 763
    }, {
        "entity": "FAMILY",
        "value": "nucleotide",
        "start_index": 1800,
        "end_index": 1810
    }]
}{
    "text": "Serotonin receptor 2A ( HTR2A ) gene polymorphism predicts treatment response to venlafaxine XR in generalized anxiety disorder . anxiety disorder ( GAD ) is a chronic psychiatric disorder with significant morbidity and mortality .\)
Antidepressant drugs are the preferred choice for treatment ; however , treatment response is often variable .\)
Several studies in major depression have implicated a role of the serotonin receptor gene ( HTR2A ) in treatment response to antidepressants .\)
We tested the hypothesis that the genetic polymorphism rs7997012 in the HTR2A gene predicts treatment outcome in GAD patients treated with venlafaxine XR . Treatment response was assessed in 156 patients that participated in a 6-month open - label clinical trial of venlafaxine XR for GAD . Primary analysis included Hamilton Anxiety Scale ( HAM-A ) reduction at 6 months .\)
Secondary outcome measure was the Clinical Global Impression of Improvement ( CGI-I ) score at 6 months .\)
Genotype and allele frequencies were compared between groups using χ(2) contingency analysis .\)
The frequency of the G-allele differed significantly between responders ( 70% ) and nonresponders ( 56% ) at 6 months ( P=0.05 ) using the HAM-A scale as outcome measure .\)
Similarly , using the CGI-I as outcome , the G-allele was significantly associated with improvement ( P=0.01 ) .\)
Assuming a dominant effect of the G-allele , improvement differed significantly between groups ( P=0.001 , odds ratio=4.72 ) .\)
Similar trends were observed for remission although not statistically significant .\)
We show for the first time a pharmacogenetic effect of the HTR2A rs7997012 variant in anxiety disorders , suggesting that pharmacogenetic effects cross diagnostic categories .\)
Our data document that individuals with the HTR2A rs7997012 single nucleotide polymorphism G-allele have better treatment outcome over time .\)
Future studies with larger sample sizes are necessary to further characterize this effect in treatment response to antidepressants in GAD .",
    "entities": [{
        "entity": "TRIVIAL",
        "value": "Serotonin",
        "start_index": 0,
        "end_index": 9
    }, {
        "entity": "TRIVIAL",
        "value": "venlafaxine",
        "start_index": 81,
        "end_index": 92
    }, {
        "entity": "TRIVIAL",
        "value": "serotonin",
        "start_index": 409,
        "end_index": 418
    }, {
        "entity": "TRIVIAL",
        "value": "venlafaxine",
        "start_index": 625,
        "end_index": 636
    }, {
        "entity": "TRIVIAL",
        "value": "venlafaxine",
        "start_index": 752,
        "end_index": 763
    }, {
        "entity": "FAMILY",
        "value": "nucleotide",
        "start_index": 1800,
        "end_index": 1810
    }]
}

前の例の環境変数は次のようになります。

  • dataset.input_format: json
  • dataset.input_column_name: text
  • dataset.output_column_name: entities

ai_center ファイル形式

これは既定の形式であり、AI Center のデータのラベル付けツールのエクスポート形式でもあります。このモデルは指定したディレクトリ内の .json の拡張子が付いたすべてのファイルを読み取ります。

ai_center ファイル形式の例については、次のサンプルと環境変数を確認してください。

{
    "annotations": {
        "intent": {
            "to_name": "text",
            "choices": [
                "TransactionIssue",
                "LoanIssue"
            ]
        },
        "sentiment": {
            "to_name": "text",
            "choices": [
                "Very Positive"
            ]
        },
        "ner": {
            "to_name": "text",
            "labels": [
                {
                    "start_index": 37,
                    "end_index": 47,
                    "entity": "Stakeholder",
                    "value": " Citi Bank"
                },
                {
                    "start_index": 51,
                    "end_index": 61,
                    "entity": "Date",
                    "value": "07/19/2018"
                },
                {
                    "start_index": 114,
                    "end_index": 118,
                    "entity": "Amount",
                    "value": "$500"
                },
                {
                    "start_index": 288,
                    "end_index": 293,
                    "entity": "Stakeholder",
                    "value": " Citi"
                }
            ]
        }
    },
    "data": {
        "cc": "",
        "to": "xyz@abc.com",
        "date": "1/29/2020 12:39:01 PM",
        "from": "abc@xyz.com",
        "text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."
    }
}{
    "annotations": {
        "intent": {
            "to_name": "text",
            "choices": [
                "TransactionIssue",
                "LoanIssue"
            ]
        },
        "sentiment": {
            "to_name": "text",
            "choices": [
                "Very Positive"
            ]
        },
        "ner": {
            "to_name": "text",
            "labels": [
                {
                    "start_index": 37,
                    "end_index": 47,
                    "entity": "Stakeholder",
                    "value": " Citi Bank"
                },
                {
                    "start_index": 51,
                    "end_index": 61,
                    "entity": "Date",
                    "value": "07/19/2018"
                },
                {
                    "start_index": 114,
                    "end_index": 118,
                    "entity": "Amount",
                    "value": "$500"
                },
                {
                    "start_index": 288,
                    "end_index": 293,
                    "entity": "Stakeholder",
                    "value": " Citi"
                }
            ]
        }
    },
    "data": {
        "cc": "",
        "to": "xyz@abc.com",
        "date": "1/29/2020 12:39:01 PM",
        "from": "abc@xyz.com",
        "text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."
    }
}

前のサンプル JSON を利用するには、環境変数を次のように設定する必要があります。

  • dataset.input_formatai_center に設定
  • dataset.input_column_namedata.text に設定
  • dataset.output_column_nameannotations.ner.labels に設定

環境変数

  • dataset.input_column_name

    • テキストが含まれる列の名前です。
    • 既定値は data.text です。
    • この変数は、入力ファイル形式が ai_center または JSON の場合にのみ必要です。
  • dataset.target_column_name

    • ラベルが含まれる列の名前です。
    • 既定値は annotations.ner.labels です。
    • この変数は、入力ファイル形式が ai_center または JSON の場合にのみ必要です。
  • model.epochs

    • エポック数です。
    • 既定値は 5 です。
  • dataset.input_format

    • トレーニング データの入力形式です。
    • 既定値は ai_center です。
    • 使用できる値は ai_centerconlllabel_studiojson です。
      注: label_studio 形式は CoNLL 形式と同じで、2 つのデータ ポイントが新しい空の行で区切られます。-DOCSTART- -X- O O で 2 つのデータ ポイントを区切れるようにするには、dataset.input_format を環境変数として追加して、その値を conll に設定します。

成果物

成果物は以下のとおりです。
  • 以下のファイルを含む評価レポート
    • 分類レポート
    • 混同行列
    • 適合率と再現率に関する情報
  • JSON ファイル: 評価レポートの PDF ファイルの各セクションに対応する、個々の JSON ファイルを利用できます。これらの JSON ファイルはマシンによる読み取りが可能であるため、ワークフローを使用してモデルの評価を Insights に追加できます。

分類レポート

分類レポートは、フル パイプラインまたは評価パイプラインの実行時にテスト データ セットから導き出されます。エンティティごとに以下の情報が図形式で記載されています。

  • Entity - エンティティの名前です。
  • Precision - テスト セットにおけるエンティティの正確な予測の適合率メトリックです。
  • Recall - テスト セットにおけるエンティティの正確な予測の再現率メトリックです。
  • F1 score - テスト セットにおけるエンティティの正確な予測の F1 スコア メトリックです。このスコアを使用して、このモデルの 2 つのトレーニング済みのバージョン間でエンティティ ベースのパフォーマンスを比較できます。


混同行列



混同行列の下には、各種のエラー カテゴリを説明する表も含まれています。エンティティごとのエラー カテゴリは correct (正しい)incorect (誤り)missed (見逃し)spurious (疑似) です。

適合率と再現率に関する情報

この情報を使用して、モデルの適合率と再現率のトレードオフを確認できます。しきい値とその値に対応する適合率および再現率の値も、エンティティごとに図の上の表に記載されています。この表を使用すると、ワークフローで設定するしきい値を選択し、Action Center にデータを送信して人間参加型の検証を行うべきシナリオを決定できます。選択したしきい値が大きければ大きいほど、人間参加型の検証を行うために Action Center に送信されるデータの量が増えます。

適合率と再現率の図と表はエンティティごとに用意されています。

エンティティごとの適合率と再現率の表の例は、以下のとおりです。

しきい値

適合率

再現率

0.5

0.9193

0.979

0.55

0.9224

0.9777

0.6

0.9234

0.9771

0.65

0.9256

0.9771

0.7

0.9277

0.9759

0.75

0.9319

0.9728

0.8

0.9356

0.9697

0.85

0.9412

0.9697

0.9

0.9484

0.9666

0.95

0.957

0.9629

エンティティごとの適合率と再現率の図の例は、以下のとおりです。



データ

評価 CSV ファイル

これは、評価に使用するテスト セットに関する予測を含む CSV ファイルです。ファイルには、以下の列が含まれています。

  • Text - 評価に使用するテキストです。
  • Actual_entities - 評価データセット内でラベル付けされたデータとして提供されたエンティティです。
  • Predicted_entities - トレーニング済みのモデルが予測したエンティティです。
  • Error_type_counts - エラーの種類によって分類された、実際のエンティティと予測されたエンティティの違いです。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.