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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{footmisc}    % footnote package
%%%%\usepackage{array}
\usepackage{booktabs}
%%%%\usepackage{caption}
%%%%\captionsetup[table]{justification=centering, labelfont=bf}
%%%%\captionsetup[figure]{justification=centering, labelfont=bf}
%%%%\usepackage{color}
%%%%\usepackage{colortbl}
%%%%\usepackage{xcolor}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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


\received{2021}{11}{30}
\revised{2022}{4}{1}
\accepted{2022}{5}{11}

\setcounter{page}{835}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{Hie-BART: 階層型BARTによる生成型要約}
\jauthor{秋山　和輝\affiref{Ehime} \and 田村　晃裕\affiref{Doshisha} \and 二宮　　崇\affiref{Ehime} \and 梶原　智之\affiref{Ehime}}
\jabstract{%
本稿では，BART モデルに文書の階層構造（文-単語構造）を取り込んだ階層型 BART (Hie-BART) を提案する．既存の BART モデルは，生成型文書要約タスクにおいて高い要約精度を達成しているが，文レベルと単語レベルの情報の相互作用を考慮していない．一方，機械翻訳タスクでは，単語とフレーズ間の関係を把握する Multi-Granularity Self-Attention (MG-SA) が提案されており，この技術によってニューラル機械翻訳モデルの性能が向上されている．提案手法である Hie-BART モデルでは，BART モデルのエンコーダに MG-SA を組み込むことで，文と単語の階層構造を捉える．評価実験の結果，提案手法は CNN/Daily Mail データセットを用いた評価では ROUGE-L において 0.1 ポイントの改善が見られた．
}
\jkeywords{生成型文書要約，BART，階層構造}

\etitle{Hie-BART: Abstractive Summarization \\ by Hierarchical BART}
\eauthor{Kazuki Akiyama\affiref{Ehime} \and Akihiro Tamura\affiref{Doshisha} \and Takashi Ninomiya\affiref{Ehime} \and Tomoyuki Kajiwara\affiref{Ehime}}
\eabstract{%
 This paper proposes a new abstractive summarization model for documents, hierarchical BART (Hie-BART), which captures the hierarchical structures of documents (i.e., their sentence-word structures) in the BART model. Although the existing BART model has achieved state-of-the-art performance on document summarization tasks, it does not account for interactions between sentence-level and word-level information. In machine translation tasks, the performance of neural machine translation models can be improved with the incorporation of multi-granularity self-attention (MG-SA), which captures relationships between words and phrases. Inspired by previous work, the proposed Hie-BART model incorporates MG-SA into the encoder of the BART model for capturing sentence-word structures. 
    As for the improvement of summarization performance by the proposed method, the evaluation using the CNN/Daily Mail dataset shows an improvement of 0.1 points on ROUGE-L.
    \footnote[0]{本論文の内容の一部は，NAACL 2021 Student Research Workshop \cite{akiyama-2021-e}および言語処理学会第27回年次大会 \cite{akiyama-2021-j}で報告したものである．}
}
\ekeywords{Abstractive Document Summarization, BART, Hierarchical Structure}

\headauthor{秋山，田村，二宮，梶原}
\headtitle{Hie-BART: 階層型BARTによる生成型要約}

\affilabel{Ehime}{愛媛大学大学院理工学研究科}{Graduate School of Science and Engineering, Ehime University}
\affilabel{Doshisha}{同志社大学理工学部}{Faculty of Science and Engineering, Doshisha University}



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


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

自動要約技術は，要約作成時のアプローチによって抽出型と生成型の2種類の手法に分けられる．
抽出型自動要約は，入力文書中の重要と思われる文を識別・抽出し，抽出した文を結合させたものを要約とする方法である．
一方，生成型自動要約は，入力文書を中間表現に変換し，その中間表現を基に要約の文章を一から生成する方法である．
本研究では，生成型の自動要約モデルの技術に着目する．
生成型自動要約モデルでは，入力文書中にない単語も利用することができるため，自然な要約を生成することができ，ニュース記事や論文などの自動要約に役立つ．

