JP2019053386A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2019053386A
JP2019053386A JP2017175549A JP2017175549A JP2019053386A JP 2019053386 A JP2019053386 A JP 2019053386A JP 2017175549 A JP2017175549 A JP 2017175549A JP 2017175549 A JP2017175549 A JP 2017175549A JP 2019053386 A JP2019053386 A JP 2019053386A
Authority
JP
Japan
Prior art keywords
category
query
search
information processing
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017175549A
Other languages
English (en)
Other versions
JP6971103B2 (ja
Inventor
文彦 ▲高▼橋
文彦 ▲高▼橋
Fumihiko Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2017175549A priority Critical patent/JP6971103B2/ja
Publication of JP2019053386A publication Critical patent/JP2019053386A/ja
Application granted granted Critical
Publication of JP6971103B2 publication Critical patent/JP6971103B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】検索精度を向上させることができる情報処理装置、情報処理方法、およびプログラムを提供すること。【解決手段】本発明の一態様は、検索に用いられたクエリを解析して、前記クエリを単語に分割する解析部と、前記解析部によって分割された単語を特徴ベクトルに変換する変換部と、学習データにおけるクエリに含まれる単語の特徴ベクトルと、前記学習データにおけるクエリに関連付けされたカテゴリとの関係を学習することにより、前記検索に用いられたクエリと関連付けされるカテゴリを推定する第1推定部とを備える情報処理装置である。【選択図】図1

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
ウェブ検索の分野において、ユーザが入力したキーワード(以下、「クエリ」)に応じて、このクエリに関連する各種商品またはサービスの情報を提供する手法が行われている。また、ユーザが意図する商品またはサービスの情報を高精度で提供するために、機械学習を用いた検索手法の開発も進められている。
特表2002−530948号公報
しかしながら、従来の技術では、クエリとの関連度が低く、ユーザが意図しない商品またはサービスの情報が提供される場合があった。また、従来の機械学習を用いた手法は、単純な線形モデルを用いたものであり、クエリに含まれる単語の組み合わせを考慮できていなかった。また、一般的な機械学習の分野において、線形モデルの他、エンコーダ−デコーダモデルを用いる手法の研究が進められているが、ウェブ検索の分野に適用することは想定されていなかった(例えば、特許文献1参照)。
本発明は、このような事情を考慮してなされたものであり、検索精度を向上させることができる情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
本発明の一態様は、検索に用いられたクエリを解析して、前記クエリを単語に分割する解析部と、前記解析部によって分割された単語を特徴ベクトルに変換する変換部と、学習データにおけるクエリに含まれる単語の特徴ベクトルと、前記学習データにおけるクエリに関連付けされたカテゴリとの関係を学習することにより、前記検索に用いられたクエリと関連付けされるカテゴリを推定する第1推定部とを備える情報処理装置である。
本発明の一態様によれば、検索精度を向上させることができる。
第1実施形態の検索サーバ10の使用環境を示す図である。 第1実施形態のカテゴリのツリー構造の一例を示す図である。 第1実施形態の検索サーバ10の学習処理の流れの一例を示す図である。 第1実施形態の検索サーバ10のカテゴリ推定処理の流れの一例を示す図である。 第1実施形態のカテゴリ推定部36におけるカテゴリ推定処理を模式的に示す図である。 第1実施形態の検索結果ページの一例を示す図である。 評価実験において利用したモデルを説明する図である。 評価実験の結果を示す図である。 評価実験のクリック数別での一致率の比較結果を示す図である。 評価実験のモデル1を用いて推定されたカテゴリの一例を示す図である。 第2実施形態の検索サーバ11の機能ブロック図である。 第2実施形態の検索ログデータの一例を示す図である。 第2実施形態の検索サーバ11のカテゴリ推定処理の流れの一例を示す図である。 第3実施形態の検索サーバ12の機能ブロック図である。
以下、図面を参照して、情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。
<1.第1実施形態>
以下、本発明の第1実施形態について説明する。本実施形態の情報処理装置は、検索に用いられたクエリを単語に分割し、この分割された単語を特徴ベクトルに変換し、クエリと関連付けされるカテゴリを推定する。本実施形態における「カテゴリ」とは、検索に用いられたクエリに対して検索結果として提供されるコンテンツの内容(商品またはサービス)が属する分野を示す情報である。本実施形態では、情報処理装置が、商品またはサービスのコンテンツの検索結果を提供する検索サーバである例について説明する。
<1−1.システム構成>
図1は、本実施形態の検索サーバ10(情報処理装置)の使用環境を示す図である。検索サーバ10は、ネットワークNWを介して、端末装置T等と接続されている。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダ等を含む。
端末装置Tは、検索サーバ10により提供される検索サービスを利用するユーザによって操作される。端末装置Tは、例えば、パーソナルコンピュータ、スマートフォンなどの携帯電話やタブレット端末、PDA(Personal Digital Assistant)などのコンピュータ装置である。端末装置Tは、ユーザの操作に基づいて動作するブラウザまたはアプリケーションプログラムが、例えば、情報提供を要求するクエリを検索サーバ10に送信し、クエリと関連付けされた情報を検索サーバ10から受信する。
検索サーバ10は、端末装置Tから入力されたクエリと関連付けされる検索結果のページ情報を端末装置Tに送信する。検索サーバ10は、クエリと、このクエリと関連付けされたサイトのページを参照するための参照情報とを関連付けた検索データを用いて、検索結果のページ情報を生成する。参照情報は、例えば、URL(Uniform Resource Locator)を含む。
検索サーバ10は、例えば、通信部30と、クエリ解析部32(解析部)と、クエリ変換部34(変換部)と、カテゴリ推定部36(第1推定部、学習部)と、検索結果生成部38(生成部)と、記憶部40とを備える。通信部30は、ネットワークNWを介して、端末装置T等と通信する。通信部30は、ネットワークNWを介して、端末装置Tからクエリを受信し、検索結果のページ情報を端末装置Tに送信する。通信部30は、例えば、NIC等の通信インターフェースを含む。
クエリ解析部32は、端末装置Tから入力されたクエリを解析して、単語レベルに分割する。クエリ解析部32は、例えば、形態素解析によってクエリを解析し、少なくとも1つの単語に分割する。
クエリ変換部34は、クエリ解析部32によって分割された単語の各々を特徴ベクトルに変換する。クエリ変換部34は、分割された単語の各々を、例えば、word2vecと称されているツール(プログラム)を利用して、特徴ベクトルに変換する。word2vecとは、ニューラルネットワークを利用したツールであり、入力されたコーパスに含まれるテキスト情報を、そのテキスト情報の特徴を示す特徴ベクトルに変換して出力する。本実施形態では、word2vecにおいて、クエリの分散表現が事前に学習されているものとする。
カテゴリ推定部36は、クエリ変換部34から入力された少なくとも1つの特徴ベクトルと関連付けされるカテゴリを推定する。カテゴリ推定部36は、例えば、再帰型ニューラルネットワーク(RNN:Recurrent Neural Networks)に基づくエンコーダデコーダモデルを用いて、カテゴリを推定する。以下においては、カテゴリ推定部36が、エンコーダデコーダモデルを用いる例について説明する。
カテゴリ推定部36は、例えば、エンコーダ42と、デコーダ44とを備える。エンコーダ42およびデコーダ44は、検索に用いられたクエリに含まれる「単語の特徴ベクトル」と、クエリを応じて提供された検索結果ページにおいてユーザが選択した「カテゴリ」との組を学習データとして、学習処理を行う。
エンコーダ42は、上述の学習データを用いて学習を行ったモデル(以下、「エンコードモデル」を用いて、クエリ変換部34から入力された少なくとも1つの特徴ベクトルに対してエンコード処理を行う。エンコーダ42は、クエリ変換部34から2以上の特徴ベクトルが入力された場合、第1の特徴ベクトルに対してエンコード処理を行い、次に、第1の特徴ベクトルのエンコード処理結果と、第2の特徴ベクトルとを用いてエンコード処理を行う。エンコーダ42は、エンコード処理を繰り返すことにより得られたエンコード処理結果をデコーダ44に入力する。
デコーダ44は、上述の学習データを用いて学習を行ったモデル(以下、「デコードモデル」を用いて、エンコーダ42から入力されたエンコード処理結果に基づいて、クエリの単語に関連付けされるべきカテゴリを推定して出力する。カテゴリは、例えば、ツリー構造を有しており、商品またはサービスが属する分野を階層状に定義する。図2は、カテゴリのツリー構造の一例を示す図である。図2に示す例では、第1階層H1として「メンズファッション」、「レディースファッション」等が定義されている。また、「メンズファッション(第1階層H1)」の下位の第2階層H2として、「メンズシューズ」、「メンズバック」等が定義されている。また、「メンズシューズ(第2階層H2)」の下位の第3階層H3として、「スニーカー」、「ビジネスシューズ」、「サンダル」、「ブーツ」等が定義されている。
デコーダ44は、エンコーダ42から入力されるエンコード処理結果(多次元ベクトル)と、図2に示すようなカテゴリのツリー構造との関係を学習する。デコーダ44は、エンコード処理結果に基づいて、クエリの単語に関連付けされるべきカテゴリを推定し、カテゴリのツリー構造における上位の階層から順に出力する。
検索結果生成部38は、カテゴリ推定部36によって推定されたカテゴリに基づいて、検索結果である検索結果ページを生成する。検索結果生成部38は、生成した検索結果ページを、通信部30を介して、端末装置Tに送信する。
検索サーバ10の各機能部は、例えば、コンピュータにおいて、CPU(Central Processing Unit)等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
記憶部40は、クエリと、このクエリと関連付けされたサイトのページを参照するための参照情報とを関連付けた検索データD1、カテゴリのツリー構造を示すカテゴリデータD2等を記憶する。記憶部40は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置等により実現される。また、記憶部40の一部または全部は、NASや外部のストレージサーバ等、検索サーバ10がアクセス可能な外部装置であってもよい。
<1−2.学習処理>
以下において、検索サーバ10の学習処理について説明する。図3は、検索サーバ10の学習処理の流れの一例を示す図である。カテゴリ推定部36は、クエリに含まれる単語の特徴ベクトルと、このクエリと関連付けされるカテゴリとの関係を学習する。
まず、検索サーバ10のカテゴリ推定部36に、学習データを入力する(S101)。学習データとしては、例えば、検索サービスが利用された際のログデータを利用する。学習データとしては、例えば、検索に用いられたクエリに含まれる「単語の特徴ベクトル」と、クエリを応じて提供された検索結果ページにおいてユーザが選択した「カテゴリ」との組を利用する。
次に、カテゴリ推定部36のエンコーダ42が「クエリに含まれる単語の特徴ベクトル」をエンコードし(S103)、デコーダ44が、エンコーダ42によるエンコード処理結果をデコードした際に(S105)、このクエリと組となる「カテゴリ」が出力されるように、このエンコーダモデルおよびデコーダモデルにおけるパラメータを調整する(S107)。
デコーダ44は、例えば、このデコード処理の結果として、第1階層として定義されたカテゴリごとに、クエリの単語との関連度合を示すスコアを算出する。デコーダ44は、学習データにおいてクエリと組となるカテゴリのスコアが高くなるように、デコーダモデルにおけるパラメータを調整する。カテゴリ推定部36は、例えば、逆伝播法により、パラメータの調整を行ってよい。第2階層以下の階層についても、同様な処理を行う。以上により、本フローチャートの処理を終了する。
尚、ログデータにおいて、あるクエリに対して複数存在するカテゴリのデータのうち、クリック数の少ないカテゴリのデータ(クリック数(選択された回数)が所定の閾値以下であるデータ)を除外し、除外後のログデータを学習データとするようにしてもよい。これにより、エンコーダモデルおよびデコーダモデルの精度を向上させることができる。
<1−3.カテゴリ推定処理>
以下において、検索サーバ10のカテゴリ推定処理について説明する。図4は、検索サーバ10のカテゴリ推定処理の流れの一例を示す図である。
まず、クエリ解析部32は、通信部30を介して、端末装置Tから入力されたクエリを取得する(S201)。次に、クエリ解析部32は、端末装置Tから入力されたクエリを解析して、単語レベルに分割する(S203)。クエリ解析部32は、例えば、形態素解析によってクエリを解析し、単語レベルに分割する。
次に、クエリ変換部34は、クエリ解析部32によって分割された単語の各々を特徴ベクトルに変換する(S205)。クエリ変換部34は、分割された単語の各々を、例えば、word2vecを利用して、特徴ベクトルに変換する。
次に、エンコーダ42は、クエリ変換部34によって変換された特徴ベクトルのうち、第1の単語の特徴ベクトルに対してエンコード処理を行う(S207)。次に、エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了したか否かを判定する(S209)。
エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了していないと判定した場合、クエリ変換部34によって変換された特徴ベクトルのうち、第2の単語の特徴ベクトルと、第1の単語の特徴ベクトルに対するエンコード処理結果とを用いて、再度、エンコード処理を行う(S207)。次に、エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了したか否かを判定する(S209)。以下、全ての単語の特徴ベクトルに対するエンコード処理が完了するまで、同様な処理を繰り返す。エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了したと判定した場合、上述のエンコード処理を繰り返した結果として得られたエンコード処理結果をデコーダ44に入力する。
次に、デコーダ44は、エンコーダ42から入力されたエンコード処理結果に対して、デコード処理を行う(S211)。デコーダ44は、このデコード処理の結果として、第1階層として定義されたカテゴリごとに、クエリの単語との関連度合を示すスコアを算出する。例えば、最も高いスコアのカテゴリが、クエリと関連付けされるカテゴリとして推定される。
次に、デコーダ44は、最下層のカテゴリの推定が完了したか否かを判定する(S213)。デコーダ44は、最下層のカテゴリの推定が完了していないと判定した場合、推定されたカテゴリの情報と、デコード処理結果とを用いて、再度、デコード処理を行う(S211)。次に、エンコーダ42は、最下層のカテゴリの推定が完了したか否かを判定する(S213)。以下、最下層のカテゴリの推定が完了するまで、同様な処理を繰り返す。デコーダ44は、最下層のカテゴリの推定が完了したと判定した場合、推定したカテゴリの情報を検索結果生成部38に入力する。
図5は、カテゴリ推定部36におけるカテゴリ推定処理を模式的に示す図である。図5に示す例では、クエリ解析部32は、端末装置Tから入力されたクエリ「メンズ スニーカー A社」を、「メンズ」、「スニーカー」、および「A社」という3単語に分割し、クエリ変換部34が、これらの3つの単語の各々を特徴ベクトルに変換して、カテゴリ推定部36に入力する例を示す。
まず、エンコーダ42は、第1の単語「メンズ」の特徴ベクトルに対してエンコード処理を行い、第1のエンコード処理結果R1を得る。次に、エンコーダ42は、第2の単語「スニーカー」の特徴ベクトルと、第1のエンコード処理結果R1とを用いてエンコード処理を行い、第2のエンコード処理結果R2を得る。次に、エンコーダ42は、第3の単語「A社」の特徴ベクトルと、第2のエンコード処理結果R2とを用いてエンコード処理を行い、第3のエンコード処理結果R3を得る。エンコーダ42は、第3のエンコード処理結果R3をデコーダ44に入力する。
次に、デコーダ44は、エンコーダ42から入力された第3のエンコード処理結果R3に対してデコード処理を行う。ここで、デコーダ44は、最上位層(第1階層H1)のカテゴリごとに、「メンズ」、「スニーカー」、および「A社」という3単語との関連度合を示すスコアを算出する。デコーダ44は、カテゴリごとに算出したスコアの内、最も高いスコアを示すカテゴリを、「メンズ」、「スニーカー」、および「A社」という3単語と関連付けされる第1のカテゴリ(この例では「メンズファッション」)と推定する。
次に、デコーダ44は、第3のエンコード処理結果R3に対するデコード処理結果(第1のデコード処理結果R4)と、推定されたカテゴリ「メンズファッション」を示すデータとを用いてデコード処理を行う。ここで、デコーダ44は、推定されたカテゴリ「メンズファッション(第1階層)」の下位に位置する第2階層H2のカテゴリごとに、「メンズ」、「スニーカー」、および「A社」という3単語との関連度合を示すスコアを算出する。デコーダ44は、カテゴリごとに算出したスコアの内、最も高いスコアを示すカテゴリを、「メンズ」、「スニーカー」、および「A社」という3単語と関連付けされる第2のカテゴリ(この例では「メンズシューズ」)と推定する。
次に、デコーダ44は、第1のデコード処理結果R4に対するデコード処理結果(第2のデコード処理結果R5)と、推定されたカテゴリ「メンズシューズ」を示すデータとを用いてデコード処理を行う。ここで、デコーダ44は、推定されたカテゴリ「メンズシューズ(第2階層)」の下位に位置する第3階層H3のカテゴリごとに、「メンズ」、「スニーカー」、および「A社」という3単語との関連度合を示すスコアを算出する。デコーダ44は、カテゴリごとに算出したスコアの内、最も高いスコアを示すカテゴリを、「メンズ」、「スニーカー」、および「A社」という3単語と関連付けされる第3のカテゴリ(この例では「スニーカー」)と推定する。
図5に示す以上の処理により、「メンズ」、「スニーカー」、および「A社」という3単語と関連付けされるカテゴリとして、「メンズファッション(第1階層)」、「メンズシューズ(第2階層)」、および「スニーカー(第3階層)」というカテゴリの推定結果が得られる。
次に、検索結果生成部38は、デコーダ44から入力されたカテゴリの推定結果に基づいて、検索結果である検索結果ページを生成し、端末装置Tに送信する(S215)。図6は、検索結果ページP1の一例を示す図である。図6に示す例において、検索結果生成部38は、推定された第3階層のカテゴリである「スニーカー」をページ内の最も視認性の高い位置に配置した検索結果ページP1を生成する。
尚、図6に示す例では、推定されたカテゴリである「スニーカー」に加え、推定された第2階層のカテゴリである「メンズシューズ(第2階層)」の下位のその他のカテゴリである「ブーツ」、「サンダル」、「ビジネスシューズ」等が、例えば、スコアが高い順に並べられて表示されている。検索結果生成部38は、生成した検索結果ページP1を、通信部30を介して、端末装置Tに送信する。端末装置Tのユーザは、端末装置Tを操作して検索結果ページP1に含まれる1つのカテゴリを選択することで、ユーザの意図に応じた検索結果を取得することができる。以上により、本フローチャートの処理を終了する。
尚、図6に示す例では、推定されたカテゴリをユーザに選択させる検索結果ページP1を端末装置Tに送信する例を説明した。しかしながら、検索結果生成部38は、推定されたカテゴリをユーザに選択させる検索結果ページP1に代えて、推定されたカテゴリに関連する商品またはサービスのページを端末装置Tに送信するようにしてもよい。
<1−3.評価実験>
本実施形態における検索サーバ10のカテゴリ推定精度を評価するために、図7に示すような3つのモデルを用いた評価実験を行った。モデル1は、本実施形態の検索サーバ10で使用するエンコーダデコーダモデルである。モデル2は、従来技術の線形分類器を用いた線形モデルである。モデル3は、従来技術のログに基づく(実績ベース)モデルである。このモデル3では、検索ログにおいてクリック数の多いカテゴリが選択される。この評価実験では、検索に実際に利用されたに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうち、クリック数が最も多いカテゴリを「正解カテゴリ」とした。この評価実験では、各モデルを利用したカテゴリ推定処理を行う検索サーバ10に対して、検索に実際に利用されたクエリを入力し、検索サーバ10によって推定されたカテゴリと、正解カテゴリとの一致率を算出した。
図8は、上述の評価実験の結果を示す図である。図8に示すように、第1階層のカテゴリ、第2階層のカテゴリ、および第3階層のカテゴリのいずれにおいても、モデル3(ログモデル)を用いた推定結果の一致率が最も高く、次に、モデル1(エンコーダデコーダモデル)を用いた推定結果の一致率が高く、モデル2(線形モデル)を用いた推定結果の一致率が最も低かった。
また、図9は、評価実験のクリック数別での一致率の比較結果を示す図である。図9に示すように、いずれのクリック数においても、モデル3を用いた推定結果の一致率が最も高く、次に、モデル1を用いた推定結果の一致率が高く、モデル2を用いた推定結果の一致率が最も低かった。クリック数が少ない場合においても(いわゆるテールクエリにおいても)、モデル3を用いた推定結果の一致率が最も高いことが分かった。
この評価実験に使用したモデル1では、クリック頻度を考慮していないため、クリック数が多いカテゴリも、クリック数が少ないカテゴリも同じように処理されるため、学習データに含まれるノイズに弱いことが想定される。
また、モデル1を用いて推定されたカテゴリは、検索ログにおける正解カテゴリとは異なっていたものの、正しい推定処理が行われていると判断されてよいものも含まれていた。図10は、モデル1を用いて推定されたカテゴリの一例を示す図である。図10に示すように、例えば、「新婚 プレゼント」というクエリに対して、モデル1を用いて推定されたカテゴリはキッチン用品に関連するカテゴリであったのに対して、正解カテゴリはゲームに関連するカテゴリであった。これはクエリの多義性に起因するものであり、このようなモデル1の推定結果は正しいと判断してもよいと考えらえる。
また、例えば、「大きい 財布 通帳 入る」というクエリに対して、モデル1を用いて推定されたカテゴリはレディースファッションに関連するカテゴリであったのに対して、正解カテゴリはメンズファッションに関連するカテゴリであった。これは、商品に関連するカテゴリが重複して存在することに起因するものであり、このようなモデル1の推定結果は正しいと判断してもよいと考えらえる。
また、例えば、「携帯 電話 かわいい ストラップ」というクエリに対して、モデル1を用いて推定されたカテゴリはスマートフォンに関連するカテゴリであったのに対して、正解カテゴリはレディースファッションに関連するカテゴリであった。これは、クエリに対するカテゴリ選択の困難性に起因するものであり、このようなモデル1の推定結果は正しいと判断してもよいと考えらえる。
その他、モデル1の推定処理が正解ではないと判断されなかった例として、クエリ解析部32によるクエリに対する形態素解析が適切でなかった場合や、クエリに含まれる特定の単語がカテゴリ推定に大きな影響を及ぼしその他の単語との関連が適切に評価されなかった場合等があった。
上述のような、モデル1を用いて推定されたカテゴリに関して、検索ログにおける「正解カテゴリ」とは異なっていたものの、正しい推定処理が行われていると判断してよいものを考慮すると、モデル1における第1階層のカテゴリの一致率は、0.9238(92.38[%])となった。この点を考慮すると、本実施形態の検索サーバ10におけるエンコーダデコーダモデルを用いたカテゴリ推定の精度は高いと判断できる。
また、モデル3を用いた推定処理における、クエリに対する検索ログのカバレッジは、全体で0.3671であった。このため、モデル3を用いた場合、クエリが検索ログに存在していないと適切なカテゴリの推定が行えない場合がある。一方、モデル1を用いた推定では、クエリが検索ログに存在しない場合であっても、適切にカテゴリの推定を行うことができる。例えば、「メンズ、スニーカー、B社」というクエリの学習が行われていない場合であっても、「メンズ、スニーカー、A社」というクエリの学習が行われおり、かつ、「B社」と「A社」とがベクトル表現上で近い単語であるという学習が行われていれば、「メンズ、スニーカー、B社」に対するカテゴリを適切に推定することが可能である。
以上において説明した本実施形態の検索サーバ10によれば、クエリと関連付けされるカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。また、本実施形態の検索サーバ10によれば、過去に検索に用いられたことのない未知のクエリが入力された場合であっても適切にカテゴリの推定を行うことができる。
尚、エンコーダ42のエンコード処理結果に基づいて、検索サーバ10に対する端末装置Tを操作するユーザからのアクセスの一まとまりのセッションの切れ目を判定する判定部さらに設けてもよい。例えば、エンコード処理結果が示すベクトルのベクトル座標空間上の位置が大きく変化した場合に、ユーザからのアクセスのセッションが切り替わったと判定するようにしてよい。
<2.第2実施形態>
以下、本発明の第2実施形態について説明する。本実施形態の情報処理装置(検索サーバ)は、第1実施形態と比較して、エンコーダデコーダモデルに基づくカテゴリ推定処理と、ログデータに基づくカテゴリ推定処理との両方を行う点が異なる。このため、構成などについては第1実施形態で説明した図および関連する記載を援用し、詳細な説明を省略する。
<2−1.システム構成>
図11は、本実施形態の検索サーバ11の機能ブロック図である。検索サーバ11は、第1実施形態の検索サーバ10の構成要素に加えて、例えば、クエリ判定部46と、第2カテゴリ推定部48(第2推定部)とをさらに備える。
クエリ判定部46は、記憶部40に記憶された検索ログを参照し、端末装置Tから入力されたクエリが、過去の検索ログに存在しているか否かを判定する。検索サーバ11では、クエリ判定部46が端末装置Tから入力されたクエリが過去の検索ログに存在していないと判定した場合、第1実施形態と同様なエンコーダデコーダモデルに基づくカテゴリ推定処理を行う。一方、検索サーバ11では、クエリ判定部46が端末装置Tから入力されたクエリが過去の検索ログに存在していると判定した場合、ログデータに基づくカテゴリ推定処理を行う。
第2カテゴリ推定部48は、例えば、記憶部40に記憶された検索ログデータD3を参照し、カテゴリを推定する。第2カテゴリ推定部48は、例えば、記憶部40に記憶された検索ログデータD3において、クリック数が最も多いカテゴリを選択する。図12は、検索ログデータD3の一例を示す図である。図12において、クエリが「レディース B社」の場合、第1階層のカテゴリ1が「レディースファッション」であり、第2階層のカテゴリ2が「財布・小物」であり、第3階層のカテゴリ3が「財布」であるカテゴリのクリック数(256999)が最も多い。このため、クエリが「レディース B社」の場合、第2カテゴリ推定部48は、このクエリに関連付けされるカテゴリとして、第1階層のカテゴリ1が「レディースファッション」であり、第2階層のカテゴリ2が「財布・小物」であり、第3階層のカテゴリ3が「財布」を推定する。
<2−2.カテゴリ推定処理>
以下において、検索サーバ11のカテゴリ推定処理について説明する。図13は、検索サーバ11のカテゴリ推定処理の流れの一例を示す図である。
まず、クエリ解析部32は、通信部30を介して、端末装置Tから入力されたクエリを取得する(S301)。次に、クエリ判定部46は、記憶部40に記憶された検索ログを参照し、端末装置Tから入力されたクエリが、過去の検索ログに存在しているか否かを判定する(S303)。
クエリ判定部46が端末装置Tから入力されたクエリが過去の検索ログに存在していると判定した場合、第2カテゴリ推定部48は、記憶部40に記憶された検索ログデータD3を参照し、カテゴリを推定する(S305)。第2カテゴリ推定部48は、推定したカテゴリの情報を検索結果生成部38に入力する。
一方、クエリ判定部46が端末装置Tから入力されたクエリが過去の検索ログに存在しないと判定した場合、クエリ解析部32は、端末装置Tから入力されたクエリを解析して、単語レベルに分割する(S307)。次に、クエリ変換部34は、クエリ解析部32によって分割された単語の各々を特徴ベクトルに変換する(S309)。
次に、エンコーダ42は、クエリ変換部34によって変換された特徴ベクトルのうち、第1の単語の特徴ベクトルに対してエンコード処理を行う(S311)。次に、エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了したか否かを判定する(S313)。
エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了していないと判定した場合、クエリ変換部34によって変換された特徴ベクトルのうち、第2の単語の特徴ベクトルと、第1の単語の特徴ベクトルに対するエンコード処理結果とを用いて、再度、エンコード処理を行う(S311)。次に、エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了したか否かを判定する(S313)。以下、全ての単語の特徴ベクトルに対するエンコード処理が完了するまで、同様な処理を繰り返す。エンコーダ42は、全ての単語の特徴ベクトルに対するエンコード処理が完了したと判定した場合、上述のエンコード処理を繰り返した結果として得られたエンコード処理結果をデコーダ44に入力する。
次に、デコーダ44は、エンコーダ42から入力されたエンコード処理結果に対して、デコード処理を行う(S315)。次に、デコーダ44は、最下層のカテゴリの推定が完了したか否かを判定する(S317)。デコーダ44は、最下層のカテゴリの推定が完了していないと判定した場合、推定されたカテゴリの情報と、デコード処理結果とを用いて、再度、デコード処理を行う(S315)。次に、エンコーダ42は、最下層のカテゴリの推定が完了したか否かを判定する(S317)。以下、最下層のカテゴリの推定が完了するまで、同様な処理を繰り返す。デコーダ44は、最下層のカテゴリの推定が完了したと判定した場合、推定したカテゴリの情報を検索結果生成部38に入力する。
次に、検索結果生成部38は、デコーダ44または第2カテゴリ推定部48から入力されたカテゴリの推定結果に基づいて、検索結果である検索結果ページを生成し、端末装置Tに送信する(S319)。以上により、本フローチャートの処理を終了する。
以上において説明した本実施形態の検索サーバ11によれば、クエリと関連付けされるカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。また、本実施形態の検索サーバ11によれば、端末装置Tから入力されたクエリが過去の検索ログに存在していない場合、エンコーダデコーダモデルに基づくカテゴリ推定処理を行い、端末装置Tから入力されたクエリが過去の検索ログに存在している場合、ログデータに基づくカテゴリ推定処理を行うことで、カテゴリの推定精度をさらに向上させることができる。
<3.第3実施形態>
以下、本発明の第3実施形態について説明する。本実施形態の情報処理装置(検索サーバ)は、第1実施形態と比較して、1つのエンコーダと、複数の推定部(デコーダ)とを備える点が異なる。このため、構成などについては第1実施形態で説明した図および関連する記載を援用し、詳細な説明を省略する。
<3−1.システム構成>
図14は、本実施形態の検索サーバ12の機能ブロック図である。検索サーバ12は、第1実施形態の検索サーバ10のカテゴリ推定部36に代えて、例えば、1つのエンコーダ50と、3つの推定部(カテゴリ推定部52、価格帯推定部54、ブランド推定部56)とを備える。
エンコーダ50は、学習データを用いてエンコードモデルを用いて、クエリ変換部34から入力された少なくとも1つの特徴ベクトルに対してエンコード処理を行う。エンコーダ50は、クエリ変換部34から2以上の特徴ベクトルが入力された場合、1つ目の特徴ベクトルに対してエンコード処理を行い、次に、1つ目の特徴ベクトルのエンコード処理結果と、2つ目の特徴ベクトルとを用いてエンコード処理を行う。エンコーダ42は、エンコード処理を繰り返すことにより得られたエンコード処理結果を、カテゴリ推定部52、価格帯推定部54、およびブランド推定部56に入力する。
カテゴリ推定部52は、学習データを用いて学習を行ったデコードモデルを用いて、エンコーダ50から入力されたエンコード処理結果に対してデコード処理を行い、クエリの単語に関連付けされるべきカテゴリを推定して検索結果生成部38に入力する。
価格帯推定部54は、学習データを用いて学習を行ったデコードモデルを用いて、エンコーダ50から入力されたエンコード処理結果に対してデコード処理を行い、クエリの単語に関連付けされるべき商品またはサービスの価格帯を推定して検索結果生成部38に入力する。価格帯推定部54の学習データは、例えば、検索に用いられたクエリに含まれる「単語の特徴ベクトル」と、クエリを応じて提供された検索結果ページにおいてユーザが選択した「商品またはサービスの価格」との組を利用する。
ブランド推定部56は、学習データを用いて学習を行ったデコードモデルを用いて、エンコーダ50から入力されたエンコード処理結果に対してデコード処理を行い、クエリの単語に関連付けされるべき商品またはサービスのブランドを推定して検索結果生成部38に入力する。ブランド推定部56の学習データは、例えば、検索に用いられたクエリに含まれる「単語の特徴ベクトル」と、クエリを応じて提供された検索結果ページにおいてユーザが選択した「商品またはサービスのブランド」との組を利用する。
検索結果生成部38は、カテゴリ推定部52から入力されたカテゴリの推定結果、価格帯推定部54から入力された価格帯の推定結果、およびブランド推定部56から入力されたブランドの推定結果に基づいて、検索結果である検索結果ページを生成し、端末装置Tに送信する。
以上において説明した本実施形態の検索サーバ12によれば、クエリと関連付けされるカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。また、本実施形態の検索サーバ12によれば、カテゴリ推定部52から入力されたカテゴリの推定結果、価格帯推定部54から入力された価格帯の推定結果、およびブランド推定部56から入力されたブランドの推定結果に基づいて、検索結果である検索結果ページを生成するため、さらにユーザの意図に応じた検索結果ページを提供することができる。
尚、カテゴリ推定部52、価格帯推定部54、およびブランド推定部56に加えてあるいは代えて、他の特徴を推定する推定部を設けてもよい。
以上において説明した実施形態によれば、検索に用いられたクエリを解析して、前記クエリを単語に分割する解析部と、前記解析部によって分割された単語を特徴ベクトルに変換する変換部と、学習データにおけるクエリに含まれる単語の特徴ベクトルと、前記学習データにおけるクエリに関連付けされたカテゴリとの関係を学習することにより、前記検索に用いられたクエリと関連付けされるカテゴリを推定する第1推定部とを備えることで、検索精度を向上させることができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
10、11、12…検索サーバ(情報処理装置)
30…通信部
32…クエリ解析部(解析部)
34…クエリ変換部(変換部)
36…カテゴリ推定部(第1推定部、学習部)
38…検索結果生成部(生成部)
40…記憶部
42…エンコーダ
44…デコーダ
46…クエリ判定部(判定部)
48…第2カテゴリ推定部(第2推定部)
50…エンコーダ
52…カテゴリ推定部
54…価格帯推定部
56…ブランド推定部

Claims (14)

  1. 検索に用いられたクエリを解析して、前記クエリを単語に分割する解析部と、
    前記解析部によって分割された単語を特徴ベクトルに変換する変換部と、
    学習データにおけるクエリに含まれる単語の特徴ベクトルと、前記学習データにおけるクエリに関連付けされたカテゴリとの関係を学習することにより、前記検索に用いられたクエリと関連付けされるカテゴリを推定する第1推定部と
    を備える情報処理装置。
  2. 前記第1推定部は、
    前記単語の特徴ベクトルに対してエンコード処理を行うエンコーダと、
    前記エンコーダの処理結果に対してデコード処理を行い、前記検索に用いられたクエリと関連付けされるカテゴリを出力するデコーダと、
    を備える、
    請求項1に記載の情報処理装置。
  3. 前記エンコーダは、複数の前記単語の特徴ベクトルのうち、第1の特徴ベクトルに対する第1のエンコード処理を行った後、前記第1のエンコード処理の結果と第2の特徴ベクトルとを用いた第2のエンコード処理を行う、
    請求項2に記載の情報処理装置。
  4. 前記デコーダは、前記エンコーダの処理結果に対して第1のデコード処理を行って第1のカテゴリを出力し、前記第1のデコード処理の結果に対して第2のデコード処理を行って第2のカテゴリを出力する、
    請求項2または3に記載の情報処理装置。
  5. 前記カテゴリはツリー構造を有しており、
    前記第1のカテゴリは、前記ツリー構造において最上位に定義されたカテゴリであり、
    前記第2のカテゴリは、前記第1のカテゴリの下位に定義されたカテゴリである、
    請求項4に記載の情報処理装置。
  6. 前記第1推定部によって推定されたカテゴリに基づいて、前記検索に用いられたクエリに対する検索結果ページを生成する生成部をさらに備える、請求項1から5のうちいずれか一項に記載の情報処理装置。
  7. 前記解析部は、前記検索に用いられたクエリを形態素解析によって解析して、前記クエリを単語に分割する、請求項1から6のうちいずれか一項に記載の情報処理装置。
  8. 検索に用いられたクエリの単語の特徴ベクトルと、前記検索に用いられたクエリに対する検索結果ページにおいてユーザにより選択されたカテゴリとの関係を学習する学習部をさらに備え、
    前記学習部は、前記ユーザにより選択された回数が所定の閾値以下であるカテゴリを学習データから除外する、
    請求項1から7のうちいずれか一項に記載の情報処理装置。
  9. 前記検索に用いられたクエリに対する検索結果ページにおいてユーザにより選択されたカテゴリのログに基づいて、前記検索に用いられたクエリと関連付けされるカテゴリを推定する第2推定部をさらに備える、
    請求項1から8のうちいずれか一項に記載の情報処理装置。
  10. 前記検索に用いられたクエリが前記ログに存在するか否かを判定する判定部をさらに備え、
    前記判定部が前記検索に用いられたクエリが前記ログに存在すると判定した場合、前記第2推定部が、前記検索に用いられたクエリと関連するカテゴリを推定し、
    前記判定部が前記検索に用いられたクエリが前記ログに存在しない判定した場合、前記第1推定部が、前記検索に用いられたクエリと関連するカテゴリを推定する、
    請求項9に記載の情報処理装置。
  11. 前記第1推定部は、
    前記単語の特徴ベクトルに対してエンコード処理を行うエンコーダと、
    前記エンコーダの処理結果に対してデコード処理を行う複数のデコーダと、
    を備える、
    請求項1に記載の情報処理装置。
  12. 前記単語の特徴ベクトルに対してエンコード処理を行うエンコーダと、
    前記エンコーダの処理結果に基づいて、前記情報処理装置に対するユーザからのアクセスの一まとまりのセッションの切れ目を判定する判定部と、
    をさらに備える、
    請求項1に記載の情報処理装置。
  13. コンピュータが、
    検索に用いられたクエリを解析して、前記クエリを単語に分割し、
    前記分割された単語を特徴ベクトルに変換し、
    学習データにおけるクエリに含まれる単語の特徴ベクトルと、前記学習データにおけるクエリに関連付けされたカテゴリとの関係を学習することにより、前記検索に用いられたクエリと関連付けされるカテゴリを推定する、情報処理方法。
  14. コンピュータに、
    検索に用いられたクエリを解析させて、前記クエリを単語に分割させ、
    前記分割された単語を特徴ベクトルに変換させ、
    学習データにおけるクエリに含まれる単語の特徴ベクトルと、前記学習データにおけるクエリに関連付けされたカテゴリとの関係を学習することにより、前記検索に用いられたクエリと関連付けされるカテゴリを推定させる、プログラム。
JP2017175549A 2017-09-13 2017-09-13 情報処理装置、情報処理方法、およびプログラム Active JP6971103B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017175549A JP6971103B2 (ja) 2017-09-13 2017-09-13 情報処理装置、情報処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017175549A JP6971103B2 (ja) 2017-09-13 2017-09-13 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019053386A true JP2019053386A (ja) 2019-04-04
JP6971103B2 JP6971103B2 (ja) 2021-11-24

Family

ID=66015040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017175549A Active JP6971103B2 (ja) 2017-09-13 2017-09-13 情報処理装置、情報処理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6971103B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188837A1 (ja) 2019-03-20 2020-09-24 富士ゼロックス株式会社 発光装置、光学装置および情報処理装置
CN113449050A (zh) * 2020-03-24 2021-09-28 北京四维图新科技股份有限公司 位置搜索方法、装置及存储介质
JP2021179980A (ja) * 2020-05-11 2021-11-18 ネイバー コーポレーションNAVER Corporation ショッピング検索のための商品カテゴリ抽出方法
CN114598597A (zh) * 2022-02-24 2022-06-07 烽台科技(北京)有限公司 多源日志解析方法、装置、计算机设备及介质
JP2022165754A (ja) * 2021-04-20 2022-11-01 ヤフー株式会社 算出装置、算出方法及び算出プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233707A (ja) * 1992-02-17 1993-09-10 Mitsubishi Electric Corp 情報データベース装置
JP2002251412A (ja) * 2001-02-22 2002-09-06 Canon Inc 文書検索装置および方法ならびに記憶媒体
US20170061294A1 (en) * 2015-08-25 2017-03-02 Facebook, Inc. Predicting Labels Using a Deep-Learning Model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233707A (ja) * 1992-02-17 1993-09-10 Mitsubishi Electric Corp 情報データベース装置
JP2002251412A (ja) * 2001-02-22 2002-09-06 Canon Inc 文書検索装置および方法ならびに記憶媒体
US20170061294A1 (en) * 2015-08-25 2017-03-02 Facebook, Inc. Predicting Labels Using a Deep-Learning Model

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020188837A1 (ja) 2019-03-20 2020-09-24 富士ゼロックス株式会社 発光装置、光学装置および情報処理装置
CN113449050A (zh) * 2020-03-24 2021-09-28 北京四维图新科技股份有限公司 位置搜索方法、装置及存储介质
CN113449050B (zh) * 2020-03-24 2024-04-16 北京四维图新科技股份有限公司 位置搜索方法、装置及存储介质
JP2021179980A (ja) * 2020-05-11 2021-11-18 ネイバー コーポレーションNAVER Corporation ショッピング検索のための商品カテゴリ抽出方法
JP7108740B2 (ja) 2020-05-11 2022-07-28 ネイバー コーポレーション ショッピング検索のための商品カテゴリ抽出方法
JP2022165754A (ja) * 2021-04-20 2022-11-01 ヤフー株式会社 算出装置、算出方法及び算出プログラム
JP7372278B2 (ja) 2021-04-20 2023-10-31 ヤフー株式会社 算出装置、算出方法及び算出プログラム
CN114598597A (zh) * 2022-02-24 2022-06-07 烽台科技(北京)有限公司 多源日志解析方法、装置、计算机设备及介质
CN114598597B (zh) * 2022-02-24 2023-12-01 烽台科技(北京)有限公司 多源日志解析方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
JP6971103B2 (ja) 2021-11-24

Similar Documents

Publication Publication Date Title
JP6971103B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US11783197B2 (en) Using meta-information in neural machine translation
US11423596B2 (en) System and method for generating emoji mashups with machine learning
US10678997B2 (en) Machine learned models for contextual editing of social networking profiles
US11294891B2 (en) Interactive search experience using machine learning
JP6575335B2 (ja) ソーシャルメディアメッセージ及び施設の間のリンクを推定する方法、コンピュータシステム、及びプログラム
US11487946B2 (en) Content editing using content modeling and semantic relevancy scoring
CN108701155B (zh) 社交网络中的专家检测
EP3519990A1 (en) Query-time analytics on graph queries spanning subgraphs
JP6309539B2 (ja) 音声入力を実現する方法および装置
CN112732870B (zh) 基于词向量的搜索方法、装置、设备及存储介质
CN105531701A (zh) 个性化趋势图像搜索建议
WO2017016122A1 (zh) 一种信息推送方法及装置
CN104462051A (zh) 分词方法及装置
JP7058574B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN104221019A (zh) 用于在基于随机索引的***中增强情境智能的方法和装置
Ding et al. Generating high-quality query suggestion candidates for task-based search
US10984026B2 (en) Search method for performing search based on an obtained search word and an associated search word
JP2017151933A (ja) データ分類装置、データ分類方法、及びプログラム
KR102399837B1 (ko) 쇼핑 검색을 위한 상품 카테고리 추출 방법
KR101890207B1 (ko) 개체명 연결 방법, 장치 및 컴퓨터 프로그램
KR20170048008A (ko) 질의의도를 분석하기 위한 장치 및 방법
CN115378890B (zh) 信息输入方法、装置、存储介质及计算机设备
CN111787042A (zh) 用于推送信息的方法和装置
JP2023017983A (ja) 情報生成モデルの訓練方法、情報生成方法、装置、電子機器、記憶媒体およびコンピュータプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211101

R150 Certificate of patent or registration of utility model

Ref document number: 6971103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350