ジョイジョイジョイ

ジョイジョイジョイジョイジョイ

Amazonの推薦をいい感じにするブラウザ拡張Amaxをリリースしました

Amazonの推薦をいい感じにするブラウザ拡張Amaxというブラウザ拡張をリリースしました。会員登録など必要なく、もちろん無料で、ブラウザ拡張をインストールしていつも通り Amazon を使うだけでいい感じになります。手軽なのでぜひ使ってみてくださいね。

chromewebstore.google.com

私の専門は推薦システムで、特にユーザーサイドの推薦システムに力を入れて研究をしています(プロフィール)。このブラウザ拡張にはユーザーサイドの推薦システムの研究成果がふんだんに詰め込まれています。

本稿では、ブラウザ拡張の紹介のほか、開発の裏側やもとになった技術について詳しく説明します。

目次

Amax の紹介

ブラウザ拡張をインストールして、商品ページにアクセスすると、「Amax によるおすすめ」という推薦欄が追加されます。見た目は普通の推薦欄とほとんど同じなので、意識することなく使えます。邪魔になることはほとんどなく、とりあえずインストールしておくといいことがあるということを目指しています。

目指しているものはサクラチェッカーさんと近いですが、サクラチェッカーさんは買いたいものが既に決まっていて、その商品の信頼性を調べるのが主な使い方なのに対して、Amax は Amazon 内をぶらぶらしながら気に入る商品を探すときに使うことができます。予期せぬ良い商品に出会うことが大きな魅力です。また、ブラウザ拡張で Amazon のページ内に組み込むことで、ユーザー側での手間を一切なくし、とりあえずインストールしておけば便利になることを重視しています。

例えば、上の USB メモリの例だと Amazon 公式の推薦欄はこんな感じ。

どちらが良いかは主観ですが、私は Amax の推薦が気に入っています。Amazon 公式の推薦が好きな方も、Amazon 公式の推薦が無くなる訳ではないので、Amax をインストールしておけば、両方見比べて商品を選ぶことができます。

いくつか例をご紹介します。まずはこちらのモバイルバッテリー。

モバイルバッテリー商品ページのスクリーンショット

上記のモバイルバッテリーページでの Amax の推薦

上記のモバイルバッテリーページでの Amazon 公式の推薦

ラムダッシュの電動シェーバー。

電動シェーバーの商品ページ

上記の電動シェーバーページでの Amax の推薦

上記の電動シェーバーページでの Amazon 公式の推薦

Amaxは本の推薦も得意です。

例えば、「大規模言語モデルは新たな知能か」のページだとこちら。

「大規模言語モデルは新たな知能か」の商品ページ

「大規模言語モデルは新たな知能か」に対する Amax の推薦

「ゼロつく」をはじめ、関連する定番の良い本が推薦できています。

漫画の推薦もできます。例えば私の好きな「はんどすたんど!」に対する推薦がこちら。

「はんどすたんど! 1巻 (まんがタイムKRコミックス)」の商品ページ

「はんどすたんど! 1巻 (まんがタイムKRコミックス)」対する Amax の推薦

伝わりづらいかもしれないですが、「エイティエイトを2でわって」「さうのあっ!」を推薦できているこの結果はかなりすごいです。

私の趣味のページのスクリーンショット

私のプロフィールの趣味のページで特に好きな漫画として挙げている「はんどすたんど!」に対して、「エイティエイトを2でわって」「さうのあっ!」は最近のお気に入りとして挙げている漫画です(もちろん後付けではなくもとから挙げていたもので、Amax の推薦に当てられたというところがすごいです)。エイティエイトは去年のブログでも語りましたね:2023 まとめ - ジョイジョイジョイ。しかも、これは拡張機能開発用のビジネスアカウントで閲覧しています。私のプライベートアカウントでの嗜好・この二作品が好きなことは知らていない状況下で、この二作品をおすすめされたことになります。「はんどすたんど!」と同じ作者のエイティエイトはともかく、「さうのあっ!」まで取ってこれるのは自分でもびっくりです。「花唄メモワール」は読んだことが無かったのですが、せっかくおすすめされたので買いました。

