# 数学的表現の構造的情報のトークン化手法による ProcessBERT の性能改善

張 純朴 加藤 祥太 加納 学
京都大学大学院情報学研究科
\{shota, manabu\}@human.sys.i.kyoto-u.ac.jp

## 概要

プロセス産業において重要な役割を果たす物理 モデルの構築には，文献調査を含めた多大な労力を 要する．その労力を削減するために，物理モデルを 自動で構築するシステム (AutoPMoB) の実現を目指 している. 本研究の目的は，AutoPMoB の実現に必要な要素技術として，複数文献間の変数定義の同義性判定手法を開発することである. 本研究では，ま ず，化学プロセス関連の論文約 80 万報からなるコー パスを作成した. そして，数学的表現の構造的情報 を扱う前処理およびトークン化手法を提案し，化学 プロセスに特化した言語モデル ProcessBERT 2022 $^{\text {を }}$構築した. ProcessBERT ${ }_{2022}$ は変数同義性判定にお いて，既存モデルを上回り，F1 值 0.872 を達成した。

## 1 はじめに

化学や鉄鋼などのプロセス産業では，プロセスの 設計や運転に物理モデルに基づくプロセスシミュ レータが用いられている．物理モデルの構築にはプ ロセスに関する深い理解と専門知識だけでなく, 精度向上のための試行錯誤的な取り組みが必要とさ れる.このため, 物理モデルの構築には多大な労力 がかかる. 本研究の最終目的は，複数の文献から 物理モデルを自動で構築するシステム (Automated physical model builder; AutoPMoB) を開発することで ある．AutoPMoB の実現には，物理モデル構築に必要な情報を文献から抽出し，抽出した情報の表記を 統一する必要がある。本研究の目的は，表記を統一 するために，異なる文献から抽出した変数の定義が 同じかどうか (同義性) を正確に判定する手法を開発 することである. 本研究では，1) 約 80 万報の化学工学関連論文を収集し，2) BERT モデルが数学的表現の構造的情報を学習できるような前処理手法を提案し，BERT モデルをゼロから学習する。 そして，提案手法と既存手法で構築した BERT モデルによる 変数定義の同義性判定性能を比較する.

## 2 関連研究

自然言語処理の分野において，単語の意味をべク トル (埋込ベクトル) で表現することの有効性が多く の研究で検証されてきた. Word2Vec [1]，GloVe [2]， FastText [3] は，文脈に依存しない埋込べクトルであ る.しかし，単語の意味は文脈によって変わる場合 がある。単語に対して一意に決まる埋込べクトルを 学習する手法はそのような状況に対応できない。文脈に依存した埋込べクトルを学習する言語モデル の一つが BERT (Bidirectional Encoder Representations from Transformers) [4] である. Peng ら [5] は，数式と その周辺の文脈から構成されるコーパスを用いて，数学分野の情報抽出，トピック分類および文生成 のタスクに特化したモデル MathBERT を構築した. Dadure ら [6] は，数学分野の情報抽出と質問応答の 研究を行う ARQMath [7] が作成したコーパスを用い て，数式の情報抽出タスクに特化した BERT モデル を作成した. これらの研究では，一般的な数学的情報を扱うコーパスを用いて追加で BERT モデルを訓練していた。しかし，化学プロセス分野における変数定義同義性判定のタスクに対応するために，その 分野に特化したコーパスでモデルを構築する必要が ある．金上ら [8] は，化学工学分野のコーパス (約 7 億語)を用いて BERT を追加で訓練し，ProcessBERT を構築した. 彼らの前処理では，数学的表現の構造的な情報を無視したテキストを使用していた. 図 1 に数式 $\frac{c_{k}}{c_{l}}$ の前処理およびトークン化後の文字列を 示す. この前処理後の文字列が元々数学的表現の一部なのか，単語の一部なのかを区別することはでき ないため，数学的表現の構造的情報は学習されな い。また，学習に使用したコーパスのサイズが小さ いという課題があった.

図 1 先行研究 [8] の前処理およびトークン化手法による 数式の変換例.

## 3 提案モデル (ProcessBERT 2022 )

## 3.1 コーパス

