SentencePieceの重複語入れ替えによる日本語T5への言語モデル追加

大規模言語モデルは、事前に大量なテキストを学習することにより、機械翻訳や文書要約、感情分析など様々な下流タスクに適用できるモデルである。近年は、基盤モデルとも呼ばれ、自然言語処理タスクのみならず、様々な分野のニューラルネットワークに広く採用されている。大規模言語モデルを下流タスクに適応させる際には、適応させたい下流タスクの少量のデータをモデルに与える。しかし、事前学習時に用いたデータのドメインと、下流タスクのドメインが大きく異なるとき、下流タスクにおいてモデルが十分な性能を発揮できない領域適応に課題がある。そこで、特定のドメインに特化した語彙を追加することにより、特定ドメインにおける下流タスクの精度が向上すると期待される。しかし、大規模言語モデルは一般的に語彙数が固定である。そのため、語彙を追加するためには工夫が必要となる。本研究では、大規模言語モデルの語彙を構築するとき、標準的に採用されているSentencePiece[1]に着目する。SentencePieceは、テキストから教師なし学習によって語彙モデルを構築し、構築された語彙が語彙数を減らし、学習時間を短縮する効果が知られている。一方、SentencePieceの語彙は、文字列の出現頻度に基づいて字句の区切りが決まるため、形態素的に重複した語彙が含まれる。我々は、このような重複語を新しい語彙と入れ替えることによる語彙の追加手法を提案する。本論文では、提案手法を検証するため、Senten-cePieceの語彙モデルを採用した日本語T5に対し、3000語程度のPython言語の語彙(予約語/識別子)を追加した。Python言語の語彙は、日本語T5には含まれないため、このような語彙追加が可能になる。さらに、重複語の語彙入れ替えの下流タスクへの影響を調べるため、コード翻訳、コード要約という２種類の下流タスクの精度を比較した。本論文では、大規模言語モデルにおける語彙の追加手法を提案し、実験結果とともに報告する。本論文の残りの構成は以下の通りである。2節では、本研究で着目した重複語の予備調査について述べる。3節では、提案する語彙の追加手法についてまとめる。4節では、実験についてまとめる。5節では、関連研究を概観し、6節で本論文をまとめる。