\documentclass[japanese]{jnlp_3.3}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
%%%%\usepackage{hangcaption_jnlp}
%%%%\usepackage{udline}
%%%%\setulminsep{1.2ex}{0.2ex}
%%%%\let\underline=\ul
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{amsfonts}
\usepackage{array}
%%%%\usepackage{arydshln}
%%%%% \usepackage{hyperref}
%%%%% \usepackage{subfigure}
%%%%% \usepackage[subrefformat=parens]{subcaption}
%%%%\usepackage{tikz}
%%%%\usetikzlibrary{matrix, positioning, fit, calc, backgrounds}
%%%%\usepackage{gnuplot-lua-tikz}
%%%%\usepackage{gnuplottex}
%%%%\usepackage{url}
%%%%% \usepackage{udline}
%%%%% my definitions
\newcommand{\argmax}{\mathop{\rm arg~max}\limits}
\newcommand{\argmin}{\mathop{\rm arg~min}\limits}
\newcommand{\len}{\mathop{\rm len}}
%%%%\usepackage{latexsym}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{28}
\Number{2}
\Month{June}
\Year{2021}
%%%%\Issuetitle{「　　　　」特集号}

\received{2020}{10}{31}
\revised{2021}{2}{8}
%%%%\rerevised{2006}{5}{6}
\accepted{2021}{3}{12}

\setcounter{page}{632}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{ニューラル機械翻訳のためのバイリンガルなサブワード分割}
\jauthor{出口　祥之\affiref{Ehime}\affiref{NAIST} \and 内山　将夫\affiref{NICT} \and 田村　晃裕\affiref{Doshisha} \and 二宮　　崇\affiref{Ehime} \and 隅田英一郎\affiref{NICT}}
\jabstract{%
    本論文ではニューラル機械翻訳のための新たなサブワード分割法を提案する．従来法では対訳関係を考慮せずに各言語ごとにサブワード分割を学習するため，機械翻訳タスクに適したサブワード分割になるとは限らない．本研究は対訳コーパスを用い，原言語文と目的言語文のサブワードトークン数の差がより小さくなるサブワード分割法を提案する．提案法は対訳情報を用いるため，より機械翻訳タスクに適したサブワードが得られると考えられる．従来法と提案法を用いて翻訳性能を比較したところ，WAT ASPEC 英日・日英・英中・中英翻訳タスクと WMT14 英独・独英翻訳タスクにおいて，Transformer NMT モデルの性能が最大 0.81 BLEU ポイント改善した．
}
\jkeywords{ニューラル機械翻訳，サブワード，単語分割}

\etitle{Bilingual Subword Segmentation for Neural Machine Translation}
\eauthor{Hiroyuki Deguchi\affiref{Ehime}\affiref{NAIST} \and Masao Utiyama\affiref{NICT} \and Akihiro Tamura\affiref{Doshisha} \and Takashi Ninomiya\affiref{Ehime} \and Eiichiro Sumita\affiref{NICT}}
\eabstract{%
This paper proposes a new subword segmentation method for neural machine translation, called bilingual subword segmentation,  which tokenizes sentences to minimize the difference between the number of subword units in a sentence and that in its translation. While existing methods tokenize a sentence without considering its translation, the proposed method tokenizes a sentence using subword units obtained  from bilingual sentences and is thus suitable for machine translation. The method was evaluated on WAT Asian Scientific Paper Excerpt Corpus (ASPEC) English-to-Japanese,  Japanese-to-English, English-to-Chinese, and Chinese-to-Ensglish translation tasks and  WMT14 English-to-German and German-to-English translation tasks. The evaluation results reveal that the proposed method  improves the performance of Transformer  neural machine translation (up to +0.81 BLEU (\%)).
}
\ekeywords{Neural Machine Translation, Subword, Word Segmentation}

\headauthor{出口，内山，田村，二宮，隅田}
\headtitle{ニューラル機械翻訳のためのバイリンガルなサブワード分割}

\affilabel{Ehime}{愛媛大学}{Ehime University}
\affilabel{NAIST}{現在，奈良先端科学技術大学院大学}{Nara Institute of Science and Technology (NAIST)}
\affilabel{NICT}{国立研究開発法人情報通信研究機構}{National Institute of Information and Communications Technology (NICT)}
\affilabel{Doshisha}{同志社大学}{Doshisha University}



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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{はじめに}

ニューラル機械翻訳（Neural Machine Translation，以下 NMT）では，予め指定した語彙に基づいて計算を行うため，翻訳時の入力文に低頻度語や未知語が現れると翻訳精度が低下する．
このような語彙の問題に対処するため，バイトペア符号化（Byte Pair Encoding，以下BPE）\cite{sennrich-etal-2016-neural}やユニグラム言語モデル\cite{kudo-2018-subword}などによるサブワード分割が現在広く用いられている．
BPEによるサブワード分割は事前トークナイズを要すのに対し，ユニグラム言語モデルは生文からサブワード列に直接分割するため，日本語や中国語といった分かち書きされない言語においても形態素解析器を必要としない．
BPEやユニグラム言語モデルはどちらもデータ圧縮に基づいたアルゴリズムであり，語彙量の上限を制約としたトークン数の最小化\footnote{語彙量を減らす方法としては文字単位に分割するという方法も考えられるが，文字単位の分割を用いると文全体のトークン数が増える（系列長が長くなる）ため，系列長に依存した計算量が増加する．サブワード分割によって，語彙量の上限を制約として満たす中でトークン数を最小化することで，トレードオフの関係にある語彙量とトークン数（系列長）の問題に対処しているといえる．}
を行っている．