Elsevier 社が提供する Elsevier Research Product APIs [9] を用いて, 化学工学分野の 130 ジャーナル から XML (Extensible Markup Language) 形式の論文 ファイルを収集した. XML はタグを用いて文章の 見た目と構造を記述するマークアップ言語の一種 である. XML の数学的表現に対応するタグは 2004 年に $\langle$ formula $\rangle$ タグから $\langle\mathrm{mml}: \mathrm{math}\rangle$ タグに変更され た. 本研究では, 論文中の数学的表現を統一的に処理するために, 数学的表現の記述に $\langle\mathrm{mml}: \mathrm{math}\rangle$ が 用いられている 2005 年以降の論文約 80 万報を使用 する. 簡単のため, 以降の文では，数学的表現の記述に用いられるタグを “mml”が省略された形で表記する. 先行研究 [8] と同様に，論文の抄録と本文 を用い，タイトル・著者情報・キーワード・参考文献・付録は用いない.

## 3.2 前処理とトークン化

前処理では，まず数学的表現の置換を行う．数学的表現は変数と数式の二種類に分けられる. 本研究 では，以下の 2 つの条件を全て満たす XML 構文を 変数を表現するものとみなす.
1. $\langle\mathrm{mi}\rangle,\langle\mathrm{msub}\rangle,\langle\mathrm{msup}\rangle,\langle\mathrm{msubsup}\rangle,\langle\mathrm{mover}\rangle$, $\langle$ munder $\rangle$, 〈moverunder $\rangle$, $\langle$ math $\rangle,\langle\mathrm{mrow}\rangle$ の 9 種類のタグのみを使用する。

2. 一番外側の $\langle\mathrm{math}\rangle$ 要素の直下にある子要素の 数が 1 である.表 17 種類の XML タグごとの変数変換ルール

図 2 提案する前処理による変数と数式の変換例. XML タグと変換ルールに基づいてタグを含まない文字列に変換する。

XML で変数の表現に用いられる 7 種類のタグに 注目し，表 1 に示す変換ルールを定義した. この ルールに基づき，各変数を処理する。一つの変数に 複数のタグが用いられる場合，外側から順に処理を 行う．数式は変数と比較してタグの種類が多く，構造も多様である．また，数式より変数の方が変数定義の同義性判定を行う上で重要であると考えたた め，数式は一律に “[FOR]” トークンで置換すること とした. 図 2 に変数と数式の変換処理の例を示す.

次に，前処理後の文字列をトークン化する。トー クン化には BERT と同じ WordPiece [10] アルゴリズ ムで作成したトークナイザを用いた. トークナイ ザの作成時には 6 種類の特殊トークン (“[FOR]”, “[VAR]”, “[SUB]”, “[SUP]”, “[OVER]”, “[UNDER]”) を追加した。

## 3.3 事前学習

以下の 3 つのステップを経て，XML ファイルを 一文一行 (one sentence per line) のテキストファイル に変換する。

1. 数学的表現を提案した前処理で変換する.

2. 抄録と本文のテキスト部分を結合する。

3. 文分割のツール Spacy [11]を用いて，結合され たテキストを文に分割し，一行が一文のテキス トファイルに変換する。

以上の処理で事前学習データ (36 億語)を得た. こ れを用いて BERT モデルをゼロから訓練し, 化学 プロセスに特化した言語モデル ProcessBERT ${ }_{2022}$ を 構築した. ProcessBERT ${ }_{2022}$ の学習では, バッチサ イズとシーケンスの最大長をそれぞれ 256 と 128 とし，学習ステップを $1,000,000$ とした。それ以外のハイパーパラメータは $\mathrm{BERT}_{\mathrm{BASE}}$ [12] と同じ とした。事前学習タスクは Masked Language Model と Next Sentence Prediction とした. 計算には Google Cloud Platform [13] で 8 コアの TPU v3 を使用した.学習には約 32 時間要した. 事前学習の際に指定す る語彙ファイルはトークナイザの作成時と同じもの を使用した。

## 4 実験

## 4.1 データセット

先行研究 [8] で使用したデータセットに新たに 2 プロセスを追加した合計 5 つの化学プロセスに関す る論文 45 報からなるデータセットを用いる． 5 つの プロセスは，バイオディーゼルプロセス (Biodiesel; $\mathrm{BD})$ ，晶析プロセス (Crystallization; CRYST)，連続槽型反応器 (Continuous Stirred Tank Reactor; CSTR), チョクラルスキープロセス (Czochralski; CZ)，多管式熱交換器 (Shell and Tube Heat Exchanger; STHE) で ある. 同一プロセスの異なる 2 つの論文に含まれる すべての変数定義のぺアについて，同義 (1)もしく は非同義 (0) のラベルが付与されている. プロセス ごとの同義と非同義の変数定義ぺアの数を表 2 に示 す.このデータセットは，同義ぺアの数が非同義変数定義ぺアの数よりもかなり少ない不均衡データ セットであるため，以下のように各プロセスについ て，訓練用およびテスト用データを作成した。

