以下に、本願に係る推定装置、推定方法、及び推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法、及び推定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.推定処理〕
図1を用いて、実施形態に係る推定処理の一例について説明する。図1は、実施形態に係る推定処理の一例を示す図である。図1では、検索装置100は、クエリをユーザが使用する前におけるユーザの行動履歴に基づいて、ユーザが使用したクエリの意図(以下、単に「クエリ意図」ともいう)を推定する。例えば、検索装置100は、電子商取引において提供される商品の検索に用いたクエリの履歴に基づいて、ユーザが使用したクエリの意図を推定する。また、図1では、検索装置100は、推定したユーザのクエリ意図に基づいて、外部の情報処理装置へ購入の対象に関する情報を提供する。
図1に示すように、推定システム1には、端末装置10と、広告配信装置50と、検索装置100とが含まれる。端末装置10と、広告配信装置50と、検索装置100とは図示しない所定の通信網を介して、有線または無線により通信可能に接続される。また、図1に示した推定システム1には、複数台の端末装置10や、複数台の広告配信装置50や、複数台の検索装置100が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1に示す例においては、端末装置10がユーザが利用するスマートフォンである場合を示す。なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。具体的には、図1では、端末装置10がユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)が利用するスマートフォンである場合を示す。
また、図1に示す例においては、端末装置10の画面の表示に応じて、端末装置10を端末装置10-1~10-3として説明する。なお、端末装置10-1~10-3は同一の端末装置10である。また、以下では、端末装置10-1~10-3について、特に区別なく説明する場合には、端末装置10と記載する。
検索装置100は、ユーザが検索に使用したクエリを取得し、そのクエリをユーザが使用する前におけるユーザの行動履歴に基づいて、そのクエリの意図を推定する推定装置である。また、検索装置100は、端末装置10から取得したクエリに対する検索結果を端末装置10に提供する検索サービスを提供する。図1の例では、検索装置100は、所定の電子商取引において取引される商品またはサービス(以下、単に「商品」とする)に関する検索結果を端末装置10へ提供する。図1の例では、検索装置100が所定の電子商取引サービスを提供するものとする。なお、外部の情報処理装置が所定の電子商取引サービスを提供する場合、検索装置100は検索サービスを提供しなくてもよい。この場合、検索装置100は、検索サービスを提供する外部の情報処理装置等からユーザの行動情報を取得し、取得した行動情報に基づくクエリ意図の推定と、推定したクエリ意図に基づくサービスの提供のみを行ってもよい。
また、図1の例では、検索装置100は、ユーザのクエリ意図が所定の条件を満たす場合、広告配信装置50へそのユーザを特定する情報を提供するものとする。具体的には、図1の例では、検索装置100は、ユーザのクエリ意図が「贈答」等の購入に関する意図である場合、広告配信装置50へそのユーザを特定する情報を提供するものとする。
なお、図1の例に示す各日時「dt*」中の「dt」に続く「*(*は任意の数値)」は、対応する行動等が行われた日時を示し、日時「dt*」は、「*」の値が大きい程、日付が新しいものとする。例えば、日時「dt12」は、日時「dt11」に比べて、「dt」に続く数値が大きいため、日付がより新しいことを示す。すなわち、図1に示す例では、日時「dt12」においてユーザU1が行った行動は、日時「dt11」においてユーザU1が行った行動よりも後に行われたことを示す。
また、以下では、ユーザU1のクエリ意図の変更に応じて、検索装置100を検索装置100-1~100-3として説明する。すなわち、図1では、検索装置100-1、100-2、100-3の順で時間が経過していることを示す。なお、検索装置100-1~100-3は同一の検索装置100である。また、以下では、検索装置100-1~100-3について、特に区別することなく説明する場合には、検索装置100と記載する。また、以下では、ユーザU1のクエリ意図の変更に応じて、ユーザ情報記憶部121をユーザ情報記憶部121-1~121-3として説明する。すなわち、図1では、ユーザ情報記憶部121-1、121-2、121-3の順で時間が経過していることを示す。また、ユーザ情報記憶部121-1~121-3は同一のユーザ情報記憶部121である。また、以下では、ユーザ情報記憶部121-1~121-3について、特に区別することなく説明する場合には、ユーザ情報記憶部121と記載する。
なお、ここでいうクエリ意図は、クエリ意図の推定対象となるクエリをユーザが使用した時点におけるユーザの目的等を意味する。なお、図1では、説明を簡単にするために、ユーザU1のクエリ意図が購入に関する意図である「贈答」である場合を示すが、クエリ意図が購入に関する意図に限らず、例えば、「検索」、「比較」、「暇つぶし」等の種々のクエリ意図であってもよい。また、図1中のユーザ情報記憶部121-1に示すユーザU1のクエリ意図「-」は、ユーザU1のクエリ意図が推定されていない状態を示す。例えば、図1中のユーザ情報記憶部121-1に示すユーザU1のクエリ意図「-」は、初期化された状態、すなわち意図推定の対象となるクエリが未入力の状態であることを示す。
まず、検索装置100-1は、日時dt11において、ユーザU1が利用する端末装置10-1からクエリを取得する(ステップS11)。図1の例では、検索装置100-1は、端末装置10-1からクエリ「財布 ギフト」を取得する。図1に示す例において、ユーザU1は、端末装置10-1の画面に表示された検索装置100が提供する電子商取引サービスに関する通販サイトAのページW11中の検索窓にクエリ「財布 ギフト」を入力し、検索ボタンを押下する。そして、端末装置10-1は、検索装置100-1へクエリ「財布 ギフト」を送信する。
端末装置10-1からクエリを取得した検索装置100-1は、クエリに対応する商品情報を検索結果として端末装置10-1へ提供する(ステップS12)。図1の例では、検索装置100-1は、索引情報記憶部123(図5参照)に記憶された情報に基づいて、商品情報記憶部124(図6参照)からクエリに対応する商品情報を取得する。図1の例では、検索装置100-1は、商品情報記憶部124からクエリ「財布」に対応する商品GD1等に関する商品情報を取得する。なお、上記のように、「商品GD*(*は任意の数値)」と記載した場合、その商品は商品ID「GD*」により識別される商品であることを示す。例えば、「商品GD1」と記載した場合、その商品は商品ID「GD1」により識別される商品である。そして、図1の例では、検索装置100-1は、商品情報記憶部124から取得したキーワード「財布」とキーワード「財布」とに対応する商品GD1等に関する商品情報を検索結果として端末装置10へ提供する。
検索装置100-1から商品GD1に関する商品情報等を含む検索結果を提供された端末装置10は、検索結果を表示する(ステップS13)。例えば、端末装置10には、商品GD1に関する商品情報等が一覧表示されるが、図1の例では図示を省略する。
また、検索装置100-1は、ユーザU1のクエリ意図を推定する(ステップS14)。図1の例では、検索装置100-1は、クエリ「財布 ギフト」を入力しているため、ユーザU1のクエリ意図を、財布を贈答用に探している意図に対応する「贈答」と推定する。例えば、検索装置100-1は、過去にクエリ「財布 ギフト」と入力した多数のユーザの行動履歴に基づいて、クエリ「財布 ギフト」を入力したユーザのクエリ意図を「贈答」と推定する。例えば、検索装置100-1は、過去にクエリ「財布 ギフト」と入力したユーザの多くが財布を購入している場合、ユーザの行動情報と、クエリに含まれるキーワード「ギフト」とに基づいて、クエリ「財布 ギフト」を入力したユーザのクエリ意図を「贈答」と推定する。例えば、検索装置100は、各キーワードとそのキーワードに対応するユーザの意図に関する対応表を記憶し、その対応表に基づいてユーザのクエリ意図を「贈答」と推定してもよい。
ユーザU1のクエリ意図を「贈答」と推定した検索装置100は、推定したクエリ意図に基づいて情報を変更する(ステップS15)。図1の例では、検索装置100-2は、ユーザ情報記憶部121-2に示すように、ユーザ情報記憶部121に記憶されたユーザU1のクエリ意図を「贈答」に変更する。
その後、検索装置100-2は、日時dt12において、ユーザU1が利用する端末装置10-2からクエリを取得する(ステップS16)。図1の例では、検索装置100-2は、端末装置10-2からクエリ「財布 ギフト 白」を取得する。図1に示す例において、ユーザU1は、端末装置10-2の画面に表示された検索装置100が提供する電子商取引サービスに関する通販サイトAのページW11中の検索窓にクエリ「財布 ギフト 白」を入力し、検索ボタンを押下する。そして、端末装置10-2は、検索装置100-2へクエリ「財布 ギフト 白」を送信する。
端末装置10-2からクエリを取得した検索装置100-2は、クエリに対応する商品情報を検索結果として端末装置10-2へ提供する(ステップS17)。図1の例では、検索装置100-2は、索引情報記憶部123に記憶された情報に基づいて、商品情報記憶部124からクエリに対応する商品情報を取得する。図1の例では、検索装置100-2は、商品情報記憶部124からキーワード「財布」とキーワード「ギフト」とキーワード「白」とに対応する商品GD314等に関する商品情報を取得する。そして、図1の例では、検索装置100-2は、商品情報記憶部124から取得したキーワード「財布」とキーワード「ギフト」とキーワード「白」とに対応する商品GD314等に関する商品情報を検索結果として端末装置10へ提供する。
検索装置100-2から商品GD314に関する商品情報等を含む検索結果を提供された端末装置10は、検索結果を表示する(ステップS18)。例えば、端末装置10には、商品GD314に関する商品情報等が一覧表示されるが、図1の例では図示を省略する。
また、検索装置100-2は、ユーザU1のクエリ意図を推定する(ステップS19)。図1の例では、検索装置100-2は、ユーザU1のクエリ意図を「不明」と推定する。例えば、検索装置100-2は、過去にクエリ「財布 ギフト 白」と入力したユーザが少数であるため、クエリ「財布 ギフト 白」と入力したユーザの行動履歴に基づいて、クエリ「財布 ギフト 白」と入力したユーザのクエリ意図を推定することができない。例えば、検索装置100-2は、過去(例えば直近1ヶ月等)にクエリ「財布 ギフト 白」と入力したユーザが所定の閾値未満(例えば100人未満等)である場合、クエリ「財布 ギフト 白」と入力したユーザのクエリ意図を推定不能として、クエリ「財布 ギフト 白」を入力したユーザのクエリ意図を「不明」と推定する。
ユーザU1のクエリ意図を「不明」と推定した検索装置100は、直前に推定したクエリ意図を引き継ぐ(ステップS20)。図1の例では、検索装置100-3は、ユーザ情報記憶部121-3に示すように、ユーザ情報記憶部121に記憶されたユーザU1のクエリ意図を「贈答」のまま維持する。このように、検索装置100は、クエリの意図を直前の行動情報から推定したクエリ意図とする。すなわち、検索装置100は、クエリ「財布 ギフト」により推定されたクエリ意図である「贈答」を、クエリ「財布 ギフト 白」のクエリ意図と推定する。
ここで、検索装置100は、ユーザU1のクエリ意図が「贈答」等の購入に関する意図である場合、所定の条件を満たすとして、広告配信装置50へユーザU1を特定する情報を提供する。図1の例では、検索装置100-3は、ユーザU1のクエリ意図が「贈答」に基づいて、広告配信装置50へユーザU1を特定する情報を提供する(ステップS21)。また、検索装置100-3は、広告配信装置50へユーザU1がギフトとして白い財布を探していることを特定する情報を提供する。なお、図1の例では説明を簡単にするために図示を省略したが、検索装置100は、ステップS15においてもユーザU1のクエリ意図が「贈答」等の購入に関する意図であるため、所定の条件を満たすとして、広告配信装置50へユーザU1を特定する情報を提供してもよい。
その後、日時dt13において、端末装置10-3から広告配信装置50へ広告要求が送信される(ステップS22)。端末装置10から広告要求を取得した広告配信装置50は、検索装置100から取得したユーザU1がギフトとして白い財布を探していることを特定する情報に基づいて、端末装置10-3へ広告Xを配信する(ステップS23)。例えば、広告配信装置50は、端末装置10-3へギフトとして人気のある白い財布Xに関する広告Xを配信する。
広告配信装置50から広告Xを受信した端末装置10-3は、広告Xを表示する(ステップS24)。例えば、端末装置10は、広告Xが含まれるページW12を表示する。これにより、端末装置10には、ユーザU1のクエリ意図に適した広告が表示される。なお、検索装置100は、端末装置10に所定の財布の購入を促す情報を提供してもよい。例えば、検索装置100は、端末装置10に広告Xを提供してもよい。例えば、検索装置100は、ステップS21において広告配信装置50にユーザU1を特定する情報を提供することなく、端末装置10に広告Xを提供してもよい。すなわち、検索装置100が広告配信装置50の機能を有し、検索装置100が広告配信を行ってもよい。この場合、推定システム1には、広告配信装置50は含まれなくてもよい。
上述したように、検索装置100は、ユーザが入力したクエリの意図を適切に推定することができる。また、端末装置10は、ユーザのクエリ意図に適した広告を表示することができる。なお、上記例では、説明を簡単にするために、ユーザの行動が検索である場合を示したが、ユーザの行動は、ユーザのクエリ意図の推定対象となり得る行動であれば、どのような行動であってもよい。例えば、検索装置100は、ユーザのコンテンツの閲覧等の種々の情報をユーザの行動情報として取得し、その情報に基づいてユーザのクエリ意図を推定してもよい。例えば、一連の検索行動の最後に用いられたクエリ(以下、「テールクエリ」ともいう)が多くのキーワードを含む場合、そのテールクエリを用いて検索された検索回数が少ないことが多い。そのため、テールクエリに対応する行動情報が不足する場合が多く、ユーザが入力したクエリの意図を適切に推定することが難しい場合がある。また、ユーザはでテールクエリに対応する複数のキーワードの組み合わせを初回の検索において、入力することは稀であり、キーワードを徐々に(例えば1個ずつ)入力して、検索を繰り返すことが多い。そのため、検索装置100は、テールクエリに至るまでにユーザが入力した他のクエリの意図等に基づいて、ユーザが入力したクエリの意図を推定することにより、ユーザが入力したクエリの意図を適切に推定することができる。上述した例では、検索装置100は、クエリ「財布 ギフト 白」の直前にユーザU1が入力したクエリ「財布 ギフト」のクエリ意図を、クエリ「財布 ギフト 白」のクエリ意図と推定することにより、クエリ「財布 ギフト 白」から直接クエリ意図が推定できない場合であっても、ユーザが入力したクエリの意図を適切に推定することができる。なお、テールクエリに至るまでに徐々にキーワードを追加する他の例については図8に示す。
例えば、検索装置100は、ユーザU1がクエリ「5000円 ギフト」を用いて検索を行った場合、ユーザU1のクエリ意図を5000円の商品をギフトとして探していることに対応するクエリ意図であると推定してもよい。また、例えば、検索装置100は、ユーザU1が5000円前後の商品が掲載されたコンテンツを連続して閲覧している行動情報が取得された場合、ユーザU1のクエリ意図を5000円の商品を探していることに対応するクエリ意図であると推定してもよい。この場合、検索装置100は、5000円の商品に関する情報を端末装置10や広告配信装置50に提供してもよい。例えば、検索装置100は、5000円の商品に関する広告を端末装置10に提供したり、広告配信装置50に5000円の商品に関する広告を端末装置10に配信させたりしてもよい。また、検索装置100は、各クエリを抽象化した情報に基づいて、ユーザが入力したクエリの意図を推定してもよい。例えば、検索装置100は、各クエリに対応するベクトルを生成し、ベクトル間の類似度に基づいて、ユーザが入力したクエリの意図を推定してもよい。例えば、検索装置100は、分散表現の学習により、各クエリに対応するベクトル間の類似度に基づいて、ユーザが入力したクエリの意図を推定してもよい。例えば、検索装置100は、クエリ「財布 ギフト 白」のベクトルと、クエリ「財布 ギフト」のベクトルとの類似度が所定の条件を満たす場合、クエリ「財布 ギフト」のクエリ意図を、クエリ「財布 ギフト 白」のクエリ意図と推定してもよい。このように、検索装置100は、クエリ「財布 ギフト 白」のベクトルと、クエリ「財布 ギフト」のベクトルとの類似している場合、クエリ「財布 ギフト」のクエリ意図を、クエリ「財布 ギフト 白」のクエリ意図と推定してもよい。
〔2.推定装置の構成〕
次に、図2を用いて、実施形態に係る検索装置100の構成について説明する。図2は、実施形態に係る検索装置の構成例を示す図である。図2に示すように、検索装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、検索装置100は、検索装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、例えば推定システム1に含まれる端末装置10や広告配信装置50との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図2に示すように、ユーザ情報記憶部121と、行動情報記憶部122と、索引情報記憶部123と、商品情報記憶部124とを有する。
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザ属性に関する各種情報を記憶する。例えば、ユーザ情報記憶部121は、ユーザ属性情報を記憶する。図3は、実施形態に係るユーザ情報記憶部の一例を示す図である。図3に示すユーザ情報記憶部121は、「ユーザID」、「年齢」、「性別」、「クエリ意図」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。「年齢」は、端末装置10を利用するユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。「性別」は、端末装置10を利用するユーザの性別を示す。「クエリ意図」は、端末装置10を利用するユーザのクエリ意図を示す。
例えば、図3に示す例において、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、ユーザの性別は、「女性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、クエリ意図が「-」、すなわち意図推定の対象となるクエリが未入力の状態であることを示す。また、例えば、図3に示す例において、ユーザID「U2」により識別されるユーザの年齢は、「30代」であり、ユーザの性別は、「男性」であることを示す。また、例えば、ユーザID「U2」により識別されるユーザは、クエリ意図が「-」、すなわち意図推定の対象となるクエリが未入力の状態であることを示す。
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、ユーザのデモグラフィック属性に関する情報やサイコグラフィック属性に関する情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入、興味、ライフスタイル等の情報を記憶してもよい。
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。図4は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザの端末装置10に配信したコンテンツに対するユーザの行動情報を記憶する。図4に示す行動情報記憶部122には、「ユーザID」、「行動ID」、「種別」、「内容」、「日時」といった項目が含まれる。
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、図1の例に示したユーザU1に対応する。また、「行動ID」は、ユーザの行動を識別する情報を示す。また、「種別」は、対応するユーザの行動の種別に関する情報を示す。また、「内容」は、対応するユーザの行動において対象となった内容を示す。「日時」は、対応するユーザの行動が行われた日時を示す。
例えば、図4に示す例において、ユーザID「U1」により識別されるユーザ(ユーザU1)は、行動AC5等を行ったことを示す。また、例えば、図4に示す例においてユーザU1は、行動ID「AC11」により識別される行動や行動ID「AC12」により識別される行動等を行ったことを示す。具体的には、図4に示す例においてユーザU1は、クエリ「財布 ギフト」を用いた検索(行動AC11)やクエリ「財布 ギフト 白」を用いた検索(行動AC12)等を行ったことを示す。
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図4では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、ユーザIDごとに限らず、例えば時刻順に記憶されてもよい。
(索引情報記憶部123)
実施形態に係る索引情報記憶部123は、索引に関する各種情報を記憶する。図5は、実施形態に係る索引情報記憶部の一例を示す図である。図5に示す索引情報記憶部123は、「索引ID」、「索引」、「対象商品」といった項目を有する。また、「対象商品」には、「#1」、「#50」といった項目を有する。
「索引ID」は、索引を識別するための識別情報を示す。「索引」は、索引(インデックス)を示す。「対象商品」中の「#1」、「#50」等は、索引に対応する商品情報を示す。なお、「#1」、「#50」等は、索引に対応する商品情報の順位に対応してもよい。例えば、「対象商品」中の「#1」は、索引に対応する商品情報のうちランキングが「1位」の商品情報であってもよい。また、「対象商品」中の「#50」は、索引に対応する商品情報のうちランキングが「50位」の商品情報であってもよい。
図5の例は、索引ID「IN11」により識別される索引「財布」は、対応する商品情報が、商品GD1や商品GD314等に関する商品情報であることを示す。また、図5の例は、索引ID「IN12」により識別される索引「ギフト」は、対応する商品情報が、商品GD314や商品GD1等に関する商品情報であることを示す。また、図5の例は、索引ID「IN13」により識別される索引「白」は、対応する商品情報が、商品GD256や商品GD314等に関する商品情報であることを示す。
なお、索引情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、索引情報記憶部123は、各索引や各商品情報が追加された日時に関する情報を記憶してもよい。
(商品情報記憶部124)
実施形態に係る商品情報記憶部124は、商品に関する各種情報を記憶する。図6は、実施形態に係る商品情報記憶部の一例を示す図である。図6に示す商品情報記憶部124は、「商品ID」、「商品」、「ストア」、「カテゴリ」、「タイトル」、「説明文」といった項目を有する。
「商品ID」は、商品を識別するための識別情報を示す。「商品」は、商品の具体的な名称等を示す。「ストア」は、対応する商品を提供する提供元、すなわち売主を示す。また、「カテゴリ」は、対応する商品が属するカテゴリを示す。「タイトル」は、商品IDにより識別される商品の商品情報に含まれるタイトルを示す。また、「説明文」は、商品IDにより識別される商品の商品情報に含まれる説明文を示す。
例えば、図6に示す例において、商品ID「GD1」により識別される商品(商品GD1)は、商品「財布A」であり、ストアAにより提供される商品であることを示す。また、商品GD1のカテゴリは、「ファッション」であることを示す。また、商品GD1のタイトルは、「最新の…」であることを示す。また、商品GD1の説明文は、「送料無料で配送します…」であることを示す。例えば、図6に示す例において、商品ID「GD2」により識別される商品(商品GD2)は、商品「時計A」であり、ストアBにより提供される商品であることを示す。また、商品GD2のカテゴリは、「アクセサリ」であることを示す。
なお、商品情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、商品情報記憶部124は、商品情報が追加された日時や商品情報が作成された日時に関する情報を記憶してもよい。商品情報記憶部124は、各ストアの評価値に関する情報を記憶してもよい。
(制御部130)
図2の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、検索装置100内部の記憶装置に記憶されている各種プログラム(推定プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図2に示すように、制御部130は、取得部131と、推定部132と、変更部133と、提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。
(取得部131)
例えば、取得部131は、各種情報を取得する。例えば、取得部131は、ユーザ情報記憶部121や行動情報記憶部122や索引情報記憶部123や商品情報記憶部124から各種情報を取得する。
また、取得部131は、各種情報を外部の情報処理装置から取得してもよい。例えば、取得部131は、クエリを取得する。例えば、取得部131は、端末装置10を利用するユーザが検索に使用したクエリを取得する。例えば、取得部131は、ユーザが行う一連の検索行動の最後に入力したクエリをテールクエリとして取得する。図1の例では、取得部131は、ユーザU1が利用する端末装置10からクエリを取得する。図1の例では、取得部131は、端末装置10-1からクエリ「財布 ギフト」を取得する。図1の例では、取得部131は、端末装置10-2からクエリ「財布 ギフト 白」を取得する。
また、図1の例では、取得部131は、索引情報記憶部123(図5参照)に記憶された情報に基づいて、商品情報記憶部124(図6参照)からクエリに対応する商品情報を取得する。図1の例では、取得部131は、商品情報記憶部124からキーワード「財布」とキーワード「ギフト」とに対応する商品GD1等に関する商品情報を取得する。図1の例では、取得部131は、商品情報記憶部124からキーワード「財布」とキーワード「ギフト」とキーワード「白」とに対応する商品GD314等に関する商品情報を取得する。
(推定部132)
推定部132は、種々の情報を推定する。例えば、推定部132は、ユーザの行動情報に基づいてユーザのクエリ意図を推定する。例えば、推定部132は、クエリをユーザが使用する前におけるユーザの行動履歴に基づいて、クエリの意図を推定する。例えば、推定部132は、クエリの入力前にユーザが入力した入力クエリに基づいて、クエリの意図を推定する。
また、例えば、推定部132は、複数の文字列を含むクエリの入力前にユーザが入力した入力クエリであって、複数の文字列のうち一部の文字列を含む入力クエリに基づいて、クエリの意図を推定する。図1の例では、推定部132は、複数(3つ)の文字列(キーワード)を含むクエリ「財布 ギフト 白」の入力前にユーザが入力した入力クエリであって、複数の文字列のうち一部の文字列を含む入力クエリ「財布 ギフト」に基づいて、クエリの意図を推定する。例えば、推定部132は、クエリの意図として、クエリによる検索が購入に関する検索であるかを推定する。
図1の例では、推定部132は、ユーザU1のクエリ意図を推定する。例えば、推定部132は、クエリ「財布 ギフト」を入力しているため、ユーザU1のクエリ意図を、財布を贈答用に探している意図に対応する「贈答」と推定する。例えば、推定部132は、過去にクエリ「財布 ギフト」と入力した多数のユーザの行動履歴に基づいて、クエリ「財布 ギフト」を入力したユーザのクエリ意図を「贈答」と推定する。例えば、推定部132は、過去にクエリ「財布 ギフト」と入力したユーザの多くが財布を購入している場合、クエリ「財布 ギフト」を入力したユーザのクエリ意図を「贈答」と推定する。
図1の例では、推定部132は、ユーザU1のクエリ意図を推定する。例えば、推定部132は、ユーザU1のクエリ意図を「不明」と推定する。例えば、推定部132は、過去にクエリ「財布 ギフト 白」と入力したユーザが少数であるため、クエリ「財布 ギフト 白」と入力したユーザの行動履歴に基づいて、クエリ「財布 ギフト 白」と入力したユーザのクエリ意図を推定することができない。例えば、推定部132は、過去(例えば直近1ヶ月等)にクエリ「財布 ギフト 白」と入力したユーザが所定の閾値未満(例えば100人未満等)である場合、クエリ「財布 ギフト 白」と入力したユーザのクエリ意図を推定不能として、クエリ「財布 ギフト 白」を入力したユーザのクエリ意図を「不明」と推定する。
図1の例では、推定部132は、ユーザU1のクエリ意図を「不明」と推定した場合、直前に推定したクエリ意図を引き継ぐ(ステップS20)。図1の例では、推定部132は、ユーザ情報記憶部121-3に示すように、ユーザ情報記憶部121に記憶されたユーザU1のクエリ意図を「贈答」のまま維持する。例えば、推定部132は、クエリの意図を直前の行動情報から推定したクエリ意図とする。すなわち、検索装置100は、クエリ「財布 ギフト」により推定されたクエリ意図である「贈答」を、クエリ「財布 ギフト 白」のクエリ意図と推定する。
(変更部133)
変更部133は、種々の情報を変更する。例えば、変更部133は、ユーザのクエリ意図を変更する。例えば、変更部133は、推定部132により推定されたユーザのクエリ意図に基づいて、クエリ意図を変更する。
図1の例では、変更部133は、推定部132により推定されたユーザU1のクエリ意図を「贈答」に基づいて情報を変更する。例えば、変更部133は、ユーザ情報記憶部121-2に示すように、ユーザ情報記憶部121に記憶されたユーザU1のクエリ意図を「贈答」に変更する。例えば、変更部133は、推定部132によりユーザU1のクエリ意図を「贈答」と推定された場合、推定されたクエリ意図に基づいて情報を変更する。図1の例では、変更部133は、ユーザ情報記憶部121-2に示すように、ユーザ情報記憶部121に記憶されたユーザU1のクエリ意図を「贈答」に変更する。
(提供部134)
提供部134は、外部の情報処理装置へ各種情報を提供する。例えば、提供部134は、推定部132によりクエリによる検索が購入に関する検索であると推定された場合、クエリに関する情報を提供する。例えば、提供部134は、推定部132によりクエリによる検索が購入に関する検索であると推定された場合、クエリに関する対象の購入を促す情報をユーザに提供する。例えば、提供部134は、取得部131により端末装置10からクエリが取得された場合、クエリに対応する商品情報を検索結果として端末装置10へ提供する。
例えば、提供部134は、ユーザのクエリ意図が購入に関して所定の条件を満たす場合、購入に関する対象の提供元へユーザを特定する情報を提供する。図1の例では、提供部134は、ユーザU1のクエリ意図が「贈答」等の購入に関する意図である場合、広告配信装置50へユーザU1を特定する情報を提供する。例えば、提供部134は、広告配信装置50へユーザU1がギフトとして財布を探していることを特定する情報を提供する。また、図1の例では、提供部134は、ユーザU1のクエリ意図が「不明」である場合、その直前に推定されたクエリ意図をユーザU1のクエリ意図として条件を満たす場合に、情報を提供する。
また、例えば、提供部134は、端末装置10に所定の財布の購入を促す情報を提供してもよい。例えば、提供部134は、端末装置10に広告Xを提供してもよい。
〔3.推定処理のフロー〕
ここで、図7を用いて、実施形態に係る検索装置100による推定処理の手順について説明する。図7は、実施形態に係る推定処理の一例を示すフローチャートである。
図7に示すように、検索装置100は、クエリを取得する(ステップS101)。図1の例では、検索装置100は、端末装置10からクエリ「財布 ギフト 白」を取得する。
検索装置100は、クエリを入力したユーザの行動履歴に基づいてクエリの意図を推定する(ステップS102)。図1の例では、検索装置100は、ユーザ情報記憶部121に記憶されたユーザU1のクエリ意図を「贈答」のまま維持する。この場合、検索装置100は、クエリの意図を直前の行動情報から推定したクエリ意図とする。例えば、検索装置100は、クエリ「財布 ギフト」により推定されたクエリ意図である「贈答」を、クエリ「財布 ギフト 白」のクエリ意図と推定する。すなわち、検索装置100は、クエリ「財布 ギフト 白」をユーザが使用する前におけるユーザの行動履歴であるクエリ「財布 ギフト 白」による検索に基づいて、クエリ「財布 ギフト 白」の意図を推定する。
一方、検索装置100は、クエリの意図が所定の条件を満たすかどうかを判定する(ステップS103)。例えば、検索装置100は、ユーザのクエリ意図が「贈答」等の購入に関する意図である場合、クエリの意図が所定の条件を満たすと判定する。
例えば、検索装置100は、クエリの意図が所定の条件を満たさない場合(ステップS103:No)、処理を終了する。例えば、検索装置100は、ユーザのクエリ意図が「検索」等の購入に関する意図でない場合、処理を終了する。
一方、検索装置100は、クエリの意図が所定の条件を満たす場合(ステップS103:Yes)、所定のサービスを提供する(ステップS104)。図1の例では、検索装置100は、ユーザU1のクエリ意図が「贈答」であるため所定の条件を満たすと判定し、広告配信装置50へユーザU1を特定する情報を提供する。
〔4.クエリ意図推定〕
上述したように、例えば、検索装置100は、クエリに基づいてクエリの意図を推定することができる場合、クエリに基づいてクエリの意図を推定する。また、例えば、検索装置100は、クエリに基づいてクエリの意図を推定することができない場合、クエリをユーザが使用する前におけるユーザの行動履歴に基づいて、クエリの意図を推定する。この点について、図8を用いて詳述する。図8は、実施形態に係るクエリの意図推定の一例を示す図である。
なお、図8の例では、矢印の向き(上から下)に向かうにつれて日時が新しいものとする。すなわち、図8の例では、クエリQ1が最初の入力クエリであり、クエリQ2がクエリQ1の次の入力クエリであり、クエリQ3がクエリQ2の次の入力クエリであるものとする。この場合、図8の例では、クエリQ3が最新のクエリとなる。図8の例では、クエリQ3は、ユーザが行う一連の検索行動の最後に入力したテールクエリであるものとする。
例えば、端末装置10を利用するユーザが、端末装置10に表示された検索窓BXにキーワードを入力し、検索ボタン等を押下することにより、検索装置100へ送信する。なお、以下では、端末装置10を利用するユーザがユーザU1である場合を一例として説明する。
まず、図8の例では、ユーザU1は、端末装置10に表示された検索窓BXにクエリ「キーワードA キーワードB」、すなわちキーワードA及びキーワードBの2つのキーワード(クエリ)を含むクエリQ1を入力する。なお、図8では、キーワードA~キーワードDのように、各キーワード(クエリ)を抽象的に図示するが、各キーワードは具体的な対象を示す文字列に対応する。例えば、キーワードAは「財布」であり、キーワードBは「5000円」であり、キーワードCは「ギフト」であり、キーワードDは「白」であってもよい。
また、図8の例では、対応行動情報DQ1に示すように、クエリQ1に対応する行動情報が多いものとする。すなわち、端末装置10からクエリQ1を取得した検索装置100は、クエリQ1に基づいてユーザU1のクエリ意図を推定可能であるものとする。そのため、検索装置100は、クエリQ1に基づいてユーザU1のクエリ意図を推定する(ステップS51)。図8の例では、検索装置100は、クエリ意図情報QA1に示すように、ユーザU1のクエリ意図を、「検索」と推定する。
例えば、検索装置100は、過去にクエリ「キーワードA キーワードB」と入力した多数のユーザの行動履歴に基づいて、クエリ「キーワードA キーワードB」を入力したユーザのクエリ意図を「検索」と推定する。例えば、検索装置100は、過去にクエリ「キーワードA キーワードB」と入力したユーザの多くが検索行動のみで終了している場合、クエリ「キーワードA キーワードB」を入力したユーザのクエリ意図を「検索」と推定する。
次に、図8の例では、ユーザU1は、端末装置10に表示された検索窓BXにクエリ「キーワードA キーワードB キーワードC」、すなわちキーワードA、キーワードB及びキーワードCの3つのキーワード(クエリ)を含むクエリQ2を入力する。
また、図8の例では、対応行動情報DQ2に示すように、クエリQ2に対応する行動情報が中程度、すなわち平均的な量収集されているものとする。すなわち、端末装置10からクエリQ2を取得した検索装置100は、クエリQ2に基づいてユーザU1のクエリ意図を推定可能であるものとする。そのため、検索装置100は、クエリQ2に基づいてユーザU1のクエリ意図を推定する(ステップS52)。図8の例では、検索装置100は、クエリ意図情報QA2に示すように、ユーザU1のクエリ意図を、「購入」と推定する。
例えば、検索装置100は、過去にクエリ「キーワードA キーワードB キーワードC」と入力した多数のユーザの行動履歴に基づいて、クエリ「キーワードA キーワードB キーワードC」を入力したユーザのクエリ意図を「購入」と推定する。例えば、検索装置100は、過去にクエリ「キーワードA キーワードB キーワードC」と入力したユーザの多くが5000円前後の財布を購入している場合、クエリ「キーワードA キーワードB キーワードC」を入力したユーザのクエリ意図を「購入」と推定する。
次に、図8の例では、ユーザU1は、端末装置10に表示された検索窓BXにクエリ「キーワードA キーワードB キーワードC キーワードD」、すなわちキーワードA、キーワードB、キーワードC及びキーワードDの4つのキーワード(クエリ)を含むクエリQ3を入力する。
また、図8の例では、対応行動情報DQ3に示すように、クエリQ3に対応する行動情報が少ないものとする。すなわち、端末装置10からクエリQ3を取得した検索装置100は、クエリQ3に基づいてユーザU1のクエリ意図を推定不可能であるものとする。そのため、検索装置100は、クエリQ3に基づいてユーザU1のクエリ意図を不明と推定する(ステップS53)。図8の例では、検索装置100は、クエリ意図情報QA3に示すように、ユーザU1のクエリ意図を、「?(不明)」と推定する。
例えば、検索装置100は、過去にクエリ「キーワードA キーワードB キーワードC キーワードD」と入力したユーザが少数である。そのため、クエリ「キーワードA キーワードB キーワードC キーワードD」と入力したユーザの行動履歴に基づいて、クエリ「キーワードA キーワードB キーワードC キーワードD」と入力したユーザのクエリ意図を推定することができない。例えば、検索装置100は、過去(例えば直近1ヶ月等)にクエリ「キーワードA キーワードB キーワードC キーワードD」と入力したユーザが所定の閾値未満(例えば500人未満等)である場合、クエリ「キーワードA キーワードB キーワードC キーワードD」と入力したユーザのクエリ意図を推定不能として、クエリ「キーワードA キーワードB キーワードC キーワードD」を入力したユーザのクエリ意図を「不明」と推定する。
ユーザU1のクエリ意図を「不明」と推定した検索装置100は、直前に推定したクエリ意図に基づいてクエリQ3のクエリ意図を推定する(ステップS54)。図8の例では、検索装置100は、クエリ意図情報QA3-2に示すように、ユーザU1のクエリ意図を、「購入」と推定する。すなわち、検索装置100は、クエリQ2のクエリ意図をクエリQ3のクエリ意図に引き継いで、ユーザU1のクエリ意図を「購入」のまま維持する。このように、検索装置100は、クエリの意図を直前の行動情報から推定したクエリ意図とする。すなわち、検索装置100は、クエリ「キーワードA キーワードB キーワードC」により推定されたクエリ意図である「購入」を、クエリ「キーワードA キーワードB キーワードC キーワードD」のクエリ意図と推定する。これにより、検索装置100は、対応する行動情報が少ないテールクエリであるクエリQ3のクエリ意図を適切に推定することができる。なお、上記のキーワードA~Dは一例であり、例えば、キーワードAは「テレビ」であり、キーワードBは、テレビの製造元を示す「メーカA」であり、キーワードCはテレビの製造元が製造するテレビのブランド名を示す「ブランドX」であり、キーワードDは「42型」であってもよい。
〔5.遷移確率に基づくクエリ意図推定〕
なお、検索装置100は、上記に限らず種々の情報を適宜用いてクエリの意図を推定してもよい。この点について、図9を用いて詳述する。図9は、実施形態に係る遷移確率に基づくクエリの意図推定の一例を示す図である。
まず、図9の例では、ユーザが一連の検索行動において最終的にクエリ「財布 ギフト 白」を入力した場合を例に説明する。図9中のグラフTGは、各クエリ間における遷移確率を示す。例えば、図9中のグラフTGにおける矢印は、矢印の元に位置するクエリから矢印の先に位置するクエリへの遷移確率を示す。なお、検索装置100は、上述したグラフTGのような各クエリ間の遷移関係を多数のユーザによる検索行動の履歴(検索ログ)に基づいて算出する。また、検索装置100は、後述する確率を多数のユーザによる検索行動の履歴に基づいて算出する。
例えば、図9中に示す文字列TM13に示すクエリ「ギフト 白」を入力したユーザが、クエリ「ギフト 白」の直前に文字列TM1に示すクエリ「ギフト」を入力している確率が「0.9」、すなわち「90%」であることを示す。また、例えば、図9中に示す文字列TM13に示すクエリ「ギフト 白」を入力したユーザが、クエリ「ギフト 白」の直前に文字列TM2に示すクエリ「白」を入力している確率が「0.1」、すなわち「10%」であることを示す。
また、検索装置100は、文字列TM1に示すクエリ「ギフト」のクエリ意図としては、「贈答」であると推定する。また、検索装置100は、文字列TM2に示すクエリ「白」のクエリ意図としては、「白い物」であると推定する。
また、検索装置100は、文字列TM13に示すクエリ「ギフト 白」のクエリ意図を、その直前に入力されるクエリ「ギフト」や「白」のクエリ意図に基づいて推定する。
「贈答」であると推定する。例えば、検索装置100は、クエリ「ギフト 白」のクエリ意図を、クエリ「ギフト」のクエリ意図とその遷移確率、及び「白」のクエリ意図とその遷移確率とに基づいて推定する。図9の例では、検索装置100は、クエリ「ギフト」のクエリ意図「贈答」とその遷移確率「0.9」、及び「白」のクエリ意図「白い物」とその遷移確率「0.1」とに基づいて、クエリ「ギフト 白」のクエリ意図を推定する。推定する。
例えば、検索装置100は、「0.9*贈答+0.1*白い物」を、クエリ「ギフト 白」のクエリ意図として推定する。この場合、検索装置100は、クエリ「ギフト 白」のクエリ意図を贈答の意図が90%であり、白い物を探している意図が10%であるとして推定する。このように、図9の例では、検索装置100は、あるクエリの意図を、その直前に入力されたクエリの意図とその確率とに基づいて推定する。
また、図9の例では、検索装置100は、文字列TM11に示すクエリ「財布 ギフト」のクエリ意図としては、「贈答用の財布」であると推定する。また、検索装置100は、文字列TM12に示すクエリ「財布 白」のクエリ意図としては、「白い財布」であると推定する。
また、図9の例では、検索装置100は、文字列TM21に示すクエリ「財布 ギフト 白」のクエリ意図を、その直前に入力されるクエリ「財布 ギフト」、「財布 白」、「ギフト 白」の各々のクエリ意図、及び各々の遷移確率に基づいて推定する。図9中に示す文字列TM11と文字列TM21との間の矢印の「0.7」は、検索ログから算出したクエリ「財布 ギフト 白」の直前にクエリ「財布 ギフト」が入力される割合を示す。また、図9中に示す文字列TM12と文字列TM21との間の矢印の「0.2」は、検索ログから算出したクエリ「財布 ギフト 白」の直前にクエリ「財布 白」が入力される割合を示す。また、図9中に示す文字列TM13と文字列TM21との間の矢印の「0.1」は、検索ログから算出したクエリ「財布 ギフト 白」の直前にクエリ「ギフト 白」が入力される割合を示す。
例えば、検索装置100は、「0.7*贈答用の財布+0.2*白い財布+0.1*(0.9*贈答+0.1*白い物)」を、クエリ「財布 ギフト 白」のクエリ意図として推定する。この場合、検索装置100は、例えば、「贈答用の財布として白い財布を探している」を、クエリ「財布 ギフト 白」のクエリ意図として推定してもよい。このように、検索装置100は、あるクエリの意図を、その直前に入力されたクエリの意図とその確率とに基づいて推定することにより、より適切にクエリ意図を推定することができる。上述のように、検索装置100は、「財布 ギフト 白」というテールクエリがあったとき、このクエリの直前に入力されるクエリ(親クエリ)として想定される「財布 ギフト」、「財布 白」、「ギフト 白」、及びこれら親クエリからの遷移確率に基づいて、それぞれの親クエリの意図の重み付け平均を用いることにより、クエリ「財布 ギフト 白」の意図を、その直前に入力されたクエリの意図とその確率とに基づいて推定する。
〔6.効果〕
上述してきたように、実施形態に係る検索装置100は、取得部131と、推定部132とを有する。取得部131は、端末装置10を利用するユーザが検索に使用したクエリを取得する。推定部132は、クエリをユーザが使用する前におけるユーザの行動履歴に基づいて、クエリの意図を推定する。
これにより、実施形態に係る検索装置100は、クエリをユーザが使用する前におけるユーザの行動履歴に基づくことにより、ユーザが入力したクエリの意図を適切に推定することができる。
また、実施形態に係る検索装置100において、推定部132は、クエリの入力前にユーザが入力した入力クエリに基づいて、クエリの意図を推定する。
これにより、実施形態に係る検索装置100は、クエリの入力前にユーザが入力した入力クエリに基づくことにより、ユーザが入力したクエリの意図を適切に推定することができる。
また、実施形態に係る検索装置100において、推定部132は、複数の文字列を含むクエリの入力前にユーザが入力した入力クエリであって、複数の文字列のうち一部の文字列を含む入力クエリに基づいて、クエリの意図を推定する。
これにより、実施形態に係る検索装置100は、複数の文字列を含むクエリの入力前にユーザが入力した入力クエリであって、複数の文字列のうち一部の文字列を含む入力クエリに基づくことにより、ユーザが入力したクエリの意図を適切に推定することができる。
また、実施形態に係る検索装置100において、取得部131は、ユーザが行う一連の検索行動の最後に入力したクエリを取得する。
これにより、実施形態に係る検索装置100は、ユーザが入力したクエリが、ユーザが行う一連の検索行動の最後に入力したテールクエリであっても、クエリの意図を適切に推定することができる。
また、実施形態に係る検索装置100において、推定部132は、ユーザが行う一連の検索行動の最後に入力したクエリに至るまでにおいて想定されるクエリ間の遷移確率に基づいて、前記クエリの意図を推定する。
これにより、実施形態に係る検索装置100は、ユーザが最後に入力したクエリ(テールクエリ)の意図を適切に推定することができる。
また、実施形態に係る検索装置100において、推定部132は、クエリの意図として、クエリによる検索が購入に関する検索であるかを推定する。
これにより、実施形態に係る検索装置100は、クエリの意図として、クエリによる検索が購入に関する検索であるかを推定することにより、ユーザが入力したクエリの意図を適切に推定することができる。
また、実施形態に係る検索装置100は、提供部134を有する。提供部134は、推定部132によりクエリによる検索が購入に関する検索であると推定された場合、クエリに関する情報を提供する。
これにより、実施形態に係る検索装置100は、クエリによる検索が購入に関する検索であると推定された場合、クエリに関する情報を提供することにより、推定されたユーザのクエリ意図に基づいて、適切に情報を提供することができる。
また、実施形態に係る検索装置100において、推定部132は、クエリの意図として、クエリによる検索が贈答に関する検索であるかを推定する。
これにより、実施形態に係る検索装置100は、クエリの意図として、クエリによる検索が贈答に関する検索であるかを推定することにより、ユーザが入力したクエリの意図を適切に推定することができる。
また、実施形態に係る検索装置100において、推定部132は、クエリに基づいてクエリの意図を推定することができる場合、クエリに基づいてクエリの意図を推定し、クエリに基づいてクエリの意図を推定することができない場合、クエリをユーザが使用する前におけるユーザの行動履歴に基づいて、クエリの意図を推定する。
これにより、実施形態に係る検索装置100は、クエリに基づいてクエリの意図を推定することができる場合、クエリに基づいてクエリの意図を推定し、クエリに基づいてクエリの意図を推定することができない場合、クエリをユーザが使用する前におけるユーザの行動履歴に基づいて、クエリの意図を推定することにより、ユーザが入力したクエリの意図を適切に推定することができる。
〔7.ハードウェア構成〕
上述してきた実施形態に係る検索装置100は、例えば図10に示すような構成のコンピュータ1000によって実現される。図10は、検索装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インターフェイス(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として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態を図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。