Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6865663B2 - 情報処理装置、情報処理方法、およびプログラム - Google Patents
[go: Go Back, main page]

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

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

Info

Publication number
JP6865663B2
JP6865663B2 JP2017179112A JP2017179112A JP6865663B2 JP 6865663 B2 JP6865663 B2 JP 6865663B2 JP 2017179112 A JP2017179112 A JP 2017179112A JP 2017179112 A JP2017179112 A JP 2017179112A JP 6865663 B2 JP6865663 B2 JP 6865663B2
Authority
JP
Japan
Prior art keywords
category
query
acquired
unit
search
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.)
Active
Application number
JP2017179112A
Other languages
English (en)
Other versions
JP2019053681A (ja
Inventor
高志 石川
高志 石川
孔宣 佐野
孔宣 佐野
拓真 黒川
拓真 黒川
井関 洋平
洋平 井関
圭一郎 永島
圭一郎 永島
文彦 ▲高▼橋
文彦 ▲高▼橋
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 JP2017179112A priority Critical patent/JP6865663B2/ja
Publication of JP2019053681A publication Critical patent/JP2019053681A/ja
Application granted granted Critical
Publication of JP6865663B2 publication Critical patent/JP6865663B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
ウェブ検索の分野において、ユーザが入力したキーワード(以下、「クエリ」という)に応じて、このクエリに関連する各種商品またはサービス(以下、「商品等」という)の情報を提供する手法が行われている。また、ユーザが意図する商品等の情報を高精度で提供するために、クエリに対応する商品等のカテゴリをカテゴリ間のツリー構造のデータとして予め定義し、このツリー構造のデータに基づいて、各クエリに対するカテゴリ間の類似度を算出する手法が知られている(例えば、特許文献1参照)。
特開2017−45196号公報
しかしながら、従来の手法では、クエリとの関連度が低く、ユーザが意図しない商品等の情報が提供される場合があった。例えば、「テレビ」というクエリに対して「テレビ台」の商品の情報が提供される場合、「ビール」というクエリに対して「グラス」の商品の情報が提供される場合等、ユーザが意図した商品等とは異なるカテゴリに属する商品等の情報が提供される場合があった。
本発明は、このような事情を考慮してなされたものであり、より正確にカテゴリを推定することにより、検索精度を向上させることが可能な情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備える情報処理装置である。
本発明の一態様によれば、正確にカテゴリを推定することにより、検索精度を向上させることができる。
第1実施形態の検索サーバ1の機能ブロック図である。 第1実施形態のカテゴリツリーデータD2の一例を示す図である。 第1実施形態のワードツリーデータD3の一例を示す図である。 第1実施形態の検索サーバ1の検索処理の流れ一例を示すフローチャートである。 第1実施形態の検索サーバ1の検索処理の一例の概要を説明する図である。 第1実施形態の検索サーバ1によって処理されるクエリと推定されたカテゴリとの関係の一例を示す図である。 第1実施形態のカテゴリツリーデータD4の一例を示す図である。 第1実施形態のワードツリーデータD5の一例を示す図である。 第2実施形態の検索サーバ2の機能ブロック図である。 第2実施形態の検索サーバ2の検索処理の流れ一例を示すフローチャートである。
以下、図面を参照して、情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。
<1.第1実施形態>
以下、本発明の第1実施形態について説明する。本実施形態の情報処理装置は、検索に用いられたクエリを単語(以下、「ワード」ともいう)に分離し、予め定義された単語とカテゴリとを関連付けしたワードツリーデータに基づいて、クエリと対応するカテゴリを推定し、この推定したカテゴリに属する商品等の情報(検索対象)を検索結果として出力する。本実施形態における「カテゴリ」とは、検索に用いられたクエリに対して検索結果として提供されるコンテンツの内容(商品またはサービス)が属する分野を示す情報である。本実施形態では、情報処理装置が、商品等のコンテンツの検索結果を提供する検索サーバである例について説明する。
<1−1.システム構成>
図1は、本実施形態の検索サーバ1(情報処理装置)の機能ブロック図である。検索サーバ1は、ネットワークNWを介して、端末装置T等と接続されている。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダ等を含む。
端末装置Tは、検索サーバ1により提供される検索サービスを利用するユーザによって操作される。端末装置Tは、例えば、パーソナルコンピュータ、スマートフォンなどの携帯電話やタブレット端末、PDA(Personal Digital Assistant)などのコンピュータ装置である。端末装置Tは、ユーザの操作に基づいて動作するブラウザまたはアプリケーションプログラムが、例えば、情報提供を要求するクエリを検索サーバ1に送信し、クエリと関連付けられた情報を検索サーバ1から受信する。
検索サーバ1は、端末装置Tから入力されたクエリと関連付けられた検索結果のページ情報を端末装置Tに送信する。検索サーバ1は、クエリと、このクエリと関連付けられたサイトのページを参照するための参照情報とを関連付けた検索データを用いて、検索結果のページ情報を生成する。参照情報は、例えば、URL(Uniform Resource Locator)を含む。
検索サーバ1は、例えば、通信部10(取得部)と、クエリ分離部12(分離部)と、判定部14、第1カテゴリ推定部16(推定部)と、検索結果生成部18(生成部)と、記憶部20とを備える。通信部10は、ネットワークNWを介して、端末装置T等と通信する。通信部10は、ネットワークNWを介して、端末装置Tからクエリを受信し、検索結果のページ情報を端末装置Tに送信する。通信部10は、例えば、NIC等の通信インターフェースを含む。
記憶部20は、例えば、クエリと関連付けられたサイトのページを参照するための参照情報を含む検索データD1と、カテゴリ間の関係をツリー構造で表したカテゴリツリーデータD2と、クエリ間の関係をツリー構造で表し且つクエリの各々と対応するカテゴリの情報を含むワードツリーデータD3等を記憶する。記憶部20は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置等により実現される。また、記憶部20の一部または全部は、NASや外部のストレージサーバ等、検索サーバ1がアクセス可能な外部装置であってもよい。
クエリ分離部12は、端末装置Tから取得されたクエリの文字列を解析して、単語に分離する。クエリ分離部12は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。
判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3に定義されているか否かを判定する。
第1カテゴリ推定部16は、記憶部20から読み出したワードツリーデータD3に基づいて、クエリ分離部12によって分離された単語に対応するカテゴリを、端末装置Tから取得されたクエリに対応するカテゴリとして推定する。第1カテゴリ推定部16は、ワードツリーデータD3の最上位に位置するクエリから順に、端末装置Tから取得されたクエリが該当するまで辿った結果に基づいて、端末装置Tから取得されたクエリに対応するカテゴリを推定する。第1カテゴリ推定部16によるカテゴリ推定処理の詳細については後述する。
検索結果生成部18は、第1カテゴリ推定部16によって推定されたカテゴリを用いた絞込み検索を行い、検索結果である検索結果ページを生成する。例えば、検索結果生成部18は、記憶部20に記憶された検索データD1に対して推定されたカテゴリを用いた絞込み検索を行い、推定されたカテゴリに属する商品等の情報を含む検索結果ページを生成する。検索結果生成部18は、生成した検索結果ページを、通信部10を介して、端末装置Tに送信する。
検索サーバ1の各機能部は、例えば、コンピュータにおいて、CPU(Central Processing Unit)等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
<1−2.ワードツリーデータ>
以下において、ワードツリーデータD3について説明する。図2は、カテゴリツリーデータD2の一例を示す図であり、図3は、カテゴリツリーデータD2に基づいて定義されたワードツリーデータD3の一例を示す図である。ワードツリーデータD3は、例えば、検索サーバ1の設計者等の人手により定義される。
図2に示すカテゴリツリーデータD2においては、第1階層L1のカテゴリとして「家電(A)」が定義され、この第1階層L1「家電(A)」の下位に位置する第2階層L2のカテゴリとして「冷暖房器具空調家電(A:A)」が定義され、この第2階層L2「冷暖房器具空調家電(A:A)」の下位に位置する第3階層L3のカテゴリとして「エアコン(A:A:A)」が定義され、この第3階層L3「エアコン(A:A:A)」の下位に位置する第4階層L4のカテゴリとして「エアコン(家庭用)(A:A:A:A)」、「窓用エアコン(A:A:A:B)」、「エアコンフィルター(A:A:A:C)」、「エアコン用リモコン(A:A:A:D)」、および「その他エアコン部品アクセサリー(A:A:A:E)」が定義されている。なお、括弧内の記号は、カテゴリを識別するカテゴリIDを示している。
また、このカテゴリツリーデータD2においては、第4階層L4に定義されたカテゴリの各々に、カテゴリが、「本体」、「準本体」、および「周辺機器」のいずれの分類と関連するかを示す本体フラグFが設定されている。例えば、「エアコン(家庭用)(A:A:A:A)」には、本体フラグF「本体」が関連付けられている。
ワードツリーデータD3は、カテゴリツリーデータD2に基づいて定義される。例えば、ワードツリーデータD3は、検索に利用されることが想定されるクエリ(利用される頻度が高いクエリ)と、カテゴリツリーデータD2に定義されたカテゴリとを関連付けしたデータ(カテゴリ辞書データ)である。図3に示すワードツリーデータD3においては、第1階層H1としてクエリ「エアコン」に対してカテゴリID「A:A:A」が関連付けられている。このカテゴリID「A:A:A」は、図2に示すカテゴリツリーデータD2における第3階層L3の「エアコン(A:A:A)」と対応する。
また、このワードツリーデータD3においては、第1階層H1「エアコン」の下位に位置する第2階層H2のクエリ「本体」に対してカテゴリID「A:A:A:A」が関連付けられており、クエリ「窓用」に対してカテゴリID「A:A:A:B」が関連付けられており、クエリ「フィルター」に対してカテゴリID「A:A:A:C」が関連付けられており、クエリ「リモコン」に対してカテゴリID「A:A:A:D」が関連付けられており、クエリ「部品」に対してカテゴリID「A:A:A:E」が関連付けられている。
このワードツリーデータD3においては、上記のクエリの以外に、第1階層H1としてのクエリ「窓用エアコン」に対してカテゴリID「A:A:A:B」が関連付けられており、また、第1階層H1としてのクエリ「エアコンフィルター」に対してカテゴリID「A:A:A:C」が関連付けられている。さらに、類似のクエリを含むものとして、第1階層H1としてクエリ「自動車」に対してカテゴリID「X:X」が関連付けられており、第1階層H1「自動車」の下位に位置する第2階層H2のクエリ「エアコンフィルター」に対してカテゴリID「X:X:X:Y」が関連付けられている。
<1−3.検索処理>
以下において、検索サーバ1の検索処理について説明する。図4は、検索サーバ1の検索処理の流れの一例を示す図である。図5は、検索サーバ1の検索処理の一例の概要を説明する図である。
まず、クエリ分離部12は、通信部10を介して、端末装置Tから入力されたクエリを取得する(S101)。次に、クエリ分離部12は、端末装置Tから取得されたクエリを解析して、単語に分離する(S103)。クエリ分離部12は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。
図5に示す例では、クエリ分離部12は、検索ページにおいてユーザが端末装置Tを介して入力したクエリ「窓用 エアコン」を取得し、このクエリを、スペースを区切りとして、単語1「窓用」と、単語2「エアコン」との2つの単語に分離する。
次に、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1(最上位層)に定義されているか否かを判定する(S105)。図5に示す例では、単語1「窓用」は、図3に示すワードツリーデータD3の第1階層H1には存在しないが、単語2「エアコン」は、ワードツリーデータの第1階層H1に存在する。さらに、単語2「エアコン」の下位に位置する第2階層H2として単語1「窓用」が存在する。この場合、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1に定義されていると判定する。
一方、クエリ分離部12によって分離された単語の全てがワードツリーデータD3の第1階層H1に存在しない場合、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3の第1階層H1に定義されていないと判定する。
判定部14が、クエリ分離部12によって分離された単語がワードツリーデータD3の第1階層H1に定義されていると判定した場合、第1カテゴリ推定部16は、ワードツリーデータD3に基づいて、クエリ分離部12によって分離された単語と対応するカテゴリを、端末装置Tから取得されたクエリに対応するカテゴリとして推定する(S107)。図5に示す例では、単語2「エアコン」の下位の第2階層H2の単語1「窓用」と関連付けられたカテゴリID「A:A:A:B」である「窓用エアコン」が、ユーザが意図したカテゴリと推定される。
次に、検索結果生成部18は、端末装置Tから取得されたクエリに関して、第1カテゴリ推定部16によって推定されたカテゴリで絞込み検索を行う(S109)。検索結果生成部18は、端末装置Tから取得されたクエリに含まれる単語のうち、判定部14によってワードツリーデータD3に定義されていると判定された単語を削除し、残りの単語を検索クエリとして、検索データD1に対して推定されたカテゴリに属する商品等の検索を行う。
図5に示す例では、端末装置Tから取得されたクエリに含まれる単語1「窓用」と、単語2「エアコン」との両方がワードツリーデータD3に定義されていると判定されている。この場合、検索結果生成部18は、単語1および単語2を削除するため、検索データD1に対する検索クエリが存在しなくなる。この場合、検索結果生成部18は、検索クエリを指定せずに、ユーザが意図したカテゴリと推定されたカテゴリID「A:A:A:B(窓用エアコン)」のみを指定し、検索データD1に対して検索を行う。
次に、検索結果生成部18は、推定されたカテゴリを用いた検索結果に基づいて、検索結果ページを生成し、端末装置Tに送信する(S111)。なお、判定部14が、クエリ分離部12によって分離された単語がワードツリーデータD3に定義されていないと判定した場合、検索結果生成部18は、上述のカテゴリ推定処理を行うことなく、端末装置Tから取得されたクエリを用いた通常の検索処理(カテゴリを絞込みしない検索処理)を行って検索結果ページを生成し、端末装置Tに送信する。以上により、本フローチャートの処理が終了する。
図6は、検索サーバ1によって処理されるクエリと推定されたカテゴリとの関係の一例を示す図である。端末装置Tから取得されたクエリが「エアコン」である場合、このクエリを入力したユーザは、エアコンの「本体」の検索を意図していることが想定される。このため、図3に示すワードツリーデータD3における第1階層H1の「エアコン(A:A:A)」には「本体絞込」のフラグが設定されている。この「本体絞込」のフラグは、図2に示すカテゴリツリーデータD2の第4階層L4のカテゴリ「エアコン(家庭用)(A:A:A:A)」に設定された本体フラグFにおける「本体」と関連付けられている。このため、第1カテゴリ推定部16は、端末装置Tから取得されたクエリが「エアコン」である場合、ユーザが意図したカテゴリとして「エアコン(家庭用)(A:A:A:A)」を推定する。
そして、検索結果生成部18は、ワードツリーデータD3に定義されていると判定されたクエリ「エアコン」を削除し、ユーザが意図したカテゴリと判定されたカテゴリ「エアコン(家庭用)(A:A:A:A)」に属する商品の情報を検索して、検索結果ページを生成する。
また、端末装置Tから取得されたクエリが「エアコン 部品 リモコン」である場合、ワードツリーデータD3において、第1階層H1としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第2階層H2としてクエリ「部品」および「リモコン」の両方が存在する。この場合、第1カテゴリ推定部16は、第2階層H2のクエリ「部品」と関連付けられたカテゴリID「A:A:A:E」である「その他エアコン部品アクセサリー」と、第2階層H2のクエリ「リモコン」と関連付けられたカテゴリID「A:A:A:D」である「エアコン用リモコン」との両方をユーザが意図したカテゴリと推定する。
そして、検索結果生成部18は、第1階層H1として定義されていると判定されたクエリ「エアコン」と、第2階層H2として定義されていると判定されたクエリ「部品」および「リモコン」とを削除し、ユーザが意図したカテゴリと判定されたカテゴリ「その他エアコン部品アクセサリー(A:A:A:E)」またはカテゴリ「エアコン用リモコン(A:A:A:D)」に属する商品の情報を検索(OR検索)して、検索結果ページを生成する。
また、端末装置Tから取得されたクエリが「窓用 エアコン A社」である場合、ワードツリーデータD3において、第1階層H1としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第2階層H2としてクエリ「窓用」が存在する。この場合、第1カテゴリ推定部16は、第2階層H2のクエリ「窓用」と関連付けられたカテゴリID「A:A:A:B」である「窓用エアコン」をユーザが意図したカテゴリと推定する。
そして、検索結果生成部18は、第1階層H1として定義されていると判定された単語クエリ「エアコン」と、第2階層H2として定義されていると判定されたクエリ「窓用」とを削除し、残りのクエリである「A社」を検索クエリとして、「窓用エアコン」カテゴリに属する商品の情報を検索して、検索結果ページを生成する。
また、端末装置Tから取得されたクエリが「フィルター」である場合、このクエリは、ワードツリーデータD3の第1階層H1に存在しない。この場合、検索結果生成部18は、上述のカテゴリ推定処理を行うことなく、クエリ「フィルター」を用いた通常の検索処理を行い、検索結果ページを生成する。
また、端末装置Tから取得されたクエリが「自動車 エアコンフィルター 脱臭」である場合、このクエリには、ワードツリーデータD3の第1階層H1に存在する「エアコンフィルター(A:A:A:C)」と、「自動車(X:X)」が存在する。さらに、クエリ「自動車」の下位に位置する第2階層H2としてクエリ「エアコンフィルター(X:X:X:Y)」が存在する。この場合、第1カテゴリ推定部16は、「エアコンフィルター(A:A:A:C)」と「エアコンフィルター(X:X:X:Y)」との両方をユーザが意図したカテゴリと推定する。
この場合、推定された2つのカテゴリ「エアコンフィルター(A:A:A:C)」および「エアコンフィルター(X:X:X:Y)」のうち、どちらを優先すべきであるかは判断がつかない。このため、検索結果生成部18は、ワードツリーデータD3に定義されていると判定されたクエリを削除することなく、「自動車 エアコンフィルター 脱臭」を検索クエリとして、「エアコンフィルター(A:A:A:C)」または「エアコンフィルター(X:X:X:Y)」に属する商品を検索(OR検索)し、検索結果ページを生成する。すなわち、端末装置Tから取得されたクエリの中に、ワードツリーデータD3の第1階層H1に定義されたクエリが2つ以上の含まれている場合には、検索結果生成部18は、ワードツリーデータD3に定義されていると判定されたクエリを削除することなく、端末装置Tから取得されたクエリを用いて、検索データD1に対する検索処理を行う。
また、図7に示すようなカテゴリツリーデータD4が定義されている条件下において、端末装置Tから取得されたクエリが「ダウンジャケット」である場合、このクエリ「ダウンジャケット」は、メンズの「ダウンジャケット」またはレディースの「ダウンジャケット」のいずれを意図しているのか判断がつかない。この場合、図8に示すワードツリーデータD5のように、第1階層H1としてクエリ「ダウンジャケット」を定義し、この「ダウンジャケット」の下位に位置する第2階層H2のクエリとして「メンズ」および「レディース」を定義しておく。これにより、端末装置Tから取得されたクエリが「ダウンジャケット」である場合、検索結果生成部18は、ワードツリーデータD5に基づいて、メンズの「ダウンジャケット(B:A:A)」またはレディースの「ダウンジャケット(B:B:A)」に属する商品を検索(OR検索)することができる。
以上において説明した本実施形態の検索サーバ1によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。また、ワードツリーデータに定義されていると判定された単語を削除し、推定されたカテゴリを用いた絞込み検索を行うことで、商品等の提供者は、自身の商品等の情報が検索結果ページにおいて上位に表示されることを目的として商品等の名称に検索に利用されることが想定されるワードを追加するといった対応が不要となる。また、カテゴリの絞込みを可能とすることで、価格が安い順に商品等を表示させる場合等に、意図しないカテゴリの商品等の情報が表示されることがないため、検索サイトの利便性を向上させることができる。
なお、上記においては家電分野およびファッション分野におけるショッピングサイトの例を説明したが、車、二輪車等のショッピングサイト、ゲーム機器のショッピングサイト、オークションサイト等、情報の検索処理を伴うサービスであれば、本実施形態を適用可能である。また、ワードツリーデータにおいて、各クエリと対応するカテゴリが1つである例を説明したが、1つのクエリに複数のカテゴリが関連付けられてもよい。
<2.第2実施形態>
以下、本発明の第2実施形態について説明する。本実施形態の検索サーバは、第1実施形態と比較して、ワードツリーデータに基づいてカテゴリを推定する第1カテゴリ推定部に加えて、機械学習に基づいてカテゴリを推定する第2カテゴリ推定部をさらに備える点が異なる。このため、構成などについては第1実施形態で説明した図および関連する記載を援用し、詳細な説明を省略する。
<2−1.システム構成>
図9は、本実施形態の検索サーバ2(情報処理装置)の機能ブロック図である。検索サーバ2は、第1実施形態の検索サーバ1と比較して、第2カテゴリ推定部22(第2推定部)をさらに備える。第1カテゴリ推定部16(第1推定部)は、利用頻度の高いクエリを対象に作成したワードツリー(カテゴリ辞書データ)に基づいてカテゴリの推定処理を行うため、ワードツリーに定義されたクエリに対する推定精度は高く、複数のカテゴリが特定されるようなクエリでも対応が可能である。しかしながら、第1カテゴリ推定部16は、ワードツリーに定義されていないクエリ(すなわち、利用頻度が中程度または低程度であることが想定されるクエリ。製品名等。)に対しては利用できない。そこで、本実施形態では、第2カテゴリ推定部22が、ワードツリーに定義されていないクエリを対象に、機械学習に基づくカテゴリの推定処理を行う。第2カテゴリ推定部22は、例えば、末端カテゴリ推定部24と、中間カテゴリ推定部26とを備える。
末端カテゴリ推定部24は、カテゴリツリーにおける末端(最下層)のカテゴリを推定する。例えば、末端カテゴリ推定部24は、端末装置Tから取得されたクエリと、このクエリに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうちクリック数が最も多い末端カテゴリ(ユーザが意図したと考えられるカテゴリ(正解カテゴリ))との関係を予め学習することにより、第1モデル(以下、「末端カテゴリモデルM1」という)を生成し、記憶部20に記憶させる。末端カテゴリ推定部24は、この末端カテゴリモデルM1に基づいて、端末装置Tから取得されたクエリに対応する末端カテゴリを推定する。この末端カテゴリ推定部24による推定処理は、端末装置Tから取得されたクエリの処理数(或いは、端末装置Tから取得されたクエリに応じて提供された検索結果ページにおけるクリック数)が十分に多い場合に、その推定精度が高いことが想定される。
中間カテゴリ推定部26は、複数の下位のカテゴリを包含することが可能な中間層のカテゴリを推定する。例えば、中間カテゴリ推定部26は、端末装置Tから取得されたクエリと、このクエリに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうちクリック数が最も多い中間のカテゴリ(ユーザが意図したと考えられるカテゴリ(正解カテゴリ))との関係を予め学習するにより、第2モデル(以下、「中間カテゴリモデルM2」という)を生成し、記憶部20に記憶させる。中間カテゴリ推定部26は、この中間カテゴリモデルM2に基づいて、端末装置Tから取得されたクエリに対応する中間のカテゴリを推定する。
上述の末端カテゴリ推定部24によるカテゴリ推定処理は、レディースとメンズとに別れるようなカテゴリを対象とするクエリに対してはその推定精度が低下する場合がある。このように、上述の末端カテゴリ推定部24を用いた場合に精度が低下することが想定される場合には、複数の下位のカテゴリを包含することが可能な中間カテゴリ推定部26が利用される。例えば、端末装置Tから取得されたクエリが「ダッフルコート」である場合に、中間カテゴリ推定部26は、「メンズ」であるカテゴリと、「レディース」であるカテゴリとを推定する。次に、検索結果生成部18は、推定されたカテゴリ「メンズ」または「レディース」で絞込んで、検索クエリ「ダッフルコート」を用いた検索処理(カテゴリ「メンズ」、「レディース」のOR検索)を行う。
末端カテゴリ推定部24および中間カテゴリ推定部26は、多層構造のニューラルネットワーク(Deep Neural Network:DNN)、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)、再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)等を用いたディープラーニング技術を採用してよい。
<2−2.検索処理>
以下において、検索サーバ2の検索処理について説明する。図10は、検索サーバ2の検索処理の流れの一例を示す図である。
まず、クエリ分離部12は、通信部10を介して、端末装置Tから入力されたクエリを取得する(S201)。次に、クエリ分離部12は、端末装置Tから取得されたクエリを解析して、単語に分離する(S203)。
次に、判定部14は、クエリ分離部12によって分離された単語が、ワードツリーデータD3に定義されているか否かを判定する(S205)。
判定部14が、クエリ分離部12によって分離された単語がワードツリーデータD3に定義されていると判定した場合、第1カテゴリ推定部16は、ワードツリーデータD3に基づいて、クエリ分離部12によって分離された単語に対応するカテゴリを、端末装置Tから取得されたクエリに対応するカテゴリとして推定する(S207)。
一方、判定部14は、クエリ分離部12によって分離された単語がワードツリーデータD3に定義されていないと判定した場合、さらに、端末装置Tから取得したクエリに関して、過去における同一のクエリの処理数が閾値以上であるか否かを判定する(S213)。この閾値(精度情報の一例)は、端末装置Tから取得したクエリに対応する末端カテゴリの推定処理の信頼度を示す基準となるものである。端末装置Tから取得したクエリの処理数が閾値以上であれば、このクエリに対する末端カテゴリの学習が十分に行われており、末端カテゴリ推定部24による推定処理の精度が高いことが想定される。一方、端末装置Tから取得したクエリの処理数が閾値未満であれば、このクエリに対する末端カテゴリの学習が不十分であり、末端カテゴリ推定部24による推定処理の精度が低いことが想定される。過去におけるクエリ毎の処理数は、例えば、記憶部20に記憶された検索ログLに含まれている。
判定部14が、端末装置Tから取得したクエリの処理数が閾値以上であると判定した場合、末端カテゴリ推定部24は、末端カテゴリ推定モデルM1に基づいて、取得したクエリに対応する末端カテゴリを推定する(S215)。一方、判定部14が、端末装置Tから取得したクエリの処理数が閾値以上ではないと判定した場合、中間カテゴリ推定部26は、中間カテゴリ推定モデルM2に基づいて、取得したクエリに対応する末端カテゴリを推定する(S217)。
次に、検索結果生成部18は、端末装置Tから取得したクエリに関して、第1カテゴリ推定部16、末端カテゴリ推定部24、および中間カテゴリ推定部26のいずれかにより推定されたカテゴリで絞込み検索を行う(S209)。なお、第1カテゴリ推定部16によって推定されたカテゴリを用いた絞込み検索を行う場合、検索結果生成部18は、取得したクエリに含まれるクエリのうち、ワードツリーデータD3に定義されていると判定されたクエリを削除し、残りのクエリを検索クエリとして推定されたカテゴリに属する商品等の情報の検索を行う。
次に、検索結果生成部18は、推定されたカテゴリを用いた検索結果に基づいて、検索結果ページを生成し、端末装置Tに送信する(S211)。以上により、本フローチャートの処理が終了する。
以上において説明した本実施形態の検索サーバ2によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。ワードツリーデータに基づいてカテゴリを推定することができない場合に、機械学習に基づいてカテゴリを推定することで、検索精度をいっそう向上させることができる。なお、中間カテゴリ推定部26により複数のカテゴリが推定される場合には、そのカテゴリ別の検索結果を提供することも可能である。
以上において説明した実施形態によれば、ユーザによって入力されたクエリを取得する取得部と、前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備えることにより、正確にカテゴリを推定し、検索精度を向上させることができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1、2…検索サーバ(情報処理装置)
10…通信部(取得部)
12…クエリ分離部(分離部)
14…判定部
16…第1カテゴリ推定部(第1推定部)
18…検索結果生成部(生成部)
20…記憶部
22…第2カテゴリ推定部(第2推定部)
24…末端カテゴリ推定部
26…中間カテゴリ推定部