しかしながら，これらの分割法は対訳関係を考慮せず，各言語ごとにサブワード分割を学習するため，機械翻訳タスクに適したサブワード分割になるとは限らない．
例として，日英翻訳において``設計法 (design method)''と``計測装置 (measurement instrument)''という複合語が訓練データに多数出現する場合を考える．
従来のサブワード分割法はデータ圧縮技術に基づきトークン数の最小化を行うため，これらの複合語が1つのサブワード単位に結合される．
したがって，これらの訓練データは``計測法''という語の翻訳の学習に寄与しない．

本論文では対訳情報からサブワード列を得る新たなサブワード分割法を提案する．
提案法は，分かち書きされない言語を含む翻訳の性能を改善するため，ユニグラム言語モデル\cite{kudo-2018-subword}による分割に基づいたサブワード列を得る．
具体的に，提案法は，ユニグラム言語モデルによって得られる原言語文と目的言語文それぞれの分割候補から，お互いのトークン数の差が小さくなるサブワード列を選択する方法である．
提案法では，ユニグラム言語モデルから得られる原言語文と目的言語文の最尤解を比較し，トークン数が多い言語側のトークン数に近づけるように，より細かい単位のサブワード分割を複数分割候補から選択する．
提案法を用いることで，原言語文と目的言語文のトークン数の差が小さくなり，言語間でトークンが1対1に対応付けされやすくなる．
そのため，従来のサブワード分割法よりNMTに適した分割が得られることが期待される．
提案法では日本語文と英語文のサブワードトークン数を近づけるため，課題例として挙げた``設計法''と``計測装置''という複合語は``設計 (design) ''と``法 (method)''，``計測 (measurement)''と``装置 (instrument)''，それぞれ2トークンに分解される\footnote{なお，提案法はサブワード辞書自体を変えるものではないことに注意されたい．例えば，課題例の ``設計法'' の場合，``設計法''，``設計''，``法'' のいずれも サブワード辞書内に含まれており，従来法では ``設計法'' が選択されるのに対し て，提案法では ``設計'' と ``法'' が選択される．}．
これにより，NMTにおいて，``設計''と``法''，``計測''と``装置''というそれぞれのサブワードの訓練データが``計測法''という語の翻訳にも活用できるようになると考えられる．


ここで，本手法は原言語文と目的言語文の分割数を比較しながらそれぞれの文を分割するため，原言語文単体では分割ができない．
NMTの訓練時には原言語文と目的言語文の分割数を比較するために対訳コーパスを用いることができるが，翻訳時には原言語文に対応する目的言語文が存在しないため，原言語文を分割することができない．
そこで提案法では，対訳コーパスを用いてサブワード分割した訓練データの原言語文からLSTMベースのサブワード分割器を予め学習し，翻訳時において訓練時の分割に近い候補を選択することで，訓練時と翻訳時の分割のギャップを小さくして翻訳性能の低下を防ぐ．
具体的には，翻訳時に，学習したLSTMベースのサブワード分割器により原言語文のサブワード分割候補をリランキングし，スコアが最大となる分割を選択する．

WAT Asian Scientific Paper Excerpt Corpus（以下，ASPEC）\cite{aspec}英日・日英・英中・中英翻訳タスクとWMT14英独・独英翻訳タスクにおいて，従来法と提案法を用いた翻訳性能を比較したところ，Transformer NMTモデルの性能が最大0.81 BLEUポイント改善した．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{従来法：ユニグラム言語モデルに基づいたサブワード分割}
\label{sec:unigram}

本節では提案法の基礎となるユニグラム言語モデルに基づいたサブワード分割法\cite{kudo-2018-subword}について説明する．
ユニグラム言語モデルでは各サブワードが独立に生起すると仮定し，サブワード列の生起確率$P(\boldsymbol{x})$を次式により表す．
\begin{gather}
    P(\boldsymbol{x}) = \prod_{i=1}^{N} p(x_{i}), \\
    \forall i ~ x_i \in \mathcal{V}, ~\sum_{x \in \mathcal{V}} p(x) = 1,
\end{gather}
ただし，$\boldsymbol{x} = (x_1, x_2, \ldots, x_N)$はサブワード列であり，$\mathcal{V}$は語彙集合（サブワード辞書）である．
各サブワードの生起確率$p(x_i)$はEMアルゴリズムによって周辺尤度$\mathcal{L}_{lm}$を最大化することにより推定される．
\begin{equation}
    \mathcal{L}_{lm} = \sum_{s = 1}^{|D|} \log(P(X^{(s)})) = \sum_{s = 1}^{|D|} \log\left(\sum_{\boldsymbol{x} \in \mathcal{S}(X^{(s)})} P(\boldsymbol{x}) \right),
\end{equation}
ただし，$D$は対訳コーパスであり，$X^{(s)}$は$D$中の$s$番目の原言語文または目的言語文であり，$\mathcal{S}(X^{(s)})$は$X^{(s)}$の分割候補集合である．

生起確率が最大となるサブワード列（最尤解）は次式によって得られる．
\begin{equation}
    \boldsymbol{x}^\ast = \argmax_{\boldsymbol{x} \in \mathcal{S}(X)} P(\boldsymbol{x}),
