\documentclass[japanese]{jnlp_3.8}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{array}
\allowdisplaybreaks

\usepackage{hangcaption_jnlp}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition

%%%%%\renewcommand\UrlFont{\rmfamily}
\usepackage{color}
%%%%%\usepackage{algorithm,algorithmic}
\usepackage{multirow}
\usepackage{booktabs}
%%%%%\newcommand{\ctext}[1]{\raise0.2ex\hbox{\textcircled{\scriptsize{#1}}}}
\usepackage{otf}

\usepackage{bm}
%%%%%\usepackage{amsmath}
%%%%%\usepackage{amssymb}
%%%%%\usepackage{pifont}
%%%%%\usepackage{tikz}
%%%%%\usepackage{array}
%%%%%\allowdisplaybreaks
%%%%%\newcommand{\cmark}{}
%%%%%\newcommand{\xmark}{}
%%%%%\DeclareRobustCommand{\cmark}{\text{\ding{51}}}
%%%%%\DeclareRobustCommand{\xmark}{\text{\ding{55}}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{31}
\Number{3}
\Month{September}
\Year{2024}
%%%%\Issuetitle{「　　　　」特集号}

\received{2023}{12}{31}
\revised{2024}{4}{9}
\accepted{2024}{5}{21}

\setcounter{page}{1330}


%%%%   タイトル部分                                      %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{応用システム論文}
\jtitle{企業名の類似度に基づく\\日経企業IDリンキングシステムの構築と分析}
\jauthor{澤田　悠冶\affiref{Author_1} \and 安井雄一郎\affiref{Author_2} \and 大内　啓樹\affiref{Author_1}\affiref{Author_3}\affiref{Author_4} \and 渡辺　太郎\affiref{Author_1} \and 石井　昌之\affiref{Author_2} \and \mbox{}\\ 石原祥太郎\affiref{Author_2} \and 山田　　剛\affiref{Author_2}\and 進藤　裕之\affiref{Author_1}}
\jabstract{
日本経済新聞社では，経済分野を中心とした新聞記事と日経企業 DB を保有している．エンティティリンキングを用いて，新聞記事に出現する企業名を日経企業DBに結び付けることで，特定企業に関する高度な情報抽出への応用に期待ができる．そこで本論文では，新聞記事に出現する企業名と日経企業IDのリンキングを目的とした，日経企業 ID リンキングシステムを構築する．具体的には，日本経済新聞の新聞記事に記述される企業名に日経企業IDを付与したデータセットを作成し，企業名抽出モデルと類似度ベースエンティティリンキングモデルから成るパイプラインシステムを実装する．本データセットを用いた評価実験の結果，提案システムは既存システムを上回るリンキング性能を示すことを確認した．さらに，企業IDリンキング特有の技術的困難性を整理し，提案システムの課題について議論する．
\footnote[0]{本論文は，言語処理学会第30回年次大会で発表した論文\cite{sawada-etal-2024-anlp}を基にしたものです．}
}
\jkeywords{企業 ID リンキング，固有表現抽出，エンティティリンキング}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\etitle{Construction and Analysis of Similarity-based \\ Nikkei Company ID Linking System}
\eauthor{Yuya Sawada\affiref{Author_1} \and Yuichiro Yasui\affiref{Author_2} \and Hiroki Ouchi\affiref{Author_1}\affiref{Author_3}\affiref{Author_4} \and Taro Watanabe\affiref{Author_1} \and Masayuki Ishii\affiref{Author_2} \and Shotaro Ishihara\affiref{Author_2} \and Takeshi Yamada\affiref{Author_2}\and Hiroyuki Shindo\affiref{Author_1}}
\eabstract{%
Nikkei Inc. owns newspapers focusing on the economy and the Nikkei company DB. By constructing an entity linking system to link company names in newspapers to the Nikkei company DB, it is expected application towards advanced information extraction related to specific companies. In this paper, we report the results of designing a Nikkei company ID linking system. Specifically, we created a dataset for linking company IDs to company names mentioned in Nikkei's newspapers and implemented a pipeline system consisting of models for extracting company names from articles and linking them to company IDs. In experiments with the dataset, we confirmed superior linking performance compared to existing systems. Additionally, we organize the technical difficulties specific to company ID linking, and discuss the challenges of our system.
}
\ekeywords{Company ID Linking, Named Entity Recognition, Entity Linking}

\headauthor{澤田　他}
\headtitle{企業名の類似度に基づく日経企業IDリンキングシステムの構築と分析}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\affilabel{Author_1}{奈良先端科学技術大学院大学}{Nara Institute of Science and Technology}
\affilabel{Author_2}{日本経済新聞社}{Nikkei Inc.}
\affilabel{Author_3}{理化学研究所革新知能研究センター}{RIKEN Center for Advanced Intelligence Project}
\affilabel{Author_4}{国立国語研究所}{National Institute for Japanese Language and Linguistics}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\maketitle


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S1
\section{はじめに}
日本経済新聞社は，経済分野を中心とした新聞記事に加え，自社が調査した企業情報を収録したデータベース（日経企業 DB\footnote{\url{https://telecom.nikkei.co.jp/public/guide/manual/b/b09.html}}）を保有している．
新聞記事には，新規事業や組織再編などの，各企業に関する新しい情報が提供される．
記事に登場する企業名を日経企業DBの企業IDと紐づけることで，企業レベルの記事検索などの，特定企業に関する高度な情報抽出への応用に期待ができる．
企業名と企業IDの紐づけには，記事に出現する企業名の抽出と，抽出した企業名に企業 ID を割り当てるエンティティリンキング (Entity Linking; EL) が必要になる．
しかし，GiNZA\footnote{\url{https://megagonlabs.github.io/ginza/}}などの日本語汎用NLPツールは，企業名が組織名 (Organization) の一部として定義されており，既存の日本語ELシステム \cite{Davaajav-etal-2016-anlp,sekine-etal-2023-anlp} も主にWikificationタスクのために設計されている．
そのため，これらの既存ツールから日経企業DBへの適応は困難であり，Wikipedia と日経企業 DB のリンキングの違いについても議論の余地がある．

そこで本研究は，企業名と企業 ID のリンキングを目的とした，日経企業 ID リンキングシステムを実装する．
具体的には，日経企業 ID を知識ベースとするELデータセット（日経企業 ID リンキングデータセット）を作成し，事前学習済み日本語言語モデル \cite{yamada-etal-2020-luke} による企業名抽出モデル・類似度ベースELモデルを構築する．
本研究は，日経企業 ID リンキングデータセットから企業名の抽出性能とリンキング性能を評価し，日経企業 ID リンキングと一般的なELタスクの技術的困難性の違いについても考察する．
実験の結果，提案システムは抽出した企業名に対して約83\%のリンキング性能を示したものの，同名他社などの日経企業DB特有の事例に対しては依然としてリンキングが困難であることを確認した．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2
\section{日本経済新聞における企業IDリンキングシステム}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.1
\subsection{タスク概要}
日経企業 ID リンキングは，新聞記事を入力とし，記事に登場する企業名に日経企業 DB の企業 ID を割り振ることを目的とする．
日経企業 ID リンキングのタスク概要を図\ref{fig:task-overview}に示す．
図\ref{fig:task-overview}では，記事中に記述された4つの企業名（``トヨタ自動車''，``デンソー''，``オーロラ・イノベーション''，``トヨタ''）のうち，``トヨタ自動車''，``デンソー''，``トヨタ''に企業 ID が紐づけされている．
日経企業DBは日本企業のみが登録されており，``オーロラ・イノベーション''などの外国企業は登録されていない特徴がある．
本タスクは，日経企業 DB に収録されていない企業をリンク不可能な企業として定義し，これらの企業名には [NIL] のラベルを付与する．
評価時には，システムが抽出した企業名のスパン・ラベルの一致を評価し，ラベルは企業 ID または [NIL] が一致していれば正解とする．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F1
\begin{figure}[t]
\begin{center}
\includegraphics{31-3ia16f1.pdf}
\end{center}
\hangcaption{日経企業IDリンキングのタスク概要図．\textcolor{red}{赤文字}は企業 ID を持つ企業名．\textcolor{blue}{青文字}は企業 ID を持たない企業名を表す．}
\label{fig:task-overview}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.2
\subsection{日経企業IDリンキングデータセットの構築} \label{subseq:dataset}
上述のタスク設定にしたがって，本研究は日本経済新聞社の新聞記事と日経企業DBから日経企業 ID リンキングデータセットを作成する．
本データセットは，日本経済新聞記事オープンコーパス\cite{NKOPN_JLR2023}\footnote{\url{https://nkbb.nikkei.co.jp/alternative/corpus/}}を含めた3,025件の新聞記事と，全33,745社の日本企業が登録された日経企業DBを使用し，以下のアノテーション定義・データ作成方法に従ってデータセットを構築する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.2.1
\subsubsection{アノテーション定義}
本データセットは，略語（``日経''など）を含む特定企業を指す言語表現\footnote{本研究では``あの企業''，``当企業''などの特定の企業を間接的に示す表現は対象外とする．}を企業名として定義する．
企業名は，企業名に成りうる最長範囲を抽出対象とし，入れ子や不連続な範囲から成る固有表現は対象から除外する．
例えば，``ネッツ\underline{トヨタ}愛知''のような一部に親会社の企業名が含まれる事例においては，子会社の企業名のみ（``ネッツトヨタ愛知''）を抽出対象にする．
また，株式会社の略語表現（``ヤンセン\underline{社}''）は企業名の範囲に含め，``\underline{日経}平均株価''のような用語内部に含まれる企業名は対象から除外する．

次に，日経企業 ID のアノテーションでは，企業名に関連するキーワードから企業IDを特定する．
企業名に関連するキーワードは以下のルールに従って作成し，キーワードと文字列が類似する商号を日経企業 DB から検索する．

%%%%%\vspace*{3mm}

{\vskip .5\baselineskip}
\begin{enumerate}
    \item 「三菱 UFJ フィナンシャル・グループ」における「三菱 UFJ フィナンシャルグループ」など，中黒（・）などの記号を削除した文字列
    \item 「トヨタ自動車」における「トヨタ」など，重要度が高い「部分文字列」のみ\footnote{重要度が高い部分文字列は，グループ企業同士で共通している可能性が高い文字列を表す．
例えば「トヨタ自動車」の「トヨタ」は，「トヨタ紡績」や「トヨタ自動車九州」などのグループ企業で共通する文字列である．もし企業名と完全一致する商号が存在しない場合は，アノテータの判断によって重要な文字列を抽出し，キーワードからグループ企業の一覧を取得する．}
    \item 「トヨタ自動車」における「トヨタジドウシャ」など，企業名のカタカナ表記\footnote{日経企業 DB には企業の読み情報が収録されていないため，アノテータが任意で調査したカナカナ表記を使用する．}
	\item ``ホールディングス''，``グループ''の文字列をそれぞれ``HD'', ``G''に置換した文字列 \footnote{日経企業 DB には，``阪急阪神 HD''のように商号の一部が略される企業も存在する．これらの略語はホールディングス企業によく出現するため，企業名が商号とマッチするように一部文字列を置換する．}
\end{enumerate}
{\vskip .5\baselineskip}
%%%%%\vspace*{3mm}

正解企業 ID は，アノテータが各キーワードで検索した結果の中で決定する\footnote{検索結果による正解企業IDの揺れを調査するため，一部記事で筆者らもアノテーションを行った．筆者らのアノテーションと本データセットのスパン・ラベルの一致率を評価した結果，一致率（F値）は94.5\%であった．}．
検索結果の中から正解企業IDの特定が困難な場合や，検索結果に類似する商号が存在しない場合は，各企業の会社情報などを参考に正解企業IDを決定する．
日経企業DBに存在しないと判明した場合は[NIL]を付与し，正解企業IDが一つに絞り込めない場合は，該当する全ての企業IDを正解として扱う\footnote{評価時には，複数の企業IDのうち，いずれかの企業IDが出力されていれば正解とする．}．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.3
\subsection{データの作成方法}
日経企業 ID リンキングデータセットは，日本経済新聞の記事3,000件と，日本経済新聞記事オープンコーパスで企業名が出現する記事25件を使用する．
日本経済新聞の記事は，2018年1月～2022年6月までに掲載された朝刊の中から，以下の条件に従う記事を抽出し，抽出した約6万件の記事からランダムにサンプリングした．

%%%%%\vspace*{3mm}    
{\vskip .5\baselineskip}
\begin{itemize}
    \item 俳壇などのデータセットとして適さない記事種別や，掲載面に属す記事を除く
    \item 本文の文字数が1,000未満
    \item 企業名をほどよく含む．企業名を全く含まない記事や企業名が羅列された記事を除く\footnote{これらの記事は，疑似アノテーションの結果に従って削除した．疑似アノテーションで大量に固有表現が出現する記事は，人事情報のような企業名が羅列された記事である可能性が高いため，アノテーション対象から除外した．}
\end{itemize}
{\vskip .5\baselineskip}
%%%%%\vspace*{3mm}    

日経企業 DB は2022年度のバージョンを使用し，情報抽出向けアノテーションツールの brat \cite{stenetorp-etal-2012-brat} でアノテーションを実施した．
また，企業名を効率的にアノテーションするため，stockmark 社の日本語固有表現抽出データセット\cite{omi-2021-anlp}で，法人名を抽出する固有表現認識モデルを作成した．
法人名は，教育機関などの企業名以外の固有表現が含まれるため．疑似アノテーションされた約10,500件の法人名の中から，企業名ではないスパンや範囲誤りを2,000件程度削除・修正した．
最後に，疑似アノテーションで取りこぼした企業名を約500件追加し，9,014件の企業名に対して日経企業IDと[NIL]のラベルを付与した．

作成した日経企業IDリンキングデータセットの統計を表\ref{tab:data_split}に示す．
本データセットは，文字数が1,000文字未満の新聞記事に限定したことから，各記事の平均トークン数は200語程度である．
また，日経企業 DB は日本企業のみを対象にしているため，全企業名の約4割のリンク先が [NIL] であることも特徴である．
本研究では，アノテーションした全3,025記事のうち100記事を評価用，残りの8割を訓練用，2割を開発用として使用する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T1
\begin{table}[t]
\input{16table01.tex}
    \hangcaption{評価実験時データセットの統計．平均トークン数は japanese-luke-large のトークナイズで分割したサブワードの数を表す．}
    \label{tab:data_split}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.4
\subsection{日経企業IDリンキングの技術的困難性}\label{subseq:2.4}
一般 EL タスクでは，特定の実体を指す言語表現（メンション）を知識ベースに登録された実体（エンティティ）にリンキングすることを目的としている．
そして，一般 EL タスクの先行研究では，主に「訓練事例に出現しない未知なエンティティ」，「エンティティの時間変化」「メンションの語義曖昧性」が技術的困難な課題として挙げられている\cite{yamada-etal-2022-global,onoe-etal-2022-entity,higashiyama-etal-2023-jxiv}．
そこで，本データセットと一般 EL タスクのデータセットの出現傾向を比較し，日経企業IDリンキングタスクからみた3つの技術的困難性を考察する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.4.1
\subsubsection{未知な企業IDに対するリンキング}\label{subseq:rare_entities}
経済や政治に関する新聞記事では，一部の大手企業が出現しやすい特徴がある．
実際に，本データセットでの日経企業IDの出現頻度を表\ref{tab: long-tale company}に示す．
表\ref{tab: long-tale company}では，60\%程度の企業IDがデータセットに2回以上出現し，``トヨタ自動車''や``日産自動車''などの大手企業は50回以上出現する傾向が見られる．
一方で，日経企業DBに登録された企業 ID の約96\%はデータセットに登場しておらず，開発用・テスト用データにのみ出現する企業 ID は，各データの全企業 ID のうち6割以上を占める．
一般ELタスクの評価指標として使用されている AIDA CoNLL-YAGO\footnote{\url{https://github.com/facebookresearch/KILT?tab=readme-ov-file}}は，約590万件のエンティティのうち0.07\%のみが出現する．
しかし，AIDA CoNLL-YAGO は Wikification を目的に設計されているため，Wikipedia のリンク注釈を用いたモデル事前学習によって，全エントリの25\%程度を網羅することができる．
さらに，開発用データにのみ出現するエントリも1割未満まで減少することから，本データセットでは訓練事例に出現しない企業IDを多く含む状態でリンキングする必要がある．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T2
\begin{table}[t]
\input{16table02.tex}
    \caption{日経企業IDリンキングデータセットにおける日経企業IDの出現頻度}
    \label{tab: long-tale company}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T3
\begin{table}[b]
\input{16table03.tex}
    \caption{日経企業DBで重複する企業名数}
    \label{tab: duplicate company name_nikkei}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.4.2
\subsubsection{同名企業やグループ企業の曖昧性解消}\label{subseq:2.4.2}
日本国内には，子会社やグループ会社，近い本拠地で活動している企業同士（``トヨタ紡績''，\mbox{``トヨタ自動車''}など）で同じ文字列を採用する企業が存在する．
これらの企業は，記事内で同じ略称を用いる可能性があり，同じ略称を持つ企業名へのリンキングは一般ELタスクの語義曖昧性と同様の問題として捉えられる．
また，日本国内には同名企業が数多く存在しており，同じ業種でも所在地の違いから同じ商号を採用する場合もある．
実際に，日経企業 DB で登録されている同名企業の割合を表\ref{tab: duplicate company name_nikkei}に示す． 
日経企業DBには同名企業が全企業の2\%程度存在し，平均で約3.4社，最大で11社の商号が重複している．
一般ELタスクは曖昧性を回避した Wikipedia ページ\footnote{例えば，レオナルド・ダ・ヴィンチという名前の戦艦は``レオナルド・ダ・ヴィンチ（戦艦）''がページ名である．}をエンティティ名にしているため，Wu ら\cite{wu-etal-2020-scalable}やPetroni ら\cite{petroni-etal-2021-kilt}が使用しているエンティティ辞書では，名前の重複が発生していない．
一方で，日経企業DBは同名企業が少ない傾向にあるものの，開発データで正解企業 ID と同名の企業名が存在する事例は57件\footnote{[NIL] を除く全企業名の5.3\%．テストデータには4件出現する．}存在した．
そこで，本研究は同名他社への対応を本タスク特有の問題として整理し，これらの事例に対してリンキング性能を評価する．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S2.4.3
\subsubsection{商号の時間変化への対応}\label{subseq:2.4.3}
各企業の商号は，M\&A などの組織改編によって変化しやすい特徴がある．
そのため，記事の掲載時期と日経企業DBのバージョンの違いによって，掲載当時の企業名と現在の商号の間にミスマッチが起きることがある．
例えば，「日本興亜損害保険」と「損害保険ジャパン」は，2014年に「損害保険ジャパン」を存続会社として経営統合しており，2022年の日経企業 DB では「日本興亜損害保険」のリンク先は「損害保険ジャパン」になっている．
さらに，2021年以前の記事に登場する「ソニー」は現在の「ソニーグループ」を指しているのに対して，2021年以降の「ソニー」は現在の「ソニー（元ソニーエレクトロ二クス）」を指す\footnote{ソニーは，2021年に当社のエレクトロニクス事業を2代目ソニーとして移管し，本社機能を持つ初代ソニーの商号を「ソニーグループ」に変更した．そのため，2021年以前の「ソニー」は本社の「ソニーグループ（初代ソニー）」，2021年以降の「ソニー」はエレクトロニクス事業の「ソニー（2代目ソニー）」を指している．}など，同じ商号でも時間軸の変化によってリンク先の企業IDが変化することもある．
Wikipedia では，消滅した企業も「かつて存在した企業」としてページが残り続ける．
また，「ソニー」のような商号が継承される場合も，同じ「ソニー」のページ内で継承前後の企業を説明するように更新される．
そのため，Wikification を目的とする一般ELタスクでは，テキストの時系列やエントリ辞書のバージョンの違いに対しても，リンク先が変化しにくいと考えられる．

これに対し，日経企業 ID リンキングデータセットは，企業名と商号の間に時間変化が生じている事例が開発データで26件\footnote{[NIL] を除く全事例の2\%程度．テストデータには該当する事例は出現しなかった．}出現する特徴が見られた．
また，日経企業 DB は今後新しいバージョンに更新される可能性が高く，日経企業 DB の更新につれてミスマッチが起きる事例が増加すると予想される．
そこで，本研究では時間変化が起きた26件の事例に対してリンキング性能を評価し，\ref{subseq:error}節にて課題を分析する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3
\section{日経企業IDリンキングシステム}
日経企業 ID リンキングシステムは，入力テキストから企業名を抽出する企業名抽出器と，各企業名を該当する企業 ID に紐づける企業IDリンキング器の二つのモジュールで構成されている．
提案システムの概要を図\ref{fig:system-overview}に示す．
本システムは，二つのモジュールの解析結果に基づいて，新聞記事から企業名を抽出し，抽出した企業名に対応する企業 ID または [NIL] をラベリングする．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F2
\begin{figure}[t]
\begin{center}
\includegraphics{31-3ia16f2.pdf}
\end{center}
    \caption{提案システムの概要図}
    \label{fig:system-overview}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.1
\subsection{事前学習済み言語モデルを用いた企業名抽出器} \label{subsec:bert_crf}
事前学習済み言語モデルを用いて，新聞記事から企業名を抽出する固有表現認識モデルを作成する．
本研究では，日本語LUKEモデル\cite{yamada-etal-2020-luke}と Softmax 層を結合し，最大系列長が30語のサブワードから成るスパンで，企業名の適否を分類するスパン分類モデル\footnote{LUKE-NER のモデル部分とハイパーパラメータは\citeA{higashiyama-etal-2023-arxiv}を元に作成した (\url{https://github.com/naist-nlp/geo_data/tree/main/baseline/ner})} (LUKE-NER) を作成する．
また，比較手法として東北大学版の日本語BERTモデル\footnote{\url{https://huggingface.co/cl-tohoku/bert-large-japanese-v2}}と条件付き確率場\cite{lafferty-etal-2001-crf}を結合した系列ラベリングモデル\footnote{モデル部分とハイパーパラメータは\citeA{souza2020bertimbau}を元に作成した(\url{https://github.com/neuralmind-ai/portuguese-bert})} (BERT-CRF) も作成し，各サブワードのBIO方式によるラベル分類から企業名を抽出する．
日本語固有表現認識では，トークナイザによる単語分割誤りによって，モデルへ入力するサブワードと固有表現の境界の間に齟齬が生じることがある．
トークナイザによる単語分割誤りによる影響を考慮して，LUKE-NER は Higashiyama ら\cite{higashiyama-etal-2023-arxiv}と同様に分割誤りが生じた企業名を削除し，BERT-CRF は近江ら\cite{omi-2021-anlp}と同様に企業名の周辺文脈と企業名でそれぞれ分割したサブワード系列を入力して，モデルを学習する．
推論時は，どちらのモデルも企業名の分割誤りが生じた時点で不正解として評価する\footnote{なおテストデータでは，いずれのモデルも企業名の分割誤りは発生しなかった．}．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F3
\begin{figure}[t]
\begin{center}
\includegraphics{31-3ia16f3.pdf}
\end{center}
    \caption{LUKEを用いた企業IDリンキング}
    \label{fig:company-linking}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.2
\subsection{LUKE-Similarity: LUKEを用いた類似度ベース企業IDリンキング}
企業IDリンキング器の概要図を図\ref{fig:company-linking}に示す．
本研究は，日経企業IDリンキングタスクを日経企業 DB $C$に登録されている企業 ID と [NIL] を表すクラス$y \in \mathcal{Y} (\mathcal{Y}=\{y_1,...,y_{|C|},y_{\text{[NIL]}}\})$の分類問題と想定する．
具体的には，文字数 $n$ のテキスト $X = \{x_1, x_2, ..., x_n\}$ において，任意の始点と終点 $i,j\,(1 \leq i \leq j \leq n)$ のスパンから成る $k$ 個の企業名 $m \in \mathcal{M}\,(\mathcal{M} = \{m_1, m_2, ..., m_k\})$ に，それぞれクラス $y$ を予測する．
本研究では，日本語LUKEから出力されるスパンベクトルを用いて類似度を計算し，各企業名 $m$ からクラス $y$ が割り当てられる確率 $P(y|m)$ を以下の式より計算する．
{\vskip 0.5\baselineskip}
\begin{equation}
    \mathrm{P}(y|m) = \frac{\text{exp}\,(\text{score}(m,y))}{\sum\limits_{y' \in \mathcal{Y}}\,\text{exp}(\text{score}(m,y'))}
\end{equation}
{\vskip 0.5\baselineskip}

\noindent ここで，企業名 $m$ とクラス $y$ の類似性を表す $\text{score}(m, y)$ は，LUKE から出力された企業名 $m$ のスパンベクトル $\bm{e}$ と，クラス $y$ を表すクラスベクトル $\bm{s}$ の cosine 類似度である．
企業名のスパンベクトル $\bm{e}$ とクラスベクトル $\bm{s}$ は以下の式より求められ，[NIL] のクラスベクトルは，ランダム値で作成したベクトルを使用する．
{\vskip 0.5\baselineskip}
\begin{equation}
    \bm{e} = \textrm{LUKE}(X, i, j)
    \label{eq:mention_vector}
\end{equation}
\begin{equation}
    \bm{s} =
    \begin{cases}
    \, \textrm{LUKE}(c, 1, |c|) & (y \neq [\text{NIL}]) \\ 
    \, \mathrm{random}() & (y = [\text{NIL}])
    \end{cases}
    \label{eq:company_vector}
\end{equation}
\begin{equation}
    \text{score}(m, y) = \frac{\bm{s} \cdot \bm{e}}{||\bm{s}||\,||\bm{e}||}
    \label{eq:cosine}
\end{equation}
{\vskip 0.5\baselineskip}
式\ref{eq:mention_vector}, \ref{eq:company_vector}において，企業名のスパンベクトル $\bm{e}$ はテキスト $X$ と位置情報 $(i,j)$，[NIL] 以外のクラスベクトル $\bm{s}$ は各企業 ID に対応する商号 $c$ と商号の全体範囲 $(1,|c|)$ を入力したものである．
モデル学習時は，クラスベクトル $\bm{e}$ は更新せずに，以下の式より正解企業 ID のクラスベクトルと類似度が最大になるように損失を最小化する．
{\vskip 0.5\baselineskip}
\begin{equation}
   \mathcal{L} = - \sum\limits_{m \in \mathcal{M}} \sum\limits_{y \in \mathcal{Y}}\,\mathrm{log}(\mathrm{P}(y|m))
\end{equation}
{\vskip 0.5\baselineskip}
推論時は，企業名抽出器から抽出した企業名 $m'$ のスパンベクトルとモデル学習時に作成したクラスベクトルのcosine類似度を計算し，最も高い類似度を示したクラス $\hat{y}$ の企業 ID または [NIL] をリンク先として推定する．
\begin{equation} \label{eq:predict}
   \hat{y} = \underset{\text{$y \in \mathcal{Y}$}}{\mathrm{argmax}}\,\mathrm{P}(y|m')
\end{equation}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4
\section{評価実験}
\ref{subseq:dataset}節で説明した日経企業IDリンキングデータセットを用いて，提案システムの企業名抽出，企業 ID リンキングの精度を評価する．
企業名抽出・企業 ID リンキングの実験で使用するモデルの一覧とハイパーパラメータを表\ref{tab:models}，\ref{tab:hyperparameters}に示す．
本研究では，日本経済新聞社で導入されているルールベース情報抽出システム (T-laei) をベースラインとして使用する．
T-laei は，企業名に関する概念辞書との辞書マッチによって企業名と企業 ID が対となる候補を抽出し，ルールベースで企業 ID を選別する End-to-End リンキングシステムである．
T-laei の EL タスク本来の性能を示すため，T-laei の概念辞書を日経企業 DB の商号リストで代用した辞書マッチシステムを比較手法に追加した．
また，日経企業 ID リンキングデータセットは一般公開が困難なため，両タスクの実験では一般利用可能なモデルからどの程度企業名が解析可能かも評価する．
具体的には，企業名抽出では本データセットの疑似アノテーションに使用した Stockmark 日本語固有表現データセット\cite{omi-2021-anlp}で学習した LUKE-NER，企業 ID リンキングでは事前学習済み LUKE のパラメータから直接類似度検索を行う Zero-shot モデルを比較手法として追加し，提案システムと解析精度を比較する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T4
\begin{table}[t]
\input{16table04.tex}
    \caption{比較モデル}
    \label{tab:models}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T5
\begin{table}[t]
\input{16table05.tex}
    \hangcaption{各モデルのハイパーパラメータ．BERT-CRF の () 内の数値は CRF のハイパーパラメータ，LUKE-Similarity の () 内の数値は BiLUKE-Similarity のハイパーパラメータを表す．}
    \label{tab:hyperparameters}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



さらに，入力文の長さや周辺文脈の違いによる抽出性能の差異を調べるため，各記事を文レベル，段落レベル，記事レベル\footnote{一部記事ではトークン長が LUKE の最大入力トークン長を上回るため，パラグラフのトークン数の合計が最大入力トークン数を上回るごとに分割した．}に分けて解析性能を評価し，訓練事例数ごとの解析性能も比較する\footnote{LUKE-NER は入力文のトークン数によって学習コストが指数的に増加するため，文レベルと段落レベルからのみ評価する．記事レベルで BERT-CRF を学習したモデルの予測結果は図\ref{fig:ner-compare_with_datasize}に示す．}．
例えば，段落レベルは日経データセットを段落レベルに分割し，いずれもモデル学習時・テスト時に使用する．
日経データセットをモデル学習で使用しない比較手法においては，テスト時にのみ各レベルの日経データセットを使って評価する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.1
\subsection{企業名抽出}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.1.1
\subsubsection{実験方法}
文中の各企業名のスパンの一致について，適合率・再現率及びそれらの調和平均（F値）で評価する．
Stockmark 日本語固有表現抽出データセットによる LUKE-NER モデルは橋本ら\citeyear{hashimoto-etal-2022-anlp}と同様に学習データ，開発データ，テストデータの比率が 8:1:1 になるようにデータセットを分割し，開発データで抽出精度が最も高いパラメータで企業名を抽出する\footnote{予備実験として，全種類の固有表現ラベルで学習したモデルと法人名のスパンのみから学習したモデルを比較した．実験の結果，全種類使って学習したモデルのF値が法人名のスパンのみから学習したモデルとほぼ同程度の性能であったため，前者のモデルを比較手法として採用した．}．
また，Stockmark 日本語固有表現抽出データセットは全8種類\footnote{人名，法人名，政治的組織名，その他の組織名，地名，施設名，製品名，イベント名}の固有表現ラベルが付与されているため，本研究では法人名として予測されたスパンを企業名と仮定し，法人名と正解企業名スパンの一致について評価する．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T6
\begin{table}[b]
\input{16table06.tex}
    \caption{企業名抽出の実験結果}
    \label{tab:ner_results}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.1.2
\subsubsection{実験結果}
実験結果を表\ref{tab:ner_results}に示す．
テストデータにおいて，BERT-CRF（日経データ）とLUKE-NER（日経データ）はルールベースの T-laei よりも高い再現率・F値を示しており，事前学習済み言語モデルの固有表現認識タスク向け Finetuning によって偽陰性の問題が解消されている．
BERT-CRF と LUKE-NER の比較においては，文レベル・段落レベルのいずれも同程度の適合率・再現率・F値を示しているものの，LUKE-NER の方が2ポイント程度上回っている．
この結果は\citeA{yamada-etal-2020-luke}のCoNLL2003 \cite{tjong-kim-sang-de-meulder-2003-introduction}による実験結果でも同様の傾向が見られており，日本語 BERT と日本語 LUKE のパラメータ数の違い\footnote{bert-large-japanese-v2 の337M のパラメータ数に対し，luke-japanese-large (lite) のパラメータ数は415Mである．}も原因として考えられる\footnote{日本語 LUKE は Transormer のパラメータと Token embedding を XLM-RoBerta \cite{conneau-etal-2020-unsupervised}のパラメータで初期化している．XLM-RoBerta は事前学習時に CC-100 の全言語テキストを使用しているのに対して，日本語 BERT は CC-100 の日本語テキストのみを使用していることから，事前学習時に用いるデータセットの違いも性能差を生む原因になった可能性がある．}．
LUKE-NER (Stockmark) は，LUKE-NER（日経データ）よりもF値が10ポイント程度下回ったものの，再現率はほぼ同程度の値を示した．
Stockmark 固有表現認識データセットは，大学名などの企業名以外の固有表現が法人名として定義されているため，企業名以外の固有表現を抽出したことで偽陽性の誤りが生じたと考えられる．

企業名抽出器の抽出性能を訓練用の記事数ごとに比較した結果を図\ref{fig:ner-compare_with_datasize}に示す．
BERT-CRF と LUKE-NER は，100件程度の記事から500記事にかけてF値がやや増加傾向にあるものの，500記事からほぼ横ばいのF値で推移している．
日経データセットの新聞記事は主に大手企業が頻出し，「タタ自動車」の「タタ自」，「現代自動車」の「現代自」のように企業名の略称も規則性が高い特徴が見られる．
500件以上の記事から大手企業を網羅し，略称の規則性を捉えたことで，どちらのモデルも全記事と同程度の抽出性能が得られたと考えられる．
また，BERT-CRF を記事レベルで学習した場合，文レベル・記事レベルと比べて性能が著しく低下した．
記事を入力とした場合，文・段落レベルと比べてラベルの系列長がそれぞれ8.9倍・3.4倍長くなるため，系列パターンの学習が困難になったことが性能低下の原因として考えられる．
LUKE-NERも入力文が長くなるほど計算量が指数的に増加するため，記事レベルでの企業名抽出器の検討は学習コストの面で今後の課題である．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F4
\begin{figure}[b]
\begin{center}
\includegraphics{31-3ia16f4.pdf}
\end{center}
    \caption{訓練用データの記事数ごとのF値の推移}
    \label{fig:ner-compare_with_datasize}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2
\subsection{日経企業IDリンキング}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2.1
\subsubsection{実験設定}
企業IDリンキングシステムのみのリンキング性能と，企業名抽出器と組み合わせたパイプラインシステムによるリンキング性能を評価する．
前者の評価では企業名の全正解スパンをELモデルに与え，各スパンと最も類似度が高い上位 $k (k=\{1,5,10\})$ 件の日経企業 ID の中から正解企業IDが含まれているか評価する．
パイプラインシステムの評価では，文・段落レベルの各企業名抽出モデルから抽出されたスパンに対して企業IDを予測し，企業 ID リンキングシステムのスパンとリンク先の一致について，適合率・再現率及びそれらの調和平均（F値）で評価する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2.2
\subsubsection{各モデルの実装詳細}
\begin{description}
    \item[辞書マッチ]\mbox{}\\
    Levenstein距離\cite{Levenshtein1966BinaryCC}を用いて，文中の企業名において最も文字列が類似する商号を検索する．
    Levenstein距離の長さは企業名と商号の文字数に依存するため，それぞれの Levenstein 距離に対して文字列同士の最大編集距離で正規化し，編集距離が短い順に日経企業 ID を出力する．
    最短編集距離が閾値\footnote{開発データを用いた探索結果から，0.2を閾値として設定した．}を上回る場合は，[NIL] を最上位とする．
    
    \item[LUKE-Similarity (Zero-shot)]\mbox{}\\
    事前学習済みLUKEのパラメータで各企業ベクトルを作成し，各企業名のスパンベクトルとの近傍探索により日経企業 ID を予測する．
    ベクトル近傍探索には Faiss \cite{johnson2019billion}を導入し，最近傍のクラスベクトルとの cosine 類似度が閾値\footnote{訓練用データと開発データを用いた探索結果から，閾値を0.98に設定した．}未満の場合は [NIL] を最上位とする．
    
    \item[BiLUKE-Similarity]\mbox{}\\
    提案手法は，モデル学習時に企業 ID のクラスベクトルを更新しないため，クラスベクトルを更新可能な状態で学習した Bi-encoder ELモデル (BiLUKE-Similarity) を比較手法に追加する．
    BiLUKE-Similarity は，Wu ら\cite{wu-etal-2020-scalable}に倣い，企業 ID のクラスベクトルを作成する LUKE と企業名のスパンベクトルを作成する LUKE から構築する．
    具体的には，前者の LUKE から式\ref{eq:company_vector}によって企業 ID のクラスベクトル $\bm{s'}$ を作成し，式\ref{eq:cosine}の $\bm{s}$ 部分を置き換えることで，双方の LUKE のパラメータを更新するようにモデル学習する．
    モデル学習時には，メモリ削減のために In-batch サンプリングで正解候補を削減する．削減した正解候補の中から，正解企業IDのクラスベクトルと類似度が最大になるように損失を最小化する\footnote{事前実験では，Gillick ら\cite{gillick-etal-2019-learning}のように LUKE-Similarity (Zero-shot) の上位10件の予測結果を Hard-Negative として導入する手法も検討した．しかし，Hard-negative を追加するとリンキング性能が悪化したため，BiLUKE-Similarity の学習には In-batch サンプルのみを使用した．}．
\end{description}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2.3
\subsubsection{実験結果}
実験結果を表\ref{tab:el_results}に示す．
まず，本データセットにおいて辞書マッチは R@1 で70ポイント程度，R@10 で80ポイント程度の再現率でリンキングされており，辞書マッチでも部分文字列の一致から予測可能な事例が多い．
T-laei は辞書マッチの結果からルールベースで正解候補を選別しているため，辞書マッチと比べて適合率が高い傾向がある．
LUKE-Similarity（日経データ）は，企業名の正解スパンを対象にしたテストデータの評価において9割程度の企業名が正しくリンキングされており，全てのレベルで辞書マッチより高い再現率を示している．
文・段落・記事の3つ入力レベルでは，記事レベルが最も高い再現率を示しており，LUKE-Similarity (Zero-shot) でも同様の傾向が見られる．
この結果から，スパンベクトルの質は周辺文脈の情報量と直接関係しており，スパンベクトルの質はリンキング性能の向上において重要であることが確認できる．
しかし，LUKE-Similarity (Zero-shot) 自体は文レベルを除いて辞書マッチとほぼ同等の再現率であるため，初期パラメータから得られる企業ベクトル自体は，文字列類似度と同程度の効果であると解釈できる．
BiLUKE-Similarity は，R@1 が段落レベルの LUKE-Similarity よりも9ポイント程度下回っている．
これは学習時に In-batch サンプリングで比較対象を減らしたことが原因であり，Wu ら\cite{wu-etal-2020-scalable}のように Hard-negative を導入しても性能改善が見られなかった\footnote{式\ref{eq:cosine}にスコアを10倍にする温度パラメータを加えたところ，Hard-negativeの 有無によって性能が改善され，BiLUKE-Similarity も LUKE-Similarity と同程度の再現率を示した．しかし，提案手法も BiLUKE-Similarity 同様にスコア関数に改善の余地があることから，依然として提案手法が妥当と考える．}．
この実験の結果から，提案手法は日経企業DBにおいては BiLUKE-SImilarity を上回る性能を示しており，BiLUKE-Similarity の半分のパラメータ数でリンキング可能である点でも有効と考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T7
\begin{table}[t]
\input{16table07.tex}
    \caption{企業IDリンキングの実験結果}
    \label{tab:el_results}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


次に，企業名抽出モデル (LUKE-NER) の出力を用いたパイプラインシステムでは，提案システムのF値は LUKE-NER の95ポイント程度から12ポイント低下する結果を示した．
また，正解スパンを用いた結果と比べてパイプラインシステムの再現率は4ポイント程度低下しており，LUKE-NER の再現率から想定される性能低下の幅が3ポイントから1ポイント増加している．
LUKE-Similarity に入力するサブワード系列は，入力文を各企業名が登場する前後の文脈と企業名自体の3つのセグメントでトークナイズしたサブワード系列を結合して作成する．
LUKE-NER は入力文全体でトークナイズしたサブワード系列を入力するため，LUKE-Similarity と LUKE-NER の入力サブワード系列の違いもリンキング誤りに寄与したと考えられる．

LUKE-NER と LUKE-Similarity を組み合わせたシステムのリンキング性能を図\ref{fig:el-compare_with_datasize}に示す．
企業名抽出モデル（図\ref{fig:ner-compare_with_datasize}）は各500記事からほぼ横ばいのF値になっているのに対し，リンキング性能は記事数の増加に沿って徐々に改善されている．
この結果から，企業 ID リンキングは少量の事例から全企業 ID の規則性を捉えられることは難しく，企業名抽出と比べて多様な企業 ID の事例が必要と言える．
学習可能な記事数を増加させ，別表記の企業名に対する正解事例を増やすことで，将来的な性能改善が見込まれる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F5
\begin{figure}[t]
\begin{center}
\includegraphics{31-3ia16f5.pdf}
\end{center}
    \hangcaption{パイプラインシステムにおける訓練用データの記事数ごとのF値の推移．LUKE-NER (Zero-shot) のNER部分は各記事サイズで学習したLUKE-NERを使用している．}
    \label{fig:el-compare_with_datasize}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T8
\begin{table}[b]
\input{16table08.tex}
    \caption{訓練事例に出現する企業 ID と出現しない企業 ID，[NIL] に対する各ELモデルのリンキング性能．}
    \label{tab:el_performance_unknown}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.3
\subsection{技術的困難性に対する提案システムのリンキング性能の分析} \label{subseq:error}
本節では，\ref{subseq:2.4}節で紹介した技術的困難な事例について，提案システムの予測傾向を分析する．
まず，「未知な企業 ID へのリンキング（\ref{subseq:rare_entities}節）」について，訓練事例に含まれる企業ID，含まれない企業 ID，企業 ID が存在しない事例に対する段落レベルのリンキング性能を表\ref{tab:el_performance_unknown}に示す．
提案システムは訓練事例に存在する企業 ID および [NIL] において，辞書マッチより15ポイント以上上回るF値を示している．
しかし，訓練事例に存在しない企業IDでは辞書マッチとほぼ同程度の性能になっており，提案システムによって改善されたとは考えにくい．
実際に提案システムによる出力（表\ref{tab:output_examples_unknown}）では，正解の商号と文中の企業名が一致する場合は企業IDが特定できる場合はあるものの，未知の企業ID の別表記や略称に対応できていないことが確認できる．
また，一部のカタカナ表記の企業名が商号と一致するにも関わらず [NIL] と予測される事例もあり，外国企業が [NIL] として扱われることで，周辺文脈による外国企業の曖昧性を生んだ可能性がある．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T9
\begin{table}[b]
\input{16table09.tex}
    \caption{訓練事例に出現しない企業 ID に対するリンキング例}
    \label{tab:output_examples_unknown}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


次に，開発データにおいて「同名他社が存在する事例（\ref{subseq:2.4.2}節）」と「企業名と商号の間に時間変化がある事例（\ref{subseq:2.4.3}節）」に対する，段落レベルのリンキング性能と出力例を表\ref{tab:el_performance_amb_change}，\ref{tab:output_examples_time}に示す．
提案システムは，同名他社・時間変化がある事例において比較手法を上回る性能を示しており，訓練事例に存在するこれらの事例を記憶したことで正解事例が増えたと考えられる．
同名他社においては，提案システムは R@5, R@10 で正解企業 ID をほぼ網羅するように予測しており，同名企業が上位数件の中に絞り込まれていることが確認できる．
しかし，提案システムは商号のみからクラスベクトルを作成しているため，同名企業に対する類似度は同一である．
表\ref{tab:output_examples_time}上部の例は，提案システムは誤って同名他社（三陽商会 (3212)）をリンク先としているものの，実際は正解企業 ID（三陽商会 (1638)）と同じ cosine 類似度を示している．
そのため，提案システムは R@1 の精度に反して，本質的には同名他社を判別できてない．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T10
\begin{table}[b]
\input{16table10.tex}
    \caption{同名他社が存在する企業ID，時間変化が生じた企業 ID に対する EL モデルのリンキング性能}
    \label{tab:el_performance_amb_change}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T11
\begin{table}[t]
\input{16table11.tex}
    \caption{同名他社，企業の時間変化におけるシステムエラー例．上部の例の () は日経企業 ID を表す．}
    \label{tab:output_examples_time}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



時間変化がある企業名においては，提案手法が最も高い再現率を示しているものの，全体の性能は低い傾向にある．
表\ref{tab:output_examples_time}の下部の例では，企業の統合によって，企業名が正解企業IDの商号に変化していることが分かる．
このような変化に対して，文字列や周辺文脈の類似性のみからではリンク先の予測は難しく，類似度ベースのELシステムではリンキングが困難であると確認できる．
以上の結果を踏まえ，提案システムは事前学習済み言語モデルから出力されるスパンベクトルを学習することで性能改善が見られたものの，未知企業 ID，同名他社，時間変化のある企業名においては依然として課題が残る．
企業IDの有無以外に外国企業であるかを事前に分類をする機構や，各企業の属性や時間的特性を考慮した類似度計算方法の導入は今後の課題である．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S5
\section{関連研究}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S5.1
\subsection{日本語固有表現認識タスク}
日本語テキストを含んだ固有表現認識タスクに関する言語資源の一覧を表\ref{tab:japanese_ner_datasets}に示す．
萩行ら\cite{kawahara-etal-2014-KWDLC}による京都大学ウェブ文書リードコーパス (KWDLC)\footnote{\url{https://nlp.ist.i.kyoto-u.ac.jp/?KWDLC}}は，Web 上の多様な文書の先頭3文に形態素・固有表現・構文・格関係，照応・省略関係，共参照，談話関係の情報が人手付与されており，企業名はIREX\footnote{\url{https://nlp.cs.nyu.edu/irex/}}を基準に組織名の一部として定義されている．
橋本ら\citeyear{hashimoto-etal-2008-gsk}による拡張固有表現タグ付きコーパス (GSK2014-A)\footnote{\url{https://www.gsk.or.jp/catalog/gsk2014-a/}}は，BCCWJ\footnote{\url{https://clrd.ninjal.ac.jp/bccwj/}}のコアデータと毎日新聞の記事に対して関根の拡張固有表現階層バージョン7\footnote{\url{https://nlp.cs.nyu.edu/ene/version7_1_0Beng.html}}\cite{sekine-etal-2002-extended}を人手付与したコーパスであり，二つのデータには約8,000個の企業名が固有表現としてタグ付けされている．
松田ら\citeyear{matsuda-etal-2020-anlp}は，UD-japanese-GSD\footnote{\url{https://github.com/UniversalDependencies/UD_Japanese-GSD}}をspaCy標準日本語モデルに搭載する固有表現抽出モデルの元データとして再整備した．再整備した UD-japanese-GSD には spaCy の固有表現ラベル体系である OntoNotes5 \cite{ralph-etal-2013-OntoNote}をベースに固有表現ラベルが人手付与されており，企業名は組織名の一部として扱われている．
近江ら\citeyear{omi-2021-anlp}は松田らと同じWikipediaテキストを使用しているが，応用上重要な固有名詞のみに焦点を当てるため組織名を「法人名」，「政治的組織名」，「その他の組織名」に細分化しており，企業名は法人名の一部として定義されている．
Pan らによる WikiANN\footnote{\url{https://huggingface.co/datasets/wikiann}}は，英語 Wikipedia ページの分類結果を多言語リンクから他の言語に適用することで，日本語を含む282言語の固有表現認識データセットを自動作成する手法を実装した．
Pan らのフレームワークはAMRやYAGOのラベル体系でも自動生成が可能と主張しているものの，公開されている日本語データセット\footnote{\url{https://huggingface.co/datasets/wikiann/viewer/ja}}は人名 (PER)・地名 (GPE/LOC)・組織名 (ORG) のみがラベル付けされている．
本研究で作成した日経企業 ID リンキングデータセットは，使用テキストが新聞記事で同じ企業名をラベル付与している GSK2014-A と，定義上は法人名であるものの，ほぼ企業名の固有表現が占める ner-wikipedia-dataset と比較可能である．
しかし，GSK-2014-A は20年以上前の新聞記事を使用しているため，本研究はテキストデータの作成時期が近く BERT-CRF・LUKE-NER において94ポイント程度の精度で法人名が抽出できる ner-wikipedia-dataset のみを比較対象として使用した．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T12
\begin{table}[t]
\input{16table12.tex}
    \caption{日本語を対象に含む固有表現認識データセットの比較．$^{\star}$は多言語の固有表現認識データセットを表す．}
    \label{tab:japanese_ner_datasets}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S5.2
\subsection{日本語ELタスク}
現在一般利用可能な日本語ELタスクに関する言語資源の一覧を表\ref{tab:japanese_el_datasets}に示す\footnote{\citeA{higashiyama-etal-2023-jxiv}より一部抜粋．}．
日本語ELに関する言語資源は，\citeA{higashiyama-etal-2023-arxiv}による ATD-MCL を除いて Wikipedia エントリを人手付与したデータセットであり，多言語を対象にした EL タスクでは日本語を含んだ言語資源\cite{botha-etal-2020-emnlp,david-etal-2023-arxiv}も存在する．
Jargalsaikhan ら\cite{Davaajav-etal-2016-anlp}による日本語 wikification データセットは，GSK2014-A の新聞記事データ\footnote{BCCWJ のサブコーパス (PN) であり，毎日新聞`95データ集の新聞記事とは異なる．}を使用し，数値表現・時間表現などの一部固有表現を除いたラベルに Wikipedia エントリを人手付与したデータセットである．
関根らによる SHINRA2022 は，Wikipedia構造化プロジェクトの一環として日本語 Wikipedia ページ内にある属性値に対して該当する Wikipedia ページをリンキングするタスクを開催している．
属性値のリンキングでは，関根の拡張固有表現ごとに定められた属性に関するメンションに対し，適当な Wikipedia 記事を選択する．
例えば，企業名には属性として「創設者」などが定義されており，``Microsoft（企業名）''の Wikipedia ページに記載された属性値「ゲイツ」のメンションから「ビル・ゲイツ」の Wikipedia 記事をリンキングする．
Higashiyama ら\citeyear{higashiyama-etal-2023-arxiv}による ATD-MCL は，旅行記に記述された地名・施設名などの特定の場所を示す表現（場所参照表現）に対して，地理データベース上のエントリを人手付与したデータセットである．
Botha ら\cite{botha-etal-2020-emnlp}によるMewsli-9とKube{\v{s}}aら\cite{david-etal-2023-arxiv}による DaMuEL は，Wikipedia 記事の編集者によって設定されたアンカーテキストをメンションとしており，一般名詞句によるメンションも一部含まれる．
Wikification タスクでは Wikipedia の dump データを使った事前学習\cite{yamada-etal-2022-global,decao2021autoregressive}によって Wikification タスクに特化した手法が実装されているが，日経企業IDリンキングではこのようなdumpデータは使用できないため，約3,000記事程度のテキストからリンク先が特定できる手法が求められる．
ATD-MCL も OpenstreatMap がリンク先の知識ベースとなっているため同様の課題が考えられるが，Higashiyama ら場所参照表現の抽出性能と共参照関係の解析性能についてモデル評価は行っているものの，地理データベースのエントリにおいてはアノテータの Agreement の評価のみ実施している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T13
\begin{table}[t]
\input{16table13.tex}
    \caption{日本語を対象に含むELデータセットの比較．$^{\star}$は多言語のELデータセットを表す．}
    \label{tab:japanese_el_datasets}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



本研究は，Wikipedia 以外の知識ベースを使った EL システム構築の足掛かりとして事前学習済み LUKE モデルによる類似度ベース企業 IDリンキングシステムを構築し，本データセットの性能評価を行った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S5.3
\subsection{類似度ベースELモデル}
類似度ベースの EL モデルでは，主に Bi-encoder と Cross-encoder によるリンキング手法が提案されている．
Bi-encoder EL モデルは，エンティティ本体とメンションを符号化する Encoder を用意し，それぞれの Encoder の出力ベクトル同士で類似度を計算する．
Gillick ら\cite{gillick-etal-2019-learning}は，メンション自体と周辺文脈を符号化する Encoder と，エンティティ本体・定義文・カテゴリを符号化する Encoder を組み合わせ，二つの Encoder から出力されるベクトル同士の cosine 類似度を計算することでリンク先を推定する手法を提案した．
Bi-encoder による手法は，メモリ削減のために学習時の比較事例を減らす必要があるものの，近似近傍探索によって全エンティティの中から高速にリンク先を推論できる利点があり，未知のエンティティに対しても類似するエンティティと近いベクトルが作成されるため，再現率が高い傾向がある．

Cross-encoder ELモデルは，メンションとエンティティの組み合わせをそれぞれ入力し，各組み合わせに対してスコアリングを行う\cite{Humeau2019PolyencodersAA}．
Cross-encoder は，各組合せを入力することで周辺文脈とエンティティの相互作用を考慮しやすくなり，Bi-encoder と比べて適合率が高い利点がある．
しかし，文中の各メンションに対して全てのエンティティの組み合わせでスコアリングすると計算量が膨大になるため，BM25などの頻度ベースの類似度計算によって候補集合を事前抽出している\cite{logeswaran-etal-2019-zero}．
Wuら\cite{wu-etal-2020-scalable}はBi-encoderとCross-encoderの双方の特徴を活用し，Bi-encoder EL で予測された上位100件のエンティティを Cross-encoder EL で再度ランキングする手法を提案している．

本手法は，複数の LUKE モデルからスパンベクトルとクラスベクトルの類似度を求める点で Bi-encoder に近いモデル構造となっている．
そこで，Wuらと同様に Bi-encoder による LUKE-EL を比較手法として追加したところ，企業 ID リンキングタスクにおいて全企業 ID を候補として直接ランキングを行う本手法が有効であることが分かった．
また，本手法はクラスベクトル$\bm{e}$の作成に商号のみを使用したが，日経企業DBの基礎情報には企業の業界カテゴリや住所，通称などの属性も収録されている．
エンティティの属性を含んだ定義文から企業ベクトルを作成することでモデル改善が見込まれるため，これらの属性情報を含んだ企業定義文の作成方法や [NIL] ベクトルの作成方法は今後の課題である．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6
\section{おわりに}
本研究は，日本経済新聞社の新聞記事と日経企業DBの知識統合化のための，新聞記事に出現する企業名と企業 ID を紐づける企業IDリンキングシステムを作成した．
企業名を対象にした EL データセットを作成し，事前学習済み言語モデルベースの EL モデルを実装した結果，既存システムよりも高い抽出性能を達成した．
また，日経企業 ID リンキングタスクにおける技術困難性について考察し，提案システムは未知企業 ID，同名他社，企業名の時間変化に対して改善の余地が見られた．

今後対象記事の拡大により発生すると考えられる課題として，同名他社・企業名の時間変化の事例増加への対応が挙げられる．
また，企業 ID のアノテーションは2022年時点の日経企業 DB を用いて実施したため，将来的に別バージョンの日経企業 DB からでも取り扱えるようにする必要がある．
日経企業 DB で収録されたその他の企業属性の活用によるモデルの性能改善とともに，企業の沿革情報から企業名変遷のタイムラインを生成するなど，記事と日経企業 DB の時間軸によってリンク先の企業 ID を更新しやすいシステムを検討する予定である．



% Start Acknowledgment
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\acknowledgment
本研究は，日本経済新聞と奈良先端科学技術大の共同プロジェクトとして実施したものです．



% Start bibliography
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.7}
    \bibliography{16refs}



% Start biography
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}

\bioauthor{澤田　悠冶}{%
2019年関西学院大学総合政策学部卒．2021年奈良先端科学技術大学院大学先端科学技術研究科博士前期課程修了．同年，同大学院先端科学技術研究科博士後期課程入学．自然言語処理の研究に従事．
}

\bioauthor{安井雄一郎}{%
日本経済新聞社日経イノベーション・ラボ主任研究員．2009年中央大学理工学研究科経営システム工学科博士前期課程修了．2023年総合研究大学院大学複合科学研究科統計科学専攻修了．博士（統計科学）．2012年から2016年まで中央大学および九州大学にて技術スタッフや研究員，2017年日経BPにてデータサイエンティストを経て，2019年より現職．2023年より統計数理研究所外来研究員．
}

\bioauthor{大内　啓樹}{%
奈良先端科学技術大学院大学先端科学技術研究科助教．2015年奈良先端科学技術大学院大学情報科学研究科博士前期課程修了．2018年同博士後期課程修了．博士（工学）．2018年から2021年まで理化学研究所 AIP センター特別研究員．2021年より現職，および，理化学研究所 AIP センター客員研究員．2023年より国立国語研究所共同研究員．情報処理学会，言語処理学会，地理情報システム学会各会員．
}

\bioauthor{渡辺　太郎}{%
1994年京都大学工学部情報工学科卒業．2000年 Language and Information Technologies, School of Computer Science, Carnegie Mellon University, Master of Science 取得．2004年京都大学博士（情報学）．ATR および NTT，NICT にて研究員，またグーグルでソフトウェアエンジニアとして勤めたあと，2020年より奈良先端科学技術大学院大学教授．自然言語処理や機械学習，機械翻訳の研究に従事．
}

\bioauthor{石井　昌之}{%
日本経済新聞社日経イノベーション・ラボ所属．2019年より現職，現在の専門分野は自然言語処理と生成AIの応用．
}

\bioauthor{石原祥太郎}{%
日本経済新聞社日経イノベーション・ラボ主任研究員．2017年東京大学工学部システム創成学科卒業．2017年より日本経済新聞社に入社し，現在は自然言語処理や機械学習の研究開発に従事．
}

\bioauthor{山田　　剛}{%
日本経済新聞社日経イノベーション・ラボ事務局長．2021年京都芸術大学大学院学際デザイン研究領域修了．修士（芸術）．2014年から日経金融工学研究所において信用リスクモデル開発等に従事，2017年より現職．
}

\bioauthor{進藤　裕之}{%
2009年，早稲田大学先進理工学研究科博士前期課程修了．同年 NTT コミュニケーション科学基礎研究所入所．2013年，奈良先端科学技術大学院大学情報科学研究科博士後期課程修了．2014年より現在まで，奈良先端科学技術大学院大学情報科学研究科助教．これまで，主に自然言語処理の研究に従事．情報処理学会，人工知能学会，言語処理学会，ACL 各会員．
}
\end{biography}

\biodate   %%%% Following settings will be edited by editors.


\end{document}