\documentclass[japanese]{jnlp_3.5}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{hangcaption_jnlp}
\usepackage{udline}
\setnami
%%%%\setulminsep{1.2ex}{0.2ex}
%%%%\let\underline=\ul
\usepackage{array}
\usepackage{footnote}
\makesavenoteenv{tabular}
\makesavenoteenv{table}
\allowdisplaybreaks


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage[normalem]{ulem}
%%%%\usepackage{color}
%%%%\usepackage{bm}
%%%%\usepackage{amssymb}
%%%%\usepackage{amsfonts}
\usepackage{multirow}
\usepackage{booktabs}
%%%%\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
%%%%\usepackage{array}
%%%%\usepackage{enumitem}
%%%%\usepackage{multirow}
%%%%\usepackage{colortbl}
%%%%\usepackage{textcomp}
%%%%\usepackage{comment}
%%%%\usepackage{footnote}
%%%%\makesavenoteenv{tabular}
%%%%\makesavenoteenv{table}
%%%%\newcommand{\todo}[1]{}
%%%%\renewcommand{\todo}[1]{{\color{red} TODO: {#1}}}
%%%%\newcommand{\chousa}[1]{}
%%%%\renewcommand{\chousa}[1]{{\color{magenta} Chousa: {#1}}}
%%%%\newcommand{\morishita}[1]{}
%%%%\renewcommand{\morishita}[1]{{\color{purple} Morishita: {#1}}}
\newcommand{\entoja}{En\ensuremath{\rightarrow}Ja}
\newcommand{\jatoen}{Ja\ensuremath{\rightarrow}En}
\newcommand{\enandja}{En\ensuremath{\leftrightarrow}Ja}
\newcommand{\tagforbt}{$ \langle \texttt{BT} \rangle $}
\newcommand{\tagforft}{$ \langle \texttt{FT} \rangle $}
\newcommand{\unk}{$ \langle \texttt{unk} \rangle $}
\newcommand{\sep}{$ \langle \texttt{sep} \rangle $}
\newcommand{\eos}{$ \langle \texttt{eos} \rangle $}
\newcommand{\postensemble}{\textsc{PostEnsemble}}
\newcommand{\baseline}{\textsc{Base}}
\newcommand{\taggedBT}{\textsc{Tagged-BT}}
\newcommand{\taggedFT}{\textsc{Tagged-FT}}
\newcommand{\argmax}{\mathop{\rm argmax}\limits}
\newcommand{\argmin}{\mathop{\rm argmin}\limits}
%%%%\usepackage{udline}
%%%%\newcommand{\fix}[2]{}
%%%%%\renewcommand{\fix}[2]{{\color{red}\Sl{#1}#2}}
%%%%\renewcommand{\fix}[2]{#2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Volume{29}
\Number{4}
\Month{December}
\Year{2022}
%%%%\Issuetitle{「　　　　」特集号}


\received{2022}{4}{1}
\revised{2022}{6}{27}
\accepted{2022}{7}{27}

\setcounter{page}{1052}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{入力拡張と制約付きデコーディングによる語彙制約付き機械翻訳}
\jauthor{帖佐　克己\affiref{NTTCS} \and 森下　　睦\affiref{NTTCS} \and 永田　昌明\affiref{NTTCS}}
\jabstract{%
語彙制約付き機械翻訳は，翻訳文に含まれてほしいフレーズが指定された際に，それらのフレーズを含む文を生成するという制約の下で機械翻訳を行うタスクである．本論文では翻訳モデルの入力系列の拡張によってビームサーチによる語彙制約付きデコーディングの探索を効率化する手法を提案する．日英および英日翻訳での実験により，提案手法が従来手法と比べて少ない計算コストで高い翻訳精度を実現できることを確認した．また，自動抽出されたノイズの多く含む語彙制約に対しても語彙制約付き機械翻訳手法を適用する手法を提案し，日英翻訳での実験によって一般的な機械翻訳手法と比べて高い精度が達成可能であることを示した．
}
\jkeywords{機械翻訳, 語彙制約, 対訳辞書}

\etitle{Combining Input Augmentation and Constrained Decoding for Lexically-Constrained Neural Machine Translation}
\eauthor{Katsuki Chousa\affiref{NTTCS} \and Makoto Morishita\affiref{NTTCS} \and Masaaki Nagata\affiref{NTTCS}} 
\eabstract{%
Lexically constrained machine translation is a task wherein the translation model is required to output translated sentences that contain all specified phrase constraints. In this paper, we propose a method for improving the efficiency of lexically-constrained decoding by extending the input sequence of the model. The results of experiments performed on {\enandja} indicate that the proposed method achieves higher translation accuracy with less computational cost than do the conventional methods. Furthermore, we propose a method for automatically extracting noisy lexical constraints by using the lexical constraint machine translation method. Experiments on {\jatoen} show that the proposed method can achieve a higher level of accuracy than do general machine translation methods.
}
\ekeywords{Machine Translation, Lexical Constraints, Bilingual Dictionary}

\headauthor{帖佐, 森下, 永田}
\headtitle{入力拡張と制約付きデコーディングによる語彙制約付き機械翻訳}

\affilabel{NTTCS}{NTT コミュニケーション科学基礎研究所}{NTT Communication Science Laboratories}



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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{
\newcommand\blfootnote[1]{%
  \begingroup
  \renewcommand\thefootnote{}\footnote{#1}%
  \addtocounter{footnote}{-1}%
  \endgroup
}
\blfootnote{\newline 本論文の内容の一部は，The 8th Workshop on Asian Translation (WAT 2021) で発表されたものである\cite{chousa-morishita-2021-input}．全体的な構成の変更などに加えて，制約語句の性質による翻訳精度の変化に関する分析（\ref{sec:cons_feature_analysis}節）および自動で抽出された語彙制約に対する語彙制約付き機械翻訳手法（\ref{sec:reranking}節，\ref{sec:exp_auto_cons}節）を新たに追加している．}
}


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

語彙制約付き機械翻訳は，翻訳文に含まれてほしいフレーズが指定された際に，それらのフレーズを含む文を生成するという制約の下で機械翻訳を行うタスクである．
近年のニューラル機械翻訳 (Neural Machine Translation; NMT) の発展\cite{luong-etal-2015-effective,vaswani:2017:NIPS}によって機械翻訳による翻訳文の品質は著しく向上したが，語彙制約付き機械翻訳のような，モデルの出力する翻訳文を人手でコントロールする手法に対するNMTの適用に関してはまだ課題が残されている．
図~\ref{fig:task_overview}に語彙制約付き機械翻訳の例を示す．
従来の機械翻訳モデルでは指定した語句を用いた翻訳が出来なかったのに対して，語彙制約付き機械翻訳モデルでは与えられた制約語句を反映させた翻訳を実現する．
この際の制約語句は人手で与えられることが多い．
訳語を指定した翻訳ができることで，法務や特許等における翻訳において非常に重要とされる専門用語や適切な名詞などの翻訳での訳語の一貫性を実現することができる．
また，後編集のような人間が修正の指示を与えながら翻訳を行う，インタラクティブな翻訳にも応用可能である．
さらに，近年複数のワークショップにおいて語彙制約付き機械翻訳のシェアードタスク\cite{nakazawa-etal-2021-overview,alam-etal-2021-findings}が開催されており，非常に注目を浴びているタスクである．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[b]
\begin{center}
\includegraphics{29-4ia1f1.pdf}
\end{center}
\caption{語彙制約付き機械翻訳の例}
\label{fig:task_overview}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

語彙制約を満たすためにNMTモデルの出力をコントロールすることに取り組んだ研究はいくつか提案されており，\citeA{chen2020lexical_leca}に従うとそれらの手法は制約の取り扱い方によってハード制約とソフト制約の2種類に分けることができる．
ハード制約による手法は，与えられたすべての制約語句がモデルの出力に含まれることを保証する．
従来手法は，ビームサーチによる制約付きデコーディングで全ての制約語句を含む系列の候補を探索することで，このハード制約を満たすことを達成している\cite{hokamp-liu-2017-lexically,post-vilar-2018-fast}．
これらの手法はすべての制約を満たすことを保証する一方で，従来のNMTと比べて大きい計算量を必要とする．
また，入力される文によっては制約をすべて満たす出力系列の探索に失敗してしまい，従来のNMTよりも翻訳精度が低くなってしまう．
一方で，ソフト制約による手法はすべての語彙制約が翻訳文に含まれることを保証しない．
従来手法では，NMTモデルへ入力される原言語文を編集や拡張することで出力系列の探索などを用いずに制約語句を出力する方法が試みられている\cite{song-etal-2019-code,chen2020lexical_leca}．
\citeA{song-etal-2019-code}はフレーズテーブルを用い，原言語文中の制約語句に対応する部分に対してその制約語句で置換したり挿入したりすることで，モデルの入力系列を編集する手法を提案している．
また，\citeA{chen2020lexical_leca}は，原言語文の末尾に制約語句を結合してモデルの入力系列を拡張する手法を提案している．
これらの手法は，出力候補を決定する際に探索アルゴリズムを用いないためハード制約の手法に比べて高速に動作する一方で，いくつかの制約語句が出力されない可能性がある．

これらの従来手法に対し，我々は与えられた制約がすべて出力に含まれるという制約条件（ハード制約）の下で語彙制約付き機械翻訳の速度と精度を向上するために，翻訳モデルへの入力系列の拡張によって制約付きデコーディングの探索を改善する手法を提案する．
本提案手法は，翻訳モデルにおいてソフト制約の下で語彙制約を実現する手法と探索アルゴリズムにおいてハード制約の下で語彙制約を実現する手法を組み合わせた初の試みである．
日英および英日翻訳での実験により，提案手法がハード制約を満たした上で，従来手法と比べて少ない計算コストで高い翻訳精度を実現できることを確認した．
なお，本手法は，WAT 2021 Restricted Translation Task \cite{nakazawa-etal-2021-overview}の日英/英日翻訳の両方において1位を獲得した．

また，従来は人手で作成された語彙制約に対する語彙制約付き機械翻訳が主に研究されてきた．
原言語文に対して事前に語彙制約を作成して語彙制約付き機械翻訳を行う場合には，制約語句を辞書などから自動的に抽出することで人手での作成に比べてコストが削減できると考えられる．
しかし，自動抽出された制約語句にはノイズとなる語句が含まれることが考えられる．
前述の語彙制約付き機械翻訳手法は与えられる制約語句が必ず翻訳文に含まれることを仮定しているため，自動抽出された語彙制約をそのまま用いると翻訳精度が低下することが想定される．
そこで本論文では，自動抽出されたノイズを含む語彙制約に対しても語彙制約付き機械翻訳を適用するために，与えられた語彙制約の任意の組み合わせに対する翻訳候補にリランキング手法を用いることで最適な翻訳文を選択する手法を提案する．
対訳辞書から自動抽出した語彙制約による日英翻訳での実験により，制約の与えられない一般的な機械翻訳手法に対して翻訳精度が改善できることを確認した．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{語彙制約付き機械翻訳}\label{sec:task_definition}

$S$トークンからなる原言語の入力文を$X=(x_1, x_2, \ldots, x_S)$，$T$トークンからなる目的言語の参照訳文を$Y=(y_1, y_2, \ldots, y_T)$とする．
従来の機械翻訳タスクでは，$X$から$Y$への系列変換という問題を以下の条件付き確率$p(Y \mid X)$を最大化する目的言語文を探索することで翻訳文を生成する．
\begin{equation}
    p(Y \mid X) = \prod_{t=1}^{T}{p(y_t \mid y_{<t}, X)}
\end{equation}

これに対して語彙制約付き機械翻訳タスクでは，語彙制約を表す$N$個の語句のリスト$C = (C_1, C_2, \ldots, C_N)$がさらに与えられ，その制約語句を全て含んだ目的言語文を出力する必要がある\footnote{語彙制約に関して原言語側の情報は与えられない．したがって語彙制約に対応する原言語の語句が複数ある場合の正解はこのタスクでは議論されていない．}．
このとき，語彙制約付き機械翻訳タスクは，$Y$が$C$をすべて含むという制約の下で以下の条件付き確率を最大化する問題として定義される．
\begin{equation}
    p(Y \mid X, C) = \prod_{t=1}^{T}{p(y_t \mid y_{<t}, X, C)}
\end{equation}
ただし，ここで与えられる制約語句のリスト$C$は参照訳中の出現順序とは独立であり，ランダムな順序で与えられる．


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

本論文の提案手法は制約付きデコーディング手法（\ref{sec:lcd}節）での探索を翻訳モデルへの入力系列の拡張手法（\ref{sec:leca}節）によって改善し，ハード制約下で予測に必要な計算時間の削減と翻訳精度の向上を実現させるものである．
\ref{sec:lcd}節および\ref{sec:leca}節では提案手法の要素となる2つの先行技術について紹介する．

また，従来の語彙制約付き機械翻訳手法が取り扱っていた語彙制約は人手や参照訳を使用することで作成されてきたが，実際にすべての原言語文を翻訳する際には参照訳は利用できず人手で制約を作成するのにはコストがかかることから語彙制約の自動抽出が望まれる．
そこで，本論文では自動抽出されたノイズの多く含む語彙制約に対しても語彙制約付き機械翻訳手法を適用するための手法を\ref{sec:reranking}節で提案する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ビームサーチによる語彙制約付きデコーディング}
\label{sec:lcd}

本研究が目的とするハード制約における語彙制約付き機械翻訳タスクでは，必ず翻訳文が語彙制約を満たす必要がある．
そこで提案手法では，デコーディング時に語彙制約付きデコーディング (lexically constrained decoding; LCD) と呼ばれる手法\cite{hokamp-liu-2017-lexically,post-vilar-2018-fast}を用いる．
この手法は，語彙制約を考慮したビームサーチによって出力文の探索を行う手法である．
ビームは制約の個数と同じ数のbankに分割され，各bankは制約語句の個数と対応づけられる．
各タイムステップの各出力候補はその候補が満たしている制約の個数に対応するbankへ追加される．
これにより，最終的に与えられた制約語句の数と等しいbankから出力候補を取り出すことで，語彙制約を満たした翻訳文が得られることが保証される．

一方で，LCDではビームを語彙制約の個数に分割するため，制約の個数が増加するに応じて必要なビームサイズが大きくなり，そのために従来のNMTと比べて計算量が大きくなってしまう．
この問題に対して，\citeA{post-vilar-2018-fast}は各bankの容量をタイムステップ毎に動的に決定することで計算量の削減を行う手法を提案している．
しかし，我々が行った日英翻訳における事前実験ではビームサイズを60まで大きくしないと語彙制約を満たす出力候補の探索に失敗するケースも確認されており，まだ改良の余地が大きい．
また，探索が失敗するケースではNMTモデルが事前に設定した最大文長まで文を生成するため，単語の繰り返し等を多く含むような非文が生成されてしまい，結果として翻訳精度の低下に繋がるという問題がある．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{入力拡張による語彙制約を考慮したNMT}
\label{sec:leca}

前述のLCDの問題を解決するために，提案手法ではLexical-Constraint-Aware NMT (LeCA) \cite{chen2020lexical_leca} と呼ばれる，原言語文と制約語句を結合することによって入力系列を拡張する手法を用いる．
翻訳モデルへの入力系列は，区切りとなるシンボルである \sep で原言語文$X$と制約語句のリスト$C$中の各語句$C_i$を連結することにより，以下のように作成される．
\begin{equation}
    [ X, \langle \texttt{sep} \rangle, C_1, \langle \texttt{sep} \rangle, C_2, \ldots, C_N, \langle \texttt{eos} \rangle ] \label{eq:leca_input}
\end{equation}
ここで，{\eos}は文の終端を表すシンボルである．

一般の対訳コーパスには制約語句の情報が含まれていないため，モデルの学習に際しては制約語句を新たに付与する必要がある．
そこで学習時に式~\ref{eq:leca_input}の入力系列を作成するために，\citeA{chen2020lexical_leca}では参照訳中から擬似制約語句を動的にサンプリングする手法を提案している．
制約語句のサンプリングは，初めに制約単語の個数$k$をサンプリングした後に，参照訳中から$k$個の単語をランダムに抽出することで行われる．
ここで，制約単語の個数$k$は$0$から制約語句の最大個数$K$までの間から，ハイパーパラメータとして与えられる確率分布に従ってサンプリングされる．
$k=0$の場合には制約語句が与えられない設定となるが，これは制約が課されない際の翻訳精度を保つことを目的としている．

また，LeCAはTransformer \cite{vaswani:2017:NIPS} をベースとしたモデルであるが，式~\ref{eq:leca_input}に示した入力系列をそのままモデルに入力すると原言語文と各制約語句を区別することができない．
そこで，LeCAでは入力系列の入力表現に変更を加える．
入力表現は図~\ref{fig:leca_embed}に示すように，token embeddingsとpositional embeddings，segment embeddingsの3つから構成される．
positional embeddingsの上では入力系列内で位置情報が重複するのを避けるため，各制約語句への位置インデックスは原言語文の最大長から始まる値を割り当てる．
また，原言語文と各制約に異なる値を割り当て，segment embeddingsとしてモデルへと入力する．
さらに，pointer networkによるcopy mechanism \cite{vinyals-et-at-2015-pointer,see-etal-2017-get}を導入する．
これにより，入力系列のトークンをそのままコピーする形で出力できるため，制約語句の生成を助けることが期待できる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[t]
\begin{center}
\includegraphics{29-4ia1f2.pdf}
\end{center}
\caption{LeCAモデルの入力表現}
\label{fig:leca_embed}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LCDでは翻訳モデルが各トークンの生成確率を計算する際に語彙制約の情報を使用しない．
一方で，LeCAではすべての制約語句が翻訳文中に含まれることが保証されない．
そこで，本研究ではLeCAによる入力系列の拡張によってLCDの探索を改善することにより，翻訳精度を維持もしくは向上させながら制約を常に満たした訳出を行うことを保証することのできるモデルを提案する．
LeCAを用いることによってデコーディング時よりも早いタイミングでどのような制約語句が存在しているのかという情報を翻訳モデルに与えることができるため，翻訳モデルが翻訳文中のどの位置で制約を出力するべきかをより適切に決定できるようになり，後段のLCDによる探索が効率化することが期待できる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{自動で抽出した制約語句に対する語彙制約付き機械翻訳}
\label{sec:reranking}

本論文では，前述の翻訳手法の改善に加えて，対訳辞書などから自動で抽出された制約語句を用いて語彙制約付き機械翻訳を行う手法を提案する．
特許や科学技術論文などの固有名詞を多く含むドメインの文書の翻訳では過去の翻訳結果から作成される翻訳メモリや対訳辞書を用いることが多く，そのため対訳辞書から自動で抽出した制約語句によって語彙制約付き機械翻訳を行うというユースケースが考えられる．
一方で，制約語句を自動で抽出する場合には抽出された制約語句にノイズとなる語句が含まれることが考えられる．
前節までで述べた語彙制約付き機械翻訳手法は与えられる制約語句が必ず参照訳中に含まれることを仮定しているため，そのまま自動抽出された制約語句の全てを語彙制約として語彙制約付き機械翻訳手法を適用すると間違った語句が必ず翻訳文に含まれることになり，むしろ語彙制約を使用しない一般的な機械翻訳手法よりも翻訳精度が低下することが想定される．
この問題に対して本論文では，制約語句にノイズが含まれる状況において語彙制約付き機械翻訳を用いる手法を提案する．

提案手法では，自動抽出された制約語句のリストのべき集合に対して語彙制約付き機械翻訳を行い，その翻訳結果に対してリランキング手法を用いて最も良い翻訳文の候補を選択することで，自動抽出された制約語句に対する語彙制約付き機械翻訳を実現する．
まず，自動抽出された制約語句のリスト$C$のべき集合の各要素を語彙制約として語彙制約付き機械翻訳を行う．
このとき作成される語彙制約は$2^{|C|}$個となり，その各語彙制約からそれぞれ複数の翻訳文の候補が得られる．
次に，得られた翻訳文の候補から適切な語彙制約による翻訳文を抽出するために翻訳結果に対してリランキング用のスコアを計算し，そのスコアが最も良いものを翻訳文として選択する．
これにより，自動抽出された制約語句のリスト$C$からノイズとなる制約語句を取り除いた，適切な語彙制約による翻訳文を候補として用いることができる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{人手で作成した語彙制約による評価実験}
\label{sec:manual_constraint_exp}

\ref{sec:leca}節で述べた提案手法の有効性を評価するため，日英翻訳 (\jatoen) および英日翻訳 (\entoja) を対象として，人手で作成した語彙制約による制約付き機械翻訳の精度評価を行った．
評価および分析の対象としたモデルは以下の通りである．
\begin{itemize}
    \item \baseline: 語彙制約を用いないベースラインモデル
    \item \baseline+LCD: \baseline および LCD \cite{post-vilar-2018-fast}
    \item LeCA: Lexical-Constraint-Aware NMT \cite{chen2020lexical_leca}
    \item LeCA+LCD: LeCAおよびLCD （提案手法）
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[b]
\input{01table01.tex}
\hangcaption{ASPECおよびWAT 2021 Restricted Translation Taskデータセットの統計情報．制約語句に関する値では各文対に対する平均個数および平均単語数とそれらの分散を示す．英語の単語分割には\texttt{Moses}, 日本語の単語分割には\texttt{MeCab + NEologd}を用いた．}
\label{tab:aspec}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{データセット} \label{sec:dataset}

学習および評価に使用する対訳コーパスとしてASPEC \cite{nakazawa16aspec}を用いた．
また，開発用および評価用セットの語彙制約として，二言語話者が科学技術用語を抽出することで作成された，WAT 2021 Restricted Translation Task \cite{nakazawa-etal-2021-overview}のデータを使用した．
ASPECに含まれる対訳文対の数を表\ref{tab:aspec}に示す．
ASPECは英語及び日本語の科学技術論文から作成されたコーパスであり，300万文の対訳文対から構成されている．
ASPECの対訳文は自動で対訳文対応付けした際のスコアが高い順に整列されているため，コーパスの末尾にある文対はノイズが多く含まれていることが考えられる．
そこで，本研究では\citeA{morishita17wat} に従って，最初の200万文のみを対訳文対として使用することとした．
また，最後の100万文対に関してはそれぞれの言語における擬似対訳コーパスの作成のための単言語データとした \cite{sennrich16acl}．
疑似対訳コーパスを作成する方法としては，\citeA{morishita:2019:ntt}の分析および我々の事前実験に基づき，英日翻訳では目的言語文から翻訳（逆翻訳; back-translation）\cite{sennrich:2016:backtrans}を行った．
モデルの学習に利用するデータには，事前実験の結果に基づき，英日翻訳ではASPEC上位200万文と残りの100万文から作成した疑似対訳データ，日英翻訳ではASPEC上位200万文のみを用いた．


学習時に作成される疑似制約語句は参照訳中からサブワードではなく単語の単位でサンプリングされるため，サブワードへの分割の前に文の単語分割を行う必要がある．
そこで，本研究では英語と日本語の両方の文に対して単語分割を行った．
英語の単語分割には\texttt{Moses} toolkit \cite{koehn07moses}に含まれているトークナイザを用いた．
日本語の単語分割には\texttt{MeCab} \cite{kudo06mecab}を使用した．
\texttt{MeCab}の辞書としてよく使用されるものとして，デフォルトで利用される\texttt{ipadic}と\citeA{sato2015mecabipadicneologd}による\texttt{mecab-ipadic-NEologd}がある．
\texttt{mecab-ipadic-NEologd}は多くの新語や固有表現を含む辞書であり，\texttt{ipadic}では正しく分割できない固有表現や専門用語をより適切に扱うことができると考えられる．
固有表現や専門用語は語彙制約として多く与えられることが想定されるため，日本語の単語分割に際して\texttt{mecab-ipadic-NEologd}を用いることは品質の高い疑似制約語句の作成につながることが期待できる．
辞書の違いによる翻訳精度および制約語句の一貫性への影響に関しては，\ref{sec:mecab_dictionary}節で比較評価を行う．

目的言語が英語の場合，制約語句が大文字で始まっているかどうかによって生成結果が影響されるのを避けるために\texttt{Moses truecaser}を使用した．

単語分割後，\texttt{sentencepiece} \cite{kudo:2018:sentencepiece}を用いてサブワードへの分割を行った．
\citeA{morishita:2019:ntt}によると，TransformerによるASPECの翻訳の際の語彙サイズは，一般的に用いられている値（例: 32,000）よりも小さいサイズ（例: 4,000）のほうが実験的に高い翻訳精度を達成すると報告されている．
一方で，LCDを使用する際には制約語句のサブワード数を減らせるために大きい語彙サイズが適していると考えられる．
これは，制約語句のサブワード数が増加するとLCDが必要とするビーム幅が増加し，訳出にかかる時間が増加するためである．
本研究では，事前実験において最も良い結果を達成した，日本語と英語合わせて32,000トークンの語彙サイズを採用した．

また，学習データから過度に長いものや文長が異なる文対を削除するため，\texttt{Moses}の\texttt{clean-corpus-n}スクリプトによるクリーニングを行った\footnote{文長の最短は1，最長は250，最大の長さ比は9に設定した．}．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{モデル}
\label{sec:model}

提案手法の有効性を確認するためのベースラインモデルには Transformer (big) \cite{vaswani:2017:NIPS} を用いた．
\citeA{kiyono-etal-2020-tohoku}に基づき，ベースラインモデルの詳細な設定およびハイパーパラメータは表~\ref{tab:hyper-parameter}に示したものを用いた．
本実験で使用したモデルはベースラインモデルをベースとして作成しており，特に明記していない場合の設定およびハイパーパラメータはベースラインモデルの値に準じている．
モデルの実装には{\tt fairseq} \cite{ott19fairseq}を用いた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[b]
\input{01table02.tex}
\caption{ベースラインモデルの設定およびハイパーパラメータ}
\label{tab:hyper-parameter}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LeCAの学習に際して疑似制約の最大個数$K$は14とし，単語数$k$は以下の分布に従ってサンプリングを行った．
\begin{equation}
    p(k) = \left\{\begin{array}{ll}
        0.4 & (k=0) \\
        0.6/14 = 0.04 & (1 \leq k \leq 14)
    \end{array}\right.
\end{equation}
また，モデルの更新回数は，英語が制約の場合には10,000ステップ，日本語が制約の場合には12,000ステップとした．
LeCAとLCDを組み合わせた際のビームサイズは，事前実験で30より大きくしても精度の改善がほとんど見られなかったため，$k=30$を用いた．


語彙制約を用いた場合のモデルアンサンブルの効果についても検証した．
モデルアンサンブルの実施方法としては，まず初めにそれぞれ異なる乱数のシード値から8個のモデルの学習を行った．
その後，各タイムステップにおいてそれらのモデルのトークンの生成確率の平均を計算し，その値を基にビームサーチによるデコーディングを行った．

最後に，翻訳文中の制約語句と対応する箇所に対して後処理を行った．
これは，サブワード分割などの影響によって与えられた制約語句と表層が完全に一致しない状態で訳出されてしまうケースがあるためである．
具体的には，翻訳文上で完全一致しない制約語句に対して，以下の手順で翻訳文中の制約語句に対応する箇所を制約語句に置換することにより行った．
\begin{enumerate}
    \item ハイフン等の記号の前後の空白の削除や半角の記号を全角に変換する
    \item 表層の完全一致で翻訳文中に見つからない制約語句に対して，翻訳文と制約語句の両方を小文字に変換及び空白を削除した状態で翻訳文の制約語句に対応する箇所を検索し，その情報に基づいて翻訳文の一部を与えられた制約語句に置換する．
    \item 制約語句の一部が未知語となってしまっている場合が存在する\footnote{我々の作成したモデルの語彙ではテストセット中のおよそ2\%の文で語彙外のトークンが含まれていることを確認した．}ため，(2)の処理での検索でも制約語句に対応する箇所が見つからない場合には，制約語句の任意の部分文字列を未知語を表す特殊トークンに置き換えた後に(2)と同様の処理で置換を行う．
\end{enumerate}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{評価尺度}

語彙制約付き機械翻訳モデルの評価は翻訳文の翻訳精度および語彙制約の生成の間の一貫性という観点に基づいて行った．
翻訳精度の尺度には，自動評価尺度としてBLEU \cite{papineni-EtAl:2002:ACL}，人手評価尺度としてsource-based direct assessment (DA) \cite{cettolo17iwslt,federmann-2018-appraise}およびsource-based contrastive assessment (CA) \cite{sakaguchi-van-durme-2018-efficient,federmann-2018-appraise} を用いた．
特に明記していない場合，BLEUの計算にはsacrebleu \cite{post18sacrebleu}を用いた\footnote{signatureは以下の通り．\\ 
Ja-En: ``nrefs:1\textbar case:mixed\textbar eff:no\textbar tok:13a\textbar smooth:exp\textbar version:2.0.0'' \\
En-Ja: ``nrefs:1\textbar case:mixed\textbar eff:no\textbar tok:ja-mecab-0.996-IPA\textbar smooth:exp\textbar version:2.0.0''
}．

語彙制約と生成の一貫性を測る尺度としては，Term\% \cite{susanto-etal-2020-lexically,chen2020lexical_leca}\footnote{\citeA{chen2020lexical_leca}では copy success rate (CSR) という名前で同じ評価尺度が用いられている．}およびSent\%という2つの尺度を用いた．
Term\%およびSent\%は以下のように定義される．
\begin{align}
Term\% &= \frac{翻訳文中に正しく生成された制約語句の数}{データセット中の全ての制約語句の数} \times 100 \\
Sent\% &= \frac{語彙制約を完全に満たす翻訳文の数}{データセット中の参照訳数} \times 100
\end{align}


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

各手法による翻訳精度及び制約語句の訳出の一貫性の変化を確認する．
\ref{sec:compare_model}節ではモデルの構成の違い，\ref{sec:mecab_dictionary}節では日本語を制約語句とする際の単語分割に使用する辞書の違い
を比較し，評価尺度のスコアの変化から語彙制約付き機械翻訳および提案手法にとって最適な設定について検証する．
また，\ref{sec:auto_eval}節ではそれまでの比較によって判明した最適な設定によるモデルの翻訳精度を示し，その結果から事前学習およびアンサンブルの効果についても確認する．
最後に，\ref{sec:human_eval}節において，自動評価尺度で最も翻訳精度が高かったシステムに対する人手評価を行い，その結果を確認する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{モデルの構成の違いによる翻訳精度および一貫性の比較}
\label{sec:compare_model}

翻訳文と制約語句の間で表層が一致するようにするための後処理を行う前の，各モデルの翻訳精度及び一貫性の結果を表\ref{tab:term_sent_per}に示す．
まず，LCDのみを用いた手法 (\baseline+LCD) では，{\baseline}にくらべてTerm\%およびSent\%の大幅な改善が見られた．
この時，ハード制約を満たすはずのLCDを適用しても\baseline+LCDの一貫性スコアが100\%になっていないが，これはトークナイズ時の正規化などが原因でスコアが減少しており，前述の後処理を適用することでスコアを100\%にすることができることを確認している（\ref{sec:model}節）．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[b]
\input{01table03.tex}
\hangcaption{後処理を行う前の各モデル構成の翻訳精度および語彙制約の生成の一貫性スコア．*が付いている値は後処理によって100\%になった値を表す．}
\label{tab:term_sent_per}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

一方で，\baseline+LCDの翻訳精度が{\jatoen}において\baseline と比べて減少してしまっていることがわかる．
この際に生成された翻訳文を確認したところ，いくつかの文では制約語句と同じ意味だが表層が異なるフレーズが訳出された後に同じ単語やフレーズを大量に繰り返しており，その結果として翻訳精度が減少していた．
これは，NMTモデルが制約語句と同じ意味だが表層が異なるフレーズを先に訳出した際に，制約語句に対応する原言語のフレーズは翻訳済みという扱いになってしまうので制約語句の出力確率は高くならず出力されづらくなるが，その一方でLCDはすべての制約を満たすまで生成を続けるようにモデルに強制するため，その結果としてトークンの繰り返しが発生してしまうのだと考えられる．
また，\baseline+LCD を用いて全ての制約語句の生成を成功させるためには，ビームサイズを60以上にしないとビームサーチ時に探索失敗してしまうということも確認されたため，非常に翻訳時の計算コストが大きくなった．
これは，翻訳モデルが語彙制約を知らないために制約語句に対する生成確率が高くならない場合が存在し，小さいビームサイズでは語彙制約を含む翻訳候補を探索できないことが原因だと考えられる．

次に，LeCAの結果に着目すると，高い翻訳精度と一貫性スコアを達成していることがわかる．
LeCAおよび\baseline+LCDへの入力は同じ原言語文と制約語句の2つであるが，\baseline+LCDに比べて翻訳精度は大きく向上していることがわかる．
しかし，LeCAは語彙制約を満たすことを保証しない手法であることから，一貫性スコアに関しては\baseline+LCDよりも減少したものとなっている．

これらの手法に対して，提案手法であるLeCA+LCDでは小さいビームサイズで全ての語彙制約を満たしながらも翻訳精度の向上を達成することができている．
このことから，NMTモデルに原言語文と語彙制約の両方を入力することで，モデルが適切なタイミングで制約語句に対して高い出力確率を割り当てることができるようになり，その結果として語彙制約付きデコーディングによる出力候補の探索が効率的に行われるようになり，翻訳精度の向上やビームサーチの減少に繋がるのではないかと考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{単語分割時の辞書の違いによる翻訳精度および一貫性の比較}
\label{sec:mecab_dictionary}

LeCAの学習時に作成される疑似制約語句は参照訳中から単語の単位でランダムにサンプリングされるため，単語の分割単位が学習に大きく影響を与えると考えられる．
特に，分かち書きがされていない日本語では，使用する辞書などによって大きく単語の分割単位が変化する．
そのため，日本語が語彙制約として与えられる{\entoja}において，単語分割の際の辞書の違いによりLeCAの翻訳精度および一貫性スコアがどのように変化するかを確認した．
単語分割には\texttt{MeCab}を用い，比較する辞書としてはデフォルトの辞書である\texttt{ipadic}と固有表現を多く含む\texttt{mecab-ipadic-NEologd}の2種類を用いた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[b]
\input{01table04.tex}
\caption{{\entoja}における単語分割の際の辞書の違いによるLeCAの翻訳精度および一貫性スコアの変化}
\label{tab:mecab_dictionary}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:mecab_dictionary}に各辞書を使用した際のLeCAの翻訳精度および一貫性スコアの結果を示す．
\texttt{ipadic}を使用した場合に比べて\texttt{mecab-ipadic-NEologd}を用いたモデルのほうが翻訳精度および一貫性スコアが大きく向上している．
このことから，\texttt{mecab-ipadic-NEologd}のような新語や固有表現が多く含まれる辞書を用いる方がそれらの単語が1単語として分割されるため，日本語におけるLeCAの学習に適しているということが確認できた．
そのため，本研究における日本語の単語分割には\texttt{MeCab}と\texttt{mecab-ipadic-NEologd}の組み合わせを用いた．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{自動評価尺度による翻訳精度の評価}
\label{sec:auto_eval}

表~\ref{tab:compare_bleu}に評価用データセットに対する各システムの自動評価尺度による翻訳精度を示す\footnote{これらの結果はWAT Restricted Translation Taskの評価用サーバで評価されたものである．\\Ja-En: \url{http://lotus.kuee.kyoto-u.ac.jp/WAT/evaluation/list.php?t=158&o=4}\\En-Ja: \url{http://lotus.kuee.kyoto-u.ac.jp/WAT/evaluation/list.php?t=157&o=1}}．
この結果より，提案手法 (d) は{\baseline} (a) に対してBLEUスコアで{\entoja}が+10.85ポイント，{\jatoen}が+14.03ポイントと，大幅に翻訳精度が向上していることがわかる．
また，既存の語彙制約付き機械翻訳手法であるLCD (b) およびLeCA (c) に対しても精度が向上している．
これより，入力系列の拡張による語彙制約を考慮したNMTとビームサーチによる語彙制約付きデコーディングを組み合わせることで，さらに効果的な語彙制約付き機械翻訳が実現できることが確認できた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[b]
\input{01table05.tex}
\hangcaption{翻訳精度の自動評価尺度による結果．{\entoja}の結果に，\texttt{MeCab}による単語分割を基にしたBLEUスコアを示している．\textbf{太字}で示される値は各列において最も高い値を表す．}
\label{tab:compare_bleu}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

次に，後処理による翻訳精度の影響について確認する．
後処理を行っていない表3の結果と比較すると，{\entoja}では翻訳精度が向上しているが{\jatoen}では翻訳精度が減少していることが確認できる．
これは後処理が，目的言語が日本語の場合には制約語句に含まれる未知語が正しく復元されるなどの影響で翻訳精度の向上に寄与し，英語の場合には正規化の有無やトークン単位が一致しなくなるなどで翻訳精度が減少してしまう原因となっていると考えられる．

最後に，その提案モデルのアンサンブルの効果について検証する．
結果より，8個のモデルをアンサンブルすることにより，単一のモデルの翻訳精度に対して大幅な翻訳精度の検証が見られた（表~\ref{tab:compare_bleu} (d)，(e)）．
このことから，語彙制約付きデコーディングとの組み合わせにおいてもモデルのアンサンブルは翻訳精度の改善に寄与することが確認できる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{人手評価尺度による翻訳精度の評価}
\label{sec:human_eval}

表~\ref{tab:human_eval}に，
\pagebreak
\ref{sec:auto_eval}で最も高い精度を達成したモデル（表\ref{tab:compare_bleu} (e)）に対する人手評価尺度による翻訳精度の評価結果を示す\footnote{これらのスコアはWAT 2021 Restricted Translation Task \cite{nakazawa-etal-2021-overview} にて，各参加者のベストモデルに対して二言語話者によって評価されたものである．\url{https://sites.google.com/view/restricted-translation-task/2021#h.ev9nk8f29t1k}}．
提案手法により作成したモデルでは，人間によって翻訳が行われた参照訳よりも両方の尺度において高い翻訳精度が実現できている．
特に，オリジナルのデータの翻訳方向と同じである{\jatoen}の設定においても参照訳を上回る精度を達成していることから，目的言語側で適切な語句を制約語句として選択することができる場合には，語彙制約付き言語生成によって人間と同等の翻訳精度を達成することができる可能性が示唆される．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[t]
\input{01table06.tex}
\caption{翻訳精度の人手評価尺度による結果}
\label{tab:human_eval}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{分析}

これまでの実験により適切な語彙制約が与えられる設定では提案手法によって高い翻訳精度が達成できるということが確認できた．
しかし，以下の点に関しては依然として疑問が残る．
\begin{itemize}
    \item 提案手法がなぜ先行研究と比べて有効であるのかという点（\ref{sec:example_analysis}節）
    \item 提案手法によって計算効率はどの程度向上したのかという点（\ref{sec:beamsize_analysis}節）
    \item 制約語句の性質によって翻訳精度が改善もしくは悪化するのかという点（\ref{sec:cons_feature_analysis}節）
\end{itemize}
本節ではこれらの疑問点に関して，さらなる分析を行った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{実際の翻訳結果の例に基づく分析}
\label{sec:example_analysis}

提案手法がなぜ先行研究と比べて有効であるのかを確認するため，先行研究である{\baseline+LCD}では翻訳に失敗してしまうが提案手法のLeCA+LCDでは正しく翻訳が行えるケースを用いて分析を行う．
表~\ref{tab:example_translation}にASPECの評価用セットから選択したそのようなケースの翻訳例を示す．
ここで，表中の下線部は制約語句と完全一致するフレーズ，波線部は制約語句と同じ意味で表層が異なるフレーズを表す．
結果より明らかであるように，{\baseline+LCD}は同様のフレーズを繰り返し生成しており，語彙制約を満たしている一方で翻訳には失敗してしまっている．
特に，\texttt{superconductivity single phrase auto-transformer}という制約語句の生成が上手く行われていないように思われる．
この問題は，{\baseline+LCD}が与えられた制約語句と非常に似た意味だが表層が異なるフレーズの\texttt{superconducting single - phase transformer}（表~\ref{tab:example_translation} 波線部）を早い段階で生成してしまい，制約語句の情報を知らない翻訳モデルはその制約語句に対応する原言語の表現が翻訳されたとしてしまうのに対して，実際には制約が満たされていないためにLCDが訳文の生成を終了させないようにモデルに出力を強制することから発生しているのではないかと考えられる．
このような翻訳結果は{\baseline+LCD}の出力に多く見られており，このことが{\baseline}に比べて翻訳精度が低下している点やビームサイズを大きくする必要がある点の原因となっていると思われる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[t]
\input{01table07.tex}
\hangcaption{翻訳例：下線部は制約語句と完全一致するフレーズ，波線部は制約語句と同じ意味で表層が異なるフレーズを示す．}\label{tab:example_translation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

一方で，提案手法であるLeCA+LCDは語彙制約を満たした上での翻訳に成功している．
このことから，入力として語彙制約を受け取るLeCAは制約語句に対して他の単語よりも高い生成確率を付与する，または他の単語の生成確率を適切に下げることができるため，提案手法がより制約を満たした文の生成に効果的であるということが示唆される．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{ビームサイズの変化による翻訳精度の変化}
\label{sec:beamsize_analysis}

提案手法のビームサイズによる影響を確認するため，ビームサイズを変化させた際に提案手法の翻訳精度がどのように変化するかの分析を行う．
図~\ref{fig:beamsize}に，英日翻訳におけるビームサイズを変化させた際のBLEUスコアを示す．
\ref{sec:lcd}節でも述べた通り，\baseline+LCDではビームサイズを60以上まで大きくしないと語彙制約を満たす出力候補の探索に失敗するケースが確認された．
これに対して，LeCA+LCDではビームサイズを非常に小さく設定した際においても語彙制約を満たすことができ，さらに翻訳精度も改善することができている．
この結果より，LeCAの出力確率による翻訳候補のスコアリングはLCDによる探索をより効率化させ，LeCAとLCDを組み合わせた手法を用いることで予測にかかる計算時間を減少させることができることが示唆される．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 3
\begin{figure}[t]
\begin{center}
\includegraphics{29-4ia1f3.pdf}
\end{center}
\caption{英日翻訳におけるビームサイズを変化させた際のBLEUスコア}
\label{fig:beamsize}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{制約語句の性質による翻訳精度の変化}
\label{sec:cons_feature_analysis}

本節では，制約語句の性質によって翻訳精度がどのような影響を受けるのかについて分析を行う．
前節までの結果より，科学技術用語のような適切な制約語句を与えることができれば，語彙制約付き機械翻訳によって高い翻訳精度が達成できることが確認できた．
しかし，科学技術用語以外で一般にどのような制約語句が翻訳精度の向上に寄与するのかは明らかではなく，同様に制約語句が科学技術用語以外になった場合の語彙制約付き機械翻訳手法の有効性も明らかではない．
そこで本節では，参照訳文中から言語学的な役割を持つ様々な語句を抽出し，それらの語句を語彙制約とした際の役割ごとの翻訳精度の変化を確認する．

語句の役割には品詞・句構造木・固有表現のタグを採用した．
品詞および固有表現は\texttt{spaCy}のRoBERTaベースのパイプライン\footnote{\url{https://spacy.io/models/en#en_core_web_trf}}を使用してタグ付けを行った．
また，句構造解析にはBerkeley Neural Parser \cite{kitaev-klein-2018-constituency}\footnote{\url{https://spacy.io/universe/project/self-attentive-parser}}を用いた．
タグ付けされたすべての語句に対して，その語句を制約として与えた場合及び与えない場合の2通りでLeCA+LCDを用いて翻訳を行い，属性別でそれぞれのBLEUを計算した．

表\ref{tab:pos_tag_bleu_improvement}に品詞タグ，表\ref{tab:constituency_tag_bleu_improvement}に句構造タグ，表\ref{tab:ner_tag_bleu_improvement}に固有表現タグにおける，役割別の翻訳精度の変化を示す．
品詞・句構造ではほとんどのタグ，固有表現ではすべてのタグで語彙制約として与えた際に翻訳精度の改善が見られた．
タグ付けの際のエラーを考慮してスコアの分散が小さいと思われる100文以上抽出されているタグに着目すると，品詞では基数 (CD) や限定詞 (DT)，前置詞 (IN)，形容詞 (JJ)，人称代名詞 (PRP\$，PRP)，副詞 (RB)，動詞 (VBD，VBG，VBN，VBP，VB，VBZ) などの幅広いタグで翻訳精度の改善が見られる．
特に動詞に関連するタグでは精度改善の幅が大きく，これは動詞が活用などで表現が変化しやすいことから参照訳の表現と同じ表現で翻訳器が訳出することが難しいために語彙制約として与えることで訳出表現が一意に定められることが原因として考えられる．
一般名詞 (NN，NNS) に関しても精度が向上している一方で，固有名詞 (NNP) では精度が向上していないという結果になっている．
実際の出力結果から固有名詞が制約として与えられていてBLEUが低下しているものを確認すると，多くは制約語句の一部が大文字や小文字になっていることによりスコアの減少を招いていた．
目的言語が英語の場合には制約語句が大文字で始まっているかどうかによって生成結果が影響されるのを避けるためにtruecaseを行っており，翻訳モデルの出力した文をdetruecaseする際に語彙制約全体もしくは最後の1文字が大文字にならないことがあるため，その結果として大文字で与えられることの多い固有名詞では翻訳精度が少し低下していると考えられる．
実際に，すべて事前に小文字に変換して大文字と小文字の違いを無視した状態で評価を行ったところ，BLUEが制約なしでの翻訳では32.9ポイントであるのに対して制約付きの翻訳では33.4ポイントとなり，0.5ポイントの改善が確認できた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[p]
\input{01table08.tex}
\end{center}
\caption{品詞タグ別での制約の有無によるBLEUの比較．太字は同じ属性でBLUEスコアが高い方を示す．}
\label{tab:pos_tag_bleu_improvement}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 9 and 10
\begin{table}[t]
\setlength{\captionwidth}{205pt}
\noindent\begin{minipage}[t]{205pt}
\input{01table09.tex}
\hangcaption{句構造タグ別での制約の有無によるBLEUの比較．太字は同じ属性でBLUEスコアが高い方を示す．}
\label{tab:constituency_tag_bleu_improvement}
\end{minipage}
\raisebox{20pt}[0pt][0pt]{%
\begin{minipage}[t]{205pt}
\input{01table10.tex}
\hangcaption{固有表現タグ別での制約の有無によるBLEUの比較．太字は同じ属性でBLUEスコアが高い方を示す．}
\label{tab:ner_tag_bleu_improvement}
\end{center}
\end{minipage}
}%
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{自動で抽出した語彙制約による評価実験}
\label{sec:exp_auto_cons}

\ref{sec:reranking}節で提案した，自動抽出した語彙制約に対する翻訳候補のリランキングによる語彙制約付き機械翻訳手法の有効性を確認するため，日英翻訳を対象として対訳辞書から自動抽出した語彙制約による語彙制約付き機械翻訳の精度評価を行った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{対訳辞書}

語彙制約を抽出するために用いる対訳辞書として，汎用的な辞書であるEDR日英対訳辞書 (EDR-JE)\footnote{\url{https://www2.nict.go.jp/ipp/EDR/ENG/indexTop.html}}および日英翻訳システムALT-J/Eの対訳辞書\cite{ikehara-etal-altje-1987}を用いた．
対訳辞書のエントリに関しては文脈に応じて訳語が変化するものや見出し語の検索性が低いものなどが存在しノイズとなるため，以下の要素に当てはまるエントリに対してフィルタリングを行った．
\begin{itemize}
    \item 名詞/名詞句以外の語句を含むエントリ
    \item 長さが1の語句からなるエントリ
    \item 原言語側の単語に対して複数の訳語が存在するエントリ
\end{itemize}
語彙制約の抽出は，対訳辞書の原言語側の語句から作成したTrie木\footnote{Trie木の実装には\texttt{rixwew/darts-clone-python}を用いた． \url{https://github.com/rixwew/darts-clone-python}}を用いて原言語文中に含まれるエントリを検索し，原言語側の語句の長さが最長となるエントリを選択することで行った．
この際，対訳辞書と原言語文との間で形態素の単位を揃えるために，各エントリの原言語側の語句は\texttt{MeCab+NEologd}によって事前に分かち書きを行ったものを用いた．
また，語彙制約のオラクルとして人手で作成された語彙制約（オラクル制約）であるWAT 2021 Restricted Translation Taskのデータを使用した．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{モデル}

評価に用いる翻訳モデルとしては以下のものを選択した．
\begin{itemize}
    \item Transformer (big)
    \item LeCA + \{EDR-JE, ALT-J/E\}
    \item LeCA+LCD + \{EDR-JE, ALT-J/E\}
    \item LeCA+LCD + 人手制約 (WAT2021)
\end{itemize}
翻訳モデルの学習および評価に使用する対訳コーパスにはASPECを用いた．
各モデルの詳細な設定およびハイパーパラメータは\ref{sec:manual_constraint_exp}節と同様のものを用い，新たにモデルを作成した．翻訳文と制約語句の間で表層が一致するようにするための後処理，および
モデルのアンサンブルに関しては行わなかった．

辞書から抽出した制約に対しては$|C|$個の制約語句を全て使用したものから生成文の上位30文，及び$2^{|C|}$通りの語彙制約からそれぞれ上位30文を集めたものを翻訳候補として用いた．また，制約なしもしくは人手制約に対しては上位30文を翻訳候補として用いた．
翻訳候補のリランキングの際に用いるスコアには以下の3つのスコアをそれぞれ用いた．
\begin{itemize}
    \item Generation: 翻訳モデルの出力する翻訳候補の尤度
    \item Reranker: 原言語文と翻訳候補からリランキングモデルの計算するスコア
    \item SBLEU: 翻訳候補と参照訳との間の文レベルのBLEU
\end{itemize}
リランキングモデルには，\citeA{marie-fujita-2018-smorgasbord}の分析に基づき，文末から文頭へと翻訳文を生成するRight-to-Left翻訳タスクをTrasnformer (big) で学習したモデルを使用した．
その際のリランキングのスコアとしては入力された翻訳候補をforce decodingした際の尤度を用いた．
また，SBLEUは参照訳を利用するため実際の翻訳時には利用できないが，理想的なリランキングができた際の翻訳結果と考えられるため使用した．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{評価尺度}

各辞書から抽出した語彙制約の特徴を分析するため，以下の尺度に基づいて各辞書の評価を行った．
\begin{itemize}
    \item 制約語句の原言語側での単語数 / 原言語文の単語数 (source token match; ST)
    \item 参照訳に含まれる制約語句数 / 全ての制約語句数 (bilingual term match; BT)
    \item 各文に対して与えられた制約語句が1つでも参照訳に含まれる割合 (Lax)
    \item 各文に対して与えられた全ての制約語句が参照訳に含まれる割合 (Strict)
    \item 制約が与えられない文の割合 (no constrained sentence; NoCons)
\end{itemize}

また，各手法の評価には翻訳精度の自動評価尺度であるBLEUを用いた．
また，制約語句が与えられた文が翻訳結果にどの程度使用されているかを調べるために，
\pagebreak
リランキングによって選択された翻訳文中の制約語句が与えられた翻訳文の割合 (Constrained Sentence Ratio) を用いた．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{対訳辞書によって自動抽出された語彙制約の持つ特徴}

各辞書に対する評価結果を表\ref{tab:constraints_accuracy}に示す．
エントリ数に着目するとALT-J/Eのほうが規模が大きく，それに従って制約が与えられない文の割合であるNoConsに関しては非常に小さく，原言語側の単語に対する辞書のヒット率であるSTや自動抽出された制約語句が1つでも参照訳に含まれる割合であるLaxは高くなっている．
一方で，参照訳に含まれる制約語句の割合であるBTやすべての制約語句が参照訳に含まれる割合であるStrictに関してはEDR-JEのほうが高いという結果を示している．
このことから，EDR-JEは抽出できる語彙制約の数は多くないもののその語句が正しい割合は比較的高く，逆にALT-J/Eは制約語句の精度は比較的低いが語彙制約が多く抽出できるという特徴を持つと考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 11
\begin{table}[b]
\input{01table11.tex}
\caption{辞書の違いによる語彙制約の評価}
\label{tab:constraints_accuracy}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{対訳辞書により作成した語彙制約を用いた際の翻訳精度の評価}

対訳辞書により自動抽出した語彙制約を用いた際の各手法の翻訳精度を表\ref{tab:dict_cons_evaluation}に示す．

まずはじめに，$|C|$個の制約語句を全て使用した翻訳を行った際の翻訳精度に着目すると，リランキングの方法によらずベースラインである一般的な機械翻訳手法に対してLeCAおよびLeCA+LCDの翻訳精度が低下していることが確認できる．
これは，自動抽出された制約語句にはノイズとなる語句が含まれるため，そのまま語彙制約付き機械翻訳手法を適用すると間違った語句が翻訳文に含まれてしまうことが原因であると考えられる．


次に，$2^{|C|}$通りの語彙制約から翻訳を行った際の翻訳精度に着目すると，
$|C|$個の制約語句をすべて使用した際の語彙制約付き機械翻訳手法に対して，リランキングの方法によらず$2^{|C|}$通りの語彙制約を用いた手法による翻訳が高い翻訳精度を実現していることが確認できる．
このことより，自動で抽出したノイズの多い制約語句に対して本論文で提案した制約語句のリストのべき集合の各要素に対して語彙制約付き機械翻訳を行う方法が有効であることが考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 12
\begin{table}[t]
\input{01table12.tex}
\caption{対訳辞書により作成した語彙制約を用いた際の各手法の翻訳精度．$2^C$は$C$のべき集合を示す．}
\label{tab:dict_cons_evaluation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 13
\begin{table}[t]
\input{01table13.tex}
\caption{対訳辞書により制約語句の理想的な抽出ができた際の各手法の評価}
\label{tab:oracle_dict_evaluation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

また，翻訳モデルの出力する尤度をスコアとするGenerationでは，ベースラインである一般的な機械翻訳手法に対して，EDR-JEやALT-J/Eでの語彙制約によるLeCAおよびLeCA+LCDの翻訳精度が低くなっているが，リランキングモデルによるスコアを用いるRerankerではベースラインに対してLeCAやLeCA+LCDが翻訳精度を向上させることができている．
これは，Generationでは語彙制約付き機械翻訳手法の生成確率が与えられた語彙制約に影響されて大小することやモデルへの入力が異なるのにも関わらずその尤度を1つのスコアとして比較しているが，Rerankerではリランキングモデルの入力が原言語文のみであるので各翻訳候補に対する入力が同じになるため尤度を比較するのに向いているということが理由の1つとして考えられる．
このことより，対訳辞書などから自動で抽出したノイズの多い語彙制約に対しても本論文で提案した翻訳候補のリランキングを用いることで，一般的な機械翻訳手法と比べて語彙制約付き機械翻訳手法で翻訳精度を改善できることが確認できる．
さらに，SBLEUではベースラインに対して語彙制約付き機械翻訳手法が非常に高い翻訳精度が達成できていることから，理想的なリランキングに近づけば近づくほど翻訳精度を大きく改善することができることも予想される．

一方で，人手制約によるLeCA+LCDの結果を見るとRerankerよりもGenerationのほうが高い翻訳精度を達成している．
これは，今回使用した人手制約で与えられる固有名詞や専門用語などの生成確率は学習データに含まれていないことが多く，そのような制約語句を含む翻訳候補へのリランキングモデルのスコアが低下してしまうことが考えられ，ノイズのない人手制約ではRerankerの翻訳精度が低下してしまうということが考えられる．

次に，Constrained Sentence Ratioについて着目すると，RerankerやSBLEUではリランキングで制約なしの翻訳文が選択されていることがわかる．
Generationではリランキングで選択された翻訳文の過半数以上が語彙制約が与えられた上での翻訳であるのに対して，RerankerやSBLEUではそのような文の割合が大きく減少している．
特に，表\ref{tab:constraints_accuracy}のLaxの値と比較してRerankerやSBLEUの割合が低いことから，いくつかの翻訳に関しては参照訳に含まれている制約語句が与えられたとしても語彙制約なしで翻訳した結果が選択されていることがわかる．
また，この結果からも，Generationでは語彙制約付き機械翻訳手法の生成確率が与えられた語彙制約に対して高い生成確率を割り当てており，語彙制約を使用した翻訳候補に対して高いスコアを割り当てていることが示唆される．

最後に，辞書について着目すると，語彙制約が多く抽出できるALT-J/EがConstrained Sentence Ratioに関してはより高い割合となっており，ALT-J/Eの方が語彙制約付きでの翻訳結果が多く使用されている．
一方で，翻訳結果に関してはGenerationではEDR-JEのほうが高い精度を達成しており，RerankerではALT-J/EとEDR-JEで大きな差はないという結果になっている．
また，SBLEUでは逆にALT-J/Eのほうが高い精度を達成していることから，リランキングが高精度に行える環境下では制約語句の精度は比較的低くとも語彙制約が多く抽出できる辞書のほうが適していることが予想される．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{対訳辞書により制約語句の理想的な抽出ができた際の各手法の評価}

所与の対訳辞書から理想的な語彙制約が抽出できた際の翻訳精度を評価した．
ここで，理想的な語彙制約とは抽出された制約語句にノイズとなる語句が含まれていない語彙制約を指し，対訳辞書により自動抽出した制約語句の中から参照訳に含まれる語句だけを選択することで作成した．
対訳辞書を用いて語彙制約を自動抽出する場合にはノイズとなる制約語句によって翻訳精度が低下する恐れがあったため，制約語句のリストのべき集合を語彙制約とする方法をとっていた．
これに対して，この理想的な語彙制約にはノイズとなる制約語句が含まれないため，本評価では抽出された制約語句を全て用いる語彙制約付き機械翻訳を行った．
その後，得られた翻訳文の候補に対してリランキングを行った．
結果を表\ref{tab:oracle_dict_evaluation}に示す．

表\ref{tab:dict_cons_evaluation}の結果と比較すると，GenerationとRerankerのほとんどの設定で翻訳精度が向上していることがわかる．
したがって，語彙制約の抽出の精度を向上させることによって翻訳精度を改善させられることが示唆される．
一方で，SBLEUの値を見ると表\ref{tab:dict_cons_evaluation}の結果よりも低下していることがわかる．
これは，本評価では語彙制約付きの翻訳しか行っていないため，リランキングの対象には制約なしでの翻訳候補が含まれないことが原因として考えられる．
前節の結果から，いくつかの翻訳に関しては参照訳に含まれている制約語句が与えられたとしても語彙制約なしで翻訳した結果のほうが高い翻訳精度を達成すると考えられ，そのためSBLEUに関しては翻訳精度が低下してしまっていると思われる．


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

\citeA{hokamp-liu-2017-lexically}はGrid Beam Search (GBS)と呼ばれる，ビームサーチを拡張して翻訳モデルに与えられた制約語句を出力させることを強制する手法を提案している．
この手法では，各出力ステップにおいて，ビームを制約の個数と同じ数だけのbankに分割し，$n$個の制約を満たした候補の中から上位$k$個の候補を$n$番目のbankに割り当てる．
この方法で探索を進めると，語彙制約をすべて満たした翻訳候補は制約の個数に対応するビームに含まれるようになる．
一方で，ビームサイズが各入力文の制約の個数に応じて変化するため，複数の文を並列して翻訳することが難しくなる．
これに対して，\citeA{post-vilar-2018-fast}はDynamic Beam Allocation (DBA) と呼ばれる，固定のビームサイズから各bankに対して動的にサイズを割り当ててデコーディングを効率化する手法を提案している．
しかし，これらの論文における実験で用いられている制約語句の単語数は本論文で扱ったデータと比べると小さく，我々の実験ではこれらの手法は本論文で扱ったデータのようなケースでは上手く機能しないことが確認された．

\citeA{song2020alignment}や\citeA{chen2021lexically}は制約語句と原言語文との間の単語アラインメントに基づいた制約付き機械翻訳手法を提案している．
このアラインメントはアテンション機構の重み\cite{garg-etal-2019-jointly}や追加のアテンションヘッドの値から導出され，翻訳モデルが原言語のどの単語を翻訳しようとしているかという情報から制約語句を訳出するタイミングを決定する．
しかし，これらの手法の学習には，語彙制約に加えて原言語文と制約語句の間の正解の単語アラインメントが必要になる．
そのような情報が利用できない場合には自動単語アラインメント手法 (e.g. GIZA++, Fast-Align) 等を使用する必要があるが，そのアラインメントのエラーのせいで翻訳精度が低下してしまうことが予想される．

\citeA{susanto-etal-2020-lexically}では全てのトークンを並列に生成するNon-Autoregressive NMT (NAT) に基づいた高速な語彙制約付き機械翻訳手法を提案している．
この手法では，各出力ステップでトークンの挿入および削除を行うLevenshtein Transformer \cite{gu-et-al-2019-levenshtein}を用いており，与えられた制約語句を出力の初期状態として翻訳を始める．
この論文では与えられた語彙制約の順序は参照訳中に出現する順序と同じであると仮定しているが，一方で本論文で用いたデータのように制約語句の参照訳中での出現順序の情報が利用できないことのほうが一般的だと考えられる．
その場合には，制約の個数の階乗個ある全ての順序で翻訳を行ってリランキングする必要があるため，非常に計算回数が大きくなってしまう．
また，NATに基づく手法は従来のAutoregressive NMTによる方法よりも依然として翻訳精度が低い．

また，いくつかの先行研究では入力系列を語彙制約で拡張する手法を提案している．
\citeA{song-etal-2019-code}は統計的機械翻訳で用いるフレーズテーブルを用い，原言語文のうち制約語句に対応する部分に対してその制約語句で置換したり挿入したりすることで入力系列を拡張する手法を提案している．
また，\citeA{chen2020lexical_leca}は原言語文の末尾に制約語句を結合するという非常にシンプルだが効果的な手法を提案している．
これらの手法はこれまで紹介した手法と比べて高速に動作するが，一方でこれらの手法によって全ての語彙制約が満たされた翻訳結果が得られることが保証されない．
さらに，\citeA{song-etal-2019-code}はフレーズテーブルの品質に翻訳精度や語彙制約が満たされる割合が大きく影響されてしまう．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{まとめ}

本論文では翻訳モデルの入力系列の拡張によってビームサーチによる語彙制約付きデコーディングを効率化した語彙制約付き機械翻訳手法を提案した．
ASPECによる日英および英日翻訳での実験により，提案手法が従来手法と比べて少ない計算コストで高い翻訳精度を実現することを確認した．
また，対訳辞書などを用いて自動抽出されたノイズの多く含む語彙制約に対しても語彙制約付き機械翻訳手法を適用するために，与えられた語彙制約の任意の組み合わせに対する翻訳候補にリランキング手法を用いることで最適な翻訳文を選択する手法についても提案し，日英翻訳での実験において一般的な機械翻訳手法とくらべて高い翻訳精度が達成可能であることを示した．

今後の課題としては，高精度に語彙制約の自動抽出を行う手法の検討が挙げられる．
語彙制約付き機械翻訳手法に与える語彙制約は翻訳する言語対やドメインに大きく依存すると考えられ，すべての言語対やドメインに対して人手で語彙制約を作成するのはコストを要するために自動化が望まれる．
しかし，制約語句の自動抽出を行う手法についてはまだほとんど取り組まれておらず，対訳辞書や対訳コーパスから作成したフレーズテーブルを用いて制約語句を作成することが考えられるが，その方法は自明ではない\footnote{事前実験において，ドメインおよび言語対を共有している学習データからフレーズテーブルを作成し，\ref{sec:exp_auto_cons}節と同様の実験を行ったが良い結果は得られなかった．}．
今後は，対訳コーパスから語彙制約を自動的に抽出していく方法や人間と対話的に翻訳していく過程において語彙制約を構築する手法などを検討していく．
また，\ref{sec:reranking}節の手法は制約語句数のべき乗のオーダの計算量がかかるため，制約語句数が増えると計算コスト面で問題となることも考えられる．
この計算コスト面の問題に関しては制約語句の抽出の方法や方法ごとの制約語句数などに大きく影響されるため，その分析および高速化についても今後の課題である．


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

本論文の執筆にあたり，有益なコメントを頂きました査読者，担当編集委員の皆様に感謝申し上げます．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.6}
\bibliography{01refs_strings,01refs}


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

\bioauthor{帖佐　克己}{%
NTTコミュニケーション科学基礎研究所社員．2020年奈良先端科学技術大学院大学先端科学技術研究科博士前期課程修了．同年より現職．主に機械翻訳に関する研究に従事．言語処理学会，ACL各会員．
}

\bioauthor{森下　　睦}{%
NTTコミュニケーション科学基礎研究所研究員．2017年奈良先端科学技術大学院大学情報科学研究科博士前期課程修了．同年より現職．2022年東北大学大学院情報科学研究科博士後期課程修了．博士（情報科学）．主に機械翻訳に関する研究に従事．言語処理学会，情報処理学会，ACL各会員．
}

\bioauthor{永田　昌明}{%
NTTコミュニケーション科学基礎研究所上席特別研究員．1987年京都大学大学院工学研究科修士課程修了．同年，日本電信電話株式会社入社．主に機械翻訳の研究に従事．電子情報通信学会, 情報処理学会，人工知能学会，言語処理学会，ACL各会員．
}

\end{biography}


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


\end{document}

