GPTと考察したZazzleのアルゴリズムメモ。たぶん私しか読まないので本当にメモ。
Zazzleのメタデータ評価はBM25スコアに基づくと思われるので、Zazzleでよく見る長ったらしいタグはスコアが希釈されてスコア平均が下がる。
Zazzleのタグは最大5語構成なので、内部的には5トークンに分割して、クエリとの一致率を見てるはず。ということは、5トークン以内で語順含めて検索クエリに近いタグが、最も強い。最優先で一致させるべきはサジェスト。
不一致トークンが多いと相対スコアが下がってしまうので、余計なタグや自作タグで検索需要がないのなら、いっそ使わないほうがいい。GPTに計算させたところ、ノイズタグを3個入れるだけでスコア半減。
部分一致スコアを積み上げて、不要なノイズを減らすのが最適解だとすると、タギングのみで今より順位を上げることはできそう。
- Zazzleのエンジンはクエリ一致型、EasticSearchベース(たぶん)。詳細は非公開だが、構文的にES+BM25スコアっぽい構造
- つまり、クエリ文字列とドキュメント(タイトル・タグ・説明)のトークン一致率+語順重みでスコアを出す仕組み
- BM25のスコアで考えると、elegant(0.3)、elegant bridal shower(0.9)となるので、サジェストにelegant bridal shower giftsが出ているなら、フレーズごとタグにしたほうが高スコア
- Zazzleのサジェストは、ESのcompletion suggesterを使っている可能性が高い
- サジェストに出る=検索頻度の高いクエリであり、それをタイトルとタグにそのまま使うことで、検索一致スコアに直接加算される
- Zazzleのランク学習にはクリックや購入履歴にも重みが付くので、上位表示済みでよく売れている商品が使っているタグは、購入率の高いタグとして間接的に加点されやすい
- 2024年の海外セラーテストによると、上位商品タグ使用によるCTR上昇は+8%、サジェスト採用によるCTR上昇は+15~20%、ハイブリッドで20%以上の成績もあり
- サジェスト+上位商品+ロングテールを組み合わせるのが効率よくインプを上げられる
- Redbubbleはタグが同じ=同じカテゴリとみなす構造だが、Zazzleではタグがクエリと一致する=表示候補になる構造
- タイトル、タグの最初3語がクエリと一致しているとCTR上昇
- タグの順序にも多少の影響あり、特に最初の5語がハイボリュームキーワードだとインプ1~2割増しの報告あり
- 後半にタグを詰め込んでも、表示候補になるだけで順序への重み付けはおそらくない
- ESは辞書データを用意しないと類語を理解しない。RedbubbleやEtsyのようなセマンティックサーチは導入されてないっぽいので、Zazzleでは類語=別キーワードと考えたほうが良さげ
- 共起語はある程度マッピングされていると考えられるが、関連性による重み付けはたぶんない。サジェストで表示されたキーワードをセットで使用するメリットはない
- サジェストワードは単独で評価されているので、単独で使うべき。組み合わせて意味を成したとしてもスコアは下がる恐れがある
- BM25は足し算型のスコア計算なので、完全一致(elegant bridal shower)と部分一致(elegant)を両方使うことで合算スコアを稼げる。キーワード重複は3回までならセーフ。飽和曲線がかかってるので、4回目以降は加点打ち止めとなり、5回目以降でノイズ化してマイナス評価になる可能性あり
あなたもeBayやってたりします…?