# ルールベース手法による数式群の同義性判定

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

## 1 はじめに

化学や鉄鋼などのプロセス産業では, 激しい競争 や厳しい環境規制，急速に変化する経済状況に応じ てプロセスの運転を改善していくことが求められ ている。しかし，現代のプロセスはより複雑になっ ているため, そのような要求に応えることは困難に なっている [1].プロセスでは実機を用いて試行錯誤的に実験を繰り返すことは難しいため，プロセス シミュレータが広く活用されている。プロセスシ ミュレータは，対象プロセスの第一原理モデル（物理モデル）を用いて，指定した条件下で装置内部の 状態がどのようになるかを計算する．このため，現実の現象を適切に表現できる第一原理モデルを用意 することが重要である。しかし，第一原理モデルの 構築には文献調査を含めた多大なコストがかかる。本研究の最終目的は, 複数の文献から情報を抽出し て第一原理モデルを自動で構築する人工知能 ( $\mathrm{AI})$ を開発することである。

第一原理モデルを構築するには変数，数式，実験 データといった情報が必要である. 文献によって変数の記号が異なったり数式の記述の仕方が異なった りするので，AI は文献中の変数と数式の意味を正確 に判別できなければならない.

本研究では，同じ意味の変数は同じ記号で表現さ れていると仮定し, 複数の数式で構成される数式群 の同義性判定手法を提案する. なお，同一の計算を している 2 つの数式群を同義であると定義する。さ らに，2つの数式群の同義性を判定するウェブアプ リケーションを開発したので，それを簡単に紹介 する.

## 2 関連研究とその問題点

単語や文章を対象としている自然言語処理関連 の研究に対して，数式を扱っている研究は少ない。情報検索の分野では, 数式が有する階層的な情報

(a)

(b)図 1: 等式 $x-y^{2}=0$ の (a) SLT と (b) OPT

を扱うために，数式を Symbol Layout Tree (SLT) や Operation Tree (OPT) [2][3] に変換することが有効と されている．例として，等式 $x-y^{2}=0$ の SLT と OPT を図 1 に示す. Zhong ら [4] はOPTを用いて,数式間の類似度を定義し，数式検索システムを開発 した. Mansouri ら [5] は，SLTとOPTを用いて，数式をベクトル空間へ埋め込む手法を開発した。これ らの研究は，数式の類似度を定義しているが，数式 の見た目を重視し，数式が行っている計算を無視す る傾向がある．実際，Mansouri らが開発した数式検索システム Tangent-CFT [5] を用いて数式の類似度を 計算したところ，数式 $a+b=0$ は，同一の計算をし ている数式 $a=-b$ より，異なる計算をしている数式 $a-b=0$ との類似度が高いと評価された.

数式の同義性判定に関する研究はまだないが，数式間の類似度を計算し，類似度が閾値以上であれば それらの数式を同義であると判定する方法が有効 と考えられる。しかし, 上述のように，数式検索で 用いられている見た目重視の類似度は役に立たな い.このため，数式の計算内容に注目し，数式の見 た目に左右されない同義性判定手法の開発が必要で ある.

## 3 提案手法

本研究では，数式の見た目の類似度ではなく,数式の本質的な計算に注目した同義性判定手法の開発を目指す。数式を扱う先行研究では,

図 2: 数式 $\frac{1}{2}+\frac{1}{x}$ の SLT-tangents

Mathematical Markup Language (MathML) が用いられ ており, MathML はウェブページ上で公開されてい る文献に含まれる数式の標準記法であるため [6], 本研究では MathML 形式の数式を対象とする. Python には, SymPy [7] という代数演算を行うためのライ ブラリがあり, 四則演算や一部の初等関数の演算 を実行できる. SymPy で演算可能な数式を本稿で は SymPy の数式オブジェクトと呼ぶ. 本研究では MathML 形式の数式を SLT に変換し，SLTを解析す ることで，数式に含まれる変数および変数間の関係 の情報を抽出する.これらの情報をもとに，数式の SLT を SymPy の数式オブジェクトに変換する.

## 3.1 数式の木構造への変換

本研究では, MathML 形式の数式を SLT に変換 する際, Tangent-s formula search engine [8] の LayoutSymbol クラスの parse_from_mathml 関数を用いる.以下では，この関数によって生成されたSLTを SLT-tangents と呼ぶ. 数式 $\frac{1}{2}+\frac{1}{x}$ の SLT-tangents を図 2 に示す. SLT-tangents では, 数式の記号や演算子 が左から順に各ノードに格納される。V!, N!, O! はノードが変数, 数字, 演算子であることを示す.更に, 子ノードと親ノードの位置関係を並べた文字列も付属の情報としてノードの中に入れられ る.子ノードと親ノードの位置関係には, a (above), $\mathrm{b}$ (below), c (pre-above), d (pre-below), e (element), $\mathrm{n}$ (next), o (over), u (under), w (within) の 9 種類があ る. SLT-tangents は枝分かれする場合があり, 分枝箇所では子ノードと親ノードの位置関係が $\mathrm{n}$ 以外の ものとなる.

