# 複数文献間の変数の同義性判定に向けた ProcessBERT の構築

金上和毅 加藤祥太 加納 学
京都大学大学院情報学研究科
\{kanegami.kazuki.55z, katou.shouta.23v\}@st.kyoto-u.ac.jp
manabu@human.sys.i.kyoto-u.ac.jp

## 概要

プロセス産業において重要な役割を果たす物理モ デルの構築には，膨大な量の文献調査や精度向上の ための試行錯誤などの多大な労力が要求される. そ こで著者らは，物理モデルを自動で構築するシステ ムの開発を目指し，複数の要素技術の開発に取り組 んでいる. 本研究では，その内の一つである複数文献間における変数の同義性を判定する手法を開発 するとともに，その精度向上に向け，化学工学ドメ インに特化した言語モデル（ProcessBERT）を構築 した. 化学プロセスに関する論文計 28 報を用いて, ProcessBERT と他の言語モデルの同義性判定の性能 を比較した結果，ProcessBERTが他モデルを上回る 性能を発揮した。

## 1 はじめに

化学や鉄鋼などのプロセス産業では，プロセスの 設計や運転に物理モデルに基づくプロセスシミュ レータが用いられている. しかし, 物理モデルの構築にはプロセスに関する深い理解と専門知識だけ でなく, 精度向上のための試行錯誤的な取り組み が必要とされる. 本研究の最終目的は, 文献デー タベースから必要な文献を収集し，それらからモ デル構築に必要な情報（数式，変数，実験データ） を抽出し，所望のモデルを構築するという工程を 自動でおこなうシステム (Automated Physical Model Builder; AutoPMoB）を開発することである．著者ら は, AutoPMoB の実現に向けて, 複数の要素技術の 開発に取り組んでいる [1]. 本研究では, その内の 一つである複数文献間における変数の同義性を判定 する手法を開発する。

2018 年に Devlin らによって提案された BERT[2] は，様々な自然言語処理タスクにおいて当時最高の 精度を達成した. 以降, 精度を維持しつつ大幅なパ ラメータ削減を実現した ALBERT[3] や，より大規模なコーパスを用いた学習をおこなうことで大幅 な精度向上を達成した RoBERTa[4] など，様々な改良型モデルが提案されている。また，ある特定の ドメインにおける自然言語処理タスクを解く場合， Wikipedia などの一般的なドメインのテキストを用 いて構築された言語モデルよりも，その特定のドメ インのテキストを用いて構築された言語モデルの方 が優れた精度を達成できることが報告されている $[5,6,7,8]$.

本稿では，化学工学ドメインに特化した言語モデ ルである ProcessBERT を構築する。そして，言語モ デルの埋め込みべクトルを用いる手法とファイン チューニング済みモデルを用いる手法で同義性判定 をおこない，ProcessBERT の性能を検証する。また， オリジナルの BERT と科学技術関連のテキストで学習した SciBERT[7] と性能を比較する。

## 2 ProcessBERT

## 2.1 コーパス

Elsevier 社が提供する Elsevier Research Product APIs[9] を用いて，化学工学に関連する 17 のジャー ナルから約 13 万報の論文を収集した. 使用した ジャーナルとジャーナルごとの論文数を表 1 に 示す. 収集した論文から論文の抄録と本文（図表 を除く）にあたる部分のテキストを抽出して化学工学ドメインに特化したコーパス (ChemECorpus) を構築した. ChemECorpus にはタイトル，著者情報，キーワード，参考文献，付録は含まれない。 ChemECorpus の総単語数は約 7 億語 (4.0GB) で ある.

## 2.2 事前学習

事前学習済みの BERT $_{\mathrm{BASE}}[2]$ に対し, ChemECorpus を用いて以下の手順で追加の事前学習をおこなった。
表 1 ChemECorpus 構築に用いたジャーナルと論文数

1. バッチサイズを 64 とし，最大長が 128 のシーケ ンスを用い，2つの事前学習タスク (Masked Language Model, Next Sentence Prediction）を 900,000 ステップにわたり実行した.

2. バッチサイズを 8 とし，最大長が 512 の長い シーケンスを用い，1. と同じタスクを 100,000 ステップにわたり追加で実行した。

また，学習回数の違いによるモデルの性能差を検証 するため，ステップ数のみを 2 倍にして事前学習を おこなったモデル (ProcessBERT double ）も構築した.計算には Google Cloud Platform[10] で利用できる 8 コアの TPU v3を使用した. ProcessBERT の事前学習には約 13 時間を要した。

事前学習には，Devlin らが Github 上で公開してい るプログラム [11]（run_pretraining.py）を使用した. また，事前学習時に指定する語彙やハイパーパラ メータは，BERT $\mathrm{BASE}_{\mathrm{BAS}}$ と同じものを使用した.

## 3 実験

## 3.1 データセット

晶析プロセス (Crystallization; CRYST), 連続槽型反応器 (Continuous Stirred Tank Reactor; CSTR), 多管式熱交換器（Shell and Tube Heat Exchanger; STHE）に 関する論文をそれぞれ 11，10，7 報収集し，本文中 から変数定義に相当する名詞句を抽出した. 次に，同一プロセスの異なる 2 つの論文間ですべての変数定義のペアを作成し，ペアごとに同義（1）もしく は非同義（0）のラベルを手動で付与した. プロセ スごとの同義と非同義のペアの数を表 2 に示す. い ずれのプロセスも，同義のペアの割合が小さい不均衡データであるため，以下のようにして各プロセス のトレーニング用およびテスト用のデータセットを 作成した。

トレーニング用 3.2 .2 の検証における学習回数 を一定にするため，データの総数が 2,500 になるよ うに非同義のペアをランダムにサンプリングする.

テスト用 同義のペアの数が全体の $10 \%$ になるよ うに非同義のペアをランダムにサンプリングする.

表 2 各プロセスの論文数と同義および非同義のペア数

## 3.2 検証方法

ProcessBERT および ProcessBERT double の性能を検証するため， BERT BASE および SciBERT[7]を比較対象とし，以下の 2 通りの検証をおこなう。

## 3.2.1 変数定義の類似度による同義性判定

図 1 に示すように，モデルから得られる単語の埋 め込みベクトルを使用して 2 つ変数定義の類似度 を計算し，その同義性を判定する。

まず，2つの変数定義を表すべクトルを以下の手順で得る。

1. 変数定義にあたる名詞句をモデルに入力し， モデル内に 12 層ある Transformer Encoder から， ストップワード（冠詞，前置詞，等位接続詞 など）に該当しない単語の埋め込みべクトル を抽出する. 抽出した単語の数を $n$ 個， $j$ 層目の Transformer Encoder から出力された $i$ 番目の単語の埋め込みベクトルを $v_{i, j}$ とする。 $(1 \leq i \leq n, 1 \leq j \leq 12)$

2. 変数定義を表すべクトル $\boldsymbol{d}$ を以下の式にした がって計算する。

$
\boldsymbol{d}=\frac{1}{n} \sum_{i=1}^{n}\left(\frac{1}{12} \sum_{j=1}^{12} \boldsymbol{v}_{i, j}\right)
$

次に，得られた 2 つの変数定義を表すべクトルのコ サイン類似度（変数定義の類似度）を算出する。こ の値が間値を超えた場合，2つの変数が同義である と判定する.

## 3.2.2ファインチューニング済みモデルによる同義性判定

3.1 のトレーニング用データセットのうち 2 プロ セス分を用いてモデルのファインチューニングをお こなう。次に，得られたモデルを用いて残り 1 プロ セスのテスト用データセットに対する性能を検証す る.これを計 3 回おこない，すべてのプロセスで検証する.

なお，ファインチューニングには，Devlin らが 提供するプログラム [11]（run_classifier.py）を使用 する. 2 つの名詞句が同義であるか否かを分類 するというタスクは， Microsoft Research Paraphrase Corpus（MRPC）[12]を用いたタスクとほぼ同様 の内容であるため, run_classifier.py 実行時の引数 （TASK_NAME）には"MRPC"を指定する。

MRPC タスクにおける BERT モデルのファイン

図 1 変数定義の類似度による同義性判定

図 2 MRPC タスクにおける BERT モデルのファイン チューニング時の処理 [2]

チューニング時の処理を図 2 に示す.まず，2つの 変数定義の名詞句を [SEP] トークンで繋ぎ，先頭に [CLS] トークンを付加した単語列をモデルに入力す る. その後, [CLS]トークンに対応する最終層の埋 め达みべクトル $C\left(\in \mathbb{R}^{768}\right)$ と重み行列 $W\left(\in \mathbb{R}^{2 \times 768}\right)$ から，「同義」および「非同義」の2 クラスの予測値 $\operatorname{softmax}\left(C W^{T}\right)$ を計算する。「同義」のクラスの予測値が「非同義」のクラスの予測値より大きい場合， 2つの変数が同義であると判定する.

## 3.3 結果と考察

## 3.3.1 結果

変数定義の類似度による同義性判定の検証結果 として，Youden's Index[13]を閾値とした時の F1 値 を表 3 に示す. CRYST のデータセットに対しては，

SciBERT が最高値となったが，他の 2 プロセスおよ び全プロセスをまとめたデータセット（All）に対し ては, ProcessBERTが最高値を達成した.

ファインチューニング済みモデルによる同義性判定の検証結果として, F1 值を表 4 に示す. いずれのデータセットに対しても，ProcessBERT, ProcessBERT $_{\text {double }}$ ともに, 最高値が他モデルを下回った.

表 3 変数定義の類似度による同義性判定の検証における 各モデルの $\mathrm{F} 1$ 值

表 4 ファインチューニング済みモデルによる同義性判定の検証における各モデルの F1 値

## 3.3.2 考察

事前学習用に構築した ChemECorpus のサイズ（7 億語）は，過去に提案された多くのドメイン特化 BERT モデルの事前学習に使われたコーパスと比較 して小さい (SciBERT[7]: 32 億語，BioBERT[5]: 45 億語, PubMedBERT[8]: 31 億語). サイズの小さい ChemECorpus では, 化学工学ドメインにおける専門的な知識を十分に学習できていない可能性が考えら れる. また, 先行研究 [8] では, 事前学習において一般的なドメインのコーパスで学習された $\mathrm{BERT}_{\mathrm{BASE}}$ を用いずに，一から事前学習をおこなうことで，よ り性能の高いモデルが得られるとされている.今後，十分なサイズのコーパスを構築し，一から事前学習をおこなうことでより高性能な言語モデルが得 られる可能性がある.

ファインチューニング済みモデルによる同義性判定の検証において，CSTR のデータセットに対する $\mathrm{F} 1$ 值が，他の 2 プロセスの結果と比較して明確に小 さくなっている．結果を精査したところ，この検証 では 2 つの名詞句を構成する単語がほぼ同一である ペアのみを同義と判定する傾向があった. 同義であ
る2つの名詞句を構成する単語が大きく異なるペア が他プロセスと比較して多かったことが，CSTR の データセットにおける性能が低下した原因であると 考えられる。これについては，トレーニング用デー タとテスト用データの分割を各プロセスのデータ セットごとにおこない，各プロセスにおける変数定義の表記摇れをモデルが学習することで対応できる 可能性がある. その検証をおこなうには，現時点で は正例のデータ数が不足しているため, 今後は正例 のデータ数が十分に確保されたデータセットの構築 を進める必要がある。

ら，学習回数を増やしても ProcessBERT の性能は向上しないことが分かった. この結果は, 先行研究 [6] の内容と符合するものである.

## 4 おわりに

本研究では, 複数文献間における変数の同義性判定に向けた一つのアプローチとして, 約 13 万報の 化学工学関連の論文から構築された ChemECorpus を用いて ProcessBERTを構築した. BERT BASE と SciBERT を比較対象として，変数定義の類似度を用 いる手法とファインチューニング済みモデルを用い る手法による 2 通りの検証をおこなったところ，前者の手法において，ProcessBERTを用いた場合の同義性判定が最高の精度を達成することが示された.

今後は，正例のデータ数が十分に確保されたデー タセットの構築を進めていく. また, 化学工学関連 のテキストを追加で収集して ChemECorpusを拡張 した上で, BERT $_{\mathrm{BASE}}$ から追加で学習するのではな く一から事前学習をおこなうことで, ProcessBERT の更なる改良を図る。

## 謝辞

本研究は JSPS 科研費 JP21K18849 および JST 次世代研究者挑戦的研究プログラム JPMJSP2110 の助成 を受けたものです.

## 参考文献

[1] S. Kato and M. Kano. Identifier information based variable extraction method from scientific papers for automatic physical model building. PSE Asia Paper No. 210043, 2020.

[2] J. Devlin, M. Chang, K. Lee and K. Toutanova. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 1, pp.4171-4186, 2019.

[3] Z. Lan, M. Chen, S. Goodman, K. Gimpel, P. Sharma and R. Soricut. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. arXiv preprint arXiv:1909.11942, 2019.

[4] Y. Liu, M. Ott, N. Goyal, J. Du, M. Joshi, D. Chen, O. Levy, M. Lewis, L. Zettlemoyer and V. Stoyanov. RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv preprint arXiv:1907.11692, 2019.

[5] J. Lee, W. Yoon, S. Kim, D. Kim, S. Kim, C.H. So and J. Kang. BioBERT: a pre-trained biomedical language representation model for biomedical text mining. Bioinformatics, 36(4), pp.1234-1240, 2020.

[6] E. Alsentzer, J. Murphy, W. Boag, W.H. Weng, D. Jindi, T. Naumann and M. McDermott. Publicly Available Clinical BERT Embeddings. Proceedings of the 2nd Clinical Natural Language Processing Workshop, pp.72-78, 2019.

[7] I. Beltagy, K. Lo and A. Cohan. SciBERT: A Pretrained Language Model for Scientific Text. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp.36153620, 2019.

[8] Y. Gu, R. Tinn, H. Cheng, M. Lucas, N. Usuyama, X. Liu, T. Naumann, J. Gao and H. Poon. DomainSpecific Language Model Pretraining for Biomedical Natural Language Processing. ACM Transactions on Computing for Healthcare, pp.1-23, 2021.

[9] Elsevier Developer Portal. https://dev. elsevier.com/. (Accessed on 2022/1/12).

[10] Cloud Computing Services | Google Cloud. https: //cloud. google.com/. (Accessed on 2022/1/12).

[11] GitHub-google-research/bert: TensorFlow code and pre-trained models for BERT. https:// github.com/google-research/bert. (Accessed on 2022/1/12).

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

[13] W.J. Youden. Index for rating diagnostic tests. Cancer, 3(1), pp. 32-35, 1950.
 金上和毅 加藤祥太 加納 学 京都大学大学院情報学研究科 \{kanegami.kazuki.55z, katou.shouta.23v\}@st.kyoto-u.ac.jp manabu@human.sys.i.kyoto-u.ac.jp  