%2
生成型自動要約や機械翻訳などの系列変換タスクでは，入力テキストから「文と単語」・「フレーズと単語」・「単語と文字」などの階層構造を捉えることで要約および翻訳精度の改善を実現している．
機械翻訳において，\citeA{Multi-Granu}は，Transformer \cite{Transformer}に基づくニューラル機械翻訳モデルにおいて，単語とフレーズの関係を考慮するMulti-Granularity Self-Attention (MG-SA)を提案している．
MG-SAは，入力テキストを複数の粒度（単語やフレーズ）に分解し，それぞれの粒度をMulti-head Self-Attention Networks (\textsc{San}s)の各ヘッドに割り当てる．
このMG-SAにより，単語間だけでなく単語とフレーズ間の相互作用をモデルに組み込むことが可能となる．
また，自動要約において，Hierarchical Neural Autoencoder \cite{Hierarchical_model}やHIBERT \cite{HIBERT}では，エンコーダやデコーダを単語および文レベルに階層化することで，
単語と文の階層構造を考慮している．
これらのモデルでは，入力テキストに対し単語単位での処理に加え文単位でも処理することで，文と単語間の関係性を考慮している．

%3
近年，生成型自動要約は，ニューラルネットワークに基づくエンコーダ・デコーダモデルが出現したことで，要約の品質が大きく向上した \cite{AbsSumBase}．
その中でも，高い精度を報告しているモデルの多くが事前学習 \cite{BERTSUM,T5,BART}を導入している．
既存の事前学習モデルの中でも，BARTモデル \cite{BART}は高い精度での自動要約を可能にしている．
BARTモデルはTransformerモデル \cite{Transformer}をベースとした事前学習モデルで，5つの事前学習法による実験を行っている．
BARTモデルは高性能なモデルだが，要約生成時に文書の階層構造をとらえる構造にはなっておらず，文と単語間の関係性が組み込まれていない．
よって，BARTモデルにおいても文レベルの情報を捉えることで，さらなる精度向上が見込める．

%4
そこで本研究では，MG-SAの概念をBARTモデルに適用し，文と単語の階層的な関係を考慮した要約を可能とする手法として，Hierarchical-BART (Hie-BART) を提案する．
具体的には，入力文書を単語レベルと文レベルの情報に分割し，BARTにおけるエンコーダの\textsc{San}s層では，単語レベルの関連を計算するだけではなく，一部のヘッドにおいて文レベルの関連を計算する．そして，単語レベルと文レベルのマルチヘッドの出力を結合させることで，単語レベルと文レベルの双方を考慮した要約生成を行う．
ここで，MG-SAはフレーズ単位での処理を行うのに対し，Hie-BARTでは文単位で処理を行う．
本研究では，自動要約における単語と文の階層構造を利用した従来研究に基づいて応用するため，フレーズ単位ではなく文単位で処理を行う．

%5
実験の結果，BARTに比べ提案手法では，ROUGE-L \cite{ROUGE}のF値が，CNN/DailyMailデータセットでは0.1ポイント改善することを確認した．
また，分析の結果，マルチヘッドにおいて，文レベルのヘッドを多く含むよりも，単語レベルのヘッドを多く含む方がより精度の高い要約を生成することが確認できた．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{従来のニューラルネットワークに基づく生成型自動要約モデル}

ニューラルネットワークに基づく生成型自動要約モデルの基礎として，LSTMをベースとしたPointer Generator Networks \cite{PTGEN}モデルがある．
このモデルは，CopyNetモデル \cite{CopyNet}およびForced-Attention Sentence Compressionモデル \cite{Forced-Attention}の手法を応用し，単語の生成時に要約元文書からの単語のコピーを同時に行うことで，未知語への対処をしている．
また，このモデルでは，入力文書中の内容が要約に含まれた度合いを示すcoverage vector \cite{CoverageVector}を利用したCoverage Mechanismという機構が適用されている．
この機構により，生成した要約内で同じ内容が繰り返される問題を軽減している．

文レベル情報を利用した自動要約モデルとして，LSTMをベースとしたHierarchical Neural Autoencoder \cite{Hierarchical_model}がある．
このモデルでは，文章をエンコードおよびデコードする際，単語単位での処理に加え文単位でも処理することで，文と単語間の関係性を考慮している．
これにより，単語と文の階層構造を考慮でき，要約性能を向上させている．
また，このモデルを応用し，エンコーダ部分を階層化したHierarchical networks \cite{Hierarchical_networks}がある．
Hierarchical Neural Autoencoderが文レベルでのアテンションのみを算出しているのに対し，Hierarchical networksでは，文レベルと単語レベルの両方のアテンションを算出している．

また，事前学習モデルであるBERT \cite{BERT}をベースとした\textsc{BertSum} \cite{BERTSUM}やHIBERT \cite{HIBERT}がある．
BERTモデルは，Transformerエンコーダ \cite{Transformer}をベースとした，様々なタスクに適応可能な事前学習モデルである．
自動要約タスクでは，\textsc{BertSum} \cite{BERTSUM}や，HIBERT \cite{HIBERT}においてBERTが適用されている．
\textsc{BertSum}モデルは，BERTモデルを自動要約タスクに適応させたモデルで，抽出型および生成型要約モデルとして利用可能なモデルである．
\textsc{BertSum}モデルでは，各文の先頭に特殊トークン（[CLS]トークン）を付与し，単語間の情報に加え文間の情報を捉えるようにしている．
HIBERTモデルは，BERTモデルをベースとした抽出型要約モデルである．
HIBERTモデルでは，エンコーダ部分を文レベルおよび単語レベルに階層化し事前学習をすることで，単語と文の階層構造を考慮している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{BART}

