Otsledit はページ上の価格をどう見つけるのか:ニューラルネットワークと単純な方式
商品ページには価格らしき数字が十以上並ぶことがあります。現在価格、取り消し線の入った旧価格、月々の分割払い、送料、会員価格、さらに下には関連商品の価格。価格トラッカーの価値は、その中から正しいものを選べるかどうかで決まります。Otsledit がどう選んでいるのか、そして外したときに何をすればよいのかを説明します。
Otsledit は二つの方法で価格を探します。ニューラルネットワークはページ全体を読み、主要な価格を選びます。単純な方式は最も大きなフォントで書かれた価格を取ります。どちらもブラウザーの中だけで動作し、ページが外に出ることはありません。何を追跡しているかがどこかに送られることもありません。
ニューラルネットワークは大きさだけを見ているわけではありません。価格になりうる数字ごとに複数の手がかりを重み付けします。フォント、隣に通貨記号があるか、その数字がページの構造化データにも現れるか、取り消し線が引かれているか、ページ上のどこにあるか、そして通常は他人の価格が並ぶ領域(おすすめ、広告枠、配送)に属していないか。だからこそ、主要な価格が最大でないページでも正しく選べます。
単純な方式は名前のとおりです。ページ上の価格のうち、最も大きなフォントのものを取ります。整った商品ページではほぼ確実に正解であり、素朴なレイアウトの店舗でこの方式がしばしば勝つ理由でもあります。文脈は理解しませんが、その分だけ予測可能です。ニューラルネットワークが繰り返し外すとき、この予測可能性が役に立ちます。
どちらの場合も、価格は追跡の作成時に一度だけでなく、チェックのたびに探し直されます。これは重要です。店舗はページを作り替えるため、一つの要素に固定された追跡は静かに壊れてしまいます。自動検出があれば、追跡はレイアウト変更を自力で乗り切れます。
各追跡には、ウォッチリストのカードに小さなバッジが付きます。ニューラルネットワークなら AI、単純な方式なら A です。クリックすると、その追跡だけ方法が切り替わります。設定側のスイッチは既存の追跡には触れません。新しく作る追跡の方法を決めるだけです。
第三の、そして最も強い状態もあります。バッジがまったく無い場合です。これは価格を手で選んだことを意味します。ポップアップの候補一覧から選ぶか、ページ上の要素を自分で指定した場合です。そうした追跡は CSS セレクターでその要素だけを追い、自動検出は手を出しません。両方の方式を繰り返し惑わせる店舗であれば、手動での指定が議論を終わらせます。
いつ切り替えるべきでしょうか。追跡が不自然に小さい数字を示しているなら、分割払いや送料をつかんでいる可能性が高いので、もう一方の方式を試してください。不自然に大きいなら、取り消し線の旧価格やセット価格を取ったのかもしれません。同じページで二つの値の間を行き来するなら、店舗が地域ごとに異なる価格を出している可能性があります。追跡の設定には、そのための「通貨の変更を無視する」項目があります。
最後に実務的な注意を一つ。同じページでも一方の方式には通じ、もう一方には通じないことがあり、万能の勝者はいません。バッジを切り替え、それでも駄目なら追跡を作り直して価格を手で選んでください。動く追跡は総当たりでしか見つからないこともあります。そして一度見つかれば、その後は動き続けます。