Mathematica で化学構造認識(OCSR)その1

はじめに

Mathematica ではバージョン 12.0 から分子に関する関数が実装されており、 分子情報を扱うことができるようになっています。 今回は、化学構造式の光学認識 (Optical Chemical Structure Recognition) の性能を検証します。 OCSR については magattaca様のブログ が非常に参考になります。

MoleculeRecognize とは?

Mathematica には「MoleculeRecognize」という関数が用意されています。 この関数を用いることで、画像から化学構造式を認識できます。

MoleculeRecognize

ベンチマーク計算

OCSR_Review at V1.0 にあるデータセットを用いてベンチマーク計算を行いました。

データセット データ数 計算時間 (min) 認識精度 (%)
USPTO 5719 33.7 88.3
UOB 5740 33.9 80.2
CLEF 2012 992 6.0 83.5
JPO 450 5.2 66.4

OCSR が失敗した分子の例

認識できなかった分子には次のような傾向が見られました。

原因 元の画像 認識した分子
官能基が認識できない or 未対応 mol1 ocr1
元素記号が認識できない or 未対応 mol2 ocr2
結合が読み取れない or 誤認識する mol3 ocr3
分子以外の情報を誤認識する mol4 ocr4

所感

まあまあいけてるなと思いました。

次回はGUIを用意してインタラクティブなツールを作ってみます。

参考文献