Named Entity Recognitionとは?

病院で患者のCTスキャンを調べる医師

Named Entity Recognitionとは?

Named Entity Recognition(NER)—エンティティー認識またはエンティティー抽出とも呼ばれる—は、テキスト本文内のオブジェクトの事前定義されたカテゴリーを識別する自然言語処理(NLP)のコンポーネントです。

カテゴリーには、個人、組織、場所、時間表現、数量、医療コード、金銭的値、割合などが含まれますが、これらに限定されません。基本的に、NERはテキスト文字列(文、段落、または文書全体)を取得し、各カテゴリーを参照するエンティティーを識別して分類するプロセスです。

Sixth Message Understanding Conference(MUC-6)で「NER」という用語が誕生したとき、その目標は、大量の非構造化テキストを処理し、重要な情報を特定する情報抽出タスクを合理化することでした。それ以来、NER は拡大し、進化してきましたが、その進化の多くは機械学習ディープラーニング技術の進歩によるものです。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

NER手法

2019年の調査によると、約64%の企業が社内リソースからの構造化データに依存しているが、非構造化データやソーシャルメディアのコメントをビジネス上の意思決定に活用している企業は18%未満です1

非構造化データの抽出にNERを利用する組織は、さまざまなアプローチに依存していますが、そのほとんどはルールベースのアプローチ、機械学習アプローチ、ハイブリッドアプローチの3つの大まかなカテゴリーに分類されます。

  • ルールベースのアプローチでは、言語の文法に関するルールセットを作成します。次に、ルールを使用して、構造的および文法的特徴に基づいてテキスト内のエンティティーを識別します。これらの方法は時間がかかることがあり、目に見えないデータに対してうまく一般化されない可能性があります。
  • 機械学習アプローチ では、条件付きランダムフィールドや最大エントロピー(2種類の複雑な統計言語モデル)などのアルゴリズムを使用して、ラベル付きデータセットで AI駆動型の機械学習モデルをトレーニングします。その手法は、従来の機械学習手法(デシジョン・ツリーやサポート・ベクター・マシンなど)から、ニューラル・ネットワーク(RNNs)やトランスフォーマーのようなより複雑なディープラーニングアプローチまで多岐にわたります。これらの方法は、目に見えないデータに対する一般化には優れていますが、大量のラベル付きトレーニング・データを必要とし、計算コストが高くなる可能性があります。
  • ハイブリッドアプローチは、ルールベースの手法と機械学習の方法を組み合わせて、両方の長所を活用します。ルールベースのシステムを使用して、認識しやすいエンティティーをすばやく識別し、機械学習システムを使用してより複雑なエンティティーを識別できます。
オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

NER 方法論

NERの創設以来、特にディープラーニング・ベースの技術に依存するものでは、いくつかの重要な方法論的な進歩がありました。新しいイテレーションには、次のものがあります。

  • リカレント・ニューラル・ネットワーク(RNN)長短期記憶(LSTM)。RNNは、シーケンス予測問題用に設計されたニューラル・ネットワークの一種です。特殊な種類のRNNであるLSTMは、時間の経過とともにパターンを認識し、長いシーケンスにわたって情報を「メモリ」に保持することを学習できるため、コンテキストの理解とエンティティーの識別に特に役立ちます。
  • 条件付き確率場(CRF)。CRFは、NERタスクのためにLSTMと組み合わせて使用されることが多いです。個々のラベルだけでなく、ラベルのシーケンス全体の条件付き確率をモデル化できるため、単語のラベルが周囲の単語のラベルに依存するタスクに役立ちます。
  • トランスフォーマーとBERT。トランスフォーマーネットワーク、特に BERT (Bidirectional Encoder Representations from Transformers)モデルは、NER に大きな影響を与えてきました。BERTは、さまざまな単語の重要性を比較検討する自己注意メカニズムを使用して、単語の前後にある単語に注目することで単語の完全な文脈を考慮します。

NERプロセス

ステップ1.データ収集

NERの最初のステップは、注釈付きテキストのデータ・セットを集約することです。データ・セットには、名前付きエンティティーがラベルまたはマークされ、その種類を示すテキストの例が含まれている必要があります。注釈は手動で行うことも、自動化された方法で行うこともできます。

ステップ2. データの前処理

データ・セットが収集されたら、テキストをクリーニングしてフォーマットする必要があります。不要な文字を削除したり、テキストを正規化したり、テキストを文やトークンに分割したりする必要がある場合があります。

ステップ 3.特徴抽出

この段階では、前処理されたテキストから関連する特徴が抽出されます。これらの主要な機能には、品詞タグ付け(POSタグ付け)、単語埋め込み、コンテキスト情報などが含まれます。主要な機能の選択は、組織が使用する特定のNERモデルによって異なります。

ステップ4.モデル・トレーニング

