EC 商品検索の難しさ


香港のITイベント

先週は出張で香港のITイベントに参加してきました。

地理的に中国のマーケットの話題が多かったのと、仮想通貨ではなくブロックチェーン(中国は仮想通貨を禁止しているので)の話題と、あとはやりAIの話題が多かった気がします。

ただ、AIよりもむしろデータにフォーカスが移ったというか戻ったというか、そんな印象です。

AIとデータは表と裏というか、扱う道具、扱われる素材なので、どちらも重要ではあるのですが、データのほうがより重要というのは私の考えと同じなので、納得感がありました。

ベストな 検索結果 は都度変動する

さて、ECにおける検索エンジンの難しさについてはたびたび触れていますが、そもそもなぜ難しいのか、一旦まとめてみたいと思います。

端的にいうとそれは、「正解が常に変わる」ためです。

同じ検索条件でも、誰に対してかでベストな 検索結果 は変わります。これがいわゆるパーソナライズです。

また同じ人が同じ検索条件で検索したとしても、PCなのかスマートフォンなのか、昼なのか夜なのか、平日なのか休日なのか、在庫状況、販売価格、流入経路、世の中の話題性などによって、ベストな 検索結果 は都度変動します。

検索結果は都度変動する

これはつまり、Webサービスを構築する際には、最初に要件定義をして基本設計、詳細設計、開発と進んでいきますが、こと商品検索に関しては要件定義や設計の際に挙動を定義することができないということです。

アクションに対するレスポンスが定義出来ない上に、サイトが稼働している間も常に最適解が変化するものを、どう実装したらいいのかというのが検索の難しさの根本的な理由です。

そもそもマーケティングというのは最適解が都度変化するものですが、ECサイトにおける三大機能(商品検索、決済、発送)においては商品検索がまさにそこに該当する機能なので、当然といえば当然です。

Webサイト開発におけるその他大部分の機能は、アクションに対するレスポンスが概ね設計時に決定できます。

もし商品検索をそれと同様に設計しようとすると、「キーワードにマッチする商品を選択肢、○○順に並べる」という実装になってしまいがちです。

商品 検索結果 として返却するデータを最適化しようとすると、設計はどうしても抽象化するしかなくなります。

例えば、「その時点で活用することになっているデータ群を取り込み、その時点で最適とされているロジックに従う」という感じです。

つまり、「ロジック自体をデータとして扱う」必要があるということです。

これだとテスト時にテストが出来ないことも、難しさの理由の一つです。

データ設計、 処理速度 という難しさ

そもそも現在のコンピュータというのはノイマン型コンピュータと呼ばれ、プログラムもデータとして扱われることがその特徴の一つではありますが、それはあくまでアーキテクチャやOSレベルでの話であって、アプリケーションにおいてロジックをデータとして扱うケースは、Webサービスにおいてはさほど多くありません。

このため良い商品検索を開発しようとすると、通常のWebサービスの開発とは違うノウハウ、経験などが必要となってきます。

また、ロジックをデータとして扱うということはロジックが扱う対象となるデータセットも変化しうるということです。

つまりデータ設計自体もデータになるわけで、このメタデータ化も同様に 商品検索の難しさ の一つとなります。

また別の難しさとして、メタデータを扱うようなアプリケーションの開発というのは、だいたい 処理速度 を犠牲にすることがほとんどです。

例えばデータベースの設計において、カラムの意味を定義した場合と、カラムの意味を別のカラムで定義した場合を比較すると、その処理速度は相当な差が出てきます。

しかも最適な 検索結果 を表示するためには、相当量のデータを取り込む必要があります。

ユーザの各種行動履歴、商品の在庫や価格などの最新のデータ、各種マーケティングデータなど、随時アップデートされるデータがたくさんあります。

ロジックも動的、データセットも動的、取り込むデータは膨大、という状況においても、 検索結果 を表示するのに10秒もかけるわけにはいきません。

商品検索の難しさ

離脱を防ぐためには1秒からせいぜい数秒でのレスポンスが必要で、検索エンジンそのものの持つ 処理速度 はかなりのスペックが要求されます。

検索エンジンの差別化とは

当社の検索エンジンは、その最大の特徴というか強みが、機能そのものではなく 処理速度 なのはこのためです。

ECにおける検索エンジンというのは、「 処理速度 が高ければ何でもできる」のです。

商品検索が「最適な結果を返却できます」というのは、そもそも、最適な結果を定義できないので、表現としてはおかしいことになります。

より正確には、 処理速度 が高いことで、その時その時に応じた最適なロジックを活用して、ユーザが離脱しないような実時間で 検索結果 を返却する、ということです。

もちろん 処理速度 だけ高くても、優れたロジックやデータセットが伴わなければ意味がありませんが、そこでようやく10年以上商品検索に取り組んできたノウハウが活用できるのです。

これは冒頭の、香港のイベントにおいてAI(手法)よりデータ(素材)にフォーカスが回帰してきたこととよく似ています。

手法そのものは常に進化しつづけるのが当たり前であり、手法自体は特許でも取らない限りは参入障壁にはなりません。

検索エンジンのスペックとして差別化できるのは、あくまで 処理速度 と扱えるデータの膨大さなのです。

■ZETA CX シリーズ■
サイト内検索エンジン・EC商品検索 「ZETA SEARCH」
レコメンドエンジン「ZETA RECOMMEND」
レビューエンジン「ZETA VOICE」

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【著者情報】
ZETA株式会社
代表取締役社長 山崎 徳之

【連載紹介】
[gihyo.jp]エンジニアと経営のクロスオーバー
[Biz/Zine]テクノロジービジネスの幻想とリアル
[ECZine]人工知能×ECことはじめ
[ECのミカタ]ECの役割
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Designed by Freepik 画像1 / 画像2

 

– 前の記事 –
用語解説 検索の ドリルダウン