品番を自動で確定する基準は、どう決める?40通りの書き方で線を動かした結果

品番を自動で確定する基準は、「1位の点の高さ」より「2位との差」を先に決めるのが確実です。架空の商品12品と取引先の書き方40通りで基準を動かすと、差の条件を入れない限り、点の下限を上げても誤りはなくならず、要確認が増えるだけでした。御社の過去の注文で基準を決める手順と、表と図、再現用のコードを載せます。(2026年10月時点)
全体の流れと費用はFAX受注の自動化のページにまとめています。
この記事の要点
- 品番を自動で確定する条件には、「1位の点の高さ」より先に「2位との点差」を入れます。
- 40通りの書き方で試すと、2位との差0.1以上を条件にしたとき、誤りは0件、自動で正しく決まったのは31件でした。
- 差の条件がないと、点の下限を0.7まで上げても誤りが残り、要確認が増えるだけでした。
- 御社の基準は、過去の注文100〜200行に正解を付けた表で、誤りが0のまま要確認が最少になる値を選んで決めます。
目次
品番を自動で確定する基準は、何で決めればよいですか?
「1位の点が一定以上」だけでなく、「1位と2位の点の差が一定以上」を必ず条件に入れます。誤りの多くは、点は高いのに候補が2つ並んでいる書き方で起きるからです。点の下限は、要確認の件数を見ながら最後に調整します。
品名の表記ゆれを品番に引き当てる方法では、取引先の書いた品名を商品マスタの全品名と比べ、似ている度合い(0〜1の点)で候補を並べました。そのとき「1位が0.6以上、2位との差が0.1以上なら自動」としましたが、この2つの値をどう決めたかは書いていませんでした。この記事では、その線を実際に動かして確かめます。
自動で確定してよいかどうかは、受注では次の3つに分けて数えます。
| 結果 | 意味 | 受注で起きること |
|---|---|---|
| 自動で正しく確定 | 人が見なくてよかった | 手間が減る |
| 自動で誤って確定 | 違う品番で登録された | 誤出荷・再出荷になる |
| 要確認 | 人が元のFAXを見て決めた | 1件あたり数十秒の手間 |
この3つは釣り合いません。要確認が1件増えても数十秒の手間ですが、誤った確定が1件あると、出荷のやり直しと取引先へのお詫びが要ります。だから「誤りを0にしたうえで、要確認をどこまで減らせるか」の順に考えます。
実験は、どんな条件で行いましたか?
架空の食品卸の商品12品を商品マスタにし、飲食店がFAXに書きそうな書き方を40通り作りました。このうち8通りは「生樽」「だし醤油」「いつもの」のように、注文書だけでは人でも品番を決められない書き方です。この8通りは、自動で決めたらすべて誤りと数えます。
引き当ての方法は前の記事の改良版(カタカナをひらがなにそろえ、書かれた数字を含まない候補の点を半分にする)をそのまま使いました。そのうえで、点の下限を0.4〜0.8、2位との差を0〜0.2の範囲で動かし、20通りの組み合わせで40件の結果を数えました。
| 書き方の例 | 正しい品番 | 1位の点 | 2位との差 |
|---|---|---|---|
| 鶏もも 2kg | M-2031 鶏もも肉 2kg | 1.00 | 0.29 |
| 鶏もも肉2kg×1 | M-2031 鶏もも肉 2kg | 0.44 | 0.12 |
| こいくち醤油1.8L | S-0450 濃口醤油 1.8L | 0.67 | 0.00 |
| ダシ醤油 小 | (人に聞く) | 0.62 | 0.04 |
| 醤油 1.8 | (人に聞く) | 0.77 | 0.00 |
| ビール | (人に聞く) | 0.55 | 0.00 |
| お茶 | (人に聞く) | 0.22 | 0.22 |
この表だけでも、点の高さと正しさが一致しないことが分かります。「醤油 1.8」は0.77と高い点ですが、だし醤油と濃口醤油が同点で並んでいます。逆に「鶏もも肉2kg×1」は「×1」が邪魔をして0.44しかありませんが、2位とは差があり、正しく決められます。
基準を動かすと、結果はどう変わりましたか?
2位との差の条件を入れない限り、点の下限を0.7まで上げても誤りは残りました。差を0.1以上にすると、点の下限が0.4でも誤りは0件で、40件中31件が自動で正しく決まりました。点の下限を上げると、要確認が増えるだけでした。
| 点の下限 | 2位との差 | 自動で正しい | 自動で誤り | 要確認 |
|---|---|---|---|---|
| 0.4 | 条件なし | 32 | 5 | 3 |
| 0.4 | 0.05以上 | 31 | 1 | 8 |
| 0.4 | 0.1以上 | 31 | 0 | 9 |
| 0.6 | 条件なし | 27 | 3 | 10 |
| 0.6 | 0.1以上 | 26 | 0 | 14 |
| 0.7 | 条件なし | 22 | 1 | 17 |
| 0.8 | 0.1以上 | 15 | 0 | 25 |
誤りになったのは、「ダシ醤油 小」「だし醤油」「醤油 1.8」「生樽」「ビール」でした。どれも容量や種類が書かれておらず、商品マスタに似た商品が2つ以上ある書き方です。こうした書き方では、1位と2位の点がほぼ同じになります。差の条件は、まさにこの「似た商品が2つある」状態を見分けるためのものです。
もう1つ分かったのは、点の下限をゆるめても、この40件では誤りが増えなかったことです。0.6を0.4に下げると、要確認は14件から9件に減り、誤りは0件のままでした。前の記事の0.6は、安全側に寄せすぎていたことになります。
なぜ、差の条件のほうが効くのですか?
点は「どれだけ似ているか」を表すだけで、「ほかに紛らわしい候補がないか」は表さないからです。受注の品名の間違いは、まったく違う商品と取り違えるより、容量違い・味違いの兄弟商品と取り違えることがほとんどです。
例えば「だし醤油」は、商品マスタの「だし醤油 1.8L」とも「だし醤油 500ml」とも同じくらい似ています。どちらとも0.6を超える高い点が付きますが、どちらかに決める手がかりは注文書にありません。点の下限をいくら上げても、この状態は見分けられません。2位との差が小さいことが、「人に聞くべき」の合図になります。
ただし差の条件だけでは足りない場面もあります。今回の「お茶」は、商品マスタにお茶がウーロン茶しかないため、点は0.22と低いのに2位との差も0.22ありました。点の下限を0.2まで下げると、これが自動で確定してしまいます。点の下限は「まったく関係のない書き方を拾わない」ための下支えとして残します。
御社の基準は、どうやって決めればよいですか?
過去の注文から100〜200行を選び、正しい品番を人が付けた「答えの表」を作って、同じように線を動かして数えます。誤りが0のまま、要確認がいちばん少なくなる組み合わせを選びます。
- 答えの表を作る:最近1〜2か月のFAXから、取引先が偏らないように行を選びます。人が見ても決められない書き方には「人に聞く」と付けます。
- 差の条件から決める:点の下限を低め(0.4前後)に置いたまま、2位との差を0から上げていき、誤りが0になる最小の値を探します。
- 点の下限を決める:差の条件を固定したまま点の下限を上げ下げし、関係のない書き方を拾わない所で止めます。
- 少し安全側に寄せる:答えの表にない書き方も来るので、見つけた値より少しだけ厳しくして使い始めます。
- 月に1回見直す:要確認を人が直した記録を答えの表に足して、もう一度数えます。言い換え表が育つと、要確認は自然に減っていきます。
この作業は、元のFAXと商品マスタがあれば1日ほどでできます。私が仕組みを作るときは、試作の段階で御社の過去の注文を使ってこの表を作り、基準の値と「その値で何件が要確認になるか」を見ていただいてから本番に進みます。
実験のコードは、どこで見られますか?
実験のコード(threshold_sweep.py)はPythonの標準ライブラリだけで動きます。引き当ての中身は前の記事の name_match.py で、ここでは基準の値を動かして数えるだけです。
def run(min_score, min_gap):
auto_ok = auto_ng = ask = 0
for text, answer in CASES: # answer が None は「人に聞くべき」書き方
code, _, s, gap, _, _ = match(text)
if s >= min_score and gap >= min_gap:
if code == answer: auto_ok += 1
else: auto_ng += 1 # 違う品番で登録される
else:
ask += 1 # 要確認として人が見る
return auto_ok, auto_ng, ask
for min_score in (0.4, 0.5, 0.6, 0.7, 0.8):
for min_gap in (0.0, 0.05, 0.1, 0.2):
print(min_score, min_gap, run(min_score, min_gap))
40件は小さなテストで、数字は商品の数や名前の付け方で変わります。この記事で言えるのは「差の条件が誤りを防ぐ」という傾向までで、0.4や0.1という値そのものを御社にそのまま使うことはおすすめしません。
このサイトで相談するには?
商品マスタと最近の注文書が数枚あれば、どのくらいが自動で決まりそうか、どの書き方が要確認になりそうかを無料相談で一緒に見られます。対応表の作り方は品番引き当ての対応表の作り方、全体の流れはFAX注文書をAIで受注データにする仕組みにまとめています。自動化の費用は一式30万円〜です。
よくある質問
- 自動で確定する割合は、どれくらいを目指せばよいですか?
- 割合より先に「自動で誤った件数が0か」を見ます。誤りが0のまま、要確認を減らせる所まで基準をゆるめるのが順番です。
- 基準は一度決めたら変えなくてよいですか?
- 変えます。言い換え表が育つと点の分布が変わるので、月に1回ほど、要確認を直した記録で見直します。
- AIの「自信の値」を基準に使えますか?
- 読み取りの段階では使えます。ただ品番の決定は、点と差のように同じ入力で同じ結果になる値で決めるほうが、理由を説明できます。
出典
- Python 標準ライブラリ difflib(SequenceMatcher)(2026年10月14日確認)


