# 変数の記号と定義に関する情報を活用した変数定義抽出手法

沼本真幸 加藤祥太 加納学
京都大学大学院情報学研究科
\{numoto.masaki.32z, katou.shouta.23v\}@st.kyoto-u.ac.jp
manabuQhuman.sys.i.kyoto-u.ac.jp

## 概要

プロセス産業では様々な問題解決にプロセスの 物理モデルが活用されている．物理モデルを構築す るためには，複数の文献に含まれる数式と変数を把握し，統合する必要があり，多大な労力を要する。我々の目標はこの工程の自動化である。本研究では その一環として化学プロセス関連文献からの変数定義抽出手法の開発に取り組む. 化学プロセス関連文献では変数の記号と定義の用い方に特徴があるが，従来手法ではこの特徴を活用できない。我々はこの 点に注目し，新たな変数定義抽出手法を提案する. 3 つの化学プロセスに関する論文計 28 報を対象に提案手法と従来手法の性能を検証した結果，2つのプ ロセスで提案手法がより高い正解率を達成した。

## 1 はじめに

プロセス産業では，プロセスの設計や運転に関わ る様々な問題の解決にあたって, 物理モデルに基づ いて検討を加えるというアプローチが広く利用さ れている。しかし，現実の現象を正確に表現できる 物理モデルの構築は多大な労力を要するため, そ の効率化が望まれている。我々は，複数の文献か ら必要な情報を抽出，統合し，物理モデルを自動構築する人工知能 (Automated physical model builder; AutoPMoB) の開発に取り組んでいる. 文献から抽出 する重要な情報の一つに数式があるが，複数の文献 から抽出した数式を統合するためには，数式中の変数の定義の把握が不可欠である. そこで本研究で は，AutoPMoB の要素技術として，変数の定義を文献から自動的に抽出する技術の開発に取り組む.

変数定義抽出に関連する先行研究はいくつか存在する. Kristianto らは，サポートベクトルマシン (SVM) を用いて文献中の数学的表現の説明を抽出す る手法を提案した [1]. Pagel と Schubotz は，文献中 の数式に含まれる identifier の定義を抽出するランキ
ングベースの手法を提案した [2]. 以上の研究では,抽出対象となる定義あるいは説明の周辺の文章に関 する情報の活用が主軸になっている. Stathopoulos らによる研究 [3] では，変数の記号や定義自体に関 する情報を活用しているが，定義となる語彙が事前 に判明していることが前提とされている.いずれの 手法も，問題設定に大きな差異がある，抽出性能が 不十分であるなどの理由により, AutoPMoB の要素技術としての採用が難しい。

本研究で対象とする化学プロセス関連文献の間 では，変数の記号と定義の用い方に多くの共通点が ある。この点に注目し，変数の記号と定義に関する 情報を活用した変数定義抽出手法を提案する。ま た，性能の評価指標を整備し，化学プロセスに関す る論文 28 報から作成したデータセットを用いて， Kristianto らによる手法 [1] と提案手法の性能を比較 する。

## 2 問題設定

本研究では文献中に単独で存在する変数を扱い,数式中にのみ現れる変数は対象外とする。．例えば，

$
x+y=z \text {, where } x \text { is } X \text { and } y \text { is } \mathrm{Y} \text {. }
$

においては， $x, y$ が定義抽出対象であり，zは対象外 である．文献中の記号列から変数を判別する方法を 付録 A に示す．単一の文献中では同じ変数が異なる 記号で表されることはないと仮定する。

本研究では，文献中に定義が存在する変数に対し てはその定義を抽出し，それ以外の変数に対しては 何も抽出しない，というタスクに取り組む．ただ し，ある変数の定義が単一の文献中に複数存在する 場合，そのいずれかを抽出すればよいとする。

