\documentclass[japanese]{jnlp_3.8}
\usepackage{jnlpbbl_2.2}
\usepackage[dvipdfmx]{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{url}
\usepackage{array}
\usepackage{hangcaption_jnlp}
\allowdisplaybreaks

\makeatletter
\renewenvironment{description}
  {\list{}{\labelwidth\z@ \itemindent\z@
    \setlength\leftmargin{\z@}
    \let\makelabel\descriptionlabel}}{\endlist}
\makeatother



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{color}
%%%%\usepackage{colortbl}
    \usepackage[dvipdfmx]{colortbl}
%%%%\usepackage{xcolor}
\usepackage[dvipdfmx]{xcolor}
%%%%\usepackage{enumitem}
%%%%\usepackage{multirow}
%%%%\usepackage{caption}
%%%%\usepackage{framed}
%%%%\usepackage{arydshln}
%%%%\usepackage{fancyvrb} % verbをfootnoteで使用するため
% add
%%%%\renewcommand\UrlFont{\rmfamily}
\makeatletter
\def\hhline{%
\noalign{\ifnum0=`}\fi\hrule \@height 1pt \futurelet
\reserved@a\@xhline}
\makeatother
\definecolor{Gray}{gray}{0.85}
% \newcommand{\red}[1]{{\color{black}#1}}
\newcommand{\red}[1]{{\color{black}#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

\received{2024}{4}{29}
\revised{2024}{7}{30}
\accepted{2024}{9}{10}

\setcounter{page}{1635}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{パーソナライズ可能な雑談対話システム構築に向けた\\
	任意のユーザ情報を踏まえた発話コーパスの構築と分析}
\jauthor{角森　唯子\affiref{NU} \and 東中竜一郎\affiref{NU}}
\jabstract{%
ユーザに長く利用される雑談対話システムを構築するためには，ユーザとシステムが良好な関係を築くことが重要である．我々は，任意のユーザ情報を自然に対話に活用することで，ユーザと良好な関係を構築するパーソナライズ可能な雑談対話システムの実現を目指す．本研究では，パーソナライズ可能な雑談対話システムの実現に向けて，対話文脈への適切性を保持しつつ，現在のトピックに関係なく任意のユーザ情報をシステム発話に取り込むためのコーパスを構築した．構築したコーパスを用いてモデルを学習し，モデルが任意のユーザ情報と対話文脈を踏まえたシステム発話を生成できることを確認した．さらに，学習したモデルをもとに雑談対話システムを構築し，ユーザとのインタラクティブな対話における任意のユーザ情報と対話文脈を踏まえた発話の有用性を確認した．
\renewcommand{\thefootnote}{}
\footnote[0]{本論文の一部は，2022年度人工知能学会全国大会およびThe 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING2024) で発表済みのものである．}
\renewcommand{\thefootnote}{\arabic{footnote}}
}
\jkeywords{対話システム，ユーザ情報，コーパス構築}


\etitle{Construction and Analysis of Utterance Corpus Incorporating Arbitrary User Information for Personalized Chat-Oriented Dialogue Systems}
\eauthor{Yuiko Tsunomori\affiref{NU} \and Ryuichiro Higashinaka\affiref{NU}} 
\eabstract{%
To construct a chat-oriented dialogue system that users will use for a long time, it is important to establish a good relationship between the user and the system. In this paper, aiming to realize a personalizable chat-oriented dialogue system that establishes such a relationship with users by utilizing arbitrary user information naturally in dialogues, we constructed a novel corpus designed to incorporate arbitrary user information into system utterances regardless of the current dialogue topic while retaining appropriateness for the context. We then trained a model to generate appropriate system utterances using the constructed corpus. The results of a subjective evaluation indicated that the model could successfully generate system utterances incorporating arbitrary user information and dialogue context. Furthermore, we integrated our trained model into a dialogue system and validated the effectiveness of system utterances incorporating arbitrary user information and dialogue context through interactive dialogues with users.
}
\ekeywords{Dialogue System, User Information, Corpus Construction}

\headauthor{角森，東中}
\headtitle{任意のユーザ情報を踏まえた発話コーパスの構築と分析}


\affilabel{NU}{名古屋大学大学院情報学研究科}{Graduate School of Informatics, Nagoya University}



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


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

近年，雑談対話システムの需要は，研究および商業の両分野で高まっている \cite{onishi2014casual,adiwardana2020towards,shuster2022blenderbot}．
雑談対話システムはその場限りの話し相手になるだけでなく，ユーザに合わせてパーソナライズしていくことで長期的なパートナーとしての役割も期待されている．
さらに，長期的に利用される雑談対話システムは，体調管理 \cite{bickmore2005establishing}や認知症検出 \cite{luz2018method}，カウンセリング \cite{chawla2023social}など継続的な利用が必要なシステムやサービスにも活用できる可能性が高い．

ユーザに長く利用される雑談対話システムを構築するためには，ユーザとシステムの良好な関係を築くことが重要である \cite{bickmore2005establishing,richards2014forgetmenot}．
人間同士の対話では，対話相手との過去の対話，特に相手から開示された嗜好や経験などの情報を記憶し，対話に活用することが良好かつ親密な関係構築に有効である \cite{hall2019how}．
このことから，ユーザとシステムの対話では，ユーザの発話に含まれるユーザ自身に関する情報（\textbf{ユーザ情報}と呼ぶ）をシステムが記憶し，対話に活用する手法がいくつか提案されている．
\citeA{tsunomori2019chat}は，過去の対話から得られたユーザ情報を記憶し対話に活用する雑談対話システムを構築した．
システム発話にユーザ情報を組み込むことで，ユーザの雑談対話システムへの親しみやすさが向上することを長期的な実験において確認した．
しかしながら，この手法では固定的なテンプレートにユーザ情報を埋め込むことでシステム発話を生成しているため，文脈に対して不適切な発話がしばしば生じていた．
\citeA{xu2022long}は，より自然な応答を生成するために，対話文脈とユーザ情報を入力とするニューラルベースの発話生成モデルを提案した．
この手法では，対話文脈のトピックがユーザ情報と近い（類似している）場合において，ユーザ情報を発話に取り入れる．
しかしながら，実世界で利用する上では現在のトピックに近いユーザ情報が常に利用可能であるとは限らないため，システムがユーザ情報を利用できる機会が制限されてしまうという問題がある．

我々は，現在の対話文脈との近さに関係なく任意のユーザ情報を自然に対話に活用することで，ユーザと良好な関係を構築するパーソナライズ可能な雑談対話システムの実現を目指す．
図\ref{fig:dialogue_sample}は，我々が目指す雑談対話システムの対話例である．
システムはユーザとの過去の対話から抽出した任意のユーザ情報を参照し，ユーザ情報とは異なるトピックの対話文脈において自然に発話に取り込んでいる．
これを実現するためには，対話文脈との近さが多様なユーザ情報を踏まえた発話からなるコーパスが必要である．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[t]
\begin{center}
\includegraphics{31-4ia8f1.pdf}
\end{center}
\caption{任意のユーザ情報と対話文脈を踏まえたシステム発話の例．}
\label{fig:dialogue_sample}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

本研究では，パーソナライズ可能な雑談対話システムの実現に向けて，任意のユーザ情報と対話文脈を踏まえた発話からなるSUIコーパス (\textbf{S}ystem utterance based on \textbf{U}ser \textbf{I}nformation corpus) を構築する．
SUIコーパスは，$\langle$ユーザ情報，対話文脈，ユーザ情報と対話文脈を踏まえたシステム発話（\textbf{拡張システム発話}と呼ぶ）$\rangle$の三つ組からなる．
SUIコーパスを用いて事前学習済み発話生成モデルをFine-tuningすることでベースラインモデルを構築し，任意のユーザ情報と対話文脈を踏まえたシステム発話を生成できるかどうかを評価する．
さらに，SUIコーパスを使用して汎用的な大規模言語モデル (LLM) にIn-Context Learning（文脈内学習；ICL）を行い，ICLにおけるSUIコーパスの有用性を評価する．
最後に，発話生成ベースラインモデルをもとに雑談対話システムを構築し，ユーザとのインタラクティブな対話における任意のユーザ情報と対話文脈を踏まえた発話の有用性を評価する．
本研究の主な貢献を以下に列挙する．
\begin{itemize}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item 現在の対話文脈に関係なく，任意のユーザ情報を踏まえたシステム発話からなるSUIコーパスを構築した．本コーパスはGitHub上で公開している\footnote{\Turl{https://github.com/nu-dialogue/sui-corpus}}．
    \item SUIコーパスを用いて (a) 事前学習済み発話生成モデルに対するFine-tuning，(b) LLMに対するICLを行った．主観評価の結果，SUIコーパスを用いることで，モデルが現在のトピックに関係なく文脈への適切性を保持したまま任意のユーザ情報をシステム発話に取り込むことができることを確認した．
    \item 発話生成ベースラインモデルをもとに雑談対話システムを構築し，ユーザとのインタラクティブな対話における任意のユーザ情報と対話文脈を踏まえた発話の有用性を実験により確認した．
\end{itemize}

本稿の構成は以下の通りである．
\ref{sec:related_work}章では関連研究を紹介する．
\ref{sec:sui_corpus}章では，SUIコーパスの構築方法について述べたのち，品質評価や分析結果をもとにコーパスの特徴について述べる．
\ref{sec:utterance_generation}章では，SUIコーパスを用いた発話生成ベースラインモデルの構築および評価を行う．
\ref{sec:apply_llm}章では，SUIコーパスを用いたICLによるLLMの学習および評価を行う．
\ref{sec:dialogue_system}章では，発話生成ベースラインモデルを用いた雑談対話システムの構築および評価を行う．
最後に，本研究のまとめと今後の課題を\ref{sec:conclusion}章にて述べる．


%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
\label{sec:related_work}
%%%%%%%%%%%%%%%%%%%%%%%

雑談対話システムにおいて，対話から抽出したユーザ情報をシステムの発話に利用するテンプレートベースの手法が提案されている \cite{weizenbaum1966eliza,wallace2009anatomy}．
\citeA{sugo2014a}は，$\langle$ユーザ名,トピック, 述語$\rangle$の形式で抽出したユーザ情報をシステム発話に利用することでシステムがユーザを記憶していることをユーザに示し，ユーザ満足度が向上することを確認した．
\citeA{tsunomori2019chat}は，\citeA{hirano2015user}が提案した$\langle$述語項構造, 焦点, 人物属性, トピック$\rangle$の形式でユーザ情報を記憶し，ユーザ情報をシステム発話に利用する雑談対話システムを構築した．
長期的な実験において，システムの使用日数が経過するにつれてユーザのシステムへの親しみやすさが向上することを確認した．
これらの研究では，抽出したユーザ情報の一部を固定的な発話テンプレートに埋め込むことでシステム発話を生成している．
しかしながら，固定的な発話テンプレートは対話文脈を考慮していないため，文脈に対して不自然なシステム発話がしばしば生じていた．

近年では，ユーザ情報を利用したニューラルベースの発話生成モデルが提案されている．
これらの手法では，対話文脈を考慮することで，より自然な発話を生成することができる．
\citeA{xu2022beyond}は，対話文脈から作成したユーザ情報の要約を発話生成に利用するモデルを構築した．
しかしながら，この研究では任意のユーザ情報をシステム発話に組み込むことは行っていない．
\citeA{xu2022long}は，現在の対話文脈のトピックに近いユーザ情報をユーザ情報が蓄積されたデータベースから選択し，対話文脈とユーザ情報を入力としてシステム発話を生成するモデルを構築した．
現在の対話文脈のトピックに類似しているユーザ情報のみを発話生成に利用することは合理的である．
しかしながら，実世界で利用する上ではそのようなユーザ情報が常に利用可能であるとは限らないため，システムがユーザ情報を利用する機会が著しく制限されると考えられる．
また，\citeA{xu2022long}はユーザシミュレータを用いた評価を行っているため，構築した発話生成モデルが実際のユーザとの対話で有効に機能するかどうかも明確ではない．
本研究では現在のトピックに関係なく，任意のユーザ情報を利用した発話生成に焦点を当てる．
さらに，構築した発話生成モデルをもとに雑談対話システムを構築し，ユーザとのインタラクティブ対話評価によりその有効性を検証する．

その他，ユーザ情報を発話に利用する手法として，In-Context Learning（文脈内学習；ICL）を実施した汎用的な大規模言語モデル (LLM) による発話生成が考えられる．
ICLとは，プロンプト中に与えられた少数の\red{S}hotなどから，LLMがパラメータを更新することなくタスクを学習する手法である \cite{dong2022survey}．
ICLでは，プロンプトにおいて対象となるタスクの詳細な説明や入出力例を与えることで，LLMが高品質で適切な応答を生成するように誘導する．
ICLを行うことで，システムのペルソナ情報の利用 \cite{kasahara2022building,lee2022personachatgen} や外部情報の利用 \cite{liu2022multi}，キャラクタの再現 \cite{han2022meet}などを目的とした対話において，LLMが与えられた情報を考慮しつつ自然な発話を生成することが確認されている．
このことから，ICLによりSUIコーパスをLLMに適用することで，LLMは任意のユーザ情報を取り込みながらより自然な発話を生成できると考えられる．
本研究では，事前学習済みLLMにSUIコーパスを用いてICLを行い，LLMが任意のユーザ情報を取り込んだ自然な発話生成ができるかどうかを主観評価により検証する．


%%%%%%%%%%%%%%%%%%%%%%%
\section{SUIコーパス}
\label{sec:sui_corpus}
%%%%%%%%%%%%%%%%%%%%%%%

対話文脈への自然性を保持しつつ任意のユーザ情報を取り込んだ発話生成を実現するために，対話文脈とユーザ情報を踏まえた拡張システム発話からなるSUIコーパスを構築した．
拡張システム発話を収集するためには，まずユーザ情報と対話文脈を用意する必要がある．
本研究では，データ作成コストを低減するため，既存の対話コーパスを拡張することでコーパスを構築した．
使用する既存の対話コーパスは，トピックが限定されず，ユーザ情報が表出した対話で構成されている必要がある．
本研究ではそれらの条件を満たす既存の対話コーパスとして，大阪大学マルチモーダル対話コーパスHazumi \cite{Komatani2019multimodal}を用いた．
Hazumiからユーザ情報と対話文脈を抽出し，それらを踏まえた拡張システム発話をクラウドソーシングで収集した．


%%%%%%%%%%%
\subsection{大阪大学マルチモーダル対話コーパスHazumi}
%%%%%%%%%%%

Hazumiは，Wizard-of-Oz (WoZ) 方式で動作するシステムとユーザとの音声対話からなる日本語のマルチモーダルコーパスである．
ユーザとシステムがいくつかのトピックについて雑談する様子が，1名あたり15分程度の対話として収録されている．
WoZ方式では，人間 (Wizard) がシステムのふりをしてユーザと対話する．
Hazumiでは，Wizardは別室から専用インターフェースを通じてシステムの応答を選択するが，ユーザの興味に応じてトピックを適宜変更する．
なお，各対話においてWizardは同じトピックを繰り返さない．
このことから，Hazumiは多様なトピックを扱い，ユーザの興味に関連したトピックについて話す対話で構成されているため，ユーザ情報が多く含まれていると考えられる．
よって，Hazumiは本研究に好適だと考え，既存の対話コーパスとして用いた．

本研究では，バージョンHazumi1911\footnote{\Turl{https://github.com/ouktlab/Hazumi1911/}}の音声書き起こしを使用した．
Hazumi1911は，20代～70代の男女30名のユーザによる30対話（合計2,859ターン）から構成されている．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[b]
\begin{center}
\includegraphics{31-4ia8f2.pdf}
\end{center}
\caption{SUIコーパスの構築フロー．}
\label{fig:corpus_overflow}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%
\subsection{構築方法}
%%%%%%%%%%%

図\ref{fig:corpus_overflow}に，SUIコーパスの構築フローを示す.
まず，Hazumi1911の各対話をトピックごとに複数のセグメント（\textbf{トピックセグメント}と呼ぶ）に分割し，トピックセグメントから2つの対話を抽出することで\textbf{対話1}と\textbf{対話2}のペア（\textbf{対話1--対話2ペア}と呼ぶ）を作成した．
つまり，対話1--対話2ペアは，同一ユーザが異なるトピックについて話している対話のペアである．
次に，クラウドソーシングで以下の2つのタスクを実施することにより，対話1--対話2ペアをもとに拡張システム発話を収集した．
\begin{enumerate}
    \setlength{\leftskip}{1.3cm}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item[タスク(1)] 対話1からユーザ情報を抽出する．
    \item[タスク(2)] 抽出したユーザ情報を踏まえて，対話2の後に続く拡張システム発話を作成する．
\end{enumerate}
以下では，対話1--対話2ペアの作成方法と，拡張システム発話収集の2つのタスクの詳細について述べる．


%%%%%%%%%%%
\subsubsection{対話1--対話2ペアの作成}
%%%%%%%%%%%

Hazumi1911の各対話をトピックごとに分割し，トピックセグメントを作成した．
まず，Hazumi1911の書き起こしから，人手で作成したルールによってフィラーや言い間違いを除去した．
次に，Wizard がトピックを変えるときに用いていた固定発話（以下）をトリガーとして対話をトピックごとに分割することで，トピックセグメントを作成した．
\begin{itemize}
    \setlength{\itemsep}{-0.1mm} % 項目の隙間
    \setlength{\parskip}{-0.1mm} % 段落の隙間
    \item ～について話しましょう
    \item それではつぎの話題にうつりたいとおもいます
    \item それでは最後の質問です
\end{itemize}
その結果，1対話あたり平均して約5個のトピックセグメントを得た．
発話数が15発話未満の短いトピックセグメントは削除し，合計で152個のトピックセグメントを作成した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 3
\begin{figure}[b]
\begin{center}
\includegraphics{31-4ia8f3.pdf}
\end{center}
\caption{対話1--対話2ペアの作成フロー．}
\label{fig:csdata_overflow}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

図\ref{fig:csdata_overflow}に，対話1--対話2ペアの作成フローを示す．
具体的には，以下の手順により対話1--対話2ペアを作成する．
\begin{enumerate}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item 同一話者のトピックセグメントから2つの対話を選択する．時系列順に，先に行われた方を対話1，後に行われた方を\textbf{対話2ソース}とする．
    \item 対話2ソースを分割し，対話2を作成する．具体的には，対話2ソースの6発話目以降で最初に現れるユーザ発話を$U^{\text{user}}_1$とする．$U^{\text{user}}_1$から発話を遡ってのべ6発話分を抽出し，これを対話2とする．これを$U^{\text{user}}_N$に達するまで繰り返す．なお，ここで$N$は対話2ソースの最後のユーザ発話のインデックスである．
    \item 同一話者による全てのトピックセグメントに対して，(1)--(2)を繰り返す．
\end{enumerate}
以上の手順を全話者のデータに対して行った結果，合計1,594組の対話1--対話2ペアが作成された．
なお，対話2と対話2ソースは異なる点に注意されたい．
対話2ソースは，Hazumi1911の対話をトピックごとに分割したトピックセグメントのことを表し，対話2は対話2ソースを6発話ずつのグループに分割した対話のことを表す．


%%%%%%%%%%%
\subsubsection{拡張システム発話収集タスク}
\label{sssec:collect_expanded_utt}
%%%%%%%%%%%

クラウドソーシングサービスであるランサーズ\footnote{\Turl{https://www.lancers.jp/}}を利用し，拡張システム発話を収集した．
\red{作業者は，日本語を母語とすることを必須として募集した．その他の事前スクリーニング等は実施しなかった．}
以下の手順で，作業者は各対話1--対話2ペアに対して7つの発話を作成した．
なお，7つとしたのは，作業者の負荷を考慮してのことである．
\begin{enumerate}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item 対話1から，ユーザ情報として自己開示を含むユーザ発話をすべて抽出する．自己開示を含む発話とは，ユーザが自身の好み・経験・事実・プロフィールについて話している発話のことを指す．ユーザ発話だけでは情報が不足すると考えられる場合は，直前のシステム発話もユーザ情報の一部として抽出する．例えば，システムが「好きな食べ物は何ですか？」と尋ね，ユーザが「リンゴ」と答えた場合，ユーザ発話だけでは情報が不十分であるため，直前のシステム発話も併せて抽出する．
    \item 抽出されたユーザ情報の中から7つを選択する．ユーザ情報が7つ未満の場合は，発話に含めやすいと感じるユーザ情報を重複してのべ7つ選択する．
    \item (2)で選択した7つのユーザ情報ごとに，ユーザ情報を考慮しつつ対話2（対話文脈）の後に続くシステム発話を拡張システム発話として作成する．なお，同じユーザ情報を使用する場合は，異なる拡張システム発話を作成する．また，「ところで」や「そういえば」などの表現を用いて，強制的にユーザ情報を取り込んだ発話を作成することはできない．
\end{enumerate}
合計で34名の作業者により，10,801個の拡張システム発話が作成された．


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

表\ref{table:corpus_sample}にSUIコーパスの発話例を示す．
ユーザとシステムが，ユーザ情報の対話では「お酒を飲むこと」について話し，対話文脈の対話では「クラシック音楽を聴くこと」について話している．
拡張システム発話である「お好きなクラシックとお酒を、一緒に楽しまれることも多いんですか？」は，「クラシック音楽を聴くこと」と「お酒を飲むこと」を自然に関連付けた発話なっている．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[t]
\input{08table01.tex}%
\caption{SUIコーパスの例．SとUはそれぞれシステムとユーザの発話を表す．}
\label{table:corpus_sample}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{table:corpus_freq}に，SUIコーパスのシステム発話あたりの文字数や単語数の統計量を示す．
単語分割にはMeCab\footnote{\Turl{https://taku910.github.io/mecab/}}を用いた．
Hazumi1911のシステム発話と比較すると，拡張システム発話の文字数および単語数は多くなっている．
拡張システム発話にはユーザ情報が取り込まれているため，発話長が長くなっていると考えられる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[t]
\input{08table02.tex}%
\caption{SUIコーパスのシステム発話あたりの文字数や単語数の統計量．}
\label{table:corpus_freq}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

任意のユーザ情報と対話文脈を踏まえた発話を生成できるようにするためには，コーパスに含まれる対話文脈とユーザ情報との近さが多様である必要がある．
SUIコーパスがこの要件を満たしているかどうかを確認するために，コーパス中のユーザ情報と対話文脈間のトピックの類似度を調査した．
具体的には，ユーザ情報を抽出する対話（対話1）と対話文脈（対話2）のトピックのコサイン類似度を計算した．
トピックはWizardの発話「～について話しましょう」から～の部分を抽出した．
Wikipediaで学習されたFastText\footnote{\Turl{https://github.com/Hironsan/awesome-embedding-models}} \cite{bojanowski2017enriching}を用いてトピックの単語ベクトルを獲得し，それらのコサイン類似度を計算した．
その結果，コサイン類似度が0.20--0.30の範囲である対話1--対話2ペアの頻度が最も高かった．
最も高いコサイン類似度は0.48（「映画」と「音楽」）で，最も低いコサイン類似度は0.09（「スポーツ」と「本」）であった．
参考のため，日本語の類義語のコサイン類似度を計算した．
日本語WordNet（バージョン1.1）\footnote{\Turl{https://bond-lab.github.io/wnja/}} \cite{bond2012japanese}を使用し，同じsynsetに属する類義語を抽出した．
各synsetに含まれる全単語ペア間のコサイン類似度を計算したところ，平均スコアは0.40であった．
様々なトピック類似度の対話1--対話2ペアが作成されていることから，対話1--対話2ペアをもとに作成される拡張システム発話は，対話文脈との近さが多様なユーザ情報を組み込んでいることがわかる．


%%%%%%%%%%%
\subsection{品質評価}
\label{subsec:quality}
%%%%%%%%%%%

クラウドソーシングサービスであるクラウドワークス\footnote{\Turl{https://crowdworks.jp}}を利用し，SUIコーパスの品質評価を実施した．
SUIコーパスから1,000個の拡張システム発話をランダムに抽出し，各発話を3名の作業者が評価した．
各作業者には，ユーザ情報，対話文脈，拡張システム発話を提示し，各拡張システム発話について，以下の3つの項目それぞれを``Yes''または``No''の二値で評価してもらった．
\begin{itemize}
    \setlength{\itemsep}{0mm} % 項目の隙間
    \setlength{\parskip}{0mm} % 段落の隙間
    \item \textbf{対話文脈反映}：対象システム発話は，対話文脈を踏まえた発話になっているか．
    \item \textbf{ユーザ情報反映}：対象システム発話は，ユーザ情報の内容を踏まえた発話になっているか．
    \item \textbf{自然性}：対象システム発話は，自然な発話だと感じるか．
\end{itemize}
なお，二値の評価としたのは，事前調査から対話文脈やユーザ情報が発話に含まれている度合いの判断は難しいという結果を得たためである．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[b]
\input{08table03.tex}%
\hangcaption{拡張システム発話の品質評価結果．スコアは各項目の``Yes''の割合を示す．\textbf{太字}はトップスコアを表す．}
\label{table:corpus_evaluation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表 \ref{table:corpus_evaluation}に，品質評価の結果を示す．
アノテーションの一致に関する統計量（Fleissの$\kappa$）を見ると，対話文脈反映とユーザ情報反映では一致率が0.5を超えており，Moderate agreementであった．
一方で，自然性の一致率が低く (Poor agreement)，自然性の判断は主観に依るところが大きいことが示された．
これは，対話における主観的な発話評価では，一致率が低い傾向にあることを示した先行研究と一致する\cite{higashinaka2015fatal,ghandeharioun2019approximating}．
対話文脈反映スコアとユーザ情報反映スコアは，ともに0.7以上であった．
これは，拡張システム発話の多くが，対話文脈反映とユーザ情報の両方を踏まえていることを示している．
一方で，自然性スコアは0.6より低く，人間であってもユーザ情報をスムーズに発話に取り込むことが難しい可能性を示唆している．

\red{対話文脈とユーザ情報の近さによって作成された発話の品質が異なるかどうかを調べるために，対話文脈とユーザ情報のコサイン類似度と主観評価の自然性スコアの関係を分析した．
Sentence-BERT \cite{reimers2019sentence}}\footnote{\texttt{stsb-xlm-r-multilingual}モデルを使用した．}\red{を用いて対話文脈とユーザ情報をそれぞれ文ベクトル化し，それらのコサイン類似度を計算した．表\ref{table:result_sui_sim_eval}に，対話文脈とユーザ情報の間のコサイン類似度と，拡張システム発話に対する3名の作業者による自然性スコアの平均値の関係を示す．結果として，コサイン類似度が高くなるにつれて自然性スコアもやや高くなる傾向が見られたが，大きくは変わらなかった．この結果から，作成された発話の品質はユーザ情報と対話文脈の近さに大きく依存しないことがわかった．}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[b]
\input{08table04.tex}%
\hangcaption{対話文脈とユーザ情報の間のコサイン類似度と，拡張システム発話に対する作業者による自然性スコアの平均値の関係．}
\label{table:result_sui_sim_eval}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

拡張システム発話の自然性の品質についてより深く調査するために，追加評価を行った．
拡張システム発話が非常に自然でなくても，発話生成モデルを学習するための十分な学習データとなり得るかどうかを検証するためである．
具体的には，対話破綻アノテーションを行い，SUIコーパスの自然性が元のコーパス (Hazumi1911) と比較して許容できるかどうかを比較調査した．
対話破綻は，対話の中でユーザが対話を進められない状況を意味する \cite{martinovsky2006error}．
以下の3つの破綻ラベル \cite{higashinaka2016dialogue}を用いて，各拡張システム発話に破綻ラベルのアノテーションを実施した．
\begin{itemize}
    \setlength{\itemsep}{0mm} % 項目の隙間
    \setlength{\parskip}{0mm} % 段落の隙間
    \item \textbf{NB (Not a breakdown)}：破綻ではない．当該システム発話のあと対話を問題無く継続できる．
    \item \textbf{PB (Possible breakdown)}：破綻と言い切れないが，違和感を感じる発話．当該システム発話のあと対話をスムーズに継続することが困難．
    \item \textbf{B (Breakdown)}：あきらかにおかしいと思う発話，破綻．当該システム発話のあと対話を継続することが困難.
\end{itemize}
破綻ラベルは，当該拡張システム発話後の対話継続のしやすさ／しにくさを示す．
ランサーズを利用し，3名の作業者が各発話について評価した．
作業者は，ランダムに選択された100個の拡張システム発話と，Hazumi1911からランダムに選択された100個のオリジナルシステム発話の合計200個の発話を主観的に評価した．

表\ref{table:breakdown_annotation}に，対話破綻アノテーションの結果を示す．
Hazumi1911と比較すると，SUIコーパスではNBの割合が低く，PBの割合が高い．
Bの割合は若干増加しており，現在とは異なるトピックのユーザ情報を強制的に利用することで，不自然な発話がある程度増加することが示された．
しかしながら，$85\%$の発話において対話破綻は生じていない ($0.47+0.38=0.85$) ことから，SUIコーパスは発話生成モデルを学習するための十分な質を有する学習データとなると考える．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[t]
\input{08table05.tex}%
\caption{各コーパスの対話破綻アノテーションの結果．}
\label{table:breakdown_annotation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%
\section{Fine-tuningによる発話生成ベースラインモデルの構築と評価}
\label{sec:utterance_generation}
%%%%%%%%%%%%%%%%%%%%%%%

SUIコーパスを用いて事前学習済み発話生成モデルをFine-tuningすることでベースラインモデルを構築し，任意のユーザ情報と対話文脈を踏まえたシステム発話を生成できるかどうかを評価した．
発話生成モデルの性能を検証するためにBLEU \cite{papineni2002bleu}などの自動評価尺度が一般的に用いられている \cite{liu2016how,zhang2020dialogpt}が，自動評価尺度による自動評価は主観評価との相関が低いことが報告されている \cite{liu2016how}．
そのため，本研究では自動評価に加えて主観評価を実施することで発話生成モデルを評価した．
なお，本実験の目的は高性能な発話生成モデルを構築することではなく，SUIコーパスでFine-tuingすることで既存モデルが任意のユーザ情報を踏まえたシステム発話を生成できるようになるかどうかを確認することである．


%%%%%%%%%%%
\subsection{実験設定}
\label{ssec:utterance_generation_experiment_setting}
%%%%%%%%%%%

SUIコーパスを用いて，既存の事前学習済みモデルをFine-tuningした．
事前学習モデルとして，Transformerに基づくEncoder-Decoderモデル \cite{adiwardana2020towards,roller2020recipes}を使用した．
具体的には，Twitterのツイートリプライペアと日本語PersonaChatコーパスを用いて学習された日本語Transformer Encoder-decoder対話モデル \cite{sugiyama2023empirical}を事前学習済みモデルとして用いた．
日本語Transformer Encoder-decoder対話モデルのパラメータ数は1.6Bである．
表\ref{tbl:yperparameters}に，Fine-tuningにおけるハイパーパラメータ等の設定を示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[t]
\input{08table06.tex}%
\caption{Fine-tuningにおけるハイパーパラメータ等の設定．}
\label{tbl:yperparameters}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

学習と評価データセット間で文脈やユーザ情報の重複を避けるため，Hazumi1911の同一話者による対話から作成したデータが重複しないように，30対話を$\text{\red{T}rain} \colon \text{\red{D}ev} \colon \text{\red{T}est} = 24 \colon 3 \colon 3$に分割した．
トークン化にはSentencePiece \cite{kudo2018sentencepiece}を使用した．


%%%%%%%%%%%
\subsection{評価設定}
%%%%%%%%%%%

以下の2つの発話生成モデルの比較評価を実施した．
いずれのモデルも，出力として対話文脈に続くシステム発話を生成する．
%%%%\begin{description}[leftmargin=*]
    \begin{description}
%%%%\setlength{\itemsep}{1mm} % 項目の隙間
%%%%\setlength{\parskip}{1mm} % 段落の隙間
%%%%\item[\textbf{Vanilla}]
    \item[Vanilla]
（SUIコーパスでFine-tuningしていない）日本語Transformer Encoder-decoder対話モデル．対話文脈のみを入力とする．入力形式は“トークン化された対話文脈”である．
%%%%\item[\textbf{Fine-tuned (Ours)}]
    \item[Fine-tuned (Ours)]
SUIコーパスを用いてVanillaをFine-tuningしたモデル．対話文脈とユーザ情報を入力とする．入力形式は“トークン化されたユーザ情報[SEP]トークン化された対話文脈”である．なお，Fine-tuning時に各エポックにおいて\red{D}evデータセットでモデルを評価し，最も\red{L}ossが小さいモデルを評価に使用する．
\end{description}

\ref{ssec:utterance_generation_experiment_setting}節でSUIコーパスを分割して作成された\red{T}estデータセットから，ランダムに100個の入力を抽出した．
抽出した入力に対して，2つのモデルがそれぞれ発話を生成し，合計200発話を評価対象として作成した．

自動評価尺度として，Perplexityと以下の2種類のBLEUを計算した．
\begin{itemize}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item \textbf{BLEU(Gold)}：生成されたシステム発話とSUIコーパスの拡張システム発話 (Gold) を比較して計算する．
    \item \textbf{BLEU(UInfo)}：生成されたシステム発話と入力のユーザ情報 (UInfo) を比較して計算する．生成されたシステム発話がどの程度ユーザ情報を考慮できているかを検証するために追加する．
\end{itemize}
主観評価ではランサーズを利用し，3名の作業者が生成された各システム発話について評価した．
図\ref{fig:utterance_evaluation_interface}に，作業者に提示した画面を示す．
評価項目などの評価設定は，\ref{subsec:quality}節の品質評価と同じとした．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 4
\begin{figure}[b]
\begin{center}
\includegraphics{31-4ia8f4.pdf}
\end{center}
\caption{作業者に提示した発話評価用の画面．}
\label{fig:utterance_evaluation_interface}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[b]
\input{08table07.tex}%
\caption{自動評価結果．\textbf{太字}は各尺度のトップスコアを表す.}
\label{table:result}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[b]
\input{08table08.tex}%
\hangcaption{主観的評価結果．各項目の``Yes''の割合を示す．数字の横の上付き文字a--bは，その値が上付き文字で示されるモデルの値よりも統計的に優れていることを示す ($p<.01$)．平均は3つの値の平均を意味する．\textbf{太字}は各評価項目におけるトップスコアを示す．}
\label{table:utt_generation_user_result}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%
\subsection{評価結果}
\label{ssec:utt_generation_subjective_eval}
%%%%%%%%%%%


%%%%%%%%%%%
\paragraph{自動評価結果}
表\ref{table:result}に，各モデルのPerplexityとBLEUの結果を示す．
PerplexityおよびBLEUの両方において，Fine-tunedがVanillaを大きく上回ることを確認した．
このことは，SUIコーパスを用いて学習することで，発話生成モデルは対話文脈と任意のユーザ情報の両方を考慮した発話を生成できることを示している．


%%%%%%%%%%%%%%%%%%%%
\paragraph{主観評価結果}
表\ref{table:utt_generation_user_result}に，主観評価結果を示す．
統計検定にはWilcoxonの符号順位検定 \cite{wilcoxon1992individual}を用いた．
Fine-tunedはVanillaよりも平均スコアが高く，特にユーザ情報反映スコアが高かった．
これらの結果は，Fine-tunedがユーザ情報と対話文脈に基づいて効果的に発話を生成できることを示している．
Vanillaは対話文脈に基づいてのみ発話を生成しているため，自然で流暢な発話を生成できていた．
Fine-tunedの自然性スコアはVanillaよりもやや低かったが，これはモデルが新しい情報を取り込こんだことによる影響だと考えている．
SUIコーパスのサイズはそれほど大きくないが，SUIコーパスを用いて発話生成モデルをFine-tuningすることで，モデルは妥当な発話を生成できていた．

人手で作成した拡張システム発話 (Gold) と比較すると，Fine-tunedの自然性スコアは0.71，Goldは0.56（表\ref{table:corpus_evaluation}）であった．
自然性のみを見た場合，一般に発話生成モデルは流暢な発話を生成することに重点を置いているため，Fine-tunedが人間の性能を上回ったと考えられる．


%%%%%%%%%%%
\subsection{分析}
\label{ssec:utterance_generation_analysis}
%%%%%%%%%%%

表\ref{table:result_statistics}に，各モデルによって生成されたシステム発話の統計量を示す．
Fine-tunedによって生成されたシステム発話は，拡張システム発話 (Gold) とほぼ同じ長さであることがわかった．
Fine-tunedはVanillaより文字数と単語数が多いことから，発話により多くの情報を取り込んでいることが示された．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 9
\begin{table}[b]
\input{08table09.tex}%
\hangcaption{各モデルによって生成されたシステム発話の統計量．Goldは拡張システム発話（人手で作成）を表す．}
\label{table:result_statistics}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 10
\begin{table}[b]
\input{08table10.tex}%
\caption{各モデルが生成した発話の例．}
\label{table:generate_sample}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{table:generate_sample}に，各モデルが生成したシステム発話の例を示す．
Vanillaでは対話文脈に沿った発話が生成されている．
Fine-tunedとGoldでは，対話文脈から「ドラマ」，ユーザ情報から「ケーキ」または「スイーツ」が発話に用いられている．
このことから，Fine-tunedがユーザ情報と対話文脈を踏まえて発話を生成できていることがわかる．

対話文脈とユーザ情報の近さによって生成される発話の品質が異なるかどうかを調べるために，\red{\ref{subsec:quality}節と同様の方法で，}対話文脈とユーザ情報のコサイン類似度と主観評価の自然性スコアの関係を分析した．
表\ref{table:result_sim_eval}に，対話文脈とユーザ情報の間のコサイン類似度と，Fine-tunedが生成した発話に対する3名の作業者による自然性スコアの平均値の関係を示す．
結果として，自然性スコアとコサイン類似度間にはほとんど関連性がないことがわかった．
この結果は，生成された発話の品質は，対話文脈とユーザ情報間の類似度に依存しないことを示している．
対話文脈とユーザ情報のトピックが近い場合にのみユーザ情報を発話生成に用いるXuらの手法 \cite{xu2022long}とは対照的に，SUIコーパスを用いることで対話文脈とユーザ情報の近さに関係なく，\red{モデルは}任意のユーザ情報をシステム発話に取り込むことができることが確認された．
\red{なお，[0.4, 0.6)では自然性スコアが多少低くなっているが，モデルが人間に沿った学習をしているとすると，モデルにおいても人間と同様の傾向（表\ref{table:result_sui_sim_eval}参照）になると考えられる．人間では1,000発話に対して評価を行っていたが，モデルでは100発話に対して実施しており，我々は，このスコアの低下はサンプル数が少ないことが原因と考えている．このことを厳密に検証するには，さらなる実験が必要だと考えている．こちらについては今後の課題としたい．}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 11
\begin{table}[t]
\input{08table11.tex}%
\hangcaption{\red{対話文脈とユーザ情報の間のコサイン類似度と，Fine-tunedが生成した発話に対する作業者による自然性スコアの平均値の関係．}}
\label{table:result_sim_eval}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%
\section{ICLによるLLMへの適用と評価}
\label{sec:apply_llm}
%%%%%%%%%%%%%%%%%%%%%%%

SUIコーパスを用いて汎用的な大規模言語モデル (LLM) にIn-Context Learning（文脈内学習；ICL）を行うことで，LLMが任意のユーザ情報と対話文脈を踏まえたシステム発話を生成できるかどうかを評価した．


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

現時点で最先端のLLMであるGPT-4 \cite{openai2023gpt4}に対して，SUIコーパスを用いてICLを行った．
GPT-4は，GPT-3.5を拡張した大規模マルチモーダルモデルであり，様々なタスクで人間レベルの性能を示している\footnote{\Turl{https://openai.com/research/gpt-4}}．
本実験では，対話タスクに特化したGPT-4の\verb|gpt-4-0613|モデル\footnote{本実験を実施した時点で利用可能であった最新モデルである．}をAPI経由で利用した．
プロンプトに含める例示 (\red{S}hot) を変化させて複数のICLを行ったGPT-4の生成発話について，比較評価を実施した．
具体的には，以下の2つの観点を踏まえて5種類の\red{S}hotのバリエーション (\red{Z}ero-shot，\red{R}andom-one-shot，\red{R}andom-five-shot，\red{S}imilarity-one-shot，\red{S}imilarity-five-shot) を用意した．
\begin{itemize}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item \textbf{Shot数}：Zero-shot（プロンプトに\red{S}hotを含めない）をベースラインとする．Few-shotとして，\red{O}ne-shot（プロンプトに\red{S}hotを1つを含める）と\red{F}ive-shot（プロンプトに\red{S}hotを5つを含める）を用意する．
    \item \textbf{Shotの選択方法}：SUIコーパスからランダムに\red{S}hotを選択する方法（ランダム\red{S}hot選択）に加え，入力との類似度に基づいて\red{S}hotを選択する方法（類似\red{S}hot選択）を実施する．旅行案内の対話において，類似\red{S}hot選択によりICLを行うことで，良好な結果が得られることが確認されている \cite{hudecek2023large}．本実験でも同様に，発話生成の入力である対話文脈とユーザ情報の類似度に基づきSUIコーパスから\red{S}hotを選択する．具体的には，入力として与えられるユーザ情報と対話文脈を連結した文を\red{\ref{subsec:quality}}節と同様の方法で文ベクトル化し，SUIコーパスの\red{T}rainデータセットの全データと類似度を計算する．そして，類似度が高い順に\red{S}hotとして採用する．
\end{itemize}
表~\ref{table:prompt_template}に，GPT-4に発話を生成させるために\red{O}ne-shotのランダム\red{S}hot選択で使用したプロンプトの例を示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 12
\begin{table}[t]
\input{08table12.tex}%
\hangcaption{One-shotのランダム\red{S}hot選択 (Random-one-shot) で発話生成に使用したプロンプト．\textbf{太字}は\red{S}hotを示す．過去の対話がユーザ情報，現在の対話が対話文脈にそれぞれ相当する．}
\label{table:prompt_template}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%
\subsection{評価設定}
%%%%%%%%%%%

SUIコーパスの\red{T}estデータセットから，ランダムに100個の入力を抽出した．
\pagebreak
各入力に対して前述の5種類のプロンプトによりGPT-4にシステム発話を生成させ，合計500発話を評価対象とした．
ランサーズを利用し，3名の作業者が生成された各システム発話について評価した．
評価項目などの評価設定は，\ref{subsec:quality}節の品質評価と同じとした．


%%%%%%%%%%%
\subsection{評価結果と分析}
%%%%%%%%%%%

表\ref{table:user_result}に，評価結果を示す．
統計検定にはSteel-Dwassの多重比較検定 \cite{dwass1960some}を用いた．
文脈反映スコアおよび自然性スコアは，\red{Z}ero-shotが最も高かった．
一方で，\red{Z}ero-shotはユーザ情報反映スコアは低いことから，ユーザ情報を踏まえた発話生成ができていないことが示された．
このことから，プロンプトにSUIコーパスから抽出した\red{S}hotを含まない場合，任意のユーザ情報を踏まえた発話生成は難しいことがわかった．
また，\ref{ssec:utt_generation_subjective_eval}節の結果と同様に，ユーザ情報を踏まえず生成された発話の方が文脈反映スコアおよび自然性スコアが高いことがわかった．

One-shotと\red{F}ive-shotの比較により，\red{S}hot数を増やすことでユーザ情報反映スコアが向上することがわかった．
このことから，任意のユーザ情報を踏まえた発話生成において，SUIコーパスはLLMに対しても有用であることが示された．
しかしながら，ユーザ情報反映スコアが最も高いSimilarity-five-shotは0.69であり，Fine-tunedモデルの0.87（表\ref{table:utt_generation_user_result}）と比較すると低い結果となった．
Shot数をさらに増やしたり，LLMをFine-tuningしたりすることで，ユーザ情報反映スコアが向上する可能性がある．
ただし，\red{S}hot数を増やすと自然性スコアはやや低下することも示された．
\ref{ssec:utt_generation_subjective_eval}節や\red{Z}ero-shotの結果と同様に，発話生成において任意のユーザ情報を踏まえることと自然性を保つことはトレードオフの関係にあると考えられる．

ランダム\red{S}hot選択と比較して，類似\red{S}hot選択の方がユーザ情報反映スコアが向上することがわかった．
一方で，自然性スコアはランダム\red{S}hot選択の方が高いことがわかった．
入力に近い\red{S}hotのみを用いた場合，タスクの学習に用いるデータの多様性が低下し，生成発話の自然性を低下させてしまった可能性が高い．
雑談対話において，自然性を保ちつつユーザ情報を踏まえた発話を生成するためには，多様な\red{S}hotを含めることが有効であると示唆された．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 13
\begin{table}[b]
\input{08table13.tex}%
\hangcaption{主観的評価結果．各項目の``Yes''の割合を示す．数字の横の上付き文字a--eは，その値が上付き文字で示されるモデルの値よりも統計的に優れていることを示す ($p<.01$)．平均は3つの値の平均を意味する．\textbf{太字}は各評価項目におけるトップスコアを示す．Randomはランダム\red{S}hot選択，Similarityは類似\red{S}hot選択をそれぞれ示す．}
\label{table:user_result}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{table:result_statistics_gpt}に，各プロンプトによって生成されたシステム発話の統計量を示す．
ランダム\red{S}hot選択と類似\red{S}hot選択を比較すると，類似\red{S}hot選択の方が発話長が短い傾向にあることがわかった．
また，Shot数が少ない方が，生成発話の文字数および単語数が多い．
GPT-4は長い発話を生成する傾向にあるため，\red{S}hot数を増やすことで，SUIコーパスの拡張システム発話の発話長に近づけられることが示された．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 14
\begin{table}[b]
\input{08table14.tex}%
\caption{Shotバリエーションが異なる5種類のプロンプトによって生成された各システム発話の統計量．}
\label{table:result_statistics_gpt}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 15
\begin{table}[b]
\input{08table15.tex}%
\caption{各モデルが生成した発話の例．}
\label{table:generate_sample_gpt}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{table:generate_sample_gpt}に，各モデルが生成したシステム発話の例を示す．
Zero-shotはユーザ情報を踏まえておらず，対話文脈の「イタリア」のみを踏まえた発話を生成している．
\red{O}ne-shotと\red{F}ive-shotでは\red{S}hotを含めることで，対話文脈に加えてユーザ情報の「平井堅」も踏まえた発話を生成している．
また，類似\red{S}hot選択と比べて，ランダム\red{S}hot選択の方が一発話中に含まれる文数が多い傾向があった．


%%%%%%%%%%%%%%%%%%%%%%%
\section{対話システムの構築と評価}
\label{sec:dialogue_system}
%%%%%%%%%%%%%%%%%%%%%%%

\ref{sec:utterance_generation}章および\ref{sec:apply_llm}章では，学習にSUIコーパスを用いることで，モデルが任意のユーザ情報と対話文脈を踏まえた発話を生成できることがわかった．
しかしながら，実際のユーザとの対話において，任意のユーザ情報と対話文脈を踏まえた発話の有用性は不明確である．
そこで本章では，\ref{sec:utterance_generation}章で学習した発話生成ベースラインモデルを用いて，ユーザとのインタラクティブ対話を通してその有用性を評価した．
\ref{sec:utterance_generation}章で学習した発話生成ベースラインモデルを使用した理由は，発話生成ベースラインモデルの方が\ref{sec:apply_llm}章で学習したLLMよりもユーザ情報反映度が高い発話を生成できていたためである．


%%%%%%%%%%%
\subsection{比較システム}
%%%%%%%%%%%

以下の3つの雑談対話システムを構築した．
VanillaとUInfoRuleの2つはベースラインシステムであり，1つはSUIコーパスを用いてFine-tuningした発話生成モデル（\ref{sec:utterance_generation}章のFine-tunedモデル）を組み込んだシステムである．
%%%%\begin{description}[leftmargin=*]
    \begin{description}
%%%%\setlength{\itemsep}{1mm} % 項目の隙間
%%%%\setlength{\parskip}{1mm} % 段落の隙間
%%%%\item[\textbf{Vanilla (Baseline)}]
    \item[Vanilla (Baseline)]
このシステムは，発話生成にユーザ情報を使用しない．システム発話は日本語Transformer Encoder-decoder対話モデル（Vanillaモデル）により生成される．\ref{sec:utterance_generation}章ではVanillaモデルとして日本語PersonaChatコーパスにより学習されたモデルを用いたが，本章では日本語EmpatheticDialoguesコーパスで学習されたモデルを用いた．このモデルを用いた理由は，予備実験の結果，EmpatheticDialoguesで学習されたモデルの方が対話全体としての首尾一貫性が高かったためである．
%%%%\item[\textbf{UInfoRule (Baseline)}]
    \item[UInfoRule (Baseline)]
このシステムは，\citeA{tsunomori2019chat}のシステムを再現したものである. システム発話は，$30\%$の確率で人手で作成したルールによって生成され，$70\%$の確率でVanillaモデルによって生成される．この割合は\citeA{tsunomori2019chat}と同様に設定した．人手で作成したルールは「そうなんですね。そういえば、[\underline{単語}]について話しましたよね。」というような発話テンプレートに，ユーザ情報から抽出した単語を埋め込むことで発話を生成する．例えば，「コンサートに行く」というユーザ情報があった場合，「そうなんですね。そういえば、[\underline{コンサート}]について話しましたよね。詳しく教えてください。」という発話が生成される．テンプレートに埋め込む単語は予めユーザ情報から人手で抽出する．
%%%%\item[\textbf{UInfoGen (Ours)}]
    \item[UInfoGen (Ours)]
このシステムは，\ref{sec:utterance_generation}章で学習したFine-tunedモデルをもとに構築する．システム発話は，$30\%$の確率でFine-tunedモデルによって生成され，$70\%$の確率でVanillaモデルによって生成される．使用するユーザ情報は予め与えられたユーザ情報セットから1つランダムに決定されるため，UInfoGenは対話文脈とユーザ情報の類似度は考慮せずに発話を生成するが，その類似度が高い場合は\citeA{xu2022long}のシステムの動作に近くなる．なお，Fine-tunedモデルとVanillaモデルのどちらで発話生成を行うかをランダムに決定する理由は，(a) Fine-tunedモデルは対話中の任意のタイミングで適用できることを確認するため，(b) ベースラインのルールベースシステム \cite{tsunomori2019chat}と同じ設定にするため，(c) ユーザ情報を使用するタイミングを決定する最適な戦略が確立されていないためである．
\end{description}


%%%%%%%%%%%
\subsection{評価設定}
%%%%%%%%%%%

クラウドワークスを通して募集した50名の作業者が，テキストチャットのインターフェース上で3つのシステムとそれぞれ対話を行った．
図\ref{fig:user_interface}に，使用したテキストチャットのインターフェースを示す．
具体的には，作業者は以下の手順でシステムと対話および評価を行った．
\begin{enumerate}
    \setlength{\itemsep}{1mm} % 項目の隙間
    \setlength{\parskip}{1mm} % 段落の隙間
    \item チャットインターフェースに表示された対話を，自分自身とシステムが過去に対話した内容として認識する．なお，SUIコーパス（\ref{ssec:utterance_generation_experiment_setting}節の\red{T}estデータセット）からランダムに選択された5セットのユーザ情報が過去の対話として表示される．このユーザ情報セットは，システムにも予め与えられる．
    \item システムと15ターン（計30発話）の対話を行う．ここでは，対話するシステムはランダムに決定される．
    \item 対話終了後，後述する8つの質問項目に対して7段階のリッカート尺度を用いてシステムの評価を行う．1が「全くそう思わない」，7が「とてもそう思う」を表す．
    \item すべてのシステムとの対話が完了するまで(1)--(3)を繰り返す．
\end{enumerate}
(3)で用いた8つの質問項目は以下の通りである．
なお，この項目は\citeA{tsunomori2019chat}のルールベースシステムの評価で用いられた質問項目をもとに作成した．
本研究では，システムがユーザ情報を記憶し，発話に利用する能力に関する質問を追加した．
\begin{itemize}
\setlength{\itemsep}{0mm} % 項目の隙間
\setlength{\parskip}{0mm} % 段落の隙間
\item Q1：この対話システムの発話はわかりやすい．
\item Q2：この対話システムの発話内容は豊かだ．
\item Q3：この対話システムは親しみやすい．
\item Q4：この対話システムは過去の対話の内容を覚えている．
\item Q5：この対話システムは過去の対話の内容を適切に活用している．
\item Q6：この対話システムの発話は自然だ．
\item Q7：この対話システムとまた対話してみたい．
\item Q8：今の対話に満足している．
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 5
\begin{figure}[t]
\begin{center}
\includegraphics{31-4ia8f5.pdf}
\end{center}
\hangcaption{テキストチャットインターフェース．ユーザは下部のボックスに発話を入力する．上部にはユーザとシステムの過去の対話が表示されている．}
\label{fig:user_interface}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%
\subsection{主観評価結果}
%%%%%%%%%%%

表\ref{table:interactive_result}に，評価結果を示す．
統計検定にはSteel-Dwassの多重比較検定 \cite{dwass1960some}を用いた．
UInfoGenは全体的にスコアが高いが，VanillaはQ4（記憶）とQ5（過去の対話の利用）を除いて高く，UInfoRuleはQ4のみで高かった．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 16
\begin{table}[t]
\input{08table16.tex}%
\hangcaption{対話評価の結果（7が最も良い）．数字の横の上付き文字a--cは，その値が上付き文字で示されるシステムの値よりも統計的に優れていることを示す．二重文字（aaなど）は$p < .01$，それ以外は$p < .05$を意味する．}
\label{table:interactive_result}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

UInfoGenとUInfoRuleを比較すると，どちらもQ4（記憶）のスコアが高い．
これは，UInfoRuleとUInfoGenが，システムから記憶されているとユーザに感じさせたことを示している．
しかしながら，UInfoRuleはQ5（過去の対話の利用）のスコアが低く，過去の対話を適切に利用できていないことがわかった．
さらに，UInfoRuleはUInfoGenと比較して，Q1（理解度）とQ4を除くすべての項目で有意に低いスコアを示した．
これらのことから，対話の文脈を考慮せずに単純なテンプレートを用いてユーザ情報を発話に取り込むと，対話全体のスコアが低下することがわかった．

UInfoGenとVanillaを比較すると，両者のスコアは同等に高く，Q4（記憶）とQ5（過去の対話の利用）を除くすべての項目において有意差は見られなかった．
Q4とQ5については，UInfoGenが有意に優れていた．
これは，SUIコーパスによって学習された発話生成モデルは対話システムが任意のユーザ情報を利用することを可能にし，ユーザとの対話においても有効に機能したことを示している．
また，UInfoGenはQ2（内容の豊かさ）においてもVanillaより優れていた．
これは，UInfoGenはユーザ情報を活用することで，より多くの情報を発話に取り込むことに成功したことを示している．


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

表\ref{table:live_dialogue_example}に，各対話システムによる対話例を示す．
Vanillaは自然かつ流暢な発話を生成したが，無難な発話が多く生成されていた．
UInfoRuleは，直前のユーザ発話を無視し，強制的にユーザ情報を用いてトピックを変えることが多かった．
UInfoGenは，文脈への適合性を保ちつつ，他のトピックに関するユーザ情報を取り入れた自然な発話を生成していた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 17
\begin{table}[t]
\input{08table17.tex}%
\hangcaption{各対話システムとの対話例．SとUはそれぞれシステムとユーザの発話を表す．
\textbf{太字}はユーザ情報を含む発話を示す．括弧内は発話生成に利用したユーザ情報を示す．\underline{下線}は発話テンプレートを示す．}
\label{table:live_dialogue_example}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 18
\begin{table}[t]
\input{08table18.tex}%
\caption{UInfoGenにおける対話破綻とエラータイプアノテーションの結果．}
\label{table:statistics_error}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 19
\begin{table}[t]
\input{08table19.tex}%
\caption{エラータイプが付与されたシステム発話の例．\textbf{太字}はエラーを含むシステム発話を示す．}
\label{table:error_utt_example}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

UInfoGenは概ね適切に対話していたが，しばしば不適切な発話を引き起こすことがあった．
どのようなエラーが発生したかを調査するために，雑談対話システムにおける対話破綻類型におけるエラータイプ \cite{higashinaka2015fatal}をシステム発話にアノテーションし，エラー分析を行った．
アノテーションは著者の1名が実施した．
まず，UInfoGenの8対話（120システム発話）をランダムに抽出し，\ref{subsec:quality}節と同様の対話破綻アノテーションを実施した．
次に，Bラベルが付与された発話に対して，17種類のエラータイプ \cite{higashinaka2015fatal}アノテーションを実施した．
表\ref{table:statistics_error}に，アノテーション結果を示す．
その結果，大部分の発話は破綻ではなかったが，約$25\%$の発話が対話破綻を引き起こしていた．
エラータイプとしては，質問無視，繰り返しの順に多かった．
表\ref{table:error_utt_example}に，エラータイプが付与されたシステム発話の例を示す．
UInfoRuleと同様に，UInfoGenでもユーザ情報をシステム発話に取り込むためにユーザの質問を無視することがあった．
また，UInfoGenは似たような発話を複数回生成する傾向があった．
これは，ユーザ情報を踏まえた自身の発話を対話文脈の一部として発話を生成しているためだと考えられる．

UInfoGenがユーザ情報を用いた発話を生成したタイミングにおいて，対話文脈と保持していたユーザ情報の近さを分析した．
具体的には，\red{\ref{subsec:quality}}節の分析方法と同様に，直前3ターンまでの対話文脈とチャットインターフェースに提示された各ユーザ情報とのコサイン類似度を計算した．
その結果，コサイン類似度の平均は0.29であった．
\citeA{xu2022long}ではユーザ情報と対話文脈の類似度が一定値以上の場合に発話生成にユーザ情報を使用しており，その閾値は0.7であった．
しかしながら，今回の実験では0.7以上のコサイン類似度の割合は2\%，0.5以上のコサイン類似度の割合は10\%であり，システム発話に任意のユーザ情報を取り込むことの重要性が確認できた．
なお，\citeA{xu2022long}は文ベクトルを得るためにSentence-BERTではなくERNIE \cite{sun2020ernie}を用いているが，値の範囲は大きく異ならないと考えている．


%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
\label{sec:conclusion}
%%%%%%%%%%%%%%%%%%%%%%%

本研究では，パーソナライズ可能な雑談対話システムの実現に向けて，任意のユーザ情報を自然に活用したシステム発話からなるSUIコーパス (\textbf{S}ystem utterance based on \textbf{U}ser \textbf{I}nformation corpus) を構築および公開した．
SUIコーパスを用いて事前学習済み発話生成モデルをFine-tuningすることで，モデルが対話文脈への適切性を保持したまま現在のトピックに関係なく任意のユーザ情報を取り込んだシステム発話を生成できることを確認した．
さらに，SUIコーパスを用いて汎用的な大規模言語モデル (LLM) にIn-Context Learning（文脈内学習；ICL）を行うことで，LLMが任意のユーザ情報と対話文脈を踏まえたシステム発話を生成できることを確認した．
最後に，構築した発話生成モデルをもとに雑談対話システムを構築し，ユーザとのインタラクティブ対話において，任意のユーザ情報と対話文脈を踏まえた発話の有用性を確認した．

今後は，より高品質なユーザ情報を踏まえた発話生成モデルおよび雑談対話システムの構築に取り組む．
特に，発話生成モデルを対話システムに組み込む方法には改善の余地がある．
本研究ではユーザ情報を用いた発話生成のタイミングをランダムに決定したが，効果的に対話にユーザ情報を取り込むタイミングを分析したい．


%%%%%%%%%%%%%%%%%%%%%%%
%%% Acknowledgement %%%
%%%%%%%%%%%%%%%%%%%%%%%
\acknowledgment
本研究は，科研費「モジュール連動に基づく対話システム基盤技術の構築」
\pagebreak
（課題番号19H05692）の支援を受けたものです．
また，実験においては，名古屋大学情報基盤センタのスーパーコンピュータ「Flow」の計算資源を利用しました．
本論文の一部は，2022年度人工知能学会全国大会 \cite{角森2022ユーザ}およびThe 2024 Joint International Conference on Computational Linguistics, Language Resources and Evaluation (LREC-COLING2024) で発表済みのものです \cite{tsunomori2024i}．



%%%%%%%%%%%%%%%%%%%%
%%% Bibliography %%%
%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{jnlpbbl_1.7}
\bibliography{08refs}

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

\bioauthor{角森　唯子}{%
2015 年奈良先端科学技術大学院大学情報科学研究科博士前期課程修了．2015 年株式会社NTTドコモ入社．2022 年日本電信電話株式会社転籍，NTTコミュニケーション科学基礎研究所勤務．現在，名古屋大学大学院情報学研究科博士後期課程在学．対話システムの研究開発に従事．人工知能学会，ACL各会員．
}
\bioauthor{東中竜一郎}{%
2001 年慶應義塾大学大学院政策・メディア研究科博士前期課程，2008 年博士後期課程修了．2001 年日本電信電話株式会社入社．2020 年より，名古屋大学大学院情報学研究科教授．NTT 人間情報研究所客員上席特別研究員．慶應義塾大学環境情報学部特別招聘教授．2004 年から 2006 年まで英国シェフィールド大学客員研究員．質問応答システム・対話システムの研究に従事．人工知能学会，言語処理学会，情報処理学会，電子情報通学会各会員．博士（学術）．
}

\end{biography}


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


\end{document}

