\section{はじめに}
\label{sec:intro}言語生成における最も一般的な解の探索手法としてビームサーチが挙げられる．ビーム幅を大きくすることでより広範囲の解候補探索が可能となるが，ビーム幅を大きくすると生成品質が低下するという問題が知られている\cite{koehn-knowles-2017-six,yang-etal-2018-breaking,pmlr-v80-ott18a,stahlberg-byrne-2019-nmt}．この問題への対処法として，$N$ベスト出力のリランキングや最小ベイズ復号法\cite{muller-sennrich-2021-understanding,eikema-aziz-2022-sampling}が研究されてきた\cite{fernandes-etal-2022-quality}．リランキング手法はデコード方法のみを変更するため，最小ベイズ復号法のようなモデル学習を伴う方法と比べ学習コストが低く，学習済みモデルに容易に適用できる．リランキング手法は$N$ベスト出力の中により品質の高い仮説が存在することを前提とし，品質が高いと推定された仮説を選択している．そのため，リランキング手法は部分的に高品質であるが文全体としては不完全な仮説を活用することが困難である．提案手法では，このような高品質な断片を識別し，語彙制約付きデコーディング手法により統合することで高品質な出力を生成する．具体的には，まず言語生成モデルにビームサーチを適用することで$N$ベストの出力文を生成した後，$N$ベスト出力に含まれる各トークンが最終出力に含まれるべきか否かの正誤予測を行い，誤りと予測されたトークンを負の制約，正しいと予測されたトークンを正の制約とする．そして，入力文を再度言語生成モデルに入力し，語彙制約を適用したデコードを行うことで，予測された誤りを含まず，正解と期待されるトークンを含んだ出力文を得る．提案手法は言語生成モデルの訓練用コーパスが存在するあらゆる言語生成タスクに適用でき，高い汎用性を持つ．提案手法の有効性を検証するために，言い換え生成タスク\cite{takayama-etal-2021-direct-direct}，要約タスク\cite{see-etal-2017-get,hermann-etal-cnndm,narayan-etal-2018-dont}，翻訳タスク\cite{kocmi-etal-2022-findings}，制約付きテキスト生成タスク\cite{lin-etal-2020-commongen}という$4$つの言語生成タスクにおける評価実験を実施した．その結果，言い換え生成，要約，翻訳において，$N$ベスト出力の中には文全体としては不完全であっても，部分的に品質の高い断片が存在するという我々の仮定が成立することが確認された．さらに，妥当な出力が定まりやすい，言い換え生成，要約において提案手法が強力なリランキング手法を上回ることが確認された\footnote{実験に用いたコードは以下で公開している．\url{https://github.com/mr0223/self-ensemble}}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{関連研究}
本章では提案手法と関連が深い技術として，リランキング，モデルアンサンブル，語彙制約について議論する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成タスクにおけるリランキング}\label{subsec:related_reranking}言語生成におけるリランキングとは，言語生成モデルの$N$ベスト出力を，別の評価指標やモデルによって再評価することで，最終的な出力文を選択する手法である．リランキング手法には識別モデルを用いる手法と生成モデルを用いる手法の$2$種類が存在する．識別モデルを用いるリランキング手法では，$N$ベスト出力の特定の評価指標スコアを予測する専用のリランキングモデルを訓練する\cite{lee-etal-2021-discriminative,bhattacharyya-etal-2021-energy,shen-etal-2004-discriminative}．Leeetal.(2021)は，機械翻訳タスクに識別的リランキング手法を適用し，機械翻訳の評価指標BLEU\cite{papineni2002bleu}を予測する専用のリランキングモデルを訓練した．Leeetal.の手法では，翻訳モデルの入力文と$N$ベスト出力を連接してリランキングモデルに入力することで，各仮説を再評価する．生成モデルによるリランキング手法では，訓練済み言語モデルなどの汎用的なモデルをリランキングモデルとして利用する\cite{yee-etal-2019-simple,ng-etal-2019-facebook}．Yeeetal.(2019)は，機械翻訳タスクに生成モデルによるリランキング手法を適用し，翻訳モデル，逆翻訳モデル，言語モデルの$3$つの汎用的なモデルをリランキングモデルとして利用した．Yeeetal.の手法では，翻訳モデルが入力文を$N$ベスト出力に翻訳する確率，逆翻訳モデルが各仮説を入力文に翻訳する確率，言語モデルにより評価した各仮説のパープレキシティの$3$つのスコアを線形結合することで，各仮説を再評価する．これらのリランキング手法は，言語生成モデルの$N$ベスト出力に質の高い仮説が含まれていることを仮定し，品質が高いと推定された仮説を選択している．そのため，リランキング手法は，部分的には高品質であるが文全体としては不完全な仮説を活用することが困難である．一方，提案手法はリランキング手法の仮定を拡張し，$N$ベスト出力に高品質な断片を含むが文全体としては品質の低い仮説が含まれていると仮定している．提案手法はこのような高品質な断片を識別，統合することで高品質な出力を生成する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成タスクにおけるモデルアンサンブル}提案手法は$N$ベスト出力の正誤予測に基づく語彙制約により新たな出力を生成するが，これは$N$ベスト出力を正誤予測に基づき組み合わせているとも捉えられる．この観点では，言語生成におけるモデルアンサンブル手法とも関連が深い．言語生成タスクにおけるモデルアンサンブルでは，複数の言語生成モデルを用いることで，生成文の品質向上を目指している\cite{garmash-monz-2016-ensemble,imamura-sumita-2017-ensemble}．複数の訓練済み言語生成モデルを用意し，各デコードステップにおいて全モデルのトークン予測確率の平均を計算した後，出力トークンを決定する．アンサンブルするモデルの数に比例して訓練コストが増大するため，多数のモデルを用いることは現実的に困難である．一方，提案手法では，単一の言語生成モデルの複数の出力候補を統合することにより，生成文の品質向上を目指している．このため，訓練コストは統合する出力候補数に依存しない．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{語彙制約による生成文の品質改善}提案手法で用いる語彙制約は，タスクに関連する知識を基に制約を生成し，デコーダを制御することで出力文の品質を向上する手法として用いられてきた\cite{chatterjee-etal-2017-guiding,hokamp-liu-2017-lexically,lu-etal-2022-neurologic,dehghan-etal-2022-grs,zetsu-etal-2022-lexically,kajiwara-2019-negative}．語彙制約を適用した言語生成として，Chatterjeeetal.(2017)およびHokampandLiu(2017)は，専門用語の対訳辞書を制約として機械翻訳タスクに語彙制約手法を適用した．Luetal.(2022)は，所与のキーワードを含む文を生成するTable-to-Textタスクや質問文生成タスクに語彙制約を用いている．Dehghanetal.(2022)およびZetsuetal.(2022)はトークンの難易度に基づいて制約を生成してテキスト平易化に，Kajiwara(2019)はスタイルに関連する語彙を制約としてスタイル変換に，それぞれ応用している．これら既存研究では，語彙制約を生成するためのタスクに固有の知識が明確であることを前提としている．一方，提案手法は言語生成モデル出力と参照文を基に語彙制約を作成するため，幅広い言語生成タスクへの適用が可能である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{事前知識：NeuroLogic-A*の語彙制約}
\label{sec:neurologic}提案手法では，state-of-the-artの語彙制約手法であるNeuroLogic-A*\cite{lu-etal-2022-neurologic}を用いる．NeuroLogic-A*は語彙制約を高速に実現するデコーディング手法であり，言語生成モデルの構造を変更することなく，訓練済みのモデルに直接適用できる．NeuroLogic-A*は与えられた語彙制約を基に，以下の手順で各時刻のトークンを生成する．\begin{enumerate}\item出力候補のトークンについて，そのトークンの後に生成されるトークン列(Lookahead)を予測する．\item予測したLookaheadを基に，将来の語彙制約充足率を計算する．\item出力候補トークンの生成確率と将来の語彙制約充足率を基に，出力候補を枝刈りする．\item語彙制約充足の種類に基づき，残された出力候補をグルーピングする．\item出力候補を生成確率および語彙制約充足率を基にスコア付けし，各グループの最良候補の中から出力トークンを選択する．これにより，出力空間を幅広く探索する．\end{enumerate}以上の手順により，生成確率と将来の語彙制約充足率が高い候補を高速に探索し出力できる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{提案手法}
\label{sec:proposed}提案手法の構成を図\ref{fig:proposed_method}に示す．提案手法では，ある入力文について言語生成モデルによる出力を複数生成し，全ての出力について正誤予測を行う（\ref{sec:constraint_prediction}節）．それらを統合し，正と予測されたトークンを出力文に加えるべき正の語彙制約，誤と予測されたトークンを出力文から除外すべき負の語彙制約とすることで語彙制約を生成する（\ref{sec:constraint_generation}節）．そして再度入力文を言語生成モデルに入力し，デコーダにNeuroLogic-A*\cite{lu-etal-2022-neurologic}による語彙制約を適用して最終的な出力文を得る．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.1\begin{figure}[b]\begin{center}\includegraphics{31-2ia14f1.pdf}\end{center}\caption{提案手法の構成}\label{fig:proposed_method}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.2\begin{figure}[b]\begin{center}\includegraphics{31-2ia14f2.pdf}\end{center}\caption{言語生成モデル出力の正誤予測}\label{fig:predict_with_roberta}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成モデル出力の正誤予測}\label{sec:constraint_prediction}言語生成モデル出力の正誤予測の概要を図\ref{fig:predict_with_roberta}に示す．正誤予測モデルにはRoBERTa\cite{liu2019roberta}を用い，各トークンに対する正，誤の二値分類を行う．各トークンの正誤予測においては，出力文だけでなく言語生成モデルへの入力が手がかりになると考えられる．そこで，図\ref{fig:predict_with_roberta}に示す通り，予測モデルへの入力は``\textlessINPUT\textgreater言語生成モデル入力\textlessQUERY\textgreater言語生成モデル出力''とする\footnote{\textlessINPUT\textgreaterおよび\textlessQUERY\textgreaterは特殊トークンとしてRoBERTaの語彙に追加する．}．正誤予測モデルの訓練には，言語生成モデルの訓練コーパスと同じものを用いる．正解ラベルは言語生成モデルの出力文と参照文を比較することで作成する．訓練コーパスの入力文を言語生成モデルに入力し，ビームサーチにより$N$ベストの出力文を得る．各出力文について，参照文に含まれるトークンに正のラベルを，含まれないトークンに誤のラベルを付与する．以上のようにして生成した正解ラベルを用いて，RoBERTaをfine-tuningする．なお，$N$ベスト出力文を得るデコード手法として，出力の多様性を重視したサンプリング手法が存在するが，多様性と出力の品質を両立するためには慎重なパラメータ調整が必要である．そのため，$N$ベスト出力文を得るデコード手法としてビームサーチを用いる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{正誤予測を統合した語彙制約の作成}\label{sec:constraint_generation}提案手法では，ある入力文について得られた$N$ベストの出力文について正誤予測を行う．正誤予測は文脈に依存するため，同じトークンが出力文によっては異なるラベルを予測されることがある．そこで，正誤ラベルの予測回数の多数決を取ることで最終的なラベルを決定し，語彙制約に追加する．正のラベルを持つトークンは正の語彙制約として出力を促進し，誤のラベルを持つトークンは負の語彙制約として出力を抑制する．なお，正誤ラベルの予測回数が等しい場合，そのトークンは語彙制約に含めない．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実験設定}
言語生成タスクにおける提案手法の有効性を網羅的に検証するため，言い換え生成，要約，翻訳，制約付きテキスト生成による評価実験を実施する．本章では提案手法および比較手法の実装について述べ，評価実験における共通の設定を説明する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{正誤予測モデルの訓練}正誤予測モデルはHuggingFaceTransformers\cite{wolf-etal-2020-transformers}ライブラリを用いて実装し，事前学習済みモデルとして``roberta-base''\footnote{\url{https://huggingface.co/roberta-base}}\cite{liu2019roberta}を用いた．\ref{sec:constraint_prediction}節で述べた通り，各タスクにおいてfine-tuning済みの言語生成モデルとその訓練データを用いて，正誤予測モデル用の正解ラベルを作成する．同様に，各タスクにおける検証データを用いて，ビーム幅を$10$に固定して正誤予測モデル用の検証データを作成する．RoBERTaの訓練では$1$エポックごとに検証データでF$1$スコアを計算し，$3$回改善が見られなくなったところでfine-tuningを終了する．出力数$N$，すなわち言語生成モデルのデコーダにおけるビーム幅の候補を，$1,5,10,20,30\dots,100$から探索する．それぞれのビーム幅で正誤予測モデルを訓練し，検証データのF$1$スコアが最も高いモデルを最終的な正誤予測モデルとして採用する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成におけるデコーダ設定}NeuroLogic-A*の実装はLuetal.(2022)の実装\footnote{\url{https://github.com/GXimingLu/a_star_neurologic}}に従う．ただし，Luらの公開プログラムではコードのミスにより負の語彙制約が正常に動作しなかったため，負の語彙制約を適用できるよう軽微な修正を加えた．NeuroLogic-A*を用いて語彙制約を考慮したデコードを行う際のビーム幅は，ベースラインとする純粋なビームサーチと同じ設定を用いるものとする．すなわち，各タスクごとに調整されたビーム幅を比較する全てのモデルで共通して用いた．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{比較手法}実験では，純粋なビームサーチを用いて出力を生成するベースライン（``beam-search''と表記）に加え，各タスクに適用可能な場合は\ref{subsec:related_reranking}節で述べた強力な識別モデル・生成モデルによるリランキング手法と比較した．識別モデルを用いる手法としてDiscriminativeRerankingforNeuralMachineTranslation\cite{lee-etal-2021-discriminative}（``DrNMT''と表記）を使用し，生成モデルを用いる手法としてNoisy-ChannelDecoding\cite{yee-etal-2019-simple}（``NCD''と表記）を使用した．これらの手法の実装は各著者の実装\footnote{\url{https://github.com/facebookresearch/fairseq/tree/main/examples/discriminative_reranking_nmt}}$^{,}$\footnote{\url{https://github.com/facebookresearch/fairseq/tree/main/examples/noisychannel}}に従い，各実験タスクのデータセットと評価指標を用いて訓練を行った．リランキングに用いる出力数$N$は，提案手法と同様に$1,5,10,20,30\dots,100$から検証データを用いて探索する．また，評価実験ではリランカーが理想的な予測をできたと仮定した場合のリランキング手法のオラクル性能も検証する．ビームサーチにより生成した$N$ベスト出力について，参照文に対する文レベルの評価指標を計測し，スコアが最も高い仮説を選択することでリランキング手法におけるオラクル出力文を作成する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{アブレーション実験}正負それぞれの語彙制約の効果を検証するため，正の語彙制約のみを用いる提案手法（``NeuroLogic-A*（正）''と表記），負の語彙制約のみを用いる提案手法（``NeuroLogic-A*（負）''と表記），正負両方の語彙制約を用いる提案手法（``NeuroLogic-A*（正負）''と表記）の性能を評価した．また正誤予測モデルが理想的な予測をできたと仮定した場合のオラクルの語彙制約による提案手法の性能も検証する．ビームサーチを用いて生成した$N$ベスト出力文と参照文を比較し，出力文と参照文双方に存在するトークンを正の制約に，出力文にのみ存在するトークンを負の制約とすることでオラクルの語彙制約を作成し，NeuroLogic-A*の制約として適用する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{語彙制約の定量的評価}実験では，正負それぞれの語彙制約の品質も評価する．正の制約は指定したトークンの生成を促進するため，生成文に直接影響を与える．また，負の語彙制約に正しいトークンを指定してしまうと「本来出力すべきトークンの出力を抑制」する．以上より語彙制約が満たすべき性質として，(1)正の制約の再現率が高いこと，(2)負の制約に本来出力すべきトークンを含む割合が低いこと，が考えらえる．これらを検証するため，正の語彙制約を$C_p$，負の語彙制約を$C_n$，参照文中のトークンの集合を$W_{\text{ref}}$として，参照文に対する正の制約の再現率$R_{p}=\frac{|C_p\capW_{\text{ref}}|}{|W_{\text{ref}}|}$，参照文中のトークンの中で負の制約に含まれているトークンの割合$F_{n}=\frac{|C_n\capW_{\text{ref}}|}{|W_{\text{ref}}|}$を評価する．またNeuroLogic-A*による出力制御について分析するため，提案手法に基づき作成された語彙制約の平均トークン数および制約の満足率を評価する．各出力に対する正の語彙制約の平均トークン数$N_{p}$，負の語彙制約の平均トークン数$N_{n}$を計算する．また，提案手法に基づくモデルの出力文中のトークン集合を$W_{\text{out}}$として，正の制約の満足率$S_{p}=\frac{|C_p\capW_{\text{out}}|}{|C_p|}$，負の制約の満足率$S_{n}=\frac{|C_n\cap\overline{W_{\text{out}}}|}{|C_n|}$を評価する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{言い換え生成タスクにおける評価}
言い換え生成タスクのひとつである，間接的・直接的応答間の言い換えタスク\cite{takayama-etal-2021-direct-direct}における提案手法の有効性を検証する．間接的応答とは，発話者の要求や意図を直接的に言及せず，言外に含んだ発話であり，本タスクでは間接的応答とそれに対応する直接的応答を相互に言い換える．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table1\begin{table}[b]\input{14table01.tex}%\caption{評価実験におけるデータセットの文章数}\label{table:dataset}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスと評価指標}データセットには，表\ref{table:dataset}の$1$行目に示すDIRECT(DirectandIndirectREsponsesinConversationalText)\cite{takayama-etal-2021-direct-direct}を用いる．DIRECTコーパスは間接・直接発話言い換えコーパスであり，$71,498$の間接的応答と直接的応答の対からなる．DIRECTは既存のマルチドメイン・マルチターンのタスク指向対話コーパスMultiWOZ$2.1$(Multi-DomainWizard-of-Oz$2.1$)\cite{budzianowski-etal-2018-multiwoz,eric-etal-2020-multiwoz}を拡張したものであり，MultiWOZにおける対話履歴と元の応答，元の応答をより間接的に言い換えた発話，元の応答をより直接的に言い換えた発話が利用できる．本実験では，間接的応答を直接的応答に言い換えるIndirect-to-Directタスク，直接的応答を間接的応答に言い換えるDirect-to-Indirectタスクの両方に取り組む．なお，両タスクについて，対話履歴を考慮する設定と考慮しない設定の$2$つの設定を用いる．評価指標はDIRECTの設定に従ってBLEU\cite{papineni2002bleu}を用い，ブートストラップ法\cite{koehn-2004-statistical}に基づき有意水準$5\%$で有意差検定を行う．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成モデルと比較手法}言語生成モデルとして，DIRECTコーパスにてfine-tuningしたBART\cite{lewis-etal-2020-bart}を用いる．モデルの実装にはHuggingFaceTransformersライブラリを使用し，事前学習済みモデルとして``facebook/bart-base''\footnote{\url{https://huggingface.co/facebook/bart-base}}を用いた．BARTの入力フォーマットおよび訓練設定はTakayamaetal.(2021)に従う．ビーム幅はTakayamaetal.(2021)同様，``facebook/bart-base''のデフォルトである$4$とした．DIRECTデータセットで訓練されたDrNMT，NCDと比較した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table2\begin{table}[b]\input{14table02.tex}%\hangcaption{間接直接発話変換タスクにおける性能評価(Indirect-to-Direct)．$N$は考慮する仮説数を表し，$^\dagger$はビームサーチとの有意差が存在するスコアを表す．}\label{table:direct_result_i2d}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}\label{sec:results_direct}表\ref{table:direct_result_i2d}および表\ref{table:direct_result_d2i}に実験結果を示す．ここで``w/history''は対話履歴を考慮する設定を表し，``w/ohistory''は対話履歴を考慮しない設定を表す．上段には，提案手法と比較手法の性能を示す．全てのサブタスクにおいて，提案手法は比較手法を上回った．語彙制約の種類による性能変化に注目すると，正の語彙制約のみを用いる場合（NeuroLogic-A*（正））が最も高い性能を達成している．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table3\begin{table}[t]\input{14table03.tex}%\hangcaption{間接直接発話変換タスクにおける性能評価(Direct-to-Indirect)．$N$は考慮する仮説数を表し，$^\dagger$はビームサーチとの有意差が存在するスコアを表す．}\label{table:direct_result_d2i}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%下段には，提案手法とリランキング手法のオラクル性能を示す．オラクルの制約を用いる場合，予測した語彙制約を用いる場合と比べて，Indirect-to-Directタスクでは最大$29.39$ポイント，Direct-to-Indirectタスクでは最大$30.14$ポイントBLUEスコアが向上している．この結果から，正誤予測モデルの性能を改善することで間接直接発話変換タスクの性能をさらに向上できると考えられる．提案手法に基づき作成された語彙制約の定量的評価では，参照文に対する正の制約の再現率は$36.0\%$から$41.3\%$にとどまり，参照文中のトークンの中で負の制約に含まれているトークンの割合が$18.0\%$から$25.1\%$となっているため，正誤予測モデルの品質改善が今後の課題である．また，NeuroLogic-A*（正負）$_{\text{oracle}}$はReranking$_{\text{oracle}}$を大きく上回った．この結果は，$N$個の最良仮説を語彙制約を用いて統合することが，単に最良仮説を選択するよりも効果的であることを裏付けている．これは，$N$ベスト出力には文全体としては不完全であっても，質の高い断片が存在するという我々の仮説を支持するものである．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{モデルの出力例}Direct-to-Indirectタスクにおける入力文，参照文，提案手法に基づき作成された語彙制約，提案手法に基づくモデル出力（NeuroLogic-A*（正負）），ビームサーチによる生成文(beam-search)の例を表\ref{table:example_output_direct}に示す．ここで，生成文の品質向上に貢献している適切な語彙制約を太字で示し，生成文の品質低下を招いている誤った語彙制約を下線で示す．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table4\begin{table}[t]\input{14table04.tex}%\hangcaption{提案手法に基づくモデルの出力例（間接直接発話変換タスク）．太字は適切な語彙制約を表し，下線は誤った語彙制約を表す．}\label{table:example_output_direct}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$1$つ目の例では，ビームサーチでは参照文にある``one''，``better''および``than''を含む文を生成できておらず，また``more''，``services''，``expected''および``from''を誤って生成している．提案手法ではこれらをそれぞれ正の語彙制約，負の語彙制約とすることで，ビームサーチの出力を改善している．$2$つ目の例では，ビームサーチでは参照文にある``my''と``preferred''を正しく出力できている．一方提案手法では，これらを負の語彙制約としており，また参照文に存在しない``in''と``the''を誤って正の語彙制約としたことで，ビームサーチより悪化している．これらの例からも，正誤予測モデルの性能改善が最終的な生成文の品質向上には重要であることが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{要約タスクにおける評価}
本章では要約における提案手法の有効性を評価する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスと評価指標}データセットには，表\ref{table:dataset}の$2$行目に示すCNN/DailyMail\cite{see-etal-2017-get,hermann-etal-cnndm}\footnote{バージョン$3.0.0$を利用．}および$3$行目に示すXSum(TheExtremeSummarization)\cite{narayan-etal-2018-dont}を用いる．CNN/DailyMailデータセットは，CNNおよびDailyMailの記事とその記事の要約であるハイライトを収集したデータセットであり，約$310$Kのニュース記事とハイライトの対からなる．CNN/DailyMailの文数の平均は，記事が$30.7$，ハイライトが$3.8$である．XSumデータセットは，BBCの記事とその要約を収集したものであり，約$230$Kの記事と要約の対からなる．XSumの文数の平均は，記事が$19.8$，要約が$1.0$である．XSumデータセットは，CNN/DailyMailデータセットよりも要約の文数が少なく，抽象的な要約が求められる．要約タスクにおいては，評価指標としてROUGE\cite{lin-2004-rouge}を用い，近似的ランダム化検定\cite{riezler-maxwell-2005-pitfalls}に基づき，R=$1000$，有意水準$5\%$で有意差検定を行う．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成モデルと比較手法}言語生成モデルとしてLewisetal.(2020)によりfine-tuningされたBARTである``facebook/bart-large-cnn''\footnote{\url{https://huggingface.co/facebook/bart-large-cnn}}および``facebook/bart-large-xsum''\footnote{\url{https://huggingface.co/facebook/bart-large-xsum}}を用いる．ビーム幅はそれぞれ設定に従い$4$および$6$とした．なお，正誤予測モデルの入力の最大長は$512$であるため，入力長が$512$を超える場合，要約記事を前半と後半に分割し，それぞれをBARTの出力要約と繋げて正誤予測モデルの入力とする．記事前半と後半に対応する正誤予測モデルの予測を，正誤ラベルの多数決の対象に追加することで予測結果を統合する．提案手法をそれぞれのデータセットで訓練されたDrNMTと比較した．なお，要約中に存在しない多くの情報を補完して記事全体を再現することは本質的に難しいため，要約から記事への言語生成モデルの訓練は困難である．このため，NCDの要約タスクへの適用は困難であり，比較対象から除外した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table5\begin{table}[b]\input{14table05.tex}%\hangcaption{要約タスクにおける性能評価(CNN/DailyMail)．$N$は考慮する仮説数を表し，$^\dagger$はビームサーチとの有意差が存在するスコアを表す．}\label{table:summary_result_cnndm}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}表\ref{table:summary_result_cnndm}および表\ref{table:summary_result_xsum}に要約タスクの実験結果を示す．上段には，提案手法と比較手法の性能を示す．CNN/DailyMail，XSum双方において，正負の語彙制約を用いる提案手法（NeuroLogic-A*（正負））が比較手法を有意に上回り，人手評価と高い相関を持つROUGE-L\cite{lin-2004-rouge}において最も高いスコアを達成している．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table6\begin{table}[t]\input{14table06.tex}%\hangcaption{要約タスクにおける性能評価(XSum)．$N$は考慮する仮説数を表し，$^\dagger$はビームサーチとの有意差が存在するスコアを表す．}\label{table:summary_result_xsum}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%下段には，提案手法とリランキング手法のオラクル性能を示す．オラクルの制約を用いる場合，正誤予測を用いる場合と比べて，CNN/DailyMailではROUGE-$1$は最大$16.75$ポイント，ROUGE-$2$は最大$12.20$ポイント，ROUGE-Lは最大$12.76$ポイント向上している．XsumではROUGE-$1$は最大$21.54$ポイント，ROUGE-$2$は最大$20.35$ポイント，ROUGE-Lは最大$17.30$ポイント向上している．また，要約タスクにおいてもNeuroLogic-A*（正負）$_{\text{oracle}}$はReranking$_{\text{oracle}}$を大きく上回った．以上の結果から，要約タスクにおいても，正誤予測モデルの性能が提案手法による生成文の品質改善において重要なことが分かる．提案手法に基づき作成された語彙制約の定量的評価では，参照文に対する正の制約の再現率は$27.6\%$から$36.3\%$にとどまり，参照文中のトークンの中で負の制約に含まれているトークンの割合が$23.7\%$から$28.5\%$となっているため，正誤予測モデルの品質改善が今後の課題である．本実験では要約タスクにおける記事長が$512$トークンを超える場合，半分に分割してそれぞれ入力するが，それによって正誤予測性能が低下したと考えられる．要約においては正誤予測において長い文章を扱えるよう，改善が必要である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{翻訳タスクにおける評価}
本章では機械翻訳における提案手法の有効性を評価する．本実験では，英語から日本語への翻訳を行うen-jaタスクと，日本語から英語への翻訳を行うja-enタスクに取り組む．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスと評価指標}データセットには，表\ref{table:dataset}の$4$行目に示すWMT$22$\cite{kocmi-etal-2022-findings}を用いる．訓練データには，WMT$22$で提供されたJParaCrawlv$3.0$\cite{morishita-etal-2022-jparacrawl}を用いる．WMT$21$における評価データを検証データとして用い，WMT$22$における評価データを評価に用いる．評価指標はBLEU\cite{papineni2002bleu}を用い，ブートストラップ法\cite{koehn-2004-statistical}に基づき有意水準$5\%$で有意差検定を行う．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成モデルと比較手法}言語生成モデルとして，WMT$22$コーパスにてfine-tuningしたM$2$M$100$\cite{fan2020englishcentric}を用いる．モデルの実装にはHuggingFaceTransformersライブラリを使用し，事前学習済みモデルとして``facebook/m2m100\_418M''\footnote{\url{https://huggingface.co/facebook/m2m100_418M}}を用いた．ビーム幅は``facebook/m2m100\_418M''のデフォルトに従い$5$とした．WMT$22$コーパスで訓練されたDrNMT，NCDと比較した．NCDにおける日本語言語モデルには``stabilityai/japanese-stablelm-base-alpha-7b''\footnote{\url{https://huggingface.co/stabilityai/japanese-stablelm-base-alpha-7b}}を用い，英語言語モデルには``stabilityai/stablelm-base-alpha-7b-v2''\footnote{\url{https://huggingface.co/stabilityai/stablelm-base-alpha-7b-v2}}を用いた．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table7\begin{table}[b]\input{14table07.tex}%\hangcaption{翻訳タスクにおける性能評価．$N$は考慮する仮説数を表し，$^\dagger$はビームサーチとの有意差が存在するスコアを表す．}\label{table:wmt_result}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}表\ref{table:wmt_result}に実験結果を示す．上段には，提案手法と比較手法の性能を示す．en-jaタスクにおいては，正負の語彙制約を用いる提案手法（NeuroLogic-A*（正負）），負の語彙制約を用いる提案手法（NeuroLogic-A*（負）），NCDがビームサーチを上回った．なお，NeuroLogic-A*（負）とNCDには有意差が存在せず，同程度の性能となった．一方，ja-enタスクにおいては，正の語彙制約を用いる提案手法（NeuroLogic-A*（正）），NCD，DrNMTがビームサーチを上回り，NCDが最も高い性能を達成した．下段には，提案手法とリランキング手法のオラクル性能を示す．en-jaタスクにおいては有意差がなく同程度の結果となり，ja-enタスクにおいてはNeuroLogic-A*（正負）$_{\text{oracle}}$はReranking$_{\text{oracle}}$を上回った．オラクル性能の比較結果から，翻訳タスクにおいても，$N$個の最良仮説を語彙制約を用いて統合することは，単に最良仮説を選択するよりも効果的であると考えられる．しかし，予測された制約を用いる場合はNCDが提案手法を上回っている．これは，正誤予測モデルの性能が低く，語彙制約の品質が不十分であることが原因であると考えられる．提案手法に基づき作成された語彙制約の定量的評価では，参照文に対する正の制約の再現率は$28.4\%$から$36.1\%$にとどまり，参照文中のトークンの中で負の制約に含まれているトークンの割合が$18.5\%$から$18.7\%$となっているため，正誤予測モデルの品質改善が今後の課題である．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{制約付きテキスト生成タスクにおける評価}
本章では制約付きテキスト生成における提案手法の有効性を評価する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{コーパスと評価指標}データセットには，表\ref{table:dataset}の$5$行目に示す\commongen\cite{lin-etal-2020-commongen}を用いる．\commongenコーパスは$77,449$文と$35,141$の概念集合から構成される．ここで，概念集合とは単語の集合であり，各概念集合は複数の文と関連付けられている．\commongenコーパスの参照文の平均長は$10.86$である．本実験では，与えられた概念を全て用いて一貫した文を生成する，制約付きテキスト生成タスクに取り組む．評価指標は\commongenの設定に従ってBLEU-$4$\cite{papineni2002bleu}，CIDEr\cite{Vedantam_2015_CVPR}，Coverageを用いる．ここで，Coverageはレンマ化された出力に含まれる，所与の概念の割合として定義される．全ての評価指標は公式スクリプト\footnote{\url{https://github.com/INK-USC/CommonGen}}を用いて計算した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{言語生成モデルと比較手法}言語生成モデルとして，\commongenコーパスにてfine-tuningしたGPT-$2$\cite{radford2019language}を用いる．モデルの実装にはHuggingFaceTransformersライブラリを使用し，事前学習済みモデルとして``gpt2-large''\footnote{\url{https://huggingface.co/gpt2-large}}を用いた．GPT-$2$の入力フォーマットおよび訓練設定はLinら\cite{lin-etal-2020-commongen}に従う．ビーム幅はWelleckら\cite{welleck2023generating}に従い$5$とした．\commongenコーパスには各入力（概念集合）について，複数の参照文が存在する．そこで正誤予測モデルの訓練においては，複数の参照文のうち言語生成モデルの上位$1$個の仮説に対する語彙の重複率が最も高い参照文を用いて正解ラベルを作成した．提案手法を\commongenコーパスで訓練されたDrNMT，NCDと比較した．また，\commongenにおける最先端手法であるSELF-CORRECT\cite{welleck2023generating}の文献値とも比較した\footnote{SELF-CORRECTは我々の研究と同時期に発表されたものであるため，スコアは原著者の報告した値をそのまま引用している．論文発表時にはモデル出力が公開されておらず，有意差検定は実施できなかった．}．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table8\begin{table}[b]\input{14table08.tex}%\hangcaption{\commongenタスクにおける性能評価;$N$は考慮する仮説数を表し，$^\diamondsuit$は原論文から引用した結果を表す．}\label{table:commongen_result}\vspace{-0.5\Cvs}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\subsection{実験結果}表\ref{table:commongen_result}に制約付きテキストタスクの実験結果を示す．上段には，提案手法と比較手法の性能を示す．BLEU-$4$，CIDErにおいて提案手法はビームサーチおよびSELF-CORRECTを上回った．これは$N$個の最良仮説を語彙制約を用いて統合することの有効性を裏付けている．しかし，BLEU-$4$，CIDErにおいてはNCDが最も高い性能を達成した．これは，\commongenタスクでは妥当な出力に多様性が存在するため，異なる仮説を統合することで生成文の品質が低下する可能性があるためであると推測される．この特徴は生成文と参照文間のBLEUの予測にも悪影響を及ぼすため，識別モデルを用いたリランキングを行うDrNMTにおいても，ビームサーチに対する大きな性能改善がみられない原因となっていると推測される．一方，生成モデルを用いたリランキングを行うNCDにおいては，逆翻訳モデルが各仮説を入力文に翻訳する確率と言語モデルにより評価した各仮説のパープレキシティを用いる．逆翻訳モデルの出力は各仮説に含まれる概念集合であるため，妥当な出力が定まりやすい．また，言語モデルは各仮説の文としての自然さを評価するため，各仮説と対応する参照文の影響は受けにくい．このため，NCDは参照文の多様性の影響は受けにくいと推測される．以上の結果は，\commongenタスクのように多様な出力が許容されるタスクにおいては，NCDのような生成的モデルによるリランキング手法が適していることを示唆している．下段には，提案手法とリランキング手法のオラクル性能を示す．\commongenタスクにおいては，Reranking$_{\text{oracle}}$はNeuroLogic-A*（正負）$_{\text{oracle}}$を大きく上回った．この結果は，妥当な出力の多様性が提案手法の性能に影響するという我々の考察を支持している．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{$N$ベスト出力における正解トークンのカバー率}
本章では各タスクにおける$N$ベスト出力が正解トークンをどの程度カバーしているか分析する．提案手法では$N$ベスト出力に含まれる高品質な断片を統合することで，高品質な出力を生成している．$N$が増加すると，出力の多様性が高まり，$N$ベスト出力に含まれる高品質な断片も増えると予想される．一方で，$N$が増加しても出力の変化が局所的なものにとどまる場合，期待されるような高品質な断片は増加しないと考えられる．そこで，$N$を変化させたときに，$N$ベスト出力に含まれるトークンの参照文に対するカバー率がどのように変化するか分析する．分析には各タスクの検証データを用い，$N$を$10,20,30,\dots,100$としたときのカバー率を計測する．なお，制約付きテキスト生成タスクにおいては，複数の参照文の中から，言語生成モデルの上位$1$個の仮説に対する語彙の重複率が最も高い参照文を用いてカバー率を計測する．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.3\begin{figure}[b]\begin{center}\includegraphics{31-2ia14f3.pdf}\end{center}\caption{ビーム幅$N$の変化に伴う，$N$ベスト出力の参照文中のトークンに対するカバー率の変化}\label{fig:coverage}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%図\ref{fig:coverage}に，各タスクにおけるカバー率の変化を示す．図\ref{fig:coverage}から，どのタスクにおいても$N$の増加に伴いカバー率が$6\%\sim15\%$増加していることが分かる．この結果より$N$を大きく確保することで，提案手法による出力品質の向上が期待される．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{おわりに}
本研究では，言語生成モデルの$N$ベスト出力には部分的に品質の高い仮説が存在するが，文全体としては不完全である可能性があるという仮定に基づき，品質の高い断片を統合することで生成文の品質を改善する手法を提案した．評価実験により，入力に対する妥当な出力文が定まりやすい，言い換え生成，要約において本手法が強力な$N$ベスト出力リランキング手法を上回ることが確認された．今後は，語彙制約の作成に用いる正誤予測モデルの性能を向上させることで，生成文の品質のさらなる改善を目指す．また，語彙制約の適用方法の拡張も今後の課題である．現在の提案手法では各トークンを独立した語彙制約として扱うが，制約のトークン間には連語や複数単語の表現などの関係が存在する場合がある．更に，現在の提案手法では全ての制約を等しく扱うが，制約の重要度は様々である．トークン間の関係性や制約の重要性を反映して語彙制約を適用することで，生成文の品質を改善できると期待される．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\acknowledgment本研究はJSPS科研費JP21H03564の助成を受けたものです．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{jnlpbbl_1.7}\bibliography{14refs}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\appendix
\section{正誤予測モデルの性能}
提案手法で用いた正誤予測モデルの性能を分析するため，各タスクの評価データにおける正誤予測モデルの性能を評価した．評価にはPrecision，Recall，F1スコアを用いた．表\ref{table:predict_model}に各タスクにおける正誤予測モデルの性能をまとめる．表\ref{table:predict_model}から，正誤予測モデルのF1スコアは$71.6$から$80.4$にとどまっており，品質改善の余地があることが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table9\begin{table}[b]\input{14table09.tex}%\caption{正誤予測モデルの性能}\label{table:predict_model}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{正誤予測の統合に関する分析}
提案手法では，$N$ベスト出力に対して正誤予測を行い，正誤ラベルの予測回数の多数決を取ることで最終的な正誤を決定している．正誤予測は文脈に依存するため，同じトークンが出力文によっては異なるラベルに分類されることがある．出力文により異なるラベルに分類されるトークンの割合を検証するため，$N$ベスト出力内の同じトークンが正と予測される割合を記録した．言い換え生成タスク(Direct-to-Indirect)の評価データにおける割合の分布を図\ref{fig:histgram}に示す．図\ref{fig:histgram}より，正誤どちらかのみに分類されるトークンが多く，出力文によって異なるラベルに分類されるトークンは少ないことが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fig.4\begin{figure}[t]\begin{center}\includegraphics{31-2ia14f4.pdf}\end{center}\caption{$N$ベスト出力内の同じトークンが正と予測される割合の分布(Direct-to-Indirect)}\label{fig:histgram}\end{figure}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{実行時間}
言い換え生成タスク(Indirect-to-Directタスク)における\pagebreak提案手法と比較手法のデコード時間を表\ref{table:direct_result_i2d}と同じ条件で計測した．計測には，$1$TBメモリとAMDEPYC7552CPUを搭載したLinuxサーバにインストールされた，NVIDIARTXA$6000$（$48$GBメモリ）のシングルGPUを使用した．提案手法の単純な実装では，$1$文のデコードに$1.9$秒を要したが，DrNMT\cite{lee-etal-2021-discriminative}およびNCD\cite{yee-etal-2019-simple}では約$0.3$秒であった．また，提案手法では，正誤予測とNeuroLogic-A*によるデコードにそれぞれ約$0.9$秒を要した．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{モデルの出力例}
XSumタスク，en-jaタスク，\commongenタスクにおける入力文，参照文，提案手法に基づき作成された語彙制約，提案手法に基づくモデル出力，ビームサーチによる生成文の例を表\ref{table:example_output_summary}，表\ref{table:example_output_translate}，表\ref{table:example_output_commongen}に示す．ここで，生成文の品質向上に貢献している適切な語彙制約を太字で示し，生成文の品質低下を招いている誤った語彙制約を下線で示す．各タスクの上段の例では，提案手法により適切な語彙制約を作成できている．適切な語彙制約を用いることで，提案手法はビームサーチの出力を改善している．一方，各タスクの下段の例では，提案手法により誤った語彙制約を作成している．誤った語彙制約を用いることで，提案手法に基づくモデル出力はビームサーチより悪化している．これらの例からも，正誤予測モデルの性能改善が最終的な生成文の品質向上には重要であることが分かる．%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table10\begin{table}[p]\input{14table10.tex}%\hangcaption{提案手法に基づくモデルの出力例（要約タスク,XSum）．太字は適切な語彙制約を表し，下線は誤った語彙制約を表す．}\label{table:example_output_summary}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table11\begin{table}[t]\input{14table11.tex}%\hangcaption{提案手法に基づくモデルの出力例（翻訳タスク,en-ja）．太字は適切な語彙制約を表し，下線は誤った語彙制約を表す．}\label{table:example_output_translate}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%table12\begin{table}[t]\input{14table12.tex}%\hangcaption{提案手法に基づくモデルの出力例（制約付きテキスト生成タスク）．太字は適切な語彙制約を表し，下線は誤った語彙制約を表す．}\label{table:example_output_commongen}\end{table}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\begin{biography}\bioauthor{宮野稜大}{$2023$年大阪大学工学部電子情報工学科卒業，同年大阪大学大学院情報科学研究科マルチメディア工学専攻に進学．現在に至る．自然言語処理の研究に従事．}\bioauthor{梶原智之}{愛媛大学大学院理工学研究科講師．$2013$年長岡技術科学大学工学部電気電子情報工学課程卒業．$2015$年同大学大学院工学研究科修士課程修了．$2018$年首都大学東京大学院システムデザイン研究科博士後期課程修了．博士（工学）．$2018$年より大阪大学データビリティフロンティア機構の特任助教，$2021$年より愛媛大学大学院理工学研究科の助教を経て，$2024$年より現職．情報処理学会，人工知能学会，言語処理学会，ACL各会員．}\bioauthor{荒瀬由紀}{$2006$年大阪大学工学部電子情報エネルギー工学科卒業．$2007$年同大学院情報科学研究科博士前期課程，$2010$年同博士後期課程修了．博士（情報科学）．同年，北京のMicrosoftResearchAsiaに入社，自然言語処理に関する研究開発に従事．$2014$年より大阪大学大学院情報科学研究科准教授，$2024$年より東京工業大学情報理工学院教授，現在に至る．言い換え表現認識と生成，言語学習支援技術に興味を持つ．}\end{biography}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\biodate\end{document}