# 高速な契約書レビューのための計算量の削減

小林 尚輝 ${ }^{1}$ 真鍋 陽俊 ${ }^{2}$ 小田悠介 ${ }^{2,3}$
1 東京工業大学 ${ }^{2}$ LegalForce Research
3 東北大学 データ駆動科学・AI 教育研究センター
kobayasi@lr.pi.titech.ac.jp
\{hitoshi.manabe, yusuke.oda\}@legalforce.co.jp

## 概要

契約書には様々な規定や条項が記述されている。関心のある条項を自動で抽出することによって，こ れまで人手で実施されてきたレビューの業務コスト が削減できる。それらの関心のある条項を契約書か ら抽出する情報抽出タスクとして契約書レビューが 取り組まれている。従来研究では，抽出する内容を 質問文とした BERT を用いた質問応答 $(\mathrm{QA})$ モデル が広く使用されている。しかし，契約書のような長 い文書を扱うための sliding window による小さな単位のテキスト（以下，セグメント）への分割と，質問文とセグメントを結合して入力事例とする BERT の構造から, 従来の QA モデルでは BERT による処理回数が膨大となり非効率である。提案手法は，軽量な分類器により各事例が抽出すべきテキストを含 むかを事前に識別することで，性能をほとんど劣化 させることなく, BERT により処理される事例の数 を $44 \%$ 削減した.

## 1 はじめに

契約書は取引の内容を証するために作成され，互 いの権利と義務を明確にする重要な役割を持つ. 契約締結リスクとなりうる規定や条項を契約書に記載 しないために，専門家の手による契約書レビューは 非常に重要な手続きとなる。しかし，数十ページに わたる契約書を専門家の手を借りてレビューするに は高いコストを要する．そこで，自然言語処理技術 を用いた契約書レビューの自動化によるコストの削減が期待されている。

このような背景から，契約書を対象とした研究が 幅広く行われており，契約書レビューは契約書を入力として契約書に含まれる関心のある条項を抽出す る情報抽出タスクとして研究されている。また，関心のある条項は契約書の種類によって異なるため，

図 1 BERT を用いた質問応答モデル

様々なデータセットとそれに応じた抽出項目が提案 されている。取り分け，CUAD [1] は構成する契約書数が多く，アノテーションに多くの時間と費用を 費やしている。 CUAD は契約書に対して，41 種類 の抽出項目（例えば，当事者名を表す Parties や契約締結日を表す Agreement Date など）と各抽出項目に 該当する契約書中のテキストスパンが付与されて いる．その他にも，秘密保持契約のみを対象とした ContractNLI [2] がある. ContractNLI は契約書に対し て 17 通りの仮説が与えられ，それぞれの仮説が契約書中でどのように言及されたかを示す 3 つのラべ ル（含意する/矛盾する/言及されない）と，そのラべ ルの根拠となる契約書中の文が付与されている.

従来研究 $[1,2]$ では BERT [3] を用いた質問応答 (QA) モデルにより契約書に対する情報抽出を行っ ている．BERT は大規模なテキストから事前学習 された言語モデルで，図 1 に示されるように [SEP] トークンで結合された質問文と文書のペアを入力事例（以下，事例）とし，回答となるテキストスパン の始点/終点を推定するように finetune することで質問応答 $(\mathrm{QA})$ タスクで高い性能を達成している.こ こで，契約書を入力文書とし，抽出したい内容に応 じた質問文と合わせて入力することで，BERTによ る契約書を対象とした情報抽出が可能となる。

このとき，BERTが扱える最大長を超える契約書

図 2 QA モデルを用いた契約書レビューの手続き

は sliding window を用いてより小さいセグメントへ と分割されて処理される. BERT を用いた $\mathrm{QA}$ モデ ルによる契約書レビューは，数十ページに及ぶ契約書全体から質問文に該当するテキストスパンを抽出 する。そのため, sliding window により分割された 全セグメントに質問の数だけ BERT を適用する必要 があり大幅に時間がかかる. しかし，抽出すべきテ キストスパンは各質問に対して一つであるため，多 くの事例は回答スパンを含まないという傾向があ る. 実際に，CUADにおける $99.987 \%$ の事例は回答 スパンを内包しない.

そこで，本稿は $\mathrm{QA}$ モデルによる契約書レビュー を高速に行うために事例の削減を行う. 具体的に は, 各事例に対し, 高速な分類器を用いて事例のセ グメントが回答を内包するかどうかの二值分類を行 い，分類器により回答を内包すると判別された事例 のみを QA モデルの入力とすることで BERTにより 処理される事例を削減する。

また，BERTの高速化手法として，重みパラメー タの削減によるモデルサイズの圧縮 [4] が提案され ている.これらの手法と提案法はモデルサイズと処理するデータ量の異なるボトルネックへのアプロー チであり，速度改善において競合しない。

