\documentclass[japanese,other]{jnlp_3.5}
\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
\renewcommand{\Jetal}{~他}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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


\setcounter{page}{1302}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{学会記事}
\jtitle{Generating Repetitions with Appropriate Repeated Words}
\jauthor{川本　稔己\affiref{Author}}
\etitle{Generating Repetitions with Appropriate Repeated Words}
\eauthor{Toshiki Kawamoto\affiref{Author}}

\headauthor{川本}
\headtitle{Generating Repetitions with Appropriate Repeated Words}

\affilabel{Author}{東京工業大学}{Tokyo Institute of Technology}



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


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

本解説記事では，NAACL 2022に採択された著者の表題の論文 \cite{kawamoto-etal-2022-generating} について解説を行う．
表題の論文は対話で用いられる応答の1種類である繰り返し応答に着目した論文であり，適切な繰り返し応答を生成するための手法を提案している．

まず，表題の論文がNAACL 2022に採択されるまでの経緯を述べる．
2020年から著者は，繰り返し応答を行う際に繰り返される語句（以降，繰り返し語句）を検出する研究 \cite{kawamoto-rep} を行った．
以後，繰り返し語句を検出する研究を発展させ，繰り返し応答を生成する研究を行い，表題の論文が採択される運びとなった．
繰り返し応答を生成する研究の過程で，検出した繰り返し語句を生成するための学習や推論に用いることができないかと考えることで論文の提案手法の考案に至った．
よって，繰り返し応答の生成に直接取り組んでいては論文の提案手法を思いつくことができなかった可能性があり，解きたいタスクを解くために，まず小さいタスクから順に取り組んでいくことの価値を感じた．本解説記事では，表題の論文で着目した繰り返し応答について説明した後，提案手法の説明を行う．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{論文の概要}

繰り返し応答とは前の話者の言葉やフレーズを繰り返して使う応答のことである \cite{tannen1987repetition} ．
例えば，話し手が「この前車を運転してたとき，急に熊が出てきたんだよね．」と発言したのに対し，聞き手が「え，熊出てきたの!?」と発言したとする．
この場合「熊」と「出てきた」が繰り返されており，この聞き手の応答を繰り返し応答という．
繰り返し応答は対話の中で頻繁に使われ，その役割は，聞いていることを示す，発言を確認する，同意や共感を示す等，多岐にわたる \cite{machi2019managing,shimojima2002informational}．
多くの言語学の研究で，繰り返し応答は話者間の関係を構築・強化するために重要であると結論づけている \cite{tannen1989talking,johnstone2002discourse,norrick1987functions,brown1999repetition}．
以上の言語学による知見から，繰り返し応答は対話に不可欠であると言える．
しかし，今までニューラルモデルによる繰り返し応答の自動生成を行った研究は存在せず，私達が調べた限り初めての論文である．

繰り返し応答を生成するためには，どの単語を繰り返すかを考慮することが大切である \cite{machi2008repetition}．
そのため，どの単語を繰り返すべきかを考慮した手法を学習と推論の際に組み込むことでより適切な繰り返し語句を含んだ繰り返し応答を生成した．


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

