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


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

%%%%%\usepackage{comment}
%%%%%\usepackage{here}
\usepackage{multirow}
%%%%%\allowdisplaybreaks

\usepackage{hangcaption_jnlp}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

\received{2023}{11}{27}
\revised{2024}{2}{29}
\accepted{2024}{4}{9}

\setcounter{page}{958}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{日本語のNLPタスクに対して有効な\\Data Augmentation手法}
\jauthor{高萩　恭介\affiref{Author_1} \and 古宮嘉那子\affiref{Author_2} \and 新納　浩幸\affiref{Author_3}}

\jabstract{%
Data Augmentation は，教師あり学習におけるモデルの性能を改善させるために，訓練データを水増しする手法である．Data Augmentation は，Computer Vision の分野において広く研究・利用されているが，自然言語処理においては未発展であるといえる．本論文では，我々がこれまでに考案した日本語の自然言語処理タスクに用いることができる Data Augmentation の手法を二つ取り上げる．一つは，文に含まれる単語を，BERT の Masked Language Modeling を用いて別の単語に置換する手法である．もう一つは，文の係り受け関係が崩れないように文節の順序をシャッフルする手法である．これら 2つの手法の概要や変換方法について示した後，各手法がどのようなタスクで効果を発揮するのかについて述べる．
}
\jkeywords{Data Augmentation, JGLUE, JSICK, BERT, RoBERTa}

\etitle{Effective Data Augmentation Methods \\for Japanese NLP Tasks}
\eauthor{Kyosuke Takahagi\affiref{Author_1} \and Kanako Komiya\affiref{Author_2} \and Hiroyuki Shinnou\affiref{Author_3}} 

\eabstract{%
Data augmentation is a technique used for augmenting training data to
improve the model performance in supervised learning and has been
widely used in the field of computer vision. However, the technique
remains underdeveloped in natural language processing. In this study,
we focus on two data augmentation methods that can be used for
Japanese natural language processing tasks. The first method involves
replacing a word in a sentence with another word using the masked
language model of a different BERT from that used in the analysis and
inference. The second method involves shuffling the order of phrases
so that the dependency relations of the sentences are not broken. In
this study, we provide an overview of each method and its
corresponding conversion and then describe the tasks for which each
method is effective.
}
\ekeywords{Data Augmentation, JGLUE, JSICK, BERT, RoBERTa}

\headauthor{高萩，古宮，新納}
\headtitle{日本語のNLPタスクに対して有効な Data Augmentation手法}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\affilabel{Author_1}{茨城大学大学院理工学研究科情報工学専攻}{Major in Computer and Information Sciences, Graduate School of Science and Engineering, Ibaraki University}
\affilabel{Author_2}{東京農工大学大学院工学研究院先端情報科学部門}{Division of Advanced Information Technology＆Computer Science, Institute of Engineering, Tokyo University of Agriculture and Technology}
\affilabel{Author_3}{茨城大学大学院理工学研究科情報科学領域}{Domain of Computer and Information Sciences, Graduate School of Science and Engineering, Ibaraki University}

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


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

Data Augmentation（以下，DA）は，機械学習における訓練データの数を増やす
ための手法であり，モデルを学習する際に，そのモデルの汎化性能を向上させ
るために利用される．一般的には，既存の訓練データに何らかの変換を施した
データを生成することによって，訓練データを水増しする．

DAにおいてデータを変換する際には，モデルの学習に悪影響を与えない自然な
データを生成する必要がある．また，教師あり学習においてDAを用いるときは，
ラベル付きデータのラベルは変換せずにデータのみに変換を施すのが一般的で
ある．そのため，変換後のデータは，元のラベル付きデータのラベルと一貫性
を保っている必要がある．

しかし，自然言語処理で扱われるテキストデータは，画像データと比較して複
雑な構造を持つため，データに変換を施すことで不自然なデータが生成された
り，ラベルとの一貫性が損なわれたりする可能性が高い．そのため，自然言語
処理の分野において，DAを用いてモデルの汎化性能を向上させることは困難で
あるとされている．ただし，自然言語処理においても，いくつかの効果的
なDAの手法が考案されている．

我々はこれまでに，事前学習済みモデルであるBERT (Bidirectional Encoder
Representations from Transformers) \cite{devlin-etal-2019-bert} のMasked Language Modelingを
用いて，文に含まれる単語を別の単語に置換する手法 \cite{takahagi2021da}
と，文の係り受け関係が崩れないように文節の順序をシャッフルする手
法 \cite{takahagi2022da} の二つを提案した．また，いくつかの日本語の自然
言語処理タスクを解く際に，これらの手法を用いて訓練データセットを拡張す
ることで，モデルの性能が改善することを示した．本論文では，これらのDAの
手法における変換方法や手法の効果を検証した実験の結果についてまとめる．
また，これらの研究から得られた結果について改めて議論する．

本論文は，本節を含めて9節から構成される．2節では，自然言語処理におけ
るDAの研究に対する概況について述べた後，代表的な手法や本研究の提案手法
に関連する手法について概観する．3節では，本研究で提案する2つの手法の詳
細と，各手法におけるデータ変換の手順について示す．4節では，提案手法を評
価するために本論文で用いられるデータセット・ベンチマークについての概要
を示す．5節では，本論文で利用される事前学習済みの言語モデルについて，そ
の概要を示す．6節では，2つの提案手法を評価するために行われる実験の設定
について示す．7節では，6節で示した設定で行った実験の結果について示
す．8節では，実験で得られた結果をもとに，いくつかの観点から考察を行
う．9節では，本論文で示した研究についての内容とその成果について総括した
後に，今後の研究の展望について述べる．


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

DAは，画像処理分野で広く研究されており，画像の反転や切り抜きなどの幾何
学的な変換や色空間の変換，画像の混合など，様々な手法が存在す
る \cite{shorten2019survey}．

一方で，自然言語処理の分野では，画像処理で行われた研究に対して，二次的
に研究が行われることが多く，画像処理と比較してDAに関する研究の数もあま
り多くはない．これは，言語がもつ離散的な性質や複雑な意味・構文構造によっ
て，テキストデータをラベルを保持したまま変換することが難しいからとされ
る．しかし，自然言語処理においても，ラベルを保持したまま変換できる効果
的な手法はいくつか提案されている \cite{feng-etal-2021-survey,chen2023empirical}．

同義語置換は，自然言語処理における代表的なDAの手法である．これは，文に
含まれる一部の単語をその単語の同義語に置換する手法である．同義語は，予
め定義された辞書や単語の埋め込み空間における類似性に基づいて設定される．
さらに，文を局所的に修正する手法（文中の一部の単語を削除する，文中の単
語を2つ選んで入れ替える）によっても，文の意味を維持したまま文を変換する
ことが可能である．Weiらは，これらの簡単な操作を組み合わせたEDA (Easy
Data Augmentation) を提案している \cite{wei-zou-2019-eda}．
EDA は文書分類などで効果が示されているが，用いられているモデルは LSTM と CNN であり，
それらモデルよりも高性能な BERT を用いた場合には EDA の効果はないことが予想されている．
本論文の提案手法は BERT の利用を前提としている．