実験では，CUADをデータセットとして用いて， テキストスパンの抽出性能をほとんど損なうことな く44\%の事例を削減した。

## 2 質問応答モデル

本節では BERT を用いた質問応答 $(\mathrm{QA})$ モデルの 説明を行う. 図 1 に示されるように $\mathrm{QA}$ モデルは， トークン列により表現された質問文と文書を [SEP] トークンで結合して BERT の入力とし, 文書側の各 トークンに適用された MLP により回答スパンの先

表 1 CUADと SQuADによる 1 文書あたりの事例数およ び回答を含む事例数とその割合の比較

頭/末尾のスコアを推定する.このときBERT の扱 える最大長を超える文書は sliding windowを用いて セグメントに分解され，各セグメントごとに質問文 と結合されて入力される.

## 3 計算量

本節では 1 契約書あたりの BERT の処理回数から 契約書レビューにおける $\mathrm{QA}$ モデルの計算量を考え る. 図 2 に示されるように，契約書レビューにおけ る抽出項目に対応した $M$ 通りの質問文と契約書に 含まれる $N$ 個のセグメントが与えられ，それらの組 み合わせが BERT に入力される。したがって，質問文とセグメントのペアである事例の数が BERT によ る処理回数となり，事例の数は $M \times N$ 通りとなる.

CUAD から開発データとして抽出した 80 文書を 対象として，1 文書あたりの事例数，および，回答 を含む事例数との割合を算出1)した結果を表 1 に示 す. 比較のために SQuAD [5] の開発データも同様に 算出した.

表より，CUAD の事例数は SQuAD に比べて約 7.4 倍多い。つまり 1 文書あたりの BERTによる処理回数が約 7.4 倍となる。また，CUAD は事例数が多い 一方で，SQuAD に比べ回答スパンを内包する事例数およびその割合が極めて低く，大半の事例が回答 を含まないことがわかる。したがって，全ての事例

1）質問文は 64 トークン， sliding window はセグメントの大き さと stride 幅をそれぞれ 448，および 256 トークンとした.

図 3 LinearSVMを用いた分類器

に一様に BERT を適用する従来の QA モデルによる 契約書レビューは，その計算量の殆どを回答を含ま ない事例に費やすことになり非効率的である。

## 4 計算量を減らすための分類器

回答を含むセグメントを持つ事例はわずかである ため，事前に高速な分類器によって回答を含まない と判別できるならば，QA モデルに入力される膨大 な事例数を減らすことができ，計算量の削減につな がる. したがって，本節では各事例についてそのセ グメントが質問に対する回答を内包するかを分類す るための分類器を提案する. 提案する分類器の概要 を図 3 に示す。

分類器には計算速度の観点から BERT と比較して 高速に動作する LinearSVM を使用する。 QA モデル と一貫した入力形式を扱えるように，分類器の入力 は QA モデルと同様にセグメントと質問文を用い る. セグメントは内包される uni-gram と bi-gram の TF-IDF ベクトル，質問文は Bag-of-Words ベクトル によりベクトル化して分類器の入力とする.

## 5 実験設定

## 5.1 データセット

分類器の学習，評価に用いるデータセットは $\mathrm{CUAD}^{2)}$ を使用した. CUAD は，学習データと評価 データが配布されており，学習データを分割して開発データを用意した。このとき，文書サイズの偏り を軽減するために学習データを文書の長さによって ソートしたのち 10 個のビンへと分割し，各ビンに おいてランダムに $80 \%$ を新しい学習データ，残りの $20 \%$ 開発データとして分割した。

## 5.2 評価尺度

本実験では $\mathrm{QA}$ モデルにより処理される事例を削減して計算量を減らすことが目的であるため，事例

図4 開発データを用いた class weight の変化における性能と削減率の比較

の削減率と $\mathrm{QA}$ モデルの性能の二つにより評価を 行う.

削減率は全ての事例のうち，分類器によって回答 を含まないと分類された事例の割合とする。

$\mathrm{QA}$ モデルの性能は予測したスパンと正解のスパ ンをもとに算出される。ここでは先行研究 [1] に従 い，Precision at 80\% Recall (P@R80) により QA モデ ルの性能を評価する。

## 5.3 ハイパーパラメータ

