以下に、本願に係る決定装置、決定方法、及び決定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る決定装置、決定方法、及び決定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.決定処理〕
まず、図1及び図2を用いて、実施形態に係る決定処理の一例について説明する。図1は、実施形態に係る決定処理の一例を示す図である。具体的には、図1は、ユーザがユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)である場合の決定処理を示す図である。また、図1に示す例において、決定装置100は、電子商取引に関する複数の検索システムのうち、検索クエリを用いて検索を行う検索システムを決定する場合を示す。具体的には、図1に示す例において、決定装置100は、ショッピングサイトにおいてユーザがクエリを入力した場合に、検索システムAである検索システムSS11や検索システムBである検索システムSS12等のうち、どの検索システムを用いて検索処理を行うかを決定する。図1では、ユーザU1が端末装置10−1を利用する場合を示す。なお、端末装置10−1〜10−3等を区別せずに説明する場合、端末装置10と総称する。
図1及び図2に示すように、決定システム1には、端末装置10と、決定装置100と、検索システムAと、検索システムBと、対象情報データベースDB11が含まれる。端末装置10と、決定装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図1に示した決定システム1には、複数台の端末装置10や、複数台の決定装置100や、複数の対象情報データベースDB11が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1は、端末装置10がスマートフォンである場合を示す。
また、端末装置10は、ユーザによる操作を受け付ける。図1に示す例において、端末装置10は、ユーザが入力したクエリを決定装置100へ送信する。また、端末装置10は、ユーザが入力したクエリに対応する検索結果を表示する。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
決定装置100は、複数の検索システムのうち、取得したクエリを用いて検索を行う検索システムをユーザに関する所定の条件に基づいて決定する情報処理装置である。図1では、決定装置100は、各検索システムが用いられた場合における電子商取引の回数に関する情報に基づいて、取得したクエリを用いて検索を行う電子商取引に関する検索システムを決定する。
対象情報データベースDB11は、検索の対象となる情報が記憶されたデータベースである。例えば、対象情報データベースDB11は、所定の装置内に設けられる。
図1に示す対象情報データベースDB11には、検索の対象となる商品に関する情報(以下、「商品情報」とする場合がある)が記憶される。対象情報データベースDB11には、「商品ID」、「ストア」、「ストア実績」、「カテゴリ」、「タイトル」、「説明文」といった項目が含まれる。「商品ID」は、商品を識別するための識別情報を示す。また、「ストア」は、商品IDにより識別される商品を提供する店舗の名称を示す。また、「ストア実績」は、ストアの取引実績を示す。また、「カテゴリ」は、商品IDにより識別される商品が分類されるカテゴリを示す。「タイトル」は、商品IDにより識別される商品の商品情報に含まれるタイトルを示す。また、「説明文」は、商品IDにより識別される商品の商品情報に含まれる説明文を示す。また、対象情報データベースDB11には、商品IDにより識別される商品に対応する写真などの画像が記憶される。
図1に示す対象情報データベースDB11においては、例えば、商品ID「G12」により識別される商品は、ストアBにより提供される商品であることを示す。また、例えば、ストアBはストア実績が「5」である、すなわちストアBは取引回数が5回であることを示す。また、例えば、商品ID「G12」により識別される商品は、カテゴリが「書籍」であることを示す。また、例えば、商品ID「G12」により識別される商品の商品情報には、タイトル「作家Xの最新作」が含まれることを示す。また、例えば、商品ID「G12」により識別される商品の商品情報には、説明文「AAAとBBBの新品です…」が含まれることを示す。
例えば、検索システムAには、検索装置51と対象情報データベースDB11とが含まれる。図1に示すように、検索システムAは、所定のインデクサにより生成されたインデックス一覧IX11と、ストア実績重視の順位決定ロジックAである順位決定ロジックLG11とを用いて検索を行う検索システムである。例えば、検索システムAは、クエリを取得した場合、インデックス一覧IX11を用いて、対象情報データベースDB11内の情報を検索する。また、例えば、検索システムAは、順位決定ロジックLG11に基づいて、対象情報データベースDB11から取得された情報の順位を決定する。なお、以下の説明では、説明を簡単にするため、各順位決定ロジックが特定の要素(情報)に基づいて検索結果の順位を決定する場合を示すが、各順位決定ロジックは種々の情報を用いて総合的に結果の順位を決定してもよい。
図1に示すインデックス一覧IX11には、所定のインデクサであるインデクサAが生成したインデックスに関する情報が記憶される。例えば、インデクサAは、検索対象となる対象情報データベースDB11に記憶された情報群の各々に対してインデックス一覧IX11に示すようなインデックスを生成する。インデックス一覧IX11には、「索引ID」、「インデックス」、「対象情報」といった項目が含まれる。また、「対象情報」には、「対象1」、「対象2」といった項目が含まれる。「索引ID」は、インデックスを識別するための識別情報を示す。例えば、索引ID「IN11」により識別されるインデックスは、インデックス「AAAとBBB」であることを示す。「対象1」や「対象2」は、インデックスに対応付けられた対象情報データベースDB11中の商品情報を示す。例えば、索引ID「IN11」により識別されるインデックスは、対象情報データベースDB11中の商品ID「G12」により識別される商品情報や、対象情報データベースDB11中の商品ID「G14」により識別される商品情報に対応付けられていることを示す。例えば、端末装置10から検索クエリ「AAAとBBB」が検索システムAに入力された場合、対象情報データベースDB11中の商品ID「G12」により識別される商品情報や、対象情報データベースDB11中の商品ID「G14」により識別される商品情報が端末装置10に検索結果として提供される。
例えば、検索システムBには、検索装置52と対象情報データベースDB11とが含まれる。図1に示すように、検索システムBは、所定のインデクサにより生成されたインデックス一覧IX12と、一致インデックス数重視の順位決定ロジックBである順位決定ロジックLG12とを用いて検索を行う検索システムである。例えば、検索システムBは、クエリを取得した場合、インデックス一覧IX12を用いて、対象情報データベースDB11内の情報を検索する。また、例えば、検索システムBは、順位決定ロジックLG12に基づいて、対象情報データベースDB11から取得された情報の順位を決定する。
図1に示すインデックス一覧IX12には、所定のインデクサであるインデクサBが生成したインデックスに関する情報が記憶される。例えば、インデクサBは、検索対象となる対象情報データベースDB11に記憶された情報群の各々に対してインデックス一覧IX12に示すようなインデックスを生成する。インデックス一覧IX12には、「索引ID」、「インデックス」、「対象情報」といった項目が含まれる。また、「対象情報」には、「対象1」、「対象2」といった項目が含まれる。「索引ID」は、インデックスを識別するための識別情報を示す。例えば、索引ID「IN21」により識別されるインデックスは、インデックス「AAA」であることを示す。「対象1」や「対象2」は、インデックスに対応付けられた対象情報データベースDB11中の商品情報を示す。例えば、索引ID「IN21」により識別されるインデックスは、対象情報データベースDB11中の商品ID「G11」により識別される商品情報や、対象情報データベースDB11中の商品ID「G13」により識別される商品情報に対応付けられていることを示す。例えば、端末装置10から検索クエリ「AAA」が検索システムBに入力された場合、対象情報データベースDB11中の商品ID「G11」により識別される商品情報や、対象情報データベースDB11中の商品ID「G13」により識別される商品情報が端末装置10に検索結果として提供される。図1及び図2に示す例では、インデクサBにより生成されたインデックス一覧IX12に含まれるインデックスは、インデクサAにより生成されたインデックス一覧IX11に含まれるインデックスよりも文字列が短いものが多い。このように、検索システムが用いるインデクサの特徴に応じて、インデクサにより生成されるインデックスが種々の異なる組合せとなるものとする。
また、図1及び図2では、説明の簡単化のために、検索システムAと検索システムBとの2つの検索システムを図示するが、決定システム1には、3つ以上の検索システム等が含まれてもよい。例えば、決定システム1には、インデックス一覧IX11と、一致インデックス数重視の順位決定ロジックBとを用いて検索を行う検索システムCが含まれてもよい。また、例えば、決定システム1には、インデックス一覧IX12と、ストア実績重視の順位決定ロジックAとを用いて検索を行う検索システムDが含まれてもよい。
図1に示すように、端末装置10−1は、ユーザU1が入力したクエリを決定装置100へ送信する(ステップS11)。図1に示す例において、ユーザU1は、端末装置10−1の画面に表示された検索画面を表示するページW11中の検索窓に検索クエリ「AAAとBBB」を入力し、検索ボタンを押下する。そして、端末装置10は、決定装置100へ検索クエリ「AAAとBBB」を送信する。なお、図1に示す「AAAとBBB」に含まれる「AAA」や「BBB」は所定の対象に対応する文字列であり、「AAAとBBB」全体としては1つの書籍名を示すものとする。
端末装置10−1から検索クエリを受信した決定装置100は、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する(ステップS12)。図1に示す例において、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。なお、ここでいう検索履歴には、検索結果を用いて行われた取引に関する履歴等、検索に付随する種々の情報も含まれるものとする。例えば、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索システムAを用いた場合の取引回数と検索システムBを用いた場合の取引回数とに基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。
図1では、決定装置100は、ユーザU1が検索システムAを用いて検索を行った回数(検索回数)により、ユーザU1が検索システムAを用いて検索を行った結果を用いて取引を行った回数(取引回数)を除算した値を、検索システムAを用いた場合にユーザU1が取引を行う可能性を示す数値とする。図1では、決定装置100は、ユーザU1が検索システムAを用いた検索回数「100」により、ユーザU1が検索システムAを用いた場合の取引回数「10」を除算した値「0.1(=10/100)」を、検索システムAを用いた場合にユーザU1が取引を行う可能性を示す数値とする。
また、図1では、決定装置100は、ユーザU1が検索システムBを用いた検索回数により、ユーザU1が検索システムBを用いた場合の取引回数を除算した値を、検索システムBを用いた場合にユーザU1が取引を行う可能性を示す数値とする。図1では、決定装置100は、ユーザU1が検索システムBを用いた検索回数「150」により、ユーザU1が検索システムBを用いた場合の取引回数「2」を除算した値「0.013(=2/150)」を、検索システムBを用いた場合にユーザU1が取引を行う可能性を示す数値とする。
そして、決定装置100は、検索システムAを用いた場合にユーザU1が取引を行う可能性を示す数値「0.1」と検索システムBを用いた場合にユーザU1が取引を行う可能性を示す数値「0.013」とを比較することにより、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。図1では、決定装置100は、検索システムAを用いた場合にユーザU1が取引を行う可能性を示す数値「0.1」のほうが高いため、ユーザU1が入力したクエリを用いて検索を行う検索システムを検索システムAに決定する。
その後、決定装置100は、端末装置10−1から取得したクエリを検索システムAへ送信する(ステップS13)。例えば、決定装置100は、検索システムAの検索装置51へ検索クエリ「AAAとBBB」を送信する。また、決定装置100は、検索装置51へクエリの送信元が端末装置10−1であることを示す情報を送信する。
決定装置100から検索クエリ「AAAとBBB」を受信した検索装置51は、対象情報データベースDB11から情報を取得する(ステップS14)。例えば、検索装置51は、インデックス一覧IX11中のインデックスのうち、検索クエリ「AAAとBBB」に対応するインデックスを特定する。図1では、検索装置51は、インデックス一覧IX11中のインデックスのうち、検索クエリ「AAAとBBB」と完全一致するインデックスを特定する。この場合、検索装置51は、インデックス一覧IX11中のインデックスのうち、索引ID「IN11」により識別されるインデックス「AAAとBBB」を、ユーザU1のクエリに対応するインデックスとして特定する。そして、検索装置51は、インデックス「AAAとBBB」に対応付けられた商品ID「G12」により識別される商品の商品情報や、商品ID「G14」により識別される商品の商品情報等を、対象情報データベースDB11から取得する。なお、商品ID「G12」により識別される商品の商品情報を商品情報GI12と記載し、商品ID「G14」により識別される商品の商品情報GI14と記載する場合がある。例えば、ステップS14において、検索装置51は、検索クエリに該当する情報として商品情報GI12と商品情報GI14とを抽出する。
対象情報データベースDB11から商品情報GI12、GI14等を取得した検索装置51は、商品情報GI12、GI14等の順位(以下、「表示順」ともいう)を決定する(ステップS15)。例えば、検索装置51は、順位決定ロジックAに基づいて、商品情報GI12、GI14等の表示順を決定する。例えば、検索装置51は、ストア実績の数値が大きい程表示順が高くなるように、商品情報GI12、GI14等の表示順を決定する。図1の例では、商品ID「G12」により識別される商品を提供するストアBのストア実績が「5」であり、商品ID「G14」により識別される商品を提供するストアDのストア実績が「100」である。そのため、商品情報GI14のほうが、商品情報GI12よりも表示順が高くなる。例えば、検索装置51は、商品情報GI14の表示順を1位とし、商品情報GI12の表示順を2位とする。
ステップS15において商品情報GI12、GI14等の表示順を決定した後、検索装置51は、クエリの送信元である端末装置10−1へ商品情報GI12、GI14等を含む検索結果を提供する(ステップS16)。なお、検索装置51は、決定装置100を介して端末装置10−1へ商品情報GI12、GI14等を含む検索結果を提供してもよい。
商品情報GI12、GI14等を含む検索結果を受信した端末装置10−1は、受信した検索結果を表示する(ステップS17)。例えば、端末装置10−1は、表示順が高い商品情報ほど上位に表示する。
図1に示す例において、端末装置10−1は、ショッピング検索結果を表示するページW12において、最も順位の高い商品情報を表示する領域AR11に、順位1位である商品情報GI14を表示する。また、端末装置10−1は、ページW12において、2番目に順位の高い商品情報を表示する領域AR12に、順位2位である商品情報GI12を表示する。また、図1に示す例において、端末装置10は、表示された「次へ」や「2」にユーザU1がタッチした場合、順位3位の商品情報や順位4位の商品情報を表示する。このように、端末装置10−1は、検索装置51において決定された表示順に基づいて、商品情報を表示する。
次に、図2を用いてユーザU1以外の他のユーザに対する決定処理例を示す。図2は、実施形態に係る決定処理の一例を示す図である。具体的には、図2は、ユーザがユーザID「U2」により識別されるユーザ(以下、「ユーザU2」とする場合がある)である場合の決定処理を示す図である。なお、図2中において図1と同様の部分については適宜説明を省略する。
図2に示すように、端末装置10−2は、ユーザU2が入力したクエリを決定装置100へ送信する(ステップS21)。図2に示す例において、ユーザU2は、端末装置10−2の画面に表示された検索画面を表示するページW21中の検索窓に検索クエリ「AAA」、「BBB」を入力し、検索ボタンを押下する。具体的には、ユーザU2は、端末装置10−2の画面に表示された検索画面を表示するページW21中の検索窓に「AAA BBB」を入力し、検索ボタンを押下する。そして、端末装置10は、決定装置100へ検索クエリ「AAA」、「BBB」の2つの文字列を送信する。
端末装置10−2から検索クエリを受信した決定装置100は、ユーザU2が入力したクエリを用いて検索を行う検索システムを決定する(ステップS22)。図2に示す例において、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU2の検索履歴に基づいて、ユーザU2が入力したクエリを用いて検索を行う検索システムを決定する。例えば、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU2の検索システムAを用いた場合の取引回数と検索システムBを用いた場合の取引回数とに基づいて、ユーザU2が入力したクエリを用いて検索を行う検索システムを決定する。
図2では、決定装置100は、ユーザU2が検索システムAを用いた検索回数により、ユーザU2が検索システムAを用いて検索を行った結果を用いた場合の取引回数を除算した値を、検索システムAを用いた場合にユーザU2が取引を行う可能性を示す数値とする。図2では、決定装置100は、ユーザU2が検索システムAを用いた検索回数「200」により、ユーザU2が検索システムAを用いた場合の取引回数「1」を除算した値「0.005(=1/200)」を、検索システムAを用いた場合にユーザU2が取引を行う可能性を示す数値とする。
また、図2では、決定装置100は、ユーザU2が検索システムBを用いた検索回数により、ユーザU2が検索システムBを用いた場合の取引回数を除算した値を、検索システムBを用いた場合にユーザU2が取引を行う可能性を示す数値とする。図2では、決定装置100は、ユーザU2が検索システムBを用いた検索回数「50」により、ユーザU2が検索システムBを用いた場合の取引回数「5」を除算した値「0.1(=5/50)」を、検索システムBを用いた場合にユーザU2が取引を行う可能性を示す数値とする。
そして、決定装置100は、検索システムAを用いた場合にユーザU2が取引を行う可能性を示す数値「0.005」と検索システムBを用いた場合にユーザU2が取引を行う可能性を示す数値「0.1」とを比較することにより、ユーザU2が入力したクエリを用いて検索を行う検索システムを決定する。図2では、決定装置100は、検索システムBを用いた場合にユーザU2が取引を行う可能性を示す数値「0.1」のほうが高いため、ユーザU2が入力したクエリを用いて検索を行う検索システムを検索システムBに決定する。
その後、決定装置100は、端末装置10−2から取得したクエリを決定装置100へ送信する(ステップS23)。例えば、決定装置100は、検索システムBの検索装置52へ検索クエリ「AAA」、「BBB」を送信する。また、決定装置100は、検索装置52へクエリの送信元が端末装置10−2であることを示す情報を送信する。
決定装置100から検索クエリ「AAA」、「BBB」を受信した検索装置52は、対象情報データベースDB11から情報を取得する(ステップS24)。例えば、検索装置52は、インデックス一覧IX12中のインデックスのうち、検索クエリ「AAA」または検索クエリ「BBB」に対応するインデックスを特定する。図2では、検索装置52は、インデックス一覧IX12中のインデックスのうち、検索クエリ「AAA」または検索クエリ「BBB」に完全一致するインデックスを特定する。この場合、検索装置52は、インデックス一覧IX12中のインデックスのうち、索引ID「IN21」により識別されるインデックス「AAA」及び索引ID「IN22」により識別されるインデックス「BBB」を、ユーザU2のクエリに対応するインデックスとして特定する。そして、検索装置52は、インデックス「AAA」またはインデックス「BBB」に対応付けられた商品ID「G11」により識別される商品の商品情報や、商品ID「G13」により識別される商品の商品情報等を、対象情報データベースDB11から取得する。なお、商品ID「G11」により識別される商品の商品情報を商品情報GI11と記載し、商品ID「G13」により識別される商品の商品情報GI13と記載する場合がある。例えば、ステップS24において、検索装置52は、検索クエリに該当する情報として商品情報GI11と商品情報GI13とを抽出する。
対象情報データベースDB11から商品情報GI11、GI13等を取得した検索装置52は、商品情報GI11、GI13等の表示順を決定する(ステップS25)。例えば、検索装置52は、順位決定ロジックBに基づいて、商品情報GI11、GI13等の表示順を決定する。例えば、検索装置52は、一致インデックス数が多い程表示順が高くなるように、商品情報GI11、GI13等の表示順を決定する。図2の例では、商品ID「G11」により識別される商品は、インデックス「AAA」のみに一致し、商品ID「G13」により識別される商品は、インデックス「AAA」及びインデックス「BBB」の2つに一致する。そのため、商品情報GI13のほうが、商品情報GI11よりも表示順が高くなる。例えば、検索装置52は、商品情報GI13の表示順を1位とし、商品情報GI11の表示順を2位とする。
ステップS25において商品情報GI11、GI13等の表示順を決定した後、検索装置52は、クエリの送信元である端末装置10−2へ商品情報GI11、GI13等を含む検索結果を提供する(ステップS26)。なお、検索装置52は、決定装置100を介して端末装置10−2へ商品情報GI11、GI13等を含む検索結果を提供してもよい。
商品情報GI11、GI13等を含む検索結果を受信した端末装置10−2は、受信した検索結果を表示する(ステップS27)。例えば、端末装置10−2は、表示順が高い商品情報ほど上位に表示する。
図2に示す例において、端末装置10−2は、ショッピング検索結果を表示するページW22において、最も順位の高い商品情報を表示する領域AR21に、順位1位である商品情報GI13を表示する。また、端末装置10−2は、ページW22において、2番目に順位の高い商品情報を表示する領域AR22に、順位2位である商品情報GI11を表示する。また、図2に示す例において、端末装置10は、表示された「次へ」や「2」にユーザU2がタッチした場合、順位3位の商品情報や順位4位の商品情報を表示する。このように、端末装置10−2は、検索装置52において決定された表示順に基づいて、商品情報を表示する。
上述したように、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU1やユーザU2が入力したクエリを用いて検索を行う検索システムを決定する。このように、決定装置100は、クエリの送信元であるユーザU1やユーザU2に応じて検索システムを決定することにより、ユーザに対して適切な検索結果を提供することを可能にすることができる。なお、上述した例では、各インデクサが生成するインデックスの差異を明確にし、説明を簡単にするために、検索クエリに完全一致するインデックスを特定する場合を示したが、決定装置100は、完全一致に限らず、部分一致するインデックスを特定してもよい。また、上述した例では、検索システム間の差異を強調するために、検索クエリ(文字列)をそのまま用いる場合を例に説明したが、検索クエリ「AAAとBBB」は、トークナイズ(字句解析)され、検索が行われてもよい。なお、この点については、図11の説明において詳述する。
また、図1や図2に示す例においては、検索システムAや検索システムBや対象情報データベースDB11が決定装置100と別体である構成を示したが、検索システムAや検索システムBや対象情報データベースDB11の機能を決定装置100が有してもよい。例えば、決定装置100は、検索装置51や検索装置52と一体であってもよい。また、決定装置100は、対象情報データベースDB11を有してもよい。この場合、決定システム1は、端末装置10と、決定装置100とにより構成されてもよい。また、検索装置51や検索装置52は一体となった検索装置であってもよく、その検索装置が対象情報データベースDB11を有してもよい。すなわち、決定システム1は、端末装置10と、決定装置100とを含み、上述した決定処理を実行可能であればどのような構成であってもよい。
上述した例においては、決定装置100がユーザの各検索システムにおける検索回数や取引回数に応じて、検索システムを決定する場合を示したが、決定装置100は、種々の情報を適宜用いて、検索システムを決定してもよい。例えば、決定装置100は、検索クエリを用いた各検索システムにより検索結果を表示する画面における位置に基づいて、検索システムを決定してもよい。決定装置100は、ユーザがある検索システムにおける検索結果のうち、表示順が上位(例えば1位や2位等)の結果を用いて取引を行うことが多い場合に、その検索システムがそのユーザに適しているとして、そのユーザに用いる検索システムとして決定してもよい。例えば、決定装置100は、表示順が高い結果ほど大きな重みを付けて、各表示順の結果を用いた取引回数と各表示順の重みを乗算した値を合計したスコアに基づいて、検索システムを決定してもよい。これにより、決定装置100は、インデクサと順位決定ロジックとの両方を総合的に判断して、各ユーザに対して検索システムを適切に決定することができる。
また、決定装置100は、検索クエリに関する商品カテゴリに基づいて、検索システムを決定してもよい。例えば、決定装置100は、検索クエリに関する商品カテゴリごとに検索結果を集計し、各商品カテゴリに適した検索システムを決定してもよい。例えば、決定装置100は、検索クエリに関する商品カテゴリが衣類である場合に検索システムXを用いた場合の検索回数に対する取引回数の割合が他の検索システムよりも高い場合、検索クエリに関する商品カテゴリが衣類である場合に検索システムXを、その検索に用いる検索システムとして決定してもよい。また、決定装置100は、ユーザごとに検索クエリに関する商品カテゴリに基づいて、検索システムを決定してもよい。例えば、決定装置100は、ユーザXが入力した検索クエリに関する商品カテゴリが食品である場合に検索システムYを用いた場合の検索回数に対する取引回数の割合が他の検索システムよりも高い場合、検索クエリに関する商品カテゴリが食品である場合に検索システムYを、その検索に用いる検索システムとして決定してもよい。これにより、決定装置100は、検索クエリに関する商品カテゴリに基づいて、検索システムを適切に決定することができる。
〔2.決定装置の構成〕
次に、図3を用いて、実施形態に係る決定装置100の構成について説明する。図3は、実施形態に係る決定装置100の構成例を示す図である。図3に示すように、決定装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、決定装置100は、決定装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図3に示すように、ユーザ履歴情報記憶部121を有する。なお、決定装置100が検索装置51や検索装置52と一体である場合、記憶部120は、検索システムAのインデックス一覧IX11や順位決定ロジックLG11に関する情報や、検索システムBのインデックス一覧IX12や順位決定ロジックLG12に関する情報を記憶してもよい。また、記憶部120は、対象情報データベースDB11を記憶してもよい。
(ユーザ履歴情報記憶部121)
実施形態に係るユーザ履歴情報記憶部121は、ユーザの検索履歴に関する各種情報を記憶する。例えば、ユーザ履歴情報記憶部121は、ユーザの各システムにおける検索回数や検索結果に基づく取引回数に関する情報を記憶する。図4は、実施形態に係るユーザ履歴情報記憶部の一例を示す図である。図4に示すユーザ履歴情報記憶部121は、「ユーザID」、「検索システムA」、「検索システムB」といった項目が含まれる。また、「検索システムA」や「検索システムB」には、「検索回数」、「取引回数」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「検索回数」は、ユーザIDにより識別されるユーザが対応する検索システムを用いて検索を行った回数を示す。また、「取引回数」は、ユーザIDにより識別されるユーザが対応する検索システムによる検索結果を用いて取引を行った回数を示す。
例えば、図4に示す例において、ユーザU1が検索システムAを用いた検索回数は「100」であり、ユーザU1が検索システムAを用いた場合の取引回数が「10」であることを示す。また、例えば、ユーザU1が検索システムBを用いた検索回数は「150」であり、ユーザU1が検索システムAを用いた場合の取引回数が「2」であることを示す。
なお、ユーザ履歴情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ履歴情報記憶部121は、検索システムによる検索結果を用いて取引を行った場合における取引対象となった商品の商品情報の表示順に関する情報を記憶してもよい。例えば、ユーザ履歴情報記憶部121は、検索システムによる検索結果を用いて取引を行った場合における取引対象となった商品の商品情報の表示順の平均を記憶してもよい。この場合、検索システムによる検索結果を用いて取引を行った場合における取引対象となった商品の商品情報の表示順の平均が小さい程、そのユーザに適切な商品情報が上位に表示されたことを示す。そのため、決定装置100は、検索システムのうち、あるユーザが検索システムによる検索結果を用いて取引を行った場合における取引対象となった商品の商品情報の表示順の平均が小さい検索システムを、そのユーザに対する検索システムとして決定してもよい。
(制御部130)
図3の説明に戻って、制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、決定装置100内部の記憶装置に記憶されている各種プログラム(配信プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラ(Controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部130は、取得部131と、決定部132と、送信部133とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
(取得部131)
取得部131は、外部装置から各種情報を取得する。例えば、取得部131は、ユーザが利用する端末装置10から検索クエリを取得する。また、取得部131は、ユーザの検索履歴に関する各種情報を取得してもよい。例えば、取得部131は、ユーザの各システムにおける検索回数や検索結果に基づく取引回数に関する情報を取得してもよい。また、取得部131は、取得したユーザの各システムにおける検索回数や検索結果に基づく取引回数に関する情報をユーザ履歴情報記憶部121に記憶させてもよい。
(決定部132)
決定部132は、複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムをユーザに関する所定の条件に基づいて決定する。例えば、決定部132は、電子商取引に関する複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う電子商取引に関する検索システムを決定する。決定部132は、各検索システムが用いられた場合における電子商取引の回数に関する情報に基づいて、取得部131により取得された検索クエリを用いて検索を行う電子商取引に関する検索システムを決定する。
図1では、決定部132は、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。例えば、決定部132は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。例えば、決定部132は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索システムAを用いた場合の取引回数と検索システムBを用いた場合の取引回数とに基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。例えば、決定部132は、検索システムAを用いた場合にユーザU1が取引を行う可能性を示す数値「0.1」と検索システムBを用いた場合にユーザU1が取引を行う可能性を示す数値「0.013」とを比較することにより、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。図1の例では、決定部132は、検索システムAを用いた場合にユーザU1が取引を行う可能性を示す数値「0.1」のほうが高いため、ユーザU1が入力したクエリを用いて検索を行う検索システムを検索システムAに決定する。
決定部132は、取得部131により取得された検索クエリとインデックスとが完全一致する場合に、当該インデックスに対応する情報を検索結果とする複数の検索システムのうち、検索クエリを用いて検索を行う検索システムを決定する。決定部132は、検索対象となる情報群の各々に対してインデックスを生成するインデクサが異なる複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定してもよい。また、決定部132は、検索クエリに該当する情報として抽出された各情報の順位を決定する順位決定ロジックが異なる複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定する。例えば、決定部132は、検索対象となる情報群の各々に対してインデックスを生成する複数のインデクサのうち、各検索システムが所定のインデクサを用いる複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定してもよい。また、例えば、決定部132は、検索クエリに該当する情報として抽出された各情報の順位を決定する複数の順位決定ロジックのうち、各検索システムが所定の順位決定ロジックを用いる複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定する。
決定部132は、検索クエリを用いて検索結果を表示する画面における位置に基づいて、取得部131により取得された検索クエリを用いて検索を行う電子商取引に関する検索システムを決定する。例えば、決定部132は、検索クエリを用いて検索結果を表示する表示順に基づいて、取得部131により取得された検索クエリを用いて検索を行う電子商取引に関する検索システムを決定する。また、決定部132は、検索クエリに関する商品カテゴリに基づいて、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定してもよい。例えば、決定部132は、検索クエリに関する商品カテゴリが「書籍」である場合は検索システムAと決定したり、検索クエリに関する商品カテゴリが「家電」である場合は検索システムBと決定したりしてもよい。すなわち、決定部132は、検索クエリに関する商品カテゴリに応じて検索システムを使い分けてもよい。
(送信部133)
送信部133は、外部装置に各種情報を送信する。例えば、送信部133は、端末装置10から取得したクエリを検索システムへ送信する。図1では、送信部133は、検索システムAの検索装置51へ検索クエリ「AAAとBBB」を送信する。また、送信部133は、検索装置51へクエリの送信元が端末装置10−1であることを示す情報を送信する。例えば、検索装置51や検索装置52が決定装置100を介して端末装置10へ商品情報を含む検索結果を提供する場合、送信部133は、端末装置10へ商品情報を含む検索結果を送信してもよい。
〔3.端末装置の構成〕
次に、図5を用いて、実施形態に係る端末装置10の構成について説明する。図5は、実施形態に係る端末装置10の構成例を示す図である。図5に示すように、端末装置10は、通信部11と、記憶部12と、入力部13と、出力部14と、制御部15とを有する。
(通信部11)
通信部11は、例えば、通信回路等によって実現される。そして、通信部11は、図示しない所定のネットワークと有線または無線で接続され、決定装置100や検索システムA(検索装置51)や検索システムB(検索装置52)との間で情報の送受信を行う。
(記憶部12)
記憶部12は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部12は、例えば、端末装置10にインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。
(入力部13)
入力部13は、ユーザからの各種操作を受け付ける。例えば、入力部13は、タッチパネル機能により表示面を介してユーザからの各種操作を受け付けてもよい。また、入力部13は、端末装置10に設けられたボタンや、端末装置10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
(出力部14)
出力部14は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。
(制御部15)
制御部15は、例えば、CPUやMPU等によって、端末装置10内部の記憶部12などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、インストールされているアプリケーションのプログラムが含まれる。また、制御部15は、例えば、ASICやFPGA等の集積回路により実現される。
図5に示すように、制御部15は、要求部151と、受信部152と、表示部153とを有し、以下に説明する予測処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、図5に示した構成に限られず、後述する予測処理を行う構成であれば他の構成であってもよい。また、制御部15が有する各処理部の接続関係は、図5に示した接続関係に限られず、他の接続関係であってもよい。
要求部151は、入力部13により受け付けたユーザ操作に従って、決定装置100へ取得要求を送信する。図1に示す例において、要求部151は、所定のアプリや所定のブラウザに表示されたウェブページ(ページW11等)中の検索窓に入力された検索クエリを決定装置100へ送信することにより、検索結果の取得を要求する。
受信部152は、検索システムAや検索システムBから提供された商品情報を含む検索結果を受信する。また、受信部152は、商品情報を含む検索結果を受信した場合、受信した商品情報を記憶部12に格納してもよい。
表示部153は、決定装置100から提供された商品情報を含む検索結果を表示する。例えば、表示部153は、表示順が高い商品に関する情報ほど上位に表示する。例えば、表示部153は、図1に示す例において、ページW11において、最も表示順の高い商品に関する情報を表示する領域AR11に、表示順1位である商品G14に関する商品情報GI14を表示する。また、表示部153は、ページW11において、2番目に表示順の高い商品に関する情報を表示する領域AR12に、表示順2位である商品G12に関する商品情報GI12を表示する。また、表示部153は、図1に示す例において、表示された「次へ」や「2」にユーザがタッチした場合、表示順3位の商品の商品情報や表示順4位の商品の商品情報を表示する。
なお、上述した制御部15による表示処理等の処理は、例えば、JavaScript(登録商標)などにより実現されてもよい。また、上述した商品情報の表示に関する処理が専用アプリにより行われる場合、制御部15は、例えば、所定のアプリや専用アプリを制御するアプリ制御部を有してもよい。
〔4.決定処理のフロー〕
次に、図6を用いて、実施形態に係る決定システム1による決定処理の手順について説明する。図6は、実施形態に係る決定処理の一例を示すフローチャートである。
図6に示すように、決定装置100の取得部131は、検索クエリを取得する(ステップS101)。例えば、取得部131は、各ユーザが利用する端末装置10から検索クエリを取得する。
また、決定装置100の決定部132は、ユーザ履歴に基づいて検索システムを決定する(ステップS102)。例えば、決定部132は、ユーザ履歴情報記憶部121に記憶されたユーザの検索履歴に基づいて、ユーザが入力したクエリを用いて検索を行う検索システムを決定する。
その後、決定装置100の送信部133は、決定した検索システムへ検索クエリを送信する(ステップS103)。例えば、送信部133は、検索システムAの検索装置51や検索システムBの検索装置52へ検索クエリを送信する。
そして、決定装置100から検索クエリを取得した検索システムは、検索クエリに基づいて情報を取得する(ステップS104)。例えば、決定装置100から検索クエリを取得した検索システムAの検索装置51は、インデックス一覧IX11を用いて、対象情報データベースDB11から検索クエリに対応する商品情報を取得する。また、例えば、決定装置100から検索クエリを取得した検索システムBの検索装置52は、インデックス一覧IX12を用いて、対象情報データベースDB11から検索クエリに対応する商品情報を取得する。
その後、検索システムは、取得した情報の表示順を決定する(ステップS105)。例えば、検索システムAの検索装置51は、順位決定ロジックAに基づいて、対象情報データベースDB11から取得した商品情報の表示順を決定する。また、例えば、検索システムBの検索装置52は、順位決定ロジックBに基づいて、対象情報データベースDB11から取得した商品情報の表示順を決定する。
その後、検索システムは、表示順を決定した情報を配信する(ステップS106)。例えば、検索システムは、検索クエリの送信元である端末装置10へ表示順を決定した商品情報を含む検索結果を提供する。
〔5.変形例:類似ユーザの情報利用〕
上述した例においては、決定装置100は、ユーザ自身の検索履歴に関する情報を用いて、そのユーザの検索クエリを用いて検索を行う検索システムを決定する場合を示したが、他のユーザの情報を用いて検索システムを決定してもよい。この点について、図7〜図10を用いて説明する。例えば、変形例に係る決定システム2は、検索クエリの送信元であるユーザ自身の検索履歴に関する情報が十分でない場合、そのユーザと類似するユーザの検索履歴に関する情報を用いて、そのユーザの検索クエリを用いて検索を行う検索システムを決定する。なお、実施形態と同様の構成については、同一の符号を付して説明を省略する。
〔5−1.決定処理〕
まず、図7を用いて、変形例に係る決定処理の一例について説明する。図7は、変形例に係る予測処理の一例を示す図である。具体的には、図7は、ユーザがユーザID「U3」により識別されるユーザ(以下、「ユーザU3」とする場合がある)である場合の決定処理を示す図である。また、図7に示す例において、ユーザU3自身の検索履歴に関する情報が十分でないものとする。そのため、決定装置200は、ユーザU3が検索クエリの送信元である場合に、他のユーザの検索履歴に関する情報を用いて、検索システムAである検索システムSS11や検索システムBである検索システムSS12等のうち、どの検索システムを用いて検索処理を行うかを決定する場合を示す。
図7に示すように、決定システム2には、端末装置10と、決定装置200と、検索システムAと、検索システムBと、対象情報データベースDB11が含まれる。端末装置10と、決定装置200とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。なお、図7に示した決定システム2には、複数台の端末装置10や、複数台の決定装置200や、複数の対象情報データベースDB11が含まれてもよい。
決定装置200は、複数の検索システムのうち、取得したクエリを用いて検索を行う検索システムをユーザに関する所定の条件に基づいて決定する情報処理装置である。図7では、決定装置200は、検索クエリの送信元であるユーザに類似する他のユーザに対して用いた検索システムを、取得部131により取得された検索クエリを用いて検索を行う検索システムとして決定する。
図7に示すように、端末装置10−3は、ユーザU3が入力したクエリを決定装置200へ送信する(ステップS31)。図7に示す例において、ユーザU3は、端末装置10−3の画面に表示された検索画面を表示するページW31中の検索窓に検索クエリ「AAAとBBB」を入力し、検索ボタンを押下する。そして、端末装置10は、決定装置200へ検索クエリ「AAAとBBB」を送信する。
端末装置10−3から検索クエリを受信した決定装置200は、ユーザU3が自身の検索履歴に関する情報が十分でないユーザであるため、類似ユーザを決定する(ステップS32)。図7に示す例において、ユーザ履歴情報記憶部121にはユーザU3自身の検索履歴に関する情報が含まれないため、決定装置200は、ユーザU3が自身の検索履歴に関する情報が十分でないユーザと判定する。なお、決定装置200は、検索クエリに送信元のユーザ自身の検索履歴に関する情報に基づいて、目的等に応じて適宜の条件を用いて、検索クエリに送信元のユーザ自身の検索履歴に関する情報が十分であるかを判定してもよい。例えば、決定装置200は、ユーザ履歴情報記憶部121中に記憶された検索クエリに送信元のユーザの検索履歴において、2つ以上の検索システムの検索回数が所定回数以上である場合、そのユーザ自身の検索履歴に関する情報が十分であるユーザと判定してもよい。
そして、決定装置200は、ユーザ属性情報記憶部222に記憶されたユーザU3のユーザ属性と類似するユーザをユーザU3に類似するユーザとして決定する。ここで、図7中のユーザ属性情報記憶部222に示すように、ユーザU1とユーザU3とは、30代男性であり、スポーツに興味がある点で、ユーザ属性が類似する。すなわち、ユーザU1とユーザU3とは、複数のユーザ属性が類似する。そのため、決定装置200は、ユーザU1をユーザU3に類似するユーザとして決定する。なお、決定装置200は、上記に限らず、種々の情報を適宜用いてユーザU3に類似するユーザとして決定してもよい。
そして、決定装置200は、ユーザU3が入力したクエリを用いて検索を行う検索システムを、ユーザU1の検索履歴に関する情報に基づいて決定する(ステップS33)。図7に示す例において、決定装置200は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU3が入力したクエリを用いて検索を行う検索システムを決定する。例えば、決定装置200は、ユーザ履歴情報記憶部121に記憶されたユーザU3の検索システムAを用いた場合の取引回数と検索システムBを用いた場合の取引回数とに基づいて、ユーザU3が入力したクエリを用いて検索を行う検索システムを決定する。
図7では、決定装置200は、ユーザU1が検索システムAを用いて検索を行った回数(検索回数)により、ユーザU1が検索システムAを用いて検索を行った結果を用いて取引を行った回数(取引回数)を除算した値を、検索システムAを用いた場合にユーザU3が取引を行う可能性を示す数値とする。図7では、決定装置200は、ユーザU1が検索システムAを用いた検索回数「100」により、ユーザU1が検索システムAを用いた場合の取引回数「10」を除算した値「0.1(=10/100)」を、検索システムAを用いた場合にユーザU3が取引を行う可能性を示す数値とする。
また、図7では、決定装置200は、ユーザU1が検索システムBを用いた検索回数により、ユーザU1が検索システムBを用いた場合の取引回数を除算した値を、検索システムBを用いた場合にユーザU3が取引を行う可能性を示す数値とする。図7では、決定装置200は、ユーザU1が検索システムBを用いた検索回数「150」により、ユーザU1が検索システムAを用いた場合の取引回数「2」を除算した値「0.013(=2/150)」を、検索システムBを用いた場合にユーザU3が取引を行う可能性を示す数値とする。
そして、決定装置200は、検索システムAを用いた場合にユーザU3が取引を行う可能性を示す数値「0.1」と検索システムBを用いた場合にユーザU3が取引を行う可能性を示す数値「0.013」とを比較することにより、ユーザU3が入力したクエリを用いて検索を行う検索システムを決定する。図7では、決定装置200は、検索システムAを用いた場合にユーザU3が取引を行う可能性を示す数値「0.1」のほうが高いため、ユーザU3が入力したクエリを用いて検索を行う検索システムを検索システムAに決定する。
その後、決定装置200は、端末装置10−3から取得したクエリを検索システムAへ送信する(ステップS34)。例えば、決定装置200は、検索システムAの検索装置51へ検索クエリ「AAAとBBB」を送信する。また、決定装置200は、検索装置51へクエリの送信元が端末装置10−3であることを示す情報を送信する。
決定装置200から検索クエリ「AAAとBBB」を受信した検索装置51は、対象情報データベースDB11から情報を取得する(ステップS35)。
対象情報データベースDB11から商品情報GI12、GI14等を取得した検索装置51は、商品情報GI12、GI14等の表示順を決定する(ステップS36)。例えば、検索装置51は、順位決定ロジックAに基づいて、商品情報GI12、GI14等の表示順を決定する。例えば、検索装置51は、商品情報GI14の表示順を1位とし、商品情報GI12の表示順を2位とする。
ステップS36において商品情報GI12、GI14等の表示順を決定した後、検索装置51は、クエリの送信元である端末装置10−3へ商品情報GI12、GI14等を含む検索結果を提供する(ステップS37)。なお、検索装置51は、決定装置200を介して端末装置10−3へ商品情報GI12、GI14等を含む検索結果を提供してもよい。
商品情報GI12、GI14等を含む検索結果を受信した端末装置10−3は、受信した検索結果を表示する(ステップS38)。例えば、端末装置10−3は、表示順が高い商品情報ほど上位に表示する。
図7に示す例において、端末装置10−3は、ショッピング検索結果を表示するページW32において、最も順位の高い商品情報を表示する領域AR31に、順位1位である商品情報GI14を表示する。また、端末装置10−3は、ページW32において、2番目に順位の高い商品情報を表示する領域AR32に、順位2位である商品情報GI12を表示する。また、図7に示す例において、端末装置10は、表示された「次へ」や「2」にユーザU2がタッチした場合、順位3位の商品情報や順位4位の商品情報を表示する。このように、端末装置10−3は、検索装置51において決定された表示順に基づいて、商品情報を表示する。なお、決定装置200は、ユーザU1やユーザU2等の自身の検索履歴に関する情報が十分であるユーザに対しては、図1に示す例と同様に、ユーザU1やユーザU2等の自身の検索履歴に関する情報に基づいて、検索システムを決定する。なお、上記の例では、自身の検索履歴に関する情報が十分でないユーザU3が入力したクエリを用いて検索を行う検索システムを、ユーザU3に類似するユーザU1の検索履歴に基づいて決定する場合を示したが、決定装置200は、ユーザU3が入力したクエリを用いて検索を行う検索システムは、他の情報に基づいて決定してもよい。例えば、決定装置200は、自身の検索履歴に関する情報が十分でないユーザU3の検索履歴が複数の検索システムについて収集されるように、検索システムを決定してもよい。例えば、決定装置200は、ユーザU3が入力したクエリを用いて検索を行う検索システムを類似する複数のユーザからランダムに選択されたユーザの検索履歴に基づいて決定してもよい。また、例えば、決定装置200は、類似度の高いいくつかの検索システムをランダムにユーザU3が入力したクエリを用いて検索を行う検索システムとして決定してもよい。上記例において、例えば、定装置200は、ユーザU3が入力したクエリを用いて検索を行う検索システムとして、検索システムAに類似する検索システムをランダムに決定してもよい。
〔5−2.決定装置の構成〕
次に、図8を用いて、変形例に係る決定装置200の構成について説明する。図8は、変形例に係る決定装置の構成例を示す図である。図8に示すように、決定装置200は、通信部110と、記憶部220と、制御部230とを有する。なお、決定装置200は、決定装置200の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(記憶部220)
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。変形例に係る記憶部220は、図8に示すように、ユーザ履歴情報記憶部121と、ユーザ属性情報記憶部222とを有する。
(ユーザ属性情報記憶部222)
変形例に係るユーザ属性情報記憶部222は、ユーザ属性に関する各種情報を記憶する。図9は、変形例に係るユーザ属性情報記憶部の一例を示す図である。図9に示すユーザ属性情報記憶部222は、「ユーザID」、「年齢」、「性別」、「居住地」、「興味」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U3」により識別されるユーザは、図7の例に示したユーザU3に対応する。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。また、「居住地」は、ユーザIDにより識別されるユーザの居住する地域を示す。なお、「居住地」は、ユーザIDにより識別されるユーザの具体的な住所であってもよい。また、「興味」は、ユーザIDにより識別されるユーザが関心のある対象を示す。なお、「興味」は、複数登録されてもよい。
例えば、図9に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「30代」であり、性別は、「男性」であることを示す。また、例えば、図4に示す例において、ユーザID「U1」により識別されるユーザは、居住地が「地域A」であり、関心のある対象が「スポーツ」であることを示す。
なお、ユーザ属性情報記憶部222は、上記に限らず、目的に応じて種々の情報、例えばデモグラフィック属性情報やサイコグラフィック属性情報を記憶してもよい。例えば、ユーザ属性情報記憶部222は、氏名、家族構成、収入、勤務先等の情報を記憶してもよい。
(制御部230)
制御部230は、例えば、CPUやMPU等によって、決定装置200内部の記憶装置に記憶されている各種プログラム(予測プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現される。
図8に示すように、制御部230は、取得部131と、決定部232と、送信部133とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図8に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部230が有する各処理部の接続関係は、図8に示した接続関係に限られず、他の接続関係であってもよい。
(決定部232)
決定部232は、検索クエリの送信元のユーザの検索履歴に関する情報が十分である場合、実施形態に係る決定部133と同様の処理を行う。また、決定部232は、検索クエリの送信元のユーザの検索履歴に関する情報が十分でない場合、ユーザに類似する他のユーザに対して用いた検索システムを、取得部131により取得された検索クエリを用いて検索を行う検索システムとして決定する。
例えば、図7では、決定部232は、ユーザU3が自身の検索履歴に関する情報が十分でないユーザであるため、類似ユーザを決定する。また、決定部232は、ユーザ履歴情報記憶部121にユーザU3自身の検索履歴に関する情報が含まれないため、ユーザU3が自身の検索履歴に関する情報が十分でないユーザと判定する。そして、決定部232は、ユーザ属性情報記憶部222に記憶されたユーザU3のユーザ属性と類似するユーザをユーザU3に類似するユーザとして決定する。例えば、決定部232は、ユーザU1とユーザU3とが、30代男性であり、スポーツに興味がある点で、ユーザ属性が類似するため、ユーザU1をユーザU3に類似するユーザとして決定する。
そして、決定部232は、ユーザU3が入力したクエリを用いて検索を行う検索システムを、ユーザU1の検索履歴に関する情報に基づいて決定する。例えば、決定部232は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU3が入力したクエリを用いて検索を行う検索システムを決定する。例えば、決定部232は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索システムAを用いた場合の取引回数と検索システムBを用いた場合の取引回数とに基づいて、ユーザU3が入力したクエリを用いて検索を行う検索システムを決定する。
〔5−3.決定処理のフロー〕
次に、図10を用いて、変形例に係る決定システム2による決定処理の手順について説明する。図10は、変形例に係る決定処理の一例を示すフローチャートである。
図10に示すように、決定装置200の取得部131は、検索クエリを取得する(ステップS201)。例えば、取得部131は、各ユーザが利用する端末装置10から検索クエリを取得する。
また、決定装置200の決定部232は、検索クエリの送信元のユーザの検索履歴が所定の条件を満たすかどうかを判定する(ステップS202)。例えば、決定部232は、検索クエリの送信元のユーザについて、ユーザ履歴情報記憶部121中に記憶された検索履歴において、2つ以上の検索システムの検索回数が所定回数以上であることを、所定の条件としてもよい。そして、決定部232は、検索クエリの送信元のユーザの検索履歴において、2つ以上の検索システムの検索回数が所定回数以上である場合、そのユーザ自身の検索履歴に関する情報が十分であるユーザと判定してもよい。
決定部232は、検索クエリの送信元のユーザの検索履歴が所定の条件を満たす場合(ステップS202:Yes)、ユーザ自身の検索履歴に基づいて、検索システムを決定する(ステップS203)。例えば、図7の例では、決定部232は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴が十分であるため、ユーザU1自身の検索履歴に基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。
決定部232は、検索クエリの送信元のユーザの検索履歴が所定の条件を満たさない場合(ステップS202:No)、送信元ユーザのユーザ属性に類似するユーザの検索履歴に基づいて、検索システムを決定する(ステップS204)。例えば、図7の例では、決定部232は、ユーザU3が自身の検索履歴に関する情報が十分でないユーザであるため、類似ユーザを決定する。例えば、決定部232は、ユーザ属性情報記憶部222に記憶されたユーザU3のユーザ属性と類似するユーザをユーザU3に類似するユーザとして決定する。例えば、決定部232は、ユーザU1をユーザU3に類似するユーザとして決定する。そして、決定部232は、ユーザU3が入力したクエリを用いて検索を行う検索システムを、ユーザU1の検索履歴に関する情報に基づいて決定する。例えば、決定部232は、送信元ユーザに類似するユーザが複数いる場合、類似する複数のユーザからランダムに選択されたユーザの検索履歴に基づいて検索システムを決定してもよい。
その後、決定装置200の送信部133は、決定した検索システムへ検索クエリを送信する(ステップS205)。例えば、送信部133は、検索システムAの検索装置51や検索システムBの検索装置52へ検索クエリを送信する。
そして、決定装置200から検索クエリを取得した検索システムは、検索クエリに基づいて情報を取得する(ステップS206)。例えば、決定装置200から検索クエリを取得した検索システムAの検索装置51は、インデックス一覧IX11を用いて、対象情報データベースDB11から検索クエリに対応する商品情報を取得する。また、例えば、決定装置200から検索クエリを取得した検索システムBの検索装置52は、インデックス一覧IX12を用いて、対象情報データベースDB11から検索クエリに対応する商品情報を取得する。
その後、検索システムは、取得した情報の表示順を決定する(ステップS207)。例えば、検索システムAの検索装置51は、順位決定ロジックAに基づいて、対象情報データベースDB11から取得した商品情報の表示順を決定する。また、例えば、検索システムBの検索装置52は、順位決定ロジックBに基づいて、対象情報データベースDB11から取得した商品情報の表示順を決定する。
その後、検索システムは、表示順を決定した情報を配信する(ステップS208)。例えば、検索システムは、検索クエリの送信元である端末装置10へ表示順を決定した商品情報を含む検索結果を提供する。
〔6.他の検索システム例〕
ここで、図11を用いて、検索クエリをトークナイズ(字句解析)して、検索を行う検索システムにより検索が行われた場合を説明する。図11は、実施形態に係る決定処理の他の検索システムを用いた場合の一例を示す図である。なお、図1と同様の構成については、同一の符号を付して適宜説明を省略する。なお、図11では、実施形態に係る決定装置100のユーザ履歴情報記憶部121がユーザ履歴情報記憶部121Aに変更された場合を示す。
例えば、検索システムAAには、検索装置511と対象情報データベースDB11とが含まれる。図11に示すように、検索システムAAは、所定のインデクサにより生成されたインデックス一覧IX111と、ストア実績重視の順位決定ロジックAである順位決定ロジックLG11とを用いて検索を行う検索システムである。例えば、検索システムAAは、クエリを取得した場合、インデックス一覧IX111を用いて、対象情報データベースDB11内の情報を検索する。また、例えば、検索システムAAは、順位決定ロジックLG11に基づいて、対象情報データベースDB11から取得された情報の順位を決定する。なお、以下の説明では、説明を簡単にするため、各順位決定ロジックが特定の要素(情報)に基づいて検索結果の順位を決定する場合を示すが、各順位決定ロジックは種々の情報を用いて総合的に結果の順位を決定してもよい。
図11に示すインデックス一覧IX111には、所定のインデクサであるインデクサAが生成したインデックスに関する情報が記憶される。例えば、インデクサAは、検索対象となる対象情報データベースDB11に記憶された情報群の各々に対してインデックス一覧IX111に示すようなインデックスを生成する。インデックス一覧IX111には、「索引ID」、「インデックス」、「対象情報」といった項目が含まれる。また、「対象情報」には、「対象1」、「対象2」、「対象3」、「対象4」といった項目が含まれる。「索引ID」は、インデックスを識別するための識別情報を示す。例えば、索引ID「IN111」により識別されるインデックスは、インデックス「AAA」であることを示す。「対象1」、「対象2」、「対象3」、「対象4」等は、インデックスに対応付けられた対象情報データベースDB11中の商品情報を示す。例えば、索引ID「IN114」により識別されるインデックスは、対象情報データベースDB11中の商品ID「G12」により識別される商品情報や、対象情報データベースDB11中の商品ID「G14」により識別される商品情報に対応付けられていることを示す。
図11に示すように、端末装置10−1は、ユーザU1が入力したクエリを決定装置100へ送信する(ステップS41)。図11に示す例において、ユーザU1は、端末装置10−1の画面に表示された検索画面を表示するページW11中の検索窓に検索クエリ「AAAとBBB」を入力し、検索ボタンを押下する。そして、端末装置10は、決定装置100へ検索クエリ「AAAとBBB」を送信する。
端末装置10−1から検索クエリを受信した決定装置100は、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する(ステップS42)。図11に示す例において、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。なお、ここでいう検索履歴には、検索結果を用いて行われた取引に関する履歴等、検索に付随する種々の情報も含まれるものとする。例えば、決定装置100は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索システムAAを用いた場合の取引回数と検索システムBを用いた場合の取引回数とに基づいて、ユーザU1が入力したクエリを用いて検索を行う検索システムを決定する。図11では、決定装置100は、検索システムAAを用いた場合にユーザU1が取引を行った回数が多いため、ユーザU1が入力したクエリを用いて検索を行う検索システムを検索システムAAに決定する。
その後、決定装置100は、端末装置10−1から取得したクエリを検索システムAAへ送信する(ステップS43)。例えば、決定装置100は、検索システムAAの検索装置511へ検索クエリ「AAAとBBB」を送信する。例えば、決定装置100は、検索クエリ「AAAとBBB」に対してトークナイズして「AAA」、「と」、「BBB」に分けて、この3つの単語(文字列)を送信してもよい。また、決定装置100から検索クエリ「AAAとBBB」を受信した検索装置511は、検索クエリ「AAAとBBB」に対してトークナイズして「AAA」、「と」、「BBB」に分けて、この3つの単語(文字列)がインデックスされている文書(商品)を検索してもよい。すなわち、検索クエリ「AAAとBBB」に対してトークナイズして「AAA」、「と」、「BBB」に分ける機能は、決定装置100が有してもよいし、検索装置511が有してもよい。また、決定装置100は、検索装置511へクエリの送信元が端末装置10−1であることを示す情報を送信する。
決定装置100から検索クエリ「AAAとBBB」または、検索クエリ「AAAとBBB」がトークナイズされた3つの文字列「AAA」、「と」、「BBB」を受信した検索装置511は、対象情報データベースDB11から情報を取得する(ステップS44)。例えば、検索装置511は、インデックス一覧IX111中のインデックスのうち、3つの文字列「AAA」、「と」、「BBB」の各々に対応するインデックスを特定する。図11では、検索装置511は、インデックス一覧IX111中のインデックスのうち、索引ID「IN111」により識別されるインデックス「AAA」を、文字列「AAA」に対応するインデックスとして特定する。また、図11では、検索装置511は、インデックス一覧IX111中のインデックスのうち、索引ID「IN114」により識別されるインデックス「と」を、文字列「と」に対応するインデックスとして特定する。また、図11では、検索装置511は、インデックス一覧IX111中のインデックスのうち、索引ID「IN112」により識別されるインデックス「BBB」を、文字列「BBB」に対応するインデックスとして特定する。そして、検索装置511は、特定した索引ID「IN111」、索引ID「IN114」、及び索引ID「IN112」の全てに対応付けられている商品ID「G12」により識別される商品の商品情報を取得する。図11の例では、検索装置511は、商品ID「G12」により識別される商品の商品情報や、商品ID「G14」により識別される商品の商品情報等を、対象情報データベースDB11から取得する。例えば、ステップS44において、検索装置511は、検索クエリに該当する情報として商品情報GI12と商品情報GI14とを抽出する。
対象情報データベースDB11から商品情報GI12、GI14等を取得した検索装置511は、商品情報GI12、GI14等の表示順を決定する(ステップS45)。例えば、検索装置511は、順位決定ロジックAに基づいて、商品情報GI12、GI14等の表示順を決定する。例えば、検索装置511は、ストア実績の数値が大きい程表示順が高くなるように、商品情報GI12、GI14等の表示順を決定する。例えば、検索装置511は、商品情報GI14の表示順を1位とし、商品情報GI12の表示順を2位とする。
ステップS45において商品情報GI12、GI14等の表示順を決定した後、検索装置511は、クエリの送信元である端末装置10−1へ商品情報GI12、GI14等を含む検索結果を提供する(ステップS46)。商品情報GI12、GI14等を含む検索結果を受信した端末装置10−1は、受信した検索結果を表示する(ステップS47)。例えば、端末装置10−1は、表示順が高い商品情報ほど上位に表示する。図11に示す例において、端末装置10−1は、ショッピング検索結果を表示するページW12において、最も順位の高い商品情報を表示する領域AR11に、順位1位である商品情報GI14を表示する。また、端末装置10−1は、ページW12において、2番目に順位の高い商品情報を表示する領域AR12に、順位2位である商品情報GI12を表示する。
〔7.効果〕
上述してきたように、実施形態に係る決定装置100及び変形例に係る決定装置200は、取得部131と、決定部132、232とを有する。取得部131は、ユーザが利用する端末装置10から検索クエリを取得する。また、決定部132、232は、複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムをユーザに関する所定の条件に基づいて決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、ユーザ履歴情報記憶部121に記憶されたユーザU1の検索履歴に基づいて、ユーザU1やユーザU2が入力したクエリを用いて検索を行う検索システムを決定する。このように、決定装置100は、クエリの送信元であるユーザU1やユーザU2に応じて検索システムを決定することにより、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、検索対象となる情報群の各々に対してインデックスを生成するインデクサが異なる複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、各検索システムが異なるインデクサを用いてインデックスを生成する複数の検索システムから各ユーザに対して適切な検索システムを決定することができる。したがって、決定装置100、200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、検索クエリに該当する情報として抽出された各情報の順位を決定する順位決定ロジックが異なる複数の検索システムのうち、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、各検索システムが異なる順位決定ロジックを用いて検索結果の表示順を決定する複数の検索システムから各ユーザに対して適切な検索システムを決定することができる。したがって、決定装置100、200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、電子商取引に関する複数の検索システムのうち、取得部131により取得された前記検索クエリを用いて検索を行う電子商取引に関する検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、オンラインショッピング等の電子商取引に関する検索システムを適切に決定することができる。したがって、決定装置100、200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、各検索システムが用いられた場合における電子商取引の回数に関する情報に基づいて、取得部131により取得された検索クエリを用いて検索を行う電子商取引に関する検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、各検索システムが用いられた場合における電子商取引の回数に関する情報に基づいて、実際にユーザが取引を行う確率を考慮して検索システムを決定することができる。したがって、決定装置100、200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、検索クエリを用いて検索結果を表示する画面における位置に基づいて、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、検索クエリを用いて検索結果を表示する画面における位置に基づくことにより、インデクサと順位決定ロジックとの両方を総合的に判断して、各ユーザに対して検索システムを適切に決定することができる。したがって、決定装置100、200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、変形例に係る決定装置200においては、決定部232は、ユーザに類似する他のユーザに対して用いた検索システムを、取得部131により取得された検索クエリを用いて検索を行う検索システムとして決定する。
これにより、変形例に係る決定装置200は、履歴情報が十分でないユーザが検索を行った場合、そのユーザに類似する他のユーザに対して用いた検索システムを、検索を行う検索システムとして決定することにより、履歴情報が十分でないユーザに対しても適切な検索結果を提供することを可能にすることができる。したがって、決定装置200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、検索クエリに関する商品カテゴリに基づいて、取得部131により取得された検索クエリを用いて検索を行う検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、検索クエリに関する商品カテゴリに基づいて、検索システムを適切に決定することができる。したがって、決定装置100、200は、ユーザに対して適切な検索結果を提供することを可能にすることができる。
また、実施形態に係る決定装置100及び変形例に係る決定装置200においては、決定部132、232は、取得部131により取得された検索クエリとインデックスとが完全一致する場合に、当該インデックスに対応する情報を検索結果とする複数の検索システムのうち、検索クエリを用いて検索を行う検索システムを決定する。
これにより、実施形態に係る決定装置100及び変形例に係る決定装置200は、検索クエリとインデックスとが完全一致する場合にインデックスに対応する情報を検索結果とする複数の検索システムから検索システムを決定することにより、ユーザに対して適切な検索結果を提供することを可能にすることができる。
〔8.ハードウェア構成〕
上述してきた実施形態に係る決定装置100及び変形例に係る決定装置200は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、決定装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が決定したデータをネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、決定したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る決定装置100や変形例に係る決定装置200として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130、230の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔9.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。