## 3.2 SymPy の数式オブジェクトへの変換

数式をSymPy の数式オブジェクトへ変換するた めには, 数式に含まれる変数および変数間の関係と いう 2 つの情報を抽出する必要がある. 変数につい ては，V!タグが付与されたものを変数として抽出す表 1: 分数, 指数, 括弧, 初等関数の変数間関係

る. 変数間の関係はノード同士の位置関係によって 決まっており, その位置関係に応じて SLT-tangents を解析することで, 変数間の関係の情報を持つデー タを作成する. 分数, 指数, 括弧, 初等関数の変数間の関係を表 1 に示す. 例えば, 数式 $\frac{a+b}{c+d}$ の変数間 の関係は [SLT-tangents 1, SLT-tangents 2, 'frac'] のよ うなデータとして保持される。保持されたデータの 第一成分と第二成分はそれぞれ数式 $a+b$ と $c+d$ の SLT-tangents を指している. さらに，数式 $a+b$ の変数間関係は ['a', '+', 'b'] のようなデータとして保持 される. 四則演算と初等関数からなる数式は, 再帰的に SLT-tangents を解析することにより, SymPy の 数式オブジェクトに変換することができる.

## 3.3 数式群の同義性判定

本研究では, 2 つの数式群の同義性を判定するこ とが目的であるため, 単体の数式のみならず, 複数 の数式から構成される数式群も対象としている. 図 3 に化学反応器の物質収支式を示す. $3 \mathrm{a}$ と $3 \mathrm{~b}$ は同一の物質収支式を表している．本稿において，ある 数式群に含まれる等式が共有する変数を群内共有変数と定義する. $3 \mathrm{a}$ の場合, 変数 $k, \beta, F_{\mathrm{AO}}, F_{\mathrm{A}}, r_{\mathrm{A}}$ が群内共有変数である. 群内共有変数の数は文献に よって異なる可能性があるため, 数式群の同義性判定を行う際, 群内共有変数はない状態が望ましい。

提案手法では, まず数式群の自由度を比較する.

数式群の自由度は一般的に, 数式群に含まれる変数 の数から数式の数を引いた值で定義される [1]. 同一の計算をしている連立方程式ならば, 自由度は等 しい. その後, 群内共有変数を消去する. 群内共有変数を消去する処理は，変数を一個消去するたび に, 数式の数も一個減るため, 数式群の自由度を変 えない可逆的な処理である. 2 つ数式群の片方に 含まれる任意の等式について, もう片方の数式群に それと同一の計算をしている等式が存在する場合, この 2 つの数式群は同義であると判定する. 以上の 処理を Algorithm 1 に示す. なお, 2 つの等式の同

$
\begin{array}{r}
\frac{d n_{\mathrm{A}}}{d t}=F_{\mathrm{AO}}-F_{\mathrm{A}}+r_{\mathrm{A}} \bar{V} \\
k=k_{\mathrm{o}} \exp \left(-\frac{\beta}{T}\right) \\
F_{\mathrm{AO}}=v C_{\mathrm{AO}} \\
F_{\mathrm{A}}=v C_{\mathrm{A}} \\
\beta=\frac{E}{R} \\
-r_{\mathrm{A}}=k
\end{array}
$

(a) 6 つの等式で書かれた物質収支式

$
\begin{array}{r}
\frac{d n_{\mathrm{A}}}{d t}=v C_{\mathrm{AO}}-v C_{\mathrm{A}}-k \bar{V} \\
k=k_{\mathrm{o}} \exp \left(-\frac{E}{R T}\right)
\end{array}
$

(b) 2 つの等式で書かれた物質収支式

図 3: 等式の数が異なる同義の数式群

義性判定では，その 2 つの等式が共有する任意の一 つの変数について, それぞれの等式における解を求 め, 同一の解を得た場合, その 2 つの等式が同義で あると判定する.

## 4 実験

## 4.1 問題設定

実験では, Tangent-CFT [5] と提案手法による結果 を比較した. Tangent-CFT は数式の類似度しか計算 できない. そこで, 数式群の類似度 $S_{\mathrm{A}, \mathrm{B}}^{*}$ を式 (9) で 定義する.