訓練用 同義変数定義ぺアの半分をランダムにサ ンプリングし，どのプロセスでもデータの総数が 1,500 になるように非同義の変数定義ぺアをランダ ムにサンプリングした.

テスト用訓練用データ以外の同義変数定義ぺア をテスト用とした。また，テスト用データの数が全体のサンプル数の $10 \%$ になるうに非同義の変数定義ペアをランダムにサンプリングした.表 2 各プロセスの論文数と同義および非同義のペア数

## 4.2 同義性判定手法

先行研究 [8] と同様に，「変数定義の類似度に基づ く手法」と「ファインチューニング済モデルに基づ く手法」を用いる.

## 4.2.1 変数定義の類似度に基づく手法

2 つの変数定義をそれぞれ BERT モデルに入力 して変数定義べクトルを算出し，それらのコサイ ン類似度が閾値より大きければ同義と判定する。変数定義ベクトルとして, 先行研究 [8] では 12 層 の Transformer encoder の出力ベクトルの平均を使用していたが，本研究では，最終層の出力ベクト ルのみを使用する．変数定義べクトルの計算には Devlin らが Github 上で公開しているプログラム [12] (extract_features.py) を使用した。閾值には Youden's Index [14]を採用した.

## 4.2.2 ファインチューニング済モデルに基づく手法

各プロセスについて, ProcessBERT ${ }_{2022}$ の事前学習済モデルを訓練用データでファインチューニン グし，そのモデルで同義性を判定する. ファイン チューニングの際の下流タスクとして，2つの名詞句が言い換えであるかどうかを判定する Microsoft Research Paraphrase Corpus (MRPC) [15] を用いたタス クを使用し，訓練には Devlin らが Github 上で公開し ているプログラム [12] (run_classifier.py)を使用した.

## 5 結果と考察

## 5.1 結果

類似度による同義性判定の結果を表 3 に示 す. 本研究で構築した ProcessBERT 2022 に加えて, ProcessBERT [8], BERT ${ }_{B A S E}$ [4], SciBERT [16] の結果 も示した. ProcessBERT ${ }_{2022}$ は CRYST と CZ の 2 つ のプロセスにおいて最も高い $\mathrm{F} 1$ 値を達成したのに
表 3 類似度に基づく変数定義同義性判定結果 (F1 値)

対して，SciBERTはBD，STHEおよび全プロセスを まとめたデータセット (All), ProcessBERT は CSTR においてそれぞれ最高値を達成した。

ProcessBERT $_{2022}$ と ProcessBERT のファイチュー ニング済モデルによる同義性判定結果 (正解率,適合率，再現率， $\mathrm{F}$ 値)をそれぞれ表 4 と表 5 に示 す.いずれの場合も類似度を用いた手法と比較し て，BD と STHE を除いたデータセットで性能が向上した. BD と CSTR 以外のデータセットにおい て, ProcessBERT ${ }_{2022}$ の性能は ProcessBERT よりも高 かった.

## 5.2 考察

本研究で構築したコーパス (36 億語) は，他のド メイン特化 BERT モデルのそれと同等のサイズで ある (SciBERT [16]: 32 億語, BioBERT [17]: 45 億語, PubMedBERT [18]: 31 億語). そして, 先行研究 [8] では事前学習済の BERT $_{\text {BASE }}$ のモデルに追加で学習 を行ったのに対して, 本研究では, 構築したコーパ スのみを用いてゼロから学習を行った. このため,先行研究で報告された，コーパスのサイズが小さ く, モデルが十分に化学プロセス分野の専門的知識 を十分に学習できない問題は改善された。

ファインチューニング済モデルによる同義性判定の結果において，ProcessBERT ${ }_{2022}$ は BD のデータ セットに対する再現率と $\mathrm{F}$ 値が，他のプロセスの場合よりも低かった.これは, BD の同義変数定義ぺ アの数が少なく，モデルが十分に正例を学習できな かったことが原因として考えられる. 高い性能を達成するには，他のプロセスと同等の数の正例データ を確保する必要がある。

また, 本研究では変数定義の類似度に基づく手法 とファインチューニング済モデルに基づく手法の両方において，変数定義を大力とした. これは，変数定義を含む文を入力とし，類似度に基づく手法で同義性判定を行ったところ，モデルの性能が著しく低下したためである．単語は周辺の文脈から意味が決 まるという分布仮説や BERT モデルが事前学習時に表 4 ProcessBERT ${ }_{2022}$ のファインチューニング済モデル に基づく変数定義同義性判定結果