Claims (9)

  1. ユーザによって入力されたクエリを取得する取得部と、
    前記取得部によって取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定する判定部と、
    前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記カテゴリ辞書データに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第1推定部と、
    前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在しないと判定した場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得部によって取得されたクエリと対応するカテゴリを推定する第2推定部と、
    前記第1推定部または第2推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部と
    を備える情報処理装置。
  2. 前記第2推定部は、
    前記取得部によって取得されたクエリと対応し、且つ、前記ツリー構造の末端に位置する末端カテゴリを推定する末端カテゴリ推定部と、
    前記取得部によって取得されたクエリと対応し、且つ、前記ツリー構造の中間層に位置する中間カテゴリを推定する中間カテゴリ推定部と
    を備える、
    請求項1に記載の情報処理装置。
  3. 前記判定部は、前記末端カテゴリ推定部の推定処理に利用される第1モデルの精度情報に基づいて、前記末端カテゴリ推定部および前記中間カテゴリ推定部のいずれに推定処理を行わせるかを判定する、
    請求項2に記載の情報処理装置。
  4. 前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上であるか否かを判定し、
    前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上であると判定した場合、前記末端カテゴリ推定部に推定処理を行わせ、
    前記判定部は、前記取得部によって取得されたクエリの処理数が閾値以上ではないと判定した場合、前記中間カテゴリ推定部に推定処理を行わせる、
    請求項3に記載の情報処理装置。
  5. 前記取得部によって取得されたクエリを単語に分離する分離部をさらに備え、
    前記第1推定部は、前記カテゴリ辞書データに基づいて、前記分離部によって分離された単語に対応するカテゴリを、前記取得部によって取得されたクエリに対応するカテゴリとして推定する、
    請求項1から4のうちいずれか一項に記載の情報処理装置。
  6. 前記生成部は、前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに存在すると判定した場合、前記分離部によって分離された単語のうち、前記カテゴリ辞書データに存在している単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
    請求項5に記載の情報処理装置。
  7. 前記カテゴリ辞書データは、前記検索対象のカテゴリ間の関係をツリー構造で表したカテゴリツリーに基づいて定義されている、
    請求項1から6のうちいずれか一項に記載の情報処理装置。
  8. コンピュータが、
    ユーザによって入力されたクエリを取得し、
    前記取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定し、
    前記取得されたクエリが前記カテゴリ辞書データに存在すると判定された場合、前記カテゴリ辞書データに基づいて、前記取得されたクエリと対応するカテゴリを推定し、
    前記取得されたクエリが前記カテゴリ辞書データに存在しないと判定された場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得されたクエリと対応するカテゴリを推定し、
    前記カテゴリ辞書データに基づいて判定されたカテゴリまたは前記モデルに基づいて判定されたカテゴリに属する検索結果を表示するための情報を生成する情報処理方法。
  9. コンピュータに、
    ユーザによって入力されたクエリを取得させ、
    前記取得されたクエリが、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データに存在するか否かを判定させ、
    前記取得されたクエリが前記カテゴリ辞書データに存在すると判定された場合、前記カテゴリ辞書データに基づいて、前記取得されたクエリと対応するカテゴリを推定させ、
    前記取得されたクエリが前記カテゴリ辞書データに存在しないと判定された場合、検索に用いられるクエリと、カテゴリとの関係を学習したモデルに基づいて、前記取得されたクエリと対応するカテゴリを推定させ、
    前記カテゴリ辞書データに基づいて判定されたカテゴリまたは前記モデルに基づいて判定されたカテゴリに属する検索結果を表示するための情報を生成させるプログラム。