本節では，提案手法である Repeat Score，WLS，RSMを説明する．
まず，より適切な繰り返し語句を含んだ繰り返し応答を生成するために，それぞれの単語がどれだけ繰り返し応答に使うべきかを示す Repeat Score を計算する．
その Repeat Score を，学習と推論の際に利用する．具体的には，事前学習済みモデルを fine-tuning する際にWeighted Label Smoothing (WLS)，推論のビームサーチを行う際に，Repetition Scoring Method (RSM) を行うことをそれぞれ提案する．以降，提案手法の具体的な説明に移るが，記事の都合上，変数の定義や比較手法に関する説明が十分ではない箇所がある．詳細な内容を確認したい場合は表題の論文を参照されたい．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{Repeat Score}
Repeat Scoreは繰り返し応答に使われるべき単語に対し高い値を与え，使われるべきではない単語に対し低い値を与える．Repeat Score を算出するためのモデルにはBERT \cite{bert} を用い，入力は発話とした．BERTの最終出力はサブワードごとの分散表現となっているため，単語ごとに SpanExtractor \cite{lee-etal-2017-end} を適用し，その出力を Multi Layer Perceptron に通し，単語ごとのスコアを得る．
その後，発話ごとに各スコアに対して正規化を行い，最終的なRepeat Scoreとした．
正解ラベルには，訓練データの発話とその繰り返し応答を参照し，各単語が一致している場合は1，一致していない場合は0とした．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{Weighted Label Smoothing (WLS)}
事前学習済みモデルをfine-tuningするときにどの単語が繰り返されるべきかを学習するための手法であるWLSを説明する．
WLSはLabel Smoothing \cite{szegedy2016rethinking} を応用した方法であり，$X$を発話，$Y ( = y_{1}, \dots, y_{T})$を応答とすると，Cross-Entropy Lossは，以下のように定義される．
\[
    L(q, p)=-\sum_{k=1}^{K}q(v_{k})\log\{p(v_{k}|y_{<t},X)\}
\]
ここで，$p(v_{k}|y_{<t},X)$はXが与えられたときにTime Step $t$ においてモデルが出力する$k$番目のサブワード$v_{k}$の確率であり，$q(v_{k})$はモデルが目標とする$v_{k}$の確率である．
一般的に$q(v_{k})$の分布としてはOne-hot表現が用いられることが多いが，Label Smoothingでは一様分布$u(v_{k})=1/K$を用いることで以下のように定義される．
\[
    q(v_{k}) = (1-\epsilon)\delta_{v_{k},y_{t}} + \epsilon u(v_{k})
\]
しかし，One-hot表現やLabel Smoothingでは正解ラベル以外の$q(v_{k})$が同じ値を取るため，各単語が繰り返すべきかどうかを明示的に学習することが出来ない．
そのため，Label Smoothingに前述の Repeat Score を示す$r(v_{k})$を用いたのがWLSであり，以下のように定義する．
\[
    q(v_{k}) = (1-\epsilon)\delta_{v_{k},y_{t}} + \epsilon \frac{r(v_{k})^\gamma}{K}\
\]
ここで，$\gamma$はハイパーパラメータである．よって，Repeat Scoreを加味した学習が行え，モデルをfine-tuningする際にそれぞれの単語の繰り返しやすさを学習することが可能となった．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{Repetition Scoring Method (RSM)}
次に，モデルの推論のためにビームサーチを行う際に，適切な繰り返し応答を選択するスコアリング手法である RSM を説明する．RSMは \citeA{wu2016google} で使用された機械翻訳のためのスコアリング手法を応用した方法で， Length Normalization と Coverage Penalty \cite{tu-etal-2016-modeling} を用いている．$Y$をビームサーチ時の候補となる応答，$X$を発話とし，生成確率を$P(Y|X)$とすると，RSMのスコア$s(Y,X)$は以下のように定義する．
\begin{align*}
    s(Y,X) & = log\{P(Y|X)\}/lp(Y)\mathalpha{+}cp(Y,\!X)\mathalpha{+}rs(Y,\!X)\\
    lp(Y) & = \frac{(5+|Y|)^\alpha}{(5+1)^\alpha}\\
    cp(Y,X) & = \beta*\sum^{|X|}_{i=1}log(\sum^{|Y|}_{j=1}p_{i,j})\\
    rs(Y,X) & = log\sum^{|Y|}_{j=1}r(v_{j})
\end{align*}
ここで，元々のスコアリング手法との差分は2つある．
1つ目は，Attentionの値$p_{i,j}$を1.0で抑えずに利用した．
機械翻訳では入力・出力の文ペアに1対1の関係があるが，繰り返し応答ではそのような関係はないためである．
2つ目はRepeat Scoreの合計を示す$rs(Y,X)$を加えた．
これにより，モデルの推論を行う際に適切な繰り返し応答を選択することが可能となった．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{実験}

前節の提案手法を事前学習済みモデルであるT5 \cite{raffel2019exploring} に適用した．
実験のためのデータは傾聴対話コーパス \cite{corpus} を基に繰り返し応答データセットを作成し，利用した．
繰り返し応答データセットとコードは公開している\footnote{\url{https://github.com/titech-nlp/repetition-generation}}．
その上で，複数の手法と比較した結果，提案手法を用いたモデルが自動評価と人手評価で最も高い値を得た．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[t]
\begin{center}
\begin{tabular}{l|l}
\hline
発話 & 昨日は同じ僕らの仲間で囲碁する人いたからね. \\
\hline
正解の繰り返し応答 & 仲間で囲碁する人いたんですね. \\ 
ルールベース & 囲碁ですか. \\ 
T5 & 囲碁をしてくれたんですね. \\
提案手法 & 仲間内で囲碁する人いたんですか. \\
\hline
    \end{tabular}
\end{center}
    \caption{繰り返し応答の生成例．}
    \label{tab:res_example}
\end{table}

複数のモデルからの生成結果を表\ref{tab:res_example}に示す．提案手法による生成結果は「囲碁をする人がいた」という点に着目しており，正解の繰り返し応答と類似した応答を生成した．


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

今回，著者は繰り返し応答に着目してその生成を行った．今後は提案したモデルをどのように一般的な応答生成のフレームワークに組み込むかを考えていきたい．また，提案手法は要約タスクといった繰り返し応答生成以外のタスクでも流用できる可能性があり，その可能性を検証していきたい．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.7}
\bibliography{26refs}


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

\bioauthor{川本　稔己}{
2021年東京工業大学工学院情報通信系卒業．同年より東京工業大学大学院工学院情報通信系 修士課程在学．言語処理学会，ACL各会員．
}

\end{biography}




\end{document}


