LLMの出力を用いた擬似ラベル学習による契約書OCRテキストの圧縮

近年、大規模言語モデル（LargeLanguageModel;LLM）の様々な自然言語処理タスクへの応用が進んでいる。特に、非構造化テキストからの情報抽出タスクにもLLMが活用されている。具体的には、非構造化テキストから構造化データを高精度に抽出するモデルを構築するために非構造化テキストと構造化されたデータのペアを大量に用意し、LLMをファインチューニングすることが効果的である。例えば、長文の契約書から契約日や契約当事者など所定の項目を抽出する場合、LLMに各項目の正解データを学習させることで、文章から所望の構造化データを取得する手法が考えられる。このようにLLMのファインチューニングにより、未知の文書から所定の項目を抽出できるモデルが得られる。一方で、契約書などの業務文書にOCRを適用して得られるテキスト(OCRテキスト)には、特有の課題が存在する。OCRテキストは文字認識の誤りやノイズを含むだけでなく、元の紙面上の配置に起因してテキストの順序が人間の読む順序と一致しない場合がある。OCRテキストからノイズを除去し、意味が通る文章を正しい順序で再構成することは容易ではなく、版面レイアウト解析[1]や読み順推定[2]に関する研究が進められている。また、契約書のOCRテキストは文書全体を逐語的に含むため長くなる傾向があり、LLMの最大入力長を超えてしまう場合もある。OCRテキストの長さがLLMの最大入力長を超えた場合、OCRテキストの末尾を切り捨てることでLLMへの入力は可能だが、重要情報が切り捨てられることで、正しい抽出結果が得られなくなる問題が存在する。この問題に対処するためには、OCRテキストをThisworkispublishedwithoutpeerreviewandislicensedbytheauthor(s)underCCBY4.0(https://creativecommons.org/licenses/by/4.0/).org/licenses/by/4.0/).モデルを用い、QLoRA[7]によるファインチューニングを、学習率は0.1とし、エポックは1で実施した。LoRAの設定は、付録のセクションBに載せた。また、ファインチューニングに利用したプロンプトを付録のセクションCに載せた。モデルは4bitで量子化した。LLMは契約書に関連する9項目を出力するように学習し、項目の間は‌__‌という文字列で区切るようにした。ここで9項目とは、タイトル、関係者、契約締結日、契約開始日、契約終了日、自動更新、解約通知期限、自動更新期間、金額を指す。提案手法の圧縮器にはmicrosoft/deberta-v3-base[5]を使用した。契約書のOCRテキストを約512トークン前後のチャンクに分割し、それぞれについて擬似ラベル（必要/不要）を2値分類で予測するようファインチューニングを行った。ここで、チャンクの長さを約512トークンとした理由は、使用したdeberta-v3-baseの最大入力長に制限があるためである。出力として確率の高いテキストのみを順序を保って連結し、8,000トークン以下の圧縮されたテキストを生成する。ここで8,192トークンではなく8,000トークンとした理由は、後でプロンプトを追加する余白を持たせるためである。4.2データセットSansan株式会社での契約書データ化の処理結果を統計処理しサンプリングした契約書データを用いて実験を行った。学習データとして契約書10,000件に対するOCRテキストと正解、評価データとして契約書500件に対するOCRテキストと正解を使用した。学習データ中のOCRテキスト長の内訳は、9,000件が8,000トークン以下、1,000件が8,000トークン超であり、評価データは全件が8,000トークン以上である。ここで、トークン数の計測にはtokyotech-llm/Swallow-7b-instruct-v0.1[6]の語彙の辞書を利用した。4.3比較手法比較手法として、次の3種類の手法を評価した。1.ベースライン：8000トークン以下となるよう、テキストの末尾を切り捨てる方法である。