皆さんも Amax を入れて、お気に入りの漫画のページを見ると何が表示されるか試してみてくださいね。

Amax を使う上でのちょっとしたコツは、表示された推薦がイマイチならページをリロードしてみることです。Amax の推薦アイテムの計算が表示のタイミングに間に合わないことがあり、そのときにはとりあえずできる範囲で推薦を行います。何も表示しないよりはベストエフォートで何か情報を提示した方がよいだろうという考えからこのような仕様を採用しています。ですが、ちゃんとした推薦の結果も裏で実は計算しており、リロードすると今度はその結果が表示されます。納得がいかない場合は一度リロードを試してみてくださいね。

Amax の開発は今後も続けます。推薦はこれからもどんどん改善していく予定です。みなさんの応援が糧になるので、ぜひたくさん使って、お友達に紹介したり、感想をポストしてくださいね。気に入っていただければ高評価もいただけるとありがたいです。よろしくお願いします。

chromewebstore.google.com

開発の裏側

ここからは少し技術的な話・開発の裏側の話をしたいと思います。

Amax の設計にあたっていくつか特徴的な選択をしています。もしかすると使っているときに不自然に感じる方もいるかもしれないので、安心のためにも選択の意図をここでお伝えします。

上述のように、Amax は新しく推薦欄を追加します。Amazon 公式の推薦欄はこちらでいじることなくそのままに残しています。ポジティブな理由は先にも述べたとおり、両方見比べて商品を選ぶことができるということです。消極的な理由として、Amazon は公式の機能を改変することを禁止しているということもあります。たしかに、我々が勝手に公式の推薦を変えて、それがイマイチだったとき、ユーザーのヘイトが Amazon に向かってしまっては Amazon に迷惑がかかるので、もっともなことだと思います。Amax が推薦したところははっきりそれと分かるように切り分けました。また、好みや重視する点は人それぞれだと考えており、特定の商品や特定の機能をサゲることはできるだけ行いたくないということも根本的な設計思想としてあります。既に出ている商品はそれはそれで尊重して、それに加える形で、こういうのもおすすめですよと、アゲの部分だけ追加するようにしました。

もう一つ特殊な点は、アフィリエイトタグ付きのリンクをブックマークバーに入れるかどうかをインストール時にユーザーに尋ねる点です。マネタイズを一切しないという路線も考えましたが、する路線を採ることにしました。真面目な理由としては、そちらの方がスケールしてより良いプロダクトを届けられる可能性があるからです。やはり無料の範囲でできることには限りがあり、無料でできることだけを提供するよりも、可能な限り商業ベースに乗せて、そこで得られた利益で開発を進める方が、皆さんにも多くのメリットが還元できると考えてこのような方針を取りました。とはいえ、できるだけ多くの人に使っていただきたいという気持ちが強かったので、ユーザーサイドからお金を取ることはできるだけしたくなく、ユーザーサイドに負担の無いアフィリエイトタグ機能のみのマネタイズとしました。また、インストール時に尋ねたときに拒否すると、その後アフィリエイトタグ付きのリンクが使われることは無いので、絶対にマネタイズに貢献したくないという場合も、安心して使っていただければと思います。

マネタイズをした不真面目な理由はもちろん、5000 兆円欲しい、ということです。
現状大赤字なので、道のりは長そうです泣。

ユーザーサイドの推薦システムについて

Amax はユーザーサイドの推薦の技術をふんだんに使っています。ユーザーサイドの推薦システムとはその名の通り、ユーザーが作る推薦システムのことです。ふつう Amazon の推薦システムは Amazon のエンジニアが作ります。Amazon のデータベースには Amazon の関係者しかアクセスできないので、社内のエンジニア以外は推薦システムは作れないというのが従来の考え方でした。その壁を何とか(もちろん合法的に)乗り越えて、部外者であるいちユーザーが推薦システムを作れるようにするというのがユーザーサイドの推薦システムの肝です。

ユーザーサイドの推薦システムについて聞いたことがない方がほとんどだと思います。そんなこと実現できるのか、と思う方も多いでしょう。実際 Amax で実現できているのでできるのです。推薦システムの専門家ほど、そういうことができることにびっくりするのではないでしょうか。

