(57)【要約】【課題】正確にカテゴリを推定することにより、検索精度を向上させることができる情報処理装置、情報処理方法、およびプログラムを提供すること。【解決手段】本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備える情報処理装置である。【選択図】図１
2019053682.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって入力されたクエリを取得する取得部と、
クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、
前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部と
を備える情報処理装置。
【請求項２】
前記取得部によって取得されたクエリを単語に分離する分離部をさらに備え、
前記推定部は、前記分離部によって分離された単語に対応するカテゴリを、前記取得部によって取得されたクエリに対応するカテゴリとして推定する、
請求項１に記載の情報処理装置。
【請求項３】
前記生成部は、前記分離部によって分離された単語のうち、前記カテゴリ辞書データに定義されている単語を削除し、残りの単語を用いて前記検索対象の情報を記憶する記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
請求項２に記載の情報処理装置。
【請求項４】
前記生成部は、前記分離部によって分離された単語のなかに、前記ツリー構造の最上位に位置するクエリと対応する単語が複数存在する場合、前記ツリー構造に定義されている単語を削除せずに、前記分離部によって分離された単語を用いて前記記憶装置を検索した結果に基づいて、前記検索結果を表示するための情報を生成する、
請求項３に記載の情報処理装置。
【請求項５】
前記取得部によって取得されたクエリが、前記カテゴリ辞書データに定義されているか否かを判定する判定部をさらに備え、
前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに定義されていると判定した場合、前記推定部は、前記取得部によって取得されたクエリと対応するカテゴリを推定し、
前記判定部が前記取得部によって取得されたクエリが前記カテゴリ辞書データに定義されていないと判定した場合、前記推定部は、前記カテゴリの推定を行わず、前記生成部は、前記取得部によって取得されたクエリと関連付けられた前記検索結果を表示するための情報を生成する、
請求項１から４のうちいずれか一項に記載の情報処理装置。
【請求項６】
前記カテゴリ辞書データは、前記検索対象のカテゴリ間の関係をツリー構造で表したカテゴリツリーに基づいて定義されている、
請求項１から５のうちいずれか一項に記載の情報処理装置。
【請求項７】
コンピュータが、
ユーザによって入力されたクエリを取得し、
クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得されたクエリが該当するまで辿った結果に基づいて、前記取得されたクエリに対応するカテゴリを推定し、
前記推定されたカテゴリに属する検索結果を表示するための情報を生成する情報処理方法。
【請求項８】
コンピュータに、
ユーザによって入力されたクエリを取得させ、
クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得されたクエリが該当するまで辿った結果に基づいて、前記取得されたクエリに対応するカテゴリを推定させ、
前記推定されたカテゴリに属する検索結果を表示するための情報を生成させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
ウェブ検索の分野において、ユーザが入力したキーワード（以下、「クエリ」という）に応じて、このクエリに関連する各種商品またはサービス（以下、「商品等」という）の情報を提供する手法が行われている。また、ユーザが意図する商品等の情報を高精度で提供するために、クエリに対応する商品等のカテゴリをカテゴリ間のツリー構造のデータとして予め定義し、このツリー構造のデータに基づいて、各クエリに対するカテゴリ間の類似度を算出する手法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４５１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の手法では、クエリとの関連度が低く、ユーザが意図しない商品等の情報が提供される場合があった。例えば、「テレビ」というクエリに対して「テレビ台」の商品の情報が提供される場合、「ビール」というクエリに対して「グラス」の商品の情報が提供される場合等、ユーザが意図した商品等とは異なるカテゴリに属する商品等の情報が提供される場合があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、より正確にカテゴリを推定することにより、検索精度を向上させることが可能な情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザによって入力されたクエリを取得する取得部と、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備える情報処理装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、正確にカテゴリを推定することにより、検索精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態の検索サーバ１の機能ブロック図である。
【図２】第１実施形態のカテゴリツリーデータＤ２の一例を示す図である。
【図３】第１実施形態のワードツリーデータＤ３の一例を示す図である。
【図４】第１実施形態の検索サーバ１の検索処理の流れ一例を示すフローチャートである。
【図５】第１実施形態の検索サーバ１の検索処理の一例の概要を説明する図である。
【図６】第１実施形態の検索サーバ１によって処理されるクエリと推定されたカテゴリとの関係の一例を示す図である。
【図７】第１実施形態のカテゴリツリーデータＤ４の一例を示す図である。
【図８】第１実施形態のワードツリーデータＤ５の一例を示す図である。
【図９】第２実施形態の検索サーバ２の機能ブロック図である。
【図１０】第２実施形態の検索サーバ２の検索処理の流れ一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。
【００１０】
＜１．第１実施形態＞
以下、本発明の第１実施形態について説明する。本実施形態の情報処理装置は、検索に用いられたクエリを単語（以下、「ワード」ともいう）に分離し、予め定義された単語とカテゴリとを関連付けしたワードツリーデータに基づいて、クエリと対応するカテゴリを推定し、この推定したカテゴリに属する商品等の情報（検索対象）を検索結果として出力する。本実施形態における「カテゴリ」とは、検索に用いられたクエリに対して検索結果として提供されるコンテンツの内容（商品またはサービス）が属する分野を示す情報である。本実施形態では、情報処理装置が、商品等のコンテンツの検索結果を提供する検索サーバである例について説明する。
【００１１】
＜１−１．システム構成＞
図１は、本実施形態の検索サーバ１（情報処理装置）の機能ブロック図である。検索サーバ１は、ネットワークＮＷを介して、端末装置Ｔ等と接続されている。ネットワークＮＷは、例えば、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）、インターネット、専用回線、無線基地局、プロバイダ等を含む。
【００１２】
端末装置Ｔは、検索サーバ１により提供される検索サービスを利用するユーザによって操作される。端末装置Ｔは、例えば、パーソナルコンピュータ、スマートフォンなどの携帯電話やタブレット端末、ＰＤＡ（Personal Digital Assistant）などのコンピュータ装置である。端末装置Ｔは、ユーザの操作に基づいて動作するブラウザまたはアプリケーションプログラムが、例えば、情報提供を要求するクエリを検索サーバ１に送信し、クエリと関連付けられた情報を検索サーバ１から受信する。
【００１３】
検索サーバ１は、端末装置Ｔから入力されたクエリと関連付けられた検索結果のページ情報を端末装置Ｔに送信する。検索サーバ１は、クエリと、このクエリと関連付けられたサイトのページを参照するための参照情報とを関連付けた検索データを用いて、検索結果のページ情報を生成する。参照情報は、例えば、ＵＲＬ（Uniform Resource Locator）を含む。
【００１４】
検索サーバ１は、例えば、通信部１０（取得部）と、クエリ分離部１２（分離部）と、判定部１４、第１カテゴリ推定部１６（推定部）と、検索結果生成部１８（生成部）と、記憶部２０とを備える。通信部１０は、ネットワークＮＷを介して、端末装置Ｔ等と通信する。通信部１０は、ネットワークＮＷを介して、端末装置Ｔからクエリを受信し、検索結果のページ情報を端末装置Ｔに送信する。通信部１０は、例えば、ＮＩＣ等の通信インターフェースを含む。
【００１５】
記憶部２０は、例えば、クエリと関連付けられたサイトのページを参照するための参照情報を含む検索データＤ１と、カテゴリ間の関係をツリー構造で表したカテゴリツリーデータＤ２と、クエリ間の関係をツリー構造で表し且つクエリの各々と対応するカテゴリの情報を含むワードツリーデータＤ３等を記憶する。記憶部２０は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置等により実現される。また、記憶部２０の一部または全部は、ＮＡＳや外部のストレージサーバ等、検索サーバ１がアクセス可能な外部装置であってもよい。
【００１６】
クエリ分離部１２は、端末装置Ｔから取得されたクエリの文字列を解析して、単語に分離する。クエリ分離部１２は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。
【００１７】
判定部１４は、クエリ分離部１２によって分離された単語が、ワードツリーデータＤ３に定義されているか否かを判定する。
【００１８】
第１カテゴリ推定部１６は、記憶部２０から読み出したワードツリーデータＤ３に基づいて、クエリ分離部１２によって分離された単語に対応するカテゴリを、端末装置Ｔから取得されたクエリに対応するカテゴリとして推定する。第１カテゴリ推定部１６は、ワードツリーデータＤ３の最上位に位置するクエリから順に、端末装置Ｔから取得されたクエリが該当するまで辿った結果に基づいて、端末装置Ｔから取得されたクエリに対応するカテゴリを推定する。第１カテゴリ推定部１６によるカテゴリ推定処理の詳細については後述する。
【００１９】
検索結果生成部１８は、第１カテゴリ推定部１６によって推定されたカテゴリを用いた絞込み検索を行い、検索結果である検索結果ページを生成する。例えば、検索結果生成部１８は、記憶部２０に記憶された検索データＤ１に対して推定されたカテゴリを用いた絞込み検索を行い、推定されたカテゴリに属する商品等の情報を含む検索結果ページを生成する。検索結果生成部１８は、生成した検索結果ページを、通信部１０を介して、端末装置Ｔに送信する。
【００２０】
検索サーバ１の各機能部は、例えば、コンピュータにおいて、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００２１】
＜１−２．ワードツリーデータ＞
以下において、ワードツリーデータＤ３について説明する。図２は、カテゴリツリーデータＤ２の一例を示す図であり、図３は、カテゴリツリーデータＤ２に基づいて定義されたワードツリーデータＤ３の一例を示す図である。ワードツリーデータＤ３は、例えば、検索サーバ１の設計者等の人手により定義される。
【００２２】
図２に示すカテゴリツリーデータＤ２においては、第１階層Ｌ１のカテゴリとして「家電（Ａ）」が定義され、この第１階層Ｌ１「家電（Ａ）」の下位に位置する第２階層Ｌ２のカテゴリとして「冷暖房器具空調家電（Ａ：Ａ）」が定義され、この第２階層Ｌ２「冷暖房器具空調家電（Ａ：Ａ）」の下位に位置する第３階層Ｌ３のカテゴリとして「エアコン（Ａ：Ａ：Ａ）」が定義され、この第３階層Ｌ３「エアコン（Ａ：Ａ：Ａ）」の下位に位置する第４階層Ｌ４のカテゴリとして「エアコン（家庭用）（Ａ：Ａ：Ａ：Ａ）」、「窓用エアコン（Ａ：Ａ：Ａ：Ｂ）」、「エアコンフィルター（Ａ：Ａ：Ａ：Ｃ）」、「エアコン用リモコン（Ａ：Ａ：Ａ：Ｄ）」、および「その他エアコン部品アクセサリー（Ａ：Ａ：Ａ：Ｅ）」が定義されている。なお、括弧内の記号は、カテゴリを識別するカテゴリＩＤを示している。
【００２３】
また、このカテゴリツリーデータＤ２においては、第４階層Ｌ４に定義されたカテゴリの各々に、カテゴリが、「本体」、「準本体」、および「周辺機器」のいずれの分類と関連するかを示す本体フラグＦが設定されている。例えば、「エアコン（家庭用）（Ａ：Ａ：Ａ：Ａ）」には、本体フラグＦ「本体」が関連付けられている。
【００２４】
ワードツリーデータＤ３は、カテゴリツリーデータＤ２に基づいて定義される。例えば、ワードツリーデータＤ３は、検索に利用されることが想定されるクエリ（利用される頻度が高いクエリ）と、カテゴリツリーデータＤ２に定義されたカテゴリとを関連付けしたデータ（カテゴリ辞書データ）である。図３に示すワードツリーデータＤ３においては、第１階層Ｈ１としてクエリ「エアコン」に対してカテゴリＩＤ「Ａ：Ａ：Ａ」が関連付けられている。このカテゴリＩＤ「Ａ：Ａ：Ａ」は、図２に示すカテゴリツリーデータＤ２における第３階層Ｌ３の「エアコン（Ａ：Ａ：Ａ）」と対応する。
【００２５】
また、このワードツリーデータＤ３においては、第１階層Ｈ１「エアコン」の下位に位置する第２階層Ｈ２のクエリ「本体」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ａ」が関連付けられており、クエリ「窓用」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ｂ」が関連付けられており、クエリ「フィルター」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ｃ」が関連付けられており、クエリ「リモコン」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ｄ」が関連付けられており、クエリ「部品」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ｅ」が関連付けられている。
【００２６】
このワードツリーデータＤ３においては、上記のクエリの以外に、第１階層Ｈ１としてのクエリ「窓用エアコン」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ｂ」が関連付けられており、また、第１階層Ｈ１としてのクエリ「エアコンフィルター」に対してカテゴリＩＤ「Ａ：Ａ：Ａ：Ｃ」が関連付けられている。さらに、類似のクエリを含むものとして、第１階層Ｈ１としてクエリ「自動車」に対してカテゴリＩＤ「Ｘ：Ｘ」が関連付けられており、第１階層Ｈ１「自動車」の下位に位置する第２階層Ｈ２のクエリ「エアコンフィルター」に対してカテゴリＩＤ「Ｘ：Ｘ：Ｘ：Ｙ」が関連付けられている。
【００２７】
＜１−３．検索処理＞
以下において、検索サーバ１の検索処理について説明する。図４は、検索サーバ１の検索処理の流れの一例を示す図である。図５は、検索サーバ１の検索処理の一例の概要を説明する図である。
【００２８】
まず、クエリ分離部１２は、通信部１０を介して、端末装置Ｔから入力されたクエリを取得する（Ｓ１０１）。次に、クエリ分離部１２は、端末装置Ｔから取得されたクエリを解析して、単語に分離する（Ｓ１０３）。クエリ分離部１２は、例えば、クエリに含まれるスペース、カンマ等を区切りの基準として、クエリを単語に分離する。
【００２９】
図５に示す例では、クエリ分離部１２は、検索ページにおいてユーザが端末装置Ｔを介して入力したクエリ「窓用  エアコン」を取得し、このクエリを、スペースを区切りとして、単語１「窓用」と、単語２「エアコン」との２つの単語に分離する。
【００３０】
次に、判定部１４は、クエリ分離部１２によって分離された単語が、ワードツリーデータＤ３の第１階層Ｈ１（最上位層）に定義されているか否かを判定する（Ｓ１０５）。図５に示す例では、単語１「窓用」は、図３に示すワードツリーデータＤ３の第１階層Ｈ１には存在しないが、単語２「エアコン」は、ワードツリーデータの第１階層Ｈ１に存在する。さらに、単語２「エアコン」の下位に位置する第２階層Ｈ２として単語１「窓用」が存在する。この場合、判定部１４は、クエリ分離部１２によって分離された単語が、ワードツリーデータＤ３の第１階層Ｈ１に定義されていると判定する。
【００３１】
一方、クエリ分離部１２によって分離された単語の全てがワードツリーデータＤ３の第１階層Ｈ１に存在しない場合、判定部１４は、クエリ分離部１２によって分離された単語が、ワードツリーデータＤ３の第１階層Ｈ１に定義されていないと判定する。
【００３２】
判定部１４が、クエリ分離部１２によって分離された単語がワードツリーデータＤ３の第１階層Ｈ１に定義されていると判定した場合、第１カテゴリ推定部１６は、ワードツリーデータＤ３に基づいて、クエリ分離部１２によって分離された単語と対応するカテゴリを、端末装置Ｔから取得されたクエリに対応するカテゴリとして推定する（Ｓ１０７）。図５に示す例では、単語２「エアコン」の下位の第２階層Ｈ２の単語１「窓用」と関連付けられたカテゴリＩＤ「Ａ：Ａ：Ａ：Ｂ」である「窓用エアコン」が、ユーザが意図したカテゴリと推定される。
【００３３】
次に、検索結果生成部１８は、端末装置Ｔから取得されたクエリに関して、第１カテゴリ推定部１６によって推定されたカテゴリで絞込み検索を行う（Ｓ１０９）。検索結果生成部１８は、端末装置Ｔから取得されたクエリに含まれる単語のうち、判定部１４によってワードツリーデータＤ３に定義されていると判定された単語を削除し、残りの単語を検索クエリとして、検索データＤ１に対して推定されたカテゴリに属する商品等の検索を行う。
【００３４】
図５に示す例では、端末装置Ｔから取得されたクエリに含まれる単語１「窓用」と、単語２「エアコン」との両方がワードツリーデータＤ３に定義されていると判定されている。この場合、検索結果生成部１８は、単語１および単語２を削除するため、検索データＤ１に対する検索クエリが存在しなくなる。この場合、検索結果生成部１８は、検索クエリを指定せずに、ユーザが意図したカテゴリと推定されたカテゴリＩＤ「Ａ：Ａ：Ａ：Ｂ（窓用エアコン）」のみを指定し、検索データＤ１に対して検索を行う。
【００３５】
次に、検索結果生成部１８は、推定されたカテゴリを用いた検索結果に基づいて、検索結果ページを生成し、端末装置Ｔに送信する（Ｓ１１１）。なお、判定部１４が、クエリ分離部１２によって分離された単語がワードツリーデータＤ３に定義されていないと判定した場合、検索結果生成部１８は、上述のカテゴリ推定処理を行うことなく、端末装置Ｔから取得されたクエリを用いた通常の検索処理（カテゴリを絞込みしない検索処理）を行って検索結果ページを生成し、端末装置Ｔに送信する。以上により、本フローチャートの処理が終了する。
【００３６】
図６は、検索サーバ１によって処理されるクエリと推定されたカテゴリとの関係の一例を示す図である。端末装置Ｔから取得されたクエリが「エアコン」である場合、このクエリを入力したユーザは、エアコンの「本体」の検索を意図していることが想定される。このため、図３に示すワードツリーデータＤ３における第１階層Ｈ１の「エアコン（Ａ：Ａ：Ａ）」には「本体絞込」のフラグが設定されている。この「本体絞込」のフラグは、図２に示すカテゴリツリーデータＤ２の第４階層Ｌ４のカテゴリ「エアコン（家庭用）（Ａ：Ａ：Ａ：Ａ）」に設定された本体フラグＦにおける「本体」と関連付けられている。このため、第１カテゴリ推定部１６は、端末装置Ｔから取得されたクエリが「エアコン」である場合、ユーザが意図したカテゴリとして「エアコン（家庭用）（Ａ：Ａ：Ａ：Ａ）」を推定する。
【００３７】
そして、検索結果生成部１８は、ワードツリーデータＤ３に定義されていると判定されたクエリ「エアコン」を削除し、ユーザが意図したカテゴリと判定されたカテゴリ「エアコン（家庭用）（Ａ：Ａ：Ａ：Ａ）」に属する商品の情報を検索して、検索結果ページを生成する。
【００３８】
また、端末装置Ｔから取得されたクエリが「エアコン  部品  リモコン」である場合、ワードツリーデータＤ３において、第１階層Ｈ１としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第２階層Ｈ２としてクエリ「部品」および「リモコン」の両方が存在する。この場合、第１カテゴリ推定部１６は、第２階層Ｈ２のクエリ「部品」と関連付けられたカテゴリＩＤ「Ａ：Ａ：Ａ：Ｅ」である「その他エアコン部品アクセサリー」と、第２階層Ｈ２のクエリ「リモコン」と関連付けられたカテゴリＩＤ「Ａ：Ａ：Ａ：Ｄ」である「エアコン用リモコン」との両方をユーザが意図したカテゴリと推定する。
【００３９】
そして、検索結果生成部１８は、第１階層Ｈ１として定義されていると判定されたクエリ「エアコン」と、第２階層Ｈ２として定義されていると判定されたクエリ「部品」および「リモコン」とを削除し、ユーザが意図したカテゴリと判定されたカテゴリ「その他エアコン部品アクセサリー（Ａ：Ａ：Ａ：Ｅ）」またはカテゴリ「エアコン用リモコン（Ａ：Ａ：Ａ：Ｄ）」に属する商品の情報を検索（ＯＲ検索）して、検索結果ページを生成する。
【００４０】
また、端末装置Ｔから取得されたクエリが「窓用  エアコン  Ａ社」である場合、ワードツリーデータＤ３において、第１階層Ｈ１としてクエリ「エアコン」が存在し、クエリ「エアコン」の下位に位置する第２階層Ｈ２としてクエリ「窓用」が存在する。この場合、第１カテゴリ推定部１６は、第２階層Ｈ２のクエリ「窓用」と関連付けられたカテゴリＩＤ「Ａ：Ａ：Ａ：Ｂ」である「窓用エアコン」をユーザが意図したカテゴリと推定する。
【００４１】
そして、検索結果生成部１８は、第１階層Ｈ１として定義されていると判定された単語クエリ「エアコン」と、第２階層Ｈ２として定義されていると判定されたクエリ「窓用」とを削除し、残りのクエリである「Ａ社」を検索クエリとして、「窓用エアコン」カテゴリに属する商品の情報を検索して、検索結果ページを生成する。
【００４２】
また、端末装置Ｔから取得されたクエリが「フィルター」である場合、このクエリは、ワードツリーデータＤ３の第１階層Ｈ１に存在しない。この場合、検索結果生成部１８は、上述のカテゴリ推定処理を行うことなく、クエリ「フィルター」を用いた通常の検索処理を行い、検索結果ページを生成する。
【００４３】
また、端末装置Ｔから取得されたクエリが「自動車  エアコンフィルター  脱臭」である場合、このクエリには、ワードツリーデータＤ３の第１階層Ｈ１に存在する「エアコンフィルター（Ａ：Ａ：Ａ：Ｃ）」と、「自動車（Ｘ：Ｘ）」が存在する。さらに、クエリ「自動車」の下位に位置する第２階層Ｈ２としてクエリ「エアコンフィルター（Ｘ：Ｘ：Ｘ：Ｙ）」が存在する。この場合、第１カテゴリ推定部１６は、「エアコンフィルター（Ａ：Ａ：Ａ：Ｃ）」と「エアコンフィルター（Ｘ：Ｘ：Ｘ：Ｙ）」との両方をユーザが意図したカテゴリと推定する。
【００４４】
この場合、推定された２つのカテゴリ「エアコンフィルター（Ａ：Ａ：Ａ：Ｃ）」および「エアコンフィルター（Ｘ：Ｘ：Ｘ：Ｙ）」のうち、どちらを優先すべきであるかは判断がつかない。このため、検索結果生成部１８は、ワードツリーデータＤ３に定義されていると判定されたクエリを削除することなく、「自動車  エアコンフィルター  脱臭」を検索クエリとして、「エアコンフィルター（Ａ：Ａ：Ａ：Ｃ）」または「エアコンフィルター（Ｘ：Ｘ：Ｘ：Ｙ）」に属する商品を検索（ＯＲ検索）し、検索結果ページを生成する。すなわち、端末装置Ｔから取得されたクエリの中に、ワードツリーデータＤ３の第１階層Ｈ１に定義されたクエリが２つ以上の含まれている場合には、検索結果生成部１８は、ワードツリーデータＤ３に定義されていると判定されたクエリを削除することなく、端末装置Ｔから取得されたクエリを用いて、検索データＤ１に対する検索処理を行う。
【００４５】
また、図７に示すようなカテゴリツリーデータＤ４が定義されている条件下において、端末装置Ｔから取得されたクエリが「ダウンジャケット」である場合、このクエリ「ダウンジャケット」は、メンズの「ダウンジャケット」またはレディースの「ダウンジャケット」のいずれを意図しているのか判断がつかない。この場合、図８に示すワードツリーデータＤ５のように、第１階層Ｈ１としてクエリ「ダウンジャケット」を定義し、この「ダウンジャケット」の下位に位置する第２階層Ｈ２のクエリとして「メンズ」および「レディース」を定義しておく。これにより、端末装置Ｔから取得されたクエリが「ダウンジャケット」である場合、検索結果生成部１８は、ワードツリーデータＤ５に基づいて、メンズの「ダウンジャケット（Ｂ：Ａ：Ａ）」またはレディースの「ダウンジャケット（Ｂ：Ｂ：Ａ）」に属する商品を検索（ＯＲ検索）することができる。
【００４６】
以上において説明した本実施形態の検索サーバ１によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。また、ワードツリーデータに定義されていると判定された単語を削除し、推定されたカテゴリを用いた絞込み検索を行うことで、商品等の提供者は、自身の商品等の情報が検索結果ページにおいて上位に表示されることを目的として商品等の名称に検索に利用されることが想定されるワードを追加するといった対応が不要となる。また、カテゴリの絞込みを可能とすることで、価格が安い順に商品等を表示させる場合等に、意図しないカテゴリの商品等の情報が表示されることがないため、検索サイトの利便性を向上させることができる。
【００４７】
なお、上記においては家電分野およびファッション分野におけるショッピングサイトの例を説明したが、車、二輪車等のショッピングサイト、ゲーム機器のショッピングサイト、オークションサイト等、情報の検索処理を伴うサービスであれば、本実施形態を適用可能である。また、ワードツリーデータにおいて、各クエリと対応するカテゴリが１つである例を説明したが、１つのクエリに複数のカテゴリが関連付けられてもよい。
【００４８】
＜２．第２実施形態＞
以下、本発明の第２実施形態について説明する。本実施形態の検索サーバは、第１実施形態と比較して、ワードツリーデータに基づいてカテゴリを推定する第１カテゴリ推定部に加えて、機械学習に基づいてカテゴリを推定する第２カテゴリ推定部をさらに備える点が異なる。このため、構成などについては第１実施形態で説明した図および関連する記載を援用し、詳細な説明を省略する。
【００４９】
＜２−１．システム構成＞
図９は、本実施形態の検索サーバ２（情報処理装置）の機能ブロック図である。検索サーバ２は、第１実施形態の検索サーバ１と比較して、第２カテゴリ推定部２２（第２推定部）をさらに備える。第１カテゴリ推定部１６（第１推定部）は、利用頻度の高いクエリを対象に作成したワードツリー（カテゴリ辞書データ）に基づいてカテゴリの推定処理を行うため、ワードツリーに定義されたクエリに対する推定精度は高く、複数のカテゴリが特定されるようなクエリでも対応が可能である。しかしながら、第１カテゴリ推定部１６は、ワードツリーに定義されていないクエリ（すなわち、利用頻度が中程度または低程度であることが想定されるクエリ。製品名等。）に対しては利用できない。そこで、本実施形態では、第２カテゴリ推定部２２が、ワードツリーに定義されていないクエリを対象に、機械学習に基づくカテゴリの推定処理を行う。第２カテゴリ推定部２２は、例えば、末端カテゴリ推定部２４と、中間カテゴリ推定部２６とを備える。
【００５０】
末端カテゴリ推定部２４は、カテゴリツリーにおける末端（最下層）のカテゴリを推定する。例えば、末端カテゴリ推定部２４は、端末装置Ｔから取得されたクエリと、このクエリに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうちクリック数が最も多い末端カテゴリ（ユーザが意図したと考えられるカテゴリ（正解カテゴリ））との関係を予め学習することにより、第１モデル（以下、「末端カテゴリモデルＭ１」という）を生成し、記憶部２０に記憶させる。末端カテゴリ推定部２４は、この末端カテゴリモデルＭ１に基づいて、端末装置Ｔから取得されたクエリに対応する末端カテゴリを推定する。この末端カテゴリ推定部２４による推定処理は、端末装置Ｔから取得されたクエリの処理数（或いは、端末装置Ｔから取得されたクエリに応じて提供された検索結果ページにおけるクリック数）が十分に多い場合に、その推定精度が高いことが想定される。
【００５１】
中間カテゴリ推定部２６は、複数の下位のカテゴリを包含することが可能な中間層のカテゴリを推定する。例えば、中間カテゴリ推定部２６は、端末装置Ｔから取得されたクエリと、このクエリに応じて提供された検索結果ページにおいてユーザがクリックしたカテゴリのうちクリック数が最も多い中間のカテゴリ（ユーザが意図したと考えられるカテゴリ（正解カテゴリ））との関係を予め学習するにより、第２モデル（以下、「中間カテゴリモデルＭ２」という）を生成し、記憶部２０に記憶させる。中間カテゴリ推定部２６は、この中間カテゴリモデルＭ２に基づいて、端末装置Ｔから取得されたクエリに対応する中間のカテゴリを推定する。
【００５２】
上述の末端カテゴリ推定部２４によるカテゴリ推定処理は、レディースとメンズとに別れるようなカテゴリを対象とするクエリに対してはその推定精度が低下する場合がある。このように、上述の末端カテゴリ推定部２４を用いた場合に精度が低下することが想定される場合には、複数の下位のカテゴリを包含することが可能な中間カテゴリ推定部２６が利用される。例えば、端末装置Ｔから取得されたクエリが「ダッフルコート」である場合に、中間カテゴリ推定部２６は、「メンズ」であるカテゴリと、「レディース」であるカテゴリとを推定する。次に、検索結果生成部１８は、推定されたカテゴリ「メンズ」または「レディース」で絞込んで、検索クエリ「ダッフルコート」を用いた検索処理（カテゴリ「メンズ」、「レディース」のＯＲ検索）を行う。
【００５３】
末端カテゴリ推定部２４および中間カテゴリ推定部２６は、多層構造のニューラルネットワーク（Deep Neural Network：ＤＮＮ）、畳み込みニューラルネットワーク（Convolutional Neural Network：ＣＮＮ）、再帰型ニューラルネットワーク（Recurrent Neural Network：ＲＮＮ）等を用いたディープラーニング技術を採用してよい。
【００５４】
＜２−２．検索処理＞
以下において、検索サーバ２の検索処理について説明する。図１０は、検索サーバ２の検索処理の流れの一例を示す図である。
【００５５】
まず、クエリ分離部１２は、通信部１０を介して、端末装置Ｔから入力されたクエリを取得する（Ｓ２０１）。次に、クエリ分離部１２は、端末装置Ｔから取得されたクエリを解析して、単語に分離する（Ｓ２０３）。
【００５６】
次に、判定部１４は、クエリ分離部１２によって分離された単語が、ワードツリーデータＤ３に定義されているか否かを判定する（Ｓ２０５）。
【００５７】
判定部１４が、クエリ分離部１２によって分離された単語がワードツリーデータＤ３に定義されていると判定した場合、第１カテゴリ推定部１６は、ワードツリーデータＤ３に基づいて、クエリ分離部１２によって分離された単語に対応するカテゴリを、端末装置Ｔから取得されたクエリに対応するカテゴリとして推定する（Ｓ２０７）。
【００５８】
一方、判定部１４は、クエリ分離部１２によって分離された単語がワードツリーデータＤ３に定義されていないと判定した場合、さらに、端末装置Ｔから取得したクエリに関して、過去における同一のクエリの処理数が閾値以上であるか否かを判定する（Ｓ２１３）。この閾値（精度情報の一例）は、端末装置Ｔから取得したクエリに対応する末端カテゴリの推定処理の信頼度を示す基準となるものである。端末装置Ｔから取得したクエリの処理数が閾値以上であれば、このクエリに対する末端カテゴリの学習が十分に行われており、末端カテゴリ推定部２４による推定処理の精度が高いことが想定される。一方、端末装置Ｔから取得したクエリの処理数が閾値未満であれば、このクエリに対する末端カテゴリの学習が不十分であり、末端カテゴリ推定部２４による推定処理の精度が低いことが想定される。過去におけるクエリ毎の処理数は、例えば、記憶部２０に記憶された検索ログＬに含まれている。
【００５９】
判定部１４が、端末装置Ｔから取得したクエリの処理数が閾値以上であると判定した場合、末端カテゴリ推定部２４は、末端カテゴリ推定モデルＭ１に基づいて、取得したクエリに対応する末端カテゴリを推定する（Ｓ２１５）。一方、判定部１４が、端末装置Ｔから取得したクエリの処理数が閾値以上ではないと判定した場合、中間カテゴリ推定部２６は、中間カテゴリ推定モデルＭ２に基づいて、取得したクエリに対応する末端カテゴリを推定する（Ｓ２１７）。
【００６０】
次に、検索結果生成部１８は、端末装置Ｔから取得したクエリに関して、第１カテゴリ推定部１６、末端カテゴリ推定部２４、および中間カテゴリ推定部２６のいずれかにより推定されたカテゴリで絞込み検索を行う（Ｓ２０９）。なお、第１カテゴリ推定部１６によって推定されたカテゴリを用いた絞込み検索を行う場合、検索結果生成部１８は、取得したクエリに含まれるクエリのうち、ワードツリーデータＤ３に定義されていると判定されたクエリを削除し、残りのクエリを検索クエリとして推定されたカテゴリに属する商品等の情報の検索を行う。
【００６１】
次に、検索結果生成部１８は、推定されたカテゴリを用いた検索結果に基づいて、検索結果ページを生成し、端末装置Ｔに送信する（Ｓ２１１）。以上により、本フローチャートの処理が終了する。
【００６２】
以上において説明した本実施形態の検索サーバ２によれば、クエリと対応するカテゴリを適切に推定でき、さらには、検索精度を向上させることができる。ワードツリーデータに基づいてカテゴリを推定することができない場合に、機械学習に基づいてカテゴリを推定することで、検索精度をいっそう向上させることができる。なお、中間カテゴリ推定部２６により複数のカテゴリが推定される場合には、そのカテゴリ別の検索結果を提供することも可能である。
【００６３】
以上において説明した実施形態によれば、ユーザによって入力されたクエリを取得する取得部と、クエリ間の関係がツリー構造で表され、且つ、前記クエリの各々と検索対象のカテゴリとが関連付けられたカテゴリ辞書データにおいて、前記ツリー構造の最上位に位置するクエリから順に、前記取得部によって取得されたクエリが該当するまで辿った結果に基づいて、前記取得部によって取得されたクエリに対応するカテゴリを推定する推定部と、前記推定部によって推定されたカテゴリに属する検索結果を表示するための情報を生成する生成部とを備えることにより、正確にカテゴリを推定し、検索精度を向上させることができる。
【００６４】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００６５】
１、２…検索サーバ（情報処理装置）
１０…通信部（取得部）
１２…クエリ分離部（分離部）
１４…判定部
１６…第１カテゴリ推定部（第１推定部）
１８…検索結果生成部（生成部）
２０…記憶部
２２…第２カテゴリ推定部（第２推定部）
２４…末端カテゴリ推定部
２６…中間カテゴリ推定部
【図１】
2019053682.tif 000003
【図２】
2019053682.tif 000004
【図３】
2019053682.tif 000005
【図４】
2019053682.tif 000006
【図５】
2019053682.tif 000007
【図６】
2019053682.tif 000008
【図７】
2019053682.tif 000009
【図８】
2019053682.tif 000010
【図９】
2019053682.tif 000011
【図１０】
2019053682.tif 000012