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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{xcolor}
%%%%\usepackage{subfigure}
\usepackage{jumoline}
\newcommand{\red}[1]{\Underline{#1}}
\newcommand{\jsp}[0]{$\mathrm{J_{\mbox{\scriptsize{話}}}}$}
\newcommand{\jwr}[0]{$\mathrm{J_{\mbox{\scriptsize{書}}}}$}
\newcommand{\jre}[0]{$\mathrm{J_{\mbox{\scriptsize{整}}}}$}
\newcommand{\en}[0]{$\mathrm{E}$}
\newcommand{\lt}[0]{$\mathrm{LT}$}
\newcommand{\ltff}[0]{$\mathrm{LT}_{\mathrm{FF}}$}
\newcommand{\ltar}[0]{$\mathrm{LT}_{\mathrm{AR}}$}
%%%%\newcommand{\longc}[1]{\begin{tabular}{l}#1\end{tabular}}
    \newcommand{\longc}[1]{\begin{tabular}{@{}l@{}}#1\end{tabular}}
\newcommand{\LTFF}[0]{$\textsc{LaserTagger}_{\mathrm{FF}}$}
\newcommand{\LTAR}[0]{$\textsc{LaserTagger}_{\mathrm{AR}}$}
\newcommand{\BARTlarge}[0]{$\textrm{BART}_{\textrm{large}}$}
%%%%\newcommand{\sabunA}{}
%%%%%\newcommand{\sabunA}[1]{\Underline{#1}}
%%%%\newcommand{\sabunB}{}
%%%%%\newcommand{\sabunB}[1]{\Underline{#1}}
\def\|{\verb|}
\def\<{\(\langle\)}
\def\>{\(\rangle\)}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

\received{2021}{3}{1}
\revised{2021}{5}{31}
%%%%\rerevised{2006}{5}{6}
\accepted{2021}{7}{10}

\setcounter{page}{1034}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{日本語話し言葉書き言葉変換による\\大学講義の日英翻訳の精度向上}
\jauthor{中尾　亮太\affiref{Author_1} \and Chenhui Chu\affiref{Author_1} \and 黒橋　禎夫\affiref{Author_1}}
\jabstract{%
話し言葉の機械翻訳では，話し言葉に特有の現象が翻訳精度に悪影響を及ぼすことが知られている．本研究では大学講義翻訳システムにおける日英翻訳の前処理として，日本語の話し言葉から書き言葉への自動変換を行うことにより翻訳精度を向上させる．まず大学講義の書き起こしとそれを書き言葉に変換したもの，対応する英文の3つ組からなるコーパスを構築した．次にそれを用いて話し言葉書き言葉変換モデルと日英翻訳モデルを学習させた．その結果，話し言葉書き言葉変換が日英翻訳の精度を向上させることを示した．また，話し言葉に特有の現象の分類に基づき，どのような現象が翻訳精度にどの程度影響するのかを定量化した．
}
\jkeywords{機械翻訳，話し言葉，書き言葉，講義翻訳}

\etitle{Spoken-Written Japanese Conversion for Japanese-English University-Lecture Translation}
\eauthor{Ryota Nakao\affiref{Author_1} \and Chenhui Chu\affiref{Author_1} \and Sadao Kurohashi\affiref{Author_1}} 
\eabstract{%
In machine translation of spoken language, it is known that phenomena specific to spoken language have a negative impact on translation accuracy. Therefore, in this study, as a preprocessing step for Japanese-English translation in our university lecture translation system, we improve the translation accuracy by automatically converting spoken-style Japanese texts to written-style. First, we create a corpus consisting of Japanese transcriptions of university lectures, their conversions into written language, and the corresponding English texts. Next, we train spoken-written conversion models and Japanese-English translation models using the corpus. As a result, we show that spoken-written Japanese conversion improves the accuracy of Japanese-English translation. In addition, we quantify which phenomena affect translation accuracy and to what extent.
}
\ekeywords{Machine Translation, Spoken Language, Written Language, Lecture Translation}

\headauthor{中尾，Chu，黒橋}
\headtitle{日本語話し言葉書き言葉変換による大学講義の日英翻訳の精度向上}

\affilabel{Author_1}{京都大学}{Kyoto University}



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


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

グローバル人材育成のため，政府は外国人留学生の受け入れを推進している\footnote{\url{https://www8.cao.go.jp/youth/whitepaper/r01honpen/s6_1.html}}．また，京都大学でも教養・共通科目を英語で提供したり，日本語・日本文化の教育を組み込んだプログラムを用意するなどの施策を行っている\footnote{\url{https://www.kyoto-u.ac.jp/ja/international/students1/study1/undergraduate}}．しかし，主に講義で用いられる言語は日本語であるため，日本人と外国人留学生との間には学習機会の差が未だに存在し，日本語を勉強中の学生をより一層サポートする必要がある．

この解決策として，専門的な内容を通訳できる通訳者を各講義に配置することは，コスト面から現実的でない．一方で，近年，深層学習などによって音声認識や機械翻訳の技術は劇的に進展しており，このような自動処理を活用していくことが今後の方向性であると考えられる．

音声の機械翻訳は，音声から音声の場合\cite{speech2speech}と音声からテキストの場合があるが，本研究では後者を対象とする．音声からテキストへの翻訳では，一つのモデルで音声から翻訳済みのテキストまでEnd to Endで変換する手法\cite{end2end}と，書き起こしと翻訳を別々のモデルで行う手法\cite{lmt2,lmt1}がある．前者はエラーの累積が少なく，処理時間も短くできることが多いが，ある言語の音声と別言語のテキストの対応をとったコーパスは少ない\cite{end2end}．また分野適応のための新規コーパスの構築も難しい．このため，翻訳精度を高くすることが困難である．一方，後者の手法は，音声認識器からのエラーの累積があるものの，講義のような比較的落ち着いた話し言葉の音声認識は近年かなり高精度になってきており，単言語内での音声とその書き起こしのコーパスやテキスト形式の翻訳コーパスは利用可能なものが多く，新たなコーパスの構築も難しくない．さらに，日本語の書き起こしと英訳を字幕として同時に提供することで，講義内容の理解の補助と同時に日本語の習得の手助けもできる．

本研究は，以上のメリット・デメリットと，講義音声を他言語字幕に翻訳する既存のシステム\cite{lmt2,lmt1}の構成を踏まえ，日本語音声を音声認識器によって書き起こし，次いで機械翻訳により日英翻訳を行う設定で研究を行う．機械翻訳モデルはTransformer \cite{transformer}の登場以来翻訳精度が大きく向上しているが，このモデルの性能を十分に発揮するためには大量のテキストデータを用意する必要がある．広く利用可能な日本語テキストの多くは書き言葉を用いたものであり，話し言葉のコーパスは少ないため，機械翻訳モデルは日本語書き言葉から英語への翻訳を学習することになる．一方，講義では話し言葉が用いられ，それを書き起こしたテキストが機械翻訳モデルへの入力となる．このような書き言葉と話し言葉という訓練データと実際のデータ間のギャップは翻訳精度に悪影響を及ぼすことが知られている\cite{disfluency1,disfluency2,preedit_for_speech_translation}．

本研究では日本語の話し言葉と書き言葉の違いに着目し，翻訳精度の向上と，標準語に近い整った日本語書き起こしを提供することによる日本語学習の促進を目的として，話し言葉から書き言葉への自動変換を行う（図\ref{fig:system}）．タスクとしての話し言葉書き言葉変換には，フィラーや文末の「ですね」の除去等，パターンマッチや簡単な言語モデルである程度解決可能な問題だけでなく，言い直しや言い換えといった冗長な表現の削除や省略された格助詞の補完など文脈に依存した難しい問題も含まれる．本研究ではこれらの問題を単一のモデルで解決することに取り組む．本システムの推論時には，文の区切りとして音声認識器の出力に含まれる無音区間が文末かどうかを判定するニューラルネットワークモデルによる出力を用いる（例：「でアレニウス式は温度依存性を表すやつ[SEP]です \red{[SEP]}はい\red{[SEP]}そして最後に[SEP]反応器の[SEP]」の場合は，下線部分の無音区間 ([SEP]) が文末と判定されるような学習を行ったモデルを用いる）．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[t]
\begin{center}
\includegraphics{28-4ia4f1.pdf}
\end{center}
\caption{大学講義の日英翻訳システムの概要}
\label{fig:system}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

この話し言葉書き言葉変換を行うモデルを訓練するため，また，その変換による日英翻訳への影響を調査するため，新たなコーパスを構築した．このコーパスは大学講義の書き起こしとそれを書き言葉に変換したもの，対応する英文の 3 つ組からなる．なおコーパス構築の際には，話し言葉特有の現象の分類\cite{swdiff,csj_rep}を参考にし，どのような現象を変換すべきか取り決めた．

こうして構築したコーパスを用いて話し言葉書き言葉変換モデルと日英翻訳モデルを学習させ，話し言葉書き言葉変換が日英翻訳の精度を向上させることを実験的に示した．また，話し言葉書き言葉変換の複数手法の定量的評価を行った．加えて，話し言葉に特有の現象の分類に基づき，どのような現象がどの程度翻訳精度に影響するのかを定量化した．


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

本節では，まず話し言葉と書き言葉がどのように違うかを明確化し，話し言葉のコーパスについて述べる．次に話し言葉を書き言葉に変換するに当たり，どのような手法が存在するかを挙げ，最後にそのような変換による翻訳精度への影響についての関連研究を紹介する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{話し言葉と書き言葉の違い}\label{sec:swdiff}

話し言葉に特有の現象を，\citeA{swdiff}は 4 つに大別している．本研究においてコーパスを構築するに際し，作業者に話し言葉と書き言葉の違いを理解してもらうために，これを例文とともに提示した．

\begin{itemize}
\item 語彙的な現象：音韻的な縮約 / 特有の終助詞 / 口語的な助詞 / 敬語 / 感動詞
\item 省略：格助詞の省略・無助詞 / 判定詞の省略
\item 冗長な表現：言い直し / 繰り返し / 言い換え / 言い淀み
\item 文の概念がないことに関連する現象：名詞句・助詞句発話 / 格助詞での中止 / ねじれ / 倒置
\end{itemize}

ここで挙げたもののうち，どの現象を本研究の対象とするかは次節以降で議論する．なお，島津らはその他の現象として「数え上げ」と「綴りの説明」も挙げているが，これらについてはあまり現れないとしている．そのため，本研究でもこれらは扱わない．また，文の概念がないことに関連する現象として「先取り」が挙げられているが，これは主に会話で発生する現象であり，講義ではあまり発生しないので省いた．

話し言葉の性質について言及した他の研究の一つである\citeA{csj_rep}は，作業者によって判断が揺らがないように厳密に定義がなされている．例えば\citeA{swdiff}では「音韻的な縮約」と一纏めにしているものを「動詞ラ行音にかかわる撥音化」「テ形の複合動詞にかかわる縮約」などに細かく分類した上で，口語表現であると認める場合を列挙する形で示している．これは本研究では作業者にとって過剰に詳細であるため，本研究のコーパス構築作業にあたっては\citeA{swdiff}を参考にした．

日本語の話し言葉のコーパスとして代表的な日本語話し言葉コーパス (CSJ)\cite{csj}は，学会講演，および模擬講演を中心とした音声データを元に，様々な観点からアノテーションを付与しXML文書の形で利用可能にしたコーパスである．CSJでの話し言葉特有の現象に対するアノテーションとしては，\citeA{swdiff}の分類に含まれる音の転訛，フィラー，言い直し・言い淀み等による語断片の他，母音や子音の引き伸ばし，話者の笑いや咳，語の読みに関する知識レベルの言い間違いなども含まれる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{話し言葉の自動整形}

\citeA{auto_delete}は話し言葉に対する整形処理における一次整形として削除，挿入，置換の3つの操作を挙げており，CSJに対してこれらの一次整形を行う箇所の開始タグと終了タグを付与したデータを作成した．また，そのうちの削除する箇所について自動で検出する手法を提案している．

他の日本語の話し言葉を自動で修正し読みやすくする事例として国会会議録を音声データから自動で書き起こすシステム\cite{diet}がある．この研究では書き起こしの忠実性や発話者の意図の尊重のため，言い直しや繰り返しはそのままテキストに残しており，冗長な部分を修正するとしても文末の「ですね」の除去などに限られる．しかし，\ref{sec:disfluency}項で示す関連研究においては音声認識に続く機械翻訳の段階での話し言葉特有の現象による翻訳精度の低下が示されている．そのため，本研究では翻訳タスクでの影響を重要視し，\ref{sec:swdiff}項に示した話し言葉と書き言葉の違いを可能な限り網羅するような修正を施す．

話し言葉書き言葉変換はSequence to Sequenceのタスクとして解釈することが可能である．そして，単言語でのSequence to Sequenceタスクを解く手法として，事前訓練済みの言語モデルをfine tuningする手法が近年大きな注目を集めている．例えばT5 \cite{t5}は入出力をタスク固有のプレフィックスとともにText to Textの形式に変換することで文書分類や自然言語推論など様々なタスクを単一のモデルの転移学習で解くことができると示した．このようなモデルは幅広いタスクに適用可能である一方，事前訓練に莫大な資金と時間が必要となるため，英語以外での訓練済みモデルの一般公開は少ない．日本語で利用可能な事前訓練済みモデルとしては日本語Wikipediaで事前訓練されたBART \cite{jbart}が挙げられる．

話し言葉は，フィラーや特有の助詞が用いられるものの，一般的には文法的に間違っているわけではない．しかし同じ言語内で文の意味を維持したまま，トークンを挿入したり削除したりといった文の操作を行うという観点では，時制や冠詞などの文法上の間違いを訂正するタスクである文法誤り訂正と類似している．LaserTagger \cite{lasertagger}は，文法誤り訂正を含むSequence to SequenceのタスクをSequence Labelingとして解くことができる手法で，小さいデータセットでも良い性能を出せることと推論が高速であることが特徴である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{話し言葉の整形による翻訳精度向上}
\label{sec:disfluency}

\citeA{disfluency1}は，翻訳の前処理としてフィラーや冗長な表現を除去することで翻訳精度が向上することを示している．また，\citeA{disfluency2}はTransformerのような深層学習に基づくモデルでも訓練に利用可能な流暢なコーパスと実際に入力される非流暢なテキストの不一致が翻訳精度の低下を引き起こすと主張している．しかし日本語では，それらだけでなく「ですんで」「こっから」のような音韻的な縮約による違いも多く見られる．本研究では非流暢性だけでなく語彙的な現象による翻訳精度への影響も調査する．また，整形されたテキストを字幕として提供することは日本語初学者が勉強するに当たり，辞書を引きやすくなる，標準的な日本語を覚えられるなどのメリットがある．

\citeA{preedit_for_speech_translation}は話し言葉の日英翻訳における前処理として話し言葉を簡潔な表現に変換する手法を提案しているが，前処理，日英翻訳ともにルールベースであり，End to Endな手法と比べて構築・管理の手間がかかる．また，\ref{sec:swdiff}項で述べた冗長な表現を代表として，話し言葉においては単純なパターンマッチや形態素解析で検出するのが難しい現象が存在するため，坂本らの研究ではこれらの変換は取り扱っていない．加えて，翻訳の手法はTransformerアーキテクチャの登場により飛躍的に精度を向上させており，再度話し言葉の変換による翻訳精度向上の有効性を検証する必要がある．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{コーパスの構築}
\label{sec:sw_corpus}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{文区切り器の訓練}

講義翻訳システムで用いる文区切り器は独自のコーパスで訓練されたものであるため，ここでそのコーパスについて述べる．文区切り器は事前訓練とfine tuningで別々のコーパスを使用している．

事前訓練に使用したのは日本語話し言葉コーパス (CSJ) をベースとしたコーパスで，CSJのnoncoreに含まれるClauseBoundaryLabelが文末とアノテーションされた箇所を区切るべき位置としている．区切り位置を推定する訓練を行うため，5から10の文をひとまとめにし，正解の文末位置トークンを文と文の間に挿入する．そして，各文を分かち書きして形態素の間にダミーの文末位置トークンをランダムに挿入する．このようにして作成されたのが文区切り器の事前訓練コーパスである．

fine tuningには京都大学の講義をAMIの音声認識器AmiVoiceエンジン\footnote{\url{https://www.advanced-media.co.jp/amivoice}}で書き起こしたものをベースとしたコーパスを用いる．このコーパスには音声認識器が出力する無音区間トークンが発話内に含まれており，この無音区間の中からアノテーション作業を行った者が文末としてふさわしいと考えた箇所を文末の正解データとした．文区切り器は入力文字列中の無音区間が文末かどうかの判別を学習する．

文区切り器は，これらのコーパスを用いて訓練された $\mathrm{BERT}_\mathrm{{base}}$ モデルであり，入力トークン列に含まれる文末候補位置（音声認識器の出力する無音区間トークン）の中から文末位置を推測するSequence Labelingモデルとなっている．fine tuning用コーパスのテストデータに対するf値は82.2\%となっている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{アノテーション}

ここで示すデータは京都大学で2019年度に行われた5つの講義の書き起こしをもとに構築した．表\ref{tab:classes}に講義名と文の数を示す．以後，この書き起こしのデータを\jsp と表記する．

\jsp をベースに\ref{sec:swdiff}項で述べた話し言葉と書き言葉の違いを具体例とともに作業者に提示して変換を依頼した．ただし，それらの話し言葉と書き言葉の違いのうち，「名詞句・助詞句発言」「ねじれ」はコンテキストへの依存性の高さや専門的な内容に言及している場合の判断の難しさから，作業者には変換を指示しなかった．また，講義で使われる敬語の多くは丁寧語であり，書き言葉でもよく見られる表現であるため，「敬語」に関する違いも変換対象としなかった．また，話し言葉から書き言葉への変換は一意なものではないため，本データセットでは多様性を重視し変換ルールの統一は行わず，各作業者に判断を委ねることとした．作業は日本語を母語としテープ起こし作業を業務としている者8名で，担当する量がほぼ等分となるように行った．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1 and 2
\begin{table}[b]
\begin{minipage}[t]{.45\textwidth}
\input{04table01.tex}
\caption{書き起こしの講義名と文数}
\label{tab:classes}
\end{minipage}
\hfill
\raisebox{13pt}[0pt][0pt]{%
\begin{minipage}[t]{.45\textwidth}
\input{04table02.tex}
\caption{構築したデータセットの文数}
\label{tab:datasets}
\end{minipage}}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

実際に変換作業を行った所，\ref{sec:swdiff}項で述べた話し言葉と書き言葉の違いに含まれないが修正を施すべき点がいくつか見つかった．以下に具体例を示す．

\begin{itemize}
\item 文頭の「で」の除去\\
「それで」と同じ働きをする接続助詞の「で」は，話者の癖により本来必要としない箇所でも出現することが多いことがわかった．
\item 句読点位置の修正\\
話し言葉では文という概念がないため，それを書き起こす際の句読点位置についても曖昧性が生じる．そのため，より適切な位置に句読点をずらしたり，過剰な句読点を削除する修正を行った．この修正は曖昧性があるが，各作業者の判断に委ねた．\\
例文：「菱面対称というのの、括弧ですね、括弧で菱面対称であるんですが」→「菱面対称というものの括弧です。括弧で菱面対称であるのですが」
\item 文法上の間違いの訂正\\
接続詞ではないのに文頭で使われている「なので」，明らかな格助詞のミスなど，文法的に不適切な箇所を訂正した．
\item 意味的に冗長な箇所の削除\\
以下の例文のように，発話の意味的な内容において重要でない部分を削除し，簡潔かつ整った文体にした．\\
例文：容易に作ることができる\textbf{という形です}。
\item 話し言葉的な語の変換\\
音韻的な縮約があるものや話し言葉に特有の助詞に限らず，話し言葉で多く用いられると考えれる語を同じ意味で書き言葉で主に用いられているものに置換した．\\
例：さっき（先ほど），なんか（など）
\end{itemize}

変換後のデータを以後\jwr と表記する．\jsp -\jwr の訓練・開発・テストセットの文数を表\ref{tab:datasets}に示す．なお本システムは，毎年度同じ講師がほぼ同じ内容の講義を行い，そのたびにデータが蓄積され，改めてモデルが訓練されるという想定のもとで開発されている．そのため，未知の語彙や熟語が出現する頻度は低いと仮定し，開発セットとテストセットは全ての文からランダムに選択した．

本コーパスに含まれるデータの具体例を以下に《変換前/変換後》の表記で示す．

\begin{itemize}
\item 《でえーとまあ/》《こっから/ここから》RCO《/、》ここ《ですね/です》《。/、》《えーカルボニル、/》ここがカルボニル基《なんだけど/なのですけれど》、《ここがカルボニル基なんですけど、/》
\item 《あ/》ページが《変わっちゃうのか、/変わってしまいます。》《いいですか、理想気体のほうは/理想気体のほうはいいですか》。
\item 今日の分は《やっといて/行っておいて》いただいた方がいいと思います。
\end{itemize}


\jwr の一部の翻訳を翻訳業者に依頼し，日英対訳コーパスを構築した．この英訳を以後\en と表記する．これにより，話し言葉と書き言葉と英訳の対応をとった3つ組のコーパス\jsp -\jwr -\en データセットを構築した．統合されたデータの文数は表\ref{tab:datasets}に示す．文数とあるが，実際には句読点位置の修正の結果や翻訳の都合で，2つ以上の文が1つの文と対応づいている場合も存在する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{話し言葉書き言葉変換}
\label{sec:spoken-to-written-model}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{手法}

話し言葉書き言葉変換を行う手法として，LaserTaggerとBARTを比較する．\jsp -\jwr データに対してこの2モデルをfine tuningし，評価にはSARI \cite{sari}を用いる．実装はLaserTagger著者らと同じものを用いる．なお，この実装では，出力と正解の完全一致（修正箇所が0個の場合）に対して高いスコアを与えるため，スコアの計算時に$0 / 0 = 1$として計算している．また，ランダムなテストデータ100件に対する推論にかかる平均時間も計測する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{LaserTagger}
\label{sec:lasertagger}

LaserTaggerは，ある種のSequence to SequenceのタスクをSequence Labelingとして解く手法である．入力の各トークンを維持するか削除するかをラベル付けし，必要ならトークン列を挿入する．エンコーダ部分は，マスキングされたトークンを復元するMasked LMと2文間の関係が連続する文かそれ以外かを判断するNext Sentence Predictionの2タスクで事前訓練されたTransformer EncoderであるBERTを用いる．デコーダ部分は単一の全結合層を用いる\LTFF （以後\ltff とする）と一層のTransformer Decoderを用いる\LTAR （以後\ltar とする）のバリエーションがある．

話し言葉書き言葉変換のタスクは，\ref{sec:swdiff}項で示したように，多くは語彙の変換や削除で対応できるため，LaserTaggerが適用できる．ただし，倒置の修正は多くのトークンにまたがる変換であるためLaserTaggerでは解くことが難しいというデメリットがある．一方Sequence to Sequenceの手法はそのような制限はないため解ける可能性がある．


Sequence to Sequenceで問題を解く際，Transformerを始めとする多くの主流なモデルは一定数の語彙以外のトークンを表す特殊トークン（\<UNK\>などで表記される）を出力してしまう可能性がある．このような不要なトークンが翻訳モデルの入力に混じると，翻訳精度の低下につながる恐れがある．また，Sequence to Sequenceのモデルには同じトークン列を繰り返し出力してしまう問題も存在する．Sequence Labelingの場合は，トークンの維持と削除，そして予め決められた出力フレーズ語彙からのトークン列の挿入しか操作のパターンがないため，それらの可能性をなくすことができる．より品質の保証されたサービスを提供するという観点において，機械翻訳の前処理として不要なノイズを加えてしまう可能性をコントロールできることもLaserTaggerのメリットの一つである．

LaserTaggerに必要となる事前訓練されたBERTモデルは，日本語Wikipediaで訓練された$\mathrm{BERT_{large}}$ \cite{jbert}を用いる．また，LaserTaggerのDecoderは全結合層の場合とTransformer Decoderの場合の両方を検討する．\jsp -\jwr データセットにおけるfine tuningは，Tesla V100 GPUを1枚使用してバッチサイズ8で20エポック訓練し，各エポック終了時にモデルのパラメータを保存した．開発セットに対するexactスコアが最も高いパラメータを最終的なスコアの算出に用いる．

LaserTaggerは倒置などの複数のトークンにまたがる修正や出力フレーズ語彙に含まれないトークン列の挿入を必要とする変換を行うことができないため，訓練セットからはそれらのデータは削除される．出力フレーズ語彙の数を\citeA{lasertagger}にならって500としたとき，訓練セット11,072件のうち，Sequence Labeling形式に変換できたものは8,832件であった．倒置が発生している文や頻度の低い語彙が挿入されている文に限って訓練上重要な変換が含まれるとは考えにくいため，この2,340件の削除の影響は大きくないと想定される．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{BART}
\label{sec:bart}

比較対象として，Sequence to SequenceのモデルであるBARTを用いる．\citeA{jbart}が日本語Wikipediaで行った事前訓練には次の2種類が併用されている．
\begin{itemize}
\item Text Infilling：長さ0以上のトークンのスパンが単一の特殊トークンで置き換わっており，これを復元する
\item Sentence Permutation：複数文がランダムな順に並べ替えられており，これを復元する
\end{itemize}

モデルサイズは$\mathrm{BART}_{\mathrm{large}}$を用いる．この事前訓練はTesla V100 GPUを4枚使って約1ヶ月行われた．なお語彙数は32,000，バッチサイズは512である．fine tuning時には通常のTransformerアーキテクチャとしてSequence to Sequenceのタスクを学習する．\jsp -\jwr データセットに対するfine tuningは，Tesla V100 GPUを1枚使用して40エポック訓練し，各エポック終了時にモデルのパラメータを保存した．開発セットに対するlossが最も低いパラメータを最終的なスコアの算出に用いる．なお，出力に\<UNK\>が含まれている場合，入力に1対1で対応が取れる\<UNK\>が存在する場合はもともとのトークンを復元する処理を加えている．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[b]
\vspace{-0.8\Cvs}
\input{04table03.tex}
\caption{話し言葉書き言葉変換の評価}
\label{tab:formatter}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{結果と考察}\label{sec:sw_result}

結果を表\ref{tab:formatter}に示す．LaserTaggerが\BARTlarge と並ぶ精度を持っていることがわかる．ここから，話し言葉と書き言葉でほとんどのトークンが同一であり，基本的にはトークンを維持または削除するだけでよく，挿入する場合もそのパターンは500個あれば語彙数32,000のSequence to Sequenceモデルに匹敵することが可能であるとわかる．また，\ltar はトークンの追加でわずかに\ltff に勝るものの，ほぼ同等の性能を持つことがわかった．なお，\BARTlarge の出力において\<UNK\>の復元に失敗した例はテストセット中には含まれなかった．処理時間については，機械翻訳モデルの推論時間が約1秒であるため，リアルタイムでの使用においてはBARTは推論時間が長すぎて実用性に欠けると言わざるを得ない．よって，続く実験では\ltff を主な実験対象とする．\ltar は\ltff に比べ処理時間が長いものの翻訳処理よりは短いため実用性があると考え，わずかながら性能で勝るため比較対象として実験対象とする．

変換の具体例を表\ref{tab:swoutputs}に示す．《なってる/なっている》と《ですよね/です》の修正は全てのモデルが成功しているが，冗長な表現である「電荷，正電荷を」の修正については\ltar は失敗している．なお，LaserTaggerに対しては\ref{sec:impact}節でさらなる具体例を示し翻訳に対する影響の考察を行う．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[t]
\input{04table04.tex}
\caption{話し言葉書き言葉変換の具体例}
\label{tab:swoutputs}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{話し言葉書き言葉変換の日英翻訳への影響}
\label{sec:impact}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{手法 (LaserTagger \& Transformer)}

日本語話し言葉書き言葉変換モデルには，\ref{sec:sw_result}項で述べたように\ltff を主として用い，比較用として\ltar を用いる．日英翻訳モデルにはTransformerの標準実装であるtensor2tensor \cite{tensor2tensor}に実装された$\mathrm{Transformer}_{\mathrm{big}}$を，科学技術論文の概要のアラインメントから構築された約1380万文の日英対訳コーパスで事前訓練（Tesla  V100 GPU 4枚で11万step）したものを用いる．

この実験では，英文の対応付けの際に文の区切りが調整されたことにより，\jsp -\jwr -\en のテストデータが\jsp -\jwr の訓練データに含まれていないことを保証することが困難であったため，表\ref{tab:datasets}の\jsp -\jwr のデータ全体は使わず，\jsp -\jwr -\en の対応がついている部分のみを用いる．LaserTaggerは\jsp -\jwr のペアでfine tuning（\ref{sec:lasertagger}目と同様の条件）を行い，Transformerは\jwr -\en のペアでfine tuning（Tesla V100 GPU 4枚で開発データにおけるBLEUスコアが上昇しなくなるまで200 step単位で訓練）を行う．これによって話し言葉を自動で書き言葉に変換した後に日英翻訳を行うことができる．比較対象として，\jsp -\en でfine tuningを行ったTransformerに\jsp のテストデータを入力する場合と，\jwr -\en でfine tuningを行ったTransformerに\jwr のテストデータを入力する場合を考える．前者は話し言葉書き言葉変換による精度の変化を定量化するのに使い，後者は話し言葉書き言葉変換による精度向上の上限の指標とする．なお，最終的な評価指標にはSacreBLEU \cite{sacrebleu}によるBLEUスコアを使用する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{結果と考察}

以後，*-\en はそれぞれ対応する日英翻訳モデルからの出力を表すこととする．
結果を表\ref{tab:impact}に示す．話し言葉書き言葉変換によりBLEUスコアが向上しており，\ltar は\jwr -\en と同等，\ltff もほぼ同じスコアを示した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[b]
\input{04table05.tex}
\caption{話し言葉書き言葉変換による翻訳精度への影響}
\label{tab:impact}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[b]
\input{04table06.tex}
\caption{話し言葉書き言葉変換による日英翻訳の改善の具体例}
\label{tab:outputs}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:outputs}に話し言葉書き言葉変換により翻訳精度が改善している例を示す．下線で示した部分が冗長な箇所であるが，\jsp -\en は英訳が不適切になっている．一方，この冗長な箇所が修正されている場合の翻訳はより適切なものとなっている．\ltff は不要なトークン（二重下線部分）を挿入してしまっているが，英訳には影響は見られない．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{話し言葉特有の現象の種類ごとの翻訳精度への影響}

\jsp -\jwr -\en の全テストデータに対して，\ref{sec:swdiff}項で述べた4種類の現象と，\ref{sec:sw_corpus}節で述べたその他の現象のそれぞれが現れているかどうかをラベル付けした．ただし，\jwr にて修正されていないもの（名詞句発言やねじれなど）はカウントしない．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[b]
\input{04table07.tex}
\caption{テストデータ367件の分類}
\label{tab:labels}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[b]
\input{04table08.tex}
\caption{その他の現象の修正 (e) の内訳（重複を含む）}
\label{tab:e_detail}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ラベル付けした結果を表\ref{tab:labels}に示す．また，その他の現象の修正 (e) の内訳を表\ref{tab:e_detail}に示す．この付与したラベルに基づき，テストセットを分割してBLEUスコアを算出し，話し言葉特有の現象の種類ごとの翻訳精度への影響を調査した．

表\ref{tab:include_b}に省略の修正 (b) を含む場合とそれ以外とで分割した際のBLEUスコアの違いを示す．(b) を含む場合は含まない場合に比べてBLEUスコアで6.0～6.7ポイントの差がある．これは他の修正に関する場合と比べても大きい差であり，助詞や判定詞の省略と翻訳精度の低下に大きな相関があることを示す．しかし，BLEUスコアの差が最も大きいのは \jwr -\en の場合であり，省略を修正することでは翻訳精度はそれほど改善しない（\jsp -\en と比較し0.4ポイント差）．これは省略が発生するような発話はそもそも翻訳が難しいことを示していると考えられる．例えば文としての構造が整っておらず，英訳時に語順を入れ替えるなどの調整を入れる余地がある場合や，格助詞や判定詞だけでなく主語や目的語まで省略されている（これらはコーパス構築時に修正要件に含めていない）ためにそれらを無理やり英訳した結果が間違っている場合などが考えられる．

表\ref{tab:include_c}に冗長な表現の修正 (c) を含む場合とそれ以外とで分割した際のBLEUスコアの違いを示す．まず， 省略の修正 (b) に関するBLEUスコアの違いと異なり，修正を含むか含まないかの分割によるBLEUスコアの差が0.4～2.1と小さい．これは冗長な表現はどのような状況でも発生し，そのため翻訳の難しさの分散がこの修正を含む場合と含まない場合とで大きく異ならないことに起因すると考えられる．次に，(c) を含む場合は\ltff -\en と\ltar -\en のスコアが \jsp -\en と \jwr -\en のほぼ中間に位置していることがわかる．これは冗長な表現の修正に関してはLaserTaggerにまだ改善の余地があり，いくつかの場合で修正に失敗していることが原因であると考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 9 and 10
\begin{table}[b]
\begin{minipage}[t]{.45\textwidth}
\setlength{\captionwidth}{189pt}
\input{04table09.tex}
\hangcaption{省略の修正 (b) を含むかどうかによる \\ BLEUスコアの違い}
\label{tab:include_b}
\end{minipage}
\hfill
\begin{minipage}[t]{.45\textwidth}
\setlength{\captionwidth}{189pt}
\input{04table10.tex}
\hangcaption{冗長な表現の修正 (c) を含むかどうか \\ によるBLEUスコアの違い}
\label{tab:include_c}
\end{minipage}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 11
\begin{table}[b]
\input{04table11.tex}
\caption{文の概念がないことに関連する現象の修正 (d) を含むかどうかによるBLEUスコアの違い}
\label{tab:include_d}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:include_d}に文の概念がないことに関連する現象の修正 (d) を含む場合とそれ以外とで分割した際のBLEUスコアの違いを示す．なお， (d) のラベルが付与されたデータが14件と少ないため，ここで述べることは一般性に欠ける可能性がある．(d) を含むか含まないかの分割に関して，\jsp -\en の場合に最も大きい6.3ポイントのBLEUスコアの差があり，文としての体をなしていないテキストの機械翻訳が難しい事がわかる．また，\jwr -\en の場合は2.4ポイントに縮まっているため，この現象を修正することで翻訳精度を大きく向上させることができると考えられる．ただし，文の概念がないことに関連する現象の発生頻度が高くないため，翻訳精度全体としての影響は小さい．文の概念がないことに関連する現象の修正 (d) を含む場合について，冗長な表現の修正 (c) の場合と同じく， \ltff -\en と\ltar -\en は\jsp -\en と \jwr -\en のほぼ中間のBLEUスコアとなっている．すなわち修正に改善の余地があると考えられる．しかし，LaserTaggerは原理的に倒置を修正することがほぼ不可能であるため，これを改善するためには訓練セットの増量などではなく手法自体の改良が必要である．

語彙的な現象の修正 (a) とその他の現象の修正 (e) は不要なトークン列の削除や同じ意味のトークン列との置換など操作として類似している部分が多く，またその共起する割合も高い ((a)：$202/294=68.7\%$，(e)：$202/236=85.6\%$)ため，まとめて扱う．付与したラベルに (a) ， (e) のどちらか，または両方のみを含む場合を (x) とする．これとの対比として，省略の修正 (b)，冗長な表現の修正 (c)，または文の概念がないことに関連する現象の修正 (d) のいずれかを含む場合を (y) ，修正を含まず \jsp と \jwr が完全に同一の場合を (z) とし，これらと比較した結果を表\ref{tab:include_bcd} に示す．まず，(x) と (y) を比較するとBLEUスコアに3.6～4.9の差があることは，(b) と (d) の修正を含む場合は含まない場合と比べてBLEUスコアが小さいことと関連している．(x)，(y) と比べて (z) のBLEUスコアが高いことは，修正の必要がないほど元から整った文であったことを考えると自然である．(z) に関して，入力が同じであるにも関わらず \jsp -\en のスコアが低くなっているが，これは訓練セット内でのノイズ（話し言葉特有の現象）がモデルの出力に影響を及ぼしている結果と考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 12
\begin{table}[b]
\input{04table12.tex}
\caption{語彙的な現象の修正 (a)，その他の現象の修正 (e) を含むかどうかによるBLEUスコアの違い}
\label{tab:include_bcd}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 13
\begin{table}[b]
\input{04table13.tex}
\caption{その他の現象の修正 (e) の細分類ごとのBLEUスコアの違い}
\label{tab:include_e_detail}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

その他の現象の修正 (e) の細分類ごとのBLEUスコアへの影響を表\ref{tab:include_e_detail}に示す．まず，\jsp -\en と\jwr -\en を比較すると，最も差が大きいのは意味的に冗長な箇所の削除となっている．これは冗長な表現の箇所を無理に訳出しようとした結果として不要なトークンが英訳に現れるためにBLEUスコアが低下していると考えられる．次に，\ltff -\en と\ltar -\en を比較すると，件数的に多い句読点位置の修正では\ltar が優れているものの，話し言葉的な語の変換や意味的に冗長な箇所の削除，文法上の間違いの訂正では\ltff が優れている．これらの現象については平均のBLEUスコアが他の現象と比べ低いため，全体的な翻訳品質の底上げという観点から評価すると\ltff のほうが\ltar よりも優れていると考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 14 and 15
\begin{table}[t]
\begin{minipage}[t]{.45\textwidth}
\setlength{\captionwidth}{189pt}
\input{04table14.tex}
\caption{省略の修正 (b) を含むかどうかによる \\ SARIスコアの違い}
\label{tab:omake_b}
\end{minipage}
\hfill
\begin{minipage}[t]{.45\textwidth}
\setlength{\captionwidth}{189pt}
\input{04table15.tex}
\caption{冗長な表現の修正 (c) を含むかどうか \\ によるSARIスコアの違い}
\label{tab:omake_c}
\end{minipage}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 16
\begin{table}[t]
\input{04table16.tex}
\caption{文の概念がないことに関連する現象の修正 (d) を含むかどうかによるSARIスコアの違い}
\label{tab:omake_d}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 17
\begin{table}[t]
\input{04table17.tex}
\caption{語彙的な現象の修正 (a)，その他の現象の修正 (e) を含むかどうかによるSARIスコアの違い}
\label{tab:omake_bcd}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

このラベル付けしたデータに対する\ltff ，\ltar の話し言葉書き言葉変換の精度を表\ref{tab:omake_b}から\ref{tab:omake_bcd}に示す．語彙的な現象(a)，その他の現象(e)のようなパターンマッチに近い修正は\ltff が優れている一方，それ以外の修正では\ltar のほうが精度が高いことがわかる．



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

本研究では日本語の話し言葉と書き言葉の違いに着目し，両者の違いを表すデータセットを構築した上で，話し言葉から書き言葉に自動で変換する手法を用いて日英翻訳の精度が向上することを示した．さらに，どのような違いが翻訳精度に影響するのかを定量化した．

今後の課題として，本研究では取り扱わなかったが，音声認識に誤りがある場合はそれがそのまま英訳されてしまう問題がある．今回のように翻訳の前処理としてそれらを修正したり，翻訳モデルを誤りに対してロバストにすることで対処するか，音声から直接翻訳テキストを生成する手法によりこれを解決できる可能性がある．


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

本研究は，科研費\#19K20343の助成を受けたものです．
また，京都大学における講義翻訳プロジェクトを立ち上げられた大嶋 正裕 工学部長とシステムとコーパス構築にご協力いただいた株式会社アドバンスド・メディアに感謝申し上げます．



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


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

\bioauthor{中尾　亮太}{%
2018年京都大学工学部電気電子工学科卒業．現在，京都大学大学院情報学研究科修士課程に在籍．言語処理学会学生会員．
}
\bioauthor[:]{Chenhui Chu}{%
2015年に京都大学大学院情報学研究科博士課程修了．
博士（情報学）．
2020年より同研究科特定准教授．
機械翻訳，自然言語処理の研究に従事．
言語処理学会，情報処理学会，人工知能学会，ACL，各会員．
}
\bioauthor{黒橋　禎夫}{%
1994年京都大学大学院工学研究科電気工学第二専攻博士課程修了．
博士（工学）．
2006年より京都大学大学院情報学研究科教授．
自然言語処理，知識情報処理の研究に従事．
2014年より日本学術会議連携会員．
}


\end{biography}


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




\end{document}