\end{equation}
ただし，$X$は入力文である. 
また，$k$-best分割候補も入力文$X$に対するユニグラム言語モデルによって計算される確率$P(\boldsymbol{x})$に基づいて得ることができる．
ただし，サブワード列の生起確率は各サブワードの尤度の積の形で表されるため，系列長の短い（トークン数の少ない）サブワード列が高い確率を持つ傾向がある．

このユニグラム言語モデルによるサブワード分割は生文から直接学習できるため，日本語や中国語といった分かち書きされない言語においても単語分割器や形態素解析器を必要とせずに分割できるという特長がある．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{提案法}

本節では，対訳文からサブワード列を得る提案手法を示す．
我々の提案法では対訳文対でサブワードトークン数の差が最小になるような分割を行う．
具体的には，原言語文と目的言語文それぞれのユニグラム言語モデルの最尤解のうち，トークン数の少ない（系列長の短い）側の文を，トークン数が多い側のトークン数に近づけるよう，より細かく分割された分割候補からサブワード列を選択する．
ただし，NMTの訓練時には対訳コーパスを利用できるが，翻訳時（評価データ）には対訳文が存在しない．
そこで，NMTの訓練時と翻訳時で異なる方法によりサブワード列を得る．
図\ref{fig:training}，\ref{fig:test}にNMT訓練時のサブワード分割と翻訳時のサブワード分割をそれぞれ示す．
NMTモデルの訓練時は，図\ref{fig:training}の通り，対訳データに基づくサブワード分割結果を用いてNMTモデルを学習する．
一方で翻訳時には，図\ref{fig:test}の通り，対訳データのサブワード分割結果内の原言語文だけから予め学習しておいたLSTMベースの単語分割器を用いて，翻訳対象の原言語文のサブワード分割候補をリランキングする．

提案法はNMTモデルや訓練法を修正する必要がなく，従来のサブワード分割法を置き換えるだけで適用可能である．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[t]
\begin{center}
\includegraphics{28-2ia13f1.pdf}
\end{center}
\caption{訓練時のサブワード分割}
\label{fig:training}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[t]
\begin{center}
\includegraphics{28-2ia13f2.pdf}
\end{center}
\caption{翻訳時のサブワード分割}
\label{fig:test}
\vspace*{-2\Cvs}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{訓練データのサブワード分割}
\label{sec:training}

訓練データ$D$におけるサブワード分割では，ユニグラム言語モデルによる分割候補からトークン数が近い候補対を選択することで，対訳文対$(f, e) \in D$の分割を得る．
具体的には，以下のようにして，原言語文と目的言語文それぞれの$k$-bestの分割候補$\mathcal{B}^k(f)$，$\mathcal{B}^k(e)$の中から，対訳文対$(f, e)$のサブワード列$(\hat{\boldsymbol{f}}, \hat{\boldsymbol{e}})$を得る．
\pagebreak
\begin{equation}
    (\hat{\boldsymbol{f}}, \hat{\boldsymbol{e}}) = \begin{cases}
        (\hat{\boldsymbol{u}}, \boldsymbol{e}^\ast) & \mathrm{if}~ \len(\boldsymbol{f}^\ast) < \len(\boldsymbol{e}^\ast) \\
        (\boldsymbol{f}^\ast, \hat{\boldsymbol{u}}) & \mathrm{otherwise}
    \end{cases},
    \label{eq:def}
\end{equation}
ただし，$\mathrm{len}()$はサブワードトークン数を返す関数であり，$\boldsymbol{f}^\ast$と $\boldsymbol{e}^\ast$は，それぞれ，原言語と目的言語文の最大の確率を持つサブワード列（ユニグラム言語モデルの最尤解）である．
そして，$\hat{\boldsymbol{u}}$は，
$\boldsymbol{v}^\ast$を$\boldsymbol{f}^\ast$と$\boldsymbol{e}^\ast$のうち系列長の長い方としたとき，
$\boldsymbol{v}^\ast$とのトークン数の差が最小の候補の中から最大の確率を持つサブワード列であり，以下の式で表される．
\newpage
\begin{align}
    \hat{\boldsymbol{u}} &= \argmax_{\boldsymbol{u} \in \mathcal{T}} P(\boldsymbol{u}), \\
    \mathcal{T} &= \argmin_{\boldsymbol{u} \in \mathcal{B}^k} |\len(\boldsymbol{u}) - \len(\boldsymbol{v}^\ast)|, \label{eq:min_diff_len} \\
    \mathcal{B}^k &= \begin{cases}
        \mathcal{B}^k(f) & \mathrm{if}~\len(\boldsymbol{f}^\ast) < \len(\boldsymbol{e}^\ast) \\
        \mathcal{B}^k(e) & \mathrm{otherwise}
    \end{cases}.  
    \label{eq:searching}
\end{align}
ここで，式{\ref{eq:min_diff_len}}，{\ref{eq:searching}}より，分割候補の選択は，
\pagebreak
最尤解のトークン数の少ない側（系列長の短い側）において行われる\footnote{ユニグラム言語モデルは各サブワードの尤度の積によって求められる生起確率に基づいて分割を行うため，{$k$}-best分割候補のうち，最尤解に近づくほどトークン数は少なくなる傾向がある．そのため，通常は最尤解よりもトークン数の少ない分割候補は得られない．したがって，提案法では最尤解のトークン数の少ない側（系列長の短い側）においてより細かく分割された分割候補を選択する．}．

