はじめての調香 · 111
はじめての調香 #111:括弧ひとつが2千件の価値——名称正規化のどの段階が効くのか
· 11 分
前回の記事の末尾に「正規化を加えればさらに上がるはずだが、まだ試していない」と書いた。今回はその結果だ。名称正規化を4層に分け、各層が処方レコードを何件救うかを測った。句読点と空白の除去、cis と (Z) といった立体記述子の統一は、合わせて147件しか増やさない。「50% in DPG」のような希釈表示の剥ぎ取りは16件。ところがデータベースの名称末尾にあるメーカーの括弧((IFF)、(Firmenich)、(Givaudan))を剥ぐと2,003件増える。前の全部を足した数の10倍以上だ。データベースは hedione (Firmenich) と持ち、調香師は hedione と書く。その1つの名前だけで165件の処方を占める。解析率は60.32%から72.81%になった。ただし括弧を無条件に剥いではいけない。末尾に括弧を持つ1,096件のうち26件は (mixture of isomers)、22件は (salt) であり、剥げば別のものが統合されてしまう。
読了目安 5 分。
要点だけ
- 名称正規化を4層に分け、各層が処方レコードを何件救うかを測った。
| 段階 | 一致した名称 | カバーしたレコード | 増分 |
|---|---|---|---|
| ① 完全一致(基準) | 1,050 | 10,545(60.32%) | — |
| ② 句読点と空白の除去 + 立体記述子の統一 | 1,106 | 10,692(61.16%) | +147 |
③ 希釈表示の剥ぎ取り(50% in DPG) |
1,117 | 10,708(61.26%) | +16 |
④ メーカー括弧の剥ぎ取り((IFF)) |
1,382 | 12,711(72.71%) | +2,003 |
- 第4段階の増分は前3段階の合計の10倍以上
- データベースは
hedione (Firmenich)と持ち、調香師はhedioneと書く。その1つの名前で165件 - ただし括弧を無条件に剥いではいけない。1,096件のうちには
(mixture of isomers)、(salt)、(whole plant)がある
前回が残した宿題
前回はデータベースの別名欄を調べ、 95,214件の別名が3つの名前しか増やさないこと、その原因が87.9%の欠けた断片にあることを書いた。
あの記事の「示していないこと」にこう書いた。
あいまい照合でどれだけ救えるかは計算していない。やったのは完全一致の文字列照合だけだ。 正規化(空白除去、ハイフン除去、cis と (Z) の統一)を加えればさらに上がるはずだが、まだ試していない。
今回がその結果である。そして結果は当時の推測と違った。 私が挙げたあの3種類の正規化こそ、いちばん効かない3つだった。
各層がいくらの価値を持つか
954件のコーパスの2,429の相異名称を、データベースの name と head_synonym に照合し、
正規化を1層ずつ加えていった。
② 句読点と空白の除去、立体記述子の統一:+147件
新たに一致したものはこうなる。
| コーパスの表記 | データベースの表記 |
|---|---|
dihydro myrcenol |
dihydromyrcenol |
camphor |
(±)-camphor |
allyl alpha-ionone |
allyl-alpha-ionone |
dihydro beta ionone |
dihydro-beta-ionone |
**空白ひとつ、ハイフンひとつ、(±) ひとつ。**確かに照合を妨げるが、影響は147件にとどまる。
③ 希釈表示の剥ぎ取り:+16件
| コーパスの表記 | データベースの表記 |
|---|---|
maltol 5% in phenethyl alcohol |
maltol |
oakmoss absolute 50% in benzyl benzoate |
oakmoss absolute |
geraniol 980 |
geraniol |
この種類は多いと思っていた。処方には希釈液があふれているからだ。 実際にはコーパスは濃度を成分名の外に別途記録しており、名前には書き込まない。16件だった。
④ メーカー括弧の剥ぎ取り:+2,003件
本当に効くのはこの1段階だけだ。
| コーパスの表記 | データベースの表記 | コーパス出現回数 |
|---|---|---|
hedione |
hedione (Firmenich) |
165 |
iso e super |
iso e super (IFF) |
104 |
galaxolide 50 ipm |
galaxolide 50 IPM (IFF) |
82 |
triplal |
triplal (IFF) |
63 |
lyral |
lyral (IFF) |
50 |
vertofix |
vertofix (IFF) |
50 |
この6つの名前だけで514件になる。
そして正体は何か。Hedione、Iso E Super、Galaxolide、Lyral、 現代の香水で最もよく使われる合成香料である。 データベースは製造元を名前の後ろに付け、調香師はその括弧を書かない。 括弧ひとつが、現代調香の背骨をまるごと締め出している。
全庫で name または head_synonym の末尾に括弧を持つのは 1,096件。最も多いのは。
| 括弧の中身 | 件数 |
|---|---|
(iff) |
168 |
(givaudan) |
100 |
(symrise) |
69 |
(firmenich) |
53 |
(bedoukian) |
16 |
(takasago) |
11 |
しかし無条件に剥いではいけない
同じ1,096件の中には、メーカーではない括弧がある。
| 括弧の中身 | 件数 |
|---|---|
(mixture of isomers) |
26 |
(fixed) |
24 |
(salt) |
22 |
(mixed isomers) |
15 |
(whole plant) |
14 |
(salt) は塩であって遊離酸とは別のものだ。(mixture of isomers) は単一異性体と同じではない。
(whole plant) は根の抽出物と同じではない。
これらを剥げば別の材料が1つに統合されてしまい、一致しないよりも悪い。
正しいやり方は、製造元のホワイトリストを作って剥ぐことであって、すべての括弧を剥ぐことではない。 私が使ったホワイトリストは12社(IFF、Givaudan、Firmenich、Symrise、Takasago、Bedoukian など)だけだ。
前回の記事で1つ言い方が足りなかった
メチルセドリルケトンの回で、コーパスは5つの名前で呼び、
「データベースの正式名 methyl cedryl ketone だけで数えると60件を取りこぼす」と書いた。
その文自体は正しいが、解決不能のように聞こえる書き方だった。実際にはデータベースの head_synonym 欄に
vertofix (IFF) と書かれており、括弧を1つ剥げば50件の vertofix は即座に一致する。
本当に手作業が要るのは acetyl cedrene(7件)という表記だけだ。難しい部分は当時言ったより小さい。
残る27.19%は何か
72.81%まで押し上げてもなお 1,044の名称、4,753件のレコードが一致しない。いくつかの明確な型がある。
| 型 | 例 | コーパス回数 |
|---|---|---|
| 略称 | dipg(dipropylene glycol) |
445 |
| 旧式のアルデヒド番号 | aldehyde c-14、aldehyde c-10、aldehyde c-12 mna |
64 / 64 / 60 |
| 慣用名の骨格が違う | cis-3-hexenol に対しデータベースは (Z)-3-hexen-1-ol |
100 |
| 修飾語付きの天然油 | bergamot oil bergaptene reduced、ylang ylang oil |
132 / 113 |
| 表記ゆれ | styrallyl acetate(データベースは styralyl acetate) |
78 |
アルデヒドのC番号が最も手強い。aldehyde c-10 がノナナールなのかデカナールなのか、
aldehyde c-12 mna と aldehyde c-12 lauric はまったく別の材料が1つの番号を共有している。
あの番号体系は20世紀初頭の商習慣であり、化学構造と一対一に対応していない。
どんな文字列正規化でも救えず、対照表を引くしかない。
そのまま使える規則
自分の処方リストをこのデータベースに戻したいなら。
- まずメーカー括弧を剥ぐ(ホワイトリストで。すべての括弧ではない)。11.5ポイントの価値
- 空白とハイフンを除き、
cis/(Z)、alpha/aを統一する。0.8ポイント N% in 溶剤の末尾を剥ぐ。0.1ポイント- 残りは手作業。略称とC番号を優先する
第1段階だけで全増分の 92% を占める。まずそれをやり、あとは状況次第でよい。
この記事が示していないこと
- **新たに一致した2,003件すべてが正しいことを検証してはいない。**頻度上位の6つは確認して正しかった。 残りは「ホワイトリストの括弧」という規則に任せており、1件ずつ見てはいない。
- **ホワイトリストは私が手で書いた12社だ。**漏れた製造元があれば数字は低めに出る。
- 72.81%はこの954件のコーパスの数字であり、別の処方群なら変わる。
- **編集距離のような本当のあいまい照合はしていない。**ここでのやり方はすべて、先に正規化してから完全一致だ。 本当のあいまい照合がどれだけ押し上げるかは、依然として試していない。偽陽性を持ち込むので、検証方法を先に決める必要がある。
- **C番号の対照表は作っていない。**それが問題であること(
aldehyde c-12が2つの別材料で共有されていること)を 確認しただけで、解決はしていない。 - 化学名称の照合はもともと専門の文献がある問題だ。 Krallinger らは2015年に J Cheminform で CHEMDNER コーパスとその注釈原則を発表し(PMID 25810773)、 Akhondi らは2012年に複数データベース間の識別子の一貫性を比較している(PMID 23237381)。 ここでやったのは4つの規則であって、あの水準の仕事ではない。