BARTモデル \cite{BART}は，Transformerモデル \cite{Transformer}の構造をベースとした，汎用的な事前学習モデルである．
BARTモデルの事前学習法を図\ref{fig:bart_pre}に示す．
事前学習の手法として，Token Masking，Sentence Permutation，Document Rotation，Token Deletion，Text Infillingの5つの手法を提案している．
この5つの手法のうち，Sentence Permutation と Text Infillingを組み合わせたものが最高精度となっており，最終的な評価時に使用されている．
Token Maskingは，BERT \cite{BERT}と同じ手法で，ランダムにトークンをマスクし，復元する事前学習法である．
Sentence Permutationは，文書内の文の場所をランダムに交換した文書を元の文書に復元する事前学習法である．
Document Rotationは，文書中からランダムにトークンを選び，そのトークンから始まるように文書内のトークンをローテーションさせた文書を，元の文書に復元する事前学習法である．
Token Deletionは，元の文書からランダムにトークンを削除した文書を，元の文書に復元する事前学習法である．
Text Infillingは，SpanBERT \cite{SpanBERT}を基にした手法で，複数の単語列を一つのマスクトークンに置き換えたり，文中にマスクトークンを挿入した文書を，元の文書に復元する事前学習法である．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[b]
\begin{center}
\includegraphics{29-3ia4f1.pdf}
\end{center}
\caption{BARTモデルの事前学習法}
\label{fig:bart_pre}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

BARTモデルの概要図を図\ref{fig:bart_transformer}に示す．
BARTモデルは入力系列$\textbf{x} = x_0,x_1,\cdot\cdot\cdot,x_S$を出力系列$\textbf{y} = y_0, y_1,\cdot\cdot\cdot,y_T$に以下の式のように変換する．
\begin{align}
    \textbf{h} & = BartEncoder(\textbf{x})  \\
    \textbf{y} & = BartDecoder(\textbf{h})
\end{align}
ここで，\textbf{h}は中間表現，$BartEncoder$は図 \ref{fig:bart_transformer}の左部分，$BartDecoder$は図 \ref{fig:bart_transformer}の右部分である．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[t]
\begin{center}
\includegraphics{29-3ia4f2.pdf}
\end{center}
\caption{BARTモデルの概要図}
\label{fig:bart_transformer}
\vspace{-1\Cvs}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

BARTのエンコーダとデコーダは，Embedding層を持ち，それぞれ，入力系列と出力系列内の各単語を$d$次元のEmbeddingベクトルに変換する．
BARTエンコーダ，BARTデコーダでは，それぞれ，レイヤをN層積み重ねている．
エンコーダの各レイヤは，下位から順に，Self-Attention 層，単語位置毎の全結合層（FeedForward層）の2つのサブレイヤで構成される．
デコーダの各レイヤは，下位から順に，Self-Attention層，エンコーダとデコーダ間のAttention層，FeedForward層の3つのサブレイヤで構成される．
また，各サブレイヤ間では，残差接続 \cite{Residual}およびLayer Normalization \cite{Normalize}が適用される．
エンコーダとデコーダ内のSelf-Attention層およびエンコーダとデコーダ間のAttention層の計算は以下の式のようになる．
\begin{equation}
    Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V
    \label{T_attn}
\end{equation}
ここで，$Q，K，V$はエンコーダあるいはデコーダの隠れ状態，$d_k$は$Q，K，V$の次元数である．
Self-Attention層では，$Q，K，V$は同一の入力源（エンコーダではエンコーダ内の隠れ状態，デコーダではデコーダ内の隠れ状態）を用い，同一文中の単語間の関連度を計算する．
エンコーダとデコーダ間のAttention層では，$Q$にはデコーダの隠れ状態，$K，V$ はエンコーダからの最終出力を用い，入力系列の各単語と出力系列の単語との関連度を計算する．

また，エンコーダとデコーダ間のAttention層およびSelf-Attention層はMulti-head Self-Attention Network (\textsc{San}s) の手法を利用することで性能を向上させている．
$h$個ヘッドの\textsc{San}sは以下の式のように計算する．
\begin{align}
    \textsc{San}s(Q,K,V) & = Concat(head_1,\dots,head_h)W^O  \\
    head_i & = Attention(QW^Q_i,KW^K_i,VW^V_i)
