英語表記とカタカナ表記は、1 文字も重ならない:正しい照合 42 件を、指紋の関門が却下していた

English version

トレカダッシュ 開発の記録 / 2026年8月

iOS アプリ「トレカダッシュ」は、商品ごとの相場を、売買の実績があるサイトから取ってきて、定価と並べて表示します。ところが、健全性のチェックに、こう出ていました。

相場の紐付け率が低下: 177 / 449 件(39%)

「新しい弾は、まだ相場のサイトに無いから、仕方ない」で、済ませることもできました。しかし、実際にそのサイトで検索してみると、商品は、ちゃんと存在していました。この記事は、その本当の理由と、直し方の記録です。

この記事は、2026 年 8 月 24 日の作業の記録から書いています。

相場のサイトに、商品はあった

自社    拡張パック「30th CELEBRATION」
相場側  ポケモンカードゲーム MEGA 拡張パック「30周年 セレブレーション」ボックス(存在する)

自社    QUARTER CENTURY TRINITY BOX
相場側  遊戯王 OCG デュエルモンスターズ クォーター・センチュリー・トリニティ・ボックス(存在する)

自社    スタートデッキ 青 クザン【ST-33】
相場側  ワンピースカードゲーム スタートデッキ「青 クザン」(存在する)

原因:指紋のチェックが、構造的に成り立たない組み合わせだった

この照合は、AI が選んだ候補を、コードの側でも、商品名の固有名が、実際に重なるか(指紋のチェック、productNamesShareFingerprint)で、確かめ直しています。これは、2026 年 8 月 8 日の、「無関係な商品を統合してしまう」データ破損の再発防止として入れたもので、これ自体は正しいものです。

ところが、この相場の照合だけは、突き合わせが、構造的に成り立ちません。自社の商品名は、メーカー公式の英語表記、相場のサイトの商品名は、カタカナ表記であることが多く、文字が 1 つも共通しないからです。

実際のログ(26 時間)で、42 件が、「指紋が一致しないため却下」されていました。中身を見ると、大半が、正しい一致でした。

自社相場のサイト
PHOTON HYPERNOVAフォトン・ハイパーノヴァ ボックス
CHAOS IMPACTカオス・インパクト ボックス
ROMANCE DAWN【OP-01】ブースターパック ロマンスドーン ボックス
RAGE OF THE ABYSSレイジ オブ ジ アビス ボックス
拡張パック「30th CELEBRATION」拡張パック「30周年 セレブレーション」ボックス

しかも、この 42 件の中に、報告 [111]「相場が安すぎて怪しい」の商品(30th CELEBRATION)が、まさにいました。それ以前に、「抽選の価格が、相場に混ざっていた」問題を直しましたが、そもそも、実勢の相場に紐付けられていなかったという、もう一段深い原因が、残っていたのです。

直し方:指紋は弱めず、この照合だけに、2 つ目の判定を足す

指紋のチェック自体を緩めると、ほかの用途(別表記の登録、商品の重複の統合)まで、一緒に緩みます。元のデータ破損が、再発します。絶対に、弱めません。

代わりに、相場の照合で指紋が一致しなかった候補に対してだけ、「これは、同じ固有名の、英語表記とカタカナ表記か?」という、一点に絞った、2 つ目の判定を足しました(snkrdunkNamesAreTransliterationMatch)。

実データで確かめる:ドライランが先

「見つからず」という判定には、7 日間のクールダウンがあります。表示中の記事がある商品 148 件だけについて、待ち時間を外して、判定し直させました。一括の書き換えなので、ドライランで件数を確かめてから、実行しました。

分かったこと

正しい関門が、正しい照合を、構造的に落とすことがある。関門は弱めず、狭い 2 つ目の判定を足す。

この話に出てくるもの

ほかの記録

コメント

感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。

押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。