表 5 ProcessBERT のファインチューニング済モデルに基 づく変数定義同義性判定結果

文を入力とする事実を踏まえると，本来は文を入力 することで性能向上を期待できるはずである. さら に，定義を含む文を入力とする方法はファイチュー ニング済モデルに基づく手法に適用できるが，その 際に適切な下流タスクを考案する必要がある.この ような文を入力として用いる方法の開発は今後の課題である.

## 6 おわりに

本研究では先行研究 [8] に引き続き，物理モデ ル自動構築システム (AutoPMoB) の要素技術であ る複数文献間における変数の同義性判定手法の開発に取り組み，XML 形式のコーパスに含まれる 数学的表現の構造的情報を扱う前処理およびトー クン化手法を提案した. 提案手法で構築した言語 モデル ProcessBERT ${ }_{2022}$ は先行研究で構築された ProcessBERT [8] よりも高い同義性判定性能を達成 した. 今後は， 5.2 節で議論した課題に対応し，さ らなる性能向上を目指す.

## 謝辞

本研究は JSPS 科研費 JP21K18849 および Google Cloud Research Credits プログラムの助成 (GCP19980904)を受けたものです.

## 参考文献

[1] T. Mikolov, K. Chen, G. Corrado, and J. Dean. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781, 2013.

[2] J. Pennington, R. Socher, and C. Manning. Glove: Global vectors for word representation. In Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP), pp. 1532-1543, 2014.

[3] P. Bojanowski, E. Grave, A. Joulin, and T. Mikolov. Enriching word vectors with subword information. Transactions of the Association for Computational Linguistics, Vol. 5, pp. 135-146, 2017.

[4] J. Devlin, M. Chang, K. Lee, and K. Toutanova. Bert: Pretraining of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

[5] S. Peng, K. Yuan, L. Gao, and Z. Tang. Mathbert: A pre-trained model for mathematical formula understanding. arXiv preprint arXiv:2105.00377, 2021.

[6] P. Dadure, P. Pakray, and S. Bandyopadhyay. Bert-based embedding model for formula retrieval. In CLEF (Working Notes), pp. 36-46, 2021.

[7] R. Zanibbi, D. W Oard, A. Agarwal, and B. Mansouri. Overview of arqmath 2020: Clef lab on answer retrieval for questions on math. In International Conference of the Cross-Language Evaluation Forum for European Languages, pp. 169-193. Springer, 2020.

[8] 金上和毅, 加藤祥太, 加納学. 複数文献間の変数の同義性判定に向けた ProcessBERT の構築. 言語処理学会 第 28 回年次大会 発表論文集, 2022.

[9] Elsevier developer protal. https://dev.elsevier.com/ ., Accessed on 2022/01/16.

[10] X. Song, A. Salcianu, Y. Song, D. Dopson, and D. Zhou. Fast wordpiece tokenization. arXiv preprint arXiv:2012.15524, 2020

[11] M. Neumann, D. King, I. Beltagy, and W. Ammar. Scispacy: fast and robust models for biomedical natural language processing. arXiv preprint arXiv:1902.07669, 2019.

[12] Original bert codes. https://github.com/ google-research/bert, Accessed on 2022/07/13

[13] Cloud computing services-google cloud. https:// cloud. google.com/., Accessed on 2022/12/29.

[14] W. J. Youden. Index for rating diagnostic tests. Cancer, pp. 32-35, 1950.

[15] B. Dolan and C. Brockett. Automatically constructing a corpus of sentential paraphrases. In Third International Workshop on Paraphrasing (IWP2005), 2005.

[16] I. Beltagy, K. Lo, and A. Cohan. Scibert: A pretrained language model for scientific text. arXiv preprint arXiv:1903.10676, 2019

[17] J. Lee, W. Yoon, S. Kim, D. Kim, S. Kim, C. So, and
J. Kang. Biobert: a pre-trained biomedical language representation model for biomedical text mining. Bioinformatics, Vol. 36, No. 4, pp. 1234-1240, 2020.

[18] Y. Gu, R. Tinn, H. Cheng, M. Lucas, N. Usuyama, X. Liu, T. Naumann, J. Gao, and H. Poon. Domain-specific language model pretraining for biomedical natural language processing. ACM Transactions on Computing for Healthcare (HEALTH), Vol. 3, No. 1, pp. 1-23, 2021.
 張 純朴 加藤 祥太 加納 学 京都大学大学院情報学研究科 \{shota, manabu\}@human.sys.i.kyoto-u.ac.jp  