大規模言語モデルを用いたシフト還元型CCG構文解析

自然言語処理における構文解析にはさまざまな文法があり，その1つに組み合わせ範疇文法(CombinatoryCategorialGrammar,CCG)[1]がある．CCGとは単語にカテゴリを割り当て，それらを組み合わせることで解析木を構築する語彙化文法の1つである．CCGで定義されるカテゴリは文を表す"S"や名詞句を表す"NP"などの原始的なカテゴリと"/"や‌"\"‌を組み合わせることで作られ，文法的な情報を含んでいる．図1にCCG解析木の例を示す．各単語にはその親にCCGカテゴリが付与されている．"X/Y"は右に"Y"を組み合わせることで全体が"X"になることを意味し，"X‌\‌Y"は左に"Y"を組み合わせることで全体が"X"になることを意味している．図1の例では"NP[nb]/N"であるTheseに対して，"N"であるstocksを右から組み合わせることで"NP"であるThesestocksを導出している．このようにしてCCGカテゴリを組み合わせながら，最終的に"S"を導出することで解析木を得る．CCG構文解析を行うにあたって，SupertaggingとWSJ_2300sentence33)．CCGカテゴリに含まれる"("，")"を"{"，"}"に変更している．呼ばれる処理が最も重要である．これは単語にCCGカテゴリ(Supertagと呼ばれる)を割り当てる処理のことで，Supertagが文法的な情報を多く含んでいることから，その割り当てがCCG構文解析の大部分を占める[2]．Supertaggingは系列ラベリングと見なすことができるので，これまでに，LongShort-TermMemory(LSTM)[3]を用いた手法[4]，大規模言語モデル(LLM)を用いた手法[5]が提案されている．ただし，これらの手法はSupertaggingを単なる系列ラベリングとして捉えているため，それに基づいて解析木を構築する際にCCGカテゴリを組み合わせることができず，解析できないことが起こりうる．これに対し，本研究ではSupertaggingを系列ラベリングとして捉えるのではなく，シフト還元型解析を用いて解析木を構築しつつ，シフト動作時にSupertaggingを行う手法を提案する．この手法はZhangらの手法[6]と同様であるが，本研究では中根らの手法[7]に基づき，LLMを活用しつつ，さらに1つ前の解析状態を参照して解析動作を予測することで性能向上を図る．CCGbank[8]を用いて提案手法を評価した結果、Supertaggingの正解率は95.82，CCG解析木の評価指標であるLabeledF-scoreは89.25であった．両者とも現状での世界最高性能Thisworkispublishedwithoutpeerreviewandislicensedbytheauthor(s)underCCBY4.0(https://creativecommons.org/licenses/by/4.0/).org/licenses/by/4.0/).それぞれのLLMへの入力は状態を表す文を以下のプロンプトとして与える．Previousstate:「スタック」<head>「キュー」Currentstate:「スタック」<head>「キュー」スタックにはシフト動作後の単語と還元動作後の部分木が格納され，キューには未解析の単語が格納されている．なお，部分木はS式として表わす．Previousstateが1つ前の状態であり，Currentstateが現在の状態である．1つ前の状態に適用された動作やCCGカテゴリは明示しない．初期状態のみ，プロンプトを以下のようにする．Initialstate:<head>「単語列」この時のスタックは空文字列で，キューは解析する文である．入力されたプロンプトに対し，動作予測用のLLMは以下の動作のいずれかを出力する．Nextaction:shiftorreduce-binaryorreduce-unaryorfinishシフト，還元動作が予測された場合のみ，CCGカテゴリ予測用のLLMを用いてCCGカテゴリを出力する．図2に提案手法の動作例を示す．(1)ではPreviousstateとCurrentstateを，動作予測用のLLMに入力する．(2)では入力に対して予測された動作を出力する．(3)では予測された動作とPreviousstateとCurrentstateを，CCGカテゴリ予測用のLLMに入力する．(4)では入力に対して予測されたCCGカテゴリを出力する．(5)では予測された動作とCCGカテゴリを用いて状態に適用して変更する．4実験設定4.1データセットと比較した手法解析器の訓練と評価には英語CCGbank[8]を用いた．本研究では標準的な分割方法に従い，CCGbankを訓練データ（セクション02-21），検証データ（セクション00），テストデータ（セクション23）に分割した．それぞれ39604文，1913文，2407文である．提案手法の有効性を示すため，LSTMを用いたVaswaniらの手法[4]，GraphConvolutionalNetworksを用いたTianらの手法[9]，LLMを用いて現在の世界最高性能を達成したZhaoらの手法[5]，HolographicEmbeddingsを用いたYamakiらの手法[10]との比較評価を行った．4.2学習・評価の設定本研究で用いた2つのLLMはそれぞれUnslothの4bit量子化されたQwen3-14B[13]であり，QLoRA[14]を用いて追加学習を行った．モデルの選択やハイパーパラメータの選択は検証データの損失を元に行った．モデル学習の各種ハイパーパラメータを表1に示す．なお，ハイパーパラメータの設定は中根らの実験設定[7]を参考にしている．本研究では2つのLLMを使用するが，各種ハイパーパラメータは同じである．解析器の評価指標にはSupertaggingの正解率(Acc)，CCG解析木の依存関係を示すLabeledF-score(LF)を用いた．なお、提案手法のSupertaggingの結果に対してC&Cparser[15]を用いて解析木を構築した際のLabeledF-scoreも算出した．5結果と考察結果を表2に示す．-historyは1つ前の状態を参照しないモデル，+historyは1つ前の状態を参照するモデルである．-historyモデルでは解析できない文が1つあり，スコアの算出から除外している．また，キューが空で，スタックが1つの木になっているがフィニッシュ動作を予測できない文が3つあった．解析木を構築することはできているため，スコアの算出に含めている．一方，+historyモデルでは全ての文を解析することができた．既存研究のスコアはそれぞれの論文に掲載されたものである．表より，提案手法は，Vaswaniらの手法には勝っorg/licenses/by/4.0/).HyperparameterValueTrainingepochs3(action),3(label)Batchsize16Learningrate1e-5LearningrateschedulerLinearwarm-upandcosineannealingWarm-upstep1epochWeightdecay0.1Optimizerpaged_adamw_32bitLoRA𝑟32LoRA𝛼16LoRAdropout0.0LoRAtargetmodulesq_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_projModelParserAccLFVaswaniら[4]C&C94.588.32Tianら[9]EasyCCG[16]96.2590.58Yamakiら[10]C&C96.6092.12Zhaoら[5]C&C96.6492.05提案手法-historyC&C95.5488.47提案手法-historyshift-reduce-87.81提案手法+historyC&C95.8289.25提案手法+historyshift-reduce-89.10たものの，その他の手法には及ばない結果であった．Supertaggingの正解率ではZhaoらの手法に対して約0.8ポイント，LabeledF-scoreでは2.8ポイントの差がある．また，シフト還元型解析により構築した解析木とC&Cparserを用いて構築した解析木を比較するとC&Cparserの方が良いスコアであった．これより，還元動作時に予測したCCGカテゴリがCCGの組み合わせ規則に則っていない可能性が示唆される．また，既存研究に対するSupertaggingの正解率の差と比較してLabeledF-scoreの差の方が大きいことから，解析木を構築する過程でCCGカテゴリに致命的な誤りが生じていることも示唆される．Supertaggingの結果を詳細に分析するため，Supertagの長さが1以上10以下，11以上20以下，21以上の3つのグループに対してSupertaggingの正解率を比較した．結果を図3に示す．図より，Supertagの長さが10を超えると急激にSupertaggingの正解率が低下していることが分かる．長いSupertagに対して性能が劣化することはある程度予測されることであるが，6ポイント以上の劣化はそれを考慮したとしても大きな差である．このような長いSupertagの間違いがSupertaggingの正解率に対して顕著に低いLabeledF-scoreの要因ではないかと考える．一方，-historyモデルと+historyモデルを比較すると1つ前の状態を参照することで性能が向上していることが分かる．-historyモデルではキューが空であるのにシフト動作を予測したり，スタックが1つの木であるのに還元(binary)動作を予測したりするなどの無効な動作を予測する場合があった．こうした無効な動作は，状態に適用して変更することができないため，解析を続けることができなくなる．しかし，+historyモデルでは無効な動作を予測した場合，状態を変更することはできないものの，1つ前の状態と現在の状態を同じにすることでもう一度動作を予測することができ，解析を進めることができる．このようにすることで+historyモデルでは一度無効な動作を予測したが，その後に予測される動作が変化することで解析を続けることができた．よって，1つ前の状態を参照しつつ解析を行うことは有効であると考える．6おわりに本研究ではCCG構文解析のためにLLMにシフト還元動作を予測させる手法を提案した．同様の手法は中根らによって提案されているが，シフト動作時にSupertaggingを行う点，予測される動作にフィニッシュ動作が含まれる点，動作とCCGカテゴリを予測するLLMが異なる点，1つ前の状態を参照する点が異なる．提案手法をCCGbankを用いて評価したところ，Supertaggingの正解率は95.82，CCG解析木の評価指標であるLabeledF-scoreは89.25であり，特にLabeledF-scoreについては，現在の世界最高性能には遠く及ばなかった．この原因は，提案手法では長さが11以上のSupertagに対する正解率が著しく低いことにあると考える．今後，こうした長いSupertagに対する正解率の向上に取り組みたい．org/licenses/by/4.0/).