次のステップは、注釈付きのデータ・セットと抽出された主要な機能を使用して、機械学習またはディープラーニング・モデルをトレーニングすることです。モデルは、テキスト内の単語間のパターンと関係、および対応する名前付きエンティティー・ラベルを識別することを学習します。

ステップ 5. モデル評価

NERモデルをトレーニングした後、その性能を評価する必要があります。精度、再現率、F1スコアなどのメトリクスを測定できます。これらは、モデルが名前付きエンティティーをどの程度正しく識別して分類するかを示します。

ステップ6. モデルのファイン・チューニング

評価結果に基づいて、モデルを改良して性能を向上させます。これには、ハイパーパラメータの調整、トレーニングデータの変更、および/またはより高度な手法(アンサンブルやドメイン適応など)の使用が含まれます。

ステップ 7. 推論

この段階では、新しいテキストに対する推論のためにモデルを使用し始めます。このモデルは、インプットテキストを取得し、前処理手順を適用し、関連する主要な機能を抽出し、最終的に各トークンまたはテキストの範囲の名前付きエンティティーラベルを予測します。

ステップ 8. 後処理

NERモデルのアウトプットは、結果を絞り込んだり、コンテキスト情報を追加したりするために、後処理手順を経る必要がある場合があります。エンティティーのリンクなどのタスクを完了する必要がある場合があります。エンティティーは、さらなる強化のために知識ベースやデータベースにリンクされます。

NERプロセスの実装

Named Entity Recognitionシステムを実装する最も簡単な方法は、アプリケーション・プログラミング・インターフェース(API)を使用することです。NER APIは、NER機能へのアクセスを提供するWebベースまたはローカル・インターフェースです。NER APIの一般的な例を次に示します:

自然言語ツールキット(NLTK)

NLTK は、人間の言語データを扱うPythonプログラムを構築するための主要なオープンソース・プラットフォームです。100以上の学習済み抽出モデル2に対して、使いやすいインターフェースを提供する。また、分類、トークン化、ステミング、タグ付け、解析、意味論的推論のためのテキスト処理ライブラリーも含まれています。NLKTには、ne_chunkと呼ばれる名前付きエンティティーを認識するための独自の分類子がありますが、PythonでStanford NERタガーを使用するためのラッパーも提供しています。

スタンフォードの名前付きエンティティー認識エンジン

スタンフォード大学によって開発されたスタンフォードNERは、標準的なエンティティー抽出ライブラリと広く考えられているJava実装です。CRFに依存し、名前付きエンティティーを抽出するための事前トレーニング済みモデルを提供します。

SpaCy

Pythonで書かれ、そのスピードと使いやすさで知られるSpaCyは、高度なNLPのためのオープンソース・ソフトウェア・ライブラリーです。最新の研究に基づいて構築されており、実際の製品で使用できるように設計されています。また、ユーザーがカスタマイズしたNER抽出ツールを構築できる高度な統計システムも備えています。

NERのアプリケーション

テクノロジーが進化し続けるにつれて、NERシステムはますます普及し、組織が日常的に遭遇するデータを理解できるようになります。これまでのところ、ヘルスケアや金融からカスタマー・サービスやサイバーセキュリティーに至るまで、複数の分野で役立つことが証明されています。

最も影響の大きいユースケースは次のとおりです:

情報抽出

NERは、大規模な非構造化データベースから有用な構造化された情報を抽出するための重要な第一歩です。検索エンジンはNERを使用して検索結果の関連性と正確性を向上させます。

自動ニュース集約

ニュースアグリゲーターはNERを使用して、含まれている名前付きエンティティーに基づいて記事やストーリーを分類します。これにより、より整理された効率的な方法で視聴者にニュースを提示できます。例えば、ニュースアプリ用のNERは分類プロセスを自動化し、類似のニュース記事をグループ化し、特定のニュースイベントをより包括的に把握できるようにします。

ソーシャル・メディアの監視

ソーシャルメディア・プラットフォームの普及に伴い、分析に利用できるテキストデータの量は膨大になっています。NERはソーシャル・メディア分析において重要な役割を果たし、投稿やコメントの主要なエンティティーを特定して、さまざまなトピックに関する傾向や世間の意見(特にブランドや製品に関する意見)を把握します。この情報は、企業がセンチメント分析を行い、マーケティング戦略を策定し、カスタマー・サービスの応答を作成し、製品開発の取り組みを加速させるのに役立ちます。

チャットボットとバーチャル・アシスタント

バーチャル・アシスタントと生成AIチャットボット、NERを使用してユーザーの要望やカスタマー・サポートのクエリーを正確に理解します。これらのAI搭載ツールは、ユーザーのクエリー内の重要なエンティティーを識別することで、コンテキストに応じて的確な応答を提供します。例えば、「ピードモント公園近くのソウルフードレストランを探す」というクエリーでは、NERは、アシスタントが「ソウルフード」を料理として、「レストラン」を施設の種類として、「ピードモント公園」を場所として理解するのに役立ちます。

