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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% author's definition
%%%%\usepackage{jumoline}
\usepackage{booktabs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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

\received{2023}{7}{30}
\revised{2023}{10}{25}
\accepted{2023}{11}{28}

\setcounter{page}{134}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\jsubject{一般論文}
\jtitle{言語モデルを用いた漢詩文の返り点付与と書き下し文生成}
\jauthor{王　　　昊\affiref{Author_1} \and 清水　博文\affiref{Author_1} \and 河原　大輔\affiref{Author_1}}
\jabstract{%
近年の自然言語処理の研究は，現代語を中心に行われ，多くのタスクで高い性能を達成している．一方，古文やそれに関連するタスクにはほとんど注意が払われてこなかった．漢文は約 2000 年前の弥生時代に中国から日本に伝えられたと推測されており，それ以降日本文学に多大な影響を与えた．現在においても大学入学共通テストの国語において漢文は 200 点の内 50 点を占めている．しかし，中国にある豊富な言語資源に比べ，日本にある漢文の書き下し文資源は非常に少ない．この問題を解決するために，本研究は漢詩文を対象とし，白文と書き下し文からなる漢文訓読データセットを構築する．そして，漢文理解において重要視される返り点付与，書き下し文生成の二つのタスクに対し，言語モデルを用いて精度向上を試みる．また，人間の評価結果と比較することで，最適な自動評価指標について議論する．データセットとコードは \url{https://github.com/nlp-waseda/Kanbun-LM} で公開している．
}
\jkeywords{機械翻訳，言語資源，古典中国語，日本語}

\etitle{Reading and Translating Classical Chinese\\in Japanese Methods by Language Models}
\eauthor{Hao Wang\affiref{Author_1} \and Hirofumi Shimizu\affiref{Author_1} \and Daisuke Kawahara\affiref{Author_1}} 
\eabstract{%
Recent studies in natural language processing (NLP) have focused on modern languages and achieved state-of-the-art results in several tasks. Meanwhile, little attention has been paid to ancient texts and related tasks. Classical Chinese first came to Japan approximately 2,000 years ago. It was gradually adapted to a Japanese form called Kanbun-Kundoku (Kanbun) in Japanese reading and translating methods that have significantly impacted Japanese literature. However, compared with the abundant resources for ancient texts in mainland China, Kanbun resources remain scarce in Japan. Therefore, we construct a parallel Classical-Chinese-to-Kanbun dataset consisting of the Tang poetry. Furthermore, we introduce two tasks, character reordering and machine translation, both of which play a significant role in Kanbun comprehension. We also test the current language models on these tasks and discuss the best evaluation method by comparing the results with human scores. We release our code and dataset on GitHub: \url{https://github.com/nlp-waseda/Kanbun-LM}.
}
\ekeywords{Machine Translation, Language Resource, Classical Chinese, Japanese}

\headauthor{王，清水，河原}
\headtitle{言語モデルを用いた漢詩文の返り点付与と書き下し文生成}

\affilabel{Author_1}{早稲田大学}{Waseda University}



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


\section{はじめに}

漢文は弥生時代に中国から日本に伝えられたと推測されている \cite{japanese-history}．
そして奈良時代以降 \cite{kanbun-asia}，日本語の文章として読めるよう，漢文の語順構成を維持しながら訓点を付ける漢文訓読と，日本語の文体として書き直した漢文訓読文（または書き下し文）が使われ始めた．
漢文は『万葉集』 \cite{manyoshu}や『源氏物語』 \cite{genji-2,genji-1}など，多くの日本文学作品に影響を与えた．
今でも漢文は大学入学共通テストの国語において200点の内50点を占めており，漢文が日本文化に及ぼしている影響の大きさを示している．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 1
\begin{figure}[b]
\begin{center}
\includegraphics{31-1ia5f1.pdf}
\end{center}
\hangcaption{漢文訓読の具体例．``春眠不覚暁''はオリジナルの白文である．これを書き下し文に変換するために，返り点，読み仮名，送り仮名を付ける必要がある．漢字の左下にある二つの``レ''は返り点であり，レ点とも呼ぶ．その前後の一語ずつを逆に読むための記号である．右側の``ず''は読み仮名であり，``不''の読みは ``ず''であることを示している．漢字の右下にある``エ''と``ヲ''は送り仮名で，文章を孤立語から膠着語に変換するために存在する．以上のルールに基づき，白文``春眠不覚暁''は書き下し文``春眠暁を覚えず''に変換される．}
\label{fig:ex-kanbun}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

中国語と日本語は共通の漢字を多く持つが，日本人にとって漢文を読むことは容易ではない．
中国語，そして漢文の語順は，英語と同じSVO （主語-動詞-目的語）である一方，日本語の語順はSOV （主語-目的語-動詞）である．
そして，中国語は孤立語であり，時制や格などによって語の形は変化しない．
一方，日本語は膠着語であり，接頭辞や接尾辞のような形態素がその語の文法関係を示している．
漢文をSVOからSOVに，孤立語から膠着語に変換するために，日本人は句読点，返り点，送り仮名などからなる漢文訓読システム \cite{crawcour1965introduction}を開発した．
以下で漢文訓読システムの幾つかの定義や変換ルールを説明する．
また，図\ref{fig:ex-kanbun}に漢文訓読の具体例を示す．
古典中国語の訓読体系は，朝鮮半島 \cite{korean}や契丹など他の地域にも存在するが，本研究では日本の漢文訓読システムに注目する．
\vspace{1\Cvs}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{白文}
句読点，返り点，送り仮名が付いていない漢文のこと．

\paragraph{書き下し文}
白文を，返り点や送り仮名に従って書き下したもの．

\paragraph{返り点}
漢文の語順をSVOからSOVに変換するための記号である．
接している二つの漢字の読み順を逆にする``レ点''，漢数字に沿って読み順を決める``一，二点''，数字ではないが同じく読み順を決める``上，中，下点''，``甲，乙点''などがある．

\paragraph{読み仮名}
漢字の読み方を示すためのひらがなである．

\paragraph{送り仮名}
漢文を孤立語から膠着語に変換するために付けるカタカナのこと．

\paragraph{置き字}
漢文を訓読する際に，直接読まない字のこと．
書き下し文にする時は，その意味に対応する送り仮名を前後の文字に付けて反映する．
``而''，``於''，``乎''，``兮''などが置き字になることがある．

\paragraph{再読文字}
漢文を訓読する際に，二度読む字のこと．
一度目は返り点を無視した語順で副詞として読み，二度目は返り点にしたがって助動詞・動詞として読む．
``未''，``将''，``且''，``当''などが再読文字になることがある．

\paragraph{返読文字}
漢文を訓読する際に，下から上へ返って読む字のこと．
``非''，``有''，``不''，``与''などが返読文字になることがある．
\vspace{1\Cvs}

中国には豊富な漢文の言語資源があるが，日本におけるそれらの書き下し文データは極めて少ない．
例えば，『全唐詩』には48,900首以上の唐詩が収録されており，その全てにオンラインでアクセス可能である．
しかし，我々の知る限りでは，日本では約500首の唐詩の書き下し文データしかインターネット上に存在しない．
この大きなギャップは，日本における漢文研究及び漢文教育の阻害要因となっている．
『漢文大系』などの書籍の中に書き下し文のデータは多く存在するが，それらにOCRを適用し，データを整形するには膨大なコストがかかる．
そのため，高性能な書き下し文生成器を構築することが書き下し文資源の不足を解消する最も効率的な方法と考えられる．
また，漢文の仕組みを理解することは，和漢混交文などの古典日本語や，日本の文化・思想の解明にもつながると考えられる．

従来の研究 \cite{ud-kaeriten,ud-tree,ud-kundoku,ud-kundoku-2,ud-ud}では，Universal Dependencies \cite{de-marneffe-etal-2021-universal}を使った返り点付与と書き下し文生成を含む一連の漢文に関する言語処理の手法が提案された．
しかし，ルールベースであり性能が不十分である上，これらの研究ではデータセットを作っておらず，定量的評価を行っていない．
本研究では，漢文理解の第一歩として，漢詩文の中で代表性がある唐詩に注目する．
最初に，白文，日本語読み順，書き下し文の3つ組からなる漢文訓読データセットを構築する．
これを基に，言語モデルを用い，返り点付与器と書き下し文生成器を構築し，両タスクにおいて定量評価を行う．
そして，書き下し文の生成結果に対し，人手評価の結果と比較することで，最も適切な自動評価指標について議論する．
さらに，返り点付与と書き下し文生成のパイプラインを構築し，白文の事前ソート（返り点付与）が書き下し文生成に貢献するかどうかを検証する．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{古典中国語に関する研究}

古典中国語は現代語と比べまだ十分研究されていない分野ではあるが，他の低資源古典語と比べれば数多くの言語資源がある．
『殆知閣』\footnote{\url{https://github.com/garychowcmu/daizhigev20}}は約33億トークンを含む古典中国語の最大のデータセットである．
『四庫全書』コーパスは中国史上の蔵書36,381巻，約10億トークンを収録したものである．
Chinese-Poetry\footnote{\url{https://github.com/chinese-poetry/chinese-poetry}}は30万首以上の漢詩を含むデータベースである．
また，下流タスクに利用できるコーパスも幾つか存在する．
The Ancient Chinese Corpus (ACC)\footnote{\url{https://catalog.ldc.upenn.edu/docs/LDC2017T14}}は単語分割や品詞タグの情報を含む『春秋左氏伝』のデータセットである．
CCTC\footnote{\url{https://github.com/scagin/cctc}}とClassical-Modern\footnote{\url{https://github.com/NiuTrans/Classical-Modern}}は古典中国語と現代中国語のパラレルデータセットである．
FSPC \cite{ijcai2019p684}とCCMP \cite{li2021CCPM}は漢文理解のために提案されたデータセットである．

BERT \cite{devlin-etal-2019-bert}やBERT-likeモデル \cite{liu2019roberta,https://doi.org/10.48550/arxiv.1909.11942,he2021debertav3}が提案されて以来，大規模コーパスで言語モデルを事前学習し，下流タスクでファインチューニングすることが自然処理研究のパラダイムになっている．
古典中国語においても，幾つかの事前学習済みモデルが開発，公開されている．
SikuBERTとSikuRoBERTa \cite{sikubert}は『四庫全書』コーパスで事前学習され，ACCデータセットを用いて，単語分割，句読点復元，品詞タグ付け，固有表現認識の四タスクで評価されている．
GuwenBERT\footnote{\url{https://github.com/ethan-yt/guwenbert}}は『殆知閣』コーパスで事前学習され，CCLUEベンチマーク\footnote{https://cclue.top}で評価されている．
また，SikuGPT2\footnote{\url{https://huggingface.co/JeffreyLau/SikuGPT2}}や，Mengzi-T5 \cite{https://doi.org/10.48550/arxiv.2110.06696}のようなGPT \cite{radford2019language}ベースとT5 \cite{2020t5}ベースの生成モデルも開発，公開されている．

事前学習済みモデルの性能を評価するために，自然言語理解(NLU)のベンチマークが多くの言語で提案されている．
英語のGLUE \cite{wang-etal-2018-glue}，中国語のCLUE \cite{xu-etal-2020-clue}，日本語のJGLUE \cite{kurihara-etal-2022-jglue}などがある．
古典中国語については，CCLUEとWYWEB \cite{wyweb}が提案されている．
CCLUEは，文区切り，固有表現認識，テキスト分類，テキスト検索などを含む五つのタスクを提供している．
WYWEBは，テキスト分類，系列ラベリング，機械読解，機械翻訳など八つのタスクを提供している．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{漢文訓読に関する研究}

\citeA{ud-kaeriten}は，Universal Dependencies \cite{nivre-etal-2016-universal}に基づく漢文の返り点付与を行う手法を提案した．
この手法は，まず漢文に対し形態素解析を行い，単語単位に分割し，品詞タグを付与する．
そして，『孟子』，『論語』，『礼記』のUniversal Dependenciesを学習したarc-planar algorithm \cite{gomez-rodriguez-nivre-2010-transition}を用いて依存構造解析を行う．
最後に，依存構造解析結果と著者が提案したルールに基づいて，返り点付与を行う．

さらに，\citeA{ud-kundoku,ud-kundoku-2}は漢文を書き下し文に変換するencode-reorder-decodeモデルUD-Kundokuを提案した．
encode-reorderモジュールは上記の返り点付与手法を用いたものである．
並べ替えられた漢文を書き下し文に変換するために，著者は送り仮名を付けるルールベースの手法を提案した．
ルールは大きく助詞と活用語尾に分けられ，置き字や再読文字など特殊なケースにも対応している．
また，\citeA{ud-kundoku-2}は書き下し文の生成結果に対してBLEU \cite{papineni-etal-2002-bleu}とRIBES (平尾 他 2011)\nocite{ribes}を用いて評価を行っているが，数サンプルの評価に留まっており，定量的評価を行っていない．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{データセット構築とタスク設定}
\label{sec:data}
\vspace{-0.3\Cvs}

本研究は白文，日本語読み順，書き下し文の3つ組から構成される漢文訓読データセットを構築する．
漢文で使われる語彙や文法は時代によって変化するため，多くの時代をカバーするテキストを収集することが望ましいが，現時点ではそのような包括的なデータセットを作ることは困難である．
本研究では，書き下し文が付与されているデータソースとして最も大きいと考えられる『唐詩選』\footnote{\url{https://kanbun.info/syubu/toushisen000.html}}を基にデータセットを作成する．
前処理として，ルールベースで書き下し文から白文の日本語語順を抽出し，置き字や再読文字など特殊な文字に対し人手でアノテーションを行う．
また，辞書を用いて旧字体を可能な限り新字体に変換し，言語モデルのOOV (Out of Vocabulary)問題を軽減する．
『唐詩選』は合計465首の唐詩から構成される．
一つの詩の中の文が分割されないように，本研究ではGroupShuffleSplitを使ってデータセットをTrain，Validation，Testに分割した．
表\ref{tab:data-example}にデータの例，表\ref{tab:statistics}にデータセットの統計量情報を示す．

構築したデータセットに基づき，漢文理解において重要である返り点付与と書き下し文生成の二つのタスクを解く．
返り点付与\footnote{実質上は文字の並べ替えとなっている．}では，白文を日本語の読み順（SVOからSOV）に変換する．
書き下し文生成は，白文を書き下し文に変換するseq2seqタスクである．
ソースとターゲットは語彙を一部共有しているため，多言語の書き換えタスクと見なすこともできる．
本研究で扱う唐詩のほとんどは五言・七言の絶句や律詩であり，漢文の中では比較的容易なジャンルであることに注意されたい．
\pagebreak

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 1
\begin{table}[t]
\input{05table01.tex}%
\hangcaption{漢文訓読データセットの例．各事例は白文，日本語読み順（数字は白文中の順位を表している），書き下し文の3つ組から構成される．}
\label{tab:data-example}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 2
\begin{table}[t]
\input{05table02.tex}%
\caption{データセットの統計量情報（白文パート）.}
\label{tab:statistics}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% fig. 2
\begin{figure}[t]
\begin{center}
\includegraphics{31-1ia5f2.pdf}
\end{center}
\caption{パイプラインの概要図. (A)は返り点付与器，(B)は書き下し文生成器である.}
\label{fig:pipeline}
\end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{タスクの実装}

本節では，返り点付与と書き下し文のそれぞれの実装を説明する．
本研究ではパイプラインも構築し，白文の事前ソート（返り点付与）が書き下し文生成に貢献するかどうかについて実験を行う．
図\ref{fig:pipeline}にパイプラインの概要を示す．
本節の実験は全てNVIDIA A100 (40GB)一枚を用いて行った．

返り点付与に対して，本研究ではBERT-likeモデルを用いたrank-basedのソート手法を採用する．
モデルをファインチューニングし，日本語読み順において文字のランクを予測する．
入力としては，白文を文字単位に分割し，それぞれの文字を{\{文字\}\{白文中の文字の順位\}[SEP]\{白文\}}の形に変換する．
白文中の文字の順位は同じ文字が二つ以上出現する場合に対応するために追加している．
それぞれの文字の日本語語順中の順位を白文の長さで正規化し（長さ5の文に対し，順位は1, 2, ..., 5から0.2, 0.4, ..., 1に正規化される），学習における正解の値として設定する．
モデルが出力した順位を昇順にソートし，元の文字に戻せば，日本語語順の白文を得ることができる．
図\ref{fig:pipeline}の(A)に我々のソート手法の様子を示している．

書き下し文生成に対しては，T5とGPTを用いてファインチューニングを行い，白文から書き下し文を生成する．
各モデルの真の性能を見るため，生成結果に対しては一切フィルタリングを行わない．

パイプラインについては，返り点付与モデルによって日本語語順にソートされた白文をT5またはGPTに入力し，事前の返り点付与が書き下し文生成に貢献するかどうかを検証する．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{事前学習モデル}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{返り点付与のモデル}

返り点付与に対し，合計五つのモデルを用いて実験を行う．
二つのモデルは日本語コーパスで，二つのモデルは中国語コーパスで，一つは古典中国語コーパスで事前学習されている．
各モデルのトークナイザーは全て文字ベースであり，各文字の正確な位置を予測することを意図しているためである．
mBERT \cite{devlin-etal-2019-bert}やXLM-RoBERTa \cite{conneau-etal-2020-unsupervised}などの多言語モデルは，トークナイザーが一般的に文字ベースのエンコーディングを行わないため，本研究は使用しない\footnote{mBERTのトークナイザーはCJK統合漢字に対応しているが，旧字体を含む一部の日本語の漢字はCJK統合漢字に含まれていないため，日本語も文字単位に分割できる保証はない．}．
本実験は以下の五つのモデルを使用する．
\vspace{1\Cvs}

\paragraph{BERT-japanese-char}
このモデルは，Wikipediaの日本語版で学習させたものである．

\paragraph{RoBERTa-japanese-char-wwm}
このモデルは，Wikipediaの日本語版とCC-100 \cite{conneau-etal-2020-unsupervised}の日本語パートで学習させたものである．
Whole word masking \cite{Cui_2021}が学習に用いられている．

\paragraph{BERT-chinese}
このモデルは，Wikipediaの中国語版で学習させたものである．

\paragraph{RoBERTa-chinese-wwm-ext}
このモデルは，Wikipediaの中国語版などからなる5.4Bトークンのコーパスで学習させたものである．
Whole word maskingが学習に用いられている．

\paragraph{RoBERTa-classical-chinese-char}
このモデルは，GuwenBERTの単語ベクトルを繁体字（および日本語の常用漢字）へ拡張したものである．

\vspace{1\Cvs}
各モデルは全て12層のエンコーダー，768次元の隠れ層，12のアテンションヘッドからなる．
実験で使用する事前学習モデル及びハイパーパラメータを付録\ref{appendix:model}と\ref{appendix:parameter}に示す．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{書き下し文生成のモデル}

書き下し文生成に対し，mT5 \cite{xue-etal-2021-mt5}とmGPT \cite{https://doi.org/10.48550/arxiv.2204.07580}を用いる．

\vspace{1\Cvs}
\paragraph{mT5}
このモデルは，mC4 \cite{2020t5}コーパスを用いて，101言語で学習させたものである．
中国語と日本語は両方含まれている．

\paragraph{mGPT}
このモデルは，WikipediaとmC4コーパスを用いて，60言語で学習させたものである．
中国語と日本語は両方含まれている．


\vspace{1\Cvs}
日本語のモデルは多言語モデルと比べて語彙サイズが小さく，漢文の難しい漢字の多くに対応できていないため，本実験では使用しない．
実験で使用する事前学習モデル及びハイパーパラメータを付録\ref{appendix:model}と\ref{appendix:parameter}に示す．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{返り点付与}

語句の並べ替えの研究 \cite{cui-etal-2020-bert,Kumar_Brahma_Karnick_Rai_2020,https://doi.org/10.48550/arxiv.2103.13584}に従い，本研究では以下の指標を用いて自動評価を行う．

\vspace{1\Cvs}
\paragraph{Kendall's Tau ($\tau$)}
この指標は，二つの文の順位相関を測るものである．
予測された文字順を真の文字順に並べ替えるために必要な交換回数が少ないほど，相関が強く，性能が良いことを意味する．
\[
 \tau = 1 - \frac{4(\#inversions)}{\#char (\#char-1)}
\]

\paragraph{Perfect Match Ratio (PMR)}
予測された文字順と真の文字順が完全に一致する割合を示す．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{書き下し文生成}

書き下し文の評価について系統的な研究がないため，先行研究で用いられたBLEU \cite{papineni-etal-2002-bleu}とRIBES  (平尾 他 2011)\nocite{ribes}に加え，ROUGE-L \cite{lin-2004-rouge}とBERTScore \cite{bert-score}を用いて自動評価を行う．
単語ベースの評価は形態素解析への依存度が高く，また，漢文の関連パッケージが成熟していないことから，本研究では文字ベースで上記の指標を計算する．

\vspace{1\Cvs}
\paragraph{BLEU}
BLEU \cite{papineni-etal-2002-bleu}は，機械翻訳で最も広く使われている評価指標である．
翻訳結果と参照訳との類似度を，両者のn-gram一致数のprecisionに基づいて計算する．

\paragraph{RIBES}
RIBES  (平尾 他 2011)\nocite{ribes}は，語順が大きく異なる言語間の機械翻訳を評価するために提案された評価指標である．
\pagebreak
翻訳結果と参照訳に単語のマッピングを適用し，順位相関をスコアとして計算し，評価する．

\paragraph{ROUGE}
ROUGE \cite{lin-2004-rouge}は，要約タスクでよく使われる評価指標である．
ROUGE-nは，翻訳結果と参照訳のn-gram一致数のrecallに基づいて計算する．
n-gramの代わりに最長共通部分列を使ってスコアを計算するROUGE-Lも提案されている．
ROUGE-1，ROUGE-2，ROUGE-Lは，後節で説明する人手評価との相関において大差がなかったため，本稿ではROUGE-Lの結果のみを報告する．

\paragraph{BERTScore}
BERTScore \cite{bert-score}は，埋め込み表現を用いる指標であり，翻訳結果の各トークンと参照訳の各トークンとの類似度スコアを計算する．
文字ベースでスコアを計算するために，本実験では東北大BERT (BERT-japanese-char)の第11層の出力を用いる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{人手によるアノテーション}

本研究は中国語と日本語のバイリンガル三名にアノテーションを依頼する．
アノテータの選考基準としては以下のものを設ける: (1)中国語の白文を読めること．(2)大学入学共通テストの漢文パートで満点が取れること．

返り点付与に対しては，返り点付与器と人間の性能を比較するために，同じソート作業を参考文献やインターネットアクセスなしで行ってもらう．
結果を集計し，Kendall's TauとPMRスコアを計算する．

書き下し文生成に対しては，以下の三つの指標で1から5の5段階（大きい方が良い）で評価してもらう．
書き下し文の正しさを評価するため，参考文献の参照を可能としている．

\vspace{1\Cvs}
\paragraph{Relevance}
白文を不足なく，乖離なく書き下しているかどうか．

\paragraph{Accuracy}
日本語としての語彙的，文法的正しさ．読み順の正しさ．

\paragraph{Fluency}
文の流暢さ，自然さ．漢詩のリズム感が残っているかどうか．


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{返り点付与}

返り点付与の評価結果を表\ref{tab:reorder}に示す．
UD-Kundokuは\citeA{ud-kundoku,ud-kundoku-2}で提案されたベースラインで，Humanスコアは3人のアノテータのスコアの平均値である．
UD-Kundokuは『孟子』，『論語』，『礼記』など比較的長い漢文を対象としており，本研究が対象とする唐詩の特徴や難易度と異なるため，単純な比較はできず，ベースラインの値としてはあくまで参考程度であることに注意されたい．
全てのBERT-likeモデルはベースライン，そして人間より高い精度を達成した．
中国語のモデルは，日本語のモデルよりも若干良い精度を示し，漢文コーパスで事前学習したRoBERTa-classical-chinese-charは最も良い精度を示した．
これは，事前学習で使われているコーパスにおける漢文の割合によるものだと考えられる．
ベースラインと比較して，RoBERTa-classical-chinese-charはKendall's Tauを22.5\%，PMRを94.7\% 向上させることに成功した．
人間のスコアと比較して，RoBERTa-classical-chinese-charはKendall's Tauを11.8\%，PMRを29.2\% 向上させた．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 3
\begin{table}[t]
\input{05table03.tex}%
\hangcaption{返り点付与におけるKendall's Tau ($\tau$)とPMRの評価結果．UD-Kundokuはベースラインで，Humanスコアは三人のアノテータの結果の平均である．}
\label{tab:reorder}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\vspace{1\Cvs}
\paragraph{中国語モデルと日本語モデルの性能差}
中国語コーパスには漢文が一部存在するため，中国語モデルと日本語モデルの性能差は，言語の語順ではなく，コーパスに起因するものと推測する．
このタスクはSVOをSOVに変換する並べ替えタスクであるため，語順を考慮し，事前学習に中国語と日本語両方のコーパスを使用することが理想である．
しかし，既存の多言語モデルは，入力テキストを文字単位に分割できる保証はないため，この検証は将来の研究に委ねる．

\paragraph{追加の事前学習データは性能に貢献しない}
RoBERTaのモデルは，BERTのモデルよりも高いスコアを得ることができなかった．
これはCC-100 \cite{conneau-etal-2020-unsupervised}のようなウェブからクローリングしたコーパスには多くの漢文が存在しておらず，RoBERTaでの追加学習はモデルの漢文の理解能力を強化できなかったと考えられる．


\paragraph{BERTは細かい部分の予測が得意}
人間のスコアと比較すると，RoBERTa-japanese-char-wwmと人間のPMRスコアは同程度であるが，モデルのKendall's Tauスコアは人間より5.9\% も高いという興味深い結果が得られた．
これは，BERT-likeモデルが人間よりも語順の詳細を予測できることを示している．
本研究で依頼したアノテータは中国語と日本語のバイリンガルであるが，漢文の専門家ではない．
今後，実際の専門家と協力して実験を行い，BERT-likeモデルが優位性を保てるかについて検証したい．

\paragraph{具体例の分析}
返り点付与の具体例として，詩『送孔巣父謝病歸遊江東兼呈李白』に対するモデルとアノテータの解答結果を表\ref{tab:reorder_example}に示す．
モデルが完全正解できた文はアノテータより多く，間違っている文でも小さいミスに留まっている．
一方，人間は時々相関係数を大きく下げるミスを犯す．
これは，定量評価と整合性を取れる結果となっている．
二人以上のアノテータが正解できたが，モデルが不正解だった例として，``巣父掉頭不肯住''，``東將入海隨煙霧''と``指點虚無引歸路''がある．
``巣父掉頭不肯住''では，``肯''は``承知する''という意味であると認識できなかったのが原因であると推測する．
``東將入海隨煙霧''と``指點虚無引歸路''では，``東將''と``指點''が二文字からなる名詞および動詞であると認識できなかったのが原因であると推測する．
前処理で文を文字単位に分割しているため，このように複数の文字から構成される単語を別々の単語として誤認識する例は他にも沢山ある．
漢文特化の形態素解析器を作り，前処理で単語単位に分割することができれば，返り点付与の精度はさらに向上すると期待できる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 4
\begin{table}[t]
\input{05table04.tex}%
\hangcaption{返り点付与の具体例『送孔巣父謝病歸遊江東兼呈李白』．アンダーバーでモデルやアノテータの解答の間違っている部分を示す．完全正解している場合は``-''で省略する．モデルは最も強いRoBERTa-classical-chinese-charを使用している．}
\label{tab:reorder_example}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{書き下し文生成}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{モデルの性能評価}

書き下し文生成に対する自動評価と人手評価の結果を表\ref{tab:translation}に示す．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 5
\begin{table}[b]
\input{05table05.tex}%
\caption{書き下し文生成の評価結果. UD-Kundokuはベースラインである.}
\label{tab:translation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

自動評価では，全モデルが全ての評価指標でベースラインを上回った．
mT5の性能はモデルサイズの増大につれて上昇し，mT5-largeが最も良い性能を示した．
mGPTとmT5-smallの性能は近い結果となった．

人手評価では，mT5-small，mT5-large，mGPTの生成結果のみをアノテータに評価させた．
作成したデータセットの品質を測るため，正解書き下し文も評価している．
自動評価と同様，mT5-largeが最も良い性能を示した．
一方，mGPTはmT5-smallの8倍以上のパラメータ数を持つが（詳細なモデルサイズを付録\ref{appendix:model}に示す），mT5-smallのスコアは大きくmGPTを上回った．
mT5，mGPTは共に主にmC4 \cite{2020t5}で事前学習しているため，コーパスの影響はほぼ排除できる．
推測の一つとしては，mT5のエンコーダが漢文の理解に大きな役割を果たしていると考えられる．
しかし，これは仮説であり，追加の実験が必要である．
正解書き下し文は非常に高いスコアを獲得し，本データセットの書き下し文データが高品質であることが証明された．
また，アノテータ間の一致度を測定するために，Fleiss' Kappaを計算した．
Relevance，Accuracy，FluencyについてのFleiss' Kappaはそれぞれ0.360，0.371，0.341であり，fair agreementを示した \cite{kappa}．


\vspace{1\Cvs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\paragraph{具体例の分析}
5.1節の返り点付与で議論した単語の認識がうまくいっていない例について，書き下し文生成においても分析を行う．
表\ref{tab:translation_example}に具体例を示す．
5.1節の``東將''と``指點''と同様，``扁舟''，``海霧''，``登仙''，``講法''，``人意''，``令公''，``擒生''が一つの名詞や動詞として認識されず，誤った書き下し文が生成された．
これは，人手評価のRelevance値の低さにも繋がっている．
mT5は文字単位ではなく単語単位で文を分割するが，事前学習コーパスにおける漢文の量が少なく，うまく分割できなかったのが原因だと考えている．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 6
\begin{table}[b]
\input{05table06.tex}%
\hangcaption{単語の認識がうまくいっていない書き下し文生成の具体例．三人のアノテータのRelevance人手評価値とその平均を示す．モデルは最も強いmT5-largeを使用している．}
\label{tab:translation_example}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 7
\begin{table}[b]
\input{05table07.tex}%
\hangcaption{再読文字``当，応，未''および返読文字``不''が使用される書き下し文生成の具体例．三人のアノテータのRelevance人手評価値とその平均を示す．モデルは最も強いmT5-largeを使用している．}
\label{tab:translation_example2}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

また，表\ref{tab:translation_example2}に再読文字，返読文字が使用される文の例を示す．
mT5-largeはほとんどの再読，返読文字を正しく生成できている．
人手評価も高いスコアとなっている．
少量の学習データがあれば，ほとんど漢文を見たことがないモデルでも，再読，返読文字のような特殊な変換ルールを学習できると考えられる．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{自動評価と人手評価の相関}
表\ref{tab:correlation}に自動評価指標と人手評価指標間の相関係数を示す．
BERTScoreは三つの人手評価指標全てと最も高い相関を示した．
ランクに基づくRIBESは最も低い相関を示した．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 8
\begin{table}[b]
\input{05table08.tex}%
\caption{自動・人手評価指標のPearson ($r$)，Spearman ($\rho$)相関係数. 人手評価指標間の相関も示している.}
\label{tab:correlation}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

BLEUとROUGE-Lに比べ，BERTScoreはRelevanceでわずかにリードしているが，AccuracyとFluencyでは大幅に優れていた．
これは，BERTScoreが潜在的な文単位の意味を捉えることができる \cite{bert-score}ため，文の正しさと流暢さを判断することができたと推測する．
また，漢文は一般的に非常に短いため，BLEUやROUGEが小さな変化に影響される可能性があり，BERTScoreの方が漢文の評価に適していると推測する．

人手評価指標間の相関も表\ref{tab:correlation}に示している．
AccuracyとFluencyの相関が最も大きく，語彙的，文法的に正しい日本語は流暢であることがわかる．
全体的に，人手評価指標間の相関は比較的高い．
より包括的な観点から評価するため，今後漢文の専門家と議論し，より適切な，互いに相関が低い人手評価指標を定義したいと考える．


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{パイプライン}

パイプラインの評価結果を表\ref{tab:pipeline}に示す．
各モデルの一行目は表\ref{tab:translation}にも示した直接書き下し文を生成した結果である．
二行目(``+ reorder'')は，RoBERTa-classical-chinese-charを使って事前に返り点付与を行ってから書き下し文生成した結果である．
三行目(``+ reorder (gold)'')は，RoBERTaの予測結果ではなく，真の日本語読み順のラベルを使って事前ソートしてから書き下し文生成した結果である．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 9
\begin{table}[t]
\input{05table09.tex}%
\hangcaption{パイプラインの評価結果. 一行目は素の生成結果，二行目(``+ reorder'')はRoBERTaで事前ソートしてから生成させたもの，三行目(``+ reorder (gold)'')は正解でソートしてから生成させたもの．}
\label{tab:pipeline}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

返り点付与モデルで事前ソートした結果，mT5-smallのスコアは改善されたが，mT5-baseとmT5-largeはほとんどの評価指標で性能の低下を示した．
生成モデルの性能が上がれば，徐々に語順を考慮しながら書き下し文を生成できるようになると推測する．
表\ref{tab:reorder}に示しているように，返り点付与モデルの予測は100\%正確ではないため，誤った予測により生成モデルが混乱し，正しい語順を予測できなくなったと考えられる．

一方，正解を用いた事前ソートは，ほぼ全てのモデルにおいて一定の性能向上を示した．
これは，正しい返り点付与は書き下し文の生成に貢献することを示している．


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

本研究は，書き下し文資源の不足を解消するために，
\pagebreak
言語モデルを用いた返り点付与と書き下し文生成を試みた．
また，白文，日本語読み順，書き下し文の3つ組が含まれる漢文訓読データセットを構築した．
データセットは利用しやすい形で公開しており，今後の漢文研究において有用であると考えている．

さらに，自動評価と人手評価の相関を計算することで，どの自動評価指標が漢文訓読に最も適しているのかについて議論した．
本稿の実験では，BERTScoreが最も優れている結果となった．
しかし，文字ベースの評価指標でしか実験しておらず，今後はサブワードベースや文ベースの指標を用いて追加の実験を行う必要がある．

本研究のデータセットは唐詩のみから構成されているため，包括的とは言えない．
唐詩は漢文の中で比較的容易なジャンルであることを考慮すると，我々のモデルは，唐詩以外の漢文において高い精度を出せない可能性がある．
今後は，データセットを継続的に更新し，より包括的な漢文テキストを含むよう改良したいと考える．
また，多種な漢文に対応できるように，頑健なモデルの学習方法の検討や，モデルのドメイン外性能の評価などを行っていきたい．
さらに，漢文の専門家と協力し，人間の返り点付与の精度上限を探ること，より厳密な人手評価指標を作ることなど，より深い議論を行っていきたい．


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

本研究はJSPS科研費JP21H04901の助成を受けて実施した．
また本論文は以下のFindings of ACL 2023の論文を拡張・翻訳したものである．

Hao Wang, Hirofumi Shimizu, and Daisuke Kawahara. 2023. Kanbun-LM: Reading and Translating Classical Chinese in Japanese Methods by Language Models. In Findings of the Association for Computational Linguistics: ACL 2023, pages 8589--8601, Toronto, Canada. Association for Computational Linguistics.


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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
\vspace{-1\Cvs}

\section{事前学習モデル}
\label{appendix:model}
以下に実験に用いた事前学習モデルの詳細を示す．返り点付与用のBERT-likeモデルは表\ref{tab:model1}，書き下し文生成用のモデルは表\ref{tab:model2}に示す．

\clearpage

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 10
\begin{table}[t]
\input{05table10.tex}%
\caption{事前学習モデルの詳細（返り点付与）．}
\label{tab:model1}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 11
\begin{table}[t]
\input{05table11.tex}%
\caption{事前学習モデルの詳細（書き下し文生成）．}
\label{tab:model2}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{ハイパーパラメータ}
\label{appendix:parameter}
\label{sec:appendix}

表\ref{tab:hyperparamters}に実験に用いたハイパーパラメータを示す．
中括弧内の値でグリッドサーチして最適なものを選んでいる．

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% table 12
\begin{table}[h]
\input{05table12.tex}%
\caption{実験に用いたハイパーパラメータ．}
\label{tab:hyperparamters}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


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

\bioauthor{王　　　昊}{%
2023年早稲田大学基幹理工学部情報理工学科卒業.
2023年現在同大学院修士課程在学中.
}

\bioauthor{清水　博文}{%
2022年早稲田大学基幹理工学部情報通信学科卒業.
2023年現在同大学院修士課程在学中.
}

\bioauthor{河原　大輔}{%
1997年京都大学工学部電気工学第二学科卒業.
1999年同大学院修士課程修了.
2002年同大学院博士課程単位取得認定退学.
東京大学大学院情報理工学系研究科学術研究支援員，独立行政法人情報通信研究機構主任研究員，京都大学大学院情報学研究科准教授を経て，2020年より早稲田大学理工学術院教授.
自然言語処理，知識処理の研究に従事.
博士（情報学）.
}

\end{biography}



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



\end{document}