聞いたことがないというのもそのはずで、というのもユーザーサイドの推薦システムは私(佐藤)が生み出した概念です。Private Recommender Systems: How Can Users Build Their Own Fair Recommender Systems without Log Data? (SDM 2022) ではじめて提案しました。その後、Towards Principled User-side Recommender Systems (CIKM 2022)で理論的な補強を加え、Overhead-free User-side Recommender Systems (arXiv 2024) でかなり実用的と思える手法を提案しました。Amax は最後の Overhead-free 論文の手法をもとにしています。ユーザーサイドの推薦システムを初めて考えたのが 2020 年の 11 月なので、丸 4 年、その間に 9 本の関連論文を書き、理論面や実用面を補強しながら、Amax でようやく実用化にこぎつけました。令和最新版の実用化したてホヤホヤな技術なわけです。本稿の最後に関連論文を載せておくので詳細が気になる方はご覧ください。ユーザーサイドの推薦システムについてしっかり勉強したい方は PrivateWalk に軽く目を通し、Consul をしっかり読み込んだのち、RecCycle を読むという流れがよいと思います。

ユーザーサイドの推薦システムを考える必要がある大きな理由は、サービス提供側とユーザー側の力関係です。サービスが大手になればなるほど、ユーザーとのパワーバランスが崩れ、サービス側がより強大な力を持つようになります。その結果、ユーザーが望む機能よりも、サービス側が使わせたい機能が優先されるようになっていきます。Amazon ほど巨大になると、ユーザーがメールフォームから「こういう機能が欲しいです!」と要望したところで、それが受け入れられることはまずありません。しかもサービスにロックインされてしまっていたり、同等の代替サービスがないために、一部の機能に不満を持っていたとしても、ユーザーはしぶしぶそのサービスを使い続けることになります。サービス側はそれを見越して強気に出ているわけです。私はもうヨドバシ.comしか使わないぜ!と言っている人も見たことはありますが、そこまでするのはよほど強い信念がないと難しいでしょう。

しかも残念なことに、ユーザーの満足とサービスの売上は往々にしてトレードオフの関係になります。通販サイトにとっては、極端な話、ユーザーが商品選びに失敗して、もう一回買い直してくれた方が売上に繋がる訳です。マッチングアプリではすぐにパートナーが見つかって結婚してしまうとユーザーが離脱するので、あえて望みの薄い相手を推薦することが売上に繋がります。サービスがユーザーの満足と売上の選択に迫られたとき、売上を取るほうに傾いてしまうのはどうしても仕方のないことです。「あえてユーザーにとって不利な推薦システムを実装してやろう」というほど極端ではないにしても、「今の推薦システムがユーザーにとって不満なことは承知しているが、現状でも売上にはつながっている訳だし、わざわざコストをかけてまで改修するほどではないな」というように消極的選択の結果、ユーザーの不満が放置されるということは現場ではよくある話だと思います。

ユーザー側は無力かと思いきや、ユーザーサイド推薦システムがある……!

ユーザーサイドの推薦システムはこの問題に対する積極的な解決策を提供します。公式の機能に不満があれば、自分で作ればいいわけですから。実際、私は不満があって作りました。それが Amaxです。わざわざ自分で作るほどがない、技術的に自分では作れない、という人にとってもユーザーサイドの推薦システムは朗報です。今までは、サービス側から押し付けられた推薦システムしか使えなかったのに対し、Amax のように第三者が作った推薦システムが選択肢に入ります。もちろん、100 人が 100 人、Amax が最高の推薦システムだと思うわけではないと思います。中にはやっぱり公式の推薦システムの方がいいなと思う人もいるでしょう。しかし、一択しかないということと、選択肢があることは大違いです。選択の幅が広がれば広がるほど、自分の好みにマッチする選択肢に出会える可能性が高くなります。また、公式の独占状態であったときに比べて、パワーバランスも変わってきます。第三者による良い感じの推薦システムがシェアを伸ばすと、公式側も焦ってユーザー側に寄り添う方針に変わってくるかもしれません。その結果として公式の機能が改善されて、またユーザーが公式に移ったとしても、それはそれで良いことだと思いますし、それが健全な競争だと思います。