\end{align}
ここで，$W^Q_i，W^K_i，W^V_i, W^O$は学習可能なパラメータ，$Concat$は行列の結合である．
\textsc{San}sでは，式(\ref{T_attn})の$d_k$は$d_k = d/h$となる．
最終的に，BARTデコーダは，最終層の出力から全結合層 (Linear) とSoftmax層によって出力単語の確率分布を算出する．

ここで，エンコーダは双方向モデル，デコーダは自己回帰モデルとなっている．
この事前学習済みBARTモデルは，様々なタスクに合わせてfine-tuningされる．
自動要約タスクでは，要約元文書がエンコーダに与えられ，デコーダで文書の要約を生成する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{階層構造を考慮したテキスト生成}

機械翻訳において，入力テキストにおける文章の階層構造を考慮するためにMulti-Granularity Self-Attention (MG-SA)  \cite{Multi-Granu}がある．
本節では，MG-SAについて概説する．
MG-SAは，入力テキストを複数の異なる粒度の要素（単語とフレーズ）に分け，各粒度の要素をMulti-head Self-Attention Network (\textsc{San}s) の各ヘッドに割り当てることで異なる粒度の情報を捉える方法である．
この手法ではまず，次のように，\textsc{San}sの入力$H$からフレーズレベルの情報を表す行列$H_g$を生成する．
\begin{equation}
H_g = F_h(H)
\end{equation}
ここで，$F_h(\cdot)$は$h$番目のヘッドに対するフレーズレベルの入力を生成する関数である．
具体的には，$F_h(\cdot)$は，単語レベルのベクトルに対してMax Poolingを適用することでフレーズレベルのベクトルを生成する．

この生成されたフレーズレベルの入力を用いて，\textsc{San}sを次のように実行する．
\begin{align}
Q^h, K^h, V^h &= H W^h_Q, H_g W^h_K, H_g W^h_V \\
O^h &= \textbf{ATT}(Q^h, K^h) V^h
\end{align}
ここで，$Q^h \in \textbf{R}^{n \times d_h}, K^h \in \textbf{R}^{p \times d_h} , V^h \in \textbf{R}^{p \times d_h}$，${W_Q^h, W_K^h, W_V^h} \in \textbf{R}^{d \times d_h}$であり，$d$は隠れ層の次元数，$d_h$は各ヘッドの次元数，$n$は単語レベルのベクトルの次元数，$p$はフレーズレベルのベクトルの次元数である．
また，\textbf{ATT(X,Y)}はXとYのアテンション重みを算出する関数である．
この演算により，\textsc{San}sにおける各ヘッドの出力$O^h$が生成される．
その後，全てのヘッドの出力を結合させたものが，入力$H$に対するMG-SAの出力となる．
\begin{equation}
 \textbf{MG-SA(H)} = [O^1, ..., O^M],
\end{equation}
ここで，$M$はMulti-headのヘッド総数を示す．
各ヘッドの出力\textbf{$O^h$}は，単語間の情報を含んでいるものや，単語とフレーズ間の情報を含んでいるものがある．
したがって，MG-SAを使うことで，単語間の関連性に加えて，単語間とフレーズ間の関連性を捉えることができる．


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

本研究では，文と単語の階層的な関係を考慮するため，MG-SAの概念をBARTモデルに適用したHie-BART (Hierarchical-BART) を提案する．
Hie-BART (Hierarchical-BART) モデルでは，エンコーダは，通常のBARTモデルが備えている単語同士の関連性を捉える単語レベルのMulti-head Self-Attention Networks (\textsc{San}s) に加えて，文と単語間の関連性を捉える文レベルの\textsc{San}sを備えている．
Hie-BARTの概要図を図 \ref{fig:proposed} に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 3
\begin{figure}[b]
\begin{center}
\includegraphics{29-3ia4f3.pdf}
\end{center}
\caption{Hie-BARTのモデル図}
\label{fig:proposed}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

エンコーダにおいて，入力テキストをEmbedding層に通した後，単語と文間の階層構造情報を捉えるため，単語レベル\textsc{San}sと文レベル\textsc{San}sの計算を行う．
ここで，各文を区別するために，入力テキスト中の各文の先頭には$[BOS]$トークンを付与している．
文レベルの\textsc{San}sでは，文レベルの情報を得るために，Create Sentence Level Vector層で単語レベルの入力から文レベルの入力を作成した後，アテンションの計算を行う．
各ヘッドでアテンションの計算が終了したら，単語レベル情報と文レベル情報を組み合わせるために，単語および文レベルの出力をConcatenate層で結合し，次層のFeed Forward層への入力とする．