また，逆翻訳を利用したDAも研究されている \cite{xia-etal-2019-generalized,chen2020semi}．逆翻訳とは，文を別の言語に翻訳した後，元の言語に翻訳し直すことであり，機械翻訳を中心に多くのタスクで有効な手法である．
ただし逆翻訳による DA は双方向の機械翻訳システムが必要である．
また逆翻訳の結果は，理論的には，元の文から変化しない．
つまり逆翻訳の DA は翻訳の揺れを利用している形であり，
拡張されたデータがどのようなデータになるかを制御できない．
一方，本論文の 2 つの提案手法はどちらも拡張されるデータを制御できる．

また Guo らは画像処理の分野で利用される Mixup \cite{zhang2017mixup} を応用し，単語の埋め込み表現を混合する手
法 (wordMixup) と文の埋め込み表現を混合する手法 (senMixup) の2つを提案
している \cite{guo2019augmenting}．
senMixup や wordMixup は文書分類のような単純な識別のタスクには利用できるが，
意味類似度や含意関係認識などの複雑なタスクではどのように利用したらよいのかは
明らかではない．
一方，本論文の文節シャッフルによる DA は文書分類以外のタスクにも利用できる．

近年では，GPT-3をはじめとする大規模言語モデルを用いて拡張データを生成する手法も研究されている \cite{sahu-etal-2022-data,dai2023chataug}．
ただし大規模言語モデルによる DA には適切なプロンプトを設定しなくてはならず，
効果の高いプロンプトを発見する作業が必要になる．
また大規模言語モデルによる計算は，多大に時間がかかるため手軽に試せる手法ではない．
一方，本論文の 2 つの提案手法はどちらも簡易に実現できる．



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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.1
\subsection{複数のBERTを用いたData Augmentation}

BERTの事前学習で用いられるMasked Language Modeling (MLM) は，一部の単語
が[MASK]というトークンで隠された文が入力として与えられ，[MASK]に入る単
語を予測するためのモデルである．ここで提案する手法では，文に含まれる一
部の単語を[MASK]トークンで覆い，そのトークンに入る単語をMLMで予測する．
そして予測された単語で元の単語を置換することで，新たな文を生成する．

しかし，BERTを用いてなんらかのタスクを解く場合，それと同じBERTのMLMを利
用して単語置換を行っても効果はほとんどない．なぜなら，置換によって得ら
れる単語の知識は，タスクを解くために使われるBERTに既に含まれていると考
えられるからである．
そこで，本手法では，タスクを解くために利用されるモ
デルと単語置換のために利用されるモデルについて，互いに異なるコーパスで
事前訓練されたBERTを用いる．
このアイデアにより，タスクを解くため
のBERTには含まれない単語の知識を，DAを行うことで獲得できる．

本手法におけるテキストの変換は以下の手順で行う．
\begin{enumerate}
 \item BERTのTokenizerを用いてテキストをトークン化する．
 \item テキストを構成するトークンのうち，TF-IDFが最も高い名詞のトークンを選択し，それを[MASK]に置き換える．
 \item トークン列をBERT入力用のID列に変換する．
 \item ID列をBERTに入力し，出力されるMLMでの予測結果を取得する．
 \item 予測結果の中から，[MASK]に入ると予測される単語のうち上位100件を取得する．
 \item 取得単語のうち，次の条件を満たす最上位の単語を選択する．
 \begin{enumerate}
  \item その単語は名詞である．
  \item その単語は置き換え前の単語とは異なっている．
 \end{enumerate}
 \item 選択した単語で[MASK]を置き換える．
\end{enumerate}

上記の手順 (2) において名詞のトークンを選択するとあるが，トークンが名詞
であるかの判定については，MeCab（辞書はmecab-ipadic-NEologd）に入力し，
そのトークンの品詞を特定することによって実施する．また，トークン
を MeCabに入力したときに，万が一トークンがさらに複数の形態素に分割される
場合は1つ目の形態素の品詞で判定を行う．さらに，拡張に用いられるBERTモデ
ルがサブワードまで分割を行うトークナイザを利用している場合，サブワード
単位でTF-IDFの計算を行うため，サブワード自体を一つのトークンとして扱う．
そのため，[MASK]への置き換え対象のトークンがサブワードであった場合は，
そのサブワード自体に対して名詞かどうかの判定を行う\footnote{
なおこの際，単語の途中から始まるサブワードには，二つの先頭ハッシュ ``\#\#'' が付加されるため，
名詞と判定されることはない．}．

\mbox{図\ref{figure:複数のBERTを用いたDA-変換処理}}はこの変換の流れを表したものである．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F1
\begin{figure}[t]
\begin{center}
\includegraphics{31-3ia5f1.pdf}
\end{center}
\caption{複数のBERTを用いたDAにおける変換処理の流れ}
\label{figure:複数のBERTを用いたDA-変換処理}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S3.2
\subsection{文節シャッフルによるData Augmentation}

自然言語処理における簡単なDAの手法として，文をより細かい単位に分解し，
それらの順序を入れ替えるという方法が考えられる．しかし，この方法を日本
語の文に適用した場合，文法的におかしい不自然な文や元の文と異なる意味を
表す文等の，学習を行う上でノイズとなるような文が生成されてしまう可能性
が高い．そこで提案手法では，日本語の文を文節単位に分解後，係り受け関係
が崩れないようにシャッフルを行う．これにより，元の文と同じ意味を持つ自然な文を生成することができる．

本手法におけるテキストの変換は以下の手順で行う．
\begin{enumerate}
 \item （テキストが文章の場合）文単位に分割し，各文に対して以下の処理を行う．
 \item 文を文節単位に分割する．
 \item 係り先が述語ではない文節（述語は除く）をそれに続く文節と連結する．
 \item 連結後の節の順番をシャッフルする（述語の位置は最後尾のままにする）．