サイバーセキュリティー

サイバーセキュリティーでは、NERはネットワーク・ログやその他のセキュリティー関連データの潜在的な脅威や異常を企業が特定するのに役立ちます。例えば、ネットワーク・セキュリティー・ログ内の疑わしいIPアドレス、URL、ユーザー名、ファイル名を識別できます。そのため、NERはより徹底的なセキュリティー・インシデントの調査を促進し、全体的なネットワーク・セキュリティーを向上させることができます。

NERの使用における課題

NERは創業以来、革新的なテクノロジーを統合し、その過程でその有用性を大きく拡大しながら長い道のりを歩んできました。ただし、NERテクノロジーを評価する際には、考慮すべき課題がいくつかあります。

NERは英語などの言語では大きな進歩を遂げましたが、他の多くの言語では同じレベルの正確性はありません。これは、多くの場合、これらの言語でラベル付きデータが欠如していることが原因です。ある言語から別の言語に知識を伝達するクロスリンガルNERは、NETの言語ギャップを埋めるのに役立つ可能性のある活発な研究分野です。

エンティティーが他のエンティティー内にネストされている場合があり、これらのネストされたエンティティーを認識するのは難しい場合があります。例えば、「ペンシルバニア州立大学ユニバーシティパークは1855年に設立されました」という文では、「ペンシルバニア州立大学」と「ペンシルバニア州立大学ユニバーシティパーク」の両方が有効なエンティティーです。

さらに、一般的なNERモデルは、名前や場所などの一般的なエンティティーを識別できますが、特定のドメインに固有のエンティティーでは困難な場合があります。例えば、医療分野では、病名や医薬品名などの複雑な用語を識別するのは困難な場合があります。ドメイン固有のNERモデルは、特殊なドメイン固有のデータを使ってトレーニングできますが、その情報の調達自体が困難になる可能性があります。

NERモデルは、曖昧さによる広範な問題(例えば、「Apple」は果物やテクノロジー企業を指す場合もあります)、エンティティー名のバリエーション(例えば、「USA」、「U.S.A.」、「United States」、「United States of America」はすべて同じ国を指します)、および限られたコンテキスト情報(テキストや文にエンティティーを正確に識別して分類するための十分なコンテキストが含まれていない場合)に直面する可能性もあります。

NERには課題がありますが、継続的な進歩により精度と適用可能性が常に向上しているため、既存のテクノロジー・ギャップの影響を最小限に抑えることができます。

NERの未来

NERは定評のある分野ですが、やるべきことはまだたくさんあります。

将来を見据えると、有望な分野の1つは、NERの教師なし学習手法です。教師あり学習手法はうまく機能していますが、大量のラベル付きデータを必要とするため、取得が困難な場合があります。教師なし学習手法は、ラベル付きデータを必要とせず、組織がデータの可用性に関する課題を克服するのに役立ちます。

もう1つの興味深い方向性は、NERと他のNLPタスクとの統合です。例えば、NERとエンティティーのリンク(エンティティーを知識ベースの対応するエントリーにリンクする方法)や、NERと共参照解決(テキスト内の2つ以上の表現が同じエンティティーを指す場合を判断する方法)の共同モデルによって、テキストをよりよく理解して処理するシステムが可能になります。

Few-shot学習とマルチモーダルNERは、NERテクノロジーの機能も拡張します。Few-shot学習では、モデルは少数の例だけでタスクを実行するようにトレーニングされるため、ラベル付きデータが不足している場合に特に役立ちます。一方、マルチモーダルNERは、テキストを他のエンティティータイプと統合します。例えば、画像や音声は、エンティティーの認識に役立つ追加のコンテキストを提供します。

関連ソリューション
IBM® watsonx Orchestrate

IBM® watsonx Orchestrateを使用すると、スケーラブルなAIアシスタントとエージェントを簡単に設計し、反復的なタスクを自動化し、複雑なプロセスを簡素化できます。

watsonx Orchestrateの詳細はこちら
自然言語処理ツールとAPI

ライブラリー、サービス、アプリケーションの強力かつ柔軟なポートフォリオにより、人工知能のビジネス価値を促進します。

NLPソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

IBM® watsonx Orchestrateを使用すると、スケーラブルなAIアシスタントとエージェントを簡単に設計し、反復的なタスクを自動化し、複雑なプロセスを簡素化できます。

watsonx Orchestrateの詳細はこちら NLPソリューションはこちら
脚注

1 「Analytics and AI-driven enterprises thrive in the Age of With」、Deloitte Insights社、2019年7月25日

2 「3 open source NLP tools for data extraction」、InfoWorld社、2023年7月10日