NMTモデルは，提案法により各対訳文をサブワード分割した訓練データ$\hat{D} = \{(\hat{\boldsymbol{f}}^{(s)}, \hat{\boldsymbol{e}}^{(s)})\}_{s = 1}^{|D|}$から学習される．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{翻訳時のサブワード分割}

翻訳時は入力文$f$に対する対訳文$e$が存在しないため，サブワード分割の入力に対訳文を用いることができない．
そのため，予め\ref{sec:training}節で作成した訓練データ$\hat{D}$の原言語文$\{\hat{\boldsymbol{f}}^{(s)}\}_{s=1}^{|D|}$から，文字ベースの双方向LSTM（Bidirectional LSTM，以下BiLSTM）を用いたサブワード分割器（以下，BiLSTM分割器）を学習しておく．
そして，翻訳時の分割は，ユニグラム言語モデルの{$k$}-best分割候補をBiLSTM分割器に入力し，各分割候補に対してスコア付けを行いリランキングすることにより得られる．

BiLSTM分割器は，$n$個の文字からなる入力文字列$\mathbf{c} = (c_1, c_2, \ldots, c_n)$
に対して，サブワードの開始文字か否かを表す境界タグを割り当て，サブワードの境界点を2値分類として識別する．
BiLSTM分割器は以下のような構造のニューラルネットワークである．
\begin{align}
    \mathbf{z} &= \mathrm{Embedding}(\mathbf{c}), \\
    \mathbf{h} &= \mathrm{BiLSTM}(\mathbf{z}), \\
    \mathbf{b} &= \mathrm{softmax}(\mathbf{h}W),
\end{align}
ただし，$\mathrm{Embedding}()$は文字埋め込み層，$\mathbf{z}$は文字列$\mathbf{c}$の$d$次元埋め込み表現，$\mathrm{BiLSTM}()$はBiLSTM層，$\mathbf{h}$はBiLSTMの隠れベクトル，$\mathrm{softmax}()$はsoftmax関数，$\mathbf{b}$はBiLSTM分割器の出力，$W \in \mathbb{R}^{d \times \{0, 1\}}$は隠れベクトル$\mathbf{h}$の空間から境界タグ次元に写像するパラメータ行列である．
ベクトル$\mathbf{b}_t = (b_{t, 0}, b_{t, 1})$は文字$c_t$がサブワードの開始点か ($b_{t, 0}$) 開始点でないか ($b_{t, 1}$) の確率分布を表現している．
BiLSTM分割器は，\ref{sec:training}節の方法でサブワード分割された訓練データ$\hat{D}$中の全原言語文$\hat{\boldsymbol{f}} \in \{\hat{\boldsymbol{f}}^{(s)}\}_{s=1}^{|D|}$について，以下の目的関数$\mathcal{L}_{segment}$を最大化することにより学習される．
\begin{align}
    \mathcal{L}_{segment} &= \sum_{t=1}^{n} \log b_{t, r_t}, \\
    \mathrm{where} ~ r_t &= \begin{cases}
        0 & \text{if~} c_t \text{はサブワードの開始点} \\
        1 & \text{otherwise}
    \end{cases}.
\end{align}

翻訳時は次のようにして入力文$f$をサブワード分割する．
はじめに，ユニグラム言語モデルを用いて入力文$f$の$k$-bestサブワード分割候補$\mathcal{B}^k(f)$を得る．
次に，各分割候補$\boldsymbol{f} \in \mathcal{B}^k(f)$のスコア$\mathrm{score}(\boldsymbol{f})$を，予め学習しておいたBiLSTM分割器によって以下のように算出する．
\begin{equation}
    \mathrm{score}(\boldsymbol{f}) = \sum_{t=1}^{n} \log b_{t, r_t}.
\end{equation}
最後に，最大のスコアを持つサブワード列を選択し，出力とする．
\begin{equation}
    \hat{\boldsymbol{f}}^\ast = \argmax_{\boldsymbol{f} \in \mathcal{B}^k(f)} \mathrm{score}(\boldsymbol{f}).
\end{equation}
以上により得られたサブワード列$\hat{\boldsymbol{f}}^\ast$をNMTモデルに入力し，翻訳を行う．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{実験設定}

