\section{はじめに}
近年，自然言語処理の多くのタスクにおいて，ニューラルネットワークが活用されている．機械翻訳の分野においてもその有効性が示されており，その中でも，Transformer\cite{transformer}というモデルがリカレントニューラルネットワーク(RNN)を用いたモデルや畳み込みニューラルネットワーク(CNN)を用いたモデルの翻訳性能を上回り，注目を浴びている．これまでに，統計的機械翻訳やニューラル機械翻訳では原言語や目的言語の文構造を考慮することで翻訳性能が改善されており\cite{pathbased_smt,sdrnmt,rnng_nmt}，TransformerNMTにおいても文構造の有用性が示されている\cite{dep2dep}．そこで本研究では，Transformerモデルで係り受け構造を考慮することで翻訳性能の改善を試みる．Transformerの特徴の一つであるself-attentionは文内における単語間の関連の強さを考慮することができ，機械翻訳のみならず，言語モデルの獲得や意味役割付与など，様々なタスクにおいて精度の向上に寄与してきた．Strubellらは意味役割付与の性能を向上させるため，Transformerエンコーダのself-attentionで文の係り受け構造を捉える，linguistically-informedself-attention(LISA)と呼ばれるモデルを提案している\cite{lisa}．LISAでは，multi-headself-attentionのうちの1つのヘッドを，各単語が係り先の単語を指すように，係り受け関係に基づいた制約を与えて学習させている．本研究は，Transformerエンコーダとデコーダのself-attentionで，それぞれ，原言語の文と目的言語の文の係り受け構造を捉えるTransformerNMTモデルを提案する．以降，この係り受け関係を捉えるself-attentionをdependency-basedself-attentionと呼ぶ．具体的には，NMTモデルの訓練時に，エンコーダとデコーダのself-attentionの一部を，各単語が係り先の単語を指すように，原言語の文や目的言語の文の係り受け関係に基づいた制約を与えて学習させる．そして，推論時には制約を与えて学習したself-attentionが文の係り受け関係を捉えながら翻訳する．ただし，推論時には目的言語文が明らかでないため，LISAの手法を直接TransformerNMTモデルのデコーダに適用することはできない．そこで，提案のdependency-basedself-attentionでは，まだ予測していない単語に対してアテンションを向けないように，デコーダ側のself-attentionを学習する際は，自身の単語より後方に係る係り受け関係にマスクをかけた制約を用いる．また，近年のニューラル機械翻訳モデルの多くは，文を単語列ではなくサブワード列として扱うことで低頻度語の翻訳に対応している\cite{subword}．そこで，本研究では，dependency-basedself-attentionをbytepairencoding(BPE)などによるサブワード列に対しても適用できるように拡張する．AsianScientificPaperExcerptCorpus\(ASPEC)\データ\\cite{aspec}を用いた日英・英日翻訳の評価実験において，提案のTransformerモデルと従来の係り受け構造を考慮しないTransformerモデルを比較し，dependency-basedself-attentionを組み込むことでBLEUがそれぞれ1.04ポイント・0.30ポイント向上することを確認した．また，実験では，原言語側のdependency-basedself-attentionと目的言語側のdependency-basedself-attentionのそれぞれの有効性とBPEに拡張したときの有効性も確認した．本稿の構成は以下の通りである．まず2章で提案手法が前提とするTransformerモデルについて説明したのち，3章で提案手法であるdependency-basedself-attentionを示す．4章で提案手法を組み込んだモデルの翻訳性能を評価することで手法の有効性を示す．5章で提案手法の拡張であるsubworddependency-basedself-attentionの有効性，提案手法のdependency-basedself-attentionが捉える係り受け構造，従来モデルと提案モデルの翻訳文の違い，提案モデルの設定に関する比較実験をそれぞれ示す．6章で関連研究の文構造を考慮したニューラル機械翻訳モデルについて議論し，7章で本稿のまとめとする．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Transformerモデル}
本節では，提案モデルの基礎となるTransformerNMTモデル\cite{transformer}を説明する．TransformerNMTモデルの概要を図\ref{fig:transformer}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[t]\begin{center}\includegraphics{27-3ia3f1.eps}\end{center}\caption{Transformerモデルの概要}\label{fig:transformer}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%TransformerNMTモデルは，入力された原言語の単語列$X(=x_{1},x_{2},\ldots,x_{n_\mathit{enc}})^\top$をエンコードするTransformerエンコーダ（以下，エンコーダ）と目的言語の単語列$Y(=y_{1},y_{2},\ldots,y_{n_\mathit{dec}})^\top$を生成するTransformerデコーダ（以下，デコーダ）を組み合わせたエンコーダ・デコーダモデルである．エンコーダとデコーダはそれぞれ，図\ref{fig:transformer}のようにエンコーダレイヤを$J_\mathit{enc}$レイヤ，デコーダレイヤを$J_{dec}$レイヤずつ積み重ねたものである．TransformerはRNNのような回帰構造を持たないため，入力文の各単語に対して並列に処\linebreak理することができる．入力単語の位置情報は位置エンコーディング(positionalencoding)により考慮する．具体的には，単語埋め込みの次元数を$d$とすると，位置エンコーディングの行列$PE$は\begin{align}PE_{(\mathit{pos},2i)}&=sin(\mathit{pos}/10000^{2i/d})\label{eq:pos1},\\PE_{(\mathit{pos},2i+1)}&=cos(\mathit{pos}/10000^{2i/d}),\label{eq:pos2}\end{align}と表される．なお，$\mathit{pos}$は単語の位置，$i$は埋め込み成分の次元である．そして，式(\ref{eq:pos1})，(\ref{eq:pos2})によって計算された位置エンコーディングの行列$\mathit{PE}$を単語の埋め込み行列に加算したものを，エンコーダ及びデコーダの入力とする．エンコーダの第$j$層目の出力$S_\mathit{enc}^{(j)}$はself-attention($\mathit{SelfAttn}()$)と位置毎の全結合フィードフォワードネットワーク($\mathit{FFN}()$)により以下の通り計算される．\begin{align}H_\mathit{enc}^{(j)}&=\mathit{LN}(S_\mathit{enc}^{(j-1)}+\mathit{SelfAttn}(S_\mathit{enc}^{(j-1)})),\\S_\mathit{enc}^{(j)}&=\mathit{LN}(H_\mathit{enc}^{(j)}+\mathit{FFN}(H_\mathit{enc}^{(j)})).\end{align}ここで，$S_\mathit{enc}^{(0)}$はエンコーダへの入力，$H_\mathit{enc}^{(j)}$は第$j$層目のエンコーダのself-attentionの出力，$\mathit{LN}()$はLayerNormalization\cite{layernorm}であり，$\mathit{FFN}()$は間にReLU関数を挟んだ2層の全結合層から成るネットワークである．デコーダの第$j$層目の出力$S_\mathit{dec}^{(j)}$はself-attentionとencoder-decoderattention($\mathit{EncDecAttn}()$)，位置毎のフィードフォワードネットワークによって以下の通り計算される．\begin{align}H_\mathit{dec}^{(j)}&=\mathit{LN}(S_\mathit{dec}^{(j-1)}+\mathit{SelfAttn}(S_\mathit{dec}^{(j-1)})),\\G_\mathit{dec}^{(j)}&=\mathit{LN}(H_\mathit{dec}^{(j)}+\mathit{EncDecAttn}(H_\mathit{dec}^{(j)},S_\mathit{enc}^{(J_\mathit{enc})})),\\S_\mathit{dec}^{(j)}&=\mathit{LN}(G_\mathit{dec}^{(j)}+\mathit{FFN}(G_\mathit{dec}^{(j)})),\end{align}ここで，$S_\mathit{dec}^{(0)}$はデコーダへの入力，$H_\mathit{dec}^{(j)}$は第$j$層目のデコーダのself-attentionの出力，$S_\mathit{enc}^{(J_\mathit{enc})}$はエンコーダの最終層の出力，$G_\mathit{dec}^{(j)}$は第$j$層目のデコーダのencoder-decoderattentionの出力である．デコーダの最終層の出力$S^{(J_\mathit{dec})}_\mathit{dec}$は$|\mathcal{V}|$次元の行列に線形変換される．ここで，$\mathcal{V}$は出力の語彙集合であり，$|\mathcal{V}|$は出力の語彙数である．最後に，$|\mathcal{V}|$次元行列にsoftmax関数を適用することで$P(Y|X)$が計算され，これに基づいて出力列$Y$が生成される．モデルの学習はラベル平滑化交差エントロピー\cite{label_smoothing}による$\mathcal{L}_\mathit{token}$を最小化することで実現される．\begin{align}\mathcal{L}_\mathit{token}=-\sum_{i=1}^{n_\mathit{dec}}\left((1-\epsilon)\logP(y_i|X,y_{<i})+\epsilon\sum_{v\in\mathcal{V}}\logP(v|X,y_{<i})\right)\end{align}ただし，$\epsilon\ge0$は正解ラベルに対する信頼度をコントロールするラベル平滑化のハイパーパラメータである．self-attentionは同一文中の単語間（原言語文中の単語間あるいは目的言語文中の単語間）の関連の強さを計算し，encoder-decoderattentionは原言語文中の単語と目的言語文中の単語間の関連の強さを計算する．self-attentionやencoder-decoderattentionはmulti-headattentionによって実現される．multi-headattentionでは，単語の埋め込み空間を$n_\mathit{head}$個の$d_\mathit{head}=d/n_\mathit{head}$次元部分空間に射影し，それぞれの部分空間でattentionを計算する．具体的には，self-attention({$\mathit{SelfAttn}()$})の第$j$層目は，直前の層の出力$S^{(j-1)}\in\mathbb{R}^{n\timesd}$（ただし，$n$はエンコーダあるいはデコーダの入力系列長）を，$W_{h}^{Q^{(j)}}\in\mathbb{R}^{d\timesd_\mathit{head}}$，$W_{h}^{K^{(j)}}\in\mathbb{R}^{d\timesd_\mathit{head}}$，$W_{h}^{V^{(j)}}\in\mathbb{R}^{d\timesd_\mathit{head}}$を用いて$d_\mathit{head}$次元の部分空間$Q_{h}^{(j)}$，$K_{h}^{(j)}$，$V_{h}^{(j)}$に射影する（なお，$1\leqh\leqn_{head}$）．デコーダで用いられるencoder-decoderattention({$\mathit{EncDecAttn}()$})では，直前のデコーダレイヤの出力を部分空間$Q_{h}^{(j)}$に，エンコーダの最終層の出力を部分空間$K_{h}^{(j)}$，$V_{h}^{(j)}$に射影する．射影後，次の式によって各部分空間で単語間の関連の強さを表す行列を算出する．\begin{equation}\label{eq:attn_weights}A_{h}^{(j)}=\mathit{softmax}(d_\mathit{head}^{-0.5}Q_{h}^{(j)}K_{h}^{(j)^\top})\end{equation}この$A_{h}^{(j)}$に対して$V_{h}^{(j)}$を掛け合わせることで，単語間の関連の強さを重みとする荷重和による表現$M_{h}^{(j)}$を得ることができる．\begin{equation}M_{h}^{(j)}=A_{h}^{(j)}V_{h}^{(j)}\end{equation}最後に，各部分空間の$M_{1,2,\ldots,n_\mathit{head}}^{(j)}$を結合させて，単語の埋め込み次元に線形変換する．\begin{equation}M^{(j)}=W^{M^{(j)}}[M_{1}^{(j)};M_{2}^{(j)};\ldots;M_{n_\mathit{head}}^{(j)}]\label{eq:attn}\end{equation}ただし，$W^{M^{(j)}}\in\mathbb{R}^{d\timesd}$はパラメータ行列である．self-attentionの$M_{h}^{(j)}$は原言語文あるいは目的言語文内の全ての単語間の関連の強さを含んでおり，encoder-decoderattentionの$M_{h}^{(j)}$は原言語文の単語と目的言語文の単語の間の全ての関連の強さを含んでいる．また，デコーダのself-attentionは，推論時に予測していない単語に関する関連を求めないように未来の単語情報をマスクして訓練する．具体的には，後方の単語に対してattentionが向けられないよう，$Q_{h}^{(j)}$の各単語から見た後方の単語を表す$K_{h}^{(j)}$の各成分を$-\infty$に置換してから{$\mathit{softmax}$}を計算し，$A_{h}^{(j)}$を求める．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[b]\begin{center}\includegraphics{27-3ia3f2.eps}\end{center}\caption{提案モデルの概要}\label{fig:model}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{提案手法}
提案モデルの概要を図\ref{fig:model}に示す．本稿で提案するモデルは，係り受け関係を捉えるself-attention(dependency-basedself-attention)をTransformerNMTモデルのエンコーダとデコーダに組み込む．具体的には，$p_\mathit{enc}$層目のエンコーダのmulti-headself-attentionと$p_\mathit{dec}$層目のデコーダのmulti-headself-attentionのそれぞれにおいて，1つのヘッドで原言語文または目的言語文の係り受け関係を捉えることで，原言語側および目的言語側の係り受け構造を考慮した翻訳を行う．係り受け解析は，LISA同様，Dozatらのdeepbi-affineparser\cite{biaffine_parser}を用いる．dependency-basedself-attentionとLISAとの違いは次の2点にまとめられる；(1)dependency-basedself-attentionはデコーダでは未来の単語に関する係り受け関係をマスクして学習する，(2)dependency-basedself-attentionは単語単位だけではなくbytepairencodingなどによって作られるサブワード単位にも適用可能である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{Dependency-BasedSelf-Attention}\label{ss:sisa}dependency-basedself-attentionは，エンコーダまたはデコーダの$p$層目\footnote{$p$は，エンコーダの場合は$p_\mathit{enc}$，デコーダの場合は$p_\mathit{dec}$である．}のmulti-headself-attentionを拡張することにより，係り受け関係を解析する．以下では，$p$層目のmulti-headself-attentionについて説明する．まず，直前の層の出力である行列{$S^{(p-1)}\in\mathbb{R}^{n\timesd}$}から以下の式により{$Q_\mathit{parse}$}，{$K_\mathit{parse}$}，{$V_\mathit{parse}$}を得る．\begin{align}Q_\mathit{parse}&=S^{(p-1)}W^{Q_\mathit{parse}},\\K_\mathit{parse}&=S^{(p-1)}W^{K_\mathit{parse}},\\V_\mathit{parse}&=S^{(p-1)}W^{V_\mathit{parse}}.\end{align}ここで，$W^{Q_\mathit{parse}}$，$W^{K_\mathit{parse}}$，$W^{V_\mathit{parse}}$は，それぞれ，$d\timesd_\mathit{head}$次元のパラメータ行列である．次に，2単語間の係り受け関係を示す行列$A_\mathit{parse}$を，次のようにbi-affine変換によって求める．\begin{equation}\label{eq:a_parse}A_\mathit{parse}=\mathit{softmax}(Q_\mathit{parse}U^{(1)}K_\mathit{parse}^\top+Q_\mathit{parse}U^{(2)}),\end{equation}ここで，$U^{(1)}\in\mathbb{R}^{d_\mathit{head}\timesd_\mathit{head}}$と$U^{(2)}=\overbrace{({\bfu}\ldots{\bfu})}^{n}$，${\bfu}\in\mathbb{R}^{d_\mathit{head}}$はパラメータ行列である．また，$A_\mathit{parse}$の要素$A_\mathit{parse}[t,q]$は，以下の通り，単語$q$が単語$t$の係り先である確率を示している．\begin{equation}P(q=\mathit{head}(t)\midX)=A_\mathit{parse}[t,q].\end{equation}ここで，$X$は原言語文もしくは目的言語文である．また，係り先のないトークン$t_\mathit{ROOT}$は自分自身を指すように以下のように定義する．\begin{equation}t_\mathit{ROOT}=head(t_\mathit{ROOT}).\end{equation}次に，以下のように$A_\mathit{parse}$と$V_\mathit{parse}$を掛け合わせることで単語間の係り受け関係の強さを重みとする荷重和による表現を得る．\pagebreak\begin{equation}M_\mathit{parse}=A_\mathit{parse}V_\mathit{parse}.\end{equation}あとは，multi-headself-attentionの1つのヘッドを$M_\mathit{parse}$とする以外は2節で説明した通常のmulti-headattentionと同様である．つまり，$M_\mathit{parse}$と$n_\mathit{head}-1$個の通常のヘッド($M_{2,\ldots,n_\mathit{head}}^{(p)}$)を結合し，行列{$M^{(p)}$}に線形変換する．\begin{equation}M^{(p)}=W^{M^{(p)}}[M_\mathit{parse};M_{2}^{(p)};\ldots;M_{n_\mathit{head}}^{(p)}],\label{eq:sattn}\end{equation}ここで，$W^{M^{(p)}}\in\mathbb{R}^{d\timesd}$はパラメータ行列である．このように，dependency-basedself-attentionは係り受け関係を第$p$層のmulti-headattentionの1つのヘッド$M_\mathit{parse}$で捉える．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{目的関数}提案モデルは次の目的関数$\mathcal{L}$を最小化することにより，翻訳と係り受け解析を同時に学習する．\begin{equation}\mathcal{L}=\mathcal{L}_\mathit{token}+\lambda_\mathit{enc}\mathcal{L}_\mathit{encparse}+\lambda_\mathit{dec}\mathcal{L}_\mathit{decparse},\end{equation}ここで，$\mathcal{L}_\mathit{token}$は翻訳に関する損失であり，{$\mathcal{L}_\mathit{encparse}$}と{$\mathcal{L}_\mathit{decparse}$}はそれぞれエンコーダ側とデコーダ側の係り受け解析に関する損失を表している．また，$\lambda_\mathit{enc}>0$と$\lambda_\mathit{dec}>0$はハイパーパラメータである．{$\mathcal{L}_\mathit{token}$}は通常のTransformerモデル同様，ラベル平滑化交差エントロピーによって計算し，{$\mathcal{L}_\mathit{encparse}$}と{$\mathcal{L}_\mathit{decparse}$}は交差エントロピーによって次式のように計算する．\begin{equation}\mathcal{L}_\mathit{parse}=-\sum_{t,q}\hat{A}_\mathit{parse}[t,q]\times\log(A_\mathit{parse}[t,q])\end{equation}ただし，{$\mathcal{L}_\mathit{parse}$}は{$\mathcal{L}_\mathit{encparse}$}または{$\mathcal{L}_\mathit{decparse}$}である．また，$\hat{A}_\mathit{parse}$は$A_\mathit{parse}$の教師データであり，各トークン$t$に対して係り先$head(t)$を指す要素のみが1($\hat{A}_\mathit{parse}[t,\mathit{head}(t)]=1$)，それ以外の要素は0の行列である．デコーダ側の係り受け解析に関する損失を算出する際は，自身より後方の単語への係り受け関係はマスクする．推論時には，デコーダ側のself-attentionは予測済みの単語（自身より前方の単語）に対するアテンションしか捉えないため，未来の単語へのアテンションを訓練しないようにするためである．デコーダ側のdependency-basedself-attentionの教師データの例を図\ref{fig:decdep}に示す．%%%%図\ref{fig:decdep-rel}は対訳データ中の目的言語文の係り受け構造の例であり\footnote{本稿では，係り受け関係を係り元から係り先に向けた矢印で表現する．例え%%%%ば図\ref{fig:decdep-rel}では，``He''の係り先は``knows''($\text{``knows''}=head(\text{``He''})$)である．}，%%%%図\ref{fig:decdep-mat}は図\ref{fig:decdep-rel}に対するデコーダ内のdependency-basedself-attentionの教師データである．%%%%図\ref{fig:decdep-rel}では，教師データでマスクされる対象となる後方の単語に対する係り受け関係を点線で示している．%%%%図\ref{fig:decdep-mat}では，黒色のセルが係り受け関係にある要素を表しており，%%%%点線によって囲まれたセルはマスクされた要素であることを表しており，灰色のセルは係り受け関係にあった要素がマスクされたことを表している．%%%%図\ref{fig:decdep-mat}の通り，``knows''が``He''の係り先であることを示す要素など，後方の単語に対する係り受け関係がマスクされている．図\ref{fig:decdep}(a)は対訳データ中の目的言語文の係り受け構造の例であり\footnote{本稿では，係り受け関係を係り元から係り先に向けた矢印で表現する．例えば図\ref{fig:decdep}(a)では，``He''の係り先は``knows''($\text{``knows''}=head(\text{``He''})$)である．}，図\ref{fig:decdep}(b)は図\ref{fig:decdep}(a)に対するデコーダ内のdependency-basedself-attentionの教師データである．図\ref{fig:decdep}(a)では，教師データでマスクされる対象となる後方の単語に対する係り受け関係を点線で示している．図\ref{fig:decdep}(b)では，黒色のセルが係り受け関係にある要素を表しており，点線によって囲まれたセルはマスクされた要素であることを表しており，灰色のセルは係り受け関係にあった要素がマスクされたことを表している．図\ref{fig:decdep}(b)の通り，``knows''が``He''の係り先であることを示す要素など，後方の単語に対する係り受け関係がマスクされている．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3\begin{figure}[t]\begin{center}\includegraphics{27-3ia3f3.eps}\end{center}%%%%\subfigure[目的言語文の係り受け関係]{\label{fig:decdep-rel}}%%%%\subfigure[目的言語側の係り受け関係の教師データ]{\label{fig:decdep-mat}}\caption{デコーダ側のマスク付きdependency-basedself-attention}\label{fig:decdep}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{SubwordDependency-BasedSelf-Attention}近年，ニューラル機械翻訳は文を単語列ではなく，BPE\cite{subword}などによって分割されたサブワード列として扱うことにより，翻訳の性能を向上させている．そのため，本研究では，dependency-basedself-attentionをサブワード列に対しても適用できるように拡張する．まず，単語単位の係り受け構造をサブワード単位の係り受け構造に変換し，続いて変換したサブワード単位の係り受け構造に対してdependency-basedself-attentionを適用する．サブワード単位の係り受け構造の変換については左から右へと係るよう，次の通りに行う．1つの単語が複数のサブワードに分割される場合，右端のサブワードの係り先(head)は分割元の単語の係り先とし，右端以外の各サブワードの係り先は隣接する右側のサブワードとする．また，係り先の単語がサブワードに分割される場合は，分割されたサブワードの中で左端のサブワードを係り先とする．以降，サブワード列に拡張したdependency-basedself-attentionをsubworddependency-basedself-attentionと呼ぶ．サブワード単位の係り受け関係の例を図\ref{fig:dep}に示す．なお，``@@''はサブワードの分割を表したシンボルである．この例では，``listen''という単語が3つのサブワード，``li@@''，``s@@''，``ten''に分割されている．このとき，``listen''が係り先となっている場合は左端のサブワード``li@@''が係り先になる．また，``listen''を構成するサブワードの係り先は，右端のサブワード``ten''は分割元の単語``listen''の係り先，それ以外のサブワードは隣接する右側のサブワードとなる．具体的には，``li@@''の係り先は``s@@''，``s@@''の係り先は``ten''となる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.4\begin{figure}[t]\begin{center}\includegraphics{27-3ia3f4.eps}\end{center}\caption{サブワード単位の係り受け関係}\label{fig:dep}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験設定}本実験では，提案モデルの有効性を確認するため，提案モデルと係り受け構造が組み込まれていない従来のTransformerNMTモデルの翻訳性能を比較する．TransformerNMTモデルにはTransformerbaseモデル\cite{transformer}を使用し，エンコーダとデコーダはそれぞれ6層積み重ねた．翻訳性能の評価にはAsianScientificPaperExcerptCorpus(ASPEC)\cite{aspec}の日英・英日翻訳タスクを用いた．訓練データにはASPEC日英対訳コーパスの\texttt{train-1.txt}と\texttt{train-2.txt}から上位150万文対を抽出して用いた．データの前処理は，日本語文の単語分割に$\mathit{KyTea}$\cite{kytea}を用いた以外はWATのbaselinesystemの構築方法\footnote{\url{http://lotus.kuee.kyoto-u.ac.jp/WAT/WAT2018/baseline/dataPreparationJE.html}}に従った．サブワード分割にはBPEを用い，語彙数は100,000トークンとした．また，サブワード分割した文のトークン数が原言語側と目的言語側ともに250以下であり，なおかつ対訳文対のトークン数の比が1.5以内である1,198,149文対を用いて訓練した．実験データの対訳文対数を表\ref{tab:stats}に示す．訓練時に用いるエンコーダとデコーダそれぞれのdependency-basedself-attentionの係り受け構造の教師データには，予め訓練データの各文を係り受け解析器によって解析したものを使用した．日本語側の係り受け解析にはEDA\footnote{\url{http://www.ar.media.kyoto-u.ac.jp/tool/EDA}}を用い，英語側の係り受け解析にはStanfordCoreNLP\footnote{\url{https://nlp.stanford.edu/software/stanford-dependencies.html}}を用いた．従来モデルと提案モデルの学習にはAdam\cite{adam}を用い，学習率などのハイパーパラメータの設定はVaswaniら\cite{transformer}に従った．dependency-basedself-attentionを組み込むエンコーダレイヤ{$p_\mathit{enc}$}，デコーダレイヤ{$p_\mathit{dec}$}は，それぞれ{$p_\mathit{enc}=4$}，{$p_\mathit{dec}=4$}とした．目的関数の{$\mathcal{L}_\mathit{token}$}の算出に用いるラベル平滑化交差エントロピーの$\epsilon$\cite{label_smoothing}は0.1とし，$\lambda_\mathit{enc}$と$\lambda_\mathit{dec}$はどちらも1.0とした．ミニバッチの大きさは224文とし，エポック数は20とした．毎エポックの終わりに開発データを用いて翻訳文を生成し，BLEUスコアの最も高いモデルによって評価した．評価時はビームサーチを用いて翻訳し，ビーム幅は4，lengthpenaltyは$\alpha=0.6$\cite{googlenmt}とした．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[b]\caption{実験データの対訳文対数}\label{tab:stats}\input{03table01.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\caption{ASPEC日英・英日翻訳の実験結果（単位：BLEU(\%)）}\label{tab:jaen}\input{03table02.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}表\ref{tab:jaen}に実験結果を示す．翻訳性能はBLEU\cite{bleu}によって評価した．表\ref{tab:jaen}において，``DBSA''は提案手法のsubworddependency-basedself-attentionを表している．実験結果より，提案モデルである``Transformer+DBSA(Enc)+DBSA(Dec)''がベースラインモデルである``Transformer''より高い翻訳性能であることが分かり，提案手法の有効性が確認できる．また，表{\ref{tab:jaen}}より，日英翻訳においてはエンコーダ側，デコーダ側それぞれのdependency-basedself-attentionが翻訳性能の改善に寄与しており，それらを組み合わせることでさらに性能が改善できることが分かる．英日翻訳においては，目的言語側の日本語が後ろの単語に係る文構造を持っているため，デコーダ側のみに制約を付与した場合は翻訳性能にほぼ変化が無かったが，エンコーダ側に制約を付与したモデルは，エンコーダ側単体・デコーダ側の制約との組み合わせを問わず，どちらも性能が改善していることが確認できる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[t]\caption{サブワードの有効性（単位：BLEU(\%)）}\label{tab:jaen2}\input{03table03.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{考察}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{Dependency-BasedSelf-Attentionのサブワード単位への拡張の有効性}dependency-basedself-attentionのサブワード単位への拡張の有効性を調べるため，BPEを用いずに各文を単語列として扱った場合の性能比較を行う．BPEを用いないモデルでは，訓練データに出現する頻度が5未満の単語を``$<$unk$>$''というトークンに置換した．実験結果を表\ref{tab:jaen2}に示す．実験結果より，BPEを用いることで従来モデルと提案モデル両方とも翻訳性能が向上することが分かる．この結果から，dependency-basedself-attentionのサブワードへの拡張は有用であることが確認できる．また，表\ref{tab:jaen2}より，BPEを用いない場合においても，提案モデルの方が従来モデルよりも翻訳性能が良いことが分かる．これより，提案モデルはサブワード系列だけではなく単語系列に対しても有効であることが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{Dependency-BasedSelf-Attentionが捉える係り受け構造の評価}dependency-basedself-attentionが係り受け関係を学習しているか確認するため，評価データに対する各単語の係り先を予測し，評価する．具体的には，評価データを入力としたときの{$A_\mathit{parse}$}に対して，各単語{$t$}の係り先の予測結果{$head_\mathit{pred}(t)$}をargmaxにより以下のように得る．\begin{equation}head_\mathit{pred}(t)=\mathrm{argmax}(A_\mathit{parse}[t])\end{equation}正解データは，評価データに対して係り受け解析器を用いた出力結果を用い，訓練時に与える教師データと同じ方法により作成する．モデルの係り先予測結果と正解データの一致率を以下の式により求め，評価する．\begin{equation}\frac{1}{T}\sum_{t}^{T}\delta_{\mathit{head}(t),\mathit{head}_\mathit{pred}(t)}\end{equation}ただし，{$T$}は系列長，{$\delta_{i,j}$}は{$i=j$}のとき1，{$i\not=j$}のとき0となるクロネッカーのデルタ，{$\mathit{head}(t)$}は単語{$t$}に対する係り先の正解データである．評価データには評価時と同じASPECの評価データを用いた．なお，目的言語側についてはモデルの出力文と参照訳が異なり，係り先の予測結果を評価できないため，原言語側の{$A_\mathit{parse}$}についてのみ評価を行った．係り先予測に用いるモデルは原言語・目的言語両側に対してsubworddependency-basedself-attentionを組み込んだモデルを用い，係り先の正解データはサブワード単位で作成した．実験結果であるモデルの係り先予測結果と正解データとの一致率は，日英翻訳実験において日本語の係り受け一致率が{\bf98.57\%}，英日翻訳実験において英語の係り受け一致率が{\bf93.05\%}となった．これらの結果より，モデルが係り受け関係を正しく捉えていることが確認できる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{従来モデルと提案モデルの翻訳文の違い}dependency-basedself-attentionを組み込むことで具体的にどのような翻訳が良くなったのかを調べる．比較には，従来モデルがサブワード単位のTransformerモデル，提案モデルが原言語・目的言語両側に対してsubworddependency-basedself-attentionを組み込んだTransformer+DBSA(Enc)+DBSA(Dec)モデルを用いた．従来モデルと提案モデルの翻訳結果の違いを表{\ref{tab:diff_translation}}に示す．ただし，表{\ref{tab:diff_translation}}に示した例文は翻訳結果の差異が特徴的な部分を抽出しており，文中の太字は従来モデルによる翻訳文と提案モデルによる翻訳文の係り受け関係が異なる箇所を示した．また，原言語文の太字部分を係り受け解析した結果を図{\ref{fig:diff_dep}}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[b]\caption{従来モデルと提案モデルの翻訳結果の違い（英日翻訳）}\label{tab:diff_translation}\input{03table04.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.5\begin{figure}[b]\begin{center}\includegraphics{27-3ia3f5.eps}\end{center}\caption{表\ref{tab:diff_translation}の原言語文の太字部分の係り受け解析結果}\label{fig:diff_dep}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%表{\ref{tab:diff_translation}}の原言語文の太字中の「withoutneurologicalabcormality」という項は，図{\ref{fig:diff_dep}}の通り，「without」の直前の項「21infantcases」に係っていることが分かる．従来モデルの翻訳文は「神経学的異常のない」という項が「無症候性脳梗塞患者２０名」に対して係っており，原言語文の係り受け関係とは異なる誤った係り受け関係になっているが，提案モデルはこの係り受け関係を正しく捉えて翻訳しており，「小児２１例」に対して係った文となっていることを確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{提案モデルの設定に関する比較実験}\label{sec:comp}本節では，提案モデルにおける，(1)サブワードの係り先，(2)制約を与えるヘッド数，(3)bi-affine変換の有効性について，それぞれ比較実験を行う．なお，全ての比較実験には原言語側と目的言語側の両側に対してsubworddependency-basedself-attentionを組み込んだ提案モデルを用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{サブワードの係り先方向の比較実験}subworddependency-basedself-attentionにおけるサブワードの係り先の設定について比較実験を行った．提案モデルでは，単語がサブワード単位に分割されたとき，単語内の各サブワードの係り先はそれぞれ隣接する右のサブワードへ係るように設定した．本実験では，単語内の各サブワードの係り先を隣接する左のサブワードへ係るように設定したモデルを用いて比較した．実験結果を表\ref{tab:r2l}に示す．なお，表中のDBSA-L2Rは本稿で提案した左から右へと係る構造を用いたモデル，DBSA-R2Lは比較対象の右から左へと係る構造を用いたモデルを示す．表\ref{tab:r2l}より，単語がサブワード単位に分割されたときの係り先は，各サブワードが隣接する右に向かって，左から右へと係る構造を用いたほうが性能改善に寄与できることを確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5\begin{table}[b]\caption{サブワードの係り先の方向の比較実験(BLEU(\%))}\label{tab:r2l}\input{03table05.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table6\begin{table}[b]\caption{制約を与えるヘッド数の比較実験(BLEU(\%))}\label{tab:num_head}\input{03table06.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{制約を与えるヘッド数の比較実験}提案モデルは，multi-headself-attentionのヘッドから選択した単一のヘッドにのみ制約を与えて学習する．本節では，制約を与えるヘッドを単一ヘッドとマルチヘッド全体で比較し，翻訳性能の比較を行った．実験結果を表\ref{tab:num_head}に示す．表\ref{tab:num_head}より，制約を与えるヘッドはマルチヘッド全体よりも単一ヘッドに設定したほうが性能改善に寄与できることを確認した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{bi-affine変換の有無に関する比較実験}提案モデルでは係り受け関係を捉えるself-attentionでbi-affine変換を用いているが，bi-affine変換を用いず式(\ref{eq:attn_weights})で得られる確率分布行列に制約を与えたモデルとの比較実験を行った．実験結果を表\ref{tab:biaffine}に示す．表\ref{tab:biaffine}より，bi-affine変換を用いたほうが性能改善に寄与できることを確認した．また，BLEU値による評価だけでなく，bi-affine変換の有無による翻訳結果の違いを調べた．bi-affine変換の有無による翻訳結果の違いを表\ref{tab:biaffine_ex}に示す．翻訳結果は文中における差異が特徴的な部分のみを抽出した．表中の太字は単語間の関係性を誤って捉えていると考えられる箇所である．表\ref{tab:biaffine_ex}より，bi-affine変換を用いることで複雑な係り受け関係を捉えることが可能となり，単語間の関係を正しく捉えられるようになることが確認できる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table7\begin{table}[t]\caption{提案モデルにおけるbi-affine変換の有無と翻訳性能の差(BLEU(\%))}\label{tab:biaffine}\input{03table07.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table8\begin{table}[t]\caption{提案モデルにおけるbi-affine変換の有無と翻訳結果の違い（日英翻訳）}\label{tab:biaffine_ex}\input{03table08.tex}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
これまで，ニューラル機械翻訳は係り受け構造や句構造を考慮することにより，翻訳性能が改善されてきた．Chenら\cite{sdrnmt}は，RNNベースのニューラル機械翻訳モデルのエンコーダの中で，原言語文の係り受けの親子関係の情報をCNNで畳み込んだベクトルを用いる``SDRNMT''を提案している．Eriguchiら\cite{rnng_nmt}は，RNNベースのニューラル機械翻訳モデルのデコーダにRNNベースの係り受け解析モデルであるRNNG\cite{rnng}を組み込んだ``NMT+RNNG''を提案している．Wuら\cite{dep2dep}は，RNNベースのニューラル機械翻訳モデルやTransformerNMTモデルにおいて，エンコーダで原言語文の係り受け木を線形化した系列情報を符号化し，デコーダで目的言語文と共にその係り受け木を予測する機構を組み合わせた手法を提案している．Wuらの手法ではTransformerのエンコーダとデコーダに係り受け関係を考慮できるが，TransformerNMTのモデル自体は改良されていない．一方で，本研究では，TransformerNMTモデルのself-attentionを改良し，self-attentionの中で係り受け関係を考慮する点が異なる．また，Wuらの手法では，推論時に係り受け構造を考慮するためには，原言語の文を既存の係り受け解析器で解析する必要がある．一方で，本研究の提案手法は，推論時には，訓練時に原言語文の係り受け関係を捉えるように学習したself-attentionを用いて推論を行うため，推論時は係り受け解析器が必要ない点も異なる．Curreyら\cite{currey-acl2019}は，Transformerのエンコーダに原言語文の句構造を組み込んだモデルを提案している．Curreyらの手法では句構造を用いているが，我々の手法では係り受け構造を用いている点が異なる．また，Curreyらは原言語側の文構造のみを考慮しているが，本研究の提案手法では原言語と目的言語の両側の文構造を考慮している点も異なる．Omoteら\cite{omote-ranlp-2019}は，Transformerのエンコーダのself-attentionで原言語文の2単語の係り受け木における相対的な位置関係を捉えるモデルを提案している．Omoteらの手法では，原言語側の係り受け構造のみを考慮しているが，本研究の提案手法では目的言語側の係り受け構造も考慮している．また，Omoteらの手法は，Wuら\cite{dep2dep}の手法同様，推論時に係り受け解析器が必要な点も本研究とは異なる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{まとめ}
本稿では，原言語側と目的言語側両方の係り受け関係を捉えるself-attention(dependency-basedself-attention)を組み込んだ新たなTransformerNMTモデルを提案した．デコーダ側のdependency-basedself-attentionを訓練する際は，訓練時と推論時で不整合が生じないようにするため，自身より後方の係り受け関係をマスクした教師データを用いた．さらに，dependency-basedself-attentionをサブワード系列にも適用できるように拡張した．実験結果より，提案モデルを用いることで，ASPEC日英・英日翻訳タスクにおいて，ベースラインのTrasnformerモデルと比較してBLEUスコアがそれぞれ1.04ポイント・0.30ポイント上昇したことが確認できた．また，評価実験を通じて，エンコーダとデコーダそれぞれのdependency-basedself-attentionの有効性とdependency-basedself-attentionのサブワード系列への拡張の有効性も確認した．今後は，他の言語対でも提案モデルの有効性も確認したい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本論文は国際会議InternationalConferenceRecentAdvancesinNaturalLanguageProcessing2019(RANLP2019)で発表した論文\cite{ranlp-2019-deguchi}に基づいて日本語で書き直し，説明を追加したものである．本研究成果は，国立研究開発法人情報通信研究機構の委託研究により得られたものである．また，本研究の一部はJSPS科研費18K18110の助成を受けたものである．ここに謝意を表する．また，本稿の英文校正を担当していただいたエナゴ(www.enago.jp)に謝意を表する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.5}\bibliography{03refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{出口祥之}{%2019年愛媛大学工学部情報工学科卒業．2019年より同大学院理工学研究科博士前期課程に在学．}\bioauthor{田村晃裕}{%2005年東京工業大学工学部情報工学科卒業．2007年同大学院総合理工学研究科修士課程修了．2013年同大学院総合理工学研究科博士課程修了．日本電気株式会社，国立研究開発法人情報通信研究機構にて研究員として務めた後，2017年より愛媛大学大学院理工学研究科助教，2020年より同志社大学理工学部准教授となり，現在に至る．博士（工学）．言語処理学会，情報処理学会，人工知能学会，ACL各会員．}\bioauthor{二宮崇}{%1996年東京大学理学部情報科学科卒業．1998年同大学大学院理学系研究科修士課程修了．2001年同大学大学院理学系研究科博士課程修了．同年より科学技術振興事業団研究員．2006年より東京大学情報基盤センター講師．2010年より愛媛大学大学院理工学研究科准教授，2017年同教授．博士（理学）．言語処理学会，アジア太平洋機械翻訳協会，情報処理学会，人工知能学会，電子情報通信学会，日本データベース学会，ACL各会員．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\end{document}