(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-22
(45)【発行日】2023-10-02
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06F 16/9035 20190101AFI20230925BHJP
【FI】
G06F16/9035
(21)【出願番号】P 2022039169
(22)【出願日】2022-03-14
(62)【分割の表示】P 2019078541の分割
【原出願日】2019-04-17
【審査請求日】2022-04-18
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100181124
【氏名又は名称】沖田 壮男
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】井関 洋平
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特表2016-511906(JP,A)
【文献】特開2012-203821(JP,A)
【文献】特表2014-507712(JP,A)
【文献】特開2014-174753(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
利用者によって入力されたクエリを取得する取得部と、
前記クエリに合致するランキング対象の特徴量を学習済みモデルに入力することで、前記ランキング対象のスコアを導出し、スコアに基づいてランキング処理を行うランキング処理部と、を備え、
前記学習済みモデルは、前記ランキング対象の特徴量を学習データとし、利用者の行動履歴と前記ランキング対象のカテゴリとに基づくラベルを教師データとした機械学習によって学習されたものであ
り、
前記ランキング対象のカテゴリは、予め全ての前記ランキング対象に対してクエリとは無関係に割り振られている情報である、
情報処理装置。
【請求項2】
前記ラベルは、前記ランキング対象が提示されるのに応じて利用者が所定の行動を行った場合の、提示された前記ランキング対象と同じカテゴリが付与された前記ランキング対象を、前記同じカテゴリが付与されていない前記ランキング対象よりも高く評価したものである、
請求項1記載の情報処理装置。
【請求項3】
前記学習データと教師データに基づく機械学習によって前記学習済みモデルを生成する学習処理部を更に備える、
請求項1または2記載の情報処理装置。
【請求項4】
コンピュータが、
利用者によって入力されたクエリを取得し、
前記クエリに合致するランキング対象の特徴量を学習済みモデルに入力することで、前記ランキング対象のスコアを導出し、スコアに基づいてランキング処理を行う情報処理方法であって、
前記学習済みモデルは、前記ランキング対象の特徴量を学習データとし、利用者の行動履歴と前記ランキング対象のカテゴリとに基づくラベルを教師データとした機械学習によって学習されたものであ
り、
前記ランキング対象のカテゴリは、予め全ての前記ランキング対象に対してクエリとは無関係に割り振られている情報である、
情報処理方法。
【請求項5】
コンピュータに、
利用者によって入力されたクエリを取得させ、
前記クエリに合致するランキング対象の特徴量を学習済みモデルに入力することで、前記ランキング対象のスコアを導出し、スコアに基づいてランキング処理を行わせるプログラムであって、
前記学習済みモデルは、前記ランキング対象の特徴量を学習データとし、利用者の行動履歴と前記ランキング対象のカテゴリとに基づくラベルを教師データとした機械学習によって学習されたものであ
り、
前記ランキング対象のカテゴリは、予め全ての前記ランキング対象に対してクエリとは無関係に割り振られている情報である、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
電子商取引などの分野において、入力されたクエリに基づいてランキング対象(例えば商品)のランキング処理を行い、ランキング結果が上位のランキング対象を利用者に提示することが行われている。これに関連し、クエリワード列を受信する工程と、クエリワード列に関連する複数の様々な商品情報エントリを検索する工程と、クエリ列からの第1のコア商品ワードをメモリから抽出する工程と、様々な商品情報エントリからの第2のコア商品ワードをメモリから抽出する工程と、各第2のコア商品ワードに関して、キー商品ワードに関連する候補商品ワードリストに各第2のコア商品ワードが存在するか否かをチェックする工程と、各第2のコア商品ワードが存在する場合に、各第2のコア商品ワードに対応する商品情報エントリの重み付けを小さくする工程と、商品情報エントリの調整された重み付けに従って商品情報エントリをソートする工程と、を備えるオンライン商品検索方法の発明が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、ページビュー数などのクエリと直接関連しない要素も含めてランキング処理が行われていたため、例えば、人気のあるランキング対象が、クエリとは余り関連性が高くないにも関わらず上位になるケースが多く、提示されるランキング対象が、利用者の意図を十分に反映していないものとなる場合があった。
【0005】
本発明は、このような事情を考慮してなされたものであり、より検索意図に近いと考えられるランキング対象を選択することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0006】
本発明の一態様は、利用者によって入力されたクエリを取得する取得部と、前記クエリに合致するランキング対象の特徴量を学習済みモデルに入力することで、前記ランキング対象のスコアを導出し、スコアに基づいてランキング処理を行うランキング処理部と、を備え、前記学習済みモデルは、前記ランキング対象の特徴量を学習データとし、利用者の行動履歴と前記ランキング対象のカテゴリとに基づくラベルを教師データとした機械学習によって学習されたものである、情報処理装置である。
【発明の効果】
【0007】
本発明の一態様によれば、より検索意図に近いと考えられるランキング対象を選択することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係る情報処理装置を利用したショッピングサーバ100の構成および使用環境の一例を示す図である。
【
図3】検索結果表示画面IM2の一例を示す図である。
【
図5】ログデータ152の内容の一例を示すイメージ図である。
【
図6】ランキング処理部110による処理の流れの一例を示す図である。
【
図7】商品データ150の内容の一例を示す図である。
【
図8】学習処理部130による処理の内容の一例を示す図である。
【
図9】学習処理部130によるラベルの決定手法について説明するための図である。
【
図10】他の実施形態に係る情報処理装置の実装例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照し、本発明の情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、利用者によって入力されたクエリに応じて、ランキング対象をランキングする装置である。ランキング対象とは、電子商取引で取引される商品(サービスを含むものとする)、ネットワークを介して提供される記事などであり、客観的指標となるカテゴリがメタ情報として付与されているものであれば、如何なるものであってもよい。以下、電子商取引で取引される商品がランキング対象であるものとして説明する。
【0010】
電子商取引は、ネットワークを介して行われるショッピングやオークション、フリーマーケットなどを含む。以下の説明では、ショッピングを例にとって説明する。ショッピングに適用される情報処理装置は、ショッピングサイトを管理するショッピングサーバなどに包含される装置であってもよい。すなわち、情報処理装置は、仮想的な装置であってもよい。また、情報処理装置は、ショッピングサーバそのものであってもよい。以下では、情報処理装置がショッピングサーバの一部を構成するものとして説明する。ショッピングサーバは、ブラウザからのリクエストに応じてショッピングサイトを提供するものであってもよいし、スマートフォンなどにインストールされたアプリケーションプログラムからのリクエストに応じてショッピングサイトと同様のコンテンツを提供するものであってもよい。以下の説明では、ショッピングサーバは前者であるものとする。
【0011】
[構成]
図1は、実施形態に係る情報処理装置を利用したショッピングサーバ100の構成および使用環境の一例を示す図である。ショッピングサーバ100は、ネットワークNWを介して、端末装置10と通信する。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、無線基地局、プロバイダ端末、専用回線などを含む。
【0012】
端末装置10は、例えば、パーソナルコンピュータやスマートフォンなどの携帯電話、タブレット端末などである。これらにおいて、ブラウザやアプリケーションプログラムなどのUA(User Agent)20が起動する。UA20は、ショッピングサーバ100から提供された販売画面を表示すると共に、端末装置10の利用者によってなされた入力操作に応じたリクエストをショッピングサーバ100に送信する。
【0013】
ショッピングサーバ100は、例えば、サイト提供部102と、ログ収集部104と、ランキング処理部110と、学習処理部130とを備える。ランキング処理部110は、例えば、検索実行部112と、特徴量取得部114と、モデル実行部116とを含む。これらの構成要素は、例えば、CPU(Central Processing Unit)などの一以上のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【0014】
本実施形態において、少なくともクエリ取得部として機能するサイト提供部102とランキング処理部110とを含むものが、情報処理装置の一例である。
【0015】
また、ショッピングサーバ100は、HDDやフラッシュメモリ、RAM(Random Access Memory)などの記憶装置に、学習済みモデル118、商品データ150、ログデータ152などのデータを格納している。この記憶装置は、ショッピングサーバ100に付随するものであってもよいし、ショッピングサーバ100がネットワークNWを介してアクセス可能なNAS(Network Attached Storage)であってもよい。
【0016】
サイト提供部102は、ショッピングサイトとしての各種画面を端末装置10に提供する。
図2は、検索入力画面IM1の一例を示す図である。検索入力画面IM1には、商品を検索するためのクエリを入力するためのクエリ入力欄A1、および、入力されたクエリで検索を実行させるための検索ボタンB1が設けられている。クエリ入力欄A1にクエリが入力され、検索ボタンB1が操作されると、検索結果表示画面IM2に遷移する。このとき、サイト提供部102は、フォーム入力の形でクエリを取得し(クエリ取得部として機能し)、クエリをランキング処理部110に出力してランキング処理を依頼する。なお、クエリではなくカテゴリが選択された場合も、同様に検索結果表示画面IM2に遷移する。
【0017】
図3は、検索結果表示画面IM2の一例を示す図である。検索結果表示画面IM2には、検索結果表示欄A2が含まれる。検索結果表示欄A2には、ランキング処理部110によって決定されたランキング順に、スクロールすることで視認可能な所定の数(或いは表示可能な限り全て)の商品の画像や説明(例えば、後述するタイトルの一部または全部)が、ポジション順に並べて表示される。以下、この所定の数をkとし、表示される商品を紹介商品と称する。ポジションは、1番上の位置を1、2番目の位置を2、…というように定義される。検索結果表示画面IM2において一つの商品の画像や説明が操作(選択)されると、商品販売画面IM3に遷移する。
【0018】
図4は、商品販売画面IM3の一例を示す図である。商品販売画面IM3には、商品画像表示欄A3-1、タイトル欄A3-2、詳細説明欄A3-3などが含まれる。タイトル欄A3-2や詳細説明欄A3-3には、選択された商品(選択商品)の製造元、商品の素材、使用、その他の内容がテキストとして掲載される。タイトル欄A3-2に表示されるテキストを「タイトル」と称し、詳細説明欄A3-3に表示されるテキストを「詳細説明」と称する。商品販売画面IM3に対する操作によって、購入者により商品が購入される。
【0019】
以下、各部の機能について説明する。ログ収集部104は、利用者ごとのショッピングサイトの利用履歴を収集し、ログデータ152に登録する。
図5は、ログデータ152の内容の一例を示すイメージ図である。図示するように、ログデータ152は、利用者の識別情報であるユーザIDに対して、利用者が閲覧した各種画面と、入力されたクエリ、表示されている紹介商品、購入された商品などの情報が対応付けられたものである。なお、ログデータ152は、ユーザIDごとに整理されたものでなくてもよい。また、実際には、紹介商品や商品の情報は、以下に説明する商品IDで表されてよい。
【0020】
[ランキング処理]
図6は、ランキング処理部110による処理の流れの一例を示す図である。まず、ランキング処理部110の検索実行部112は、サイト提供部102から渡されたクエリを用いて、商品データ150を検索する。
図7は、商品データ150の内容の一例を示す図である。商品データ150は、例えば、商品の識別情報である商品IDに対して、カテゴリの識別情報であるカテゴリID、商品画像、タイトル、詳細説明、価格、その他のデータが対応付けられたものである。これらのうち、商品IDは、不図示の出品受付部により付番された情報であり、その他の情報は、販売者により入力されたものである。カテゴリは、例えば階層的に設定されており、図示の例では、例えば「3」が「飲食品」、「35」が「お酒」、「356」が「赤ワイン」を示している。後述する学習処理部130は、学習処理において、例えばカテゴリ(カテゴリID)の任意の階層に着目して処理を行う。一例として、学習処理部130は、最下層の情報(
図5では「356」)に着目して処理を行う。
【0021】
例えば、検索実行部112は、タイトルまたは詳細説明の中にクエリが含まれる商品データ150のレコードを抽出し、その商品IDを取得する。これによって検索実行部112は、クエリに合致する商品を取得する。なお、検索実行部112は、任意の手法でクエリに合致する商品の商品IDを取得してよい。
図6の例では、n個の商品IDが取得されたものとする。nは固定値でなくてもよく、抽出条件に該当する分の商品IDが取得されてよい。
【0022】
特徴量取得部114は、検索実行部112により取得された各商品について(各商品IDについて)、モデル実行部116が入力データとして使用する特徴量を取得する。特徴量は、例えば、PV(Page View)数、クエリとのマッチ度合い、クリック数(選択回数)、価格、レビューの数などを含む。特徴量取得部114は、例えば、ログデータ152に対して必要な処理を行って、これらのデータを生成する。
【0023】
特徴量取得部114は、例えば、その商品が、ログデータ152における検索結果表示画面に含められた表示された回数をPV数としてカウントする。また、特徴量取得部114は、クエリにおける単語列と、タイトルまたは詳細説明の中における単語列との一致数など、文字ベースの一致度合いに基づいて、クエリとのマッチ度合いを導出する。その他の事項についても、特徴量取得部114は、ログデータ152や商品データ150を参照し、必要に応じて処理を行って特徴量を取得する。そして、特徴量取得部114は、例えば、各種の特徴量を数値化して結合し、その商品に対応する一つの商品ベクトルを生成する。
【0024】
モデル実行部116は、特徴量取得部114により生成された商品ベクトルのそれぞれを学習済みモデル118に、例えば順次入力することで、ランキング処理に用いられるスコアを導出する。そして、ランキング処理部110は、例えばスコアの高い順にk個の商品IDを選択し、サイト提供部102に出力する。サイト提供部102は、ランキング処理部110から取得したk個の商品IDを用いて商品データ150を検索し、抽出された商品の情報を検索結果表示画面に含めて利用者の端末装置10に表示させる。係る処理によって、より検索意図に近いと考えられるランキング対象を選択し、利用者に情報提供することができる。
【0025】
[学習処理]
以下、上記のような効果をもたらす学習済みモデル118の生成処理について説明する。学習処理部130は、ランキング対象である商品の特徴量を学習データ、ラベルを教師データとした複数のデータセットを用いて機械学習を行い、学習済みモデル118を生成する。特徴量は、モデル実行部116が入力データとして使用するものと同様であり、学習データは前述した商品ベクトルであってよい。従って、学習処理部130は、特徴量取得部114から処理結果を取得して処理を行ってよい。なお、本実施形態において学習処理部130は、ショッピングサーバ100並びに情報処理装置に含まれるものとしているが、別体の情報処理装置(学習装置)として構成されてもよい。
【0026】
図8は、学習処理部130による処理の内容の一例を示す図である。図示するように、学習処理部130は、商品ベクトルを機械学習モデルに入力することで出力されるスコアが、ラベルが大きいほど高くなるように、機械学習モデルのパラメータを調整する。機械学習モデルは、例えば、ニューラルネットワークを元に構成されるモデルであるが、これに限らず任意のモデルを使用することができる。
【0027】
図9は、学習処理部130によるラベルの決定手法について説明するための図である。例えば、
図9の上図で示すように、ある検索結果表示画面で表示された紹介商品が(1)~(4)であり、利用者によって商品(2)が選択されて商品販売画面に遷移したが、購入はされなかった。商品(1)は、商品(2)と同じカテゴリIDが付与された商品であったものとする。この場合、学習処理部130は、例えば、商品(2)にラベル値2を付与し、商品(1)にもラベル値1を付与する。また、
図9の下図で示すように、別の検索結果表示画面で表示された紹介商品が同様に(1)~(4)であり、商品(3)が選択され、購入された。商品(4)は、商品(3)と同じカテゴリIDが付与された商品であったものとする。この場合、学習処理部130は、例えば、商品(3)にラベル値4を付与し、商品(1)にもラベル値1を付与する。なお、後者の場合、商品(1)に1よりも大きく4よりも小さい任意のラベル値を付与するようにしてもよい。なお、この1、2、4といった数値はあくまで一例であり、
図9の上図の例において商品(2)に付与されるラベル値が商品(1)に付与されるラベル値以上であり、商品(1)に付与されるラベル値が商品(3)(4)に付与されるラベル値以上である関係が成立すればよく、
図9の下図の例において商品(3)に付与されるラベル値が商品(4)に付与されるラベル値よりも大きく、商品(4)に付与されるラベル値が商品(1)(2)に付与されるラベル値よりも大きい関係が成立すれば、任意の数値を使用してよい。また、上記では階層的なカテゴリのうち最下層の情報に着目して「同じカテゴリが付与された」ことを判断するものとしたが、最下層では一致しないがより上層でカテゴリが一致する場合に、最下層のカテゴリが一致する場合よりも小さいラベル値(例えば0.5など)を付与してもよい。
【0028】
このように、学習処理部130は、利用者により選択または購入された(所定の行動がなされた)商品について、高い評価を示すラベル値を付与すると共に、選択または購入された商品と同じカテゴリの商品についても、次に高い評価を示すラベル値を付与する。次に高い評価を示すラベル値とは、選択または購入された商品よりも低く、且つ、選択または購入されないと共に選択または購入された商品とカテゴリが異なる商品よりも高いラベル値である。従って、ラベル値は、選択または購入された商品、および、選択または購入された商品と同じカテゴリが付与された商品を、選択または購入されておらず且つ選択または購入された商品と同じカテゴリが付与されていないランキング対象よりも高く評価したものとなる。
【0029】
学習処理部130は、複数の検索結果表示画面に関する選択または購入の結果に対して同様に処理を行い、それぞれの商品にラベル値を付与し、教師データとなるラベルとする。
【0030】
学習処理部130は、上記のように各商品のラベルを求めると、機械学習モデルの出力するスコアが、ラベルが大きいほど高くなるように、機械学習モデルのパラメータを調整する。例えば、商品(m)の商品ベクトルをVm、ラベルをLmと表現し、機械学習モデルを関数f(Vm)と表現した場合において、ラベルの大小関係がL2>L1>L3>L4であったとすると、学習処理部130は、f(V2)>f(V1)>f(V3)>f(V4)となる方向に機械学習モデルのパラメータを調整する。予め用意されたデータセットの全てについて処理が行われて調整が完了した時点の機械学習モデルが、学習済みモデル118として用いられる。
【0031】
以上説明したように学習済みモデル118を生成することで、より検索意図に近いと考えられる商品を選択することができる。従来の手法では、選択または購入された商品のみを評価する形でラベルを設定していた。この場合、どうしても人気商品や売れ筋の商品に対して高いラベルが設定されることになるし、低価格の商品の方が選択・購入回数が多くなるのは当然であるため高価格の商品のラベルが低くなる傾向が生じていた。このため、利用者が、あまり有名でない商品を意図してクエリを入力した場合、或いは高価格な商品を意図してクエリを入力した場合、検索意図と異なる商品が列挙されてしまう場合があった。
【0032】
これに対し、実施形態の手法では、選択または購入された商品と同じカテゴリの商品についても、ある程度の評価を与えるようにラベルを設定するため、より検索意図に近いと考えられる商品を選択することができる。選択または購入された商品は、検索意図に沿っている蓋然性が高いものであり、それと同じカテゴリが付与されているということは、同様に検索意図に沿っている蓋然性を有すると考えられるからである。
【0033】
以上説明した実施形態によれば、クエリに合致する商品の特徴量(商品ベクトル)を、特徴量(商品ベクトル)を入力するとスコアを出力する学習済みモデル118に入力することで商品ごとのスコアを取得し、スコアに基づいてランキング処理を行い、ランキング結果が上位となったランキング対象を選択するランキング処理部110を備え、学習済みモデル118は、選択または購入された商品だけでなく、選択または購入された商品と同じカテゴリが付与された商品についても評価を高くするラベルを用いて生成されたものであるため、より検索意図に近いと考えられる商品を選択することができる。
【0034】
<他の実施形態>
情報処理装置は、ショッピングサーバとは別体のプロセッサにより構成されてもよい。
図10は、他の実施形態に係る情報処理装置の実装例を示す図である。図示するように、学習処理部130を備える情報処理装置(学習装置)Aと、ランキング処理部110を備える情報処理装置(ランキング処理装置)Bとが、それぞれショッピングサーバCと別体に構成され、これらがネットワークNWを介して互いに通信するように構成されてもよい。この例において、情報処理装置Aと情報処理装置Bは統合されて一つの装置であってもよい。
図10において
図1と同じ符号を付している構成要素は、
図1に即して説明したものと同様の機能を有するものとする。
【0035】
図10の実装例において、情報処理装置Aの学習処理部130は、所望のタイミングで商品データ150およびログデータ152をショッピングサーバCから取得して、上記説明したものと同様の処理を行う。そして、生成した学習済みモデルを情報処理装置Bに提供する。
【0036】
情報処理装置Bは、クエリ取得部106を備える。クエリ取得部105は、ショッピングサーバCからランキング依頼と共にクエリを取得し、クエリをランキング処理部110に渡す。ランキング処理部110は、予めショッピングサーバCから一日に一回程度の頻度で取得している商品データ150およびログデータ152と、情報処理装置Aから取得した学習済みモデル118を用いて、上記説明したものと同様の処理を行う。係る構成によっても、上記実施形態と同様に、より検索意図に近いと考えられる商品を選択することができる。
【0037】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0038】
100 ショッピングサーバ(情報処理装置)
102 サイト提供部
104 ログ収集部
106 クエリ取得部
110 ランキング処理部
112 検索実行部
114 特徴量取得部
116 モデル実行部
118 学習済みモデル
130 学習処理部
150 商品データ
152 ログデータ
A、B 情報処理装置
C ショッピングサーバ