なのでもし、こんな推薦システムがあったらもっといいなというアイデアがある方はユーザーサイドの推薦システムの技術を使ってご自分の推薦システムをぜひ作っていただきたいと思います。技術的に自分では作れないよという方はコメントなどいただければ、Amax に組み込むことを検討いたします。おそらく、Amazon 本社に連絡するよりは採用されやすいかと思います。

そしてもし、公式の推薦システムよりも Amax の方がいいなと思っていただいた方は、ぜひたくさん使っていただいて、SNSで感想やご意見をシェアしていただければ嬉しいです。公式に「圧」をかけ、パワーバランスをユーザー側に取り戻していきましょう💪

おわりに

ユーザーサイドの推薦システムの概念を生み出してから 4 年、ようやく実用的なプロダクトに結びつけることができました。プロダクトはわが子のようだとよく言われますが、私にとってはユーザーサイドの推薦システムという概念がわが子で、Amax はそこから生まれた孫のような存在です。まあ Amax も自分で作ったので、孫も自分で産んだというやや複雑な家庭環境ではありますが、いずれにしてもかわいいことには違いなく、リリースまでこぎつけたことは嬉しく思います。

ぜひ Amax を試していただいて、いいなと思っていただいた方はたくさん使っていただいただければ幸いです。また、Amax 自体は好みに合わなくても、ユーザーサイドの推薦システムという考え方がいいなと思った方は、ぜひ Amax のライバルになるような、あなたの思う最強の推薦システムを作っていただければと思います。基本的な作り方・アルゴリズムは以下の関連論文で詳しく解説しているのでご活用ください。みなさんの応援が糧になるので、SNS などで感想等いただければ嬉しいです。何卒よろしくお願いします。

chromewebstore.google.com

連絡先: @joisino_ / https://joisino.net

関連論文

User-Side Realization(利用者自主実現:ふつう社内のエンジニアでないと実現できないことを、ユーザーの側で実現すること)の関連の論文:

  1. Ryoma Sato. Private Recommender Systems: How Can Users Build Their Own Fair Recommender Systems without Log Data? In Proceedings of the SIAM International Conference on Data Mining (SDM), 2022. [arXiv]:ユーザーサイドの推薦システムの概念をはじめて提案した論文
  2. Ryoma Sato. Retrieving Black-box Optimal Images from External Databases. In Proceedings of the 15th ACM International Conference on Web Search and Data Mining (WSDM), 2022. [arXiv]:ユーザーサイドの検索システムを提案
  3. Ryoma Sato. Towards Principled User-side Recommender Systems. In Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM), 2022. [arXiv]:ユーザーサイドの推薦システムの実現可能性を理論的に証明し、より現実的な手法を提案
  4. Ryoma Sato. CLEAR: A Fully User-side Image Search System. In Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM), 2022. [arXiv]:ユーザーサイドの検索システムのデモを発表
  5. Ryoma Sato. Active Learning from the Web. In Proceedings of the Web Conference (WWW), 2023. [arXiv]:ユーザーサイドの検索システムを使って、機械学習のための訓練データをウェブから自動で取得する手法を提案
  6. Ryoma Sato, Yuki Takezawa, Han Bao, Kenta Niwa, Makoto Yamada. Embarrassingly Simple Text Watermarks. arXiv, 2023. [arXiv]:LLM のための電子透かしをユーザーサイドで実現する方法を提案
  7. Ryoma Sato. Making Translators Privacy-aware on the User’s Side. Transactions on Machine Learning Research (TMLR), 2024. [arXiv]:翻訳システムのプライバシーをユーザーサイドで強化する手法を提案
  8. Ryoma Sato. User-Side Realization. Doctoral Thesis, Kyoto University, 2024. [arXiv]:User-side Realization についての博士論文。第 1 章と最終章は User-Side Realization の考えと今後の展望が体系的にまとまっているのでおすすめです。
  9. Ryoma Sato. Overhead-free User-side Recommender Systems. arXiv, 2024. [arXiv]:ユーザーサイドの推薦システムの実用的な手法を提案