ここで，単語レベルおよび文レベルの\textsc{San}s計算からConcatenate層で結合するまでの動作をMG-\textsc{San}sとすると，以下のような式で表される．
\begin{equation}
  \textbf{MG-\textsc{San}s(W, S)} = [O^1, ..., O^{H}]
\end{equation}
ここで，\textbf{W}，\textbf{S}はそれぞれ単語レベルおよび文レベルの入力，$H$は\textsc{San}sのヘッド総数，$O^i$はMG-\textsc{San}sのヘッド$i$の出力である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Create Sentence Level Vector層}
\label{sec:CreateSentence}

Create Sentence Level Vector層の動作例を図 \ref{fig:CreateSent}に示す．
$E_{w_{ij}}$および$E_{[BOS]}$は単語$w_{ij}$（$i$番目の文中の$j$番目の単語）および$[BOS]$トークンの埋め込みベクトルである．
$E_{s_i}$は単語レベルの埋め込みベクトルから生成された文$s_i$（$i$番目の文）の文レベルの埋め込みベクトルである．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 4
\begin{figure}[b]
\begin{center}
\includegraphics{29-3ia4f4.pdf}
\end{center}
\caption{Create Sentence Level Vector層の動作例}
\label{fig:CreateSent}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

文レベルの情報を得るために，Create Sentence Level Vector層において，単語レベルの埋め込みベクトルからAverage Poolingにより文レベルの埋め込みベクトルを生成する．
具体的には，単語系列$W=(w_{1},...,w_{N})$（各$w_{i}$は単語）が入力として与えられた場合，まず，単語系列$W$を文分割し，文系列$S=(s_{1},...,s_{M})$（各$s_{i}$は文）を得る．
ここで，$N$は総単語数，$M$は総文数を示す．
そして，$S$の各要素（各文）に対して，次のようにAverage Poolingを適用する．
\begin{equation}
  g_m = \textbf{AVG}(s_m)
\end{equation}
ここで，\textbf{AVG(・)}はAverage Poolingを実行する関数である．
これにより，各文に対する埋め込みベクトル$G=(g_{1},...,g_{M})$を生成する．
実際には，$W$と$S$の各要素は埋め込みベクトルとなる．
例えば，図 \ref{fig:CreateSent}において，$E_{s_1}$を生成する場合は，[$E_{[BOS]},E_{w_{11}},E_{w_{12}},E_{w_{13}}$]に対してAverage Poolingを適用する．
以上のように生成された$G$を文レベルの\textsc{San}sの入力とする．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Concatenate層}

単語レベル情報と文レベル情報を組み合わせるために，Concatenate層において，単語レベル\textsc{San}sと文レベル\textsc{San}sの出力を結合させる．
Concatenate層では，次のような単語レベル\textsc{San}sと文レベル\textsc{San}s層の出力が入力となる．
\begin{align}
  \textbf{Word\textsc{San}s(W)} & = [O^1_w, ..., O^{H}_w] = O^{ALL}_w \\
  \textbf{Sentence\textsc{San}s(G)} & = [O^1_s, ..., O^{H}_s] = O^{ALL}_s
\end{align}
$O^{ALL}_w$は単語レベルの\textsc{San}sの出力であり，$O^i_w$は単語レベルの\textsc{San}sのヘッド$i$の出力である．
一方で，$O^{ALL}_s$は文レベルの\textsc{San}sの出力であり，$O^i_s$は文レベルの\textsc{San}sのヘッド$i$の出力である．
ここで，$H$は\textsc{San}sのヘッド数を示す．
Concatenate層では，この単語および文レベルの\textsc{San}sの出力結果を次のように結合させる．
\begin{equation}
  \textbf{CONCAT}(O^{ALL}_w,O^{ALL}_s,j) = [O^1_w,...,O^{j}_w,O^{j+1}_s,..., O^H_s]
\end{equation}
ここで，$j$は結合点である．
$H$個のMulti-headの内，1から$j$までのヘッドを単語レベルの出力とし，$j+1$から$H$までのヘッドを文レベルの出力として結合する．