JP2017179112A 2017-09-19 2017-09-19 情報処理装置、情報処理方法、およびプログラム Active JP6865663B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2019053681A JP2019053681A (ja) 2019-04-04
JP6865663B2 true JP6865663B2 (ja) 2021-04-28

Family

ID=66014952

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6865663B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120821918A (zh) * 2025-09-17 2025-10-21 深圳市灵智数字科技有限公司 推荐搜索词确定方法、装置及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5089955B2 (ja) * 2006-10-06 2012-12-05 三菱電機株式会社 音声対話装置
JP5835197B2 (ja) * 2012-11-29 2015-12-24 トヨタ自動車株式会社 情報処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120821918A (zh) * 2025-09-17 2025-10-21 深圳市灵智数字科技有限公司 推荐搜索词确定方法、装置及电子设备

Also Published As

Publication number Publication date
JP2019053681A (ja) 2019-04-04

Similar Documents

Publication Publication Date Title
CN107609152B (zh) 用于扩展查询式的方法和装置
TWI582619B (zh) Method and apparatus for providing referral words
KR100898454B1 (ko) 통합 검색 서비스 시스템 및 방법
US10216851B1 (en) Selecting content using entity properties
CN102682001B (zh) 一种确定推荐词的方法及设备
RU2670494C2 (ru) Способ обработки поискового запроса, сервер и машиночитаемый носитель для его осуществления
US9727906B1 (en) Generating item clusters based on aggregated search history data
US20150278359A1 (en) Method and apparatus for generating a recommendation page
CN112136127B (zh) 用于搜索操作输出元素的动作指示符
CN108334568B (zh) 房源推送方法、装置、设备及计算机可读存储介质
CN109241243B (zh) 候选文档排序方法及装置
US11055312B1 (en) Selecting content using entity properties
CN102725759A (zh) 用于搜索结果的语义目录
WO2016091114A1 (zh) 一种信息推送方法和装置
JP2013531289A (ja) 検索におけるモデル情報群の使用
EP2430575A1 (en) Search method, apparatus and system
CN110990725A (zh) 基于距离的搜索排名降级
CN117313677A (zh) 评论生成方法、装置、电子设备及介质
JP2017045196A (ja) 曖昧性評価装置、曖昧性評価方法、及び曖昧性評価プログラム
CN111353089A (zh) 信息推荐方法、装置、电子设备及计算机存储介质
CN104933099B (zh) 一种为用户提供目标搜索结果的方法与装置
JP6865663B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6944320B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN104077320B (zh) 一种用于生成待发布信息的方法和装置
JP2017162275A (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: 20210204

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: 20210309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210406

R150 Certificate of patent or registration of utility model

Ref document number: 6865663

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250