データセット 3 つの化学プロセスに関する英語論文計 28 報 (連続槽型反応器 [Continuous Stirred Tank Reactor; CSTR] 10 報，晶析プロセス [Crystallization; CRYST] 11 報，多管式熱交換器 [Shell and Tube Heat Exchanger; STHE] 7 報）を用いて，文献中に定義が
存在する変数に対してその定義をアノテーション したデータセットを作成した．各プロセスのデー タセットをそれぞれ $\mathscr{D}_{\mathrm{CSTR}}, \mathscr{D}_{\mathrm{CRYST}}, \mathscr{D}_{\mathrm{STHE}}$ と表す. データセットに含まれる変数の数は, $D_{\text {CSTR }}$ ：121 個, $\mathscr{D}_{\mathrm{CRYST}}: 205$ 個, $D_{\mathrm{STHE}}: 215$ 個である. データ セットは訓練用とテスト用に分割する．分割方法は 4.2 節で述べる.

## 3 提案手法

本手法では，ある変数 $v$ の定義の候補を抽出した のち，抽出した候補が正しい定義かどうかを判定す る. $v$ の定義の候補となるのは， $v$ と同じ文中に存在する全ての名詞句である．ただし， $v$ を含む名詞句には次の処理を施す。
1. $v$ が名詞句の末尾にのみ存在する場合，vを削除した名詞句を定義の候補とする。

2. それ以外の場合，定義の候補としない。

これは，例えば“temperature $T$ ” が $T$ の定義の候補と して抽出された時, “temperature”を新たに定義の候補とするための処理である. 本研究では, 文分割に は Stanza [4], 名詞句抽出には Stanford Parser [5] を使用する. 次に， $v$ の定義の候補それぞれについて 3 つの特徵量 $x_{1}, x_{2}, x_{3} \in[0,1]$ を生成し, 式 (1)により score $\in[0,1]$ を計算する.

$
\text { score }=\frac{m_{1} x_{1}+m_{2} x_{2}+m_{3} x_{3}}{m_{1}+m_{2}+m_{3}}
$

$m_{1}, m_{2}, m_{3}$ は特徵量の重みを表す. score が最も高 く, かつ閾値 $t$ を超えている候補を正しい定義と判定する. ただし，複数の候補が正しい定義と判定さ れた場合, 主辞が一致する別の候補に含まれる候補 は除外する. 主辞の抽出方法は付録 B に示す. 以上 の処理を文献の本文中に現れる全ての変数に対して 行う.

特徵量 1 : 定義らしさ 定義の候補の中には定義 として自然な名詞句と, 不自然な名詞句が存在す る.この「定義らしさ」を特徵量化するため，まず は次の手順で辞書 $D_{1}$ を生成する。

1. 訓練用データセットの正例から変数の定義を取得し，主辞を抽出する。

2. 抽出した全ての主辞を見出し語化する.

3. 得られた見出し語群から重複を取り除いたもの を辞書 $D_{1}$ とする。

手順 2 について, 定義の主辞の語形 (単数形か複数形か) の区別は定義らしさの評価に不要であるため，見出し語化する. 見出し語化には Stanza [4]を用 いる. 辞書 $D_{1}$ には, “temperature”, “concentration”, “volume”といった見出し語が集められる。 ある変数 $v$ の定義の候補 $c$ に対して, 特徴量 $x_{1}$ を次の手順で 生成する.
1. $c$ の主辞を抽出し，その見出し語 $h$ を得る.
2. $h \in D_{1}$ のとき $x_{1}=1$, それ以外は $x_{1}=0$ とする.

## 特徵量 2 : 慣習的な変数記号の選び方か否か 化

学プロセスに関する文献では，変数記号の選び方 に， temperature には $T$ を， concentration には $C$ を対応させるといった特定の慣習がある．変数とその定義の候補との間にこのような慣習的な関係が成り立 つ場合，その候補が正しい可能性は高いと推測でき る. この「慣習的な変数記号の選び方か否か」を特徵量化するため，まずは次の手順で辞書 $D_{2}$ を生成 する。

1. 訓練用データセットの正例から，変数の記号と 定義の組を取得する。

2. 変数の記号から上付き文字や下付き文字等の 修飾的な記号を除去した記号 (主記号)を取得 する。

3. 変数の定義の主辞を抽出し, 見出し語化する.
4. 2 で得られる記号と，3で得られる主辞の見出 し語の組を作る.

5. 得られた全ての組から重複を取り除いたものを 辞書 $D_{2}$ とする.

手順 3 について, 定義の主辞の語形は対応する主記号の選び方に影響しないと仮定し, 見出し語化する.辞書 $D_{2}$ には, “ $T$ : temperature", “ $C$ : concentration”, “ $V$ : volume” など，慣習的な変数記号の選び方を表 す組が集められる．以降ではこのような組を「主記号-主辞ペア」と呼ぶ. ある変数 $v$ とその定義の候補 $c$ の組に対して, 特徴量 $x_{2}$ を次の手順で生成する.
1. $v$ と $c$ から主記号-主辞ぺア $p$ を生成する.
2. $p \in D_{2}$ のとき $x_{2}=1$, それ以外は $x_{2}=0$ とする.

特徵量 3 : 変数と定義の位置関係 変数とその定義の候補が文献中の近い位置に存在するとき，その 組が正しい組である可能性は高いと考えられる。し かし, 変数とその定義の候補の間のトークンの数を 特徴量として採用するには問題がある．例えば，変数 $v_{1}, v_{2}$ の定義がそれぞれ $D E F_{1}, D E F_{2}$ であること が以下のように表現されているとする.

$v_{1}$ is $D E F_{1}$ and $v_{2}$ is $D E F_{2}$.

このとき, $v_{2}$ と $D E F_{2}$ の間には 1 つのトークン “is" が存在する。一方， $v_{2}$ と $D E F_{1}$ の間にも 1 つのトー クン “and” が存在する. そのため, トークンの数の みではどちらの組が正しいか判別できない. そこ で，パターンマッチングを取り入れてこの問題を緩和する.

まずは次の手順で辞書 $D_{3}$ を生成する.

1. 訓練用データセットの正例から変数とその定義 の組を取得し，訓練用データセットの本文から その組の間の文字列を抽出する。

2. 出現頻度の高い文字列上位 $N$ 個を取り出し, 辞書 $D_{3}$ とする.

辞書 $D_{3}$ には， “is”，“represents”といった，変数とそ の定義の間によく出現する表現が集められる。 ある 変数 $v$ とその定義の候補 $c$ の組に対して, 特徴量 $x_{3}$ を次の手順で生成する。
1. $v$ と $c$ の間の文字列 $e$ を取得する.
2. $v$ と $c$ の間のトークンの数を $d$ とする. ただし, $e \in D_{3}$ のとき $d=0$ とする.

3. 特徴量 $x_{3}$ を式 (2) で計算する.

$
x_{3}=f(\Delta)=\exp \left(-\frac{1}{2} \frac{\Delta^{2}-1}{\sigma^{2}}\right) \quad \Delta=d+1
$

式 (2) は $\Delta$ を正規化する式であり，Pagel と Schubotz により提案されたものである [2]. $\sigma$ は関数 $f$ の形 を決定するパラメータである.

## 4 実験

## 4.1 評価指標

真陽性 (TP)，偽陽性 (FP)，偽陰性 (FN)，真陰性 (TN) を以下のように定義する．ただし， FP につい ては二種類定義する.

$\mathrm{TP}$ ：文献中に定義が存在する変数に対して，正 しい定義のみを抽出した場合

$\mathrm{FP}^{(1)}$ ：文献中に定義が存在する変数に対して，誤った定義を一つでも抽出した場合

$\mathrm{FP}^{(2)}$ ：文献中に定義が存在しない変数に対して，誤った定義を抽出した場合

$\mathrm{FN}$ ：文献中に定義が存在する変数に対して，何 も抽出しなかった場合

$\mathrm{TN}$ ：文献中に定義が存在しない変数に対して，何も抽出しなかった場合

定義を抽出した変数のうち正しく定義を抽出した割合 (Pre.)，文献中に定義が存在する変数のうち正し
く定義を抽出した割合 (Rec.)，Pre. とRec. の調和平均 (F1), 正解率 (Acc.) を以下のように定義する.

$
\begin{gathered}
\text { Pre. }=\frac{T P}{T P+F P^{(1)}+F P^{(2)}} \\
\text { Rec. }=\frac{T P}{T P+F P^{(1)}+F N} \\
F 1=2 \times \frac{P r e . \times R e c .}{P r e .+R e c .} \\
\text { Acc. }=\frac{T P+T N}{T P+F P^{(1)}+F P^{(2)}+F N+T N}
\end{gathered}
$

手法の性能の優劣は $A c c$. により判断する.

## 4.2 実験設定

性能比較対象となる従来手法として，Kristianto らによるSVM を用いた手法 [1] を採用する。変数 とその定義の候補の組を提案手法と同じ手順で生成し，各組の正誤を SVM で判定する．SVM のパラ メータは Kristianto らと同じ值を用いる.

提案手法のパラメータは, $m_{1}=1, m_{2}=1, m_{3}=$ $4, \sigma=2, t=0.6, N=10$ に設定する. これは，予備実験によって定めた組み合わせである.

$\mathscr{D}_{\mathrm{CSTR}}, \mathscr{D}_{\mathrm{CRYST}}, \mathscr{D}_{\text {STHE }}$ をそれぞれ訓練用とテスト 用に論文単位で分割する。 $\mathscr{D}_{\mathrm{CSTR}}$ と $\mathscr{D}_{\mathrm{CRYST}}$ からは それぞれ 3 報，D DSTHE からは 2 報をテスト用とする。 データセットの分割はランダムに 10 通り行い，各評価指標の平均を比較する。

## 4.3 結果と考察

実験結果 表 1 に実験結果を示す. 従来手法 (SVM) に比べて提案手法 (Proposed) は Rec. が高い 傾向があり，特に $D_{\mathrm{CSTR}}$ では，提案手法が従来手法 を $17.5 \%$ 上回った. Pre. に注目すると，D DSTR では

は従来手法の方が $17.3 \%$ 高かった. Acc. に注目する と, D CSTR では提案手法が従来手法を $15.4 \%$ 上回っ たが，D DTHE では従来手法の方が $2.8 \%$ 高かった.

名詞句抽出の性能 従来手法と提案手法はとも に，3節で述べた方法によって抽出した名詞句が定

表 1: 実験結果 (表示は\%)

(a) CSTR

(b) CRYST

(c) STHE

図 1: 訓練に使用した論文数と Acc.の関係

表 2: $c_{\mathrm{TP}}$ と $c_{\mathrm{FP}}$ の数と Acc. $[\%]$ の $X_{0}$ からの変動

義の候補となる. しかし, 名詞句抽出は完璧ではな いため, 定義が文献中に存在していても候補として 抽出されない場合があった. $\mathscr{D}_{\text {CSTR }}, \mathscr{D}_{\text {CRYST }}, \mathscr{D}_{\text {STHE }}$ のテスト用データセットにおいて，定義が文献中に 存在する変数のうち定義を候補に含む変数の割合は それぞれ $82.5 \%, 76.3 \%, 57.9 \%$ であった. D STHE $に$対して従来手法と提案手法の Rec. が低くなる一因 は，名詞句抽出の性能の低さにあると考えられる。

特徵量 1 と 2 の効果 提案手法により正しいと判定された定義の候補のうち，実際に正しい候補を $c_{\mathrm{TP}}$ ，実際は誤っている候補を $c_{\mathrm{FP}}$ とする．次の $4 \supset$ の場合について, $c_{\mathrm{TP}}$ と $c_{\mathrm{PP}}$ の数および Acc. を比較 することで， $x_{1}$ と $x_{2}$ が抽出性能にもたらす効果を 調べた.

$
\begin{aligned}
& X_{0}: x_{3} \text { のみを用いる }\left(x_{1}=x_{2}=0 \text { とする }\right) \text { 場合 } \\
& X_{1}: x_{1} \text { と } x_{3} \text { を用いる }\left(x_{2}=0 \text { とする }\right) \text { 場合 } \\
& X_{2}: x_{2} \text { と } x_{3} \text { を用いる }\left(x_{1}=0 \text { とする }\right) \text { 場合 } \\
& X_{1,2}: x_{1}, x_{2}, x_{3} \text { を用いる場合 }
\end{aligned}
$

$X_{1}, X_{2}, X_{1,2}$ における $c_{\mathrm{TP}}$ と $c_{\mathrm{PP}}$ の数と Acc.の， $X_{0}$ か らの変動を表 2 に示す. $X_{1}, X_{2}$ では， $X_{0}$ より $c_{\mathrm{FP}}$ の 数が少なく, $x_{1}$ と $x_{2}$ が $c_{\mathrm{FP}}$ を減少させることがわ かる．ただし， $x_{1}$ は「定義らしさ」を備えた候補の score を一様に増加させてしまうために，新たに $c_{\mathrm{FP}}$ を発生させる場合もある. $c_{\mathrm{FP}}$ を減少させる効果に 比べると， $x_{1}$ と $x_{2}$ の $c_{\mathrm{TP}}$ を増加させる効果は小さ

た，どのデータセットにおいても， $X_{1,2}$ のAcc.は $X_{1}$ と $X_{2}$ の Acc. よりも高く, $x_{1}$ と $x_{2}$ を合わせて用 いることが性能向上に有効であることが示された.

## 訓練用データセットのサイズと性能の関係 訓練用データセットに含まれる論文数を変化させて Acc. を算出した結果を図 1 に示す. 従来手法では，訓練に用いる論文数を増やすとAcc. が増加する傾向 があったが，提案手法では，2 報以上を訓練に用い たときのAcc. は論文数によってほとんど変化しな かった. この違いは, 従来手法では正例と負例の両方を訓練に用いるために大きな訓練用データセット が必要となる一方で，提案手法では正例のみを訓練 に用いるために，小さな訓練用データセットで抽出規則を学習できることに起因すると考えられる。

## 5 おわりに

本研究では，変数の記号と定義に関する情報を活用した変数定義抽出手法を提案した. 連続槽型反応器, 晶析プロセス，熱交換器に関する論文計 28 報 を用いて従来手法と提案手法の性能を比較した結果，提案手法の正解率が連続槽型反応器に対しては $15.4 \%$ ，晶析プロセスに対しては $3.5 \%$ 従来手法を上回った。一方，熱交換器に対しては従来手法の正解率が提案手法より $2.8 \%$ 高かった. 今後の主な課題 を以下に挙げる。

パラメータの最適化 今回の実験では，提案手法 のパラメータは最適化されていない。 パラメータの 自動的な最適化を手法に組み込むことで，性能の改善が見込まれる。

名詞句抽出の改善 熱交換器に関する論文中の 4 割程度の変数については, 名詞句抽出の性能が低い ために定義抽出に失敗している. Lin らは構文解析 を数学的表現が含まれる文章に対応させることが有効であることを示している [6]. 同様に構文解析器 を改善し, 名詞句抽出の性能を向上させることで変数定義抽出性能の向上が見込まれる。

## 謝辞

本研究は JSPS 科研費 JP21K18849 および JST 次世

代研究者挑戦的研究プログラム JPMJSP2110の助成

を受けたものです。

## 参考文献

[1] Giovanni Yoko Kristianto, Goran Topic, and Akiko Aizawa. Extracting textual descriptions of mathematical expressions in scientific papers. D-Lib Magazine, Vol. 20, No. 11, p. 9 , 2014.

[2] Robert Pagel and Moritz Schubotz. Mathematical language processing project. In Joint Proceedings of the MathUI, OpenMath and ThEdu Workshops and Work in Progress track at CICM, No. 1186, Aachen, 2014.

[3] Yiannos Stathopoulos, Simon Baker, Marek Rei, and Simone Teufel. Variable typing: Assigning meaning to variables in mathematical text. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pp. 303-312, New Orleans, Louisiana, June 2018. Association for Computational Linguistics.

[4] Peng Qi, Yuhao Zhang, Yuhui Zhang, Jason Bolton, and Christopher D. Manning. Stanza: A Python natural language processing toolkit for many human languages. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics: System Demonstrations, 2020.

[5] Dan Klein and Christopher D Manning. Accurate unlexicalized parsing. In Proceedings of the 41st annual meeting of the association for computational linguistics, pp. 423-430, 2003.

[6] Jason Lin, Xing Wang, Zelun Wang, Donald Beyette, and Jyh-Charn Liu. Prediction of mathematical expression declarations based on spatial, semantic, and syntactic analysis. In Sonja Schimmler and Uwe M. Borghoff, editors, Proceedings of the ACM Symposium on Document Engineering 2019, Berlin, Germany, September 23-26, 2019. ACM, 2019.

## A 定義抽出対象となる変数

数学的表現が Mathematical Markup Language (MathML) 形式で記載された HTML 形式の文献 から, math タグが付与された要素の一覧 $\varepsilon_{\text {math }}$ を取得する。 $\varepsilon_{\mathrm{math}}$ の各要素のうち, 次のいずれかに該当 するものを定義抽出対象となる変数と定義する.

・複数の記号が連続した文字列 (e.g. $\Delta E, \delta t$ )

・1つの記号に上付き文字，下付き文字，上ルビ，下ルビのいずれか，あるいはその組み合わせが 付与された文字列

## B 主辞抽出方法

名詞句の主辞は，以下の手順で抽出する。

1. 名詞句に対して係り受け分析を行い，係り受け グラフを生成する.

2. 係り受けグラフの始点となっている単語が名詞 であれば，それを主辞とする。

係り受け分析には Stanford Parser [5] を使用する.
 沼本真幸 加藤祥太 加納学 京都大学大学院情報学研究科 \{numoto.masaki.32z, katou.shouta.23v\}@st.kyoto-u.ac.jp manabuQhuman.sys.i.kyoto-u.ac.jp  