\end{enumerate}
\mbox{図\ref{figure:変換処理}}は例文に対して実際に変換処理を行ったときの様子を表したものである．
また，例文を係り受けの木構造で表すと\mbox{図\ref{figure:tree}}のようになる．
上記の手順 (3) を行うことで，\mbox{図\ref{figure:tree}}からわかるように，述語を除くすべての節は述語に係るようになる．
そのため，それらの節の順番を入れ替えても係り受け関係は保持される．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F2
\begin{figure}[t]
\begin{minipage}[b]{0.55\textwidth}
\centering
\includegraphics{31-3ia5f2.pdf}
\caption{文節シャッフルにおける変換処理の様子}
\label{figure:変換処理}
\end{minipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%F3
\begin{minipage}[b]{0.4\textwidth}
\centering
\includegraphics{31-3ia5f3.pdf}
\caption{例文を係り受けの木構造で表した図}
\label{figure:tree}
\end{minipage}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



文の文節への分割と各文節の係り先の特定には，Support Vector Machines に基づく日本語係り受け解析器であるCaboCha \cite{kudo-matsumoto-2002-japanese}を用いる．CaboChaを用いることで，入力として受け取った日本語の文を文節ごとに分割し，各文節の係り受けに関する情報を出力することが可能である．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4
\section{データセット・ベンチマーク}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.1
\subsection{livedoorニュースコーパス}
livedoorニュースコーパス\footnote{\url{https://www.rondhuit.com/download.html#ldcc}}は，NHN Japan株式会社が運営する「livedoor ニュース」の中から
ニュース記事を収集し，可能な限りHTMLタグを取り除いて作成したものである．
ニュース記事は合計で7,367件存在し，各ニュース記事には下記9種類のカテゴリが割り振られている．

\begin{itemize}
  \item 独女通信
  \item ITライフハック
  \item 家電チャンネル
  \item livedoor HOMME
  \item MOVIE ENTER
  \item Peachy
  \item エスマックス
  \item Sports Watch
  \item トピックニュース
\end{itemize}

本論文では，この9つのカテゴリに対してそれぞれ0から8までのラベルを割り当
てる．そして，ニュース記事とその記事のカテゴリに割り当てられたラベルを
併せて，ラベル付きデータとする．このラベル付きデータを一定数用意して，
文書分類用のデータセットとして利用する．このlivedoorニュースコーパスを
用いた文書分類は，複数のBERTを用いたDAと文節シャッフルによるDAの両方の
評価に用いる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2
\subsection{JGLUE}
JGLUEは，日本語の言語理解ベンチマークである \cite{kurihara-etal-2022-jglue}．
このベンチマークは文書分類タスクである MARC-ja と JCoLA，文ペア分類タス
クである JSTS と JNLI，QAタスクである JSQuAD と JCommonsenseQA の計6つ
のタスクから構成される（表\ref{tab:JGLUE}）．今回は，この中か
らMARC-ja，JSTS，JCommonsenseQAの3つのタスクを利用し，複数のBERTを用い
たDAを評価する．評価に利用しないタスクについては説明を省略する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T1
\begin{table}[b]
{\vskip -10pt}
\input{05table01.tex}
  \caption{JGLUEの構成}
  \label{tab:JGLUE}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2.1
\subsubsection{MARC-ja}
MARC-jaは文書分類用データセットであり，通信販売サイト「アマゾン」における商品レビューとそれに対する評価をまとめたコーパスである MARC (Multilingual Amazon ReviewsCorpus) \cite{keung-etal-2020-multilingual} の日本語部分を元に構築されている．MARC-jaに含まれる各データは商品レビューと，ラベルである評価の二つからなる．タスクは，ラベルがnegativeとpositiveかを当てる二値分類となっている．評価指標には正解率 (acc) が用いられている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2.2
\subsubsection{JSTS}
意味的類似度計算 (Semantic Textual Similarity, STS) とは，文ペアの意味的な類似度を推定するタスクである．JSTSはSTSのデータセットであり，YJ Captions Dataset \cite{miyazaki-shimizu-2016-cross} を利用して構築されている．JSTSの各データは文ペアとその類似度からなる．文ペアはYJ Captions Dataset に含まれる画像に対する2つのキャプションである．類似度は0（意味が完全に異なる）～5（意味が等価）の実数値となっており，その値はクラウドソーシングによって決定されたものである．評価指標にはPearson および Spearman 相関係数が用いられている．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.2.3
\subsubsection{JCommonsenseQA}
JCommonsenseQAは，CommonsenseQA \cite{talmor-etal-2019-commonsenseqa}というQAデータセットの日本語版で，常識推論能力を評価することができる．JCommonsenseQAに含まれる各データは，問題文とそれに対する5つの選択肢，正解の選択肢を示すラベルから構成される．この選択肢のうち，問題文に対する正しい解答となるのは1つだけである．評価指標には正解率 (acc) が用いられている．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S4.3
\subsection{JSICK}
JSICKは，英語の含意関係認識・意味的類似度判定用データセットであるSICK (Sentences Involving Compositional Knowledge) \cite{marelli-etal-2014-sick} を，人手で日本語に翻訳し，含意関係と意味的類似度の正解ラベルを再アノテーションしたものである \cite{谷中瞳2021}．

JSICKにおける含意関係の定義は元の SICKデータセットの定義に準拠している．前提文 Tと仮説文 H のペア (T,H) に対して，文 T が真であるとき文H が必ず真になる場合は「含意」ラベルが，文 H が必ず偽になる場合は「矛盾」ラベルが，どちらともいえない（文 T が真であるとしても文 H の真偽はわからない）場合は「中立」ラベルが付与されている．

JSICKは，予め訓練データとテストデータに分けられており，訓練データのうちのおよそ10\%が検証データとして利用される．JSICKに含まれるデータの例を表\ref{table:データの例}に，各データの量を表\ref{table:JSICK}にそれぞれ示す．1文あたりの平均単語数は13.2 単語，語彙数は2,432である．含意関係ラベルは中立が多い傾向にある．

本論文では，このデータセットを用いた含意関係認識によって，文節シャッフルによるDAを評価する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T2
\begin{table}[b]
\input{05table02.tex}
  \caption{JSICKに含まれるデータの例}
  \label{table:データの例}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T3
\begin{table}[t]
\input{05table03.tex}
  \caption{JSICKの各データの量}
  \label{table:JSICK}
{\vskip -15pt}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S5
\section{モデル}
本論文では，いくつかの自然言語処理のタスクによって，手法の評価を行う．このとき，タスクを解くためのモデルには，事前学習済みモデルであるBERTもしくはRoBERTa \cite{liu2019roberta} を用いる．また，実験で実際に使用するモデルは下記4種類のうちのいずれかである．

\begin{itemize}
  \item cl-tohoku/bert-base-japanese\footnote{\url{https://huggingface.co/cl-tohoku/bert-base-japanese}}（以下，tohoku-BERT）
  \item cl-tohoku/bert-base-japanese-v2\footnote{\url{https://huggingface.co/cl-tohoku/bert-base-japanese-v2}}（以下，tohoku-BERT-v2）
  \item ストックマーク株式会社が公開したBERTモデル\footnote{\url{https://qiita.com/mkt3/items/3c1278339ff1bcc0187f}}（以下，stockmark-BERT）
  \item rinna/japanese-roberta-base\footnote{\url{https://huggingface.co/rinna/japanese-roberta-base}}（以下，rinna-RoBERTa）
\end{itemize}

tohoku-BERTは，東北大学自然言語処理グループが公開しているBERTモデルである．このモデルは，事前学習用データに日本語 Wikipedia，トークナイザには MeCab（IPA辞書）と WordPieceが用いられている．
tohoku-BERT-v2は，tohoku-BERTから，トークン化で利用される辞書がIPA辞書ではなくUnidic 2.1.2辞書に変更され，事前学習に用いられるデータの数が増加している．
stockmark-BERTは，ビジネスに関するドメイン向けのBERTモデルであり，事前学習用データに日本語のビジネスニュース記事，トークナイザには MeCab (NEologd) が用いられている．
rinna-RoBERTaは，rinna株式会社が公開しているRoBERTaモデルである．このモデルは，事前学習用データに日本語CC-100と日本語 Wikipedia，トークナイザには SentencePieceが用いられている．



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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6.1
\subsection{複数のBERTを用いたDAを評価する際の設定}
複数のBERTを用いたDAは，livedoorニュースコーパスを用いた文書分類とJGLUEにおける3つのタスクによってそれぞれ評価を行う．それらの詳細な設定については，\ref{sec:BERT-livedoor}節と\ref{sec:BERT-JGLUE}節にそれぞれ示す．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6.1.1
\subsubsection{文書分類（livedoorニュースコーパス）による評価の設定}\label{sec:BERT-livedoor}
複数のBERTを用いたDAの評価に用いる文書分類データセットの詳細を表\ref{table:livedoor1}に示す．
訓練・検証・テストデータセットには各270件ずつデータが含まれている．また，それぞれのデータセットには9つのラベルのデータが同じ数だけ含まれている．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T4
\begin{table}[b]
\input{05table04.tex}
  \hangcaption{複数のBERTを用いたDAの評価に用いる文書分類データセット（livedoorニュースコーパス）の詳細}
  \label{table:livedoor1}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


簡単な操作によるDAは，訓練データの数が限られている場合にモデルの性能を向上させる効果が顕著に表れ，訓練データの数が十分に多い場合はその効果がわずかであると考えられている \cite{wei-zou-2019-eda}．
このタスクでは，訓練データ量が原因でDAによる効果を確認できない可能性を考慮し，訓練データの量を少量に設定している．


DAによって訓練データを変換するときは，ラベル（ニュース記事のカテゴリ）は元のままでデータ（ニュース記事のテキスト）のみに変換を加える．この変換処理を訓練データ270件のうち100件に対して行うため，拡張後の訓練データの数は370件（元のデータ270件+データの変換によって生成されるデータ100件）に増加する．

DAにおけるMLMを用いた単語置換には，tohoku-BERTとstockmark-BERTの2種類を利用する．一方で，文書分類を解くためのモデルとしても，tohoku-BERTとstockmark-BERTの2種類を用いる．モデルのトレーニングでは，損失関数に交差エントロピー誤差を，最適化アルゴリズムにSGD（確率的勾配降下法）を採用した．またハイパーパラメータは下記のように設定した．
\begin{itemize}
  \item 学習率：1e-3
  \item バッチサイズ：2
  \item エポック数：Early Stopping (patience = 5) を用いて決定
\end{itemize}
モデルの性能については，テストデータを分類した際の正解率 (acc) で評価する（モデルは1種類につき5つ構築し，その5つの中で検証データに対する正解率が最も高かったものを評価に用いる）．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6.1.2
\subsubsection{JGLUEによる評価の設定}\label{sec:BERT-JGLUE}
今回は，JGLUEに含まれるタスクのうち計3つ (MARC-ja，JSTS，JCommonsenseQA) を評価に利用する．そして，その3つのタスク全てにおいて，学習に用いる訓練データの数は6.1節と同様の理由で少量に設定する．具体的には，3つのタスクの訓練データをそれぞれ100件ずつとする．
また，JGLUEにおける各タスクには，train（訓練）/dev（検証）/test（テスト）データの3つが用意されているが，論文執筆時点ではどのタスクにおいてもテストデータが公開されていない．
そのため，各タスクにおいて，元の訓練データのうち実験に使わないデータの一部を検証データとして，元の検証データをテストデータとして使用することにする．各データセットの詳細を\mbox{表\ref{tab:jglue実験用}}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T5
\begin{table}[b]
\input{05table05.tex}
  \caption{複数のBERTを用いたDAの評価に用いる3つのデータセット（JGLUEを元に作成）の構成}
  \label{tab:jglue実験用}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

また，3つのタスクそれぞれにおけるDAを行う際の訓練データの変換方法を下記に示す．

\begin{itemize}
  \item MARC-ja（文書分類）では，ラベル (negative/positive) は元のままでデータ（商品レビュー）のみに対して変換を行う．
  \item JSTS（意味的類似度計算）では，類似度は元のままで文ペアのうち片方にのみ変換を行う．
  \item JCommonsenseQA (QA) では，質問文に対する5つの選択肢とラベル（正解の選択肢）は元のままで，質問文のみに対して変換を行う．
\end{itemize}

いずれのタスクにおいても，訓練データ100件全てに対して変換を行うため，拡張後の訓練データ数は200件（元のデータ100件+データの変換によって生成されるデータ100件）に増加する．

DAにおけるMLMを用いた単語置換には，3つのタスク全てでstockmark-BERTを利用する．
一方，タスクを解くためのモデルとしては，3つのタスク全てでtohoku-BERT-v2を用いる．モデルのトレーニングにおける各種設定は，全てのタスクについてバッチサイズを8とし，他の設定に関してはJGLUEを公開しているページ\footnote{\url{https://github.com/yahoojapan/JGLUE/tree/main/fine-tuning}}を参考にした．また，モデルは1種類につき5つ構築し，その5つのモデルの評価の平均値を最終的な評価に用いる．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6.2
\subsection{文節シャッフルによるDAを評価する際の設定}
文節シャッフルによるDAは，livedoorニュースコーパスを用いた文書分類とJSICKを用いた含意関係認識によってそれぞれ評価を行う．それらの詳細な設定については，\ref{sec:shuffle-livedoor}節と\ref{sec:shuffle-JSICK}節にそれぞれ示す．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6.2.1
\subsubsection{文書分類（livedoorニュースコーパス）による評価の設定}\label{sec:shuffle-livedoor}
文節シャッフルによるDAの評価に用いる文書分類データセットの詳細を\mbox{表\ref{table:livedoor2}}に示す．訓練データセットには90件，検証・テストデータセットには各900件ずつデータが含まれている．訓練データの量が少量であるのは，6.1節と同様の理由である．また，それぞれのデータセットには9つのラベルのデータが同じ数だけ含まれている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T6
\begin{table}[b]
\input{05table06.tex}
  \hangcaption{文節シャッフルによるDAの評価に用いる文書分類データセット（livedoorニュースコーパス）の詳細}
  \label{table:livedoor2}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



DAによって訓練データを変換するときは，ラベル（ニュース記事のカテゴリ）は元のままでデータ（ニュース記事のテキスト）のみに変換を加える．訓練データ90件全てに対してこの変換を行うため，拡張後の訓練データの数は180件（元のデータ90件+データの変換によって生成されるデータ90件）に増加する．

文書分類を解くためのモデルには，tohoku-BERTを用いる．モデルのトレーニングでは，損失関数に交差エントロピー誤差を，最適化アルゴリズムにSGD（確率的勾配降下法）を採用した．またハイパーパラメータは下記のように設定した．
\begin{itemize}
  \item 学習率：1e-3
  \item バッチサイズ：2
  \item エポック数：Early Stopping (patience = 5) を用いて決定
\end{itemize}
モデルの性能については，テストデータを分類した際の正解率 (acc) で評価する（モデルは1種類につき5つ構築し，その5つのモデルの平均値を評価に用いる）．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S6.2.2
\subsubsection{JSICKによる評価の設定}\label{sec:shuffle-JSICK}
文節シャッフルによるDAの評価に用いるJSICKデータセットには，表\ref{table:JSICK}のものをそのまま利用する．
文書分類タスクのときのように訓練データの数を減らさないのは，
含意関係認識のタスクに対する DA は訓練データの数が限られている場合に
モデルの性能が向上するとは限らないと考えたからである．

DAによる訓練データの変換では，1つのデータに対して下記の3通りのデータを作成する．
\begin{itemize}
  \item ラベル・前提文T・仮説文Hのうち，前提文Tのみを変換したデータ．
  \item ラベル・前提文T・仮説文Hのうち，仮説文Hのみを変換したデータ．
  \item ラベル・前提文T・仮説文Hのうち，前提文Tと仮説文Hを変換したデータ．
\end{itemize}
全ての訓練データに対して上記3つの拡張データを生成するため，拡張後の訓練データの数は元の4倍の数まで増加する．

含意関係認識を解くためのモデルには，tohoku-BERT-v2とrinna-RoBERTaの2つを用いる．モデルのトレーニングでは，損失関数に交差エントロピー誤差を，最適化アルゴリズムにSGD（確率的勾配降下法）を採用した．またハイパーパラメータは下記のように設定した．
\begin{itemize}
  \item 学習率：1e-3
  \item バッチサイズ：8
  \item エポック数：Early Stopping (patience = 10) を用いて決定
\end{itemize}
トレーニング後のモデルの性能は，正解率 (acc) で評価する（モデルは1種類につき5つ構築し，その5つのモデルの平均値を評価に用いる）．このとき，テストデータ全体における正解率だけではなく，各ラベル（含意・矛盾・中立）をもつデータごとの正解率も調べる．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7
\section{実験結果}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7.1
\subsection{複数のBERTを用いたDAの実験結果}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7.1.1
\subsubsection{文書分類（livedoor ニュースコーパス）による評価結果}

文書分類（livedoorニュースコーパス）での手法の評価
は，\ref{sec:BERT-livedoor}節に示した設定で実施した．その実験結果を
\mbox{表\ref{table:train-tohoku}}に示す．tohoku-BERTをモデルとして文書分類を解
く場合，stockmark-BERTで訓練データを拡張したモデルの正解率は，拡張なし
のモデルと比較して0.7ポイント高くなった．一方で，tohoku-BERTで訓練デー
タを拡張したモデルの正解率は，拡張なしのモデルと比較して1.5ポイント低く
なった．stockmark-BERTをモデルとして文書分類を解く場合，tohoku-BERTで訓
練データを拡張したモデルの正解率は，拡張なしのモデルと比較して3.0ポイン
ト高くなった．また，stockmark-BERTで訓練データを拡張したモデルの正解率
は，拡張なしのモデルと比較して2.6ポイント高くなった．結果として，2種類
のBERTどちらをモデルとして使った場合でも，もう一方のBERTで訓練データを
拡張したモデルの性能が最も高くなった．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T7
\begin{table}[t]
\input{05table07.tex}
\caption{複数のBERTを用いたDAの実験結果．タスクは文書分類（livedoorニュース）．}
\label{table:train-tohoku}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7.1.2
\subsubsection{JGLUEによる評価結果}

JGLUEに含まれる3つのタスク (MARC-ja，JSTS，JCommonsenseQA) での手法の評
価は，\ref{sec:BERT-JGLUE}節に示した設定で実施した．その実験結果
を\mbox{表\ref{JGLUE:result}}に示す．MARC-jaにおいては，訓練データを拡
張したモデルの正解率のほうが，拡張なしのモデルと比較して0.5ポイント高かっ
た．一方でJSTSにおいては，訓練データを拡張したモデル
のPearson/Spearman相関係数が，拡張なしのモデルと比較してそれぞ
れ0.008/0.009低くなった．また，JCommonsenseQAにおいても，訓練データを拡
張したモデルの正解率が，拡張なしのモデルと比較して1.2ポイント低くなった．
以上より，
手法は文書分類・文ペア分類・QAのうち文書分類のみに有効であった． 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T8
\begin{table}[t]
\input{05table08.tex}
  \caption{複数のBERTを用いたDAの実験結果．タスクはJGLUEのMARC-ja，JSTS，JCommonsenseQA．}
  \label{JGLUE:result}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7.2
\subsection{文節シャッフルによるDAの実験結果}\label{sec:shuffle-result}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7.2.1
\subsubsection{文書分類（livedoor ニュースコーパス） による評価結果}

文書分類（livedoorニュースコーパス）での手法の評価は，\ref{sec:shuffle-livedoor}節に示した設定で実施した．その実験結果を\mbox{表\ref{table:shuffle-livedoor}}に示す．結果としては，訓練データを拡張したモデルの正解率は，拡張なしのモデルと比べて1.7ポイント高くなった．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T9
\begin{table}[t]
\input{05table09.tex}
 \caption{文節シャッフルによるDAの実験結果．タスクは文書分類（livedoorニュース）．}
 \label{table:shuffle-livedoor}
%\end{minipage}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S7.2.2
\subsubsection{JSICKによる評価結果}
JSICKを用いた含意関係認識での手法の評価は，\ref{sec:shuffle-JSICK}節に
示した設定で実施した．その実験結果
を\mbox{表\ref{table:shuffle-JSICK}}に示す．含意関係認識を解くモデルと
してrinna-RoBERTaを用いた場合，訓練データを拡張したモデルの正解
率（全体）は，拡張なしのモデルと比較して0.8ポイント高くなった．このとき，
ラベル別の正解率の上昇幅を確認すると，矛盾データの正解率の上昇幅が3.4ポ
イントと最も大きかった一方で，中立データは拡張の有無によって正解率があ
まり変化しなかった．また，含意関係認識を解くモデルとし
てtohoku-BERT-v2を用いた場合，訓練データを拡張したモデルの正解
率（全体）は，拡張なしのモデルと比較して0.5ポイント上昇した．また，ラベ
ル別の正解率の上昇幅を確認すると，rinna-RoBERTaと同様に矛盾データの正解
率の上昇幅が最も大きく，1.8ポイントであった．一方で，含意データの正解率
は0.4ポイント下がっていた．
以上をまとめると，tohoku-BERT-v2とrinna-RoBERTaどち
らをモデルとして利用した場合も，本手法を用いることでモデルの性能が向上した．
また，ラベル別に性能を確認すると特に矛盾データを識別する性能が向上していた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T10
\begin{table}[t]
\input{05table10.tex}
 \caption{文節シャッフルによるDAの実験結果．タスクは含意関係認識 (JSICK)．評価指標はacc．}
 \label{table:shuffle-JSICK}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8
\section{考察}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8.1
\subsection{各種タスクに対する複数のBERTを用いた DA の効果}
複数のBERTを用いた DA による文書分類タスク（livedoor ニュースコーパス，MARC-ja），
文ペア分類タスク (JSTS) 及び QAタスク (JCommonsenseQA)の実験結果（\mbox{表\ref{table:train-tohoku}}と
\mbox{表\ref{JGLUE:result}}）をみると，
複数のBERTを用いた DA は文書分類タスクでは効果があるが，
文ペア分類タスクや QAタスクでは効果が見られなかった．

これはタスクが要求している意味解析の粒度に関係していると考えられる．
複数の BERT を用いた DA は類義語置換であり，
粗い意味解析で解けるタスクに対しては効果はあるが，細かい意味解析を必要とするタスクには効果はないと考えられる．

文書分類タスクでは文書内の単語が類義語に置き換わっても，文書のジャンルに影響はほとんどない．
例えば，文書中の「彼が自転車に乗っている．」を「彼がバイクを乗っている．」に置き換えても文書のジャンルに影響はない．
つまり文書分類タスクは粗い意味解析で解けるタスクであり，
そのため複数の BERT を用いた DA は効果があったと考えられる．

一方，文ペア分類タスク (JSTS) は2つの文の類似度を推定するタスクである．
例えば訓練データの 95番目のデータの2つの文は
「ネクタイとペンが机の上に置かれています．」と「机の上にはネクタイとペンが置いてあります．」であり，
この類似度は最大値の 5.0 である．
この文の中の「ネクタイ」「ペン」「机」のどれかを類義語に置き換えた場合，類似度が 5.0 とはならない．
また訓練データの 2番目のデータの 2 つの文は「男性が子供を抱き上げて立っています．」と「坊主頭の男性が子供を抱いて立っています．」
であり，この類似度は 4.0 である．
この文中の「男性」や「子供」を，何も考慮せずに，類義語に置き換えたときに類似度が 4.0 のままである保証は全くなく，
むしろ類似度は変化すると考えられる．
つまり文ペア分類タスクに類義語置換による DA を用いる場合には，置換後の 2 文間の類似度を維持できるように
類義語を選択しなくてはならず，より細かい粒度の意味解析が必要である．
このため複数の BERT を用いた DA は文ペア分類タスクに関しては効果が出なかったと考えられる．

同様に QAタスク (JCommonsenseQA) も細かい粒度の意味解析が必要である．
例えば訓練データの 2番目のデータの質問は「数字の１を表すときに使う体は？」であり，
選択肢は「0:胸, 1:肉球, 2:背中, 3:人差し指, 4:親指」であり，答えは 3 である．
質問文中の「数字」「１」「体」のどれかを類義語に置き換えた場合，
質問文自体がおかしくなる可能性がある．また適切な質問文になったとしても，
選択肢の中に答えが存在するとは限らない．しかもその答えが 3 になるとしたら，それは偶然である．
つまり QA タスクの解決には粒度の細かい意味解析が必要であり，
類義語置換のような簡易な DA は効果がなく，むしろ悪影響が出ると考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8.2
\subsection{各種タスクに対する文節シャッフルによる DA の効果}

文節シャッフルによる DA を用いた文書分類タスク（livedoor ニュースコーパス）と
含意関係認識タスク (JSICK) の実験結果（\mbox{表\ref{table:shuffle-livedoor}}と
\mbox{表\ref{table:shuffle-JSICK}}）をみると，
どちらのタスクに対しても文節シャッフルによる DA の効果があった．

文節シャッフルによる DA は，文の係り受け関係が崩れないように文節の順序をシャッフルすることで，
訓練データを拡張する手法であり，拡張したデータ内の出現単語に変化はない．
このため文書のベクトル化に BOW (Bag of Words) を利用した場合には，文書分類タスクには効果はない．
ただし本実験のように BERT を利用する場合には，文書のベクトル（埋め込み）には単語間の位置関係の情報も埋め込まれるので，
文節シャッフルによる DA が効果があったのだと考えられる．

また含意関係認識タスクを BERT を用いて解く場合，含意か矛盾かの 2 値分類であれば，
基本的に 2 文間の意味的近さを測っているとも考えられるが，
JSICK のように含意，矛盾，中立の 3値分類の場合，
どのような規則が学習されているのかは明らかではない．
文節シャッフルによる DA を用いて拡張された文は元の文から意味の変化はない．
そのため実験により効果が出たことを考えると，意味のレベルではなく，3 値分類を解くための
表層的な情報（例えば助詞の出現順序など）が学習されたと考えられる．

含意関係認識タスクを BERT を用いて解く場合には，何が学習されるのか，またそのための
効果的な DA は何かを調べることは今後の課題である．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8.3
\subsection{文書分類タスクに対する訓練データ量とDAによる効果の関係}
本論文で扱う手法のような簡易的な DA は，元の訓練データの量が少ない場合
に効果的であり，量が十分な場合にはあまり効果がないと考えられてい
る \cite{wei-zou-2019-eda}．本節ではこの点を確認するために，訓練データ
を少量に設定して実験を行ったいくつかのタスクについて，その量を拡大して
同様の実験を行う．そして，訓練データ量の大小でDAの効果に差が出るかにつ
いて調査する．

まず，複数のBERTを用いたDAを文書分類（livedoorニュースコーパス）で評価
したケースについて，訓練データの量を元の2倍の量である540件に拡大して再
実験した．このとき，拡張訓練データの数も元の2倍である200件に拡大してい
る．なお，実験に使うモデルはtohoku-BERTのみ，訓練データは拡張なしの場合
とstockmark-BERTで拡張した場合のみとする．結果としては，元の訓練データ
の量を増やした場合，DAを行ってもモデルの性能が向上することはなかった
（表\ref{tab:量比較-bert-livedoor}）．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T11
\begin{table}[b]
\input{05table11.tex}
\hangcaption{訓練データ量とDAによる効果の関係調査．手法は複数のBERTを用いたDA．タスクは文書分類（livedoorニュース）．評価指標はacc．}
\label{tab:量比較-bert-livedoor}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


次に，複数のBERTを用いたDAをJGLUEの各タスクで評価したケースについて，各タスクの訓練データの量を元の10倍である1,000件に拡大して実験を行った．その結果としては，どのタスクにおいても，元の訓練データの量が大きくなることで，DAによるモデルへの影響がマイナスの方向に大きくなった（表\ref{tab:量比較-JGLUE}）．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T12
\begin{table}[t]
\input{05table12.tex}
  \hangcaption{訓練データ量とDAによる効果の関係調査．手法は複数のBERTを用いたDA．タスクはJGLUEのMARC-ja，JSTS，JCommonsenseQA．モデルはtohoku-BERT-v2．}
  \label{tab:量比較-JGLUE}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

次に，文節シャッフルによるDAを文書分類（livedoorニュースコーパス）で評
価したケースについて，訓練データの量を元の5倍，10倍の量であ
る450件，900件に拡大して実験を行った．このケースでは，元の訓練データの
量が大きくなるほど，DAによるモデルの性能向上の効果が小さくなるという結
果になった（表\ref{tab:量比較-shuffle-livedoor}）．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T13
\begin{table}[t]
\input{05table13.tex}
 \hangcaption{訓練データ量とDAによる効果の関係調査．手法は文節シャッフルによるDA．タスクは文書分類（livedoorニュース）．評価指標はacc．}
 \label{tab:量比較-shuffle-livedoor}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

以上の結果から，文書分類タスクに対しては，本論文で扱う2つの手法はどちらもタスクにおける元の訓練データの量が少量である場合に効果が高く，元の訓練データの量が大きくなるほど効果が出にくくなると考えられる．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8.4
\subsection{含意関係認識タスクに対する訓練データ量と DA による効果の関係}
JSICK を用いた含意関係認識の実験結果である\mbox{表\ref{table:shuffle-JSICK}}をみると，
矛盾データの数（748件）が含意データの数（991件）や中立データの数（2,761件）と比較して少ないという状況下で，
矛盾データに対しての識別性能が向上の度合いが，含意データや中立データでの識別性能の向上の度合いに対して大きい．この点から文節シャッフルによる DA における含意関係認識のタスクに関しても，
元の訓練データの量が少量である方が効果が高い可能性もある．

この点を確認するために含意データ，中立データを矛盾データの数の 748件に揃えて，
6.2.2 節と同じ設定で文節シャッフルによる DA の実験を行った．
検証データとテストデータは，7.2.2 節の評価で用いたものと同じものを使用した．
この実験結果を\mbox{表\ref{table:shuffle-JSICK-2}}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T14
\begin{table}[t]
\input{05table14.tex}
 \hangcaption{文節シャッフルによるDAの実験結果．タスクは訓練データ数（748件）を揃えた含意関係認識 (JSICK)．評価指標はacc．}
 \label{table:shuffle-JSICK-2}
    \end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

まず含意データ，中立データ，矛盾データの数を揃えた場合でも，
全体的に文節シャッフルによる DA により精度が向上しており，
文節シャッフルによる DA の有効性が確認できる．

また文節シャッフルによる DA の効果の程度をみるために，
\mbox{表\ref{table:shuffle-JSICK}}と\mbox{表\ref{table:shuffle-JSICK-2}}をもとにして
「拡張なし」の場合と比較して文節シャッフルによる DA により，どの程度精度が向上しているかを，
元の訓練データを用いた場合（訓練データ数が 991 + 748 + 2761）と含意，矛盾，中立の各データ数を揃えた場合
（訓練データ数が 748 $\times$ 3）に分けて
\mbox{表\ref{table:shuffle-JSICK-3}} にまとめた．表内の標準偏差は「拡張なし」の標準偏差と「拡張あり」の標準偏差との和としている．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T15
\begin{table}[t]
\input{05table15.tex}
    \hangcaption{文節シャッフルによるDAの実験結果．タスクは含意関係認識 (JSICK)．表内の数値は
「拡張なし」からの精度向上の度合い}
 \label{table:shuffle-JSICK-3}
    \end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


    \mbox{表\ref{table:shuffle-JSICK-3}}では，データ数を揃えない方が文節シャッフルによる DA の効果が高い．
また含意，中立，矛盾のカテゴリ別に見ても一貫した関連性は見られない．
このため\mbox{表\ref{table:shuffle-JSICK}}の結果が，矛盾のカテゴリを持つデータが少ないために
生じたということは言えない．

\mbox{表\ref{table:shuffle-JSICK-3}}の結果は，
単純にデータ数が多い方が文節シャッフルによる DA の効果が高いという可能性がある．
この点を確認するために，含意データ，中立データ，矛盾データの数を先の実験の半分である 374件に揃えて，
6.2.2 節と同じ設定で文節シャッフルによる DA の実験を行った．
検証データとテストデータは，7.2.2 節の評価で用いたものと同じものを使用した．
この実験結果を\mbox{表\ref{table:shuffle-JSICK-4}}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T16
\begin{table}[t]
\input{05table16.tex}
    \hangcaption{文節シャッフルによるDAの実験結果．タスクは訓練データ数（374件）を揃えた含意関係認識 (JSICK)．評価指標はacc．}
 \label{table:shuffle-JSICK-4}
    \end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\mbox{表\ref{table:shuffle-JSICK-4}}では，モデルに rinna-RoBERTa を用いた場合に文節シャッフルによる DA の効果が出ているが，
モデルに tohuku-BERT-v2 を用いた場合には文節シャッフルによる DA は逆に精度を下げている．

また先と同様に，文節シャッフルによる DA の効果の程度という観点でみるために，
\mbox{表\ref{table:shuffle-JSICK-2}}と\mbox{表\ref{table:shuffle-JSICK-4}}をもとにして
「拡張なし」の場合と比較して文節シャッフルによる DA により，どの程度精度が向上しているかを，
含意，矛盾，中立の各データ数が 748 $\times$ 3 の場合と
含意，矛盾，中立の各データ数が先の半分の 374 $\times$ 3 の場合とに分けて
\mbox{表\ref{table:shuffle-JSICK-5}} にまとめた．表内の標準偏差は「拡張なし」の標準偏差と「拡張あり」の標準偏差との和としている．
また表中の括弧内の数値は精度を表している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T17
\begin{table}[t]
\input{05table17.tex}
    \hangcaption{文節シャッフルによるDAの実験結果 (2)．タスクは含意関係認識 (JSICK)．表内の数値は「拡張なし」からの精度向上の度合い，括弧内の数値は精度}
 \label{table:shuffle-JSICK-5}
    \end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\mbox{表\ref{table:shuffle-JSICK-5}}から全体の精度で比較するとデータ数が多い方が精度も高い．
ただし DA の効果という観点からはデータ数の大小による優劣はない．
むしろ訓練データ数を小さくすると文節シャッフルによる DA の効果が現れづらくなっており，
一般に言われるように訓練データの数が小さい方が DA の効果の高いとは言えない．
これらのことから
\mbox{表\ref{table:shuffle-JSICK-3}}の結果は，
DA を利用する場合においても，テストデータの分布に合った訓練データを利用する方が良い精度が得られるからだと
考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8.5
\subsection{複数のBERTを用いたDAにおけるBERT間の単語の重なり}
複数のBERTを用いたDAが効果を発揮するのは，2つのBERTで事前学習によって獲得した知識が異なるからである．本節では，ある文に含まれる一部の単語を[MASK]で隠したとき，そこに入ると予測される単語は，実験で使用した2つのBERTであるtohoku-BERT とstockmark-BERTでどの程度異なるかを，その重なり具合から調べる．

まず，livedoorニュースコーパスを用いた文書分類において，拡張を行った100件のテキストを用意する．そして，各テキストに対して，TF-IDFが高い単語を[MASK]で隠す処理を行う．その後，隠した部分の予測を，tohoku-BERTとstockmark-BERTのMLMでそれぞれ行う．最後に，それぞれのBERTが予測した上位5単語同士を比較し，単語の順位は考慮せずに，2つのBERT間で5単語中何単語重なるかを調査する．

この実験の結果を\mbox{表\ref{table:一致数}}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T18
\begin{table}[t]
\input{05table18.tex}
\hangcaption{2つのBERTが[MASK]に入ると予測した上位5単語同士は何個重なるのか．100件のテキストで調査．}
\label{table:一致数}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

調査した100件において，2つのBERTがそれぞれ予測した上位5単語同士は，平均で5個中1.64個，割合にすると32.8％重なることが分かった．

このときの単語が重なっていた分については，tohoku-BERTとstockmark-BERTで似た知識を保有していたと考えられる．一方で，単語が重ならなかった分については，それぞれのBERTで異なる知識を保有していたと考えることができる．
そのため，今回のlivedoorニュースコーパスを用いた文書分類の実験では，2つのBERTがそれぞれ異なる知識を保有しており，それらが合わさることでモデルの性能が向上したと考えられる．

また今回は，tohoku-BERTとstockmark-BERTを利用したが，これらのBERT以外にも様々なBERTが存在する．
そのため，BERT同士の知識があまり重ならないような2種類のBERTのペアを選択して，今回と同じようにDAを行えば，今回以上の効果が期待できる．また，DAに使うBERTの種類を1種類ではなく多種類に増やすことによっても，モデルの性能向上の効果がより高まることが期待できる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S8.6
\subsection{文節シャッフルによるDAと類似手法の性能比較}
本手法は，日本語の文に対して係り受け関係を崩さないように変換を行うことで，元の文の意味を保った自然な文を生成することができる．しかし，その特徴が含意関係認識モデルの性能を改善させる要因になっているのかは不明である．本節では，本手法と係り受け関係を考慮せずに文の構成要素の順番をシャッフルする手法を比較する．この比較によって，DAにおける文の変換時に，元の文の意味を保った自然な文を生成することがモデルの性能を改善する要因となっているかについて検証する．

本手法との比較に用いる手法は，係り受け関係を無視して文節単位で文をシャッフルする手法（以下，ランダムな文節シャッフル）と単語単位で文をシャッフルする手法（以下，単語シャッフル）の2つとする．ランダムな文節シャッフルでは，文を文節に分解した後に述語以外の文節の順番をシャッフルする．また，単語シャッフルでは，文を単語に分割した後に単語の順番をシャッフルする．なお，ランダムな文節シャッフルにおける文節分割にはCaboChaを，単語シャッフルにおける単語分割には MeCab を使用する．

比較のための実験は，livedoorニュースコーパスを用いた文書分類と，JSICKによる含意関係認識で行う．このときに使用するデータセットは，\ref{sec:shuffle-livedoor}節，\ref{sec:shuffle-JSICK}節で述べたものと同様である．

まず，livedoorニュースコーパスを用いた文書分類による実験結果を表\ref{table:shuffle-livedoor}の結果と併せて表\ref{table:類似手法-livedoor}に示す．このとき，文書分類を行うモデルにはtohoku-BERTを用いる．実験結果によると，係り受けを考慮した文節シャッフルを利用したモデルの性能が最も高くなった．ランダムな文節シャッフルを適用したモデルも，DAなしのモデルと比べると性能が向上したものの，係り受けを考慮した文節シャッフルには及ばなかった．単語シャッフルを適用したモデルは，DAなしのモデルとほとんど性能の差がなかった．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T19
\begin{table}[b]
\input{05table19.tex}
 \caption{文節シャッフルによるDAの類似手法との性能比較．タスクは文書分類（livedoorニュース）．}
 \label{table:類似手法-livedoor}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%T20
\begin{table}[b]
{\vskip -10pt}
\input{05table20.tex}
 \hangcaption{文節シャッフルによるDAの類似手法との性能比較．タスクは含意関係認識 (JSICK)．評価指標はacc．モデルはrinna-RoBERTa．}
 \label{table:類似手法-JSICK}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



次に，JSICKでの実験結果を\mbox{表\ref{table:shuffle-JSICK}}の結果と併せて
\mbox{表\ref{table:類似手法-JSICK}}に示す．このとき，含意関係認識を行うモデル
にはRoBERTaを用いる．結果としては，データ全体の正解率は，係り受けを考慮
した文節シャッフルで拡張した場合が最も高く，単語シャッフルで拡張した場
合は拡張なしよりも低くなった．また，ラベル別に正解率を見ると，含意と矛
盾の正解率は係り受けを考慮した文節シャッフルが最も高く，中立の正解率の
みランダムな文節シャッフルが係り受けを考慮した文節シャッフルをわずかに
上回った．

以上の結果から，係り受けを考慮した文節シャッフルは，他のシャッフルの手
法と比較して効果が高いことが分かった．ランダムな文節シャッフル・単語シャッ
フルの効果が低かった原因としては，ラベルとテキストがあっていない訓練デー
タが係り受けを考慮した文節シャッフルと比べて多く生成され，それらのデー
タがノイズとなるからであると考えられる．



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%S9
\section{おわりに}
本論文では，我々が考案した複数のBERTを用いたDAと，文節シャッフルによるDAという2つの手法についてまとめた．

1つ目の手法である複数のBERTを用いたDAは，BERTのような事前学習済みモデル
を用いてタスクを解く場合に，そのタスクに用いるモデルとは異なるコーパス
で事前学習されたモデルを用いて，単語置換による訓練データの拡張を行う手
法である．
我々は，この手法が文書分類に効果がある一方で，文ペア分
類，QAには効果がないことを実験によって示した．

2つ目の手法である文節シャッフルによるDAは，文の係り受け関係が崩れないように文節の順序をシャッフルすることで，訓練データを拡張する手法である．我々は，この手法が文書分類と含意関係認識に効果があることを実験によって示した．

さらに，これらの手法はその他の簡易的なDAの手法と同様に，文書分類タスクに対しては，訓練データが少量である場合のみモデルの性能を向上させる効果があり，十分な量がある場合はその効果を発揮しないことがわかった．また文節シャッフルによる DA の場合，含意関係認識のタスクに対しては，上記のような性質がないことがわかった．

今後はこの2つの手法について，手法同士もしくはその他の手法と組み合わせて利用したときにその効果はどうなるのかについてや，まだ試していないタスクへの有効性なども明らかにしていきたい．



%%% Acknowledgement %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\acknowledgment

本研究は国立国語研究所の共同研究プロジェクト「テキスト読み上げのための読みの曖昧性の分類と読み推定タスクのデータセットの構築」及び JSPS科研費 23K11212，22K12145 の助成を受けています．


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


%%% Biography %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{biography}
\bioauthor{高萩　恭介}{%
2022年茨城大学工学部情報工学科卒，2024年茨城大学理工学研究科情報工学専攻修了．現在，BIPROGY株式会社．
}
\bioauthor{古宮嘉那子}{%
2005年東京農工大学工学部コミュニケーション工学科卒．2009年同大学大学院博士後期課程電子情報工学専攻修了．博士（工学）．同年東京工業大学精密工学研究所研究員，2010年東京農工大学工学研究院特任助教，2014年茨城大学工学部情報工学科講師，2021年東京農工大学工学研究院准教授．現在に至る．自然言語処理の研究に従事．情報処理学会，人工知能学会，言語処理学会各会員．
}
\bioauthor{新納　浩幸}{%
1985年東京工業大学理学部情報科学科卒業．1987年同大学大学院理工学研究科情報科学専攻修士課程修了．同年富士ゼロックス，翌年松下電器を経て，1993年茨城大学工学部システム工学科助手．1997年同学科講師．2001年同学科助教授．2005年学科改組により，情報工学科准教授．2015年同学科教授．現在に至る．機械学習，統計学による自然言語処理の研究に従事．情報処理学会，人工知能学会，言語処理学会各会員．
}
\end{biography}

\biodate   %%%% 受付日の出力（編集部で設定します）

\end{document}

