\section{はじめに}
\label{sec:intro}高性能な言語理解モデルを開発するためには，言語理解の能力を様々な観点から評価し分析するためのベンチマーク（データセット群）が必要である．英語においては，GLUE(GeneralLanguageUnderstandingEvaluation)\cite{wang-etal-2018-glue}が構築，公開されている．GLUEである程度の高スコアを達成できる言語理解モデルが開発されると，より難易度の高いベンチマークとしてSuperGLUE\cite{NEURIPS2019_4496bf24}などが構築され，ベンチマーク構築と言語理解モデル開発の好循環が生まれている．このような英語における言語理解研究活性化の潮流に乗じて，中国語版のCLUE\cite{xu-etal-2020-clue}，フランス語版のFLUE\cite{le-etal-2020-flaubert-unsupervised}，韓国語版のKLUE\cite{park2021klue}など，各言語におけるベンチマーク構築が進んでいる．しかし，日本語にはGLUEのようなベンチマークが存在せず，日本語自然言語処理にとって大きな問題となっている．日本語は英語や他の言語とは以下の点で異なることから，英語データセットにおける研究の知見は必ずしも日本語に適用できるとは限らない．\begin{itemize}\itemひらがな，カタカナ，漢字，アルファベットが使われる．\item単語間に空白区切りが無い．\item語順が比較的自由である．\end{itemize}以上の背景より，日本語の言語理解ベンチマークの構築は急務となっている．JSNLI\cite{jsnli:ipsj}やJSICK\cite{谷中瞳2021}など，個々の日本語データセットは構築されているが，それらの主な構築手法は英語のデータセットからの機械翻訳あるいは人手翻訳である．いずれの翻訳手法でも，翻訳文の不自然さや，翻訳元の言語（多くの場合英語）と翻訳後の言語（本研究では日本語）との間での文化・社会差が大きな問題となることが\citeA{clark-etal-2020-tydi}や\citeA{park2021klue}らに指摘されている．また，特定ドメインの日本語のデータセットとして，ホテルレビューを対象としたJRTEコーパス\cite{hayashibe-2020-japanese}や，運転行動を対象とした運転ドメインQA\cite{takahashi-etal-2019-machine}が構築されているが，いずれも一般的なドメインの言語理解能力を測るのには向かない．本研究では，一般的な日本語言語理解能力を測ることを目的として，翻訳を介することなく，日本語で一から言語理解ベンチマークJGLUEを構築する．JGLUEは，表\ref{tbl:jglue_overview}に示すように文章分類，文ペア分類，QAの3種類のタスクから構成し，GLUEおよびSuperGLUEのタスクを幅広くカバーするように設計した．また，構築したJGLUEを用いて種々の事前学習モデルを評価し，現状のモデルやデータセットの分析を行った．JGLUEは2022年6月より\url{https://github.com/yahoojapan/JGLUE}にて公開している．本ベンチマークによって日本語における言語理解研究が活性化することを期待する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[t]\input{03table01.tex}\caption{JGLUEの構成}\label{tbl:jglue_overview}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
\label{sec:relative}言語理解モデルを評価するためのベンチマークの先駆けはGLUEである．GLUEは，英語を対象として，文章分類および文ペア関係分類の2種のタスク，合計9つのデータセットで構成されている．GLUEより難易度の高いベンチマークとしてSuperGLUEが構築されている．SuperGLUEは，GLUEにおいて最も難易度が高い含意関係認識データセットを残した上で，QAや常識推論など難易度の高いデータセットを加えた合計8つのデータセットとして構築されている．このような英語におけるベンチマーク構築が言語理解モデル開発を活性化し，BERT\cite{devlin-etal-2019-bert}やその拡張モデルが多く生み出された．この動きに伴い，中国語，フランス語，韓国語，インドの言語群，アラビア語，カタルーニャ語などの各言語で，CLUE,FLUE,KLUE,IndicGLUE\cite{kakwani-etal-2020-indicnlpsuite},ARLUE\cite{DBLP:journals/corr/abs-2101-01785},ALUE\cite{seelawi-etal-2021-alue},CLUB\cite{rodriguezpenagos2021catalan}などの言語理解ベンチマークを構築する研究が活発になっている．また，XGLUE\cite{liang2020xglue},XTREME\cite{hu2020xtreme},XTREME-R\cite{ruder2021xtremer}などの多言語のベンチマークも構築されている．日本語も多言語ベンチマークに含まれているがデータ数は少量である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{JGLUEの構築}
\label{sec:jglue}JGLUEは，表\ref{tbl:jglue_overview}のとおり，文章分類，文ペア分類，QAのタスクから構成する．以下では，各タスクのデータセットの構築方法について説明する．ただし，文章分類タスクの一つであるJCoLA（日本語容認性判断データセット）\cite{Someya2022}は他研究組織から提供を受ける予定であり，本稿では説明しない．各データセットは英語からの翻訳ではなく日本語のテキストを用いて構築し，正解の付与や自由記述文の作成はクラウドソーシング\footnote{Yahoo!クラウドソーシング\url{https://crowdsourcing.yahoo.co.jp/}を用いた．}を用いて行う．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{MARC-ja}\label{ssec:jglue:marc}文章分類タスクの一つとして，多言語商品レビューコーパスMARC(MultilingualAmazonReviewsCorpus)\cite{keung-etal-2020-multilingual}の日本語部分を基にデータセットを構築する．MARCは，通販サイト「アマゾン」における商品レビューとそれに紐づく1--5の5段階のレーティングをまとめているコーパスであり，英語や日本語などの複数言語で公開されている．JGLUEでは，MARCの日本語部分を使用し，また，計算機，人間ともにできる限り揺らぎなく判定できるように，5段階のレーティングのうち3を除く4つの評価について，1,2を``negative''，4,5を``positive''に変換した2値分類タスクとする．例えば，表\ref{tab:marc-ja-example}の上4件の例について，5段階のレーティングで4,5の評価がついている文章や，1,2の評価がついている文章のレーティングの判定は，人間にとっても困難であるが，positive,negativeの2値分類タスクとすることで判定が容易となる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\input{03table02.tex}\hangcaption{MARC-jaの例（上4件はクラウドソーシングの前後でラベルが変わらなかった例，下2件はクラウドソーシングによってラベルが変わった例）}\label{tab:marc-ja-example}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%MARCにおける問題点として，positiveな内容のレビューに対し1や2の評価がついている場合など，内容と評価が乖離したデータが含まれている場合があることが挙げられる．これらのデータには，レビューの内容と明らかに異なったラベルが割り振られるため，データセットの品質を低下させる．評価に用いるdev/testセットに対しては，これらのデータを修正し高品質なものにするために，約12,000件のレビューに対してpositive/negative判定タスクをクラウドソーシングで実施する．10人から回答を収集し，7人以上から同じ回答を得られたデータのみを採用し，票の多い回答を正解ラベルとする．収集したデータを分割することでdev/testセットとする．以上の手続きにより，5,654件のdevセット，5,639件のtestセットを獲得した．trainセットは大規模であるため上記の手続きを実施せず，187,528件のデータを抽出した．MARC-jaのラベル分布を表\ref{tbl:marc-ja-detail}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[t]\input{03table03.tex}\caption{MARC-jaのラベル分布}\label{tbl:marc-ja-detail}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%MARC-jaで用いる評価指標には，文章の2値分類タスクであることから，精度(accuracy)を用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{JSTS・JNLI}\label{ssec:jglue:jsts-jnli}文ペア分類タスクについては，意味的類似度計算(SemanticTextualSimilarity,STS)データセットJSTSおよび自然言語推論(NaturalLanguageInference,NLI)データセットJNLIを構築する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{概要}\label{sssec:jglue:jsts-jnli:overview}STSは，文ペアの意味的な類似度を推定するタスクである．正解の類似度は，クラウドソーシングによって複数人で付与した整数値0（意味が完全に異なる）から5（意味が等価）の平均値とされるのが一般的である．NLIは，前提文と仮説文の文ペアが与えられたときに，前提文が仮説文に対してもつ推論関係を認識するタスクである．推論関係としては「含意(entailment)」「矛盾(contradiction)」「中立(neutral)」の3値で定義されるのが一般的である．正解の推論関係は，クラウドソーシングによって複数人から回答を収集し，多数決によって付与することが多い．STS，NLIタスクはGLUEにおいて，それぞれSTS-B\cite{2017}，MultiNLI\cite{williams-etal-2018-broad}データセットが含まれている．日本語では，英語NLIデータセットSNLI(StanfordNLI)\cite{snli:emnlp2015}を機械翻訳したJSNLI\cite{jsnli:ipsj}，英語STS/NLIデータセットSICK\cite{marelli-etal-2014-sick}を人手翻訳したJSICK\cite{谷中瞳2021}がある．しかし，\ref{sec:intro}節で述べたように，これらには翻訳に由来する問題があるため，本研究では日本語で一から構築する．JSTSとJNLIの文ペアは，基本的に，MSCOCOCaptionDataset\cite{chen2015microsoft}の日本語版YJCaptionsDataset\cite{P16-1168}\footnote{YJCaptionsはMSCOCO\cite{chen2015microsoft}の各画像に対して，クラウドソーシングを用いて日本語のキャプションを5つ付与することで構築されている．}（以下，YJCaptionsと呼ぶ）から抽出する．SICKやJSICKと同様に，JSTSとJNLIを構成する文ペアの大部分は重複しており，同じ文ペアに対する類似度と推論関係との間の関係を分析することができる．JSTSにおける類似度は，STS-Bと同様に0～5の実数値とし，JNLIにおける推論関係は，SNLIやMultiNLIなどと同様に上記の3値とする．各推論関係の定義はSNLIに基づく．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{構築方法}\label{sssec:jglue:jsts-jnli:construction}JSTSとJNLIの構築フローを図\ref{fig:jsts-jnli-flow}に示す．基本的には，YJCaptionsの同じ画像に対する2つのキャプションを文ペアとし，クラウドソーシングによって類似度および推論関係を付与する．ここで二つの問題が生じる．一つ目は，JSTSにおいて，同じ画像に対するキャプションからは類似度の低い文ペアを収集しにくいという問題である．そこで，異なる画像に対するキャプションから類似度の低い文ペアを収集する．二つ目は，JNLIにおいても同様に，同じ画像に対するキャプションからはcontradiction関係にある文ペアを収集しにくいという問題である．そこで，クラウドソーシングによって付与する推論関係はentailmentとneutralのみとし，contradiction関係については，あるキャプションに対して矛盾する文をワーカーに作文してもらうことによって収集する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[b]\begin{center}\includegraphics{30-1ia3f1.pdf}\end{center}\hangcaption{JSTS・JNLIの構築フロー（画像の出典:いらすとや(\protect\url{https://www.irasutoya.com/}),ONWAイラスト(\protect\url{https://onwa-illust.com/})）}\label{fig:jsts-jnli-flow}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%JSTSとJNLIの詳細な構築手順を以下に示す．\begin{description}\item[Step1]YJCaptionsの同じ画像に対する2つのキャプションを文ペアとしたSTSタスクをクラウドソーシングで実施する．5人から回答を収集し，その平均値を正解類似度とする．ただし，回答の分散が大きい文ペアについては，類似度の判断が難しい，もしくは回答の品質が悪い文ペアと判断し削除する．16,000件の文ペアを対象に上記タスクを実施し，類似度の分散が1.0以上の文ペアを削除した結果，10,236件の文ペアに対する類似度を収集した．この収集データをJSTS-Aと呼ぶ．\item[Step2]類似度の低い文ペアを収集するために，異なる画像に対するキャプションを文ペアとしたSTSタスクをクラウドソーシングで実施する．本タスクもStep1と同様の方法で類似度を獲得し，回答の分散によるフィルタリングを実施する．4,000件の文ペアを対象に上記タスクを実施し，2,970件の文ペアに対する類似度を収集した．この収集データをJSTS-Bと呼ぶ．\item[Step3]JSTS-Aに対して，NLIタスクをクラウドソーシングで実施する．推論関係には方向性があるため，文ペアについて双方向で推論関係を得る．前述のとおり，同じ画像のキャプションから収集したJSTS-Aからはcontradictionの事例を収集しづらいため，このステップではentailmentとneutralの事例を収集する．10人から推論関係の回答を収集し，6人以上が同一の回答をした場合に，それがentailmentかneutralであれば正解ラベルとして採用する．同一の回答が6人以上から得られなかった文ペアは採用しない．JSTS-Aに対して双方向で推論関係を得るため，JSTS-Aの2倍の20,472件の文ペアを対象に上記タスクを実施し，回答の一致度が高い17,501件の文ペアに対する推論関係を収集した．この収集データをJNLI-Aと呼ぶ．なお，JSTS-Bについては，文ペア間に関連性がなく，3つの推論関係から選択することが難しいことから，NLIタスクには使用しない\footnote{このような関係はneutralと定義するのが自然であるが，SNLIにおいてはcontradictionと定義されている．しかし，SNLIは，提示文に対して各関係の文をクラウドワーカーに書いてもらう仕様のため，このような文ペアは含まれていない．}．\item[Step4]contradictionのNLI事例を収集するため，YJCaptionsのキャプションに対して，矛盾する文を4つずつ作成するタスクをクラウドソーシングで実施する．作成された文のうち，短い文や，提示文と関連性の低い文といった品質の低い文を除去するために，編集距離が0.75以上の文ペアを除去する．さらに，作成した文ペアが本当に矛盾関係にあるかを確認するために，10人で片方向のNLIタスクを実施し，6人以上がcontradictionと回答した文ペアのみを採用する．最後に，矛盾関係には方向性がないため，採用された文ペアにおける反対方向の推論関係としてcontradictionを自動付与する．1,800件のキャプションを用いて7,200件の文ペアを獲得し，そこから，片方向のcontradiction関係を付与した文ペアを3,779件収集した．反対方向のcontradiction関係を自動付与することで，2倍の7,558件の事例を収集した．この収集データをJNLI-Cと呼ぶ．\item[Step5]Step4で収集した3,779件の文ペアについて，クラウドソーシングによるSTSタスクを実施する．Step1,2と同様の方法で類似度付与とフィルタリングを実施する．以上により，3,779件の文ペアから2,303件の文ペアに対する類似度を収集した．この収集データをJSTS-Cと呼ぶ．\end{description}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[t]\input{03table04.tex}\caption{JSTS・JNLIの例}\label{tbl:jsts-jnli-examples}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5and6\begin{table}[t]\begin{minipage}[t]{205pt}\input{03table05.tex}\caption{JSTSのラベル分布}\label{tbl:jsts-detail}\end{minipage}\hfill\raisebox{13pt}[0pt][0pt]{%\begin{minipage}[t]{205pt}\input{03table06.tex}\caption{JNLIのラベル分布}\label{tbl:jnli-detail}\end{minipage}}%\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以上の手続きによって獲得したJSTS-A,B,Cの3つでJSTS，またJNLI-A,Cの2つでJNLIを構築した．最後に，重複する文ペア事例をJSTSから12件，JNLIから44件除去した．JSTSとJNLIの例を表\ref{tbl:jsts-jnli-examples}に示す．JSTSとJNLIのラベル分布をそれぞれ表\ref{tbl:jsts-detail},\ref{tbl:jnli-detail}に示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table7\begin{table}[t]\input{03table07.tex}\caption{JSTSにおける類似度の分散の平均値と分散の標準偏差}\label{tbl:jsts-agreement}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%JSTSの質を評価するために，それぞれの文ペアに対してクラウドワーカー5人が回答した類似度の分散を計算し，分散の平均値と標準偏差を算出した．それぞれの値は表\ref{tbl:jsts-agreement}に示す通り，小さい値となっており，アノテーションの品質を保証する結果となっている．JNLIのアノテーションの一致度を評価するために，全ての文ペアにおける10人のクラウドワーカーの回答のFleiss'Kappa係数を計算した．係数の値は0.399であり，ある程度の一致を示す数値となった．この結果は，それぞれの回答の信頼度が高くないことを示しているものの，多数決によって収集したラベルは人間のスコアの高さ（\ref{ssec:experiment:results}節）から信頼度が高いと言える．\label{ssec:jglue:jsts-jnli:metric}JSTSの評価指標には，STS-Bと同様にPearsonおよびSpearman相関係数を用いる．JNLIの評価指標には，SNLI，MultiNLIなどと同様に精度を用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{JSQuAD}\label{ssec:jglue:jsquad}QAデータセットとして，機械読解データセットである日本語版SQuAD(JSQuAD)と，常識推論データセットである日本語版CommonsenseQA（JCommonsenseQA，\ref{ssec:jglue:jcqa}節で説明）を構築する．機械読解タスクは文書を読み，それに関する質問に対して答えるというタスクである．多くの機械読解評価セットは英語で構築されているが，その他の言語での機械読解評価セット，もしくは多言語の評価セットが構築され始めている．日本語ではクイズを対象にした機械読解評価セット\cite{suzuki-2018}や運転ドメインの評価セット\cite{takahashi-etal-2019-machine}が構築されているが，一般ドメインのものはない．そこで，Wikipediaを用いて一般ドメインの評価セットを構築する．構築は基本的にSQuAD1.1\cite{rajpurkar-etal-2016-squad}にならう．まず，高品質な記事を対象とするために，Nayuki\footnote{NayukiはWikipedia内のハイパーリンクに基づき，記事の品質を推定するシステムで，SQuADでも利用されている．\url{https://www.nayuki.io/}}を使ってスコアトップ10,000記事を選出し，そこからランダムに822記事を選んだ．これらの記事には例えば「熊本県」「フランス料理」が含まれている．次に，記事を段落に分割し，クラウドワーカーに各段落を提示し，段落を理解できれば答えられるような質問とその正解を書いてもらう．書いてもらった正解が段落中にない場合は，その問題は採用しない．最後に，パターンマッチングと人手での確認により，質問文が段落のタイトルや本文に包含される事例など1,094件の問題を除去した．JSQuADの例を図\ref{fig:jsquad_example}に示す．dev/testセットについてはシステム評価を頑健にするために，質問と正解を書いてもらったワーカーとは別のワーカーに追加で2つの正解を書いてもらう．この際，「回答不可」の選択肢を用意し，ワーカーの回答が段落中に存在しない文字列あるいは「回答不可」であった場合には，その回答を採用しない．2つの回答が共に採用されない場合は，問題ごと除去する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[b]\begin{center}\includegraphics{30-1ia3f2.pdf}\end{center}\caption{JSQuADの例}\label{fig:jsquad_example}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%評価指標はSQuADにならい，Exactmatch(EM)とF1を用いる．最大3つの正解が存在するので，システムの出力と各正解を比較して最大のスコアを取るEMならびにF1を採用する．英語ではF1は単語単位で計算されているが，日本語で形態素単位で計算すると採用する形態素解析器によって値が異なってしまうので文字単位で計算する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{JCommonsenseQA}\label{ssec:jglue:jcqa}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{概要}JCommonsenseQAは，CommonsenseQA\cite{talmor-etal-2019-commonsenseqa}の日本語版データセットであり，常識推論能力を評価するための5択のQAで構成する．JCommonsenseQAの例を図\ref{fig:jcqa-example}に示す．JCommonsenseQAは，CommonsenseQAと同様に，知識ベースConceptNet\cite{Speer_Chin_Havasi_2017}をシードとし，クラウドソーシングを用いて構築する．ConceptNetは，2つの概念(concept)と，その間の関係(relation)を表す3つ組からなる多言語知識ベースである．3つ組は方向性を持ち，例えば（新幹線,AtLocation,駅）のように，(sourceconcept,relation,targetconcept)として表される．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3and4\begin{figure}[t]\raisebox{77.5pt}[0pt][0pt]{%\begin{minipage}[t]{0.49\linewidth}\begin{center}\includegraphics{30-1ia3f3.pdf}\end{center}\caption{JCommonsenseQAの例（\textbf{太字}は正解を表す）}\label{fig:jcqa-example}\end{minipage}}%\hfill\begin{minipage}[t]{0.49\linewidth}\begin{center}\includegraphics{30-1ia3f4.pdf}\end{center}\caption{JCommonsenseQAの構築フロー}\label{fig:jcqa-flow}\end{minipage}\vspace{-0.5\Cvs}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsubsection{構築方法}\label{ssec:jglue:jcqa:construction}JCommonsenseQAの構築フローを図\ref{fig:jcqa-flow}に示す．まず，sourceconceptと，それに対して同じrelationを持つtargetconcept3つからなる集合をConceptNetから収集する．以降，この集合をQuestionSet(QS)と呼ぶ．次に，各QSに対して，1つのtargetconceptのみが正解となる質問文の作成と，2つの誤答選択肢の追加をクラウドソーシングで行う．以下では，CommonsenseQAとの違いを示しつつ，JCommonsenseQAの詳細な構築手順を説明する．\begin{enumerate}\itemConceptNetから日本語QSを収集する．CommonsneseQAにおいては，(sourceconcept,relation,targetconcept)という順方向の関係のみのQSを採用しており，relationは``RelatedTo'',``IsA''など一般的すぎるものを除いたものを用いている．JCommonsneseQAでも，一般的すぎるrelationを除外した22種類のrelation集合\footnote{使用したrelationはAntonym,AtLocation,CapableOf,Causes,CausesDesire,DefinedAs,DerivedFrom,Desires,DistinctFrom,EtymologicallyDerivedFrom,HasA,HasFirstSubevent,HasLastSubevent,HasPrerequisite,HasProperty,InstanceOf,MadeOf,MotivatedByGoal,NotDesires,PartOf,SymbolOf,UsedForの22種類．}を用いるが，問題の選択肢をより多様化させるために関係の方向は両方向とする．すなわち，(sourceconcept,relation$^{-1}$,targetconcept)という逆方向の関係も用いる\footnote{例えば，（駅,AtLocation$^{-1}$,新幹線）のような3つ組から，sourceconcept「駅」に対してtargetconcept「新幹線」「時刻表」「改札」を得る．}．以上の設定で，source/targetconceptが日本語である43,566件のQSを抽出し，そこから7,500件をランダムに選択した．\itemCommonsenseQAには，正解となり得る選択肢が複数含まれている低品質な問題が少数含まれている．JCommonsenseQAにおいては，正解の一意性を担保するために，CommonsenseQA構築では実施していない2つの処理を行う．まず，各QSについて，3つのtargetconcept内に表記揺れと判断されるものがあれば，そのQSを除去する．表記揺れの判断は，形態素解析辞書JumanDic\footnote{\url{https://github.com/ku-nlp/JumanDIC}}の単語ID（代表表記）が一致するかどうかで行う．さらに，targetconcept内に同義語が含まれているかを判定するタスクをクラウドソーシングで実施し，3つのtargetconcept中に同義語が含まれるQSを除去する．以上より，7,500件のQSから5,920件のQSを採用した．\item各QSにおいて，3つのtargetconceptのうちの1つのconceptだけが正解となる質問文をクラウドソーシングで作成する．さらにJCommonsenseQAでは，正解の文字数やキーワードの指定などでヒントを与えられた難易度の低い質問，および不適切な形式の質問文を除去するために，以下のいずれかに該当する質問文を持つ問題を除去する．\begin{enumerate}\item質問文に選択肢の言葉が含まれる\item質問文に「○文字」という文字列が含まれる\footnote{「値段が高いことを漢字2文字でなんという？」のような問題を除くために設定する．}（○は数字）\item質問文の文末が「？」ではない\end{enumerate}以上により，5,920×3=17,760件の問題を作成し，そこから不適切な問題を除去することで15,310件の問題を採用した．\itemCommonsenseQAでは，2つの誤答選択肢の追加にあたって，1つをConceptNetから選択し，もう1つをクラウドソーシングで作成している．JCommonsenseQAでは，より多様な誤答選択肢とするため，ConceptNetからの選択は行わず，クラウドソーシングで2つの誤答選択肢を作成し追加する．また，問題の品質向上のために，以下のいずれかに該当する選択肢が追加された問題を除去する．\begin{enumerate}\item質問文に含まれる言葉と同じ選択肢\item既存の選択肢と重複する選択肢\end{enumerate}以上により，15,310件の問題に誤答選択肢を追加し，そのうち13,906件を採用した．\item各問題を3人のクラウドワーカーに回答してもらい，2人以上が正解した問題のみを採用する．これにより，13,906件の問題のうち11,263件を採用した．\end{enumerate}最後に，パターンマッチングと人手での確認により，ひらがなやアルファベット1文字の選択肢が含まれる事例など87件の問題を除去した．JCommonsenseQAの評価指標には，CommonsenseQAと同様に精度を用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{JGLUEによるベースラインモデルの評価}
\label{sec:experiment}構築したJGLUEを用いて様々な事前学習モデルの性能評価を行った．また，人間のスコアを計算し，モデルと比較した．そして，各データセットの分析を行った．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table8\begin{table}[b]\input{03table08.tex}\hangcaption{実験に用いた事前学習モデルの詳細．モデル名の丸括弧内はHuggingFaceHubでの名称を示す．東北大\bertbase，XLM-\robertbase，早稲田大\robertbaseについてはLARGEサイズも使用する．早稲田大\robertbaseのmaxseqlengthは128，早稲田大\robertlargeのmaxseqlengthは128と512の2種類あり，その他のモデルのmaxseqlengthは512である．事前学習テキストのCCはCommonCrawlを表す．}\label{tab:pretrained_models}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験設定}\label{ssec:experiment:settings}事前学習モデルをファインチューニングすることで各データセットに対するモデルの学習を行った．実験に用いた事前学習モデルを表\ref{tab:pretrained_models}に示す．各事前学習モデルのファインチューニングはタスク/データセットに応じて以下のように行った\footnote{ファインチューニングは，HuggingFaceによって提供されているTransformersライブラリ(\url{https://github.com/huggingface/transformers})を用いて行った．}．\begin{itemize}\item文章分類タスクと文ペア分類タスク:\texttt{[CLS]}トークンに対する分類問題もしくは回帰問題を解く．\itemJSQuAD:各トークンに対して正解のスパンの開始/終了となるかどうかの分類問題を\linebreak解く\footnote{トークナイザにUnigram言語モデルを用いているXLM-\robertbaseとXLM-\robertlargeは，トークンの分割位置が解答の開始/終了位置と一致しない事例が頻出することで性能が低くなってしまうため，実験に使用しない．}．\itemJCommonsenseQA:質問と各選択肢を連結し，多肢選択式問題を解く．\end{itemize}実験に用いたハイパーパラメータを表\ref{tab:hyperparams}に示す．learningrateとepochについてはdevセットを用いて最適なハイパーパラメータを探索し，それを用いてtestセットで性能を評価した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table9\begin{table}[b]\input{03table09.tex}\caption{実験に用いたハイパーパラメータ}\label{tab:hyperparams}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%モデルの性能を人間のスコアと比較するために，人間のスコアの獲得をデータセットごとに以下の手順で行った．\begin{itemize}\itemMARC-ja:positive/negative判定タスクをクラウドソーシングで実施し，10人から回答を収集して多数決をとる．同票についてはランダムにpositive/negativeのいずれかを人間のスコア獲得時の回答とする．構築済みのラベルと一致する回答の割合を人間のスコアとする．\itemJSTS:STSタスクをクラウドソーシングで実施し，5人から回答を収集したのち，その平均値を人間のスコア獲得時の類似度とする．構築済みラベルの値と人間のスコア獲得時の類似度のSpearman相関係数を人間のスコアとする．\itemJNLI:NLIタスクをクラウドソーシングで実施し，10人から回答を収集して多数決をとる．同票で1位の2つのラベルについては，ランダムにいずれかを選択して人間のスコア獲得時の回答とする．構築済みのラベルと一致する回答の割合を人間のスコアとする．\itemJSQuAD:構築済みの各問題に対する2つもしくは3つの正解のうち，1つ目の正解を人間のスコア獲得時の人間の回答とみなす．残りの正解と人間の回答との間のEMとF1スコアをそれぞれ計算し，最も大きいスコアを人間のスコアとする\footnote{システムの場合は最大3つの正解と比較してスコアを算出しているのに対し，人間の場合は最大2つの正解と比較しているため，条件が若干異なる．}．\itemJCommonsenseQA:各問題の回答をクラウドソーシングにより5人から収集し，多数決をとる．同票で1位の2つの選択肢については，ランダムに選んだ1つの選択肢を人間の回答とする．構築済みのラベルと一致する回答の割合を人間のスコアとする．\end{itemize}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table10\begin{table}[b]\input{03table10.tex}\caption{JGLUEによる各種モデルの評価結果}\label{tab:experimental_results}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.5\begin{figure}[b]\begin{center}\includegraphics{30-1ia3f5.pdf}\end{center}\hangcaption{早稲田大\robertlargeが正解を，東北大\bertbaseが不正解を出力したJCommonsenseQAの事例（\textbf{太字}が正解，\underline{下線}が不正解の出力）}\label{fig:jcqa-improved-example}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}\label{ssec:experiment:results}表\ref{tab:experimental_results}に各種モデルのスコアならびに人間のスコアを示す．モデルの性能の比較では以下のことがいえる．\begin{itemize}\item早稲田大\robertlarge\cite{liu2019roberta}とXLM-\robertlarge\cite{conneau-etal-2020-unsupervised}の性能が全般的によい．これはモデルサイズがLARGEであることと，事前学習のテキストとしてWikipediaよりも大規模なCommonCrawlを使っていることが考えられる．\item解析単位について，サブワード単位（東北大\bertbase{}）と文字単位（東北大\bertbase{}(char)）を比較すると一貫してサブワード単位の方が精度が高い．\itemJCommonsenseQAはWikipediaには記載されにくい常識的な知識を要求することから，CommonCrawlを用いたモデルの精度が高い．図\ref{fig:jcqa-improved-example}に，早稲田大\robertlargeが正解を，東北大\bertbaseが不正解を出力したJCommonsenseQAの事例を示す．このような知識はWikipediaには記載されにくい．\item早稲田大\robertlargeshortと早稲田大\robertlargelongを比較すると，入力長が長いMARC-jaとJSQuADではs512の精度がs128よりも向上している．\itemMARC-jaとJCommonsenseQA以外のデータセットについては，ベストなモデルは人間のスコアと同等または超えている．\end{itemize}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table11\begin{table}[b]\input{03table11.tex}\caption{MARC-jaにおけるシステムの正解例・誤り例}\label{tab:system-output-marc-ja}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table12\begin{table}[b]\input{03table12.tex}\hangcaption{JSTSにおけるシステムの正解例・誤り例（ここでの正解，誤りはそれぞれシステム出力と正解の差が比較的小さい，大きい事例のことを指す．）}\label{tab:system-output-jsts}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{議論}\label{ssec:experiment:discussion}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table13\begin{table}[t]\input{03table13.tex}\caption{JNLIにおけるシステムの正解例・誤り例}\label{tab:system-output-jnli}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table14\begin{table}[t]\input{03table14.tex}\caption{JSQuADにおけるシステムの正解例・誤り例}\label{tab:system-output-jsquad}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{システムの正解例・誤り例}表\ref{tab:system-output-marc-ja}から表\ref{tab:system-output-jcomqa}に，devセットに対するシステムの正解例ならびに誤り例を示す．各データセットで最も性能の高かったシステムの例を掲載している．MARC-ja（表\ref{tab:system-output-marc-ja}）は全般的に性能が高く，正解例のように正しく判定できる場合が多い．誤りは例に示すように，レビュー文章中にpositiveな言及とnegativeな言及が混在し，判断が難しい場合が多い．JSTS（表\ref{tab:system-output-jsts}）の正解例では，1つ目の例のように「痩せ型」と「細身」の同義関係が認識できていたり，2つ目の例のように「横転した白いトラックがあります」と「白色のトラックが横転しています」の語順の入れ替わりが認識できていた例があった．誤り例では，使われている単語の重複は多いが異なる意味の2文に対して誤って高い類似度を出力している場合があった．JNLI（表\ref{tab:system-output-jnli}）では正解例にあげたような場合は正しく判定できている．誤り例の1つ目では「ティアラを身につけています」と「ティアラをかぶっています」の含意関係を認識できておらず，また2つ目では，「赤ん坊」と「テーブル」の位置関係を認識できておらず，誤ってentailmentと出力してしまっている．JSQuAD（表\ref{tab:system-output-jnli}）では正解例にあげたようなケースは正しく判定できている．誤り例では答えとなる国の候補が3つあり，2文目と3文目を合わせて推論する必要があり，このような場合にシステムが誤っていた．JCommonsenseQA（表\ref{tab:system-output-jcomqa}）では，正解例にあげたような常識的な知識をシステムが備えていることがわかる．\pagebreak誤り例の1つ目では質問中の「コンビニ」と「カウンター」から誤って「レジ」と答えてしまっており，また，2つ目では質問の「毎週発刊」と選択肢の「週刊誌」の関係性が捉えられておらず，このような常識的な知識をどのようにすれば得られるかは今後の検討課題である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table15\begin{table}[t]\input{03table15.tex}\caption{JCommonsenseQAにおけるシステムの正解例・誤り例（\textbf{太字}が正解，\underline{下線}が出力）}\label{tab:system-output-jcomqa}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table16\begin{table}[t]\input{03table16.tex}\hangcaption{MARC-jaにおける人間の誤り回答例（Pはpositive，Nはnegativeを表しており，\textbf{太字}は多数決で選ばれたラベルを表す。）}\label{tab:human-error-marc-ja}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table17\begin{table}[t]\input{03table17.tex}\caption{JSTSにおける人間の誤り回答例}\label{tab:human-error-jsts}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table18\begin{table}[t]\input{03table18.tex}\hangcaption{JNLIにおける人間の誤り回答例（Eはentailment，Cはcontradiction，Nはneutralを表しており，\textbf{太字}は多数決によって選ばれたラベルを表す．）}\label{tab:human-error-jnli}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table19\begin{table}[t]\input{03table19.tex}\caption{JSQuADにおける人間の誤り例}\label{tab:human-error-jsquad}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table20\begin{table}[t]\input{03table20.tex}\hangcaption{JCommonsenseQAにおける人間の誤り回答例（選択肢の\textbf{太字}は正解，[]内の数字は人間のスコア獲得時の人間の回答の票数を表す．）}\label{tab:human-error-jcomqa}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{人間の誤り回答}全般的に人間のスコアは高いが，人間の判断が揺れる問題が少ない割合ではあるが作成されている．表\ref{tab:human-error-marc-ja}から表\ref{tab:human-error-jcomqa}に，各データセットの人間の誤り回答例を示す．MARC-jaにおいては表\ref{tab:human-error-marc-ja}に示すように，positive(negative)な意味を前提としたnegative(positive)な発言を含む事例がしばしば存在しており，判断を悩ませている．JNLIでは表\ref{tab:human-error-jnli}に示すように，データ構築時や人間のスコア獲得時に4:6,5:5などに回答が分かれるような判断が難しい事例が少数含まれている．JSTSについても，データ構築時と人間のスコア獲得時で大きく類似度が異なってしまう事例が少数含まれている．JSQuADでは，表\ref{tab:human-error-jsquad}に示すように，正解のスパンの区切り位置の判別が難しい例や，別解が考えられる例，そのほか質問文が破綻している事例が含まれている．JCommonsenseQAにおいては表\ref{tab:human-error-jcomqa}に示すように別解が考えられる例や，人が誤って答えてしまう事例が含まれる．これらの誤りに対処するためには，データセット構築時の各事例の検証に，より多数のクラウドワーカーを用いることで，よりロバストな結果を得ることなどが考えられる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{訓練データの数の妥当性}訓練データの量の倍率を0.75,0.5倍と変化させてdevセットでの性能の変化を確認した．各データセットで最も高い性能を出したモデルを用いている．精度の変化を図\ref{fig:learning_curve}に示す．全てのデータセットで性能はほぼ飽和していることから，構築したデータセットの量は十分であると言える．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.6\begin{figure}[b]\begin{center}\includegraphics{30-1ia3f6.pdf}\end{center}\caption{学習データ量を変えた時の精度変化}\label{fig:learning_curve}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{JNLIにおけるAnnotationArtifacts}クラウドワーカーに作文してもらうことによって構築されたデータセットは，AnnotationArtifactsが発生することがあり，特にNLIデータセットにおいて顕著である\cite{poliak-etal-2018-hypothesis,tsuchiya-2018-performance}．AnnotationArtifactsとは，アノテーションによってデータ内に生じてしまうあるパターンのことを呼ぶ．例えば，クラウドワーカーによって作成された仮説文内に「not」が含まれている場合にたいてい推論関係がcontradictionであると，システムは仮説文のみを参照するだけでも十分高い性能を出すことができる．JNLIにおいて，仮説文のみを用いた推論の性能を確認した．はじめに，本実験用にJNLIから部分集合の抽出を行った．具体的には，推論関係がcontradictionである文ペア集合から，クラウドワーカーの作成文が仮説文である文ペアを抽出した．推論関係がentailment,neutralである文ペア集合については，片方向分のみ文ペア抽出した．そして，仮説文のみを用いた推論結果と，majorityベースラインとして全ての出力をneutralとする場合のスコアをそれぞれ比較した．比較の結果を表\ref{tab:hypothesis-only-JNLI}に示す．東北大\bertbaseモデルによる仮説文のみを用いた推論の結果が，majorityベースラインより高精度となっていることから\footnote{XLM-\robertlargeモデルでは学習がうまくできず，出力のすべてが最多ラベルであるneutralとなった．}，若干AnnotationArtifactsが含まれていると考えられる．本データセットを利用することで，AnnotationArtifactsの軽減に関する研究が実施されることを期待する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table21\begin{table}[t]\input{03table21.tex}\caption{仮説文のみを用いた推論によるJNLIのdevセットにおける精度}\label{tab:hypothesis-only-JNLI}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\paragraph{JSQuADにおけるLexicalOverlap}JSQuADの質を評価するために，SQuADで指摘されているLexicalOverlapについて調査した．LexicalOverlapとは，段落と質問文において単語が重なっている割合を指す．この割合が大きい場合，モデルにとって容易に回答可能であるということが知られている\cite{clark-etal-2020-tydi}．JSQuADの各段落と質問文のペアを単語単位に分割\footnote{単語単位の分割にはMeCab+IPAdic(\url{https://taku910.github.io/mecab/})を使用した．}し，LexicalOverlapを算出した．LexicalOverlapの平均値は0.795であり，JSQuADはSQuADと同様の課題を持つ．しかしながら，日本語においてベンチマークが存在しないので，JSQuADを先駆けとして本課題に対する研究が進むことを期待する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
本論文では日本語における言語理解ベンチマークJGLUEの構築について述べた．JGLUEは文章分類タスクであるMARC-ja・JCoLA，文ペア分類タスクのJSTS・JNLI，QAタスクのJSQuAD・JCommonsenseQAの計6つのデータセットで構成しており，それぞれのデータセットの文は全て人手で機械翻訳を用いることなく作成した．さらに，JGLUEを用いて各種事前学習モデルの性能比較を行うとともに，構築したデータセットのデータ量や品質について考察した．JGLUEは2022年6月より\url{https://github.com/yahoojapan/JGLUE}で公開中である．JGLUEを用いて，事前学習モデルの包括的な評価や，より難しい評価データの構築が進むことを期待している．今後はGLGE\cite{liu-etal-2021-glge}のような生成系タスクやFLEX\cite{bragg2021flex}のようなFew-shotタスクのデータセットなどを構築する予定である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本研究はヤフー株式会社と早稲田大学の共同研究により実施した．また本論文は以下のLREC2022の論文を拡張・翻訳したものである．Kurihara,K.,Kawahara,D.,andShibata,T.(2022).JGLUE:JapaneseGeneralLanguageUnderstandingEvaluation.InProceedingsofthe13thLanguageResourcesandEvaluationConference(LREC2022).EuropeanLanguageResourcesAssociation(ELRA).%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.7}\bibliography{03refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{栗原健太郎}{%2021年早稲田大学基幹理工学部情報通信学科卒業．2022年現在同大学院修士課程在学中．}\bioauthor{河原大輔}{%1997年京都大学工学部電気工学第二学科卒業．1999年同大学院修士課程修了．2002年同大学院博士課程単位取得認定退学．東京大学大学院情報理工学系研究科学術研究支援員，独立行政法人情報通信研究機構主任研究員，京都大学大学院情報学研究科准教授を経て，2020年より早稲田大学理工学術院教授．自然言語処理，知識処理の研究に従事．博士（情報学）．}\bioauthor{柴田知秀}{%2007年東京大学大学院情報理工学系研究科博士課程修了．京都大学大学院情報学研究科助教，特定講師を経て，2019年よりYahoo!JAPAN研究所上席研究員．専門は自然言語処理，特に深層学習を利用した日本語基礎解析．博士（情報理工学）．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\end{document}