Hie-BART内のConcatenate層の動作例を図 \ref{fig:Concat}に示す．
図 \ref{fig:Concat}は，Multi-headのヘッド数が6で，結合点$j$が4の場合の動作を示している．
単語レベルの\textsc{San}sの出力である$[O^1_w, ..., O^6_w]$と，
文レベルの\textsc{San}sの出力である$[O^1_s, ..., O^6_s]$が結合点$j=4$で結合された$[O^1_w, O^2_w, O^3_w, O^4_w, O^5_s, O^6_s]$がConcatenate層の出力となる．
以上のように生成されたConcatenate層の出力を次層のFeed Forward層への入力とする．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 5
\begin{figure}[t]
\begin{center}
\includegraphics{29-3ia4f5.pdf}
\end{center}
\caption{Concatenate層の動作例（ヘッド数が6の場合）}
\label{fig:Concat}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験}
\label{sec:Experiments}

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

データセットは，英文ニュース記事の要約コーパスであるCNN/DailyMailデータセット\footnote{\label{foot:cnn}CNN/DailyMailデータセットのダウンロードベージ: \url{https://github.com/abisee/cnn-dailymail}} \cite{CNN/DailyMail} およびXSumデータセット\footnote{\label{foot:xsum}XSumデータセットのダウンロードページ: \url{https://github.com/EdinburghNLP/XSum}}  \cite{XSum}を使用した．
\linebreak
CNN/DailyMailデータセットは，学習データが287,226対， 開発データが13,368対， テストデータが11,490対で構成されている．
要約元文書は平均781トークン，要約文は平均56トークンである．
また，XSumデータセットは，学習データが204,045対， 開発データが11,332対， テストデータが11,334対で構成されている．
要約元文書は平均431トークン，要約文は平均23トークンである．
%%%%データの前処理について，トークン化はCNN/DailyMailダウンロードページ\footref{foot:cnn}およびXSumダウンロードページ\footref{foot:xsum}の通りに行い，
    データの前処理について，トークン化はCNN/DailyMailダウンロードページ{\kern0pt}$^{1}$およびXSumダウンロードページ{\kern0pt}$^{2}$の通りに行い，
BPE \cite{BPE}の使用などはfairseq \cite{fairseq}による前処理\footnote{\label{foot:BART}fairseqによるBARTの利用法: \url{https://github.com/pytorch/fairseq/tree/master/examples/bart}}に基づいて行った．


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

Hie-BARTモデルの実装は，fairseqによるBARTモデルのコードを基に改良することで実装した．
%%%%また，事前学習済みのモデルはfairseqのモデル「bart.large」\footref{foot:BART}を使用した．
    また，事前学習済みのモデルはfairseqのモデル「bart.large」{\kern-0.5zw}$^{3}$を使用した．
BARTをfine-tuningする際，CNN/DMデータセットでは，勾配累積のハイパーパラメータupdate-freqを10，最大エポック数max-epochを6，総学習ステップ数を20,000とした．
XSumでは，update-freqを10，max-epochを10，総学習ステップ数を15,000とした．
また，提案手法Hie-BARTのハイパーパラメータは，Multi-headのヘッド数を16，単語レベルと文レベルの\textsc{San}sにおける出力の結合ヘッド数の割合を「単語:文 = 14:2」とした．
結合ヘッド数の割合のハイパーパラメータは開発データで調整した．
表\ref{tab:Multi-head-ROUGE}に示す通り，開発データにおいて最も性能がよかった割合を採用している．
このハイパーパラメータに関しては，\ref{sec:Analysis} 章にて考察する．
%%%%その他のハイパーパラメータはfairseqによる設定\footref{foot:BART}を用いた．
    その他のハイパーパラメータはfairseqによる設定{\kern0pt}$^{3}$を用いた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[b]
\input{04table01.tex}
\caption{データセット}
\label{tab:dataset}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{結果}
\label{sec:Results}

実験結果を表\ref{tab:ROUGE}と表\ref{tab:ROUGE_XSum}に示す．
表\ref{tab:ROUGE}にCNN/DailyMail，表\ref{tab:ROUGE_XSum}にXSumのテストデータによる結果を示している．
評価指標として，ROUGE-1，ROUGE-2，ROUGE-LのF値  \cite{ROUGE}を用いた．
ROUGEスコアの算出には，files2rouge\footnote{files2rouge利用法: \url{https://github.com/pltrdy/files2rouge}}を利用した．
ROUGEのオプションとして，95\%信頼区間を利用，ステミングは無し，ストップワード除去の有無は無しとした．
ROUGEオプションの引数は，``-c 95 -r 1000 -n 2 -a''とした．
実験では，提案手法のHie-BARTモデルを，非階層の通常のBARTモデルに加えて，LEAD-3 \cite{LEAD3}，PTGEN \cite{PTGEN}，PTGEN+COV \cite{PTGEN}，\textsc{BertSumExtAbs} \cite{BERTSUM}，T5 \cite{T5}と比較した．
ベースラインのBARTモデルとして，我々の計算機環境で再現したBARTモデルの結果 (BART (ours)) に加えて，Lewisら \cite{BART}で報告されている結果も示している．
なお，BART (ours)およびHie-BART (ours)の結果については，3回の試行結果の平均を掲載している．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[tb]
\input{04table02.tex}
\caption{各モデルの要約性能（CNN/DMテストデータでの性能）}
\label{tab:ROUGE}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[tb]
\input{04table03.tex}
\caption{各モデルの要約性能（XSumテストデータでの性能）}
\label{tab:ROUGE_XSum}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:ROUGE}より，CNN/DailyMailデータセットでは提案手法Hie-BARTはROUGE-LのF値において，我々が再現したBARTからは，0.1ポイント改善していることが分かる．
また，表\ref{tab:ROUGE_XSum}より，XSumデータセットでは提案手法Hie-BARTはROUGE-1/2/LのF値において，我々が再現したBARTからほぼ同等の性能であることが分かる．
これらの結果より，CNN/DailyMailデータセットにおいて提案手法が有効であることを確認できた．

なお，XSumデータセットにおけるハイパーパラメータはfairseqのデフォルト値を用いた\footnote{CNN/DMで使用したハイパーパラメータも試したが，開発データにおいてfairseqのデフォルト値 (\url{https://github.com/pytorch/fairseq/blob/main/examples/bart/README.summarization.md}) の方が良かった．ただし，Lewis ら \cite{BART}の値には及ばなかった．}．
ただし，メモリの都合上，update-freqを10としている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{考察}
\label{sec:Analysis}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{ヘッド数の割合による性能比較}

提案手法は，Concatenate層で単語レベルと文レベルのヘッドの出力を特定の割合で結合する．
この割合の変化で提案手法の性能がどう変わるかを考察する．
表\ref{tab:Multi-head-ROUGE}に，結合時の単語レベルと文レベルのヘッドの割合を変えた時の提案手法の開発データにおける性能を示す．
ヘッド数の割合はハイパーパラメータとして手動で調節しており，表 \ref{tab:Multi-head-ROUGE} の最左列に示されている．
最左列が「単語:文 = x:y」の場合，単語レベルのヘッド数がx，文レベルのヘッド数がyを表す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[b]
\input{04table04.tex}
\hangcaption{単語レベルと文レベルのヘッド数の割合による性能比較（CNN/DMおよびXSum開発データでの性能）}
\label{tab:Multi-head-ROUGE}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

表\ref{tab:Multi-head-ROUGE}より，CNN/DMおよびXSumデータセットの両方で，``単語:文 = 14:2''の場合がROUGE-1/2/Lスコアの平均が最大になっていることが確認できる．
また，単語レベルに比べて文レベルのヘッド数の割合が少ない方が，ROUGEスコアが高くなる傾向にあることが分かる．
また，単語レベルのヘッド数を8以下に減らしていく方向は，精度の改善が見られなかったので表 \ref{tab:Multi-head-ROUGE}には掲載していない．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Create Sentence Level Vector層におけるPooling}

\ref{sec:CreateSentence}節のCreate Sentence Level Vector層では，
\pagebreak
単語レベルのベクトルから文レベルのベクトルを作成する際にAverage poolingを利用している．
一方，従来手法であるMG-SAでは，単語レベルのベクトルからフレーズレベルのベクトルを作成する際にMax poolingを利用している．
そこで，文レベルベクトルの作成において，Max poolingとAverage poolingを利用した場合の，それぞれの要約性能の比較を行う．
表\ref{tab:PoolingROUGE}にPooling毎の要約性能比較を示す．
データとして，CNN/DailyMailデータセットの開発データを利用している．
なお，結果については，3回の試行結果の平均を掲載している．

表\ref{tab:PoolingROUGE}より，Average poolingを利用したモデルの方が，Max poolingを利用したモデルに比べ，ROUGEスコアが全体的に向上していることが確認できる．
この結果より，本研究において，単語レベルのベクトルから文レベルのベクトルを作成する際は，Max poolingよりもAverage poolingを利用することで精度の向上が確認できる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[b]
\input{04table05.tex}
\caption{Pooling毎の要約性能比較（CNN/DM開発データでの性能）}
\label{tab:PoolingROUGE}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{要約例}

表\ref{tab:Example}にベースラインモデル (BART) と提案モデル (Hie-BART) によるROUGEスコアの高い要約例と，正解要約の例を示す．
表\ref{tab:Example}の提案モデルによる要約は，正解要約の内容に近い流暢な要約であり，提案モデルの要約が要約元文書の重要な部分を含んでいることを示している．

ROUGEスコアの低い要約例を表\ref{tab:Example_bad}に示す．
この例では，ベースラインモデルの要約と提案モデルの要約はほぼ同じ内容を含んでおり，正解要約の内容からは遠く，長い文章となっている．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[p]
\input{04table06.tex}
\caption{精度の高い要約例（要約元文書は一部省略している）}
\label{tab:Example}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[tp]
\input{04table07.tex}
\caption{精度の低い要約例}
\label{tab:Example_bad}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{要約の文長比較およびROUGEスコアの詳細比較}

従来手法のBARTによる要約，提案手法のHie-BARTによる要約，正解要約のそれぞれの文長の比較を行う．
表\ref{tab:summarylen}に，テストデータにおける各モデルの出力要約の文長を示す．
表\ref{tab:summarylen}より，CNN/DailyMailデータセットおよびXSumデータセットにおいて，要約の平均的な文長は，従来手法BARTに比べ提案手法Hie-BARTによる要約の方が短くなっており，正解要約の平均文長に近づいていることが分かる．

また，\ref{sec:Results}節に示した従来手法BARTと提案手法Hie-BARTのROUGEスコアの詳細として，Precision，Recall，F値の結果を掲載し比較する．
表\ref{tab:DetailROUGECNNDM}にCNN/DailyMailデータセットでの結果，表\ref{tab:DetailROUGEXSum}にXSumデータセットでの結果を示す．
なお，結果については，3回の試行結果の平均を掲載している．
表\ref{tab:DetailROUGECNNDM}，\ref{tab:DetailROUGEXSum}より，提案手法Hie-BARTは従来手法BARTに比べ，Recallのスコアが低下し，Precisionのスコアが上昇している．
この結果より，提案手法Hie-BARTでは従来手法よりも短い要約で，同等かそれ以上の精度の要約を生成していることが確認できる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[t]
\input{04table08.tex}
\caption{テストデータにおける各モデルの平均要約文長（単語数）}
\label{tab:summarylen}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 9
\begin{table}[t]
\input{04table09.tex}
\caption{各モデルの要約性能詳細（CNN/DMテストデータでの性能）}
\label{tab:DetailROUGECNNDM}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 10
\begin{table}[t]
\input{04table10.tex}
\caption{各モデルの要約性能詳細（XSumテストデータでの性能）}
\label{tab:DetailROUGEXSum}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


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

本研究では，BARTにおけるエンコーダのSelf-Attention層を単語レベルと文レベルに分割し計算することで，単語と文間の関係性を考慮するHie-BARTを提案した．
BARTを階層化することにより，CNN/DailyMailデータセットにおいて，ROUGE-LのF値が0.1ポイント改善することを確認した．

今後は，単語間や単語と文間の情報に加え，文同士の関係を取り入れる手法に拡張する予定である．
また，本研究ではROUGEスコアに基づく評価を行ったが，原文書への忠実性に基づく評価を行うことを検討している．


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

本研究はJSPS科研費JP21K12031の助成を受けたものです．


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



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

\bioauthor{秋山　和輝}{%
2020年愛媛大学工学部情報工学科卒業．2020年より同大学院理工学研究科修士課程に在学．
}

\bioauthor{田村　晃裕}{%
2005年東京工業大学工学部情報工学科卒業．2007年同大学院総合理工学研究科修士課程修了．2013年同大学院総合理工学研究科博士課程修了．日本電気株式会社，国立研究開発法人情報通信研究機構にて研究員として務めた後，2017年より愛媛大学大学院理工学研究科助教．2020年より同志社大学理工学部准教授となり，現在に至る．博士（工学）．情報処理学会，言語処理学会，人工知能学会，ACL各会員．
}

\bioauthor{二宮　　崇}{%
1996年東京大学理学部情報科学科卒業．1998年東京大学大学院理学系研究科情報科学専攻修士課程修了．2001年同大学院博士課程修了．同年より科学技術振興事業団研究員．2006年より東京大学情報基盤センター講師．2010年より愛媛大学大学院理工学研究科准教授，2017年同教授．博士（理学）．言語処理学会，アジア太平洋機械翻訳協会，情報処理学会，人工知能学会，電子情報通信学会，日本データベース学会，ACL各会員．
}

\bioauthor{梶原　智之}{%
愛媛大学大学院理工学研究科助教．2013年長岡技術科学大学工学部電気電子情報工学課程卒業．2015年同大学大学院工学研究科修士課程修了．博士（工学）．大阪大学データビリティフロンティア機構の特任助教を経て，2021年より現職．情報処理学会，人工知能学会，言語処理学会，ACL各会員．
}
\end{biography}



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




\end{document}

