\documentclass[japanese,dvipdfmx]{jnlp_3.7}
\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{amsthm,amssymb,cases}
\usepackage{multirow}
%%%%\usepackage{array}
%%%%\usepackage{otf}
%%%%\usepackage{chngpage}
%%%%\renewcommand\UrlFont{\rmfamily}
%%%%\usepackage[hang,small,bf]{caption}
%%%%\usepackage[subrefformat=parens]{subcaption}
%%%%\captionsetup{compatibility=false}
\usepackage{bbm}
%%%%\usepackage{mathtools}
\usepackage{circledsteps}
%%%%\usepackage{comment}
\usepackage{booktabs}
%%%%\usepackage{color}
%%%%\usepackage{colortbl}
\newcommand{\argmax}{\mathop{\rm arg~max}\limits}
%%%%\newcommand{\class}[1]{\textsc{#1}\xspace}
%%%%\newcommand{\method}[1]{\textsf{#1}\xspace}
%%%%\newcommand{\figref}[2][]{Figure#1~\ref{#2}\xspace}
%%%%\newcommand{\tabref}[2][]{Table#1~\ref{#2}\xspace}
%%%%\newcommand{\secref}[2][]{Section#1~\ref{#2}\xspace}
%%%%\newcommand{\eqnref}[2][]{Equation#1~\ref{#2}\xspace}
%%%%\newcommand{\bhline}[1]{\noalign{\hrule height #1}}
%%%%\newcommand{\ctext}[1]{\raise0.2ex\hbox{\textcircled{\scriptsize{#1}}}}
%\def\ck#1{\textcolor{red}{#1}}
%%%%\def\rev#1{\textcolor{blue}{#1}}
\def\rev#1{#1} %色を消す時にコメントアウトを外す
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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


\received{2023}{9}{29}
\revised{2024}{1}{15}
\accepted{2024}{3}{1}

\setcounter{page}{504}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{近傍事例を用いた対話における感情認識}
\jauthor{石渡　太智\affiref{Author_1}\affiref{Author_2} \and 後藤　　淳\affiref{Author_1} \and 山田　寛章\affiref{Author_2} \and 徳永　健伸\affiref{Author_2}}
\jabstract{ソーシャルメディアでの感情分析や感情的かつ共感的な対話システムの構築を目的として，対話における発話の感情認識 ERC: Emotion Recognition in Conversations が注目を集めている．ERCでは，似た内容を示す発話でも一連の発話の内容（文脈）に応じて異なる感情を示すことが知られている．文脈を把握する代表的な手法として，一連の発話を連結し識別モデルに入力する手法がある．この従来手法は，識別対象の発話とその先行文脈（対話）を入力し，識別モデル単体で対象の発話の感情ラベルを予測する特徴を持つ．本研究は，モデル外部のデータベースを活用して従来の識別モデルを補強する方法を提案する．具体的には，識別対象の発話と，意味的に近い発話を訓練セットから検索し，検索した発話（近傍事例）に付与された感情ラベルを基に確率分布を作成して，従来の識別モデルの確率分布と重み付き線形和によって組み合わせる．さらに本手法は，定数による重み付き線形和だけでなく，識別対象の発話ごとに動的に重み係数を変更する方法を提案する．評価実験において，ERCにおける3つのベンチマークデータで，動的に重み係数を変更する提案手法が，従来手法を上回る最高水準の認識性能を示した．
\renewcommand{\thefootnote}{}
\footnote[0]{本論文の一部は言語処理学会第 29 回年次大会 (石渡 他 2023) で報告したものである．}
\renewcommand{\thefootnote}{\arabic{footnote}}
}
\jkeywords{対話, 感情認識, 近傍事例, 動的な重み係数}

\etitle{Example-based Emotion Recognition in Conversations}
\eauthor{Taichi Ishiwatari\affiref{Author_1}\affiref{Author_2} \and Jun Goto\affiref{Author_1} \and Hiroaki Yamada\affiref{Author_2} \and Takenobu Tokunaga\affiref{Author_2} } 
\eabstract{Interest in emotion recognition in conversations (ERC) has been increasing in various fields, because it can be used to analyze conversations conducted via social media and build emotional and empathetic dialogue systems. In ERC, some utterances with the same surface can show different emotions depending on the conversational context. A typical solution to this issue is to encode contextual information by concatenating a series of utterances and inputting them into a classifier model. In this paper, we propose a method to incorporate an external database to the classifier model. Given a target utterance, we search the training dataset for utterances that are semantically similar to the target. The retrieved utterances are used to calculate probability distribution on emotion labels. The distribution is combined with another probability distribution from the classifier model by using a weighted linear summation. Furthermore, in combining the distributions, we propose dynamic weight coefficients depending on target utterances instead of a constant coefficient. Our experimental results on three ERC datasets show that our method performs best over the baselines.
}
\ekeywords{Conversation, Emotion Recognition, Example-based Method, Dynamic Weight Coefficients}

\headauthor{石渡，後藤，山田，徳永}
\headtitle{近傍事例を用いた対話における感情認識}

\affilabel{Author_1}{NHK放送技術研究所}{NHK Science and Technology Research Laboratories}
\affilabel{Author_2}{東京工業大学情報理工学院}{Tokyo Institute of Technology}



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


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

ソーシャルメディアでの感情分析 \cite{poria2019emotion}や感情的かつ共感的な対話システムの構築 \cite{majumder2020mime}を目的として
対話における発話の感情認識 (ERC: Emotion Recognition in Conversations) が注目を集めている．
先行研究として，再帰型ニューラルネットワークを用いて発話の内容を利用する手法 \cite{abdul-mageed-ungar-2017-emonet}や，
事前学習済みBERT (Bidirectional Encoder Representations from Transformers)モデル \cite{devlin2018bert}を用いて発話の内容を利用する手法 \cite{luo2019emotionx}が提案されている．
ERCでは，発話の内容だけでなく発話間の関係が話者の感情に大きな影響を与えることが知られているため \cite{poria2019emotion}，
近年では，発話間の関係も考慮する手法が提案されている \cite{ghosal2019dialoguegcn,shen2021directed}．
特に，Shenらの手法 \cite{shen2021directed}は，各発話の内容だけでなく，
自身の発話からの影響と他者の発話からの影響を考慮する手法を提案し，高い認識性能を示した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[b]
\input{08table01.tex}%
\caption{負の感情を示す発話``Yes''の例}
\label{tab:dataset_neg}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

しかしながら，これらの従来手法は，先行文脈を考慮していないという課題がある．
たとえば，表~\ref{tab:dataset_neg}の$7$番目の発話``Yes''は，それまでの発話の内容（文脈）から負の感情を示すが，
表~\ref{tab:dataset_pos}の$5$番目の発話``Yes''は正の感情を示す．
このように，同じ発話であっても，先行文脈に応じて異なる感情を示すことがある．
従来手法の中で，発話の内容を利用する手法 \cite{abdul-mageed-ungar-2017-emonet,luo2019emotionx}は，
1つの発話を入力しその発話の感情ラベルを識別するため，文脈を把握することは困難である．
また，発話間の関係を考慮する従来手法 \cite{ghosal2019dialoguegcn,shen2021directed}は，
特定の過去の発話と現在の発話の間の相互作用を考慮することは可能だが，文脈を把握することは難しい．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[t]
\input{08table02.tex}%
\caption{正の感情を示す発話``Yes''の例}
\label{tab:dataset_pos}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

対話における文脈を把握する代表的な方法として，
連続した複数の発話を連結し，事前学習済みBERTモデルに入力する方法 \cite{yang2019emotionx}がある．
また，Huらの手法 \cite{hu-etal-2021-dialoguecrn}は，
LSTM (Long Short-Term Memory) \cite{hochreiter1997long}を用いて文脈を表現する特徴量ベクトルを作成するため，
文脈を考慮した識別が可能である．
これらの従来手法は，
\rev{識別対象の発話とその先行文脈（対話）を入力し，
識別モデル単体で対象の発話の感情ラベルを予測する特徴を持つ．}

本研究は，\rev{モデル外部のデータベースを活用して，従来の識別モデルを補強}
する方法を提案する．
具体的には，まず識別対象の発話とその先行文脈をクエリーとして，意味的に近い発話を訓練データセットからk近傍法を用いて検索する．
検索した発話（近傍事例）に付与された感情ラベルと，識別対象の発話との距離を基に感情ラベルの確率分布を作成し，
従来の識別モデルの確率分布と重み付き線形和によって組み合わせる．
提案手法を用いることで，識別対象の発話とその先行文脈だけでなく，
意味的に近い過去の発話\rev{の文脈と，その発話}に付与された感情ラベルも利用することができる．

さらに本論文は，定数による重み付き線形和で2つの確率分布を組み合わせるだけでなく，
識別対象の発話ごとに動的に重み係数を変更する方法を提案する．
定数による重み係数は，常に一定の割合で近傍事例による確率分布を利用するため，
近傍事例に適切な事例が存在するか否かに応じて重み係数を調整することができない．
そこで本論文は，識別対象の発話に応じて，動的に重み係数を変更する方法を提案する．
具体的には，従来の識別モデルから得られる識別対象発話の特徴量と近傍事例の特徴量を入力し，
重み係数を導出するニューラルネットワークを構築する．
重み係数のネットワークを学習するために，
従来の識別モデルによる確率分布と近傍事例による確率分布のそれぞれが示す感情ラベルが，
教師ラベルと一致する場合に重み係数を高め，そうでない場合に重み係数を低くする損失関数（係数損失）を導入する．
評価実験において，ERCにおける3つのベンチマークデータセットで，
動的に重み係数を変更する提案手法が，従来手法を上回る最高水準の認識性能を示した．
加えて，重み係数の頻度分布を検証する実験を通して，
適切な重み係数を学習するためには，係数損失が必要であることを確認した．

本論文の貢献を以下に示す．
(1) 対話の感情認識タスクに，近傍事例を活用する手法を初めて適用した．
(2) 識別対象の発話に応じて動的に変わる重み係数を用いて，
従来の識別モデルによる確率分布と近傍事例による確率分布を組み合わせる手法を提案した．
(3) 従来手法との比較実験を通して，重み係数を動的に変更する提案手法の有効性を確認した．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{対話における発話の感情認識 (ERC)}  

ERCの手法は，発話の内容に注目する手法と発話間の関係に注目する手法に大きく分けられる．
発話の内容を利用する手法として，Luoらの手法 \cite{luo2019emotionx}がある．
Luoらの手法は事前学習済みBERTモデルを用いて，トークンごとの特徴量を取得し，
$[\mathrm{CLS}]$トークンの特徴量をフィードフォワードネットワーク (FFN: Feed Forward Networks) に入力して感情ラベルの確率値を算出する．
Yangらの手法 \cite{yang2019emotionx}は，複数の発話の間に$[\mathrm{SEP}]$トークンを挿入し連結したものを事前学習済みBERTモデルに入力する．
複数の発話を同時に入力することで，発話の系列すなわち文脈を考慮する．
また，Huらの手法 \cite{hu-etal-2021-dialoguecrn}は，LSTMを用いて対話の状況と話者の特徴に応じた文脈を利用する．

発話間の関係を利用する方法として，グラフニューラルネットワーク (GNN: Graph Neural Networks)が注目を集めている．
対話における各発話をノード，発話どうしの関係をエッジとしてグラフを構築し，
関係グラフ畳み込みネットワーク (RGCN: Relational Graph Convolutional Networks) \cite{schlichtkrull2018modeling}やグラフアテンションネットワーク (GAT: Graph Attention Networks) \cite{velivckovic2017graph}を利用する．
RGCNはノード間の関係の種類ごとにグラフを構築するため，発話間の関係の種類を利用できる．
またGATは，ノード間の類似度を計算し，関連性のあるノードに注意を向ける．
Ghosalらの手法 \cite{ghosal2019dialoguegcn}は，
話者自身の感情の推移（自己依存）と他者からの影響（相互依存）などの発話間の関係を利用するためにRGCNとGATを活用した．
Shenらの手法 \cite{shen2021directed}は，
話者自身の離れた発話からの影響と，他者の近い発話からの影響を考慮するために，
GATを拡張した有向非巡回グラフニューラルネットワークを提案し，高い認識性能を示した．

本研究は，対話の状況に応じた文脈を考慮するHuらの手法 \cite{hu-etal-2021-dialoguecrn}と，
発話間の影響を考慮するShenらの手法 \cite{shen2021directed}を，近傍事例を組み合わせる対象の識別モデルとして利用する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{近傍事例を活用する手法}

提案手法に最も関連のある手法として，機械翻訳タスクで近傍事例を活用する手法 \cite{khandelwal2021nearest}がある．
この手法はまず，訓練データ（対訳文）の原言語文を事前学習済みニューラル機械翻訳 (NMT: Neural Machine Translation)モデルに入力し，
翻訳の各時刻すなわち各単語の位置における中間表現を取得する．
NMTモデルのデコーダの最終層から得られる特徴量ベクトルを中間表現として用いる．
続いて推論時に，評価データの原言語文を事前学習済みNMTモデルに入力し，
翻訳中の時刻$\tau$の単語の位置における中間表現を取得する．
訓練データと同様に，NMTモデルのデコーダから得られる特徴量を中間表現として用いる．
取得した時刻$\tau$の単語の位置における中間表現と，
訓練データから事前に計算した各中間表現との距離を計算し，距離の近い事例（近傍事例）を検索する．
検索した近傍事例の距離と，事例が示す単語の出現頻度に基づいた単語予測分布を作成し，
時刻$\tau$におけるNMTモデルの単語予測分布と重み付き線形和によって組み合わせる．
追加の学習をせずに，近傍事例を従来のNMTモデルに組み合わせることで，翻訳性能が大幅に改善することが報告されている \cite{khandelwal2021nearest}．

また，近傍事例を活用する手法は，機械翻訳 \cite{khandelwal2021nearest,zheng2021adaptive,jiang2021learning,wang2022efficient}だけでなく，
固有表現抽出 \cite{wang2022k}，文法誤り訂正 \cite{kaneko-etal-2022-interpretability}などの幅広い問題設定に応用され，有効性が示されている．
しかしながら，対話における感情認識に，近傍事例を応用する手法は存在しない．
そこで本研究は，対話の感情認識タスクに近傍事例を初めて応用する．

近傍事例の距離や教師ラベルを利用するだけでなく，近傍事例の特徴量を作成し活用する手法も注目を集めている．
Heらの手法 \cite{he2021fast}は，機械翻訳タスクにおいて，
近傍事例に付与された参照文から単語埋め込みと位置埋め込みを用いて特徴量を作成し，NMTモデルのデコーダに追加で入力する．
またBorgeaudらの手法 \cite{borgeaud2022improving}は，入力テキストをある程度の長さ（チャンク）で分割し，
分割したチャンクごとに近傍事例を検索する．
検索した近傍事例の文章からトランスフォーマー (Transformer) \cite{NIPS2017_3f5ee243}を用いてトークンごとの特徴量を作成し，
交差注意 (CA: Cross Attention)を用いて言語モデルに反映する．
これらの従来手法は，近傍事例の特徴量を利用する点で提案手法と関連するが，
注意機構を用いて言語モデルに反映させる点で提案手法と異なる．
提案手法は，近傍事例の特徴量を入力し，従来の識別モデルの確率分布と近傍事例の確率分布を組み合わせるための重み係数を導出する．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[b]
\begin{center}
\includegraphics{31-2ia8f1.pdf}
\end{center}
\hangcaption{提案手法の\rev{推論の流れ}．提案手法は，\rev{ベースエンコーダ}による確率分布作成（\rev{\ref{sec:base_prob}節}），近傍事例の検索（\rev{\ref{sec:ret}節}），近傍事例による確率分布作成（\rev{\ref{sec:knn}節}），確率分布の組み合わせ（\rev{\ref{sec:weight}節}）で構成される．}
\label{fig:overview}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[b]
\begin{center}
\includegraphics{31-2ia8f2.pdf}
\end{center}
\caption{\rev{ベースエンコーダとクエリーエンコーダの構成}}
\label{fig:base_query}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


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

はじめにERCの問題設定を示す．
ERCでは，対話における各発話$(x_1,x_2,\cdots,x_N)$の
感情ラベル$(y_1,y_2,\cdots,y_N), \ y_n \in \mathbb{S}$を認識する．
$N$は1つの対話に現れる発話の数を示す．
$\mathbb{S}$は感情ラベルの集合を示し，
感情ラベルのラベル数を$C$とする．

\rev{提案手法の推論の流れ}を図~\ref{fig:overview}に示す．
はじめに識別対象の発話$x_{n}$とその先行文脈$x_{1:n-1}$を従来の識別モデル（\rev{ベースエンコーダ}）に入力し，感情ラベルの確率分布$p^0$を作成する（\rev{\ref{sec:base_prob}節}）．
次に，識別対象の発話と先行文脈による対話を入力し，
クエリーエンコーダを用いて得られる特徴量ベクトルをクエリーとして，
\rev{あらかじめ訓練セットを用いて作成したデータベース（\ref{sec:db}節）}から意味的に近い事例を検索する（\rev{\ref{sec:ret}節}）．
\rev{ベースエンコーダとクエリーエンコーダの構成を図~\ref{fig:base_query}に示す．}
検索した近傍事例に付与された感情ラベルと，
識別対象の発話との距離に基づいて確率分布$p^K$を作成する（\rev{\ref{sec:knn}節}）．
さらに，\rev{ベースエンコーダ}から得られる識別対象発話の特徴量ベクトルと近傍事例の特徴量ベクトルを自己注意層 (SA: Self Attention) とFFNに入力し，
重み係数$\lambda_n^0, \lambda_n^K$を取得する．
重み係数$\lambda_n^0, \lambda_n^K$を用いて，
\rev{ベースエンコーダ}の確率分布$p^0$と近傍事例の確率分布$p^K$の重み付き線形和から確率分布$p$を得る（\rev{\ref{sec:weight}節}）．
最後に，最も確率の高い感情ラベル$y_n$を出力する．

\rev{
提案手法は，4つのステップを通して，パラメータを段階的に学習し，感情ラベルの推論を行う．
まずステップ1で，図~\ref{fig:base_query}に示すベースエンコーダとクエリーエンコーダのパラメータを学習する．
ベースエンコーダとクエリーエンコーダのそれぞれが出力する確率分布から得られる感情ラベルと教師ラベルを用いて，
交差エントロピー (CE: Cross Entropy)損失を計算する（\ref{sec:base}節, \ref{sec:query}節）．
次にステップ2では，ステップ1で学習したクエリーエンコーダを利用し，近傍事例検索用のデータベースを作成する（\ref{sec:db}節）．
ステップ3では，ステップ1で学習したベースエンコーダとクエリーエンコーダのパラメータを固定し，
図~\ref{fig:overview}の重み係数$\lambda_n^0, \lambda_n^K$を導出するネットワークのパラメータを学習する（\ref{sec:learnedcoef}項）．
最後に，学習した全てのパラメータを固定し，図~\ref{fig:overview}の感情ラベルの推論を行う．
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ ベースエンコーダの学習 } \label{sec:base}

識別対象の発話$x_{n}$とその先行文脈$x_{1:n-1}$を入力し，
$n$番目の発話における感情ラベル$y_n$を導く確率分布を\rev{用いて}，
従来の識別モデル（\rev{ベースエンコーダ}）を\rev{学習}する．
\rev{
図~\ref{fig:base_query}に示すように，識別対象の発話と先行文脈による対話$x_{1:n}$を入力し，
対象の$n$番目の発話の特徴量ベクトル$\mathbf{g}_n^0$を取得する．
得られた特徴量ベクトル$\mathbf{g}_n^0$から$2$層のFFNとソフトマックス (Softmax) 関数を用いて，
確率分布$p^0(y_n|x_{1:n})$を作成する．
}
\rev{ベースエンコーダ}には，対話の状況や話者の特徴に応じた文脈を考慮するDialogueCRN \cite{hu-etal-2021-dialoguecrn}，
話者自身と他者の発話の影響を考慮するDAG-ERC \cite{shen2021directed}のいずれかを用いる．

DialogueCRNは，対話における各発話の内容を示す特徴量ベクトルを作成し，
LSTMを用いて対話の状況と話者の特徴に応じた文脈を利用する．
状況に応じた文脈を表すベクトルと，話者の特徴に応じた文脈を表す特徴量ベクトルを結合し，FFNとSoftmax関数を用いて感情ラベルの確率分布を作成する．

DAG-ERCは，RoBERTa-largeモデル \cite{liu2019roberta}を用いて対話における発話の内容を表す特徴量ベクトルを作成する．
さらに，GATを拡張した有向非巡回グラフニューラルネットワークを用いて自身の発話からの影響と他者の発話からの影響を考慮する特徴量ベクトルを取得する．
発話の内容を表す特徴量ベクトルと発話間の影響を表す特徴量ベクトルを結合し，FFNとSoftmax関数を用いて感情ラベルの確率分布を作成する．
ただし，DAG-ERCモデルは，利用する先行発話の数がDialogueCRNと異なり，
$n$番目の発話の話者が直前に発した$s (s \leq n)$番目の発話$x_{s}$から$n$番目までの対話$x_{s:n}$を利用する．

\rev{ベースエンコーダのパラメータは，確率分布$p^0$が出力する感情ラベルと教師ラベルとの交差エントロピー損失を用いて学習する（ステップ1）．
ステップ2以降では，ステップ1で学習したベースエンコーダのパラメータを固定する．
ベースエンコーダから得られる特徴量ベクトル$\mathbf{g}_n^0$を図~\ref{fig:overview}の重み係数の導出に利用し（\ref{sec:learnedcoef}項），
確率分布$p^0(y_n|x_{1:n})$を図~\ref{fig:overview}の従来の識別モデルによる確率分布として利用する（\ref{sec:base_prob}節）．
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{クエリーエンコーダの学習 } \label{sec:query}

\rev{次に識別対象の発話$x_{n}$とその先行文脈$x_{1:n-1}$を入力し，
\ref{sec:base}節と同様に$n$番目の発話における感情ラベル$y_n$を導く確率分布を用いて，クエリーエンコーダを学習する．}
まず識別対象の発話とその発話から総トークン数が$128$を越えない範囲で先行文脈を遡ったトークン列を事前学習済RoBERTa\footnote{\url{https://huggingface.co/roberta-large}}に入力し，
\rev{図~\ref{fig:base_query}に示す}$[\mathrm{CLS}]$トークンの位置の特徴量ベクトル\rev{$\mathbf{r}_n$}を出力する．
ただし，Yangらの手法 \cite{yang2019emotionx}を参考に，発話間には$[\mathrm{SEP}]$トークンを挿入する.
\rev{得られた特徴量ベクトル$\mathbf{r}_n$から$2$層のFFNとSoftmax関数を用いて，確率分布$q(y_n|x_{1:n})$を作成する．}

\rev{クエリーエンコーダのパラメータは，確率分布$q$が出力する感情ラベルと教師ラベルとの交差エントロピー損失を用いて学習する（ステップ1）．
ベースエンコーダと同様に，ステップ2以降では，ステップ1で学習したクエリーエンコーダのパラメータを固定する．
クエリーエンコーダから得られる特徴量ベクトル$\mathbf{r}_n$を，
データベースの作成（\ref{sec:db}節）と近傍事例の検索（\ref{sec:ret}節）に利用する．}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{データベース作成 } \label{sec:db}

\rev{訓練データセットの対話の内，識別対象の発話$x_{n}$とその先行文脈$x_{1:n-1}$を入力し，
\ref{sec:query}節で学習済みのクエリーエンコーダを用いて特徴量ベクトル$\mathbf{r}_n$を作成する．
対象の発話と先行文脈を入力し得られる}特徴量ベクトルをキー，対象の発話に付与された感情ラベルを値として，
訓練データセットの全ての対話の全発話から得られるキーと値の組みをデータベースに登録する\rev{（ステップ2）．}
なお，本論文ではクエリーエンコーダとして，RoBERTaモデルを用いるが，
対象の発話とその先行文脈を入力し対象の発話の特徴量ベクトルを出力する他のモデルも利用可能である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ベースエンコーダによる確率分布 } \label{sec:base_prob}

\rev{図~\ref{fig:overview}に示す}識別対象の発話$x_{n}$とその先行文脈$x_{1:n-1}$を入力し，
$n$番目の発話における感情ラベル$y_n$を導く確率分布$p^0(y_n|x_{1:n})$を，
従来の識別モデル（\rev{ベースエンコーダ}）を用いて作成する．
\rev{ベースエンコーダ}は，\rev{\ref{sec:base}節で学習済みのDialogueCRN \cite{hu-etal-2021-dialoguecrn}とDAG-ERC \cite{shen2021directed}のいずれかを用いる．}
なお，本論文では\rev{ベースエンコーダ}として，
文脈を考慮し高い認識性能を獲得するDialogueCRNと，
発話間の関係を考慮し高い認識性能を獲得するDAG-ERCを用いるが，
ERCタスクで学習した他のモデルも利用可能である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{近傍事例の検索 } \label{sec:ret}

\ref{sec:db}\rev{節}で作成したデータベースを用いて，近傍事例を検索する方法について述べる．
識別対象の発話$x_{n}$とその先行文脈$x_{1:n-1}$を，\rev{\ref{sec:query}節で学習済みの}クエリーエンコーダに入力し，
特徴量ベクトル\rev{$\mathbf{r}_n$}を取得する．
次に，取得した特徴量ベクトル\rev{$\mathbf{r}_n$}を\rev{検索}クエリーとして，
\ref{sec:db}\rev{節}に示すデータベースに登録された特徴量ベクトルとの距離を計算し，
距離の近い上位$K$個の近傍事例を取得する．
取得した各近傍事例は，特徴量ベクトル，感情ラベル，クエリーとの距離によって構成され，
その集合を$\mathbb{K}_n=\{(\mathbf{h}_n^i,v_n^i,d(\mathbf{h}_n^i,\rev{\mathbf{r}_n})), i \in \{1,2,\cdots,K\}\}$とする．
\rev{$\mathbf{h}_n^i$は検索クエリー$\mathbf{r}_n$を用いて\ref{sec:db}節のデータベースから取り出した近傍事例の特徴量ベクトルを示し，
$v_n^i$は特徴量ベクトル$\mathbf{h}_n^i$とデータベースの組みを形成する感情ラベルを示す．}
Khandelwalらの手法 \cite{khandelwal2021nearest}を参考に，距離尺度$d(\cdot,\cdot)$としてL2ノルムを用いる．
\rev{
本論文では，訓練データセットの全ての対話を用いて検索用のデータベースを構築するが，
一般的にデータベースのサイズが訓練セットよりも小さい場合，対象の発話に近い事例が少なくなり，ノイズとなる事例が検索される可能性がある．
一方でサイズが訓練セットよりも大きい場合，事例の探索に時間がかかる．
}

さらに本稿は，Jiangらの手法 \cite{jiang2021learning}を参考に，
訓練時と評価時で検索する事例の数$K$を変更する．
\ref{sec:db}\rev{節}で示すように，データベースは訓練データから構築するため，
訓練時すなわち訓練データの発話をクエリーとする場合，完全に一致する発話をデータベースから検索する．
一方で評価時すなわち評価データの発話をクエリーとする場合，類似した発話がデータベースに存在しない可能性がある．
このような訓練時と評価時の違いは過学習を引き起こすことが知られているため\cite{jiang2021learning}，
本稿はJiangらの手法 \cite{jiang2021learning}と同様に，
訓練時は上位$K＋1$個の事例を検索し，最も類似する事例を削除した残りの$K$個の事例を利用する．
評価時は事例の削除を行わず，上位$K$個の事例を利用する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{近傍事例による確率分布 } \label{sec:knn}

\ref{sec:ret}\rev{節}で検索した近傍事例を用いて確率分布を作成する．
検索した$K$個の近傍事例の，
感情ラベル$v_n^i$とクエリーとの距離$d(\mathbf{h}_n^i,\rev{\mathbf{r}_n})$を用いる．
Khandelwalらの手法 \cite{khandelwal2021nearest}を参考に，感情ラベル$v_n^i$と距離$d(\mathbf{h}_n^i,\rev{\mathbf{r}_n})$を用いて，
$n$番目の発話の確率分布を算出する式を式~(\ref{eq:example}) に示す．
\begin{equation} \label{eq:example}
        p^K(y_n|x_{1:n}) \propto \sum_{(\mathbf{h}_n^i,v_n^i) \in \mathbb{K}_n} \mathbbm{1}_{y_n=v_n^i} \mathrm{exp} \bigg( \frac{-d(\mathbf{h}_n^i,\mathbf{r}_n)}{T} \bigg)
\end{equation}
$\mathbbm{1}_{y_n=v_n^i}$は，近傍事例の感情ラベル$v_n^i$が感情ラベル$y_n$と同一である場合に1を返す指示関数である．
$T$は距離の近い事例のラベルを重要視するか，頻度が多いラベルを重要視するかのバランスをとるハイパーパラメータである．
$T$が小さい場合，距離の近い事例に付与された感情ラベルに重きが置かれ，そのラベルの確率が高い分布が作成される．
一方Tが大きい場合，近傍事例に占める感情ラベルの出現頻度に重きが置かれ，出現頻度の高いラベルの確率が高い分布が作成される．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{確率分布の組み合わせ } \label{sec:weight}

\ref{sec:base_prob}\rev{節}で作成した\rev{ベースエンコーダ}による確率分布$p^0$と，
\ref{sec:knn}\rev{節}で作成した近傍事例による確率分布$p^K$を組み合わせる．
本論文は，定数の重み係数を導入し線形結合を行う方法と，動的に変化する重み係数を導入し線形結合を行う方法の2通りを示す．
定数による重み係数は，常に一定の割合で近傍事例による確率分布を利用するため，
近傍事例に適切な事例が存在するか否かに応じて重み係数を調整することができない．
そこで，識別対象の発話に応じて動的に重み係数を変更する方法を示す．
最後に，重み付き線形和によって得られる確率分布の中で，最も確率の高い感情ラベルを識別結果として出力する．
\rev{
なお，提案手法はベースエンコーダ（DAG-ERCまたはDialogueCRN）から得られる確率分布$p^0$と，
クエリーエンコーダ (Finetuned-RoBERTa) を用いて検索した近傍事例による確率分布$p^K$を組み合わせるため，
異なるモデルの出力を組み合わせるアンサンブルの一種である．
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{ 静的な重み係数 } \label{sec:fixedcoef}

重み係数$\lambda$を用いて線形結合を行い，
\rev{ベースエンコーダ}による確率分布$p^0$と近傍事例による確率分布$p^K$を式~(\ref{eq:addition_s})のように組み合わせる．
\begin{equation} \label{eq:addition_s}
        p(y_n|x_{1:n}) = (1-\lambda) \ p^0(y_n|x_{1:n}) + \lambda \ p^K(y_n|x_{1:n})
\end{equation}
重み係数$\lambda$は定数で与えるハイパーパラメータである．
常に一定の割合で2つの確率分布を組み合わせるため，
本手法を提案手法（静的な重み係数）とする．

式~(\ref{eq:addition_s})によって得られた確率分布の中で，
最も確率の高い感情ラベルを，式~(\ref{eq:predict_s})に示すように識別結果として出力する．
\begin{equation} \label{eq:predict_s}
        \hat{y}_n = \argmax_{c \in \mathbb{S}} \left(p\left[c\right]\right)
\end{equation}
ただし，$\mathbb{S}$は感情ラベルの集合，$p$は式~(\ref{eq:addition_s})で組み合わせた確率分布$p(y_n|x_{1:n})$を示す．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{ 動的な重み係数 } \label{sec:learnedcoef}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{ 重み係数を導出するネットワークの構造 } \label{sec:coefnetwork}

\rev{ベースエンコーダ}による確率分布$p^0$が適切な場合は\rev{ベースエンコーダ}側の重み係数を高く，
近傍事例による確率分布$p^K$が適切な場合は近傍事例側の重み係数を高くすることが望まれる．
どちらの確率分布が適切かは，\rev{ベースエンコーダ}から得られる識別対象発話の特徴量ベクトルと近傍事例の特徴量ベクトルの性質によって決まると考え，
\rev{ベースエンコーダ}から得られる特徴量ベクトル$\rev{\mathbf{g}_n^0}$と，近傍事例の特徴量ベクトル$\mathbf{h}_n^i, i \in \{1,2,\cdots,K\}$を用いて重み係数を導出する．

次に，ラベル埋め込み表現を入力に加算する．
\ref{sec:ret}\rev{節}に示すように，近傍事例は訓練データセットから検索するため，感情ラベルが付与されている．
近傍事例に付与された感情ラベルは，重み係数を決める重要な情報と考え，
感情ラベルの埋め込み表現を近傍事例の特徴量ベクトル$\mathbf{h}_n^i, i \in \{1,2,\cdots,K\}$に加算する．
ラベル埋め込みの種類は，感情ラベルのラベル数$C$である．
一方で，\rev{ベースエンコーダ}から得られる特徴量ベクトル$\rev{\mathbf{g}_n^0}$は，識別対象の発話を入力し作成するため，感情ラベルが与えられない．
そこで，$C$種類の感情ラベルとは異なるダミーラベルの埋め込み表現を用意し加算する．
ラベル埋め込みを加算した\rev{ベースエンコーダ}から得られる特徴量ベクトル$\rev{\mathbf{g}_n^0}$と，近傍事例の特徴量ベクトル$\mathbf{h}_n^i, i \in \{1,2,\cdots,K\}$を連結し，
行列$H_n=[\rev{\mathbf{g}_n^0},\mathbf{h}_n^1,\cdots,\mathbf{h}_n^K]^T \in \mathbb{R}^{(K+1) \times d}$とする．
$d$は$\mathbf{h}_n^i$の特徴量次元を示す．
\rev{
なお，本手法はベースエンコーダから得られる特徴量ベクトル$\mathbf{g}_n^0$と，
近傍事例の特徴量ベクトル$\mathbf{h}_n^i$を連結するため，
両者の次元数は同一である必要がある．
}

次に，自己注意層とFFN層を用いて，スカラー値$\lambda_n^i, i \in \{0,1,\cdots,K\}$を取得する．
行列$H_n$を入力し，自己注意層を用いて，式~(\ref{eq:sa})のとおり特徴量ベクトル間の関連性$H_n'$を計算する．
\begin{equation} \label{eq:sa}
        H_n^{\prime} = \mathrm{softmax} \left( \frac{H_n W^q \left( H_n W^k\right)^T}{\sqrt{d}} \right) H_n W^v
\end{equation}
$W^q,W^k,W^v$は自己注意層のパラメータ，$\frac{1}{\sqrt{d}}$はスケーリングのパラメータである．
また，近傍事例は距離の近い事例から順に取得する．
そのため，距離の遠い事例から近い事例へ，影響が及ぶことを防ぐためのマスクを自己注意層に適用する．
このマスクは，$i \ (0\leq i \leq K)$番目の特徴量は，
$i$以下の$j \ (j \in \{0,1,\cdots,i\})$番目の特徴量にのみ依存することを示す．

得られた行列$H_n^{\prime}\rev{=[{\mathbf{g}_n^0}^{\prime},{\mathbf{h}_n^1}^{\prime},\cdots,{\mathbf{h}_n^K}^{\prime}]^T}$の内，
$i$番目の特徴量ベクトルを，ReLU (Rectified Linear Unit) 活性化関数を間に挿入した2層のFFNに入力し，式~(\ref{eq:ffn})によってスカラー値$\lambda_n^i$を取得する．
\begin{equation} \label{eq:ffn}
        \rev{
        \lambda_n^i = 
        \begin{cases}
        \mathrm{ReLU}({\mathbf{g}_n^i}^{\prime} W_1+\mathbf{b}_1)W_2+b_2 & \text{$i = 0$のとき}  \\
        \mathrm{ReLU}({\mathbf{h}_n^i}^{\prime} W_1+\mathbf{b}_1)W_2+b_2 & \text{$0 < i \leq K$のとき}
        \end{cases}
        }
\end{equation}
$W_1, W_2, \mathbf{b}_1, b_2$はFFNのパラメータである．
スカラー値$\lambda_n^i, i \in \{0,1,\cdots,K\}$の内，
\rev{ベースエンコーダ}の確率分布$p^0$と近傍事例の確率分布$p^K$に対応する$\lambda_n^0,\lambda_n^K$を取り出し，
Softmax関数により正規化して重み係数を得る．
最後に，正規化した重み係数$\lambda_n^0,\lambda_n^K$を用いて線形結合を行い，
\rev{ベースエンコーダ}による確率分布$p^0$と近傍事例による確率分布$p^K$を式~(\ref{eq:addition_d})によって組み合わせる．
\begin{equation} \label{eq:addition_d}
        p(y_n|x_{1:n}) = \lambda_n^0 \ p^0(y_n|x_{1:n}) + \lambda_n^K \ p^K(y_n|x_{1:n})
\end{equation}
動的に重み係数を変更するため，本手法を提案手法（動的な重み係数）とする．
本手法も式~(\ref{eq:predict_s})に示す提案手法（静的な重み係数）と同様に，
式~(\ref{eq:addition_d})で得られた確率分布の中で最も確率の高い感情ラベルを，識別結果として出力する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{重み係数の学習 }
\rev{
重み係数を導出するネットワークを学習する方法について述べる．
\ref{sec:base}節と\ref{sec:query}節（ステップ1）で学習済みのベースエンコーダとクエリーエンコーダのパラメータを固定し，
重み係数を導出するネットワークを学習する（ステップ3）．
}
損失関数として，\rev{式~(\ref{eq:addition_d})の}確率分布$p$が出力する感情ラベルと教師ラベルとの交差エントロピー (CE: Cross Entropy) 損失を式~(\ref{eq:ce})で計算する．
\begin{equation} \label{eq:ce}
        \mathcal{L}_{CE}(\theta) = - \frac{1}{\sum_{m=1}^M N_m} \sum_{m=1}^M \sum_{n=1}^{N_m} \mathrm{log} \ p \left[y_n\right]
\end{equation}
ただし，$M$は訓練データにおける対話の総数を示し，$N_m$は$m$番目の対話の発話数を示す．
$p$は式~(\ref{eq:addition_d})で組み合わせた確率分布$p(y_n|x_{1:n})$を示し，
$y_n$は$n$番目の発話の教師ラベルを示す．
$\theta$は重み係数を導出するネットワークのパラメータを示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 3
\begin{figure}[b]
\begin{center}
\includegraphics{31-2ia8f3.pdf}
\end{center}
\hangcaption{重み係数の学習方法．最終的な確率分布$p$が出力する感情ラベルと，教師ラベルとの交差エントロピー (CE)損失を計算する．\rev{ベースエンコーダ}による確率分布$p^0$と近傍事例による確率分布$p^K$のそれぞれが，教師ラベルと同じラベルを示す場合に，重み係数を大きく，そうでない場合に重み係数を小さくするように，バイナリー交差エントロピー (BCE)損失を用いて損失関数を計算する．重み係数を取得するパラメータは交差エントロピー (CE)損失とバイナリー交差エントロピー (BCE)損失のマルチタスクで学習する．}
\label{fig:coefloss}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

本手法はさらに，動的な重み係数を導出するニューラルネットワークを学習するために，
従来の識別モデルによる確率分布$p^0$と近傍事例による確率分布$p^K$のそれぞれが出力する感情ラベルが，
教師ラベルと一致する場合に重み係数を高め，そうでない場合に重み係数を低くする損失関数（係数損失）を導入する．
概要を図~\ref{fig:coefloss}に示す．
\rev{ベースエンコーダ}の確率分布$p^0$と近傍事例の確率分布$p^K$のそれぞれが出力する感情ラベルが，
教師ラベルと一致する場合に$1$，そうでない場合に$0$の信号を与え，バイナリー交差エントロピー (BCE: Binary Cross Entropy)損失を計算する．
式~(\ref{eq:ffn})に示すSoftmax関数による正規化を行う前のスカラー値$\lambda_n^i$と教師信号を用いて，
%%%%式~(\ref{eq:bce})に示すシグモイド (Sigmoid)層とバイナリー交差エントロピー損失を組み合わせた損失関数を計算する．
    式~(\ref{bce_1})に示すシグモイド (Sigmoid)層とバイナリー交差エントロピー損失を組み合わせた損失関数を計算する．
\begin{align}%%%% \label{eq:bce}
    \mathcal{L}_{BCE}(\theta) &= - \frac{1}{\sum_{m=1}^M N_m} \sum_{m=1}^M \sum_{n=1}^{N_m} \mathcal{L}_{n} \label{bce_1} \\
    \mathcal{L}_{n} &= \sum_{i \in \{0,K\}} \mathbbm{1}_{y_n=\hat{y}_n^i} \mathrm{log} \ \sigma \bigl( \lambda_n^i \bigr) + \Bigl( 1-\mathbbm{1}_{y_n=\hat{y}_n^i} \Bigr) \mathrm{log} \Bigl(1- \sigma \bigl( \lambda_n^i \bigr) \Bigr) \label{bce_2} \\
    \hat{y}_n^i &= \argmax_{c \in \mathbb{S}} \left(p^i \left[c \right] \right) \label{bce_3}
\end{align}
ただし，式~(\ref{bce_3})における$p^i$は，式~(\ref{eq:addition_d})に示す従来の識別モデルによる確率分布$p^0$または近傍事例による確率分布$p^K$を示す．
式~(\ref{bce_3})は確率分布$p^i$が出力する感情ラベルを示し，
式~(\ref{bce_2})の$\mathbbm{1}_{y_n=\hat{y}_n^i}$は，
教師ラベル$y_n$とそれぞれの確率分布が出力するラベル$\hat{y}_n^i$が，
一致する場合に$1$を返す指示関数を示す．
$\sigma$はSigmoid関数を示す．

以上より，教師ラベルとの交差エントロピー (CE)損失と，
動的な重み係数を学習するバイナリー交差エントロピー (BCE)損失とを足し合わせたマルチタスクで，提案手法のパラメータを学習する．
最終的な損失関数を式~(\ref{eq:loss})に示す．
\begin{equation} \label{eq:loss}
        \mathcal{L}(\theta) = \mathcal{L}_{CE}(\theta) + \mathcal{L}_{BCE}(\theta)
\end{equation}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{ 重み係数の閾値 }
本手法は，重み係数が$0$または$1$の極端な値になることを防ぐために，閾値を設ける．
先行研究 \cite{kaneko-etal-2022-interpretability}では，
重み係数が$0$や$1$に近い値を示す場合，
\rev{ベースエンコーダ}と近傍事例による確率分布の中で，一方の確率分布にのみ依存するため推論が不安定になると報告されている．
一方で，重み係数が$0.5$付近を示す場合，両方の確率分布を用いるため，推論が安定することが知られている \cite{kaneko-etal-2022-interpretability}．
そこで，閾値$\xi\ (0.5 \le \xi \le 1)$を設け，
閾値を超える重み係数$\lambda_n^i\ (\lambda_n^i < (1-\xi) \ or \ \xi < \lambda_n^i)$を，$0.5$に置換する．
先行研究 \cite{kaneko-etal-2022-interpretability}を参考に，
重み係数が$0.5$付近に分布するすなわち両方の分布を用いる場合に推論が安定するため，
置換する値を$0.5$に設定する．
閾値$\xi$はハイパーパラメータである．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{データセット}

ERCにおける3つのベンチマークセット\footnote{2021年11月時点で \url{https://github.com/shenwzh3/DAG-ERC} に公開されたデータセットを使用．}を用いて，提案手法の有効性を検証する．
訓練，検証，評価セットの対話数と発話数とラベル数を表~\ref{tab:description}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[t]
\input{08table03.tex}%
\caption{IEMOCAP，MELD，EmoryNLPベンチマークデータセットの割合．}
\label{tab:description}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[IEMOCAP]{IEMOCAP \cite{busso2008iemocap}}
は2人の話者が，
\pagebreak
1対1の会話を行う様子を収録した映像と音声の書き起こしからなるデータセットである．
各発話には，
\textit{happy}, \textit{sad}, \textit{neutral}, \textit{angry},
\textit{excited}, \textit{frustrated}
の感情ラベルのうち1つが付与されている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[MELD]{MELD \cite{poria2018meld}}
は，複数の俳優が登場する\textit{Friends}というTVドラマの，一部シーンを切り取った映像と音声の書き起こしからなるデータセットである．
また，1つの対話に複数の話者が登場する．
各発話には，
\textit{neutral}, \textit{joy}, \textit{surprise}, \textit{sadness},
\textit{anger}, \textit{disgust}, \textit{fear}
の感情ラベルのうち1つが付与されている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[EmoryNLP]{EmoryNLP \cite{zahiri2018emotion}}
はTVドラマ\textit{Friends}から，一部のシーンを切り取り収集したデータセットである．
MELDデータセットとデータサイズとラベルの種類が異なり，
\textit{neural}, \textit{sad}, \textit{mad}, \textit{scared},
\textit{powerful}, \textit{peaceful}, \textit{joyful}
のうち1つが付与される．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{評価指標}

Shenらの手法 \cite{shen2021directed}で用いられた評価指標と同じ，重み付きF1値を全てのデータセットの評価に用いる．
また，ノンパラメトリック検定の一つである並べ替え検定を用いて，有意差を検定する．
検定対象の統計量には，$5$回実験を行って得た重み付きF1値の平均値の差を用い，有意水準$5\%$の片側検定を行った．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{既存手法との比較}

提案手法の有効性を検証するために，以下に示す従来手法と重み付きF1値を比較する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[KET]{KET \cite{zhong2019knowledge}}
階層的自己注意層を用いて文脈を利用する手法である．
また，GATを用いて，常識的知識に関する外部データベースを利用する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[DialogueRNN]{DialogueRNN \cite{majumder2019dialoguernn}} \label{dialoguernn}
畳み込みニューラルネットワーク (CNN: Convolutional Neural Networks)\cite{kim-2014-convolutional}を用いて発話の特徴量を取得し，
話者の特徴と先行文脈，先行発話の感情の関連性について，それぞれGated Recurrent Unit (GRU) \cite{69e088c8129341ac89810907fe6b1bfe}でモデリングする手法である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[DialogueGCN]{DialogueGCN \cite{ghosal2019dialoguegcn}} \label{dialoguegcn}
CNNを用いて発話の特徴量を取得し，隣接する発話間の相互作用をGRUを用いて取得する手法である．
加えて，発話間の関係の中でも自己依存と相互依存の取得にRGCNとGATを利用する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[HiTrans]{HiTrans \cite{li2020hitrans}}
発話の内容を示す特徴量の取得にBERTモデルを用い，大域的な文脈の利用にTransformerを用い，
階層的に組み合わせた手法である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[DialogXL]{DialogXL \cite{shen2020dialogxl}}
過去の発話を保存し共有するネットワークを，XLNet \cite{yang2019xlnet}に加えた手法である．
また隣接する発話間の関係（局所的）と，会話全体の発話間の関係（大域的）と，
話し手，聞き手の特徴を，それぞれ自己注意層を用いて取得する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[RGAT+P]{RGAT+P \cite{石渡太智2021発話順序に基づく}}
RoBERTaモデルを用いて発話の特徴量を取得し，自己依存と相互依存の取得にRGCNとGATを利用する手法である．
加えて，発話の順序情報をGATに組み込む．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[COSMIC]{COSMIC \cite{ghosal-etal-2020-cosmic}}
話者の心理状態や，イベント，因果関係などに基づいた話者間の相互作用を考慮した手法である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[Finetuned-RoBERTa]{Finetuned-RoBERTa}
\rev{
提案手法は，クエリーエンコーダとしてFinetuned-RoBERTaを用いる（\ref{sec:query}節）．
図~\ref{fig:base_query}に示す確率分布$q$から得られる感情ラベルを，Finetuned-RoBERTa単体の出力として用いる．
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[DAG-ERC]{DAG-ERC \cite{shen2021directed}}
話者自身の離れた発話からの影響と，他者の近い発話からの影響を利用するために，
GATを拡張した有向非巡回グラフニューラルネットワークを用いる手法である．
本実験では，提案手法との比較のため再現実験を行う．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[DialogueCRN]{DialogueCRN \cite{hu-etal-2021-dialoguecrn}}
対話の状況や話者の特徴に応じた文脈を利用する手法である．
状況や話者の特徴を理解するために，LSTMを利用する．
本実験では，提案手法との比較のため再現実験を行う．
ただし，事前学習済みモデルが公開されているIEMOCAP, MELDデータセットのみ検証する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[アンサンブル（静的）]{アンサンブル（静的）}
本手法は\rev{ベースエンコーダ}としてDAG-ERCとDialogueCRNをクエリーエンコーダとしてFinetuned RoBERTaを利用する．
異なるモデルの出力を組み合わせるため，アンサンブルの一種である．
そこで，伝統的なアンサンブル手法と比較する．
\rev{
図~\ref{fig:base_query}に示すベースエンコーダによって得られる確率分布$p^0$と，
クエリーエンコーダによって得られる確率分布$q$を，重み付き線形和によって組み合わせる．
}
近傍事例による確率分布ではなく，クエリーエンコーダによる確率分布を利用する点で提案手法と異なる．
重み係数はハイパーパラメータである．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph[アンサンブル（動的）]{アンサンブル（動的）}
\rev{ベースエンコーダ}による確率分布\rev{$p^0$}とクエリーエンコーダによる確率分布\rev{$q$}を入力し，
FFNを用いて確率分布を作成する．
教師ラベルと推論ラベルとの交差エントロピー損失を用いてFFNのパラメータを学習する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{その他の実験設定} \label{seq:exp_set}

その他の実験設定を示す．
\rev{
はじめにステップ1におけるベースエンコーダとクエリーエンコーダの学習の設定を示す．
}
\rev{ベースエンコーダ}として利用するDAG-ERCは \cite{shen2021directed}で報告されたパラメータ\footnote{2021年11月時点で \url{https://github.com/shenwzh3/DAG-ERC} に記載されたパラメータを使用．}を用いて，
対話の感情認識タスクで学習した．
ただし，ハイパーパラメータの中で学習率のみ， \cite{shen2021directed}で報告された値と異なる値を用いる．
その学習率は$(5e-5,1e-5,5e-6)$の中から，検証データで最も性能が高くなるものを選択した．
DialogueCRNも同様に，\cite{hu-etal-2021-dialoguecrn}で報告されたパラメータ\footnote{2021年11月時点で \url{https://github.com/zerohd4869/DialogueCRN} に記載されたパラメータを使用．}を用いて学習した．
クエリーエンコーダとして利用するFinetuned RoBERTaは，ドロップアウト (Dropout)を$0.3$に設定し，損失関数に交差エントロピー損失を用いて学習した．
学習率は$(5e-5,1e-5,5e-6)$の中から，検証データで最も性能が高くなるものを選択した．

\rev{
続いてステップ3に関連する実験設定を示す．
}
アンサンブル（静的）と提案手法（静的な重み係数）の重み係数$\lambda$は，$(0,0.25,0.5,0.75,1)$の中から検証データで最も重み付きF1値が高くなるものを選択した．
提案手法（動的な重み係数）の学習率は$(5e-5,1e-5)$の中から，閾値$\xi$は$(0.85,0.90,0.95)$の中から検証データで最も性能が高くなるものを選択した．
Finetuned RoBERTaと提案手法（動的な重み係数）はRAdam optimizer \cite{liu2019variance}を用いて学習した．
\rev{
提案手法（静的と動的な重み係数）の特徴量ベクトルの次元数はDAG-ERC \cite{shen2021directed}で報告された$1024$とし，
近傍事例の数$K$は\cite{zheng2021adaptive}を参考に$32$に設定した．
}
$T$は$(1,10,100,1000)$の中から検証データで最も性能が高くなるものに選択した．
近傍事例の検索は，faiss \cite{johnson2019billion}を用いた．
全ての実験は5回行い，実験結果にはその平均値を用いた．
ノンパラメトリック検定の一つである並べ替え検定を用いて，\rev{ベースエンコーダ}単体に対する各手法の有意差を検定した．
$512$GBメモリのAMD EPYC 7F52 CPUとNVIDIA A100のGPUを用いて実験を行った．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{従来手法との比較}

従来手法との比較結果を表~\ref{tab:comp}に示す．
従来手法のKET, DialogueRNN, DialogueGCN, HiTrans, DialogXL, RGAT+P, COSMICの重み付きF1値は各文献から引用する．
\rev{
また,Finetuned-RoBERTaをベースエンコーダとクエリーエンコーダに用いたアンサンブル（静的と動的）と提案手法（静的と動的）の結果も示す．
提案手法は，図~\ref{fig:base_query}に示すDAG-ERCとDialogueCRNが出力する$n$番目の発話の確率分布をベースエンコーダの確率分布として利用した．
クエリーエンコーダのRoBERTaも対象の$n$番目の発話の確率分布を出力するため，
その分布をベースエンコーダの確率分布として利用することが可能である．
本実験は，Finetuned-RoBERTaをベースエンコーダとクエリーエンコーダに用いる場合の結果と比較し，
ベースエンコーダ(DAG-ERC, DialogueCRN)とクエリーエンコーダ(Finetuned-RoBERTa)に異なるモデルを利用する提案手法の有効性も確認する．
}
表~\ref{tab:comp}のボールド体は各データセットで最も性能が高い値を示し,
下線は各\rev{ベースエンコーダ}と各データセットにおいて最も性能が高い値を示す．
黒丸はDAG-ERCやDialogueCRNの\rev{ベースエンコーダ}に対する統計的有意差を示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[t]
\input{08table04.tex}%
\hangcaption{従来手法と提案手法の比較．ボールド体は各データセットで最も性能が高い値を示す．下線は各\rev{ベースエンコーダ}と各データセットにおいて最も性能が高い値を示す．黒丸は\rev{ベースエンコーダ}に対して統計的な有意差が示された値を示す．各値は$5$回の実験による 重み付きF1 値の平均値を示す．}
\label{tab:comp}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表~\ref{tab:comp}より，IEMOCAPデータセットでは重み付きF1値$68.16$ ($\#$21) を示し，
各文献から引用した従来手法だけでなく，
\rev{
Finetuned-RoBERTa，
}
DAG-ERCやDialogueCRNの\rev{ベースエンコーダ}，アンサンブル手法を大きく上回る最高水準の認識精度を示した．
また，EmoryNLPにおいても，重み付きF1値$38.67$ ($\#$16) となり，最高水準の認識精度を示した．
MELDデータセットでは，DAG-ERCやDialogueCRNの\rev{ベースエンコーダ}を上回り，提案手法の有効性を確認した．
以上の結果より，複数のベンチマークデータセットで高い認識性能を有することから，
データ\rev{のサイズ}や対話に登場する話者の数が異なる場合でも精度良く認識することを確認した．
さらに，IEMOCAPとMELDデータセットにおいて，提案手法（動的な重み係数）がDAG-ERCやDialogueCRNの\rev{ベースエンコーダ}に対して，
統計的に有意な差を示すことを確認した (\#16, $\#$21)．

\rev{
また，Finetuned-RoBERTaをベースエンコーダに用いたアンサンブル手法 ($\#$8, $\#$9)と提案手法 ($\#$10, $\#$11)に比べて，
DAG-ERCとDialogueCRNをベースエンコーダに用いたアンサンブル手法 ($\#$13, $\#$14, $\#$18, $\#$19)と
提案手法 ($\#$15, $\#$16, $\#$20, $\#$21)の認識精度が高いことから，
ベースエンコーダと異なるモデル構造を組み合わせる手法の有効性を確認した．
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{アブレーション分析} \label{sec:ablation}

\ref{sec:learnedcoef}\rev{項}で導入した係数損失と閾値の有効性を分析する．
提案手法（動的な重み係数）において，係数損失と閾値の両方を使わない場合（$\Circled{1}$），係数損失のみを使う場合（$\Circled{2}$），両方使う場合（$\Circled{3}$）を比較した結果を表~\ref{tab:ablation}に示す．
表~\ref{tab:ablation}より，全てのデータセットにおいて，
係数損失と閾値の両方を使わない場合（$\Circled{1}$）よりも，係数損失のみを使う場合（$\Circled{2}$）は約0.6～0.8程度重み付きF1値が向上した．
結果から，係数損失の有効性を確認できる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[b]
\input{08table05.tex}%
\hangcaption{アブレーション分析の結果．提案手法（動的な重み係数）において，閾値と係数損失の両方を使わない場合（$\Circled{1}$），係数損失のみを使う場合（$\Circled{2}$），両方使う場合（$\Circled{3}$）の結果を比較する．ボールド体は最も性能が高い値を示す．各値は$5$回の実験による 重み付きF1 値の平均値を示す．}
\label{tab:ablation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

係数損失のみを使う場合（$\Circled{2}$）と係数損失と閾値の両方を使う場合（$\Circled{3}$）を比較すると，
IEMOCAPとMELDデータセットにおいて，
係数損失と閾値の両方を使う場合（$\Circled{3}$）は，係数損失のみを使う場合（$\Circled{2}$）よりも認識精度が向上した．
特に，MELDデータセットにおいて，DAG-ERCモデルを\rev{ベースエンコーダ}として用いる場合に，重み付きF1値が約$0.3$向上した．
これは閾値による重み係数の変更が寄与したことが要因である．
MELDデータセットにおける係数損失のみを使う手法（$\Circled{2}$）は，$1$付近に重み係数が分布していたため性能が低下した．
しかし，両方を使う場合（$\Circled{3}$）の結果が示すように，
閾値を用いて係数を変更することで，識別に悪影響を与える$1$付近の重み係数を取り除くことができ，認識性能が改善した．
詳細は \ref{sec:coefanalysis}\rev{節}で議論する．

EmoryNLPでは，係数損失のみを使う場合（$\Circled{2}$）の手法が，$38.92$の重み付きF1値を示し，
表~\ref{tab:comp}に示す結果との比較で，更なる認識性能の向上を示した．
一方で，係数損失と閾値の両方を使う場合（$\Circled{3}$）は，係数損失のみを使う場合（$\Circled{2}$）に比べ，認識精度が約$0.25$低下した．
これは，係数が閾値を超えた際，常に係数を$0.5$とするよう設定したことが原因である．
その理由を \ref{sec:coefanalysis}\rev{節}で議論する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{重み係数の分析} \label{sec:coefanalysis}

係数損失と閾値の有効性をさらに詳細に分析するために，動的に変更した重み係数の頻度分布を分析する．
図~\ref{fig:coefhist}は   ，
IEMOCAP, MELD, EmoryNLPの3つの検証データセットにおける，\rev{ベースエンコーダ}の重み係数$\lambda_n^0$の頻度分布を示す．
DAG-ERCを\rev{ベースエンコーダ}として用い，\ref{sec:ablation}\rev{節}の実験で用いた係数損失と閾値の両方を使わない場合（$\Circled{1}$），
係数損失のみを使う場合（$\Circled{2}$），両方使う場合（$\Circled{3}$）の結果を比較する．
さらに，全ての重み係数の頻度分布（緑色）だけでなく，
検証セットに付与された教師ラベルとの一致を確認し，正答した場合（青色）と誤答した場合（赤色）に分けて頻度分布を示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 4
\begin{figure}[p]
\begin{center}
\includegraphics{31-2ia8f4.pdf}
\end{center}
\hangcaption{重み係数の分布．IEMOCAP, MELD, EmoryNLPの3つの検証データセットにおける，\rev{ベースエンコーダ}側の重み係数$\lambda_n^0$の頻度分布を示す．係数損失と閾値の両方を使わない場合（$\Circled{1}$），係数損失のみを使う場合（$\Circled{2}$），両方使う場合（$\Circled{3}$）の結果を比較する．全ての重み係数（緑色）だけでなく，教師ラベルと推論ラベルを比較し，正答した場合（青色）と誤答した場合（赤色）の係数も比較する．}
\label{fig:coefhist}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

図~\ref{fig:coefhist}を用いて，
係数損失と閾値の両方を使わない場合（$\Circled{1}$）と，係数損失のみを使う場合（$\Circled{2}$）を比較する．
表~\ref{tab:ablation}のアブレーションの結果より，係数損失を用いることで，全てのデータセットの認識性能が向上した．
また図~\ref{fig:coefhist}の結果から，
全てのデータセットで，$1$付近に分布していた重み係数が$0.5$付近に変化したことがわかる．
先行研究 \cite{kaneko-etal-2022-interpretability}が示すように，
$0$や$1$付近に分布する重み係数すなわち片方の分布への依存は性能の劣化を示す傾向にあるため，
$0.5$付近に分布する重み係数すなわち両方の確率分布を採用する方向に変化したことで，認識性能が向上したことがわかる．

次に，係数損失のみを使う場合（$\Circled{2}$），係数損失と閾値の両方を使う場合（$\Circled{3}$）の結果を比較する．
MELDデータセットは，表~\ref{tab:ablation}のアブレーションの結果より，閾値によって重み係数を変更したことで性能が向上した．
また図~\ref{fig:coefhist}の結果から，係数損失のみを使う場合（$\Circled{2}$）の分布が示すように，
係数損失を用いることで$0.5$付近に重み係数が分布した．
しかし，$1$周辺に赤色で示される誤答の係数が多く分布している．
両方使う場合（$\Circled{3}$）の分布が示すように，
閾値によって重み係数を変更したことで，$1$周辺の重み係数を置換することができ，結果的に認識性能の向上につながった．

次にEmoryNLPデータセットにおける，
係数損失のみを使う場合（$\Circled{2}$）と，係数損失と閾値の両方を使う場合（$\Circled{3}$）の結果を比較する．
表~\ref{tab:ablation}のアブレーションの結果より，EmoryNLPでは，閾値を用いて係数を変更したことで性能が低下した．
これは係数の変更先として，$0.5$に設定したことが原因と考えられる．
図~\ref{fig:coefhist}の結果より，
IEMOCAPとMELDデータセットでは，閾値を超えた値を$0.5$に変更することで，$0.5$周辺の係数において青色で示される正答の数が増加した．
しかし，EmoryNLPでは，$0.5$に変更しても正答の数が増加しない．
さらに，EmoryNLPにおいて0.6～0.9付近に分布する重み係数の頻度が減少した．
EmoryNLPでは，閾値による係数変更の置換先として，正答の数が増加しない$0.5$ではなく，0.6～0.9などの幅広い値に置換することが求められる．
従って，今後は閾値を超えた重み係数を固定値の$0.5$に置換するのではなく，
データセットに適した値に変更することを検討する．

以上の結果をまとめると，重み係数を学習する際は，$0.5$付近に重み係数を分布させる係数損失が有効である．
また，閾値を用いた係数の変更は，各データセットの重み係数の頻度分布からその有効性を判断することができる．
置換後の重み係数の値も重要であることが確認できた．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{クエリーエンコーダーの比較}

本手法はクエリーエンコーダとして，Finetuned RoBERTaを利用した．
Finetuned RoBERTaの有効性を確認するために，
\rev{
ベースエンコーダ (DAG-ERC, DialogueCRN) と同じモデルをクエリーエンコーダに用いる場合，
}
再学習をしないRoBERTaモデル (Vanilla) を用いる場合の結果を比較する．
\rev{
提案手法は図~\ref{fig:base_query}に示すRoBERTaモデルが出力する特徴量ベクトルを検索クエリーに利用した．
ベースエンコーダも対象の$n$番目の発話の特徴量ベクトルを出力するため，その特徴量を検索クエリーに利用することが可能である．
本実験は，ベースエンコーダと同じモデルをクエリーエンコーダに用いる手法と比較し，
Finetuned RoBERTaをクエリーエンコーダに用いる提案手法の有効性を確認する．
また，Finetuned RoBERTaをベースエンコーダとクエリーエンコーダの両方に利用する手法も比較する．
本実験は提案手法（静的）と提案手法（動的）
}
の両手法で検証する．
実験結果を表~\ref{tab:query}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[t]
\input{08table06.tex}%
\hangcaption{クエリーエンコーダの比較．\rev{ベースエンコーダ}と同じ手法，再学習をしないRoBERTaモデル (Vanilla)，Finetuned RoBERTa (Finetuned) の比較．ボールド体は各列で最も性能が高い値を示す．}
\label{tab:query}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表~\ref{tab:query}より，提案手法（静的な重み係数）と提案手法（動的な重み係数）の両方で，
クエリーエンコーダとしてFinetuned RoBERTaを用いる手法は，最も高い認識性能を示した．
\rev{
ベースエンコーダと同じモデルをクエリーエンコーダに用いた手法 ($\#$4, $\#$7, $\#$11, $\#$14) と
Finetuned-RoBERTaモデルをベースエンコーダとクエリーエンコーダに用いた手法 ($\#$1, $\#$2)と比較して，
Finetuned RoBERTaをクエリーエンコーダに用いた手法 ($\#$6, $\#$9, $\#$13, $\#$16)の性能が高いことから，
ベースエンコーダと異なるモデルを組み合わせる手法の有効性を確認できる．
一方で，ベースエンコーダと同じモデルをクエリーエンコーダに用いる手法 ($\#$4, $\#$7, $\#$11, $\#$14)は，
ベースエンコーダ単体 ($\#$3, $\#$10)に対して，
Finetuned RoBERTaをクエリーエンコーダに用いた手法 ($\#$6, $\#$9, $\#$13, $\#$16)に相当する性能の改善は認められない．
これは，ベースエンコーダと同じモデルをクエリーエンコーダに利用したことで，
ベースエンコーダによる確率分布$p^0$と近傍事例による確率分布$p^K$の相関が高くなり，
アンサンブルの効果が限定的になってしまったためである．
}
また，クエリーエンコーダとして再学習を行わないRoBERTa (Vanilla) を用いた手法 \rev{($\#$5, $\#$8, $\#$12, $\#$15)}と比較し，
Finetuned RoBERTaを用いた手法 \rev{($\#$6, $\#$9, $\#$13, $\#$16)}の性能が高いことから，
対話の感情認識の観点で近い事例を検索することが認識性能の向上に寄与することがわかる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{確率分布の組み合わせによる効果} \label{sec:component}

次に，\rev{ベースエンコーダ}（ベース）による確率分布と，クエリーエンコーダ（クエリ）による確率分布と，近傍事例 (kNN) による確率分布の，
それぞれが出力する感情ラベルの正確さを分析する．
それぞれの確率分布で最も高い感情ラベルを出力と見なし，教師ラベルとの重み付きF1値を計算した結果を表~\ref{tab:component}に示す．
複数の確率分布を組合せた場合と比較するために，
\rev{ベースエンコーダ}とクエリーエンコーダを組み合わせるアンサンブルと，
\rev{ベースエンコーダ}と近傍事例を組み合わせる提案手法の結果も合せて再掲する．

表~\ref{tab:component}の結果より，
\rev{ベースエンコーダ}，クエリーエンコーダ，近傍事例による確率分布を単体で利用するよりも，アンサンブルと提案手法の認識性能が高いことから，
異なる確率分布を組み合わせることが精度の向上に寄与することがわかった．
また，IEMOCAPとEmoryNLPデータセットにおいて，\rev{ベースエンコーダ}と近傍事例を組み合わせ重み係数を動的に変更する提案手法が，
最も高い認識性能を獲得することを確認した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[b]
\input{08table07.tex}%
\hangcaption{\rev{ベースエンコーダ}（ベース），クエリーエンコーダ（クエリ），近傍事例 (kNN) による確率分布の，それぞれが出力する感情ラベルの正確さを比較．ボールド体は最も性能が高い値を示す．}
\label{tab:component}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[b]
\input{08table08.tex}%
\hangcaption{\rev{近傍事例の数の比較．3つのベンチマークの検証セットにおいて，近傍事例の数$K$を(1, 2, 4, 8, 16, 32, 64)に変更したときのWeighted-F1値を比較する．ボールド体は各列で最も性能が高い値を示す．}}
\label{tab:knn}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{近傍事例の数の効果} \label{sec:knn_num}

\rev{
次に，近傍事例の数$K$を変更した時の効果を分析する．
本手法は先行研究 \cite{zheng2021adaptive}を参考に，近傍事例の数$K$を$32$に設定した．
本実験は，IEMOCAP, MELD, EmoryNLPの3つのベンチマークデータの検証セットにおいて，
近傍事例の数$K$を$(1,2,4,8,16,32,64)$に変更したときのWeighted-F1値を比較する．
ベースエンコーダとしてDialogueCRNまたはDAG-ERCを，クエリーエンコーダとしてFinetuned-RoBERTaを用いる．
提案手法のハイパーパラメータ（温度$T$と学習率，閾値$\xi$）は，近傍事例の数$K$ごとに検証セットで最も性能が高くなるものを選択した．
結果を表~\ref{tab:knn}に示す．
}

\rev{
表~\ref{tab:knn}より，
IEMOCAPとEmoryNLPデータセットにおいて，$K$が$4$よりも小さい場合に認識性能が低下することを確認した．
また，MELDデータセットにおいて，DialogueCRNをベースエンコーダに用いる手法は，近傍事例の数が$K=32$のときに最も高い性能を示すことを確認した．
一方で，最も高いWeighted-F1値を示す近傍事例の数$K$は，データセットによって異なることを確認した．
しかし，Weighted-F1値の差は標準偏差内にとどまるため，
近傍事例の数$K$とサイズや話者の数が異なるデータセットとの関連性は認められない．
}

\rev{
本実験は，近傍事例の数$K$を変更しその効果を検証したが，近傍事例の数$K$を定数とする場合，
$K$個の全ての事例を用いて確率分布を作成するため（\ref{sec:knn}節），ノイズとなり得る事例を利用してしまう可能性がある．
従って今後は，識別対象の発話に応じて動的に近傍事例の数$K$を変更する手法，
または近傍事例から適切な事例を選択（あるいはノイズとなる事例を削除）する手法を検討する．
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{事例分析}

最後に，\rev{ベースエンコーダ}とクエリーエンコーダの確率分布を組み合わせるアンサンブルと，
\rev{ベースエンコーダ}と近傍事例を組み合わせる提案手法（静的な重み係数），
さらに重み係数を動的に変更する提案手法（動的な重み係数），
それぞれの特徴を分析するために，
事例分析を行う．
分析に使用したデータは，MELDデータセットの検証セットの一部で，
\rev{ベースエンコーダ}による確率分布と近傍事例による確率分布が示す感情ラベルが異なり，
提案手法（動的な重み係数）が正しく識別した例を示す．
図~\ref{fig:jirei1}は，``\textit{sad}''が付与された発話に対する各手法の確率分布を示す．
1列目は各手法の\rev{ベースエンコーダ} (DialogueCRN)による確率分布を示す．
2列目は，提案手法（静的と動的）における近傍検索した各事例
と検索クエリーとの距離を示す．
色は感情ラベルの種類を示す．
3列目はクエリーエンコーダまたは近傍事例による確率分布を，4列目に各手法の最終的な確率分布を示す．
また，各図のタイトルに，各確率分布の重み係数を示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 5
\begin{figure}[t]
\begin{center}
\includegraphics{31-2ia8f5.pdf}
\end{center}
\hangcaption{アンサンブルと提案手法（静的な重み係数），提案手法（動的な重み係数）の推定結果の分析．1列目は各手法の\rev{ベースエンコーダ}(DialogueCRN)による確率分布を示す．横軸は感情ラベルを，縦軸は確率値を示す．``neu''は\textit{neutral}, ``hap''は\textit{happy}, ``sur''は\textit{surprised}, ``sad''は\textit{sad}, ``ang''は\textit{angry}, ``dis''は\textit{disgust},``fea''は\textit{fear}を示す．2列目は$K$個の近傍事例を示す．横軸は近傍事例のIndexを，縦軸はクエリーとの距離を示す．3列目は各手法のクエリーエンコーダまたは近傍事例による確率分布を，4列目は各手法の最終的な確率分布を示す．各図のタイトルに，各確率分布の重み係数を示す．図はMELDデータの検証セットの一部で，\textit{sad}が付与されたデータである．}
\label{fig:jirei1}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

図~\ref{fig:jirei1}の結果が示すように，
DialogueCRNを用いた\rev{ベースエンコーダ}による確率分布は``\textit{neutral}''を示すが，
Fintuned RoBERTaを用いたクエリーエンコーダによる分布と近傍事例による分布は，
\rev{ベースエンコーダ}と異なるモデルを利用したため異なる感情ラベルを示す場合がある．
また，2列目に示す近傍事例において，
最近傍の事例に付与された感情ラベルは``\textit{disgust}''を示すが，
検証セットによって$T=1000$が選択されたため，
\ref{sec:knn}\rev{節}に示すように出現頻度の高い``\textit{sad}''に重きを置いた分布が作成されたことがわかる．

また図~\ref{fig:jirei1}より，
アンサンブルと提案手法（静的な重み係数）は
常に一定の重み係数$0.5$で確率分布を組み合わせるため，
\rev{ベースエンコーダ}とクエリーエンコーダ（近傍事例）の確率分布を比較し，高い確率の感情ラベルを最終的に採用する傾向にある．
そのため，アンサンブルと提案手法（静的な重み係数）は最も確率値の高い``\textit{neutral}''を出力し，誤認識してしまった．
一方で，提案手法（動的な重み係数）は，
\rev{ベースエンコーダ}から得られる特徴量ベクトルや近傍事例の特徴量ベクトルを基に，適切な重み係数を算出したため，
正しく識別することができた．

次に，EmoryNLPデータセットの検証セットの一部で，提案手法（動的な重み係数）が誤って識別した例を示す．
図~\ref{fig:jirei2}は，``\textit{sad}''が付与された発話に対する各手法の確率分布を示す．
また，\rev{ベースエンコーダ}は，
\ref{sec:ablation}\rev{節}，\ref{sec:coefanalysis}\rev{節}の実験で提案手法（動的な重み係数）の性能が劣化したDAG-ERCを利用する．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 6
\begin{figure}[t]
\begin{center}
\includegraphics{31-2ia8f6.pdf}
\end{center}
\hangcaption{アンサンブルと提案手法（静的な重み係数），提案手法（動的な重み係数）の推定結果の分析．``neu''は\textit{neutral}, ``sad''は\textit{sad}, ``mad''は\textit{mad}, ``sca''は\textit{scared}, ``pow''は\textit{powerful}, ``pea''は\textit{peaceful}, ``joy''は\textit{joyful}を示す．図はEmoryNLPデータの検証セットの一部で，\textit{sad}が付与されたデータである．}
\label{fig:jirei2}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

図~\ref{fig:jirei2}の結果が示すように，提案手法（動的な重み係数）は，
\rev{ベースエンコーダ}から得られる特徴量ベクトルと近傍事例の特徴量ベクトルを基に，重み係数$0.5$を導出した．
\rev{ベースエンコーダ}による確率分布と近傍事例による確率分布を重み係数$0.5$で組み合わせたため，
最も確率値の高い``\textit{mad}''を出力し，誤認識してしまった．
一方で，アンサンブルは重み係数$1.0$を，提案手法（静的な重み係数）は重み係数$0.75$を選択した．
両手法は，片方の確率分布の比重を増やすことで，この事例を正しく識別した．
以上の結果より，EmoryNLPでDAG-ERCを\rev{ベースエンコーダ}として利用する際は，
\ref{sec:ablation}\rev{節}，\ref{sec:coefanalysis}\rev{節}の分析と同様に，
$0.5$ではない別の適した重み係数を得ることで，より一層の認識精度の向上が期待できる．


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

本論文は，対話における発話の感情認識に，
近傍事例を活用する手法を初めて適用した．
k近傍法を用いて意味的に近い発話を訓練セットから検索し，
検索した発話（近傍事例）に付与された感情ラベルを基に確率分布を作成して，
従来の識別モデルの確率分布と重み付き線形和によって組み合わせた．
さらに，定数による重み係数で2つの確率分布を足し合わせるだけでなく，識別対象の発話ごとに動的に重み係数を変更する手法を提案した．
3つのベンチマークデータセットを用いて，動的に重み係数を変更する提案手法の有効性を確認したところ，
全てのデータセットで従来手法を上回る最高水準の認識性能を示した．

今後は，重み係数が$0$や$1$といった極端な値を示すことを防ぐための制約を導入した，
重み係数導出ネットワークの学習方法を検討する．
本手法は，閾値および係数の変更先の値を，ハイパーパラメータとして設定した．
閾値や変更先の値を設定せずに，全て学習によって適切な重み係数を推定することができれば，
より一層の認識性能の向上が期待できる．


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


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

\bioauthor{石渡　太智}{
2017年早稲田大学大学院修士課程修了．
同年，NHKに入局．
2019年より放送技術研究所にて自然言語処理の研究に従事．
2021年より東京工業大学博士後期課程在学．
言語処理学会会員．
}

\bioauthor{後藤　　淳}{
1993年徳島大学大学院修士課程修了．
2014年総合研究大学院大学博士課程修了．
博士（情報学）．
1993年NHK入局．
ニューヨーク大学訪問研究員，（独）NICT専門研究員を経て，現在，NHK放送技術研究所で自然言語処理の研究に従事．
映像情報メディア学会，電子情報通信学会各会員．
}

\bioauthor{山田　寛章}{
2021年東京工業大学博士課程修了．博士（工学）．2022年4月より東京工業大学情報理工学院助教．
ACL，IAAIL，言語処理学会各会員．
}

\bioauthor{徳永　健伸}{
1985年東京工業大学大学院理工学研究科修士課程修了．同年（株）三菱総合研究所入社．現在，東京工業大学情報理工学院教授．博士（工学）．専門は自然言語処理，計算言語学．情報処理学会，人工知能学会，言語処理学会，計量国語学会，ACL，ACM各会員．
}

\end{biography}



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


\end{document}