本実験の LinearSVM には scikit-learn [6] を利用し， クラスごとの正則化係数 $C$ を変化させる class weight の值を開発データにより選択した. class weight は 図 4 の横軸に示される 0.5:0.5 から 0.99:0.01 の 10 通 りから探索した. class weight を変化させたときの開発データによる $\mathrm{QA}$ モデルの性能と削減率を図 4 示 す. 例えば class weight が 0.7:0.3 であれば，回答を 含む，回答を含まないの各クラスに対応する正則化係数 $C$ にそれぞれ 0.7 と 0.3 が掛け合わされる. し たがって，グラフの右側に行くにつれて回答を含む と分類されやすくなる. グラフの右端は分類器を 用いない（全ての事例に回答を含むと分類した場合 と等しい) ベースラインである。

開発データの結果から，性能が高い 0.97:0.03，お よび性能が高く削減率の良い 0.9:0.1 の 2 つの class weight を評価データでベースラインと比較すること とした.

## 6 実験結果

表 2 に評価データによる実験結果を示す。性能と 削減率がトレードオフである傾向は開発データと同様であり，class weight により削減率を制御できてい ることがわかる. 特に，class weight=0.9:0.1 におい て性能が 1.8 ポイント減少するが，44\%の事例を削

図 5 評価データによる class weight $=0.5: 0.5$ を対象としたラベルごとの性能の比較

表 2 評価データによる性能および削減率の比較

減できることを示した. また， class weight=0.97:0.03 において性能がわずかに向上する。これは事前に回答を含まない事例を削減することにより，QA モデ ルが候補として予測するスパンの質が向上したため と考えられる。

図 5 に評価データを用いたラベル毎の性能を示 す. 事例の削減による各ラベルの性能低下の影響を 調べるために，削減率の高い class weight=0.5:0.5 の 分類器をべースラインと比較した. CUAD は 41 種類のラベルがあるが, ベースラインにおける $\mathrm{P} @ \mathrm{R} 80$ の値が 0 ポイントのラベルはグラフから除いた. ラベルは class weight=0.5:0.5 の性能によってソート されており，ラベルによって性能が低下するラべ ルとそうでないラベルがあることがわかる. 性能 の劣化しなかった Governing Law や Agreement Date などのラベルは特定の表現（Governing Law であれ ば"governed by"，Agreement Date であれば月を表す 英単語など）を高い確率でセグメントに含んでお り，N-gramを素性とした分類器で十分に分類可能 であったと考えられる。一方で，性能の劣化したラ ベルは N-gram で捉えられない，例えば，言い換え などの表現が含まれると考えられる.この結果を踏 まえて, 今後の改善として意味の近い単語を類似す るべクトルによって表現できる単語分散表現 $[7,8]$ を素性として用いることが考えられる.

## 7 まとめ

本稿では，BERT を用いた QA モデルによる契約書レビューの高速化のために，BERT の入力事例を 高速な分類器を用いて事前に分類することで QA モ デルの計算量を削減する手法を提案した． CUADを 用いた実験では，分類器のパラメータである class weight によりトレードオフの関係にある削減率と性能を選択できることを示し，評価データにおいては 1.8 ポイントのわずかな性能の低下で $44 \%$ の事例が 削減できることを示した. さらなる今後の改善とし て, 分類器として用いた LinearSVMへの入力となる セグメントや質問文のベクトルを単語分散表現に置 き換えることで言い換えなどに頑健な分類が可能に なると考えられる。

## 参考文献

[1] Dan Hendrycks, Collin Burns, Anya Chen, and Spencer Ball. Cuad: An expert-annotated nlp dataset for legal contract review. NeurIPS, 2021.

[2] Yuta Koreeda and Christopher Manning. ContractNLI: A dataset for document-level natural language inference for contracts. In Findings of the Association for Computational Linguistics: EMNLP 2021, pp. 1907-1919, Punta Cana, Dominican Republic, November 2021. Association for Computational Linguistics.

[3] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 41714186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[4] J. S. McCarley, Rishav Chakravarti, and Avirup Sil. Structured pruning of a bert-based question answering model. 2019.

[5] Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. SQuAD: 100,000+ questions for machine comprehension of text. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 2383-2392, Austin, Texas, November 2016. Association for Computational Linguistics.

[6] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay. Scikit-learn: Machine learning in Python. Journal of Machine Learning Research, Vol. 12, pp. 2825-2830, 2011.

[7] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems, Vol. 26. Curran Associates, Inc., 2013.

[8] Jeffrey Pennington, Richard Socher, and Christopher Manning. GloVe: Global vectors for word representation. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1532-1543, Doha, Qatar, October 2014. Association for Computational Linguistics.
 小林 尚輝 ${ }^{1}$ 真鍋 陽俊 ${ }^{2}$ 小田悠介 ${ }^{2,3}$ 1 東京工業大学 ${ }^{2}$ LegalForce Research 3 東北大学 データ駆動科学・AI 教育研究センター kobayasi@lr.pi.titech.ac.jp \{hitoshi.manabe, yusuke.oda\}@legalforce.co.jp  