新手調香師 · 86
把 954 份配方的材料名丟進資料庫,53.7% 查不到——而那不是收錄問題
· 7 分鐘
我拿 954 份去重後的公開配方,把裡面 2,994 個不重複的材料名逐一丟進資料庫比對。名稱欄直接命中 1,186 個(39.6%),靠別名欄再命中 199 個(6.6%),剩下 1,609 個查無——53.7%。但把查無的那些按出現次數排出來就會發現,前二十名幾乎全部是人一眼看得懂的東西:出現最多的是 dipg(445 次),那是二丙二醇的縮寫;接著是 hedione、iso e super、cinnamic alcohol、linalol、styrallyl acetate。它們全部在資料庫裡,只是用別的字串。我把落差分成六種,每一種的解法不一樣。
閱讀約 5 分鐘。
我一直用這個資料庫回答問題,也一直用那 954 份公開配方做統計。但我沒有問過一件基本的事:那些配方裡的材料名,資料庫查得到幾成?
先講數字
954 份配方裡有 2,994 個不重複的材料名,總共出現 17,481 次。
逐一比對(比對的是 name 與 head_synonym 兩欄,並且會先去掉名稱尾端的「10%」這類稀釋標記):
| 個數 | 占比 | |
|---|---|---|
| 名稱欄直接命中 | 1,186 | 39.6% |
| 靠別名欄命中 | 199 | 6.6% |
| 查無 | 1,609 | 53.7% |
**超過一半查不到。**而那些查不到的名字合計出現 6,936 次,占全部出現次數的 39.7%。
這個數字看起來很糟。但它不是收錄的問題。
查無的前二十名
| 次數 | 名稱 |
|---|---|
| 445 | dipg |
| 165 | hedione |
| 131 | bergamot oil bergaptene reduced |
| 113 | ylang ylang oil |
| 104 | iso e super |
| 93 | cinnamic alcohol |
| 82 | galaxolide 50 ipm |
| 77 | styrallyl acetate |
| 76 | gamma-undecalactone |
| 60 | cis-3-hexenol |
| 52 | orange oil |
| 52 | triplal |
| 50 | lyral |
| 50 | vertofix |
| 49 | phenylethyl alcohol |
| 49 | verdox |
| 42 | linalol |
| 42 | aldehyde c-14 |
這裡面沒有一個是資料庫真的沒有的東西。
六種落差
我把前二十名逐一手動對回去(只用名稱與別名欄,不用供應商文字——那一層會產生假陽性,我在〈查不到有四種〉踩過):
一、縮寫。
| 配方寫的 | 資料庫的名字 | 供應商 |
|---|---|---|
| dipg | dipropylene glycol | 37 |
**出現最多的那一個是縮寫。**445 次,占全部出現次數的 2.5%,而它是二丙二醇——連材料都不是,是溶劑。
二、商品名不在名稱欄。
| 配方寫的 | 資料庫的名字 | 供應商 |
|---|---|---|
| hedione | methyl dihydrojasmonate | 102 |
| iso e super | patchouli ethanone | 79 |
| vertofix | methyl cedryl ketone | 71 |
| triplal | 2,4-ivy carbaldehyde | 54 |
| verdox | green acetate | 52 |
| undecavertol | violet decenol | 29 |
這個資料庫用化學描述當主名,商品名放在別處。Hedione 查不到的原因我單獨寫過一篇。
三、商品名在資料庫裡,但拼法不同。
| 配方寫的 | 資料庫的名字 | 供應商 |
|---|---|---|
| lyral | leerall | 40 |
**這一個特別值得注意。**Lyral 與 leerall 是同一支材料的兩種商品拼法,而資料庫收的是後者。字串比對永遠找不到,人一看就知道。
四、拼寫變體。
| 配方寫的 | 資料庫的名字 |
|---|---|
| linalol | linalool |
| phenylethyl alcohol | phenethyl alcohol |
| cinnamic alcohol | cinnamyl alcohol |
| styrallyl acetate | styralyl acetate |
最後一個只差一個 L。
五、資料庫的名字裡夾著別名。
| 配方寫的 | 資料庫的名字 |
|---|---|
| gamma-undecalactone | gamma-undecalactone (aldehyde C-14 ⋯) |
| aldehyde c-14 | 同上 |
**同一筆紀錄,兩種寫法都查不到,而那個名字裡兩種寫法都有。**因為比對是整串相等,而不是包含。這一筆 119 家供應商,配方裡兩種寫法合計出現 118 次。
六、天然物的粗名 vs 資料庫的細名。
| 配方寫的 | 資料庫有的 |
|---|---|
| ylang ylang oil | ylang ylang flower oil、flower oil I/II/III |
| orange oil | orange oil terpenes、blood orange oil italy⋯ |
| bergamot oil bergaptene reduced | bergamot oil bergaptene reduced italy |
**配方寫的是類別,資料庫收的是具體商品。**最後一個只差一個產地詞。(同一個 CAS 底下裝著不同商品的問題,我在〈同一個 CAS 底下的紀錄〉量過。)
所以「53.7% 查不到」是什麼意思
它是命名的距離,不是收錄的空缺。
那 1,609 個查無的名字裡,我手動對回去的前二十個全部有對應紀錄,而且多數供應商數還不少(37 到 119 家)。真正資料庫裡沒有的材料當然也存在——新推出的商品基底就是——但它們不是這個數字的主體。
這對你的意義:查不到的時候,不要先假設資料庫沒有。先跑一遍這六種。
查詢的檢查清單
- **是不是縮寫?**dipg、IPM、DEP、TEC 這些。
- **是不是商品名?**去查它的化學名。Hedione、Iso E Super 這一類。
- **商品名的拼法對嗎?**Lyral/leerall 這種只有一個字母之差的。
- **拼寫變體?**linalol/linalool、-yl/-ic 的字尾。
- **試「包含」而不是「等於」。**資料庫的名字裡可能夾著括號別名。
- 天然物加上產地與部位再試一次。「橙花油」要變成「橙花油 法國」。
而如果六種都試過還是查無,那才值得記下來——那時候它可能真的是新的。
這篇沒有建立的
- **六種落差是我從前二十名歸納的。**剩下 1,589 個查無的名字我沒有逐一分類,所以那六種的相對比例我不知道。
- 對回去的動作是我手動做的,用的是我對這些商品名的既有認識,不是自動化的比對。
- **「真正沒有的材料不是主體」是推論。**要證明它需要把 1,609 個全部人工對過。
- 比對只用了
name與head_synonym兩欄。synonyms欄的內容是截斷的片段(像「3,7-」),不能拿來比對。 - 954 份語料本身有偏誤——公開分享的配方不是所有配方,而且這批以商業示範配方為主。
- 稀釋標記的處理只去掉了尾端的「N%」。「galaxolide 50 ipm」這種寫法沒有被還原。