\section{はじめに}
機械翻訳は自然言語処理の初期から盛んに研究され，様々な手法が提案されてきているが，近年では，ニューラルネットワークを用いた機械翻訳(NeuralMachineTranslation;NMT)が高い精度を実現しており，主流となっている．NMTの中でも，特に，同一文内の単語間の関係を捉えるSelfAttentionという構造を用いたTransformer\cite{tf}に基づくNMTがstate-of-the-artの精度を達成し，注目を集めている．TransformerNMTは，従来の畳み込みニューラルネットワーク(ConvolutionalNeuralNetwork;CNN)に基づくNMT\cite{pmlr-v70-gehring17a}や再帰型ニューラルネットワーク(RecurrentNeuralNetwork;RNN)に基づくNMT\cite{NIPS2014_5346,D15-1166}と異なり，原言語文や目的言語文において，同一文中のすべての単語間の関連度をAttention(SelfAttention)で計算する．また，各単語の文中における位置情報はPositionalEncodingを用いて各単語の埋め込み表現に付随させることで，学習時に単語毎の並列処理を可能としている．Shawら\cite{relative}は，単語の位置情報として，2単語間の文中における相対的な位置関係の情報をSelfAttentionにおいて考慮することでTransformerNMTの翻訳精度の改善を実現した．これまで，統計的機械翻訳やNMT等では，原言語文や目的言語文，あるいはその両方の構文情報（句構造や係り受け構造など）を活用することで翻訳精度が改善されており\cite{syntax_smt,dep2seq,seq2dep,dep2dep}，近年，TransformerNMTにおいても構文情報が活用されてきている．しかし，Wuら\cite{dep2dep}やZhangら\cite{zhang-etal-2019-syntax}など，多くの従来研究ではTransformerNMTの外側に構文情報を考慮する機構を付加しており，TransformerNMTのモデル自体は改良されていない．本稿では，原言語側の係り受け構造に基づく2単語間の相対的位置情報をTransformerエンコーダのSelfAttentionで考慮する新たなTransformerNMTモデルを提案する．具体的には，Shawら\cite{relative}に倣い，原言語文を係り受け解析した結果得られる係り受け構造に基づく単語間の相対的位置関係を埋め込んだベクトルを単語埋め込みベクトルに付随させる．原言語側の係り受け構造に基づく2単語間の相対的位置情報を考慮することで，単語系列に対する位置情報のみを考慮するよりも正しく単語間の依存関係を捉えた目的言語文を生成できるようになり翻訳性能の改善が期待される．科学技術論文の概要から作成されたASPEC(AsianScientificPaperExcerptCorpus)\cite{aspec}データを用いた英日および日英翻訳実験により，原言語文の係り受け構造を相対的位置表現で考慮する提案モデルは，従来の係り受け構造を考慮しないTransformerNMTモデル\cite{tf,relative}よりも高い翻訳精度を達成できることを示す．特に，日英翻訳においては0.37ポイントBLEUスコアが上回ることを確認した．本稿の構成は以下の通りである．2節で本研究の関連研究について述べ，3節では提案モデルのベースとなる従来のTransformerNMTモデル\cite{tf,relative}について説明する．4節では本研究の提案モデルについて述べる．5節では本研究で行った実験とその結果の考察を行い，6節で本稿のまとめと今後の課題について述べる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
これまで，原言語文や目的言語文，あるいはその両方の構文情報（句構造や係り受け構造など）を活用することでNMTの翻訳精度が改善されてきた．構文情報として句構造に着目した研究がある．例えば，AharoniとGoldberg\cite{aharoni-goldberg-2017-towards}は目的言語側の句構造，Eriguchiら\cite{eriguchi-etal-2016-tree}，Maら\cite{ma-etal-2018-forest}，CurreyとHeafield\cite{currey-heafield-2019-incorporating}，Watanabeら\cite{watanabe-etal-2017-cky}は原言語側の句構造をNMTで活用している．本研究は，句構造ではなく係り受け構造に注目しているという点でこれらの従来研究と異なる．構文情報として係り受け構造に着目した研究がある．Chenら\cite{dep2seq}は，原言語文の係り受け構造において親子関係あるいは兄弟関係にある単語の埋込み表現をCNNによって畳み込み，RNNに基づくNMTモデルのエンコーダで活用するモデルを提案している．また，SennrichとHaddow\cite{linguistic_features}は，原言語側の係り受け関係ラベルをその他の言語学的素性と共に埋め込んだベクトルを入力単語の埋込みベクトルと結合させることで，RNNに基づくNMTモデルにおいて原言語側の係り受け関係を考慮している．Eriguchiら\cite{seq2dep}は，RNNに基づくNMTモデルのデコーダに構文解析を行うRecurrentNeuralNetworkGrammar\cite{dyer-etal-2016-recurrent}を導入することで，目的言語側の係り受け構造情報の活用している．これらの従来研究は，RNNに基づくNMTモデルで係り受け構造を活用しているのに対して，本稿で提案するモデルはTransformerモデル特有の構造であるSelfAttentionにおいて係り受け情報を活用するため，モデルの構造という観点で異なる．近年，TransformerNMTにおいても構文情報を考慮するモデルがいくつか提案されてきている．Wuら\cite{dep2dep}は，NMTにおいて原言語側と目的言語側の両方の係り受け木を用いる方法を提案している．具体的には，NMTのエンコーダに原言語文の単語系列を入力するとともに，原言語文の係り受け木に基づいて並び替えた単語系列を入力することで，原言語側の係り受け情報を考慮している．また，デコーダ側では，NMTデコーダに依存構造解析を行うRNNを統合することで目的言語側の係り受け情報を考慮しながら出力文を生成している．Zhangら\cite{zhang-etal-2019-syntax}は，エンコーダ・デコーダ構造の係り受け解析モデルで原言語文をエンコードし，そのエンコード結果をNMTの単語埋め込み表現に結合させることで，原言語側の係り受け構造を考慮している．Wuらの手法やZhangらの手法はRNNに基づくNMTモデルだけでなく，Transformerに基づくNMTにも適用し，有効性を示している．彼らの研究ではTransformerNMTを用いているが，Transformerのモデル自体は改良されていない．Maら\cite{nsd_mt}は，Shenら\cite{nsd_parse}が句構造解析のために用いたNeuralSyntaxDistance(NSD)を係り受け構造に拡張し，係り受け構造に対するNSDを用いてTransformerNMTの翻訳精度を改善している．彼らの研究では，各単語の文における絶対的な位置情報に係り受け木に基づく位置情報を統合するPositionalEncodingを提案している．一方，本研究の提案モデルでは，Shawらの手法に基づき，係り受け木に基づく2単語間の相対的な位置情報をTransformerエンコーダのSelfAttentionで考慮している．また，Shawら\cite{relative}の他にも，TransformerNMTモデルの系列情報を改良することで翻訳精度を改善している研究がある．Chenら\cite{chen-etal-2019-neural}は，単語の並び替えの情報をPositionalEncodingに制約として与える機構をTransformerNMTモデルに追加し，翻訳性能を改善している．彼らの研究はTransformerNMTモデルで文中の単語間の関係を考慮する点で本研究と類似しているが，彼らの研究では単語間の関係として構文情報を利用していない．また，彼らの研究では，PositionalEncodingによる絶対的位置情報を改良しているのに対し，本研究ではSelfAttentionで考慮される相対的位置情報を改良している点で異なる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{従来のTransformerNMTモデル}
本節では，\ref{sect:tf}節で提案モデルのベースとなる最も基本的なTransformerNMTモデルについて述べ，\ref{sect:relative}節で文内における単語間の相対的な位置関係をSelfAttentionで捉えるTransformerNMTモデルについて述べる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{TransformerNMT}\label{sect:tf}TransformerNMTは，文中の単語間の関連度を捉えるSelfAttention構造を持つエンコーダとデコーダから構成されるNMTモデルである．エンコーダでは，入力された原言語文から中間表現を獲得し，デコーダでは，獲得した中間表現から目的言語文を予測し，出力する．デコーダは，文頭の単語から順に逐次的に目的言語の単語を予測して目的言語文を生成する．具体的には，最初に目的言語文の文頭単語を予測し，続いて，予測した文頭単語をデコーダに入力して2単語目を予測する．続いて，予測した文頭から2単語目までを結合した解析途中の目的言語文をデコーダに入力（shiftedrightに目的言語文を入力）して3単語目を予測する，といった処理を繰り返すことで目的言語文の予測を行う．TransformerNMTの概要図を図\ref{fig:tf}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[b]\begin{center}\includegraphics{27-2ia6f1.eps}\end{center}\caption{TransformerNMTモデルの概要図}\label{fig:tf}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%TransformerNMTは，エンコーダレイヤとデコーダレイヤがそれぞれ複数層スタックされたエンコーダ・デコーダ構造を持つ．エンコーダとデコーダでは，まず，埋込み層で入力単語列（エンコーダ側は原言語文の単語列，デコーダ側は目的言語文の単語列）を埋込み表現を表す行列に変換する．その後，PositionalEncodingにより単語の系列情報を付与する．具体的には，入力単語列の埋込み表現行列に対して，各単語の文における絶対的な位置情報をエンコードした行列PEを加える．PEの各成分は異なる周波数のsin，cos関数を用いて次式により算出したものである．\begin{align}PE(pos,2i)&=\sin({pos/10000^{2i/d_{model}}})\\PE(pos,2i+1)&=\cos({pos/10000^{2i/d_{model}}})\end{align}ここで，$d_{model}$は入力単語の埋込み次元，$pos$は単語の位置，$i$は各成分の次元を表す．単語埋込み表現行列にPEを加えたものが，第1層目のエンコーダレイヤやデコーダレイヤの入力となる．エンコーダレイヤは，下位のサブレイヤから順に，原言語文中の単語間の関連度を捉えるSelfAttention，位置ごとのフィードフォーワードネットワーク(FeedForwardNetwork;FFN)の2つのサブレイヤで構成されている．デコーダレイヤは，下位のサブレイヤから順に，目的言語文中の単語間の関連度を捉えるマスキング付きSelfAttention，原言語文の単語と目的言語文の単語間の関連度を捉えるAttention(Source-TargetAttention)，位置ごとのFFNの3つのサブレイヤで構成されている．各サブレイヤ間では，残差接続\cite{resnet}を行った後にLayerNormalization\cite{layer_norm}が適用される．LayerNormalizationを適用する関数を$LayerNorm$，下位のサブレイヤからの出力を$\bm{x}$，現在のサブレイヤの処理を行う関数を$SubLayer$とすると，$LayerNorm(\bm{x}+SubLayer(\bm{x}))$が現在のサブレイヤの出力となる．SelfAttentionとSource-TargetAttentionはMulti-HeadAttentionを用いて実現される．Multi-HeadAttentionでは，まず，3つの入力ベクトル$\bm{q},\bm{k},\bm{v}\footnote{本稿では特に断りがない限り，Transformerの原論文\cite{tf}に倣い，ベクトルを行ベクトルとして扱う．}\in\mathbb{R}^{1\timesd_{model}}$を重み行列$W_i^Q,W_i^K,W_i^V\in\mathbb{R}^{d_{model}\timesd_z}(i=1,\ldots,h)$により，$d_{model}$次元から$d_z$次元に線形写像した後，$h$個の内積Attentionを計算する．ここで，$d_{model}$は元々の入力ベクトルの埋込み次元であり，$d_z=d_{model}/h$である．また，それぞれの内積Attentionをヘッド($Head_{i}~(i=1,\ldots,h)$)と呼ぶ．\begin{align}Head_i=Attention(\bm{q'},\bm{k'},\bm{v'})\\Attention(\bm{q'},\bm{k'},\bm{v'})=softmax\left(\frac{\bm{q'}\bm{k'}^T}{\sqrt{d_z}}\right)\bm{v'}\\\bm{q'}=\bm{q}W_i^Q,\bm{k'}=\bm{k}W_i^K,\bm{v'}=\bm{v}W_i^V\label{eq:attention}\end{align}その後，各ヘッドを連結した後，重み行列$W^o\in\mathbb{R}^{d_{model}\timesd_{model}}$で線形写像する機構がMulti-HeadAttentionである．\begin{equation}MultiHead(\bm{q},\bm{k},\bm{v})=Concat(Head_1,\ldots,Head_h)W^O\label{eq:multi_head}\end{equation}エンコーダのSelfAttentionでは，式(\ref{eq:multi_head})の$\bm{q},\bm{k},\bm{v}$にエンコーダの内部状態系列$\bm{x}_1,\ldots,\bm{x}_n$を用いる．各ヘッドは，ヘッドを構成する重み行列を$W^Q,W^K,W^V$としたとき，以下の荷重和を計算する．\begin{equation}\label{atten_out}\bm{z}_i=\sum_{j=1}^{n}\alpha_{ij}{\bm{x}_jW^V}\end{equation}ここで，$\bm{z}_1,\ldots,\bm{z}_n$がSelfAttentionの出力系列である．重み係数$\alpha_{ij}$はソフトマックス関数を用いて以下の通り計算される．\begin{equation}\alpha_{ij}=\frac{\exp{(\bm{e}_{ij})}}{\sum_{k=1}^{n}\exp{(\bm{e}_{ik})}}\label{eq:atten_weight}\end{equation}また，$\bm{e}_{ij}$は以下の通り計算される．\begin{equation}\label{atten_dot}\bm{e}_{ij}=\frac{(\bm{x}_iW^Q)(\bm{x}_jW^K)^T}{\sqrt{d_z}}\end{equation}ここで，$d_z$は$\bm{z}_i$の次元数である．デコーダのSelfAttentionでは，式(\ref{eq:multi_head})の$\bm{q},\bm{k},\bm{v}$にデコーダの内部状態系列を用いる．ただし，推論時には，予測する単語より後で生成される単語を知ることはできない．つまり，前方のデコーダ系列の内部状態のみを用いることに注意されたい．また，学習時においても，推論時の挙動と整合性をとるために，予測する単語より後方に位置する単語の間の関連度は考慮しないようにマスキングしたマスキング付きSelfAttentionを用いる．具体的には，マスキング付きSelfAttentionでは式(\ref{atten_dot})を以下のように変更する．\begin{equation}\bm{e}_{ij}=\left\{\begin{array}{cc}\frac{(\bm{x}_iW^Q)(\bm{x}_jW^K)^T}{\sqrt{d_z}}&(i\gej)\\-\infty&(otherwise)\end{array}\right.\label{eq:masked_atten_dot}\end{equation}式(\ref{eq:masked_atten_dot})のように変更することで，$\alpha_{ij}$は以下のようになり，後方に位置する単語との関連度を表す重み係数$\alpha_{ij}~(i<j)$は$0$となる．\begin{equation}\alpha_{ij}=\left\{\begin{array}{cc}\frac{\exp{(\bm{e}_{ij})}}{\sum_{k=1}^{n}\exp{(\bm{e}_{ik})}}&(i\gej)\\0&(otherwise)\end{array}\right.\end{equation}デコーダのSource-TargetAttentionでは，$\bm{q}$にデコーダの内部状態，$\bm{k}$と$\bm{v}$にはエンコーダの内部状態を用いることで，原言語文の単語と目的言語文の単語との関連度を計算する．エンコーダレイヤ，デコーダレイヤ内の各FFNは入力$\bm{x}$に対して，以下の計算を行う．\begin{equation}FFN(\bm{x})=max(0,\bm{x}W_1+\bm{b}_1)W_2+\bm{b}_2\end{equation}ここで，$W_1\in\mathbb{R}^{d_{model}\timesd_{ff}},W_2\in\mathbb{R}^{d_{ff}\timesd_{model}}$は重み行列，$d_{ff}$はFNNの中間層の次元数，$\bm{b}_1,\bm{b}_2$はバイアス項である．デコーダでは，最終のデコーダレイヤの出力($\bm{h}_1,\ldots,\bm{h}_n$)を重み行列$W^{out}\in\mathbb{R}^{d_{model}\timesd_{out}}$により線形変換し，その後ソフトマックス関数を施すことによって，目的言語の各単語の生成確率分布を得る．ここで，$d_{out}$は目的言語の語彙サイズである．つまり，出力単語$y_i$の生成確率分布は以下の通りである．\begin{align}p(y_i)&=softmax(\bm{h_i}W^{out})\label{eq:tf_out}\\softmax(\bm{o})&=\frac{\exp{(o_k)}}{\sum_{k=1}^{d_{out}}\exp{(o_k)}}\end{align}目的言語文$y_1,\ldots,y_m$は，各単語の生成確率分布に基づき，例えばgreedyアルゴリズムやビーム探索等により生成する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{文内の相対的位置表現を用いたTransformerNMT}\label{sect:relative}本節では，2単語間の文における相対的な位置関係をエンコーダおよびデコーダ内のSelfAttentionで捉えるTransformerNMTモデル\cite{relative}を説明する．Shawらのモデルでは，入力文中の単語$w_{i}$と単語$w_{j}$間の相対的位置関係をベクトル$\bm{a}_{ij}^V,\bm{a}_{ij}^K\in\mathbb{R}^{d_z}$で表現し，サブレイヤの出力に単語間の相対的位置情報を付加して次の層への入力とする．具体的には，式(\ref{atten_out})の代わりに次式を用いる．\begin{equation}\label{rel_out}\bm{z}_i=\sum_{j=1}^{n}\alpha_{ij}(\bm{x}_jW^V+\bm{a}_{ij}^V)\end{equation}また，式(\ref{atten_dot})の代わりに次式を用いることで，SelfAttention計算過程の$\bm{e}_{ij}$算出時にも単語間の相対的位置情報を考慮する．\begin{equation}\label{rel_dot}\bm{e}_{ij}=\frac{\bm{x}_iW^Q(\bm{x}_jW^K+\bm{a}_{ij}^K)^T}{\sqrt{d_z}}\end{equation}ここでShawら\cite{relative}は，単語間が一定距離以上離れると離れ具合の影響は少なくなると仮定し，相対的位置の距離の最大値を定数$k$と定め，それより離れた相対的距離は最大値$k$とした．また，文中のある単語から後ろを正の方向，前を負の方向と考え，二単語間の相対的位置関係は，以下の通り，$2k+1$個のユニークなラベル($-k,-k+1,\ldots,0,\ldots,k-1,k$)で捉える．\begin{align}\bm{a}_{ij}^K&=\bm{w}_{clip(j-i,k)}^K\\\bm{a}_{ij}^V&=\bm{w}_{clip(j-i,k)}^V\\clip(x,k)&=max(-k,min(k,x))\end{align}ここで，各相対的位置ラベルの埋込み表現は，$\bm{w}^K=(\bm{w}_{-k}^K,\ldots,\bm{w}_{k}^K)$と$\bm{w}^V=(\bm{w}_{-k}^V,\ldots,\bm{w}_{k}^V)$($\bm{w}_{k'}^K,\bm{w}_{k'}^V\in\mathbb{R}^{d_z}$,$-k\leqk'\leqk$)であり，学習されるパラメータである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{係り受け構造に基づく相対的位置表現を用いたTransformerNMT}
\label{sect:proposed}本節では，原言語文の係り受け木に対する2単語間の相対的位置情報を考慮するTransformerNMTモデルを提案する．まず，原言語文の係り受け木に対する2単語間の距離を定義し，その後，Shawらの手法に基づいて，係り受け木に基づく距離をTransformerエンコーダ内のSelfAttentionでエンコードする手法を述べる．提案モデルでは，係り受け木に対する2単語間の距離を，係り受け木中の2単語間の相対的な深さとして定義する．原言語文$w_1,\ldots,w_n$に対する係り受け木において，単語$w_i$に対応するノードを$n_i$，単語$w_j$に対応するノードを$n_j$としたとき，$n_i$と$n_j$の相対的深さ$dist_{ij}$を以下のように定義する．\begin{equation}\label{eq:rel_depth}dist_{ij}=depth(n_{j})-depth(n_{i})\end{equation}図\ref{fig:dep_tree}は``Myfatherboughtaredcar.''に対する係り受け木を示したものである．例えば，図\ref{fig:dep_tree}において，``My''($=w_1$)の``bought''($=w_3$)に対する相対的深さ$dist_{1,3}$は，$-2~(=0-2)$である．図\ref{fig:dep_tree}の係り受け木における2単語間の距離を表\ref{tab:dep_pos}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2andtable1\begin{figure}[b]\begin{tabular}{cc}\begin{minipage}{190pt}\begin{center}\includegraphics{27-2ia6f2.eps}\end{center}\figcaption{係り受け木の例}\label{fig:dep_tree}\end{minipage}\begin{minipage}{230pt}\input{06table01.tex}\end{minipage}\end{tabular}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%提案モデルでは，係り受け木に対するノード$n_i$と$n_j$の相対的位置をベクトル$b_{ij}^V,b_{ij}^K\in\mathbb{R}^{d_z}$によって表現し，Shawらの手法\cite{relative}同様，$\bm{z}_i$や$\bm{e}_i$算出時に係り受け木に基づく相対的位置情報を考慮する．具体的には，式(\ref{rel_out})や式(\ref{rel_dot})の代わりに以下の式を用いる．\begin{align}\label{eq:dep_out}\bm{z}_i&=\sum_{j=1}^{n}\alpha_{ij}{(\bm{x}_jW^V+\bm{b}_{ij}^V)}\\\label{dep_dot}\bm{e}_{ij}&=\frac{\bm{x}_iW^Q(\bm{x}_jW^K+\bm{b}_{ij}^K)^T}{\sqrt{d_z}}\end{align}\ref{sect:relative}節同様，係り受け木における相対的位置関係においても一定以上距離が大きいと離れ具合の影響は少なくなると仮定し，係り受け木における相対的距離の最大値を定数$l$と定め，それより離れた相対的距離は最大値$l$とする．したがって，原言語文中の単語$w_{i}$と単語$w_{j}$に対して，係り受け木に基づく相対的位置関係を埋め込んだベクトル$\bm{b}_{ij}^V,\bm{b}_{ij}^K$は次式で表現できる．\begin{align}\bm{b}_{ij}^K&=\bm{w}_{clip(dist_{ij},l)}^K,\\\bm{b}_{ij}^V&=\bm{w}_{clip(dist_{ij},l)}^V.\end{align}以上のように，提案モデルでは，エンコーダのSelfAttentionで，文内における相対的位置表現の代わりに，原言語文の係り受け構造に対する相対的位置表現を考慮することができる．以降，この提案モデルを$\mathit{Transformer}_\mathit{dep}$と記載する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験設定}\label{sect:exp_setting}本実験では，科学技術論文の概要から作成されたASPEC(AsianScientificPaperExcerpt\mbox{Corpus)}\cite{aspec}データを用いて英日および日英翻訳を行った．英語文はMoses\cite{moses}を用いて単語分割をし，StanfordCoreNLP\cite{corenlp}を用いて係り受け解析を行った．日本語文はKyTea\cite{kytea}を用いて単語分割をし，EDA\footnote{\url{http://www.ar.media.kyoto-u.ac.jp/tool/EDA/}}を用いて係り受け解析を行った．各翻訳モデルは，学習データ(train-1.txt,train-2.txt)から抽出した上位150万文対のうち，英語文，日本語文ともに文長100単語以下の1,498,909対訳文対を使用して学習した．また学習データに出現した単語のうち，日本語側は出現頻度が7回以上，英語側は出現頻度が10回以上の単語を語彙として用い，それ以外の単語は語彙に登録されていない未知語を表すUNKタグに置き換えた．検証データとして1,790文対(dev.txt)，テストデータとして1,812文対(test.txt)を用いた．実験では，\ref{sect:proposed}節で提案した提案モデル($\mathit{Transformer}_\mathit{dep}$)を，従来の絶対的位置表現を考慮するTransformerNMT\cite{tf}($\mathit{Transformer}_\mathit{abs}$)及び絶対的位置表現に加え文中の相対的位置表現を考慮するTransformerNMT\cite{relative}($\mathit{Transformer}_\mathit{rel}$)と比較した．評価対象全てのモデルのハイパーパラメータはVaswaniら\cite{tf}の設定に倣い，エンコーダ及びデコーダレイヤのスタック数を6，ヘッド数を8，埋込み次元及び隠れ層の次元を512次元とした．optimizerはAdamを用い，$\beta_1=0.9,\beta_2=0.98,\epsilon=10^{-9}$と設定した．学習率の更新スケジューリングはVaswaniらの方法\cite{tf}と同様にした．ミニバッチサイズは256，エポック数は30とし，検証データに対して最も精度が良かったエポックのモデルをテストデータに適用して翻訳精度を評価した．また，本実験では，greedyアルゴリズムにより目的言語文を生成した．$\mathit{Transformer}_\mathit{rel}$と$\mathit{Transformer}_\mathit{dep}$においては，文内における相対的位置と係り受け構造に対する相対的位置の最大距離は$k=2,~l=2$とした\footnote{Shawら\cite{relative}により，$k\geq2$ではBLEUスコアにほとんど変化がないことが示されているため，$k=2$を選択した．また，$l$の値は検証データを用いてチューニングした．}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{結果}評価結果を表\ref{tab:result}に示す．なお，翻訳性能の評価指標はBLEUを用いた．また，翻訳精度の差の有意差検定を，有意差水準$5~\%$でブートストラップによる検定手法\cite{koehn-2004-statistical}により行った．表\ref{tab:result}の「$*$」および「$\dagger$」は，それぞれ，提案モデル$\mathit{Transformer}_\mathit{dep}$と従来手法である$\mathit{Transformer}_\mathit{abs}$および$\mathit{Transformer}_\mathit{rel}$との翻訳精度の差が統計的に有意であることを示している．表\ref{tab:result}より，英日翻訳では，提案モデル$\mathit{Transformer}_\mathit{dep}$は$\mathit{Transformer}_\mathit{abs}$と比較し0.60ポイント上回り，$\mathit{Transformer}_\mathit{rel}$と比較して0.09ポイント上回った．一方で，日英翻訳では，$\mathit{Transformer}_\mathit{dep}$は$\mathit{Transformer}_\mathit{abs}$と比較して0.37ポイント上回り，$\mathit{Transformer}_\mathit{rel}$と比較して0.42ポイント上回った．これらの結果より，日英及び英日翻訳タスクにおいて，原言語文の係り受け構造を相対的位置表現で考慮することでTransformerモデルの翻訳精度を改善できることが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\caption{実験結果}\label{tab:result}\input{06table02.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[b]\caption{テストデータに対する各モデルの翻訳文とその比較}\label{tab:examples}\input{06table03.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3\begin{figure}[b]\begin{center}\includegraphics{27-2ia6f3.eps}%%%%\label{fig:ref_tree}%%%%\label{fig:mis_tree}\end{center}\caption{表\ref{tab:examples}の入力文中の「分けて心電図を比較した」に対する係り受け木}\label{fig:input_tree}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%表\ref{tab:examples}に各モデルの日英翻訳例を示す．$\mathit{Transformer}_\mathit{abs}$では，原言語文中の「分けて」と「心電図を比較した」の訳出に成功しているが，「分けて」を主動詞にした文と「比較した」を主動詞にした文の並列構造（``and''で接続した構造）の翻訳になっている．$\mathit{Transformer}_\mathit{rel}$では，原言語文中の「心電図を比較した」の訳出に成功しているが，「分けて」の訳出に失敗している．$\mathit{Transformer}_\mathit{dep}$（表\ref{tab:examples}の5行目）では，原言語文中の「分けて」と「心電図を比較した」の両方の訳出に成功し，その翻訳は``comparedbydividing''と正しい翻訳になっており，参照訳と一致している．%%%%図\ref{fig:ref_tree}に示した通り，図\ref{fig:input_tree}(a)に示した通り，$\mathit{Transformer}_\mathit{dep}$では，「分け」が「て」に，「て」が「比較」に係っているという係り受け関係の情報が利用できたため，``divide''が``compare''を修飾する正しい翻訳ができたのではないかと考えられる．また，人工的に誤りを加えた係り受け木を$\mathit{Transformer}_\mathit{dep}$に与えた場合の翻訳結果を表\ref{tab:examples}の6行目に示す．具体的には，入力文に対するEDAの係り受け解析結果において「分けて心電図を比較した」に対する係り受け構造%%%%（図\ref{fig:ref_tree}）（図\ref{fig:input_tree}(a)）の「て」の係り先を「比較」から「。」に変え，誤った係り受け木を作成した%%%%（図\ref{fig:mis_tree}）．（図\ref{fig:input_tree}(b)）．その結果，誤った係り受け木を与えた場合，「分けて」の訳出には成功したが，「心電図を比較した」の訳出に失敗した．以上の結果から，誤った係り受け木を用いると提案手法の翻訳性能が低下すると考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{考察}Shawら\cite{relative}は，\ref{sect:relative}節で説明したモデルにおいて，相対的位置関係を表現したベクトル$\bm{a}_{ij}^V,\bm{a}_{ij}^K$のそれぞれの有効性を検証している．その結果，$\bm{a}_{ij}^V$を取り除いた場合と，$\bm{a}_{ij}^K$と$\bm{a}_{ij}^V$の両方を用いた場合は同等の翻訳精度だが，$\bm{a}_{ij}^K$を除いた場合は翻訳精度が下がることが示されている．つまり，$\bm{a}_{ij}^K$は有効だが$\bm{a}_{ij}^V$の効果が薄いことが示されている．そこで本節では，提案モデルにおいて導入した，係り受け構造に対する相対的位置関係を表現したベクトル$\bm{b}_{ij}^V$と$\bm{b}_{ij}^K$のそれぞれの有効性を確認するために，各ベクトルのみを用いた$\mathit{Transformer}_\mathit{dep}$のASPEC英日および日英翻訳性能を調査する．つまり，式(\ref{dep_dot})を式(\ref{atten_dot})に変更したモデル「$\mathit{Transformer}_\mathit{dep}$（$\bm{b}_{ij}^V$のみ）」と式(\ref{eq:dep_out})を式(\ref{atten_out})に変更したモデル「$\mathit{Transformer}_\mathit{dep}$（$\bm{b}_{ij}^K$のみ）」および$\mathit{Transformer}_\mathit{abs}$の翻訳精度を比較した．なお，切除実験の設定は\ref{sect:exp_setting}節と同様である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[b]\caption{係り受け構造に対する相対的位置表現$\bm{b}_{ij}^V,\bm{b}_{ij}^K$の切除実験結果}\label{tab:without_kv}\input{06table04.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%結果を表\ref{tab:without_kv}に示す．表\ref{tab:without_kv}より，英日翻訳では，$\bm{b}_{ij}^V$のみを使った$\mathit{Transformer}_\mathit{dep}$は$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$の両方を用いた$\mathit{Transformer}_\mathit{dep}$に対して0.09ポイント上回った．$\bm{b}_{ij}^K$のみを使った$\mathit{Transformer}_\mathit{dep}$は$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$の両方を用いた$\mathit{Transformer}_\mathit{dep}$に対して0.17ポイント下回った．また，$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$のどちらも用いないモデルは$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$の両方を用いた$\mathit{Transformer}_\mathit{dep}$に対して0.60ポイント下回った．一方で，日英翻訳では，$\bm{b}_{ij}^V$のみを使った$\mathit{Transformer}_\mathit{dep}$は$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$の両方を用いた$\mathit{Transformer}_\mathit{dep}$に対して0.18ポイント下回った．$\bm{b}_{ij}^K$のみを使った$\mathit{Transformer}_\mathit{dep}$は$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$の両方を用いた$\mathit{Transformer}_\mathit{dep}$に対して0.02ポイント上回った．また，$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$のどちらも用いないモデルは$\bm{b}_{ij}^K$と$\bm{b}_{ij}^V$の両方を用いた$\mathit{Transformer}_\mathit{dep}$に対して0.37ポイント下回った．以上の結果から，言語方向を問わず，係り受け構造に対する相対的位置関係を表現したベクトル$\bm{b}_{ij}^V$と$\bm{b}_{ij}^K$のそれぞれが翻訳精度を向上に貢献することが分かった．また，$\bm{b}_{ij}^K,\bm{b}_{ij}^V$の両方を用いても，どちらかのみを用いる場合と同等の精度となることが分かった．一方で，$\bm{b}_{ij}^K,\bm{b}_{ij}^V$のどちらが有効かについては，言語方向によって異なることが分かった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
本研究では，Transformerにおいて原言語文の係り受け構造を活用するため，原言語文の係り受け木における単語間の相対的位置関係をTransformerエンコーダのSelfAttention中の相対的位置表現で考慮する手法を提案した．ASPEC\cite{aspec}データを用いた評価実験を通じて，日英及び英日翻訳タスクにおいて，原言語文の係り受け構造に対する相対的位置表現を考慮することでTransformerNMTモデルの精度を改善できることを確認した．特に，日英翻訳タスクにおいては0.37ポイントBLEUスコアが改善した．提案手法では，係り受け解析結果に基づき相対的深さを算出しているため，誤った係り受け木から算出した相対的深さは単語間の位置関係の学習に悪影響を及ぼし，翻訳性能を低下させる原因となり得る．したがって，提案手法の精度をさらに向上させるためには構文解析精度の向上も必要だと考えられる．一方で，本研究の提案モデルでは目的言語側の係り受け構造を考慮していないが，目的言語側の係り受け構造を考慮できるモデルに改良することで翻訳性能をさらに改善できる可能性がある．例えば，Wuら\cite{dep2dep}が用いていた依存構造解析を行うRNNをTransformerデコーダに統合することにより，デコーダ内のSelfAttentionで目的言語側の係り受け木における単語間の相対的位置関係を考慮するモデルに改良できる可能性がある．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本論文は国際会議InternationalConferenceRecentAdvancesinNaturalLanguageProcessing2019(RANLP2019)で発表した論文\cite{omote-ranlp-2019}に基づいて日本語で書き直し，説明や評価を追加したものである．本研究成果は，国立研究開発法人情報通信研究機構の委託研究により得られたものである．また，本研究の一部はJSPS科研費18K18110の助成を受けたものである．ここに謝意を表する．また，本稿の英文校正を担当していただいたエナゴ(www.enago.jp)に謝意を表する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.5}\bibliography{06refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{表悠太郎}{%2019年愛媛大学工学部情報工学科卒業．2019年より同大学院理工学研究科修士課程に在学．}\bioauthor{田村晃裕}{%2005年東京工業大学工学部情報工学科卒業．2007年同大学院総合理工学研究科修士課程修了．2013年同大学院総合理工学研究科博士課程修了．日本電気株式会社，国立研究開発法人情報通信研究機構にて研究員として務めた後，2017年より愛媛大学大学院理工学研究科助教，2020年より同志社大学理工学部准教授となり，現在に至る．博士（工学）．言語処理学会，情報処理学会，人工知能学会，ACL各会員．}\bioauthor{二宮崇}{%2001年東京大学大学院理学系研究科情報科学専攻博士課程修了．同年より科学技術振興事業団研究員．2006年より東京大学情報基盤センター講師．2010年より愛媛大学大学院理工学研究科准教授，2017年同教授．東京大学博士（理学）．言語処理学会，アジア太平洋機械翻訳協会，情報処理学会，人工知能学会，電子情報通信学会，日本データベース学会，ACL各会員．}\end{biography}\biodate\end{document}