提案法と従来法（ユニグラム言語モデル\cite{kudo-2018-subword}）の翻訳性能を比較した．
また，従来法として，ユニグラム言語モデルによって得られる複数のサブワード分割候補について周辺尤度を最大化する``サブワード正則化\cite{kudo-richardson-2018-sentencepiece}''とも性能を比較した．
複数サブワード分割候補を得るためのユニグラム言語モデルには\texttt{Sentencepiece}\footnote{\url{https://github.com/google/sentencepiece}}を用いた．
全実験において，NMTシステムとしてTransformer \texttt{base} \cite{transformer}モデルを用いた．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{データセット}

翻訳性能はWAT ASPEC日英・英日（以下ASPEC日-英）
翻訳タスク\footnote{\url{http://lotus.kuee.kyoto-u.ac.jp/ASPEC/}} \cite{aspec}を用いて評価した．
ユニグラム言語モデルの学習は，原言語側と目的言語側でそれぞれ独立に行い，
サブワードの語彙量は，原言語側と目的言語側でそれぞれ16,000になるように設定した．
ミニバッチの大きさは約10,000トークンに
なるよう設定した．
NMTの訓練には訓練データの上位150万文対を使用し，データの前処理はWATベースラインシステム\footnote{\url{http://lotus.kuee.kyoto-u.ac.jp/WAT/WAT2019/baseline/dataPreparationJE.html}}に従った．
開発データと評価データのデータ数はそれぞれ1,790，1,812文対であった．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{ハイパーパラメータ}

全NMTモデルにおいて，
パラメータ最適化にはAdam \cite{adam}を用い，$\beta_1 = 0.9$, $\beta_2 = 0.98$とした．
モデルのパラメータ更新は10万回行った．
学習率は4,000回更新時で5e-4となるように線形に増加させ，
\pagebreak
以降は更新回数の逆平方根に比例して減衰させた\cite{transformer}．
ドロップアウトの確率は0.1に設定した．
NMTモデルの損失関数にはラベル平滑化交差エントロピー\cite{label_smoothing}を用い，平滑化$\epsilon$は0.1に設定した．
パラメータの更新1,000回毎にモデルを保存し，性能評価時には，訓練終了時点から前5つ分のモデルパラメータを平均化したモデルを用いた．
翻訳文の生成にはビーム探索を用い，ビーム幅は4，文長正則化パラメータは0.6 \cite{googlenmt}とした．

提案法のハイパーパラメータに関して，
ユニグラム言語モデルから得るサブワード分割候補数$k$は開発データで調整し，5に設定した．
BiLSTM分割器の埋め込み次元は$d = 256$とし，BiLSTM層は2層スタックした．
文字埋め込み層，BiLSTM層，出力層のパラメータは全て$[-0.1, 0.1]$の一様分布で初期化した．
BiLSTM分割器のパラメータ最適化にはAdamを用い，$\beta_1 = 0.9$, $\beta_2 = 0.98$とした．
モデルのパラメータ更新は10エポック分行った．
学習率は5e-4，ドロップアウトの確率は0.1，ミニバッチの大きさは約256文にそれぞれ設定した．

サブワード正則化を用いたモデルでは，提案法と条件を揃えるため，ユニグラム言語モデルの最大スコアのサブワード列を翻訳する1-bestデコードを使用した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[b]
\input{13table01.tex}
\caption{ASPEC日-英における翻訳性能の比較 (BLEU(\%))}
\label{tab:results-jaen}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{実験結果}

表\ref{tab:results-jaen}に実験結果を示す．
表中の ``ユニグラム言語モデル''，``サブワード正則化''，``BiSW'' はそれぞれ，ユニグラム言語モデル，サブワード正則化，提案法を用いたNMTモデルを示している．
翻訳性能はBLEU \cite{papineni-etal-2002-bleu}で評価し，
評価方法はWAT Automatic Evaluation Procedures\footnote{\url{http://lotus.kuee.kyoto-u.ac.jp/WAT/evaluation/index.html#automatic_evaluation_systems.html}}に従った．
また，ブートストラップ再サンプリングによる有意差検定\cite{koehn-2004-statistical}を実施し，有意水準は5\%とした ($p \leq 0.05$)．
表\ref{tab:results-jaen}中の ``$\dag$'' は ``BiSW'' が ``ユニグラム言語モデル'' に対して，
``{$\ddag$}'' は ``BiSW'' が ``サブワード正則化'' に対して，
有意に高いことを示す．

表\ref{tab:results-jaen}から分かるとおり，提案法 ``BiSW'' は日英，英日翻訳の両言語方向において ``ユニグラム言語モデル'' および ``サブワード正則化'' より性能が改善されている．
``BiSW'' を用いることで ``ユニグラム言語モデル'' に対し，日英，英日翻訳においてそれぞれ0.81，0.10 BLEUポイント，``サブワード正則化'' に対し，それぞれ0.53，0.19 BLEUポイントの性能改善が確認された．
また，両言語方向において，提案法はベースラインの ``ユニグラム言語モデル''，及び``サブワード正則化'' より有意に性能が高く，提案法の有効性が確認できる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{考察}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{BiLSTM分割器の性能とオラクル分割}
\label{sec:oracle}

本節では翻訳時に用いるBiLSTM分割器のリランキングによる分割性能を考察する．
分割性能の評価にはASPECの評価データを用い，参照訳を使用して\ref{sec:training}節の手法により分割した原言語文の分割結果を正解の分割とみなした．
結果を表\ref{tab:accuracy}に示す．
表\ref{tab:accuracy}のとおり，BiLSTM分割器のリランキングによる分割性能は非常に高く，正解分割に近いサブワード分割を得ていることが分かる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[b]
\input{13table02.tex}
\caption{ASPEC日-英の評価データにおけるBiLSTM分割器のサブワード分割性能}
\label{tab:accuracy}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

さらに，正解分割の原言語文を用いた翻訳性能を評価した．
この正解分割に対する翻訳性能は提案法の性能の上限値を示しているといえる．
結果を表\ref{tab:oracle}に示す．
表\ref{tab:oracle}中の``オラクル分割''が正解分割に対する翻訳性能を示している．
表{\ref{tab:oracle}}より，``オラクル分割'' は ``BiSW'' より高い翻訳性能となっていることが確認できる．
 ``BiSW'' の翻訳性能は ``オラクル分割'' と比較して，日英，英日翻訳においてそれぞれ0.10，0.20    BLEUポイント低く，これはBiLSTM分割器の予測の誤差によりオラクル分割と異なる分割が得られたため性能が低下したと考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[b]
\input{13table03.tex}
\caption{オラクル分割の翻訳性能 (BLEU(\%))}
\label{tab:oracle}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{BiLSTM分割器の必要性}

提案法では翻訳時の入力文をサブワード分割するためBiLSTM分割器を必要とする．
本節では翻訳時のBiLSTM分割器の必要性を確認するため，BiLSTM分割器を用いたときと用いないときの翻訳性能を比較した．
BiLSTM分割器を用いない場合は，翻訳時の原言語文の分割結果としては，ユニグラム言語モデルの最尤解 ($\boldsymbol{f}^\ast$) を用いる．
また，訓練時と翻訳時とのギャップを失くすため，
訓練時には，原言語文をユニグラム言語モデルの最尤解 ($\boldsymbol{f}^\ast$) で固定する．
つまり，常に$\boldsymbol{v}^\ast = \boldsymbol{f}^\ast$で固定する．
これにより，訓練時の複数分割候補からの選択は常に目的言語側のみで行われ，原言語側の最尤解のトークン数に最も近い候補が選択されるようになる．

表\ref{tab:fixed_srcbest}に実験結果を示す．
表中の ``BiSW w/o BiLSTM'' がBiLSTMを用いない場合の手法を示しており，
``\dag'' は提案法の ``BiSW'' の性能が ``BiSW w/o BiLSTM'' と比較して有意水準5\%で有意に高いことを示す．
表\ref{tab:fixed_srcbest}より，BiLSTM分割器を用いないと翻訳性能が低下することが確認された．
具体的には，``BiSW w/o BiLSTM'' は ``BiLSTM'' と比較して，日英，英日翻訳においてそれぞれ0.59，0.29 BLEUポイント性能が低下することが分かる．
この実験結果より，目的言語側のみの分割候補からの選択では翻訳に適した分割を獲得するのに十分でなく，原言語，目的言語それぞれの分割候補から双方向に選択する必要があると考えられる．
したがって，翻訳時の入力文を分割するためのBiLSTM分割器は必要であると考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[b]
\input{13table04.tex}
\caption{BiLSTM分割器を用いないときとの翻訳性能比較 (BLEU(\%))}
\label{tab:fixed_srcbest}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[b]
\input{13table05.tex}
\caption{ASPEC日英翻訳の訓練データにおけるサブワードの例}
\label{tab:examples_train}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{提案法によるサブワード分割の例}

本節では従来法 ``ユニグラム言語モデル'' と提案法で得られるサブワードの違いを実例で確認する．
表\ref{tab:examples_train}に，APSEC日英の訓練データに対して従来法と提案法をそれぞれ適用した実際の例を示す．
表\ref{tab:examples_train}より，
従来法では複数の意味から成るサブワードが1トークンに結合されているのに対し，提案法ではそれらが分解されていることが分かる．
また，表中に訳文中の対応箇所を示す．
表より，``設計法'' が訳文中の ``design method'' と対応付いて ``設計'' と ``法'' に分割されていることが確認できる．
これは，従来法が生起確率のみに基づいて分割されるのに対し，提案法では対訳相手の分割情報を参照しているためであるといえる．
これにより，原言語文と目的言語文間でサブワードが対応付けられやすくなり，NMTモデルの学習を支援できるようになると考えられる．
ただし，``popularization'' の訳文中の対応箇所は``普及''という1トークンであるのに対し，提案法による分割では ``popular'' と ``ization'' に分割されている．
これは，単語単位ではなく，文単位でトークン数を近づけるため，``普及'' 以外のトークンの分割を参照し，訳文中の対応箇所とトークン数の対応がない分割を行ったと考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[t]
\input{13table06.tex}
\caption{ASPEC日英翻訳の評価データにおけるサブワードの例}
\label{tab:examples_test}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:examples_test}にAPSEC日英翻訳の評価データ（評価データの日本語文）に対して従来法と提案法をそれぞれ適用した実際の例を示す．
表\ref{tab:examples_test}より，評価データにおいても，対訳文（参照訳）を参照することなく，BiLSTM分割器により，言語間で1対1のサブワードの対応付けを取りやすい単位に分解されていることが分かる．
ただし，提案法において ``透 水 性'' と分割された例は，訳文中の対応箇所が ``premeability'' であるのに対し，従来法の ``透 水性'' よりもトークン数の差が大きくなっている．
これは，文単位でトークン数を近づけた訓練データからBiLSTM分割器を学習させているため，もしくは，BiLSTM分割器が誤って予測しているためであると考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ハイパーパラメータ$k$に対する敏感さ}

提案法では分割候補の候補数$k$がハイパーパラメータとなっている．
本節では，ハイパーパラメータ$k$の値によって提案法の翻訳性能がどの程度変化するかを考察する．
図\ref{fig:kbest}に，ASPEC日英翻訳の開発データにおける$k$を変化させたときの翻訳性能を示す．
$k$の値を$\{[2, 10], 15, 20, 50, 100\}$の中で変化させたときの翻訳性能を評価した．

図\ref{fig:kbest}より，一部例外はあるものの$k$が50を超えるまでは概ね翻訳性能が改善していることが確認できた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 3
\begin{figure}[b]
\begin{center}
\includegraphics{28-2ia13f3.pdf}
\end{center}
\caption{ハイパーパラメータ$k$に対する敏感さ（開発データにおける翻訳性能）}
\label{fig:kbest}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{尤度に基づいた対訳文対のサブワード分割手法}

Kudo \cite{kudo-2018-subword}の文献では\textit{``the unigram language model is reformulated as an entropy encoder that minimizes the total code length for the text. According to Shannon's coding theorem, the optimal code length for a symbol $s$ is $-\log p_s$, where $p_s$ is the occurrence probability of $s$.}''と述べられている．
このことから，サブワード分割した文のトークン数とそのサブワード列の尤度の間には関係性があると考えられる．
そこで本節では，提案手法において，文のトークン数の代わりに尤度を用いた場合の性能を考察する．
つまり，原言語文と目的言語文のトークン数の差を小さくする代わりに，尤度の差が小さくなるように分割を行った場合の性能を評価する．
具体的には，式\ref{eq:def}から式\ref{eq:searching}において，$\mathrm{len}()$を$-\log P()$で置き換えて計算することで，
原言語文と目的言語文をサブワード分割した際の尤度の差が小さくなるような分割候補を選択する．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[b]
\input{13table07.tex}
\caption{尤度ベースの手法との比較 (BLEU(\%))}
\label{tab:lprobs}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:lprobs}に結果を示す．
表中の``BiSW（トークン数ベース）''と``BiSW（尤度ベース）''はそれぞれトークン数に基づいた提案法と尤度に基づいた提案法を示している．
表\ref{tab:lprobs}より，尤度に基づいた手法は日英翻訳においてはユニグラム言語モデルよりも翻訳性能が改善されているが，両言語方向においてトークン数に基づいた提案法よりも性能が低い．
これは，尤度とトークン数の間に関係はあるものの完全に一致していないためであると考えられ，関係の度合いはユニグラム言語モデルの性能に依存していると考えられる．

さらに，ASPEC日-英の訓練データおよび評価データにおいて，対訳文対間のサブワードトークン数の差の平均を調査した．
結果を表\ref{tab:diff_ntokens}に示す．
表\ref{tab:diff_ntokens}より，トークン数ベースと尤度ベースのどちらの手法も訓練データ，評価データの両方においてユニグラム言語モデルよりもトークン数の差は縮まっている．
また，尤度ベースよりもトークン数ベースの提案法のほうがよりトークン数の差が小さくなっていることも確認できる．
この結果より，トークン数ベースの提案法により，原言語文と目的言語文のトークン数の差を小さくする分割を行うという目的が達成できていることが確認できる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[b]
\input{13table08.tex}
\caption{対訳文対間のサブワードトークン数の差の平均}
\label{tab:diff_ntokens}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{分かち書きされた言語対及び分かち書きされない言語対に対する提案法の有効性}
\label{sec:segmented_langpair}

本節では，英独翻訳のような分かち書きされている言語対，及び，日中翻訳のような分かち書きされない言語対
の翻訳に対する提案法の有効性を検証する．

翻訳性能の評価には，それぞれWMT14英独・独英（以下WMT14英-独）翻訳タスク\footnote{\url{https://www.statmt.org/wmt14/translation-task.html}}とASPEC日中・中日（以下ASPEC日-中）翻訳タスク
を用いた． 

本実験におけるユニグラム言語モデルの学習は，原言語側と目的言語側で辞書を共有して行った．
サブワードの語彙量は，
WMT14英-独で37,000，ASPEC日-中で16,000
に設定し，NMTモデル内の原言語側と目的言語側の埋め込み層を共有した．
ミニバッチの大きさは
WMT14英-独で約25,000トークン，ASPEC日-中で約6,000トークン
になるよう設定した．
WMT14英-独の訓練データにおいて，各文をサブワード分割した後，250トークンを超える文と原言語/目的言語文のトークン数の比が1.5を超えるものを除去した．
ハイパーパラメータ$k$は開発データで調整し，2に設定した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 9
\begin{table}[b]
\input{13table09.tex}
\caption{WMT14英-独及びASPEC日-中翻訳における提案法の有効性 (BLEU(\%))}
\label{tab:langpair}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:langpair}にWMT14英独・独英翻訳
，ASPEC日中・中日翻訳
の実験結果を示す．
表\ref{tab:langpair}より，両言語方向において，提案法``BiSW''を用いることで従来法``ユニグラム言語モデル''と比べて翻訳性能が改善されることが確認された．
具体的には，英独，独英，日中，中日翻訳において，``BiSW''は``ユニグラム言語モデル''と比べてそれぞれ0.32，0.02，0.11，0.12 BLEUポイント性能が改善された．
実験結果より，分かち書きされた言語対及び分かち書きされない言語対に対しても提案法の有効性が確認された．


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

BPE \cite{sennrich-etal-2016-neural}とユニグラム言語モデル \cite{kudo-2018-subword}はサブワード分割法として広く用いられている．
BPEは辞書式圧縮に基づいたサブワード分割アルゴリズムであり，指定した語彙量を上限として，出現回数順に隣接するサブワードを再帰的に結合する．
BPEは簡単なアルゴリズムで実装が容易なため多くのNMTシステムで採用されているが，決定的アルゴリズムであるため複数の分割候補を得ることができない．

ユニグラム言語モデルは尤度に基づいたサブワード分割アルゴリズムである．
各サブワードの生起確率はEMアルゴリズムによって推定される．
ユニグラム言語モデルはBPEと比べてアルゴリズムが複雑であるが，尤度に基づいた複数のサブワード分割候補を得られ，かつ，事前トークナイズを必要とせず生文から直接学習できるという特長がある．
本研究の実験ではユニグラム言語モデルのリファレンス実装であるSentencePiece \cite{kudo-richardson-2018-sentencepiece}を用いた．

サブワード正則化 \cite{kudo-2018-subword}は複数のサブワード分割候補を用いたNMTの訓練法であり，サンプリングされた分割候補の周辺尤度を最大化する．
サブワード正則化をNMTに組み込むには，訓練時にパラメータを更新するごとに動的にサブワード分割をサンプリングする必要があり，NMTの訓練処理を修正する必要がある．
 
BPE-dropout \cite{provilkov-etal-2020-bpe}はサブワード正則化を用いられるようにBPEを拡張した手法である．
BPE-dropoutでは，隣接サブワードの結合を確率的に棄却することで複数のサブワード分割候補が得られる．
ただし，$P(\boldsymbol{x}|X)$のような尤度に基づいた$k$-best候補を得ることはできない．

単語やサブワードへの分割を行わずに文字単位で翻訳を行うNMTモデルも提案されている．
Cherryら\cite{cherry-etal-2018-revisiting}は単語単位やサブワード単位のNMTよりも文字単位のNMTの翻訳性能が高くなると報告している．
ただし，Cherryらは文字単位のNMTの問題点として計算量の多さとモデリングの難しさがあることも述べている．
我々の手法はNMTモデルの入出力の粒度について文字単位のNMTの長所と短所（翻訳性能とモデリング，計算量）のバランスをとったものとも考えられる．

Atamanら\cite{ataman-etal-2017-linguistically,ataman-federico-2018-evaluation}やHuckら\cite{huck-etal-2017-target}は言語学に基づくサブワード分割を提案している．
Atamanら\cite{ataman-etal-2017-linguistically,ataman-federico-2018-evaluation}は教師なし形態学習に基づく``Linguistically Motivated Vocabulary Reduction (LMVR)''を用いることでBPEより翻訳性能が向上することを示した．
Huckら\cite{huck-etal-2017-target}はサブワード分割においてステミングや複合語分割などによる言語学的な知識を用いた分割を組み合わせることで，翻訳性能が改善することを示した．
また，Atamanら\cite{ataman-federico-2018-compositional}は単語をn-gram文字で分解することで形態学的にリッチな言語を含む翻訳が改善することを示している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}

本論文では，対訳文からサブワード列を得る，ニューラル機械翻訳のための新たなサブワード分割法を提案した．
WAT ASPEC 英日・日英・英中・中英翻訳タスクと WMT14 英独・独英翻訳タスクにおいて，提案法を用いることでTransformer NMTモデルの性能が最大 0.81 BLEU ポイント改善した．
実験と考察により，対訳文とのサブワードトークン数の差を小さくすることで翻訳性能が改善されることを示した．
今後は他の言語対での提案法の有効性も確認していきたい．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\acknowledgment

本論文は国際会議 The 28th International Conference on Computational Linguistics (COLING'2020) に採択された論文に基づいて日本語で書き直し，説明を追加したものである．

本研究成果は，国立研究開発法人情報通信研究機構の委託研究により得られたものである．
また，本研究の一部は JSPS 科研費 20K19864 の助成を受けたものである．
ここに謝意を表する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.6}
\bibliography{13refs}


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

\bioauthor{出口　祥之}{%
2019年愛媛大学工学部情報工学科卒業．
2021年同大学院理工学研究科博士前期課程修了．2021年より奈良先端科学技術大学院大学博士後期課程に在学．
}
\bioauthor{内山　将夫}{%
1992年筑波大学卒業．1997年同大学院工学研究科修了．博士（工学）．現在，国立研究開発法人情報通信研究機構上席研究員．主な研究分野は機械翻訳．言語処理学会会員．
}
\bioauthor{田村　晃裕}{%
2005年東京工業大学工学部情報工学科卒業．2007年同大学院総合理工学研究科修士課程修了．2013年同大学院総合理工学研究科博士課程修了．日本電気株式会社，国立研究開発法人情報通信研究機構にて研究員として務めた後，2017年より愛媛大学大学院理工学研究科助教，2020年より同志社大学理工学部准教授となり，現在に至る．博士（工学）．言語処理学会，情報処理学会，人工知能学会，ACL各会員．
}
\bioauthor{二宮　　崇}{%
1996年東京大学理学部情報科学科卒業．1998年同大学大学院理学系研究科修士課程修了．2001年同大学大学院理学系研究科博士課程修了．同年より科学技術振興事業団研究員．2006年より東京大学情報基盤センター講師．2010年より愛媛大学大学院理工学研究科准教授，2017年同教授．博士（理学）．言語処理学会，アジア太平洋機械翻訳協会，情報処理学会，人工知能学会，電子情報通信学会，日本データベース学会，ACL各会員．
}
\bioauthor{隅田英一郎}{%
1982年電気通信大学大学院修士課程修了．1999年京都大学大学院博士（工学）取得．1982年〜1991年（株）日本アイ・ビー・エム東京基礎研究所研究員．1992年〜2009年国際電気通信基礎技術研究所研究員，主幹研究員，室長．2007年〜現在 国立研究開発法人情報通信研究機構 (NICT) 先進的音声翻訳研究開発推進センター (ASTREC) 副センター長．2016年NICTフェロー．機械翻訳の研究に従事．
}

\end{biography}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\biodate




\end{document}

