\section{はじめに}
自然言語処理の分野では古くから機械翻訳の研究が盛んに行われており，これまで様々な機械翻訳手法が提案されている．近年では，翻訳性能の高さから，ニューラルネットワークに基づく機械翻訳(NeuralMachineTranslation:NMT)が主流になっている．NMTの性能改善を行う研究の流れの一つとして，原言語文や目的言語文中の単語の品詞や文構造などの言語学的素性を活用する試みが行われている．その中で，言語学的素性として，人名や地名，組織名といった特定の表現を表す固有表現(NamedEntity:NE)に着目し，NMTにおいてNE情報を活用する研究が行われている\cite{tag,embed1,replace,embed2,embed3}．NEには複合語が多く存在するため，NEの情報をNMTに与えることで単語のチャンク情報を翻訳に活用できる．また，NEの種類の情報は，多義語を翻訳する際の語義曖昧性解消に役立つことが報告されている\cite{embed1}．NE情報を活用する代表的な方法として，NEの種類と開始／終了情報を含むNEタグを文中のNEの前後に挿入する「タグ付けモデル」\cite{tag}や，NE埋め込みを単語埋め込みに組み込む「埋め込みモデル」\cite{embed1}が提案されている．NE情報を活用するNMTの初期の研究では原言語文中のNEのみが活用されていたが，近年では，原言語文中のNEに加えて目的言語文中のNEの情報も活用することで翻訳性能が改善されており，埋め込みモデルにおいても目的言語文のNE情報が有効であることが報告されている\cite{embed3}．しかし，タグ付けモデルではこれまで目的言語文のNEは活用されていない．そこで本研究では，原言語文のNE情報に加えて目的言語文のNE情報も活用するタグ付けモデルを提案する．提案のタグ付けモデルの概要を図\ref{fig:tag-model}に示す．図\ref{fig:tag-model}のように，提案モデルでは，NEの種類と開始／終了情報を含むNEタグをNEの前後に挿入した原言語文と目的言語文に基づいて翻訳を行う．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[t]\begin{center}\includegraphics{31-2ia12f1.pdf}\end{center}\caption{提案タグ付けモデルの概要図}\label{fig:tag-model}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%また，機械学習の分野では，推論時に複数のモデルの出力を統合するアンサンブル\cite{Hansen}により性能改善が行われており，機械翻訳においてもアンサンブルの有効性が示されている．例えば，\citeA{ensemble}では，原言語側のNE情報を活用する3つの埋め込みモデル（単語埋め込みとNE埋め込みを加算するモデル，単語埋め込みとNE埋め込みを結合するモデル，ドキュメント単位で翻訳を行うモデル）をアンサンブルするモデルを提案し，翻訳性能を改善している．そこで本研究では，提案のタグ付けモデルの性能を改善させるため，提案タグ付けモデルと埋め込みモデルのアンサンブルにより翻訳を行うNMTモデルも提案する．提案のアンサンブルモデルの概要を図\ref{fig:ensemble-model}に示す．提案アンサンブルモデルではタグ付けモデル及び埋め込みモデルを独立に学習する．そして推論時に，図\ref{fig:ensemble-model}のように，学習した二つのモデルによる出力確率を平均した確率に基づき目的言語文を生成する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[t]\begin{center}\includegraphics{31-2ia12f2.pdf}\end{center}\caption{提案アンサンブルモデルの概要図}\label{fig:ensemble-model}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%WMT2014の英語とドイツ語間の翻訳タスク\cite{wmt2014}及びWMT2020の英語と日本語間の翻訳タスク\cite{wmt2020}において提案モデルを評価した結果，日英翻訳を除き，提案タグ付けモデルの翻訳性能が従来タグ付けモデルの翻訳性能を上回り，タグ付けモデルにおいて目的言語文のNE情報を活用することで翻訳性能が改善することを確認した．また，全ての言語対において，埋め込みモデルとアンサンブルすることで提案タグ付けモデルの翻訳性能が向上し，提案アンサンブルモデルは従来タグ付けモデルと比較して，英独翻訳では最大0.76ポイント，独英翻訳では最大1.59ポイント，英日翻訳では最大0.96ポイント，日英翻訳では最大0.65ポイントBLEUが上回ることを確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{従来研究}
本節では，NE情報を活用する従来のNMTモデルについて説明する．NE情報を活用するNMTモデルは，原言語文のNE情報のみを活用するモデルと，原言語文と目的言語文の両方のNE情報を活用するモデルに大別できる．原言語文のNE情報のみを活用するモデルとしては，例えば，\citeA{tag}は，NEタグを挿入した原言語文に基づき翻訳を行うタグ付けモデルを提案している．\citeA{embed1}は，LSTMに基づくNMTにおいて，エンコーダの埋め込み層で原言語文の各単語の埋め込みにそのNE情報（IOタグ）の埋め込みを加算する，埋め込みモデルを提案している．また，\citeA{embed2}は，TransformerNMTにおいて，原言語文のNE情報（IBOタグ）を統合する様々な埋め込みモデルを試し，その翻訳性能を調査している．彼らの調査では，NE情報の統合方法として加算と結合が試され，また，考慮するNE情報としてNEか否かのラベル（粗粒度）とNEクラスまで含むラベル（細粒度）が試されている．\citeA{ensemble}は，\citeA{embed2}の加算によりNE情報を統合する埋め込みモデル，結合によりNE情報を統合する埋め込みモデル，ドキュメント単位で翻訳を行うモデルの3つのモデルをアンサンブルするNMTモデルを提案している．\citeA{multiencoder}は，原言語文をエンコードするエンコーダとNE情報をエンコードするエンコーダの2つを備え，2つのエンコーダの出力の和をデコーダに送るTransformerNMTモデルを提案している．これらのNMTモデルは，本研究の提案モデルとは異なり，目的言語文のNEを活用していないことに注意されたい．原言語文と目的言語文の両方のNEを考慮するモデルとしては，例えば，\citeA{replace}は，原言語文と目的言語文の双方でNEの認識(NER)を行い，原言語と目的言語間で対応付いたNE部分をそのNEの種類を表す記号で置き換え，置き換え後の文を翻訳するNMTモデルを提案している．\citeA{multitask}は，TransformerNMTのエンコーダとデコーダにNE分類器を付加し，学習時に翻訳タスクと原言語文及び目的言語文のNEを検出するタスクのマルチタスク学習を行うことで，原言語側と目的言語側のNEを意識して翻訳を行うモデルを提案している．\citeA{embed3}は，エンコーダとデコーダの埋め込み層において，単語埋め込みとNE埋め込みを組み合わせる埋め込みモデルを提案している．以降では，提案のタグ付けモデル及びアンサンブルモデルのベースとなる，原言語文のNE情報のみを活用するタグ付けモデル\cite{tag}と，原言語文と目的言語文の両方のNEを活用する埋め込みモデル\cite{embed3}を詳細に説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{タグ付けモデル}\label{sect:tag-source}\citeA{tag}のタグ付けモデルは，まず，原言語文に対してNERを行い原言語文内のNEを特定する．そして，特定した原言語文中のNEの前後に，NEの種類と開始／終了の情報を含むNEタグを挿入し，NEタグが挿入された原言語文に基づいて学習や翻訳を行う．学習時には，教師データである対訳文対の原言語文に対してNERを行い，原言語文内のNEを特定する．そして，特定したNEの前に「\verb|<|$c$\verb|>|」というNEタグを挿入し，後に「\verb|</|$c$\verb|>|」というNEタグを挿入する．ここで，$c$はNEの種別を表すNEクラスである．このNEタグが挿入された原言語文と目的言語文の対を用いてNMTモデルを学習する．推論時には，原言語文に対して学習時と同様にNERを行い，原言語文内のNEの前後にNEタグを挿入する．そして，NEタグが挿入された原言語文を学習したNMTモデルで翻訳する．このタグ付けモデルは原言語文のNEしか活用していない．また，このモデルはLSTMに基づいており，Transformerに基づくタグ付けモデルについては研究されていない．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{埋め込みモデル}\label{sect:embedding}\citeA{embed3}の埋め込みモデルはTransformerNMTに基づくモデルである．この埋め込みモデルでは，通常のTransformerNMTモデル\cite{Transformer}のエンコーダとデコーダに，NEの情報を埋め込む「NE埋め込み層」と，単語埋め込み層の出力にNE埋め込み層の出力を足し合わせる「加算層」が追加されている．さらに，デコーダには，出力文の各単語のNEを予測する「NE出力層」が追加されている．埋め込みモデルの概要を図\ref{fig:embed-model}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3\begin{figure}[t]\begin{center}\includegraphics{31-2ia12f3.pdf}\end{center}\caption{埋め込みモデルの概要図}\label{fig:embed-model}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%エンコーダとデコーダには，単語系列とNE系列が入力される．ただし，\citeA{embed3}はNE情報をBIOESタグ形式（NEではない場合は「O」，NEの場合は，一単語で構成される場合は「S-NE種別」，複数単語で構成される場合は先頭の単語は「B-NE種別」，最後の単語は「E-NE種別」，それ以外は「I-NE種別」）で活用しているが，本研究では\citeA{embed1}と同様，IOタグ形式（NEではない場合は「O」，NEの場合は「I-NE種別」）でNE情報を活用する．IOタグ形式には，同じクラスのNEタグが連続した場合にNEを区別できないという欠点がある．例えば，\verb|<|ORG\verb|>|巨人\verb|</|ORG\verb|>|\verb|<|ORG\verb|>|阪神\verb|</|ORG\verb|>|と\verb|<|ORG\verb|>|巨人阪神\verb|</|ORG\verb|>|は，BIOES形式では$\text{巨人}_\text{S-ORG}\text{阪神}_\text{S-ORG}$と$\text{巨人}_\text{B-ORG}\text{阪神}_\text{E-ORG}$となり区別することができるが，IOタグ形式ではいずれの場合も$\text{巨人}_\text{I-ORG}$$\text{阪神}_\text{I-ORG}$となり区別できない．一方，IOタグ形式は，BIOESタグ形式と比べてタグのスパース性を緩和できるという利点がある．NEの構成要素に対して，IOタグ形式は「I-NE種別」の1種類のタグを割り当てるが，BIOESタグ形式は「B-NE種別」，「I-NE種別」，「E-NE種別」，「S-NE種別」の4種類のタグを割り当てるためBIOESタグ形式ではNEタグがスパースになる．このようにIOタグ形式には利点と欠点の両方があるが，本研究で使用したデータセットでは，同じクラスのNEタグが連続するのは全体の約0.8\%と僅かであるため，IOタグ形式の欠点が翻訳性能に大きく影響することはないと考え，本研究ではIOタグ形式を採用する．したがって，本節ではIOタグを入力とした場合の埋め込みモデルについて説明する．原言語側のIOタグは原言語文のNERの結果から獲得し，目的言語側のIOタグはNE出力層の出力から獲得する．表\ref{tbl:embed-input}に埋め込みモデルへの入力例を示す．表\ref{tbl:embed-input}の日本語文のIOタグ系列は，「東京タワー」が建築物(FAC)のNE，「1958年」が日付(DATE)のNE，それ以外の単語はNEではない(O)ことを表している．また，英語文のIOタグ系列は，「TokyoTower」が建築物のNE，「1958」が日付のNE，それ以外の単語はNEではない(O)ことを表している．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[t]\input{12table01.tex}\caption{埋め込みモデルの入力例}\label{tbl:embed-input}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%埋め込モデルは，まず，単語とIOタグを単語埋め込み層とNE埋め込み層に送り，単語埋め込みとNE埋め込みを生成する．そして，加算層で単語埋め込みとNE埋め込みを足し合わせ，単語とNEの両方の情報を含む埋め込みに基づいて翻訳を行う．具体的には，各時刻$t$において，単語出力層で単語$y_{t}\inV$の出力確率$p_{emb}(y_t|\bvec{\tilde{x}},\bvec{\tilde{y}}_{1:t-1})$を算出すると共に，NE出力層でIOタグ$l_{t}\inT_{emb}$の出力確率$p_{emb}({l}_t|\bvec{\tilde{x}},\bvec{\tilde{y}}_{1:t-1})$を算出し，時刻$t$における出力単語とそのIOタグのペアを，以下の確率に基づいて予測する．\begin{equation}\label{eq:embed_prob}p_{emb}(y_{t},l_{t}|\bvec{\tilde{x}},\bvec{\tilde{y}}_{1:t-1})=p_{emb}({y}_t|\bvec{\tilde{x}},\bvec{\tilde{y}}_{1:t-1})\timesp_{emb}({l}_t|\bvec{\tilde{x}},\bvec{\tilde{y}}_{1:t-1})\end{equation}ここで，$V$は目的言語の単語集合，$T_{emb}$は目的言語のIOタグ集合，$\bvec{\tilde{x}}$は原言語側の単語とそのIOタグのペアの系列，$\bvec{\tilde{y}}_{1:t-1}$は時刻$t-1$までの出力単語とそのIOタグのペアの系列を表す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{提案モデル}
本節では，原言語文と目的言語文の両方のNE情報を活用するタグ付けモデルを提案する（\ref{sect:tagging}節）．また，提案するタグ付けモデルを用いて，タグ付けモデルと埋め込みモデルのアンサンブルにより原言語文と目的言語文の両方のNEを考慮するNMTモデルも提案する（\ref{sect:proposed_model}節）．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{原言語文と目的言語文のNE情報を活用するタグ付けモデル}\label{sect:tagging}本節では，原言語文のNE情報に加えて目的言語文のNE情報も活用するタグ付けモデルを提案する．提案タグ付けモデルでは，図\ref{fig:tag-model}に示すように，原言語文に加えて目的言語文中のNEの前後にNEの種類と開始／終了の情報を含むNEタグを挿入し，NEタグが挿入された対訳文に基づいた学習と推論を行う．学習時には，まず，学習データの対訳文にNERを行いNEを特定し，特定したNEの前後にNEタグを挿入する．NER及びNEタグの挿入は，原言語文と目的言語文で独立に行う．NEタグの挿入は，従来の原言語文のNEのみを活用するタグ付けモデルと同様である（\ref{sect:tag-source}節参照）．つまり，特定したNEの前にNEタグ「\verb|<|$c$\verb|>|」を，後にNEタグ「\verb|</|$c$\verb|>|」を挿入する．ここで，$c$はNEの種別を表すNEクラスである．例えば，図\ref{fig:tag-model}では，原言語である日本語文中の「スティーブ・ジョブズ」が人名(PER)のNE，「アップル」が組織名(ORG)のNEと認識され，「スティーブ・ジョブズ」と「アップル」の前後に，それぞれ，「\verb|<|PER\verb|>|」と「\verb|</|PER\verb|>|」，「\verb|<|ORG\verb|>|」と「\verb|</|ORG\verb|>|」というNEタグが挿入されている．また，目的言語文である英語文も同様に，「SteveJobs」と「Apple」が，それぞれ人名と組織名のNEとして認識され，「SteveJobs」の前後には「\verb|<|PER\verb|>|」と「\verb|</|PER\verb|>|」，「Apple」の前後には「\verb|<|ORG\verb|>|」と「\verb|</|ORG\verb|>|」がそれぞれ挿入されている．そして，NEタグが挿入された対訳文対を用いてNMTモデルを学習する．推論時には，まず原言語文$\bvec{x}$に対して，学習時と同様にNERを行い，原言語文内のNEの前後にNEタグを挿入する．そして，NEタグが挿入された原言語文$\bvec{x'}$を，学習済みのNMTモデルで翻訳する．具体的には，各時刻$t$においてTransformerデコーダの出力層で単語及びNEタグの出力確率$p_{tag}(y'_t|\bvec{x'},\bvec{y'}_{1:t-1})$を算出し，算出した出力確率に基づいて目的言語文を生成する．ここで，$y'_{t}$は時刻$t$でのタグ付けモデルの出力であり，$y'_{t}\inV\cupT_{tag}$である．ただし，$V$は目的言語の単語集合，$T_{tag}$は目的言語のNEタグの集合である．つまり，$y'_{t}$は目的言語の単語あるいはNEタグである．また，$\bvec{y'}_{1:t-1}$は時刻$1$から$t-1$までの出力系列を表す．翻訳の結果，生成された文にNEタグが含まれている場合はNEタグを削除し，NEタグのない文を目的言語文として出力する．生成された文にNEタグが含まれていない場合は，生成した文をそのまま目的言語文として出力する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{タグ付けモデルと埋め込みモデルのアンサンブルモデル}\label{sect:proposed_model}本節では，\ref{sect:tagging}節で提案したタグ付けモデルと\ref{sect:embedding}節で説明した埋め込みモデルのアンサンブルによって原言語文と目的言語文の両方のNE情報を活用するNMTモデル「アンサンブルモデル」を提案する．提案アンサンブルモデルは，推論時に，独立に学習したタグ付けモデルと埋め込みモデルを用いて目的言語文を生成する．目的言語文の生成は，図\ref{fig:ensemble-model}に示すように，タグ付けモデルの出力確率と埋め込みモデルの出力確率を平均した確率に基づいて目的言語の単語とNEクラスを予測することで行う．具体的には，各時刻$t$においてタグ付けモデルと埋め込みモデルを用いて，目的言語の単語($y_{t}\inV$)とNE($c_{t}\inC\cup\{\text{O}\}$)のペア($o_t=(y_{t},c_{t})$)の出力確率$p(o_{t}|\bvec{x'},\bvec{\tilde{x}},\bvec{o}_{1:t-1})$を式(\ref{eq:ensemble_prob})の通りに求める．ただし，$C$はNEクラスの集合であり，「O」はNEではないことを表すクラスである．\begin{equation}\label{eq:ensemble_prob}p(o_t|\bvec{x'},\bvec{\tilde{x}},\bvec{o}_{1:t-1})=\frac{\hat{p}_{emb}(o_{t}|\bvec{\tilde{x}},\bvec{o}_{1:t-1})+\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})}{2}\end{equation}ここで，$\hat{p}_{emb}(o_{t}|\bvec{\tilde{x}},\bvec{o}_{1:t-1})$と$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$はそれぞれ，埋め込みモデルに基づく$o_{t}$の出力確率とタグ付けモデルに基づく$o_{t}$の出力確率を表す．そして，求めた出力確率に基づき，式(\ref{eq:argmax})の通りに目的言語文$\bvec{\hat{y}}$を生成する．\begin{equation}\label{eq:argmax}\bvec{\hat{y}}=\mathop{\text{argmax}}_{\bvec{y}}\sum_{t=1}^{T}\text{log}~p(o_t|\bvec{x'},\bvec{\tilde{x}},\bvec{o}_{1:t-1})\end{equation}ここで，$T$は目的言語文の文長である．以降では，\ref{sect:pemb}節で埋め込みモデルに基づく$\hat{p}_{emb}$の算出方法を説明し，\ref{sect:ptag}節でタグ付けモデルに基づく$\hat{p}_{tag}$の算出方法を説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{$\hat{p}_{emb}$の算出方法}\label{sect:pemb}\ref{sect:embedding}節で説明した通り，埋め込みモデルは各時刻において目的言語の単語とそのNEのIOタグのペア$\tilde{y_{t}}(=(y_{t},l_{t}))$に対する確率を予測する．NEのIOタグ$l_{t}$とNEクラス$c_{t}$は1対1に対応するので，提案アンサンブルモデルでは，埋め込みモデルを用いて時刻$t$における目的言語の単語とNEのペア$o_t=(y_{t},c_{t})$の出力確率$\hat{p}_{emb}(o_{t}|\bvec{\tilde{x}},\bvec{o}_{1:t-1})$を式(\ref{eq:embed_ensemble_prob})の通りに求める．\begin{equation}\label{eq:embed_ensemble_prob}\hat{p}_{emb}({o}_{t}|\bvec{\tilde{x}},\bvec{o}_{1:t-1})=p_{emb}({y}_t,l_t|\bvec{\tilde{x}},\bvec{\tilde{y}}_{1:t-1})\end{equation}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{$\hat{p}_{tag}$の算出方法}\label{sect:ptag}タグ付けモデルは，NEタグと目的言語の単語からなる系列を逐次的に生成する．したがって，$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$の算出の際には，まず，時刻$t-1$までの目的言語の単語とそのNEクラスのペアの系列$\bvec{o}_{1:t-1}$を，タグ付けモデルの入力となる目的言語の単語とNEタグからなる系列$\bvec{y'}_{1:t'-1}$へ変換する（ステップ1）．その後，$\bvec{y'}_{1:t'-1}$に続く各要素（NEタグと目的言語の単語）の出力確率を算出し，算出した確率に基づき$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$を求める（ステップ2）．以降で，各ステップについて説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subparagraph*{ステップ1：$\bvec{o}_{1:t-1}$から$\bvec{y'}_{1:t'-1}$への変換}\quad\\本ステップでは，$\bvec{o}_{1:t-1}$中の目的言語の単語系列$\bvec{y}_{1:t-1}$において，\pagebreak隣接する目的言語の単語間でNEが異なる箇所にNEタグを挿入することで$\bvec{y'}_{1:t'-1}$に変換する．つまり，$c_{1}\neq\text{O}$または${c}_{i-1}\neq{c}_{i}$($i=2,3,...,t-1$)となるところにNEタグを挿入する．具体的には，次の(i)から(iv)のタグ挿入により$\bvec{o}_{1:t-1}$を$\bvec{y'}_{1:t'-1}$に変換する．\begin{description}\item[(i)]$c_{1}\neq\text{O}$の時：開始タグ\verb|<|$c_1$\verb|>|を$y_{1}$の直前に挿入．\item[(ii)]$c_{i-1}=\text{O},c_{i}\inC$の時：開始タグ\verb|<|$c_i$\verb|>|を${y}_{i-1}$と$y_i$の間に挿入．\item[(iii)]$c_{i-1}\inC,c_{i}=\text{O}$の時：終了タグ\verb|</|$c_{i-1}$\verb|>|を${y}_{i-1}$と$y_i$の間に挿入．\item[(iv)]$c_{i-1}\inC,c_{i}\inC,{c}_{i-1}\neq{c}_{i}$の時：終了タグ\verb|</|$c_{i-1}$\verb|>|と開始タグ\verb|<|$c_i$\verb|>|を${y}_{i-1}$と$y_i$の間に挿入．\end{description}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph*{ステップ2：$\hat{p}_{tag}$の計算}\quad\\本ステップでは，$\bvec{y'}_{1:t'-1}$をタグ付けモデルへ入力し，$\bvec{y'}_{1:t'-1}$に続く要素に対するタグ付けモデルの出力確率$p_{tag}({y'}_{t'}|\bvec{x'},\bvec{y'}_{1:{t'}-1})$に基づいて$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$を計算する．その際，時刻$t'$におけるタグ付けモデルの出力要素がNEタグである場合，$o_{t}$の出力単語を決定することができない．そこで，タグ付けモデルの出力要素が初めて目的言語の単語になるまで予測を継続し，$\hat{p}_{tag}$を計算する．以降では，$t'$時点において全てのNEタグが閉じている場合（NEタグが出現していない，あるいは全ての開始タグに対応する終了タグが出現している場合）と，$t'$時点においてNEタグが開いている場合（開始タグに対応する終了タグが出現していない場合）に分けて，$\hat{p}_{tag}$の計算方法を詳細に説明する．なお，タグ付けモデルにおいてNEタグを含む出力系列は，同じクラスの開始タグと終了タグが対となる（条件1），対となる開始タグと終了タグの間はNEタグを含まない単語列となる（条件2）の2つの条件を満たす必要がある．そこで，これらの条件を満たさない出力に対しては確率を0として無視する．そして，これにより確率の総和が1にならない場合は，その差分を条件を満たす出力の確率に均等に割り振ることで，$\hat{p}_{tag}$の総和が1となるように補正する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph*{ケース1：時刻$t'$においてタグが閉じている場合}\quad\\タグ付けモデルの出力は，単語($w$)，開始タグ(\verb|<|$c$\verb|>|)，終了タグ(\verb|</|$c$\verb|>|)のいずれかである．ただし，$w\inV$，$c\inC$である．ここで，時刻$t'$の出力が\verb|</|$c$\verb|>|である場合は，出力系列の条件1に反するため無視する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subparagraph*{ケース1-1：${y'}_{t'}$が単語$w$の場合}\quad\\時刻$t'$においてタグが閉じているので，${y'}_{t'}$の単語$w$のNEクラスは$\text{O}$である．したがって，$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$は式(\ref{eq:tag_ensemble_prob_O_close})の通りとなる．式(\ref{eq:tag_ensemble_prob_O_close})の具体例は付録の図\ref{fig:tag_ensemble_prob_O_close}に示す．\begin{equation}\label{eq:tag_ensemble_prob_O_close}\hat{p}_{tag}(o_{t}=(w,\text{O})|\bvec{x'},\bvec{o}_{1:t-1})=p_{tag}({y'}_{t'}=w|\bvec{x'},\bvec{y'}_{1:{t'}-1})\\\end{equation}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subparagraph*{ケース1-2：${y'}_{t'}$が開始タグ$\texttt{<}{c}\texttt{>}$の場合}\quad\\時刻$t'$の出力が開始タグの場合，$o_{t}$の単語は${y'}_{t'}$だけでは決定できない．そこで，${y'}_{t'}$の出力確率に加えて，次の時刻$t'+1$における要素${y'}_{t'+1}$の出力確率も用いて$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$を算出する．その際，時刻$t'+1$におけるタグ付けモデルの出力のうち，開始タグと終了タグの場合は出力系列の条件1または条件2に反するため，出力が単語の場合の確率のみを求める．${y'}_{t'}$が開始タグ$\texttt{<}{c}\texttt{>}$であり，${y'}_{t'+1}$が単語$w$の場合，$w$のNEクラスは$c$となる．したがって，$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$は式(\ref{eq:tag_ensemble_prob_NE_close})の通りとなる．式(\ref{eq:tag_ensemble_prob_NE_close})の具体例は付録の図\ref{fig:tag_ensemble_prob_NE_close}に示す．\begin{equation}\label{eq:tag_ensemble_prob_NE_close}\begin{split}&\hat{p}_{tag}(o_{t}=(w,c)|\bvec{x'},\bvec{o}_{1:t-1})\\&\quad=p_{tag}(y'_{t'}=\texttt{<}{c}\texttt{>}|\bvec{x'},\bvec{y'}_{1:t'-1})\timesp_{tag}({y'}_{t'+1}=w|\bvec{x'},\bvec{y'}_{1:t'-1},y'_{t'}=\texttt{<}{c}\texttt{>})\end{split}\end{equation}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subparagraph*{$\hat{p}_{tag}$の補正}\quad\\前述の$\hat{p}_{tag}$の算出過程では，タグ付けモデルの出力系列の条件に反する出力は無視されるため，全ての$o_{t}$に対する確率$\hat{p}_{tag}$の合計が1にならない場合がある．そこで，式(\ref{eq:tag_ensemble_prob_O_close})または式(\ref{eq:tag_ensemble_prob_NE_close})で算出した$\hat{p}_{tag}$を，式(\ref{eq:delta})及び式(\ref{eq:tag_ensemble_prob})に示すように補正し，補正後の確率$\tilde{p}_{tag}$を式(\ref{eq:ensemble_prob})の$\hat{p}_{tag}$として用いる．\begin{gather}\label{eq:delta}\delta=\frac{1-\sum_{o_{t}\inV\times\{C\cup\{\text{O}\}\}}\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})}{|V|\times|\{C\cup\{\text{O}\}\}|}\\\label{eq:tag_ensemble_prob}\tilde{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})=\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})+\delta\end{gather}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph*{ケース2：時刻$t'$においてタグ$\texttt{<}{c}\texttt{>}$が開いている場合（終了タグ$\texttt{</}{c}\texttt{>}$が未出力の場合）}\quad\\ケース2においては，時刻$t'$のタグ付けモデルの出力のうち，開始タグまたは$c$以外のNEクラスの終了タグの場合は，出力系列の条件1または条件2に反するため無視する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subparagraph*{ケース2-1：${y'}_{t'}$が単語$w$の場合}\quad\\時刻$t'$において開始タグ$\texttt{<}{c}\texttt{>}$が開いているので，${y'}_{t'}$の単語$w$のNEクラスは$c$である．したがって，$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$は式(\ref{eq:tag_ensemble_prob_NE_open})の通りとなる．式(\ref{eq:tag_ensemble_prob_NE_open})の具体例は付録の図\ref{fig:tag_ensemble_prob_NE_open}に示す．\begin{equation}\label{eq:tag_ensemble_prob_NE_open}\hat{p}_{tag}(o_{t}=(w,c)|\bvec{x'},\bvec{o}_{1:t-1})=p_{tag}({y'}_{t'}=w|\bvec{x'},\bvec{y'}_{1:{t'}-1})\end{equation}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subparagraph*{ケース2-2：${y'}_{t'}$が終了タグ$\texttt{</}{c}\texttt{>}$の場合}\quad\\$o_{t}$の単語は${y'}_{t'}$だけでは決定できないため，次の時刻$t'+1$における要素${y'}_{t'+1}$の出力確率も用いて$\hat{p}_{tag}(o_{t}|\bvec{x'},\bvec{o}_{1:t-1})$を算出する．${y'}_{t'}$が終了タグ$\texttt{</}{c}\texttt{>}$である場合，時刻$t'+1$では全ての開始タグが閉じているため，時刻$t'+1$における$\hat{p}_{tag}$の算出は，前述のケース1と同様に考えることができる．そのため，${y'}_{t'+1}$が単語の場合の$\hat{p}_{tag}$は式(\ref{eq:tag_ensemble_prob_O_open})に示すように計算され，${y'}_{t'+1}$が開始タグで${y'}_{t'+2}$が単語の場合の$\hat{p}_{tag}$は式(\ref{eq:tag_ensemble_prob_NE_open2})に示すように計算される．式(\ref{eq:tag_ensemble_prob_O_open})と式(\ref{eq:tag_ensemble_prob_NE_open2})の具体例は付録の図\ref{fig:tag_ensemble_prob_O_open}と図\ref{fig:tag_ensemble_prob_NE_open2}にそれぞれ示す．\begin{gather}\label{eq:tag_ensemble_prob_O_open}\begin{split}&\hat{p}_{tag}(o_{t}=(w,\text{O})|\bvec{x'},\bvec{o}_{1:t-1})\\&\quad=p_{tag}(y'_{t'}=\texttt{</}{c}\texttt{>}|\bvec{x'},\bvec{y'}_{1:t'-1})\timesp_{tag}({y'}_{t'+1}=w|\bvec{x'},\bvec{y'}_{1:{t'-1}},y'_{t'}=\texttt{</}{c}\texttt{>})\\\end{split}\\\label{eq:tag_ensemble_prob_NE_open2}\begin{split}&\hat{p}_{tag}(o_{t}=(w,c')|\bvec{x'},\bvec{o}_{1:t-1})\\&\quad=p_{tag}(y'_{t'}=\texttt{</}{c}\texttt{>}|\bvec{x'},\bvec{y'}_{1:t'-1})\timesp_{tag}(y'_{t'+1}=\texttt{<}{c'}\texttt{>}|\bvec{x'},\bvec{y'}_{1:t'-1},y'_{t'}=\texttt{</}{c}\texttt{>})\\&\qquad\timesp_{tag}({y'}_{t'+2}=w|\bvec{x'},\bvec{y'}_{1:t'-1},y'_{t'}=\texttt{</}{c}\texttt{>},y'_{t'+1}=\texttt{<}{c'}\texttt{>})\\\end{split}\end{gather}ただし，$\hat{p}_{tag}(o_{t}=(w,c)|\bvec{x'},\bvec{o}_{1:t-1})$は，式(\ref{eq:tag_ensemble_prob_NE_open})と$c'=c$の場合の式(\ref{eq:tag_ensemble_prob_NE_open2})の2つから求まるため，これらの確率値の和とする．また，タグが開いているケース1と同様，式(\ref{eq:tag_ensemble_prob_NE_open})から式(\ref{eq:tag_ensemble_prob_NE_open2})を用いて算出した$\hat{p}_{tag}$は式(\ref{eq:delta})と式(\ref{eq:tag_ensemble_prob})のように補正し，補正後の確率$\tilde{p}_{tag}$を式(\ref{eq:ensemble_prob})の$\hat{p}_{tag}$として用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験}
\label{sect:experiment}本節では提案モデルの性能を評価するための実験について述べる．まず，\ref{sect:setting}節で本研究の実験設定について説明する．次に，\ref{sect:mainresult}節で実験結果について述べる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験設定}\label{sect:setting}本実験では，WMT2014の英語とドイツ語間のニュース翻訳タスクとWMT2020の英語と日本語間のニュース翻訳タスクにおいて提案モデルの有効性を検証した．実験では，提案モデルである原言語文と目的言語文の両方のNE情報を活用するタグ付けモデル({\itTag})とタグ付けモデルと埋め込みモデルのアンサンブルモデル({\itEns})を，NE情報を活用しない通常のTransformerNMTモデル({\itBS})，原言語文のNE情報のみを活用するタグ付けモデル({\itTag-Source})，原言語文と目的言語文の両方のNE情報を活用する埋め込みモデル({\itEmb})の3つのNMTモデルと比較した．なお，{\itEns}は{\itTag}と{\itEmb}のアンサンブルモデルである．また，すべてのNMTモデルのベースにはFairseq\cite{fairseq}のTransformer{\itbase}を使用し，ハイパーパラメータは\citeA{Transformer}の設定に従った．翻訳性能の評価指標にはBLEU(\%)\cite{BLEU}，METEOR(\%)\cite{METEOR}，BERTScore(\%)\cite{BERTScore}を用いた．各NMTモデルの学習は，検証データに対する性能が5エポック連続で向上しなくなったら終了させた．各データセットはBytePairEncoding(BPE)\cite{subword}でサブワード分割した．英語とドイツ語間の翻訳実験では，語彙は英語とドイツ語で共有させ，語彙サイズは40,000とした．英語と日本語間の翻訳実験では，英語と日本語で語彙は共有させず，語彙サイズはそれぞれ32,000とした．BPE適用後，学習データと検証データから，文長が250以上の文を含む文対及び原言語文と目的言語文の文長比が1.5以上の文対は削除した．実験データの統計量を表\ref{tbl:data}に示す．文中のNEを特定するためのNER器は，英語とドイツ語間の翻訳実験ではStanza（英語文にはCoNLL03モデル，ドイツ語文にはGermEval14モデル）\cite{stanza}を，英語と日本語間の翻訳実験ではspacy（英語文にはen\_core\_web\_trfモデル，日本語文にはja\_core\_news\_trfモデル）\cite{spacy}を使用した．教師データにおけるNEの統計量を表\ref{tbl:NE_ratio}に示す．表\ref{tbl:NE_ratio}の「両言語ともNEを含む文対数」は両言語においてNEを1つ以上認識した対訳文対の数を表し，「両言語でNEの数が一致した文対数」は両言語ともにNEを含む対訳文対のうち認識したNEの数が一致した対訳文対の数を表す．また，それぞれのNER器が認識するNEを付録の表\ref{tbl:stanza-NE}と表\ref{tbl:spacy-NE}に示す．提案モデルでは，NER器が認識するNEクラスと固有表現ではない単語を表す「O」を各単語のNEの情報として使用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\input{12table02.tex}%\caption{実験データの文対数}\label{tbl:data}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[b]\input{12table03.tex}%\caption{教師データ中のNEの統計量}\label{tbl:NE_ratio}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%表\ref{tbl:NE_ratio}より，同一データセットでも言語間で認識したNEに差があることが分かる．NEの差が生じた原因として，一方の言語でNER器が認識誤りをしたことや，対訳文対でNEの数がそもそも一致していないことが考えられる．例えば，対訳文対において一方の言語の文でNEが訳抜けしていたり，一方の言語の文に含まれるNEがもう一方の言語の文では代名詞で書かれていたりする実例が存在する．\pagebreakこのように対訳文対においてNEの数が一致しない場合があるが，本研究ではSiekmeierら\cite{embed3}の研究に倣い，NEの数は統一せずにNER器の結果をそのまま使用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}\label{sect:mainresult}実験結果を表\ref{tbl:mainresult}に示す．BLEUでは，評価データ全文に対する翻訳性能に加えて，NEを含む文のみ，NEを含まない文のみに対する翻訳性能も評価した．NEを含むか否かは，評価データの原言語文に対するNERの結果に基づき判断した．評価データ全文に対する翻訳性能に関して，アンサンブルモデルとそれ以外のモデルの性能差に対してブートストラップによる有意差検定\cite{koehn}（有意差水準5\%）を行った．表\ref{tbl:mainresult}の$\star$，$\maltese$，$\dagger$，$\diamond$は，それぞれ，{\itEns}が，{\itBS}，{\itEmb}，{\itTag-Source}，{\itTag}に対して有意に高いことを示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[b]\input{12table04.tex}%\caption{翻訳性能}\label{tbl:mainresult}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%提案タグ付けモデル{\itTag}と従来タグ付けモデル{\itTag-source}の評価データ全文に対するBLEUの比較より，日英翻訳を除き，タグ付けモデルにおいて原言語文のNE情報に加えて目的言語文のNE情報も活用することで，BLEUが向上することを確認した．また，原言語と目的言語の両方のNE情報を活用するタグ付けモデル({\itTag})と埋め込みモデル({\itEmb})の評価データ全文に対するBLEUを比較すると，全ての言語対で，タグ付けモデルは埋め込みモデルよりもBLEUが高いことを確認した．さらに，タグ付けモデルと埋め込みモデルをアンサンブルすることで，全ての言語対においてNEの有無に依らずBLEUが向上し，評価データ全文に対するBLEUにおいて，比較対象の全モデルに対して統計的に有意な性能改善を確認した．特に，アンサンブルモデルの評価データ全文に対するBLEUは，従来タグ付けモデルよりも，英独翻訳では0.76ポイント，独英翻訳では1.59ポイント，英日翻訳では0.96ポイント，日英翻訳では0.65ポイント上回った．METEORとBERTScoreでの比較においても，BLEUと同様に，{\itTag}と{\itEns}において翻訳性能が改善していることが分かる．NEを活用していない{\itBS}と提案モデルである{\itTag}や{\itEns}のBLEUを比較すると，NEを活用することによる翻訳性能の改善は，NEを含まない文よりもNEを含む文に対する方が大きいことを確認した．NEを含まない文に対してもNEを活用する提案モデルで翻訳性能が改善しているのは，NEではない(O)という情報が翻訳時の語義曖昧性の解消に役立ったからだと考えられる．例えば，「平野は農業に適している。」という日本語文を英語に翻訳する場合，日本語文中の「平野」は「へいや」の意味と地名のNEである「ひらの」の二つの意味があるが，この文では「へいや」の意味で使用されている．この時，文中の「平野」がNEではない(O)という情報は，「平野」を``plain''と正しく翻訳するために役立つ．これらの結果より，タグ付けモデルにおいて目的言語のNE情報を活用すること及びタグ付けモデルと埋め込みモデルをアンサンブルすることの有効性を確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{考察}
本節では提案モデルの翻訳性能を詳細に分析する．まず，\ref{sect:NE_result}節でNEに対する翻訳性能について分析する．次に，\ref{sect:translation-example}節で提案モデルと従来のNEを活用するNMTモデルの翻訳結果の実例を比較する．そして，\ref{sect:NE_type}節で活用するNEクラスの数を変更した際の翻訳性能について分析する．最後に\ref{sect:single-ensemble}節で提案モデルを{\itTag}同士のアンサンブルモデル，{\itEmb}同士のアンサンブルモデルと比較する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{NEに対する翻訳性能}\label{sect:NE_result}本節では，NEに対する翻訳性能を評価するため，出力文におけるNEの適合率・再現率・F値を調べた．NEの適合率・再現率・F値の算出では，参照訳に対するNERによって認識されたNEを正解データとした．適合率は出力文中のNEのうち正しかったNEの割合，再現率は参照訳中のNEのうち正しく訳出できたNEの割合，F値は適合率と再現率の調和平均である．本研究では，NEの文字列とNEクラスの両方が一致した場合のみNEを正しく訳出できたとみなした．なお，\ref{sect:setting}節で述べた通り，NERの認識誤りや対訳文対のNEのそもそもの数の不一致によって入力文と参照訳でNEの数が異なる場合がある．その場合，適切な性能評価ができない．例えば，入力文中に存在するNEが参照訳中に存在しない場合や参照訳中でNER器が認識できなかった場合は，入力文中に存在するNEを正しく訳出できても適合率が低下する．そこで本節では，評価データのうち，入力文と参照訳で認識されたNEの数が等しい文対に対してのみ評価を行った．このようにNER器の認識誤りの影響を緩和させた評価を行ったが，NER器の結果を正解データとしているため，本節で報告するNEの適合率・再現率・F値はNER器の性能に依存した値となっていることに注意されたい．ただし，この評価値を用いたモデル間の性能比較においては，比較条件（評価データの作成方法）が一致しているため，性能比較には一定の意味があると考えられる．結果を表\ref{tbl:subresult}に示す．表\ref{tbl:subresult}において{\itTag}と{\itEmb}を比較すると，{\itTag}は英独翻訳における適合率が{\itEmb}より低いが，その他の値は{\itEmb}よりも高い．この結果より，{\itEmb}より{\itTag}の方がNEに対する翻訳性能が良いことが，表\ref{tbl:mainresult}において{\itTag}の評価データ全文に対する翻訳性能が{\itEmb}を上回った一因であると推察される．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5\begin{table}[b]\input{12table05.tex}%\caption{NEの適合率・再現率・F値(\%)}\label{tbl:subresult}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%また表\ref{tbl:subresult}では，{\itEmb}は{\itTag}と比較して，再現率が適合率よりも著しく低い傾向がある．{\itEmb}の解析結果を見たところ，NEクラスを「O」と誤るケースが多くみられた．これは，NE出力層の教師データであるIOタグ系列が，90\%近くが「O」で構成される不均衡データであったことが原因だと考えられる．また，このNEクラスの誤りはNEの予測にも悪影響を及ぼしたと考えられる．これらのことから，{\itEmb}は再現率が低くなっていると推察される．{\itEns}に関しては，{\itTag}や{\itEmb}と比較して適合率とF値が高いことが分かる．一方で再現率については，{\itEmb}よりは高いが，\pagebreak{\itTag}と比較すると日英翻訳以外は同等あるいは低い結果となった．これより，タグ付けモデルと埋め込みモデルをアンサンブルすることでNEの適合率が改善し，それによりNEのF値が改善できることを確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{翻訳例の比較}\label{sect:translation-example}本節では，{\itEmb}，{\itTag}，{\itEns}の翻訳結果の実例を比較する．英日翻訳での実例を表\ref{tbl:translation-example}に示す．表\ref{tbl:translation-example}のSrcは入力文，Refは参照訳，H${}_{\text{Emb}}$は{\itEmb}の出力文，H${}_{\text{Tag}}$は{\itTag}の出力文，H${}_{\text{Ens}}$は{\itEns}の出力文を表す．また，各モデルでNEと認識された単語の後ろにはNEクラスを「単語${}_{\text{-NEクラス}}$」の形式で記してある．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table6\begin{table}[b]\input{12table06.tex}%\caption{翻訳結果の実例}\label{tbl:translation-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%表\ref{tbl:translation-example}の例において，{\itEmb}は原言語文中の「金正恩」を正しく訳せていないが，{\itTag}と{\itEns}は正しく訳出できている．図\ref{fig:attn_emb}に{\itEmb}の言語間注意機構における注意マップを，図\ref{fig:attn_tag}に{\itTag}の言語間注意機構における注意マップを示す．図\ref{fig:attn_emb}より，{\itEmb}では目的言語の「金」，「正＠＠」，「日」，「キム」，「ジョン＠＠」，「ウン」は，それぞれ，原言語文の``Kim''，``Jong''，``-''，``un''の各単語に対して一つずつ注意が向いていることが分かる．一方，図\ref{fig:attn_tag}より，{\itTag}では「金正」や「恩」は``KimJong-un''全体に対して注意が向いていることが分かる．この結果より，{\itTag}では原言語文中のNEである``KimJong-un''をチャンクとして捉えることができたため，{\itTag}や{\itEns}では「金正恩」を正しく翻訳できたと考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.4\begin{figure}[t]\begin{center}\includegraphics{31-2ia12f4.pdf}\end{center}\caption{埋め込みモデルの言語間注意機構における注意マップの実例（一部）}\label{fig:attn_emb}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.5\begin{figure}[t]\begin{center}\includegraphics{31-2ia12f5.pdf}\end{center}\caption{タグ付けモデルの言語間注意機構における注意マップの実例（一部）}\label{fig:attn_tag}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%また，「米大統領」に関しては，{\itEmb}と{\itTag}は訳抜けを起こしている．一方で，{\itEns}では，原言語文中の「USpresident」の意味を含んだ翻訳文を生成できている．このように埋め込みモデル単体やタグ付けモデル単体では訳出できなかった単語をアンサンブルモデルが訳出できている例を確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{活用するNEクラス数を変更した場合の翻訳性能}\label{sect:NE_type}\ref{sect:experiment}節の実験では，英語とドイツ語間の翻訳では4種類のNE，英語と日本語間の翻訳では英語では18種類のNE，日本語では22種類のNEを用い，翻訳タスクによって活用するNEの種類数が異なる．そこで本節では，英語と日本語間の翻訳実験において，活用するNEのクラスを英語とドイツ語間の翻訳実験で活用したものと同じ4種類に減らして実験を行うことで，活用するNEのクラス数が翻訳性能に与える影響を調査する．具体的には，英語と日本語間の翻訳実験において，PERSON，ORG，LOCはそのまま使用し，GPEとFACは場所を表すLOCに置き換え，それ以外のNEクラスはMISCに置き換えた．結果を表\ref{tbl:NE_type_result}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table7\begin{table}[b]\input{12table07.tex}%\caption{活用するNEクラス数を変更した際の翻訳性能(BLEU(\%))}\label{tbl:NE_type_result}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%表\ref{tbl:NE_type_result}より，NEクラスを4種類にした場合でも{\itEns}の性能が最も高いことが分かる．これより，提案のアンサンブルモデルは，NEのクラス数を減らした場合でも翻訳性能を向上できることを確認した．しかし，{\itTag}と{\itEns}の両モデルは，NEの種類を4種類に減らすと，18/22種類のNEを用いた場合よりも翻訳性能が低くなった．また日英翻訳では，従来モデルにおいてもNEの種類を減らすことで翻訳性能が低下した．これらの結果より，提案モデルや日英翻訳における従来モデルでは，細かいNEクラスを活用すると豊富なNE情報を活用できるため，翻訳性能を向上できることが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{単一モデルのアンサンブルとの比較}\label{sect:single-ensemble}{\itEns}は{\itTag}と{\itEmb}の二つの異なるモデルをアンサンブルしたモデルだが，機械翻訳の分野では，単一のモデルにおいても，シード値を変えて学習した複数モデルをアンサンブルすることで翻訳性能が向上することが報告されている．そこで本節では，提案アンサンブルモデルの効果を明らかにするため，二つの{\itEmb}をアンサンブルしたモデル({\itEns-Emb})と二つの{\itTag}をアンサンブルしたモデル({\itEns-Tag})の翻訳性能を評価し，提案アンサンブルモデルの翻訳性能と比較する．{\itEns-Emb}は二つの{\itEmb}の出力確率を平均した確率に基づいて翻訳を行うモデルであり，{\itEns-Tag}は二つの{\itTag}の出力確率を平均した確率に基づいて翻訳を行うモデルである．{\itEns-Emb}でアンサンブルする{\itEmb}は，\ref{sect:experiment}節の{\itEmb}と，シード値を変えて学習した{\itEmb}の二つであり，{\itEns-Tag}でアンサンブルする{\itTag}は，\ref{sect:experiment}節の{\itTag}と，シード値を変えて学習した{\itTag}の二つである．シード値はランダムに決定した．結果を表\ref{tbl:subresult2}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table8\begin{table}[b]\input{12table08.tex}%\caption{アンサンブルモデルの翻訳性能(BLEU(\%))}\label{tbl:subresult2}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%表\ref{tbl:mainresult}と表\ref{tbl:subresult2}の比較より，従来の報告同様，タグ付けモデルと埋め込みモデルの各モデルにおいてもシード値を変えて学習した複数モデルをアンサンブルすることで翻訳性能が改善することを確認した．そして，表\ref{tbl:subresult2}の{\itEns-Emb}と{\itEns-Tag}の比較より，アンサンブルする場合でも埋め込みモデルよりタグ付けモデルの方が翻訳性能が高くなる言語対が多いことが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table9\begin{table}[b]\input{12table09.tex}%\caption{アンサンブルしたモデル間の出力確率分布の類似度}\label{tbl:prob_sim}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%一方で，表\ref{tbl:mainresult}と表\ref{tbl:subresult2}を比較すると，アンサンブルによる性能向上はタグ付けモデルよりも埋め込みモデルの方が大きい．アンサンブルでは，組み合わせる確率の分布の違いが大きいほど汎化性能が向上することが報告されている\cite{ensemble_krogh}．そこで，{\itEns-Tag}でアンサンブルした二つの{\itTag}の出力確率分布の類似度と{\itEns-Emb}でアンサンブルした二つの{\itEmb}の出力確率分布の類似度を算出した．確率分布の類似度はKLダイバージェンスを用いて求めた．結果を表\ref{tbl:prob_sim}に示す．表\ref{tbl:prob_sim}より，{\itEns-Tag}よりも{\itEns-Emb}の方がKLダイバージェンスが大きいことが分かる．これより，{\itEns-Emb}の方が出力確率分布の違いが大きいモデル同士をアンサンブルしたため，性能改善が大きくなったと考えられる．また，表\ref{tbl:subresult2}において，全ての言語対で{\itEns}の翻訳性能が{\itEns-Emb}や{\itEns-Tag}の翻訳性能よりも高い．特に，独英翻訳及び日英翻訳においては，{\itEns}は{\itEns-Emb}や{\itEns-Tag}と比較して有意な性能改善（独英：$p<0.1$，日英：$p<0.05$）であった．これより，単一モデル同士のアンサンブルよりもタグ付けモデルと埋め込みモデルの異なるモデルをアンサンブルする提案アンサンブルモデルが有効であることを確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
本研究では，NE情報を活用するNMTモデルとして，原言語文のNE情報に加えて目的言語文のNE情報も活用するタグ付けモデルを提案した．さらに，従来の目的言語文のNE情報を活用する埋め込みモデルと提案タグ付けモデルをアンサンブルして翻訳を行うアンサンブルモデルも提案した．WMT2014の英語とドイツ語間の翻訳タスク及びWMT2020の英語と日本語間の翻訳タスクにおける評価実験を通じて，英独，独英，英日翻訳タスクにおいて，タグ付けモデルで目的言語文のNE情報を活用することで翻訳性能が向上することを確認した．また，全ての言語対において，埋め込みモデルとタグ付けモデルをアンサンブルすることで翻訳性能が改善することを確認し，提案アンサンブルモデルは提案タグ付けモデル同士のアンサンブルや埋め込みモデル同士のアンサンブルよりも高い翻訳性能を達成した．今後は，提案タグ付けモデルの翻訳性能を更に改善するため，埋め込みモデルとの推論時のアンサンブル以外の統合方法も検討したい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本研究の一部は，同志社大学ハリス理化学研究所研究助成の支援を受けて行った．ここに記して謝意を表する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.7}\bibliography{12refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.6\begin{figure}[b]\begin{center}\includegraphics{31-2ia12f6.pdf}\end{center}\caption{式(\ref{eq:tag_ensemble_prob_O_close})の計算例}\label{fig:tag_ensemble_prob_O_close}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.7\begin{figure}[b]\begin{center}\includegraphics{31-2ia12f7.pdf}\end{center}\caption{式(\ref{eq:tag_ensemble_prob_NE_close})の計算例}\label{fig:tag_ensemble_prob_NE_close}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.8\begin{figure}[p]\begin{center}\includegraphics{31-2ia12f8.pdf}\end{center}\caption{式(\ref{eq:tag_ensemble_prob_NE_open})の計算例}\label{fig:tag_ensemble_prob_NE_open}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.9\begin{figure}[p]\vspace{-0.75\Cvs}\begin{center}\includegraphics{31-2ia12f9.pdf}\end{center}\caption{式(\ref{eq:tag_ensemble_prob_O_open})の計算例}\label{fig:tag_ensemble_prob_O_open}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.10\begin{figure}[p]\vspace{-0.75\Cvs}\begin{center}\includegraphics{31-2ia12f10.pdf}\end{center}\caption{式(\ref{eq:tag_ensemble_prob_NE_open2})の計算例}\label{fig:tag_ensemble_prob_NE_open2}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\appendix\label{sect:appendix}本付録では，\ref{sect:ptag}節で説明した$\hat{p}_{tag}$を求める際の計算例を図\ref{fig:tag_ensemble_prob_O_close}から図\ref{fig:tag_ensemble_prob_NE_open2}に示す．図\ref{fig:tag_ensemble_prob_O_close}，図\ref{fig:tag_ensemble_prob_NE_close}，図\ref{fig:tag_ensemble_prob_NE_open}，図\ref{fig:tag_ensemble_prob_O_open}，図\ref{fig:tag_ensemble_prob_NE_open2}はそれぞれ式(\ref{eq:tag_ensemble_prob_O_close})，式(\ref{eq:tag_ensemble_prob_NE_close})，式(\ref{eq:tag_ensemble_prob_NE_open})，式(\ref{eq:tag_ensemble_prob_O_open})，式(\ref{eq:tag_ensemble_prob_NE_open2})の例である．また，表\ref{tbl:stanza-NE}に英語とドイツ語間の翻訳実験で使用したNER器が認識するNEの一覧を示し，表\ref{tbl:spacy-NE}に英語と日本語間の翻訳実験で使用したNER器が認識するNEの一覧を示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table10\begin{table}[t]\input{12table10.tex}%\caption{英語とドイツ語間の翻訳実験で使用するNE}\label{tbl:stanza-NE}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table11\begin{table}[t]\input{12table11.tex}%\caption{英語と日本間の翻訳実験で使用するNE}\label{tbl:spacy-NE}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{南端尚樹}{2022年同志社大学理工学部情報システムデザイン学科卒業，同年同大学院理工学研究科情報工学専攻に進学，現在に至る．}\bioauthor{田村晃裕}{2005年東京工業大学工学部情報工学科卒業．2007年同大学院総合理工学研究科修士課程修了．2013年同大学院総合理工学研究科博士課程修了．日本電気株式会社，国立研究開発法人情報通信研究機構にて研究員として務めた後，2017年より愛媛大学大学院理工学研究科助教．2020年より同志社大学理工学部准教授となり，現在に至る．博士（工学）．情報処理学会，言語処理学会，人工知能学会，ACL各会員．}\bioauthor{加藤恒夫}{1994年東京大学工学部電子工学科卒業．1996年同大学工学系大学院電子工学専攻博士前期課程修了．同年，国際電信電話株式会社入社．KDD研究所，KDDI研究所を経て，2015年より同志社大学理工学部．現在同志社大学理工学部教授．博士（情報理工学）．言語処理学会，情報処理学会，電子情報通信学会，日本音響学会，日本音声学会，ヒューマンインターフェース学会，ACM，IEEE各会員．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\clearpage\clearpage\end{document}