\section{はじめに}
\label{section:introduction}近年，ニューラルネットワークをベースとした対話システム（以下，ニューラル対話システム）の発話生成の性能は著しく向上している\cite{brown2020language,ouyang2022training,glaese2022improving}．しかし，ユーザと対話をすること自体が目的である「非タスク指向型対話（雑談）」に関する研究では，ニューラル対話システムが受動的な発話を生成する傾向があるという問題が指摘されているなど\cite{akasaki:naacl2019:conversation-initiation,wu2019proactiveGuideTargetKG,Liao2023ProactiveAgentLLM,Yuan2020passiveMultiHop}，話題や話題に関する情報，感想を積極的に提示する能力に欠けていることが知られている．一方で，人同士の雑談では感想を述べる発話が対話の盛り上がりに寄与すること\cite{tokuhisa:jsai2006:moriagari}，また人がシステムと話すとき相手に人と同様の振る舞いを期待する傾向がある\cite{Nass2000MachinesAM}ことを踏まえると，対話システムが積極的に感想を述べる発話を生成することは，雑談を盛り上げユーザの満足度を高める上で重要と考えられる．こうした背景を踏まえ，感情を表現する対話システムの開発も行われてきた\cite{meguro:collling2010:marcov-dicision}．しかし，話題や相手発話に対して自然かつ共感を得られるような感想の表現は，話題や相手発話の理解に加え，それらから妥当な感想を推測するための常識的知識などの活用が求められる非常に挑戦的な課題と考えられる．実際に，対話システムが適切でない感情発話を生成することにより倫理面や安全性の観点で問題が起きる危険性について指摘されている\cite{Dian/DBLP/exposingProblems,Xu:DBLP:saftyChatbots}．そこで我々は，倫理面や安全性の問題に配慮しながら自然な感想を発話するシステムの実現方法のひとつとして，雑談において扱う話題に対して実際に人によって書かれた適切な意見や感想を外部情報として利用することを試みる．特に，SNSに集まった投稿を人々の感想として利用する具体的な例題として，ニュース記事を引用しているツイートを利用して，そのニュース記事の内容を話題とする雑談をすることを考える．図~\ref{fig:ideal-dialog-type}に，この例題において我々が目標とする対話システムの出力例を示す．図~\ref{fig:ideal-dialog-type}の左側はニュース記事とそれに対する\tweetを，右側はこれらを活用した対話例を示している．図~\ref{fig:ideal-dialog-type}に示すように，\tweetに含まれる感想を対話に取り入れて話題を提供することで，より魅力的で対話の盛り上がりに寄与する発話が生成できると期待している．このような発話生成の実現のためには，発話と発話に関連する外部情報として感想が付与された対話コーパスが有用となるが，現時点では存在しない．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[t]\begin{center}\includegraphics{31-3ia7f1.pdf}\end{center}\caption{対話システムの全体像．}\label{fig:ideal-dialog-type}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%本論文では，図~\ref{fig:ideal-dialog-type}に示すような対話システムの構築に有用な対話コーパスとして「感想付きニュース雑談コーパス」を構築する．本コーパスの特徴として，話者の一方はシステム役として，発話時に積極的に第三者の感想（ニュースに対する\tweet）を使って発話をし，もう一方の話者はユーザ役として，システム役が提示する話題に興味を持ち，その話題を深く理解しながら対話をしている．さらに，構築した「感想付きニュース雑談コーパス」を用いて，対話文脈に基づいた引用すべき第三者の感想の選択や，選択した感想を組み込んだ発話生成を対話システムに学習させ，生成発話を感想の表現に対する積極性や雑談の盛り上がりの観点で評価する．本論文における我々の貢献は以下の$2$点である．\begin{enumerate}\item「感想付きニュース雑談コーパス」を構築した\footnote{本論文で構築したコーパスは，\url{https://github.com/fukanarita/newschat-with-impression}で公開している．}．具体的には，$47$件のニュース記事に対して，$11,256$発話を含む$1,005$対話を収録したコーパスを構築した．\item\label{generation}構築した「感想付きニュース雑談コーパス」を用いて学習済の対話システムを\finetuningし，\tweetや文脈を入力して生成した発話を，感想の表現に対する積極性や雑談の盛り上がりの観点で評価した．評価の結果，従来法に比べて文脈に対して自然な発話を生成でき，かつ感想を含む発話を多く生成できることが分かった．加えて，これらのシステムにより生成された発話は，雑談を盛り上げるような発話となっていることが明らかとなった．\end{enumerate}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
\label{sec:related-works}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{対話システム開発におけるコーパスの重要性}ChatGPT\footnote{\url{https://chat.openai.com/．}}などの大規模言語モデルにより，近年，対話システムの発話生成の性能は著しく向上している\cite{brown2020language,ouyang2022training,glaese2022improving}．ニューラル対話システムでは，新しいドメインやタスクに合わせて学習済モデルを\finetuningする方法が広く採用されており，高精度な対話システムを構築する上で，質の高い対話コーパスを構築することは近年ますます重要となっている\cite{akama-etal-2020-filtering,wang-etal-2023-self-instruct,wei2022finetuned-zeroshot}．本研究では，こうした背景を踏まえ，積極的な感想の表現が可能な対話システムの開発に有用な対話コーパスを構築する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{感情を交える対話システム}対話システムの中でも，感情に着目して対話を行う研究が複数ある．Rashkinらは，人と対話するエージェントには，相手の暗黙の感情を理解し対応することが求められているとし，$24,850$対話が収録された対話コーパスEmpatheticDialoguesを構築した\cite{rashkin:2019:empatheticdialogues}．EmpatheticDialogesは，Sugiyamaらによって日本語版も構築されている\footnote{EmpatheticDialoguesの日本語版(JEmpatheticDialoges)は，右記から取得できる：\url{https://github.com/nttcslab/japanese-dialog-transformers/}．}．日本語版のEmpatheticDialogues(JEmpatheticDialogues)は，EmpatheticDialoguesと同様に，ある感情が生じる状況を想定した$4$発話の対話が収録されている．Sugiyamaらは，このコーパスを使用して事前学習したTransformer系列変換モデル\cite{vaswani2023attention}を\finetuningし，状況に合わせて自然に対話するシステムを実現している\cite{sugiyama:2021:ntt_model}．他にも，感情を表現する対話システムや人の感情に共感する傾聴対話システム，ユーザの感情を考慮する対話システムが複数提案されている\cite{Zhou2018EmotionalChatting,huang:etal2018:generationWithEmotions,inoue:jsai2021:ERICA,Deeksha2024EmoKGinDialog}．これらのシステムは，人間が対話を主導することを想定しているため，生成される発話は受動的である．我々は，対話システムから積極的に情報提供を行い，さらに，感想を交えて話すことでより魅力的で多様な生成を行うことを目指す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{情報を提供する対話システム}システムから能動的に情報を提供する対話システムについてもいくつか研究がある．特に「タスク指向型対話」では，システム側から積極的に情報を提供することでタスクを適切に達成するシステムが提案されている\cite{eric-etal-2017-key,kodama2021movie-recommend,feng-etal-2022-topic}．例えば，Mihailらは車載の対話システムにおいて，天気や目的地の情報などを検索しながら，より適切にユーザの要求に回答するシステムを構築している．また，児玉らは，話者の発話意図を理解してそれに適した発話の生成を行うため，映画の推薦を題材としてコーパスを構築し，それに基づいてユーザの内部状態の推定を行っている．一方，「非タスク指向型対話」では，Akasakiらはユーザを飽きさせないよう雑談における最初の発話を多様化するため，ニュース記事を用いた対話を開始する発話の生成を行っている\cite{akasaki:naacl2019:conversation-initiation}．また，labanらは，ニュースに関する対話において，グラフを用いて対話の状態を追跡し，情報の重複を防ぎながら対話を行うニュースチャットボットを構築し，ユーザの満足度を向上させている\cite{laban-etal-2020-whats}．さらにDinanらは，外部情報を利用した対話を実現するため，Wikipediaを利用した対話のデータセットを構築したうえで，多彩な情報を対話に取り入れる雑談対話を行うモデルを構築した\cite{Dinan:CoRR2018:WOW}．我々は，対話によって情報提供を行うだけでなく，感想を発話に取り入れることによってより対話の盛り上がりにつながる発話を目指す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{感想付きニュース雑談コーパスの構築}
\label{sec:construction-of-corpus}本節では「感想付きニュース雑談コーパス」について説明する．まず，\ref{section:basic-corpus}節でコーパス構築の基本的な方針を述べた上で，\ref{section:collect-system-construction}節でコーパスの構築方法について説明する．最後に，\ref{section:collect-dialogues}節で「感想付きニュース雑談コーパス」の規模や対話例を示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスの基本設計}\label{section:basic-corpus}図~\ref{fig:ideal-dialog-type}に示すように，ある話題に対して集まっている人々の感想を用いて対話を行う対話システムの実現を目指し，「話題（ニュース記事）」「感想（話題に対してX\footnote{X（旧Twitter）とは，$2006$年にアメリカでスタートしたソーシャルネットワーキングサービス(SNS)で，日本語版のサービスは$2008$年に開始した．Xへの投稿は現在はポストと呼ばれるが，一般に定着している用語であることを鑑み，本論文ではツイートと表現する．}に投稿されたツイート）」「対話」の三つ組みからなる対話コーパスを構築する．一般的な対話コーパスには対話のみが収録されているが，本コーパスは，対話に加え，それに対応する「話題（ニュース記事）」および「感想（話題に対するツイート）」が含まれている点が特徴である（以降，対話に用いるニュース記事やツイートをまとめて「外部情報」と呼ぶ）．本研究では，質の高いコーパスの構築を目指し，WizardofOz法\footnote{WizardofOz法とは，片方の話者がシステム役を演じる対話収集方法である．システムと人との対話を収集するのではなく，システム役を演じる人とユーザ役を演じる人との対話を収録することで，システムによる発話誤りを避け，質の高いコーパスを収集することができる．}により対話を収集する．具体的には，ニュース記事の話題に関して$2$名の話者が雑談する対話について，一方がニュース記事の話題を提供しながら雑談するシステム役として，もう一方はユーザ役として行われた雑談対話を収集する．本節では，対話に用いる外部情報であるニュース記事と\tweetの選定方法について説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{ニュース記事の選定}システム役がツイートを用いて感想を述べる際に，可能な限り多様なツイートの候補が与えられるよう，$15$個以上の\tweetから引用されているニュース記事を選択した．また，話者ができるだけ新しい話題について対話を行えるよう，使用する記事は対話収集時の直近$4$ヶ月を目安とした．ただし，東中が述べているように\cite{higashinaka:jjsai2016:ethics}，対話システムの発言内容には倫理的観点から注意する必要があり，特定の組織を非難するような話題や，政治などの議論を呼ぶ話題は避ける方が望ましい．本研究で構築するコーパスについても，倫理的な面に配慮し，特定の個人や団体が非難される話題や政治の話題は除外した．また，事前の小規模対話収集\cite{narita:nlp2022:emotion}の結果，訃報に関するニュースは対話しづらいと報告されていたため，人の生死に関わる話題は除外した．これらの結果，選択したニュースは，長さ2~cmの細菌発見，スプリンクラーの誤作動による楽器の被害，屋根裏から古いノミの発見などの計$47$記事となった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{\tweetの選定}ニュースを引用したツイートには，ニュース記事のURLとタイトルのみのツイートも多数ある．しかし，URLやタイトルのみのツイートは，システム役がその内容を対話に取り込みづらいことから，対話の収集時にワーカーに提示するツイートから除外した．また，多いものでは一記事に対して$150$個以上のツイートがあったが，システム役が可能な限りスムーズに\tweetを対話に使えるように，具体的な感想が述べられている$16$文字以上の\tweetを$10$個から$15$個著者らにより選択\footnote{\ref{subsubsec:models-generation}節で述べるように，本コーパス以外に\tweetを用いた生成を拡張する場合には，\tweetの選定は自動で行う必要があるが，本コーパスの構築においては人手で\tweetを選択した．}してシステム役に提示した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパス構築の方法}\label{section:collect-system-construction}図\ref{fig:chat_collection_framework}に，本コーパスの構築手順を示す．まず，Yahoo!クラウドソーシング\footnote{\url{https://crowdsourcing.yahoo.co.jp/}．}にシステム役用のタスクと，ユーザ役用のタスクをそれぞれ別タスクとして投稿する．対話参加者はYahoo!クラウドソーシングに投稿されたタスクのうち，システム役とユーザ役どちらかのタスクを選択し，タスクの指示に従って対話収集システムにアクセスする（図\ref{fig:chat_collection_framework}の(1)）．対話収集システム上で教示を熟読した（図~\ref{fig:chat_collection_framework}(2)）後，システム役とユーザ役を$1$人ずつマッチングし，対話収集した．なお，システム役のワーカーは，ニュース記事と\tweetを参照しながら対話し，対話収集システム上に提示された\tweetを適宜使って発話するように指示した（図\ref{fig:chat_collection_framework}の(3)）．\tweetを使用した発話をする場合は，使用した\tweetを発話とともに対話収集システム上で記録させた\footnote{\tweetを使用した場合は，図~\ref{fig:checkbox}の上部の「新聞記事に対する世間のコメント」のチェックボックスにチェックを入れると，発話とチェックが入れられた\tweetがペアで保存される仕様になっている．}．なお，自然な対話を行わせるため，システム役が\tweetを使用する際には，「～という感想を述べている人がいます」と第三者の感想の形で引用したり，自分自身の感想として利用するなど，\tweetの表現を自由に変えて発話に取り入れるよう指示した．一方で，ユーザ役にはDinanら\cite{Dinan:CoRR2018:WOW}に倣い，好奇心旺盛な人という設定で，相手であるシステム役の話に興味を持って対話を進めるように教示した．ユーザ役は，システム役のようにニュース記事を見ることはできず，システム役である相手との対話を通してニュース記事について理解を深めるようにした．なお，システム役とユーザ役のどちらにも，対話相手が人間であることは教示したが，対話相手のタスク内容については教示していない．従って，ユーザ役はシステム役が\tweetを使用しながら対話していることを認識せずに対話している．本対話収集においては，対話は児玉ら\cite{kodama:nlp2021:chat_server}に倣って，一発話ずつ発話者が交互に変わる形式とした．システム役とユーザ役の発話数の合計が$11$発話以上になると，双方の終了ボタンを押すことが可能となり，任意のタイミングで対話を終了できるようにした．対話後には「チャットID」を対話収集システム上に表示し（図~\ref{fig:chat_collection_framework}(4)），Yahoo!クラウドソーシングのタスクに戻って入力させ，クラウドワーカー自身のIDと，入力されたチャットIDに結び付けて対話を確認した．役割ごとのタスクの所要時間を考慮し，1対話につきシステム役には$300$円，ユーザ役には$225$円を報酬として支払った．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[t]\begin{center}\includegraphics{31-3ia7f2.pdf}\end{center}\caption{クラウドソーシングを活用したコーパス構築の手順．}\label{fig:chat_collection_framework}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3\begin{figure}[t]\begin{center}\includegraphics{31-3ia7f3.pdf}\end{center}\hangcaption{感想付きニュース雑談コーパスのシステム役の発話収集画面．図中の矢印，「UltraとかSEとかの機種が欲しい」に引かれた下線は本論文での説明のために追加したもので，実際の対話収集時にワーカーに対して表示されるものではない．}\label{fig:checkbox}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%なお，本収集システムは，児玉ら\cite{kodama:nlp2021:chat_server}のシステム\footnote{児玉らのシステムは右記から入手できる：\url{https://github.com/ku-nlp/ChatCollectionFramework}．}を拡張したもので，クラウドソーシングにより対話を収集できる．簡単に機能を追加できる上に，対話を行うワーカーの負担が少ないことから，本システムを採用した．主な改変点は以下の通りである．\begin{itemize}\itemシステム役とユーザ役がそれぞれの教示を受けた上で対話を開始できるように，異なるURLから対話収集システムにアクセスするように変更した．\itemさまざまなニュースとツイートに対する対話を収集するため，システム役とユーザ役のペアごとに異なるニュースとツイートが表示されるように変更した．\itemシステム役のワーカーが\tweetに基づいた発話をする場合，その\tweetを記録する機能を追加した（図~\ref{fig:checkbox}）．\end{itemize}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスの基本情報}\label{section:collect-dialogues}本コーパスは$1$対話$1$行のJSONLines形式となっており，それぞれの対話データは，\begin{itemize}\item対話の話題となったニュース記事\footnote{本コーパスでは実際にはニュース記事のURLを記載している．}\itemシステム役に提示された，ニュースを引用した\tweet\footnote{本コーパスでは実際には\tweetIDを記載している．}\itemシステム役とユーザ役の二者による対話\end{itemize}からなる．集められた対話の一例を表~\ref{table:dialog_example2}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[b]\input{07table01.tex}%\hangcaption{感想付きニュース雑談コーパスに含まれる対話例．\textbf{対話}中で\blue{青字}で書かれたリストは，発話の元となった\tweetデータを示す．}\label{table:dialog_example2}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$1$組の対話データ中のシステム役とユーザ役による「対話」において，システム役からの発話には，発話の元となった\tweetデータも記録されている．元となった\tweetは対話を行ったシステム役自身が記録したものであるが，収集後，明らかに\tweetと関連しているが\tweetとの関連が記録されていない発話や，反対に明らかに\tweetと関連がないが何らかの\tweetとの関連が記録されている発話が確認された．そこで，全ての対話を著者の$1$人が確認し，\tweetと発話を関連付ける部分の修正を行った．基本統計情報を表~\ref{tab:dialog-statistics}に示す．表~\ref{tab:dialog-statistics}に示す通り，本コーパスは$47$件のニュース記事に対して，$11,256$発話から成る$1,005$対話が収録されている．$1$対話あたりの発話数は$11.2$発話，$1$対話あたり使用されたツイート数は$2.8$個であった．実際には，図\ref{fig:checkbox}の例のように，$1$発話に複数のツイートが使われている場合もあるが，$11.2$発話に対して$2.8$個のツイートが使われていることから，方針の通り感想を述べる発話が多く含まれるコーパスを構築できたと考えている．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\input{07table02.tex}%\caption{対話データの基本統計情報．}\label{tab:dialog-statistics}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{評価実験設定}
\label{sec:experiment-settings}\ref{sec:construction-of-corpus}節では，対話の話題に対する「人々の感想」および「ニュース記事」を外部情報として利用しながら，システム役の話者が積極的に感想を発話する雑談コーパスを構築した．本コーパスを用いて，人々の感想を外部情報として用いて発話を生成するよう対話システムを学習する．また，学習した対話システムは倫理的な問題を含まない自然な感想を積極的に生成できるか，さらにそれらの発話は雑談を盛り上げることに対し効果的かを検証する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[b]\input{07table03.tex}%\caption{コーパスの分割情報．}\label{tab:split-data}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスの分割}表~\ref{tab:split-data}に，構築したコーパスを分割することで作成した，学習データセット，開発データセット，評価データセットそれぞれに含まれる対話数を示す．それぞれのデータセット間の独立性を保てるよう，各データセットに含まれるニュース記事の集合には重なりがないようにした．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{評価実験の入力および出力}\label{subsec:task-input-output}本実験では，評価対象となる対話システムに評価データセット中の対話に含まれる発話の系列の途中までを与え，それに続くシステム役の発話を生成させ，生成発話の質を評価する．具体的には，評価データセット中の対話に含まれるシステム役の特定の発話を\textbf{参照応答}，参照応答に先行する発話の系列を\textbf{対話文脈}，またコーパス構築において同対話がなされたときにシステム役に提示されていた「ニュース記事全文」および「ツイート群」を\textbf{外部情報候補}とする．対話システムは与えられる外部情報候補（ニュース記事およびツイート）や対話文脈をもとに，対話文脈の直後のシステム役の発話を生成する．なお，\ref{section:collect-dialogues}節で述べたように，本コーパスの各システム役発話には，発話時にシステム役がツイートを参考にした場合，与えられていたツイート群のうちどのツイートを用いて発話したかが記録されている．また，システム役がニュース記事に含まれる特定の文を参考にして発話した場合，ニュース記事中のその文と発話の類似度が高くなると考えられる．このことから，発話とニュース記事中のそれぞれの文との類似度を計算することで，システム役の話者が発話時に参考にしたニュース記事中の文を特定できる可能性がある．そのため，参照応答および参照応答に付与された情報を用いることで，システム役が参照応答をした際に，ツイート群とニュース記事全文うちどの情報を用いたかが推測できる．後述するように，本実験で評価対象とする対話システムのうち$2$つ（\upperNTおよび\upperN）は，参照応答および参照応答に付与された情報をもとに，コーパス構築時にシステム役が参照応答に用いた外部情報を把握した上で発話を生成する．これによって，対話システムが最適な外部情報の選択をした場合の発話の質を評価する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{評価対象とする対話システムの学習と推論}\label{subsubsec:models-generation}本評価実験では，\nttTOKEN{}，\upperNT{}，\upperN{}，\proposeNT{}の$4$個の対話システムの生成発話の質を評価する．\nttTOKEN{}はベースラインシステムで，その他は感想付きニュース雑談コーパスを用いてベースラインシステムを\finetuningして構築した対話システムである．$4$つのシステムによる発話の生成にはfairseq\cite{ott2019fairseq}を使用した．入力文の発話数，学習率，最適化手法，およびトークナイザはSugiyamaらの\finetuningの設定\cite{sugiyama:2021:ntt_model}に従った．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.4\begin{figure}[b]\vspace{-1\Cvs}\begin{center}\includegraphics{31-3ia7f4.pdf}\end{center}\caption{各対話システムの推論データの形式．}\label{fig:how_to_make_dataset2}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{\nttTOKEN}対話文脈のみの入力で自然な発話生成を行うベースラインシステムとして，Sugiyamaらが公開しているjapanese-dialog-transformersの事前学習モデルを用いる%た\cite{sugiyama:2021:ntt_model}．本システムは，\twitterのリプライを利用して学習されたTransformer系列変換モデル\cite{vaswani2023attention}で，公開されている日本語対話システムのうち高性能なものとして知られている．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{推論時の入出力}評価データの対話文脈のうち直近$3$発話のみを連結したもの\footnote{コーパスにおけるシステム役の話者の発話の先頭に特殊トークン\texttt{[SPK1]},ユーザ役の話者の発話の先頭に特殊トークン\texttt{[SPK2]}をつけたうえで，特殊トークン\texttt{[SEP]}を挟むように各発話を連結する．入力情報の連結方法は全システム共通であり，他システムの入力において外部情報を連結する場合も\texttt{[SEP]}を挟む．}を入力として与え，続く発話を生成させる．%た．具体的な入力の例は，付録~\ref{appendix:input-example}の表~\ref{tab:input-output-example}を参照されたい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{\upperNT}\label{subsubsection:upperNT}本システムは，参照応答が用いたニュース記事の一部や\tweetを外部情報として参照しながら発話を生成する対話システムである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{推論時の入出力}評価データの対話文脈のうち直近$3$発話と外部情報を連結したものを入力として与え，続く発話を生成させる（図\ref{fig:how_to_make_dataset2}の\upperNT）．入力する外部情報は，外部情報候補のうち，コーパス構築時に参照応答が参考にした外部情報を推測することで決定する．具体的には，参照応答が\tweet{}を参考にした場合，該当する\tweet{}を選択する\footnote{\ref{subsec:task-input-output}節で述べたように，本コーパス中のシステム役発話が\tweet{}を参考にしていた場合，与えられていた\tweet{}群のうちどの\tweet{}を用いたかが記録されている．}．参照応答が\tweet{}を参考にしておらず，ニュース記事中の文を参考にしていると推測される場合\footnote{対話の話題となっているニュース記事本文をja-sentence-segmenter(\url{https://pypi.org/project/ja-sentence-segmenter/})で分割し，各文の分散表現をSentence-BERTを用いて求める．参照応答の分散表現もSentence-BERTによって求めたうえで，参照応答の分散表現とのコサイン類似度が最も高い分散表現を有するニュース記事の文を取り出す．取り出した文のコサイン類似度が閾値を上回っていた場合，この文を外部情報とする．}，ニュース記事中の該当する文を選択する．上記のいずれにも該当しない場合，外部情報は無しとする．なお，ニュースや\tweetを入力に連結する場合は，その文頭にそれぞれを示す特殊トークンを付与する．本論文では，ニュースを示す特殊トークンとして\texttt{[NEWS]}を，\tweetを示すトークンとして\texttt{[TWEET]}を用いる．特殊トークンについては以下の\upperN，\proposeNTにおいても同様である．具体的な入力の例は，付録~\ref{appendix:input-example}の表~\ref{tab:input-output-example}を参照されたい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{学習時の入出力}入力の決定方法や形式は推論時と同様である．出力は参照応答とする．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{\upperN}本システムは，\tweetを外部情報として使用せず，ニュース記事の文のみを参照し発話を生成する対話システムである．\upperNTの発話と比較することで，\tweetを入力することの有効性を確認する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{推論時の入出力}\tweet{}を外部情報として利用しない点を除き，\upperNT{}と同様である．%\upperNT{}と同様にシステムを構築する．参照応答がニュース記事を参考にしていると推測される場合，そのニュース記事の$1$文と文脈直近$3$発話を連結させたものを入力とする（図\ref{fig:how_to_make_dataset2}の\upperN）．%の生成を学習する．一方，参照応答がニュース記事を参考にしていないと推測される場合，文脈直近$3$発話のみを入力とする．具体的な入力の例は，付録~\ref{appendix:input-example}の表~\ref{tab:input-output-example}を参照されたい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{学習時の入出力}入力の決定方法や形式は推論時と同様である．出力は参照応答とする．ただし，\tweetを使用しない入力による発話生成の学習のため，\tweetと関連付いた参照応答は学習データセットから除去した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{\proposeNT}上で述べた\upperNT，\upperNでは，参照応答や，その応答に関連付けられた\tweetを利用して入力する外部情報を決定し，発話を生成した．しかし実際の対話の場面では参照応答は存在せず，参照応答から外部情報を決定することはできないため，与えられる外部情報候補からどの外部情報を入力するべきかを対話文脈から決定する必要がある．そこで，(1)システム自身が外部情報候補から文脈に適切なものを選択して，(2)その外部情報と対話文脈から発話を生成するという$2$段階の処理により推論を行う\proposeNT{}を構築し評価する．生成された発話を\upperNTと比較することで，参照応答にアクセスできる場合の発話生成と実用時を想定した際の発話生成の差を検証する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{システムの構造}BlenderBot\3\cite{shuster2022blenderbot}に倣い，(1)外部情報の選択と(2)発話の生成をどちらも生成問題として同一のシステムに行わせる（図\ref{fig:propose_nt_generate}参照）．具体的には，\texttt{[select]}という特殊トークンが付与されている入力を受け取った場合，システムは(1)の選択問題における選択結果を示すトークンを生成し，\texttt{[generate]}という特殊トークンが付与されている入力を受け取った場合，対話文脈に続く発話を生成する．発話生成のパイプライン処理における各サブタスクを$1$つの生成システムで行うことの有効性がShusterらにより確認されている\cite{shuster2022blenderbot}ことから，この手法を採用した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.5\begin{figure}[t]\begin{center}\includegraphics{31-3ia7f5.pdf}\end{center}\caption{\proposeNTによる発話生成の枠組み．}\label{fig:propose_nt_generate}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{(1)外部情報選択}最初に，外部情報候補に含まれる各候補について，「その候補が発話生成のための外部情報として適切か」をシステムに2値分類させる（図\ref{fig:how_to_make_dataset2}の\proposeNT上部，図~\ref{fig:propose_nt_generate}上部参照）．具体的には，特殊トークン\texttt{[select]}，外部情報候補のうち$1$つ，対話文脈直近$3$発話を連結したものをシステムに与え，「外部情報として適切」を意味するトークン`1'もしくは「外部情報として不適切」を意味するトークン`0'を生成させる．これを外部情報候補に含まれる全ての候補について実施したうえで，システムが`1'を生成した候補のなかから，発話生成のための外部情報として用いるものを$1$つ選択する%\footnote{外部情報候補に含まれる$1$つ以上の\tweet{}に`1'が生成される場合，`1'の生成尤度が最も高いものを外部情報として選択する．全ての\tweet{}の候補に対し`0'が生成され，かつ外部情報候補に含まれる$1$つ以上のニュース記事中の文に対し`1'が生成される場合，同様にそのなかから`1'の生成尤度が最も高いものを外部情報として選択する．全ての\tweet{}およびニュース記事中の文の候補に対し`0'が生成された場合，外部情報は無しとする．}．外部情報選択における具体的な入出力の例は，表~\ref{tab:proposeNT-select-example}を参照されたい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{(2)発話生成}特殊トークン\texttt{[generate]}，(1)で選択された外部情報，文脈直近$3$発話を連結させたものを入力とし，文脈に続く応答を生成させる．（図\ref{fig:how_to_make_dataset2}の\proposeNT下部，図~\ref{fig:propose_nt_generate}下部参照）発話生成における具体的な入力の例は，付録~\ref{appendix:input-example}の表~\ref{tab:input-output-example}を参照されたい．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{学習時の入出力}\citeA{shuster2022blenderbot}の設定に倣い，外部情報選択と発話生成のための学習サンプルを混ぜた学習データセットを構築し，マルチタスクで$1$つのシステムを学習する．外部情報選択のための学習では，特殊トークン\texttt{[select]}，外部情報候補に含まれる候補の$1$つ，対話文脈直近$3$発話を連結したものを入力として，トークン`1'もしくは`0'を出力とする．このとき，\ref{subsubsection:upperNT}節で述べた手法で選択される外部情報の候補と対話文脈を入力した場合は`\texttt{1}'，選択されない外部情報の候補と対話文脈を入力した場合は`\texttt{0}'が出力となるように学習サンプルを作成する．発話生成のための学習では，特殊トークン\texttt{[generate]}を連結させる点を除き\ref{subsubsection:upperNT}の学習と同様の入出力とする．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{システムごとの学習データのサンプル数}これらのシステムの特性から，\upperNT，\upperN，\proposeNTの学習データの発話データ数は表\ref{tab:train-dataset-num}のようになった．\upperNではツイートが用いられている参照応答を出力とした入出力ペアを学習データに含めなかったため，\upperNT，\nttTOKENよりも1,934件データが少なく6,591件である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[b]\input{07table04.tex}%\caption{学習データの発話数．}\label{tab:train-dataset-num}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{発話生成時の外部情報の入力数}後述する\ref{subsec:objective-evaluation}節の評価実験における対話システムの推論時，外部情報を入力に使用する\upperNT，\upperN，\proposeNTの$3$システムにニュース記事と\tweetが入力された頻度は表~\ref{tab:news-tweet-input-num}のようになった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5\begin{table}[b]\input{07table05.tex}%\hangcaption{\ref{subsec:objective-evaluation}節の推論時，外部情報を入力に用いるシステムにおいてニュース記事と\tweetが発話生成のための入力に用いられた数と割合．}\label{tab:news-tweet-input-num}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{客観評価}\label{subsec:objective-evaluation}実験に使用した$4$つの対話システムについて，評価データセットに含まれる全システム役発話を参照応答として，以下の$2$つの観点で評価を行った．\begin{enumerate}\item\perplexity．\\構築した対話システムの言語モデルとしての性能を測るため，\perplexityを測定した．%\itemTypeTokenRatio．\\構築した対話システムが多様性のある応答を生成可能かを評価するため，TypeTokenRatio（単語の異なり数\/\単語延べ数）を算出した．\end{enumerate}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{人手による発話の評価}\label{subsec:human-evalution}評価データセットに含まれる対話におけるシステム役の発話$100$個を無作為抽出し，それらを参照応答とする．各参照応答に先行する発話の系列を対話文脈として，対話文脈に続く$4$つのシステムからの生成発話それぞれをアノテータ$3$人に評価させた．アノテータは研究室の学生$3$人であり，$4$つの対話システムの特徴は公表せず，無作為な順序で生成発話を提示した．アノテータによる評価の観点は以下の$4$点である．\begin{enumerate}\item感想発話の生成に対する積極性\\本研究では感想を含めて発話をさせるため，\tweetを入力に加えて発話を生成したが，実際に生成された発話に感想が含まれているかを調べる必要がある．そこで，生成された発話が感想を含んだ発話であるかどうかを評価させた．本評価において，「感想を含んだ発話」には他者の感想を引用した発話も含めさせた\footnote{具体的には「感想を発話しているものに印を付与してください．注意点として他者の感想を引用した発話を含めてください．」という教示をした．また「感想を含んだ発話」の具体例として「そうですね。そんなケーキが気になります！とのコメントをしている人もいます。」，「感想を含まない発話」の具体例として「他には、同じ軌道を回り続けるUFO、なんていうのも目撃されているそうですよ。」を評価者に示した．}．\item自然性\\感想の発話のために外部情報候補に\tweetを用いることで自然性が損なわれないか確認するため，文脈に続く発話としての自然性を$1$，$2$，$3$の$3$段階で絶対評価をさせた．$1$は不自然，$2$は捉え方によっては問題ない，または部分的に自然，$3$は自然であることを意味する\footnote{「はい」「いいえ」などの単純な応答，鈍い応答であっても，文法的に自然であり対話が破綻していなければ$3$の評価となる．}．\item倫理性\\本研究では感想の発話を積極的に生成するシステムの構築を目指すが，感想を含む発話を生成することで倫理的な問題が発生しやすくなる可能性がある．そこで，倫理的に問題があるかどうかを評価させた．\item盛り上がり\\人間同士の雑談では感想の発話が対話の盛り上がりに寄与すると知られており，対話システムと人間の対話においても同様の傾向があるとみられている\cite{narita:nlp2022:emotion}．本コーパスをもとに構築したシステムにおいても同様の傾向が見られるかを確認するため，$4$つのシステムの生成発話をランク付けにより評価させた\footnote{アノテータには評価対象となる発話と対話文脈を提示した上で「この後の対話が盛り上がりそうな順に$4$つの対話システムが出力した発話をランク付けしてください」と教示した．}．このとき，$2$つ以上のシステムの順位を同率にすることを許容した．\end{enumerate}感想発話の生成に対する積極性について，アノテータ$3$人のうち$2$人が感想を発話していると評価したものを感想を含んだ発話として，それが$100$発話中何発話あるかで評価を行った．自然性について，$100$発話に対するアノテータ$3$人の評価のシステムごとの平均値を算出した．倫理性について，アノテータ$3$人中少なくとも$1$人が倫理的に問題があると評価した発話が$100$発話中いくつあるかで評価を行った．盛り上がりの評価について，$4$つのシステムのランク付けを%一対比較に変換し，それぞれのシステムの勝率を計算した．具体的には，あるシステムAとシステムBを比較するとき，まず各ワーカーが各対話文脈に対して作成した$4$つのシステムの生成発話のランキングから，システムAとシステムBの発話の優劣関係を取り出し，上位のシステムを$+1$点，下位のシステムを$-1$点とした．この点数を$3$人のアノテータで合計し，$0$点の場合は引き分け，$0$点を上回る場合は勝ち，下回る場合は負けとした．以上のようにして，全システムの組合せについて，全$100$個の文脈に対する発話の評価を行うことで，それぞれのシステムの勝率を算出した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table6\begin{table}[b]\input{07table06.tex}%\caption{4システムの\perplexity．}\label{tab:PPL}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験結果及び考察}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{客観評価}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{\perplexity}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{結果}実験に使用した$4$システムの\perplexityを表\ref{tab:PPL}に示す．参照応答を外部情報の選択に用いる\upperNTでは，\nttTOKENに比べて\perplexityが低く，特に\tweetを外部情報として入力した場合に低くなったが，外部情報を入力しない場合の\perplexityは，他の外部情報を入力に用いるシステムと同様に高くなった．さらに，\proposeNTでは，外部情報が入力された場合の\perplexityは\upperNT，\upperNと比べて大幅に高くなった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察}\upperNT，\upperNにおいてニュース記事を入力に使用した場合，\tweetを入力した場合に比べて\perplexityが高くなった理由としては，ニュース記事の文それぞれと参照応答の類似度を計算し閾値によって入力文を定める手法では，適切な外部情報が選択されない事例があることが考えられる．%<1>また，外部情報を入力に用いるような学習を経たシステムにおいて外部情報を入力しなかった場合の\perplexityが高くなった理由として，外部情報を伴わない入力に対するシステムの過学習が挙げられる．学習データセットのうち，外部情報を伴わない入力を持つ事例数は限られている．これらの参照応答を学習時にシステムが覚えてしまい，学習データセットに登場する話題とは異なる話題について話す推論時においても，覚えた発話を生成する確率が高くなってしまうと考えられる%\footnote{例えば，\ref{subsubsec:models-generation}節の発話生成実験において，「おはようございます」，「おはようございます」という対話文脈に対し，\upperNTが外部情報を入力に用いず「物価高が影響してますね」という発話を生成する例が確認された．これは「物価高が影響してますね」という発話が，外部情報を伴わない入力に対する参照応答として学習データセットに収録されているためであると考えられる．}．\proposeNTの\perplexityが高くなった原因は，参照応答の生成のもととなっている外部情報と，\proposeNTが選択し発話生成のために入力する外部情報が異なり，参照応答に類似した発話ではなく，入力する外部情報に基づく内容の発話の生成確率が高くなったためと考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table7\begin{table}[b]\input{07table07.tex}%\caption{4システムの単語の異なり数，単語延べ数，TypeTokenRatio（単語の異なり数／単語延べ数）．}\label{tab:type-token-ratio}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{TypeTokenRatio}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{結果}$4$システムのTypeTokenRatioを表~\ref{tab:type-token-ratio}に示す．Baseline-modelは$0.15$，\upperNTは$0.10$，\upperNは$0.13$，\proposeNTは$0.063$となり，\proposeNTのTypeTokenRatioの値が低くなった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察}\proposeNTのTypeTokenRatioが低い原因は$2$つ考えられる．第一に，システムが同一の話題での発話生成において，同じ外部情報候補を偏って選択した結果，生成される単語の異なり数が少なくなったことが挙げられる．\ref{subsubsec:models-generation}節の実験における評価データ$487$発話の生成において入力された外部情報の異なり数は，\upperNTはニュース記事が$39$，\tweetが$50$，\upperNはニュース記事が$43$であったのに対し，\proposeNTではニュース記事が$8$，\tweetが$28$であった．$487$発話の生成に用いられた外部情報の総数を示した表~\ref{tab:news-tweet-input-num}と比較すると，特に\proposeNTが\tweetを選択した数が$378$であるのに対し，その異なり数が$28$であることから，\tweetの選択が極端に偏ったと解釈できる．このことから，参照応答では，同一話題における対話でも文脈に応じて多様な外部情報が入力に用いられていたのに対し，\proposeNTの外部情報選択は，同一話題での対話では文脈にかかわらず同じ外部情報を選択する傾向にあったといえる．第二に，他のシステムに比べ生成する発話が長い傾向にあることが挙げられる．表\ref{tab:news-tweet-input-num}に示す通り\proposeNTでは\tweetが外部情報として選択される回数が多かったが，\tweetを入力した場合の生成発話は発話が長くなる傾向がある%\footnote{ニュース記事を入力に用いる\upperNT，\upperN，\proposeNTではニュース記事を入力して生成された発話の単語数の平均はそれぞれ$35$単語，$30$単語，$31$単語であるのに対し，\tweetを入力に用いる\upperNT，\proposeNTでは，\tweetを入力して生成された発話の単語数の平均はそれぞれ$43$単語，$37$単語であった．}．そのため，発話された単語数が多くなり，TypeTokenRatioが低くなったと考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{人手による発話の評価}本研究では，対話を盛り上げるために積極的に感想を発話する雑談対話システムの構築を目標としているが，その感想は自然かつ倫理的な問題がないことが望まれる．各システムの生成発話のうち感想が含まれていた数に加え，生成発話の自然性に対する$3$段階評価の平均値，$3$人中$1$人以上のアノテータによって倫理的に問題があるとされた発話の数を表~\ref{tab:evaluator-scores}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table8\begin{table}[b]\vspace{-0.5\Cvs}\input{07table08.tex}%\hangcaption{感想発話数と倫理的に問題がある発話の数および各システムの自然性の評価値の平均．各発話に「感想が含まれる」かは評価者$3$人のうち$2$人以上が感想が含まれるとしたものを数えた．「倫理的な問題あり」かどうかは，評価者$3$人のうち少なくとも$1$人が倫理的に問題があるとしたかどうかで評価しており，該当する発話の数を数えた．}\label{tab:evaluator-scores}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{感想発話の生成に対する積極性}\label{subsubsec:impression-agressiveness}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{結果}発話生成時，外部情報として\tweetを使用した\proposeNTと\upperNTは，\tweetを使用していない\upperNや\nttTOKENと比較して感想を含む発話が生成された頻度が高かった%\footnote{$100$発話×$4$システム,合計$400$発話に対する「感想を発話している・していない」の2値分類におけるアノテータ間の一致率を評価した結果，Fleissのカッパ係数は$0.75$で，「Substantialagreement（実質的な一致）」であった．}．特に，参照応答をもとに\tweetを選択した\upperNTにおける感想発話の生成頻度と，\upperN，\nttTOKENにおける頻度を比較したところ，統計的に有意な差が得られた%\footnote{カイ二乗検定を行った結果，\upperNとの比較において，$\chi^2(1)=4.3，p=0.037$，\nttTOKENとの比較において，$\chi^2(1)=6.3，p=0.012$となった．\proposeNTと\upperN，\nttTOKENとの比較では，それぞれ$\chi^2(1)=0.33，p=0.56$，$\chi^2(1)=1.0，p=0.31$となった．}．評価の具体例を表~\ref{tab:imp-evaluation-example}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table9\begin{table}[t]\input{07table09.tex}%\caption{感想が含まれているかについての評価の具体例．この例ではアノテータ全員の評価が一致した．}\label{tab:imp-evaluation-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察}以上から，人々の感想を適切に選択した上で発話生成に利用することで，より積極的に感想を含む発話が生成できたといえる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{自然性}\label{subsubsec:naturalness}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{結果}対話システムごとの発話の自然性に関する$3$段階評価の平均値は，\nttTOKENは$2.00$，\upperNTは$2.31$，\upperNは$2.27$，\proposeNTは$2.11$であった%\footnote{$100$発話×$4$システム,合計$400$発話に対する3値分類におけるアノテータ間の一致率を評価した結果，Fleissのカッパ係数は$0.41$で，「Moderateagreement（中程度の一致）」となった．}．参照応答をもとに外部情報とするニュース記事や\tweetを定めた\upperNT，\upperNの生成発話は，外部情報を用いずに発話を生成するベースラインの生成発話と比べ自然であった%\footnote{有意水準を0.05として片側t検定を行った結果，自然性の評価における\upperNTの平均値が\nttTOKENに比べ有意に大きいこと($p=1.3\times10^{-3}$)，\upperNの平均値が\nttTOKENに比べ有意に大きいこと($p=3.1\times10^{-3}$)が認められた．}．また，\proposeNTの生成発話の自然性に関する評価値もベースラインと同程度であり%\footnote{有意水準を0.05として両側t検定を行った結果，自然性の評価における\proposeNTと\nttTOKENの平均値の比較において有意差は認められなかった($p=0.30$)．}，ニュース記事や\tweetをシステム自身が選択したシステムにおいてもベースラインの自然性を保つことができた．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察}以上から，人々の感想を外部情報として発話生成に用いても，システム発話の自然性は損なわれなかったといえる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{倫理性}\label{subsubsec:ethical-problem}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{結果}$3$人中$1$人のアノテータによって倫理的に問題があるとされた発話の数は，$100$発話中，\nttTOKENは$3$発話，\upperNTは$3$発話，\upperNは$0$発話，\proposeNTは$2$発話であった%\footnote{2人以上に倫理的に問題があるとされた発話はなく，100発話×4システム,合計400発話に対する2値分類におけるアノテータ間の一致率を評価した結果，Fleissのカッパ係数は$-6.7\times10^{-3}$で，「Pooragreement（乏しい一致）」となった．}．感想を積極的に発話することで，倫理的な問題を含む発話の生成頻度が高くなると考えられるが，感想を生成する際の外部情報にツイートを用いる\proposeNTや\upperNTについては，倫理的に問題がある発話の数はベースラインと同程度に低かった%\footnote{いずれのシステムの比較においても，フィッシャーの正確確率検定における$p$値は$0.48$以上となり，有意差は見られなかった．}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table10\begin{table}[b]\input{07table10.tex}%\caption{倫理的に問題があるとされた発話の例．}\label{tab:ethical-issue-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察}倫理的に問題があるとされた発話の例は表~\ref{tab:ethical-issue-example}の通りである．同表において\upperNTは，\tweetを利用した感想発話を生成しているが，\tweetが元になった部分に対して倫理的に問題があると判断されたと推測される．また，同表の\proposeNTの発話の大部分は\tweetに基づくものだったが，最後の部分に外部知識の記述と異なる内容が生成され，その部分に対して問題を感じられたと推測される．外部情報を用いて発話を生成する場合には，外部情報に基づかない情報の出力は抑制することが倫理的な問題の回避には重要であると考えられる．\ref{subsubsec:impression-agressiveness}節，\ref{subsubsec:naturalness}節の結果も踏まえると，人々の感想をはじめとした外部情報を，参照応答をもとに決定し，入力に使用して発話生成を行う\upperNTは，ベースラインと比較して自然性と倫理性を損なわずに，より高い頻度で感想を含む発話を生成できた．外部情報の決定も自身で行う\proposeNTは自然性や感想発話の生成頻度において\upperNTを下回ったことから，適切な外部情報の選択の自動化には改善の余地があると考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{盛り上がり}\label{subsubsec:result-mori}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{結果}システムの各組み合わせにおける盛り上がりの観点での勝率を表~\ref{tab:win-rate}に示す%\footnote{本実験では，各ワーカが対話文脈ごとに，盛り上がりを基準とした$4$システムの発話のランキングを作成した．そのため，ある対話文脈における，ある$2$人のワーカの$4$システムのランキングのSpearmanの順位相関係数が算出可能である．そこで，$3$人のワーカのうち$2$人を選び，この$2$人のワーカの対話文脈ごとの順位相関係数を$100$個の対話文脈全てについて算出したうえで，これら順位相関係数の平均を$2$人の評価の一致率とした．$2$人のワーカの組み合わせを変更しながらSpearmanの順位相関係数の平均を$3$回算出したところ，$0.57$：「Moderateagreement（中程度の一致）」,$0.29$：「Fairagreement（ある程度の一致）」,$0.19$：「Slightagreement（わずかな一致）」となった．評価例を交えた評価の一致率の分析については付録~\ref{appendix:mori-spearman-consider}を参照されたい．}．ニュース記事と\tweetを入力して発話を生成した\proposeNT，\upperNTは，\tweetを利用しない\upperN，\nttTOKEN両方との比較で勝率が$0.5$を超えた．特に，参照応答をもとに外部情報を選択して入力し，生成した\upperNTは，勝率の平均値が最も高くなった．表~\ref{tab:generated-utterance-example}に，各システムの発話生成例を示す．\proposeNT，\upperNTでは，入力された\tweetを利用した具体性の高い感想の生成が見られた．この対話において，$3$人のアノテータによる盛り上がりに関する評価結果は，高い順に\proposeNT，\upperNT，\upperN，\nttTOKENとなった．この他の発話生成例は付録~\ref{appendix:generate-utterance-example}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table11\begin{table}[b]\input{07table11.tex}%\caption{発話生成システムの盛り上がり評価の勝率．}\label{tab:win-rate}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察(1):感想の有無と盛り上がりの相関}各システムの盛り上がり評価の勝率や発話生成例から，人々の感想を外部情報として適切に選択し，積極的に感想を生成可能な対話システムを実現することで，雑談を盛り上げる発話が生成できると考えられる．感想を含む発話の盛り上がりへの寄与を詳細に確認するため，自然性や感想の発話数で統計的に有意な差が見られ，盛り上がりの比較で大きな差が見られた\nttTOKENと\upperNTを，感想の有無に着目して比較した．具体的には，\upperNTの発話を感想が含まれる発話，含まれない発話にわけ，それらの発話が\nttTOKENによる発話と比べてランキングが上位，同率，下位のものの数を調べた．表~\ref{tab:compare-with-without-impression}に検証結果を示す．表~\ref{tab:compare-with-without-impression}より，生成された発話に感想が含まれる場合に盛り上がりの比較において\nttTOKENを上回る割合が$50/74=0.68$であるのに対し，感想が含まれない場合には，\nttTOKENの生成発話を上回る割合が$12/27=0.44$であることから，感想を含むことで盛り上がりに寄与する発話となりやすいことがわかった．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{考察(2):発話長と盛り上がりの相関}表~\ref{tab:generated-utterance-example}では，\pagebreak発話長の大きい発話が盛り上がりの観点で高く評価されていることを踏まえ，発話長と盛り上がりの相関を調査した．発話に含まれる単語数\footnote{単語分割には形態素解析器MeCabを使用した．}に基づくシステムのランキングと，盛り上がり評価に基づくシステムのランキングの間のSpearmanの順位相関係数を求めたところ，$3$人の評価者の平均が$0.099$と，ほとんど相関は見られなかった．また，発話に含まれる文字数に基づくシステムのランキングと盛り上がりの評価のランキングの相関（Spearmanの順位相関係数）の平均は$0.085$となり，同様に相関は見られなかった．以上から，発話長は対話の盛り上がりに寄与しないと考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table12\begin{table}[t]\input{07table12.tex}%\caption{感想発話生成の例．}\label{tab:generated-utterance-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table13\begin{table}[t]\input{07table13.tex}%\hangcaption{感想が含まれる場合，含まれない場合それぞれにおいて，\upperNT{}の発話が\nttTOKEN{}の発話と比較して盛り上がりの観点で上位，同一順位，下位に順位付けされた回数．括弧内は感想あり・なしそれぞれにおける割合を示す．}\label{tab:compare-with-without-impression}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{リミテーション}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{倫理面と安全面の保証と自動化}本論文では，倫理面や安全性の問題に配慮しながら自然な感想を発話するシステムの実現方法のひとつとして，雑談において扱う話題に対して実際に人によって書かれた適切な意見や感想を外部情報として利用することを試みた．しかし，人の発話の中にも倫理面や安全面に問題がある発話が含まれる可能性はある．そこで，本論文では，政治の話題，訃報に関する話題，特定の個人や組織を非難するようなツイートを人手で除外し，対話システムが発話として生成に利用した場合に倫理的に問題ないツイートのみを残して対話コーパスを構築した．しかし，今後，日々のニュースに関してユーザと雑談する対話システムを構築する上では，使用する話題や人の感想が倫理的に問題がないかどうかを自動で判別し，システムが発話に利用するかどうかを決定する必要がある．例えばニュースの自動選択については，ニュースに対する人のコメントの数やコメントの極性（ポジティブ／ネガティブ）を利用する方法が考えられる．ポジティブなコメントが多いニュースは倫理的に問題がなく，かつ話題性が高いニュースである可能性が高い．また，人の感想の自動選択の方法としては，Xのツイートの「いいね(Like)」の数を利用する方法が考えられる．いいねが多い場合には倫理的に問題がない可能性が高い．このように，インターネット上のニュースやSNSには人によるコメントや評価が自然と集まる仕組みがある．これらを活用することにより，質の高い感想を自動選択できる可能性があると考えられる．これらの実装と評価については今後の課題である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{ニュース以外のドメインへの適用}本論文では，話題としてニュースを利用し，SNSから人の感想を抽出した．しかし，ニュース以外にも，テレビ番組や音楽などに関する感想や，日常の個人の経験に対する感想など，さまざまな感想を活用した対話システムの構築が考えられる．今後，より広いドメインに対応した対話システムを構築するためには，さまざまな感想を利用した場合にも適切な発話生成が可能か検証する必要がある．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
ニューラル対話システムの生成発話が受動的であることが問題視されていることから，人々の感想を使って積極的に感想を発話する対話システムの構築を目指し，WizardofOz法により人々の感想が用いられた「感想付きニュース雑談コーパス」を構築した．本コーパスは，「話題（ニュース）」「感想（ニュースに対するツイート）」「対話」の三つ組みからなるコーパスである．対話中にシステム役の話者が積極的に第三者の感想（ニュースに対するツイート）を使う形で発話しているため，対話文脈に基づき，引用すべき第三者の感想の選択や，選択した感想の発話生成への組み込み方を学習できるコーパスである．本コーパスを用いて学習済の対話システムを\finetuningした結果，従来法に比べて文脈に対して自然な発話が生成でき，かつ感想を含む発話を多く生成できることが分かった．加えて，これらシステムにより生成される発話は，雑談を盛り上げるような発話となっていることが明らかとなった．今後の展望として，本コーパス構築時は人手で行った，対話に使用する人々の感想の候補の絞り込みの自動化や，ニュース以外の話題や\tweet以外の人々の感想を使用することで，より広いドメインに対応した対話システムの構築を目指す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本論文では，児玉貴志氏らの構築した対話収集基盤システムを活用して，感想付きニュース雑談コーパスを構築した．有益なシステムを提供してくださったことに深く感謝する．本論文の執筆にあたり，多くのコメントをいただいた査読者様，担当編集委員の皆様に心より感謝申し上げる．本論文の人手評価にご協力いただいた，東北NLPグループの佐藤魁氏，中野雄斗氏，野末慎之介氏に感謝申し上げる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.7}\begingroup\addtolength{\baselineskip}{-0.5pt}\bibliography{07refs}\endgroup%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\appendix%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table14\begin{table}[p]\input{07table14.tex}%\hangcaption{\proposeNTの外部情報選択時の入出力例．「S:」はシステム役の発話を，「U:」はユーザ役の発話を示す．コーパスでは\textbf{対話文脈}に続く発話としてシステム役が\textbf{参照応答}を発話している．`1'が出力された外部情報の中から，生成尤度の最も高かった網掛けの行の外部情報を生成のための入力として用いる（表~\ref{tab:input-output-example}）．}\label{tab:proposeNT-select-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table15\begin{table}[p]\input{07table15.tex}%\hangcaption{発話生成の例．「S:」はシステム役の発話を，「U:」はユーザ役の発話を示す．コーパスでは\textbf{対話文脈}に続く発話としてシステム役が\textbf{参照応答}を発話している．}\label{tab:input-output-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\vspace{-1\Cvs}
\section{対話システムごとの参照応答と入力の具体例}
\label{appendix:input-example}表\ref{tab:input-output-example}にコーパスにおける対話と発話生成の際の入力を示す．\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table16\begin{table}[b]\input{07table16.tex}%\caption{ばらつきが小さかった事例．}\label{tab:small-spearmanr-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table17\begin{table}[t]\input{07table17.tex}%\caption{ばらつきが大きかった事例．}\label{tab:big_spearmanr_example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{盛り上がり評価における一致率の考察}
\label{appendix:mori-spearman-consider}対話の盛り上がり評価において，$3$人のワーカのうち$2$人のワーカの組み合わせを変更しながらSpearmanの順位相関係数の平均を$3$回算出したところ，$0.57$：「Moderateagreement（中程度の一致）」,$0.29$：「Fairagreement（ある程度の一致）」,$0.19$：「Slightagreement（わずかな一致）」となった．本評価の具体例として，盛り上がりの順位のばらつきが小さかった事例と，ばらつきが大きかった事例を表\ref{tab:small-spearmanr-example}および表\ref{tab:big_spearmanr_example}に示す．前文脈と同じことを繰り返す発話は評価が低く，新たなことを発話する場合には評価が高い傾向があると考えられる．一方で，新しい内容を含む発話同士の評価では，評価者によって評価が分かれる例が見られた．盛り上がりの要件の洗い出しについては今後の課題である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{入力される\tweetと生成発話の具体例}
\label{appendix:generate-utterance-example}\ref{subsubsec:result-mori}節で示した発話生成例以外の例を表~\ref{tab:generated-utterance-example-appendix}に示す．\clearpage%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table18\begin{table}[t]\input{07table18.tex}%\hangcaption{感想発話生成の他の例．\proposeNTの生成発話では，入力の一部を利用して自然に発話をつなげている．この対話において，盛り上がりに関する評価結果は高い順に\proposeNT，\nttTOKEN，\upperNT，\upperNとなった．}\label{tab:generated-utterance-example-appendix}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{成田風香}{2022年東北大学工学部卒業．2024年東北大学大学院情報科学研究科博士前期課程修了．同年，日鉄ソリューションズ東日本株式会社に入社．}\bioauthor{佐藤志貴}{%2019年東北大学工学部卒業．2021年東北大学大学院情報科学研究科博士前期課程修了，2024年博士後期課程修了．同年，リサーチサイエンティストとして株式会社サイバーエージェントに入社．}\bioauthor{徳久良子}{%愛知工業大学情報工学部教授．2001年九工大大学院修士課程修了．同年（株）豊田中研入社．2009年奈良先端科学技術大学院大学博士課程修了．2021年東北大学准教授（クロスアポイントメント）を経て，2024年より現職．感情や対話に関する研究に従事．言語処理学会，人工知能学会，情報処理学会各会員．}\bioauthor{乾健太郎}{MohamedbinZayedUniversityofArtificialIntelligence(UAE)客員教授，東北大学言語AI研究センター教授．1995年東京工業大学大学院情報理工学研究科博士課程修了．同大学助手，九州工業大学助教授，奈良先端科学技術大学院大学助教授を経て，2010年より東北大学教授．2016年より理化学研究所AIPセンター自然言語理解チームリーダー，2023年よりMBZUAI客員教授兼任．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\end{document}