固有表現抽出 (NER)
テキストから人名、地名、組織名などの固有表現を自動的に識別・分類する自然言語処理技術。
固有表現抽出 (NER: Named Entity Recognition) は、テキストから人名、地名、組織名、日付、金額などの固有表現を自動的に識別し、あらかじめ定義されたカテゴリに分類する自然言語処理技術です。たとえば「田中太郎は 2024 年に東京の ABC 株式会社に入社した」という文から、「田中太郎」を人名、「2024 年」を日付、「東京」を地名、「ABC 株式会社」を組織名として抽出します。情報抽出の最も基本的なタスクの一つであり、テキストマイニングの出発点として位置づけられています。
どのカテゴリに分けるかは固定ではなく、採用するタグ体系によって変わります。日本語では関根の拡張固有表現階層のように細かく階層化された体系があり、一方で spaCy が標準的に用いる OntoNotes5 はカテゴリ数がはるかに少ない粗い分類です。日本語解析ライブラリの GiNZA は、拡張固有表現階層にもとづく抽出結果を OntoNotes5 にマッピングして出力していると公式ドキュメントで説明しています。同じテキストを同じモデルで処理しても、返ってくるラベルの細かさは体系次第で変わるということです。
NER の技術は大きく 3 つの世代に分けられます。初期はルールベースの手法で、正規表現や辞書を用いてパターンマッチングを行っていました。次に CRF (条件付き確率場) や HMM (隠れマルコフモデル) などの統計的手法が主流となり、2026 年時点では BERT や GPT などの事前学習済み言語モデルをファインチューニングする深層学習ベースの手法が最も高い精度を報告しています。
NER は多くの NLP アプリケーションの基盤技術です。質問応答システムでは質問文中の固有表現を手がかりに回答を検索し、知識グラフの構築ではエンティティ間の関係を抽出する前段階として NER が不可欠です。ニュース記事の自動分類、医療文書からの薬品名・疾患名の抽出、金融レポートからの企業名・数値の抽出など、業界を問わず幅広く活用されています。spaCy、Stanford NER、Hugging Face の Transformers ライブラリなどが代表的なツールです。
日本語の NER には特有の課題があります。日本語はスペースで単語が区切られないため、日本語向けの実装は多くが形態素解析器に依存しており、その分割精度が NER の結果に直接影響します。GiNZA はトークン化 (形態素解析) の処理に SudachiPy を用いていると公式に記載しており、東北大学の日本語 BERT (Hugging Face 上のリポジトリ名は tohoku-nlp/bert-base-japanese、旧 cl-tohoku) は MeCab と IPA 辞書で単語分割したうえで WordPiece によるサブワード分割を行うとモデルカードで説明されています。人名と一般名詞の区別 (「松」が人名か植物名か)、新語や略語への対応、敬称の処理なども難しい問題です。日本語向けの NER モデルとしては、GiNZA や上記の日本語 BERT を用いたモデルが広く使われています。
よくある誤解として、NER は完璧に動作するという期待がありますが、実際にはドメインによって精度が大きく変わります。ニュース記事のような整った文章では高精度を達成しやすい一方、SNS の投稿やチャットのようなくだけた文章では精度が低下しがちです。また、学習データに含まれない新しい固有表現 (新設企業名、新人名など) への対応も課題であり、定期的なモデルの再学習が必要になります。
精度の数値を読むときは、それがどのタグ体系での値なのかを合わせて見る必要があります。GiNZA の公式ドキュメントが公開している拡張固有表現抽出精度 (ENE) は、ja_ginza (v5) が 53.9、ja_ginza_electra が 61.3、ベータ版の ja_ginza_bert_large が 70.8 です。同じドキュメントは、OntoNotes5 は拡張固有表現階層よりカテゴリ数が非常に少ない (粗い) ため、そこへマッピングした場合の抽出精度は拡張固有表現での数値より一般に高くなる、と明記しています。つまり「NER の精度は何 % か」という問いは、体系と評価データを指定しないと答えが定まりません。導入を検討する場面では、公開されている数値をそのまま自分の用途の期待値にせず、自分が扱う文書で試したうえで、抽出漏れと誤検出のどちらが業務上痛いかを決めておくのが現実的です。
文字数カウントの観点では、NER で抽出された固有表現の文字数分布を分析することで、テキストの情報密度や構成を把握できます。固有表現が多いテキストは具体的な情報が豊富であることを示し、逆に固有表現が少ないテキストは抽象的な内容が中心であることを示唆します。文字数カウントツールと NER を組み合わせることで、テキストの質的な分析が可能になります。ただし抽出された固有表現の件数や合計文字数は、タグ体系と分割の粒度に左右されます。「ABC 株式会社」を 1 件の組織名として取るか「ABC」だけを取るかで、件数も文字数も変わります。傾向を追う目的で使うなら、同じモデルと同じ体系で数え続けることが前提になります。