$
S_{\mathrm{A}, \mathrm{B}}^{*}=\frac{\sum_{j=1}^{b} \sum_{i=1}^{a} S_{i, j}}{a b}
$

ここで, $a, b$ は数式群 $\mathrm{A}, \mathrm{B}$ に含まれる数式の数, $S_{i, j}$ は数式群 $\mathrm{A}$ の $i$ 番目の数式と数式群 $\mathrm{B}$ の $j$ 番目 の数式の類似度である. 数式群の類似度が 0.95 以上のとき，2つの数式群を同義であると判定する.

## 4.2 数式群の同義性判定結果

Tangent-CFT と提案手法で 6 組の数式または数式群の同義性を判定した結果を表 2 に示す. 表 2 から 分かるように, Tangent-CFT はたとえ数式群が異な

る計算をしていても類似度を高く評価する場合があ る.また。数式群が同一の計算をしているにも関わ らず，同義と判定されるほど類似度が高くない場合 もある.これは, Tangent-CFT は数式が表現する本質的な計算を無視する傾向があるためである。それ に対して，提案手法は計算の規則に基づいて，同義 の数式群が異なる書き方をされても正確に同義性を 判定することができる.

さらに, 図 4 に示すように, 提案手法を用いて数式群の同義性判定を行うウェブアプリケーションを 作成した.このウェブアプリケーションは 2 つの数式群の同義性を判定し, 結果を画面に表示させる. これを用いることで数式群の同義性を簡単に判定で きる.

## 5 おわりに

本研究では, 第一原理モデル自動構築に必要な要素技術として，数式群の同義性を判定する手法を提案した. 提案手法は, MathML 形式の数式を演算可能な数式に変換することで, 計算の規則に基づいて 数式群の同義性を判定する.

実験により，提案手法は，有理式と初等関数を組
表 2: 提案手法と Tangent-CFT の同義性判定結果の比較

 & 果 ${ }^{1}$ & 同義性 2 \\

${ }^{1} \mathrm{~T}$ は同義である, $\mathrm{F}$ は同義ではないと判定した.

${ }^{2} \bigcirc$ は同義である，×は同義ではないことを表す.

equivalence judgment of equation groups

same

図 4: 数式群同義性判定ウェブアプリケーション

み合わせた数式群の同義性を正確に判定できること を確認した。しかし, 提案手法は微分, 偏微分, 総和, 累乗など初等関数に含まれない記号がある数式 を扱うことができない。特に，微分は第一原理モデ ルの記述によく用いられるため, 今後の研究でより 多くの種類の数式に対応することを目指す.

## 参考文献

[1]D. Seborg, D. Mellichamp, T. Edgar, and F. Doyle III. Process dynamics and control. John Wiley \& Sons, 2010.

[2]R. Zanibbi and D. Blostein. Recognition and retrieval of mathematical expressions. International Journal on Document Analysis and Recognition (IJDAR), Vol. 15, No. 4, pp. 331-357, 2012 .

[3]M. Schubotz, N. Meuschke, T. Hepp, H. Cohl, and B. Gipp. Vmext: a visualization tool for mathematical expression trees. In International Conference on Intelligent Computer Mathematics, pp. 340-355. Springer, 2017.

[4]W. Zhong and R. Zanibbi. Structural similarity search for formulas using leaf-root paths in operator subtrees. In European
Conference on Information Retrieval, pp. 116-129. Springer, 2019 .

[5]B. Mansouri, S. Rohatgi, D. Oard, J. Wu, C. Giles, and R. Zanibbi. Tangent-cft: An embedding model for mathematical formulas. In Proceedings of the 2019 ACM SIGIR international conference on theory of information retrieval, pp. 11-18, 2019.

[6]横井啓介, 松林優一郎, 相澤彰子. D-011 数式とその周辺情報を利用した数式概念検索の実現. 情報科学技術フォーラム講演論文集, Vol. 9, No. 2, pp. 117-120, aug 2010 .

[7]A. Meurer, C. Smith, M. Paprocki, O. Čertík, S. Kirpichev, M. Rocklin, A. Kumar, S. Ivanov, J. Moore, S. Singh, et al. Sympy: symbolic computing in python. PeerJ Computer Science, Vol. 3, p. e103, 2017.

[8]K. Davila and R. Zanibbi. Layout and semantics: Combining representations for mathematical formula search. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 1165-1168, 2017
 張純朴 加藤祥太 金上和毅 加納学 京都大学大学院情報学研究科 \{zhang.chunpu.76r, katou.shouta.23v, kanegami.kazuki.55z\}@st.kyoto-u.ac.jp manabuQhuman.sys.i.kyoto-u.ac.jp  