以下、本発明による検索式作成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
(実施の形態1)
本実施の形態において、実行検索式と、当該実行検索式により検索された情報の中からユーザが選択した情報である選択結果情報とを統計処理し、当該統計処理の結果を用いて、ユーザに推薦する検索式である推薦検索式を作成する検索式作成装置1について説明する。
図1は、本実施の形態における検索式作成装置1のブロック図である。検索式作成装置1は、検索履歴管理情報格納部11、受付部12、現在環境情報取得部13、統計処理部14、統計処理情報格納部15、推薦検索式作成部16、出力部17、検索対象情報格納部18、検索部19、蓄積部20を備える。
検索履歴管理情報格納部11には、1以上の検索履歴管理情報が格納される。検索履歴管理情報とは、いわゆる検索履歴を管理するための情報である。また、検索履歴管理情報は、実行検索式と、選択結果情報とが対応付いた情報である。
実行検索式とは、検索に用いられた検索式である。また、実行検索式は、通常、1以上の検索条件を有する検索式である。また、実行検索式は、通常、2以上の検索条件を有することが好適である。また、検索条件とは、例えば、検索対象の属性と、属性に対応する属性値と、属性と属性値との関係を示す関係演算子とから構成される条件である。属性は、問わない。属性は、例えば、ジャンル、予算、人数、最寄駅、最寄駅からの徒歩時間、最寄駅からの距離、営業時間などである。また、属性値は、属性の内容を示す具体的な情報であればよい。例えば、「ジャンル」に対応する属性値は、例えば、「和食」、「フレンチ」、「居酒屋」などである。また、例えば、「予算」に対応する属性値は、例えば、「4000円」、「5000円」、「6000円」などである。また、関係演算子は、例えば、「<」、「>」、「≦」、「≧」、「=」、「≠」などである。また、2以上の検索条件を有する場合、検索式は、当該2以上の検索条件の組み合わせである。当該組み合わせとは、通常、論理積(AND)である。また、当該組み合わせは、例えば、論理和(OR)であってもよい。
以上より、検索式は、例えば、(A)「ジャンル=居酒屋」や、(B)「(ジャンル=フレンチ)&(予算≦5000円)」、(C)「ジャンル=(フレンチorイタリアン)」などである。(A)の検索式は、ジャンルが居酒屋であることを意味する。また、(B)の検索式は、ジャンルがフレンチであり、かつ、予算が5000円以下であることを意味する。また、(C)の検索式は、ジャンルがフレンチまたはイタリアンであることを意味する。
また、選択結果情報とは、実行検索式により検索された情報の中からユーザが選択した情報である。また、一の検索履歴管理情報が有する選択結果情報は、通常、1以上である。また、実行検索式による検索の対象となる情報を、以下、適宜、検索対象情報とする。また、実行検索式により検索された情報を、以下、適宜、検索結果情報とする。つまり、検索結果情報は、検索対象情報の一部である。また、選択結果情報は、検索結果情報の一部である。当該「一部」とは、通常、部分集合を意味する。従って、検索対象情報、検索結果情報、選択結果情報の各情報のデータ構造は、通常、同一である。
検索対象情報は、通常、1以上の属性と、当該1以上の各属性に対応する属性値とを有する。また、検索対象情報は、通常、店舗(飲食店)に関する情報である。また、検索対象情報は、例えば、自動車や、バイク、いわゆる家電などに関する情報であってもよい。つまり、例えば、店舗に関する情報である場合、検索対象情報は、通常、店舗に関する1以上の属性と、当該1以上の各属性に対応する属性値とを有する。また、例えば、自動車に関する情報である場合、検索対象情報は、通常、自動車に関する1以上の属性と、当該1以上の各属性に対応する属性値とを有する。
また、検索履歴管理情報は、例えば、検索数を有していてもよい。検索数とは、実行検索式により検索された検索結果情報の数である。また、検索数を有する場合、検索履歴管理情報は、例えば、検索結果情報を有していてもよい。また、検索結果情報を有する場合、当該検索結果情報の一部には、例えば、選択結果情報であることを示す情報が対応付いていてもよい。つまり、この場合、選択結果情報は、1以上の検索結果情報のうち選択結果情報であることを示す情報が対応付いている検索結果情報である。また、「選択結果情報であることを示す情報」は、通常、いわゆるフラグである。
また、検索履歴管理情報は、例えば、検索環境情報を有していてもよい。検索環境情報とは、実行検索式による検索時の環境を示す情報である。また、環境とは、例えば、場所(位置)や、曜日、時間帯(時刻)、天候などである。また、環境を示す情報を、以下、適宜、環境情報とする。
また、検索履歴管理情報には、例えば、ユーザを識別する情報であるユーザ識別情報を有していてもよい。ユーザ識別情報は、例えば、IDや、いわゆるユーザ名などである。また、ユーザ識別情報は、例えば、ユーザが使用している装置(例えば、パソコンや、携帯端末など)の識別番号であってもよい。
また、検索履歴管理情報は、例えば、選択結果情報を有していなくてもよい。当該検索履歴管理情報は、例えば、1以上の検索結果情報の中からユーザがどの検索結果情報も選択しなかったことを意味する。
また、上記、検索数や、検索環境情報、ユーザ識別情報などを検索履歴管理情報が有していることは、例えば、検索履歴管理情報に対応付いていることであってもよい。
受付部12は、1以上の検索条件を受け付ける。また、受付部12は、1以上の検索条件を有する検索式を受け付けてもよい。なお、当該受付部12が受け付けた検索式を、以下、適宜、入力検索式とする。また、1以上の検索条件を受け付けることは、通常、入力検索式を受け付けることである。また、受け付けとは、タッチパネルや、キーボードなどの入力デバイスから入力された情報の取得、光ディスクや磁気ディスク、半導体メモリなどの記録媒体に格納されている情報の取得、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
また、受付部12は、例えば、ユーザ識別情報や、検索実行指示、検索結果選択指示などを受け付けてもよい。検索実行指示とは、入力検索式による検索(検索結果情報の取得)を行う指示である。また、検索結果選択指示とは、1以上の検索結果情報の中から、選択結果情報を選択する指示である。
また、受付部12における情報や指示などの入力手段は、メニュー画面によるものや、キーボードなど、何でもよい。受付部12は、メニュー画面の制御ソフトウェアや、キーボード等の入力手段のデバイスドライバなどで実現され得る。
現在環境情報取得部13は、現在の環境を示す情報である現在環境情報を取得する。現在環境情報は、環境情報である。また、現在環境情報取得部13は、通常、定期的に現在環境情報を取得する。また、現在環境情報取得部13は、例えば、いわゆるGPS受信機や、標準電波を受信する装置、NTPサーバ、照度センサ、雨量計などの装置から、現在環境情報を取得する。この場合、現在環境情報取得部13は、これらの装置を有していてもよいし、これらの装置で実現され得てもよい。また、現在環境情報取得部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。
統計処理部14は、1以上の検索履歴管理情報を統計処理する。そして、統計処理部14は、当該統計処理の結果に関する情報である1以上の統計処理情報を取得する。そして、統計処理部14は、当該取得した1以上の統計処理情報を、統計処理情報格納部15に蓄積する。
ここで、統計処理とは、検索履歴管理情報が有する実行検索式や、検索履歴管理情報が有する選択結果情報などを統計処理することである。具体的に、統計処理は、例えば、以下の処理などである。
(A)2以上の検索条件の組み合わせを取得すること
(B)2以上の検索条件の組み合わせの頻度を算出すること
(C)属性と属性値のペアを取得すること
(D)属性と属性値のペアの頻度を算出すること
また、上記において、頻度とは、例えば、数や、割合などである。
例えば、2以上の検索条件の組み合わせに関する統計処理情報は、例えば、「条件A,条件B」、「条件A,条件C,条件D」などである。当該統計処理情報は、それぞれ、実行検索式が「条件A」と「条件B」とを有すること、実行検索式が「条件A」と「条件C」と「条件D」とを有すること、を意味する。また、当該組み合わせの頻度に関する統計処理情報は、例えば、「条件A,条件B:3」、「条件A,条件C,条件D:25%」などである。当該統計処理情報は、それぞれ、「条件A」と「条件B」とを有する実行検索式の数が3個であること、「条件A」と「条件C」と「条件D」とを有する実行検索式の数が、検索履歴管理情報格納部11に格納されている実行検索式の数の25%であること、を意味する。なお、「条件A」や「条件B」などは、検索条件である。
また、例えば、属性と属性値のペアに関する統計処理情報は、例えば、「属性A:属性値a,属性B:属性値b」、「属性A:属性値a,属性C:属性値c,属性D:属性値d」などである。当該統計処理情報は、それぞれ、選択結果情報が「属性A:属性値a」と「属性B:属性値b」とを有すること、選択結果情報が「属性A:属性値a」と「属性C:属性値c」と「属性D:属性値d」とを有することを意味する。また、当該ペアの頻度に関する統計処理情報は、例えば、「(属性A:属性値a):3,(属性B:属性値b):5」、「(属性A:属性値a):55%,(属性C:属性値c):40%,(属性D:属性値d):25%」などである。また、当該統計処理情報は、それぞれ、「属性A:属性値a」の数が3個であり、「属性B:属性値b」の数が5個であること、検索履歴管理情報格納部11に格納されている属性と属性値のペアの数に対して、「属性A:属性値a」の数が55%であり、「属性C:属性値c」の数が40%であり、「属性D:属性値d」の数が25%であること、を意味する。
例えば、2以上の検索条件の組み合わせを取得する場合、統計処理部14は、例えば、1以上の各検索履歴管理情報に含まれる実行検索式が有する2以上の検索条件を取得する。このとき、統計処理部14は、例えば、重複する組み合わせについては、取得しない。つまり、統計処理部14は、いわゆるユニーク処理を行いながら、2以上の検索条件の組み合わせを取得する。
例えば、一の検索履歴管理情報に含まれる実行検索式が、「条件A&条件B」であるとする。この様な場合、統計処理部14は、例えば、2以上の検索条件の組み合わせに関する統計処理情報「条件A,条件B」を取得する。
また、例えば、2以上の検索条件の組み合わせを取得する場合、統計処理部14は、例えば、2以上の実行検索式において共通する2以上の検索条件の組み合わせを取得してもよい。
例えば、第一の実行検索式が「条件A&条件B&条件C」であり、第二の実行検索式が「条件A&条件B&条件D」であるとする。当該第一の実行検索式と当該第二の実行検索式において共通する検索条件は、「条件A」と「条件B」である。従って、この様な場合、統計処理部14は、例えば、2以上の検索条件の組み合わせに関する統計処理情報「条件A,条件B」を取得する。
また、例えば、2以上の検索条件の組み合わせの頻度を算出する場合、統計処理部14は、例えば、1以上の各検索履歴管理情報に含まれる実行検索式が有する2以上の検索条件を取得する。そして、統計処理部14は、取得した2以上の検索条件のすべてを有する実行検索式の数を、検索履歴管理情報格納部11に格納されている1以上の検索履歴管理情報を用いてカウントする。そして、統計処理部14は、当該カウントした数や、検索履歴管理情報格納部11に格納されている検索履歴管理情報の数などを用いて、検索条件の組み合わせの頻度を算出する。
また、例えば、2以上の検索条件の組み合わせの頻度を算出する場合、統計処理部14は、例えば、2以上の実行検索式において共通する2以上の検索条件の組み合わせの頻度を算出してもよい。この場合、統計処理部14は、例えば、2以上の実行検索式において共通する2以上の検索条件の組み合わせを取得する。そして、統計処理手段は、取得した2以上の検索条件のすべてを有する実行検索式を、検索履歴管理情報格納部11に格納されている1以上の検索履歴管理情報を用いてカウントする。そして、統計処理部14は、当該カウントした数や、検索履歴管理情報格納部11に格納されている検索履歴管理情報の数などを用いて、検索条件の組み合わせの頻度を算出する。
例えば、検索条件の組み合わせ「条件A,条件B」を有する実行検索式が、検索履歴管理情報格納部11に3個格納されているとする。この様な場合、統計処理部14は、例えば、2以上の検索条件の組み合わせの頻度に関する統計処理情報「条件A,条件B:3」を取得する。また、この場合において、例えば、検索履歴管理情報格納部11に12個の検索履歴管理情報が格納されているとする。この様な場合、統計処理部14は、例えば、2以上の検索条件の組み合わせの頻度に関する統計処理情報「条件A,条件B:25%」を取得する。
また、例えば、属性と属性値のペアを取得する場合、統計処理部14は、例えば、1以上の各検索履歴管理情報に含まれる選択結果情報が有する1以上の属性と、当該属性に対応する属性値とを対応付けて取得する。このとき、統計処理部14は、例えば、重複するペアについては、取得しない。つまり、統計処理部14は、いわゆるユニーク処理を行いながら、属性と属性値のペアを取得する。
例えば、一の検索履歴管理情報に含まれる一の選択結果情報が、「属性A:属性値a」を有しているとする。この様な場合、統計処理部14は、属性と属性値のペアに関する統計処理情報「属性A:属性値a」を取得する。
また、例えば、属性と属性値のペアの頻度を算出する場合、統計処理部14は、例えば、1以上の各検索履歴管理情報に含まれる選択結果情報が有する1以上の属性と、当該属性に対応する属性値とを対応付けて取得する。そして、統計処理部14は、取得した属性と属性値のペアと同一の属性と属性値のペアの数を、検索履歴管理情報格納部11に格納されている1以上の検索履歴管理情報を用いてカウントする。そして、統計処理部14は、当該カウントした数や、検索履歴管理情報格納部11に格納されている属性と属性値のペアの数などを用いて、属性と属性値のペアの頻度を算出する。
例えば、属性と属性値のペア「属性A:属性値a」が、検索履歴管理情報格納部11に3個格納されているとする。この様な場合、統計処理部14は、例えば、属性と属性値のペアの頻度に関する統計処理情報「(属性A:属性値a):3」を取得する。また、この場合において、例えば、検索履歴管理情報格納部11に12個の属性と属性値のペアが格納されているとする。この様な場合、統計処理部14は、例えば、属性と属性値のペアの頻度に関する統計処理情報「(属性A:属性値a):25%」を取得する。
また、例えば、検索履歴管理情報が検索環境情報を有している場合、統計処理部14は、例えば、1以上の検索履歴管理情報のうち、現在環境情報と予め決められた条件(以下、適宜、環境条件とする)を満たすほど近似する検索環境情報を有する1以上の検索履歴管理情報を統計処理し、統計処理情報を取得してもよい。環境条件は、例えば、現在環境情報と検索環境情報とが一致することや、現在環境情報が示す現在の環境が、検索環境情報が示す検索時の環境を含むこと、現在環境情報が示す現在の環境を、検索環境情報が示す検索時の環境が含むことなどである。
この場合、統計処理部14は、例えば、現在環境情報取得部13が取得した現在環境情報を取得する。そして、統計処理部14は、当該現在環境情報と環境条件を満たす検索環境条件を有する1以上の検索履歴管理情報を、検索履歴管理情報格納部11から取得する。そして、統計処理部14は、当該取得した1以上の検索履歴管理情報を統計処理し、統計処理情報を取得する。
また、例えば、検索履歴管理情報が検索数を有している場合、統計処理部14は、例えば、検索履歴管理情報格納部11に格納されている1以上の実行検索式のうち、予め決められた条件(以下、適宜、検索数条件)を満たすほど少ない検索数が対応付いている1以上の実行検索式を統計処理し、統計処理情報を取得してもよい。検索数条件は、例えば、検索数が予め決められた閾値以下であることや、検索数が予め決められた閾値より小さいことなどである。また、当該統計処理により取得される統計処理情報は、組み合わせない方がよい検索条件の組み合わせ、組み合わせない方がよい検索条件の組み合わせの頻度に関する統計処理情報である。また、当該統計処理情報は、いわゆるNGパターンに関する統計処理情報である。
この場合、統計処理部14は、例えば、検索履歴管理情報格納部11から、検索数条件を満たす検索数が対応付いている1以上の実行検索式を取得する。そして、統計処理部14は、当該取得した1以上の実行検索式を統計処理し、統計処理情報を取得する。
また、例えば、検索履歴管理情報にユーザ識別情報が対応付いている場合、統計処理部14は、例えば、受付部12が受け付けたユーザ識別情報が対応付いている1以上の検索履歴管理情報を、検索履歴管理情報格納部11から取得し、当該取得した1以上の検索履歴管理情報を統計処理する。また、この場合、統計処理部14は、例えば、同一のユーザ識別情報が対応付いている1以上の検索履歴管理情報を、当該ユーザ識別情報ごとに統計処理してもよい。また、この場合、統計処理部14は、例えば、一の統計処理情報の取得に用いた1以上の検索履歴管理情報に対応付いているユーザ識別情報を、当該取得した一の統計処理情報に対応付けてもよい。
なお、上記、検索条件の組み合わせに関する統計処理情報を、以下、適宜、検索条件組み合わせ情報とする。また、上記、検索条件の組み合わせの頻度に関する統計処理情報を、以下、適宜、検索条件組み合わせ頻度情報とする。また、上記、属性と属性値のペアに関する統計処理情報を、以下、適宜、属性対応情報とする。また、上記、属性と属性値のペアの頻度に関する統計処理情報を、以下、適宜、属性対応頻度情報とする。また、上記、検索数の少ない検索条件の組み合わせに関する統計処理情報を、以下、適宜、少数検索条件組み合わせ情報とする。また、上記、検索数の少ない検索条件の組み合わせの頻度に関する統計処理情報を、以下、適宜、少数検索条件組み合わせ頻度情報とする。
統計処理情報格納部15には、1以上の統計処理情報が格納される。当該1以上の各統計処理情報には、例えば、ユーザ識別情報が対応付いていてもよい。
推薦検索式作成部16は、推薦検索式を作成する。推薦検索式作成部16は、通常、統計処理情報格納部15に格納されている統計処理情報を用いて、推薦検索式を作成する。また、推薦検索式作成部16は、例えば、統計処理部14が取得した統計処理情報を用いて、推薦検索式を作成してもよい。
ここで、推薦検索式とは、ユーザに推薦する検索式である。具体的に、推薦検索式は、予め決められた条件(以下、適宜、推薦検索式条件とする)を満たす検索式である。推薦検索式条件とは、作成する推薦検索式に関する条件である。具体的に、推薦検索式条件は、推薦検索式が有する検索条件に関する条件である。つまり、推薦検索式条件は、例えば、以下の条件などである。
(A)検索条件組み合わせ情報が有する検索条件を有すること
(B)頻度が予め決められた閾値以上である検索条件組み合わせ頻度情報が有する検索条件を有すること
(C)属性対応情報が有する属性と属性値から構成される検索条件を有すること
(D)頻度が予め決められた閾値以上である属性対応頻度情報が有する属性と属性値から構成される検索条件を有すること
(E)少数検索条件組み合わせ情報が有する2以上の検索条件を有さないこと
(F)頻度が予め決められた閾値以上である少数検索条件組み合わせ情報が有する2以上の検索条件を有さないこと
例えば、推薦検索式条件が、上記(A)の条件である場合、推薦検索式作成部16は、例えば、検索条件組み合わせ情報が有する2以上の検索条件を組み合わせ、当該2以上の検索条件を有する推薦検索式を作成する。また、この場合において、受付部12が入力検索式を受け付けた場合、推薦検索式作成部16は、例えば、入力検索式が有するすべての検索条件を有する検索条件組み合わせ情報を用いて、推薦検索式を作成してもよい。
また、例えば、推薦検索式条件が、上記(B)の条件である場合、推薦検索式作成部16は、例えば、検索条件組み合わせ頻度情報が有する組み合わせの頻度が、予め決められた閾値以上である検索条件組み合わせ頻度情報を取得する。そして、推薦検索式作成部16は、当該取得した検索条件組み合わせ頻度情報が有する2以上の検索条件を組み合わせ、当該2以上の検索条件を有する推薦検索式を作成する。また、この場合において、受付部12が入力検索式を受け付けた場合、推薦検索式作成部16は、例えば、取得した検索条件組み合わせ頻度情報のうち、入力検索式が有するすべての検索条件を有する検索条件組み合わせ頻度情報を用いて、推薦検索式を作成してもよい。
また、例えば、推薦検索式条件が、上記(C)の条件である場合、推薦検索式作成部16は、例えば、属性対応情報が有する1以上の属性と、当該属性に対応する属性値とを組み合わせ、1以上の検索条件を作成する。そして、推薦検索式作成部16は、当該作成した1以上の検索条件を組み合わせ、当該1以上の属性と、当該属性に対応する属性値とを有する推薦検索式を作成する。なお、作成した検索条件が1つである場合、検索条件の組み合わせを行わないことは、言うまでもない。
また、例えば、推薦検索式条件が、上記(D)の条件である場合、推薦検索式作成部16は、例えば、属性対応頻度情報が有するペアの頻度が、予め決められた閾値以上である属性対応頻度情報を取得する。そして、推薦検索式作成部16は、当該取得した属性対応頻度情報が有する1以上の属性と、当該属性に対応する属性値とを組み合わせ、1以上の検索条件を作成する。そして、推薦検索式作成部16は、当該作成した1以上の検索条件を組み合わせ、当該1以上の属性と、当該属性に対応する属性値とを有する推薦検索式を作成する。なお、作成した検索条件が1つである場合、検索条件の組み合わせを行わないことは、言うまでもない。
また、例えば、推薦検索式条件が、上記(E)の条件である場合、推薦検索式作成部16は、例えば、上記の様な処理により推薦検索式を作成する際に、少数検索条件組み合わせ情報が有する2以上の検索条件を有さない推薦検索式を作成する。
例えば、検索条件組み合わせ情報を用いて推薦検索式を作成する場合において、検索条件組み合わせ情報が「条件A,条件B」であるとする。また、少数検索式組み合わせ情報が「条件A,条件B」であるとする。この様な場合、推薦検索式作成部16は、「条件A」と「条件B」とを有する推薦検索式を作成しない。
また、例えば、推薦検索式条件が、上記(F)の条件である場合、推薦検索式作成部16は、例えば、少数検索条件組み合わせ情報が有する組み合わせの頻度が、予め決められた閾値以上である少数検索条件組み合わせ情報を取得する。そして、推薦検索式作成部16は、上記の様な処理により推薦検索式を作成する際に、取得した少数検索条件組み合わせ情報が有する2以上の検索条件を有さない推薦検索式を作成する。
例えば、検索条件組み合わせ情報を用いて推薦検索式を作成する場合において、検索条件組み合わせ情報が「条件A,条件B」であるとする。また、少数検索式組み合わせ頻度情報が有する組み合わせの頻度が、予め決められた閾値以上であるとする。また、当該少数検索式組み合わせ頻度情報が「条件A,条件B」であるとする。この様な場合、推薦検索式作成部16は、「条件A」と「条件B」とを有する推薦検索式を作成しない。
また、2以上の検索条件を組み合わせる場合、推薦検索式作成部16は、通常、当該2以上の検索条件を論理積(AND)により組み合わせる。例えば、「条件A」と「条件B」とを組み合わせる場合、推薦検索式作成部16は、推薦検索式「条件A&条件B」を作成する。
また、組み合わせる2以上の検索条件において、属性が共通する場合、推薦検索式作成部16は、通常、当該2以上の検索条件が有する属性値を論理和(OR)により組み合わせる。例えば、「ジャンル=居酒屋」と「ジャンル=創作料理」とを組み合わせる場合、推薦検索式作成部16は、推薦検索式「ジャンル=(居酒屋or創作料理)」を作成する。
また、例えば、統計処理情報にユーザ識別情報が対応付いている場合、推薦検索式作成部16は、例えば、受付部12が受け付けたユーザ識別情報が対応付いている1以上の統計処理情報を用いて、推薦検索式を作成する。
出力部17は、推薦検索式作成部16が作成した推薦検索式を出力する。出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。また、出力部17は、例えば、検索結果情報や、選択結果情報などを出力してもよい。
また、出力部17は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部17は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
検索対象情報格納部18には、1以上の検索対象情報が格納される。
検索部19は、通常、受付部12が受け付けた入力検索式を用いて検索対象情報格納部18に格納されている1以上の検索対象情報を検索し、当該検索の結果である1以上の検索結果情報を取得する。言い換えると、検索部19は、通常、受付部12が受け付けた入力検索式を用いて、前記1以上の検索対象情報から、当該入力検索式が示す条件を満たす検索対象情報である1以上の検索結果情報を取得する。また、検索部19は、例えば、推薦検索式作成部16が作成した推薦検索式を用いて検索対象情報格納部18に格納されている1以上の検索対象情報を検索してもよい。また、当該推薦検索式作成部16が作成した推薦検索式を用いて検索を行うことは、言い換えると、いわゆる検索結果に推薦検索式を反映させることである。
なお、入力検索式による検索を行うタイミングは、例えば、受付部12が入力検索式を受け付け済みである状態において、受付部12が検索実行指示を受け付けた直後である。当該「受付部12が検索実行指示を受け付けた直後」には、「受付部12が検索実行指示を受け付けるたび」も含まれる。
また、推薦検索式による検索を行うタイミングは、例えば、受付部12が検索実行指示を受け付け済みである状態において、推薦検索式作成部16が推薦検索式を作成した直後である。
また、例えば、推薦検索式作成部16が推薦検索式を作成済みである状態において、入力検索式による検索を行った場合、検索部19は、例えば、入力検索式により検索を行った結果、取得した1以上の検索結果情報に対して、推薦検索式を用いた検索を行ってもよい。また、この場合において、推薦検索式が2以上である場合、検索部19は、例えば、当該2以上の各推薦検索式を用いて検索を行う。また、出力部17は、当該2以上の検索ごとに取得された検索結果情報を、当該検索の順に出力する。
なお、検索式を用いて情報を検索する方法や手順などは、公知であるので、詳細な説明を省略する。
蓄積部20は、1以上の検索結果情報の中から、受付部12が受け付けた検索結果選択指示により選択された検索結果情報である1以上の選択結果情報を取得する。そして、蓄積部20は、検索部19が検索に用いた入力検索式である実行検索式と、当該取得した1以上の選択結果情報とを対応付け、検索履歴管理情報を作成する。また、このとき、蓄積部20は、例えば、現在環境情報取得部13が取得した現在環境情報を、検索環境情報として対応付けて、検索履歴管理情報を作成してもよい。また、このとき、蓄積部20は、作成した検索履歴管理情報に、受付部12が受け付けたユーザ識別情報を対応付けてもよい。そして、現在環境情報取得部13は、作成した検索履歴管理情報を、検索履歴管理情報格納部11に蓄積する。また、蓄積部20は、通常、検索部19が一の検索を行ってから次の検索を行うまでの間にユーザにより選択された検索結果情報を選択結果情報として取得し、当該取得した検索結果情報を用いて、検索履歴管理情報を作成する。
なお、検索履歴管理情報格納部11、統計処理情報格納部15、検索対象情報格納部18は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、検索履歴管理情報格納部11などに所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体や、通信回線、入力デバイスなどを介して検索履歴管理情報格納部11などに記憶されてもよい。
また、統計処理部14、推薦検索式作成部16、検索部19、蓄積部20は、通常、MPUやメモリ等から実現され得る。また、推薦検索式作成部16などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、推薦検索式作成部16などは、ハードウェア(専用回路)で実現されてもよい。
次に、検索式作成装置1の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。図2は、検索式作成装置1の全体動作を示すフローチャートである。
(ステップS201)現在環境情報取得部13は、現在環境情報の取得を開始する。
(ステップS202)統計処理部14は、受付部12がユーザ識別情報を受け付けたか否かを判断する。受け付けた場合は、ステップS203に進み、そうでない場合は、ステップS202に進む。
(ステップS203)統計処理部14は、ステップS202で受け付けたユーザ識別情報が対応付いている1以上の検索履歴管理情報を、検索履歴管理情報格納部11から取得する。
(ステップS204)統計処理部14は、ステップS203で取得した検索履歴管理情報を統計処理し、統計処理情報を取得する。そして、統計処理部14は、当該時計処理情報を、統計処理情報格納部15に蓄積する。
(ステップS205)推薦検索式作成部16は、受付部12が入力検索式を受け付けたか否かを判断する。受け付けた場合は、ステップS206に進み、そうでない場合は、ステップS208に進む。
(ステップS206)推薦検索式作成部16は、推薦検索式を作成するか否かを判断する。当該判断は、例えば、受付部12による入力検索式の受け付けに応じて、推薦検索式を作成するか否かを示す情報が予め決められた記憶領域に格納されており、当該情報を用いて行う。そして、推薦検索式を作成する場合は、ステップS207に進み、そうでない場合は、ステップS210に進む。
(ステップS207)推薦検索式作成部16は、ステップS205で受け付けた入力検索式と、ステップS204で取得した統計処理情報とを用いて、推薦検索式を作成する。
(ステップS208)推薦検索式作成部16は、ステップS204で取得した統計処理情報を用いて、推薦検索式を作成する。
(ステップS209)出力部17は、ステップS207またはステップS208で作成した推薦検索式を出力する。
(ステップS210)検索部19は、受付部12が検索実行指示を受け付けたか否かを判断する。受け付けた場合は、ステップS211に進み、そうでない場合は、ステップS205に戻る。
(ステップS211)検索部19は、ステップS205で受け付けた入力検索式、または、ステップS207で作成した推薦検索式、または、ステップS208で作成した推薦検索式による検索対象情報の検索を行い、1以上の検索結果情報を取得する。
(ステップS212)出力部17は、ステップS211で取得した1以上の検索結果情報を出力する。
(ステップS213)蓄積部20は、受付部12が検索結果選択指示を受け付けたか否かを判断する。受け付けた場合は、ステップS214に進み、そうでない場合は、ステップS205に戻る。
(ステップS214)蓄積部20は、ステップS213で受け付けた検索結果選択指示により選択された検索結果情報を、選択結果情報として取得する。
(ステップS215)蓄積部20は、ステップS211で用いた検索式と、ステップS214で取得した選択結果情報とを対応付け、検索履歴管理情報を作成する。
(ステップS216)蓄積部20は、ステップS215で作成した検索履歴管理情報を検索履歴管理情報格納部11に蓄積する。そして、ステップS202に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
図3は、図2のフローチャートのステップS204の統計処理情報の取得処理において、検索条件組み合わせ情報を取得する場合の動作を示すフローチャートである。なお、図3のフローチャートにおいて、検索履歴管理情報格納部11には、m個の検索履歴管理情報が格納されているものとする。
(ステップS301)統計処理部14は、カウンタiに1をセットする。
(ステップS302)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する検索条件の数である検索条件の数[i]が2以上であるか否かを判断する。2以上である場合は、ステップS303に進み、そうでない場合は、ステップS306に進む。
(ステップS303)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する2以上の検索条件を取得する。
(ステップS304)統計処理部14は、検索条件組み合わせ情報を格納する配列であるlist[]に、ステップS303で取得した2以上の検索条件の組み合わせが含まれているか否かを判断する。含まれている場合は、ステップS306に進み、そうでない場合は、ステップS305に進む。
(ステップS305)統計処理部14は、list[]にステップS303で取得した2以上の検索条件の組み合わせを追加する。
(ステップS306)統計処理部14は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS307に進む。
(ステップS307)統計処理部14は、iを1インクリメントする。そして、ステップS302に戻る。
図4は、図2のフローチャートのステップS204の統計処理情報の取得処理において、検索条件組み合わせ頻度情報を取得する場合の動作を示すフローチャートである。なお、図4のフローチャートにおいて、検索履歴管理情報格納部11には、m個の検索履歴管理情報が格納されているものとする。
(ステップS401)統計処理部14は、カウンタiに1をセットする。
(ステップS402)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する検索条件の数である検索条件の数[i]が2以上であるか否かを判断する。2以上である場合は、ステップS403に進み、そうでない場合は、ステップS409に進む。
(ステップS403)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する2以上の検索条件を取得する。
(ステップS404)統計処理部14は、検索条件組み合わせ頻度情報を格納する配列であるlist[]に、ステップS403で取得した2以上の検索条件の組み合わせが含まれているか否かを判断する。含まれている場合は、ステップS405に進み、そうでない場合は、ステップS407に進む。
(ステップS405)統計処理部14は、ステップS403で取得した2以上の検索条件の組み合わせに対応するlist[]のインデックス番号を取得し、変数indexに当該インデックス番号をセットする。
(ステップS406)統計処理部14は、list[index]に対応付いている変数countを1インクリメントする。当該countは、2以上の検索条件の組み合わせの数をカウントするための変数である。
(ステップS407)統計処理部14は、list[]にステップS403で取得した2以上の検索条件の組み合わせを追加する。
(ステップS408)統計処理部14は、list[MAX]に対応付いている変数countに1をセットする。当該「MAX」は、list[]の最大インデックス番号を示す変数である。
(ステップS409)統計処理部14は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS410に進む。
(ステップS410)統計処理部14は、iを1インクリメントする。そして、ステップS402に戻る。
図5は、図2のフローチャートのステップS204の統計処理情報の取得処理において、属性対応情報を取得する場合の動作を示すフローチャートである。なお、図5のフローチャートにおいて、検索履歴管理情報格納部11には、m個の検索履歴管理情報が格納されているものとする。
(ステップS501)統計処理部14は、カウンタiに1をセットする。
(ステップS502)統計処理部14は、検索履歴管理情報[i]に含まれる1以上の選択結果情報が有する1以上の属性と属性値のペアの数をカウントし、変数nに当該数をセットする。
(ステップS503)統計処理部14は、カウンタjに1をセットする。
(ステップS504)統計処理部14は、選択結果情報[i]が有する属性と属性値のペア[j]を取得する。
(ステップS505)統計処理部14は、属性対応情報を格納する配列であるlist[]に、ステップS504で取得した属性と属性値のペア[j]が含まれているか否かを判断する。含まれている場合は、ステップS507に進み、そうでない場合は、ステップS506に進む。
(ステップS506)統計処理部14は、list[]にステップS504で取得した属性と属性値のペア[j]を追加する。
(ステップS507)統計処理部14は、jがnであるか否かを判断する。nである場合は、ステップS509に進み、そうでない場合は、ステップS508に進む。
(ステップS508)統計処理部14は、jを1インクリメントする。そして、ステップS504に戻る。
(ステップS509)統計処理部14は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS510に進む。
(ステップS510)統計処理部14は、iを1インクリメントする。そして、ステップS502に戻る。
図6は、図2のフローチャートのステップS204の統計処理情報の取得処理において、属性対応頻度情報を取得する場合の動作を示すフローチャートである。なお、図6のフローチャートにおいて、検索履歴管理情報格納部11には、m個の検索履歴管理情報が格納されているものとする。
(ステップS601)統計処理部14は、カウンタiに1をセットする。
(ステップS602)統計処理部14は、検索履歴管理情報[i]に含まれる1以上の選択結果情報が有する1以上の属性と属性値のペアの数をカウントし、変数nに当該数をセットする。
(ステップS603)統計処理部14は、カウンタjに1をセットする。
(ステップS604)統計処理部14は、選択結果情報[i]が有する属性と属性値のペア[j]を取得する。
(ステップS605)統計処理部14は、属性対応頻度情報を格納する配列であるlist[]に、ステップS604で取得した属性と属性値のペア[j]が含まれているか否かを判断する。含まれている場合は、ステップS606に進み、そうでない場合は、ステップS607に進む。
(ステップS606)統計処理部14は、ステップS604で取得した属性と属性値のペア[j]に対応するlist[]のインデックス番号を取得し、変数indexに当該インデックス番号をセットする。
(ステップS607)統計処理部14は、list[index]に対応付いている変数countを1インクリメントする。当該countは、属性と属性値のペアの数をカウントするための変数である。
(ステップS608)統計処理部14は、list[]にステップS604で取得した属性と属性値のペア[j]を追加する。
(ステップS609)統計処理部14は、list[MAX]に対応付いている変数countに1をセットする。当該「MAX」は、list[]の最大インデックス番号を示す変数である。
(ステップS610)統計処理部14は、jがnであるか否かを判断する。nである場合は、ステップS612に進み、そうでない場合は、ステップS611に進む。
(ステップS611)統計処理部14は、jを1インクリメントする。そして、ステップS604に戻る。
(ステップS612)統計処理部14は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS613に進む。
(ステップS613)統計処理部14は、iを1インクリメントする。そして、ステップS602に戻る。
図7は、図2のフローチャートのステップS204の統計処理情報の取得処理において、少数検索条件組み合わせ情報を取得する場合の動作を示すフローチャートである。なお、図7のフローチャートにおいて、検索履歴管理情報格納部11には、m個の検索履歴管理情報が格納されているものとする。
(ステップS701)統計処理部14は、カウンタiに1をセットする。
(ステップS702)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する検索条件の数である検索条件の数[i]が2以上であるか否かを判断する。2以上である場合は、ステップS703に進み、そうでない場合は、ステップS707に進む。
(ステップS703)統計処理部14は、検索履歴管理情報[i]が有する検索数が検索数条件を満たすか否かを判断する。満たす場合は、ステップS704に進み、そうでない場合は、ステップS707に進む。
(ステップS704)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する2以上の検索条件を取得する。
(ステップS705)統計処理部14は、少数検索条件組み合わせ情報を格納する配列であるlist[]に、ステップS704で取得した2以上の検索条件の組み合わせが含まれているか否かを判断する。含まれている場合は、ステップS707に進み、そうでない場合は、ステップS706に進む。
(ステップS706)統計処理部14は、list[]にステップS704で取得した2以上の検索条件の組み合わせを追加する。
(ステップS707)統計処理部14は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS708に進む。
(ステップS708)統計処理部14は、iを1インクリメントする。そして、ステップS702に戻る。
図8は、図2のフローチャートのステップS204の統計処理情報の取得処理において、少数検索条件組み合わせ頻度情報を取得する場合の動作を示すフローチャートである。なお、図8のフローチャートにおいて、検索履歴管理情報格納部11には、m個の検索履歴管理情報が格納されているものとする。
(ステップS801)統計処理部14は、カウンタiに1をセットする。
(ステップS802)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する検索条件の数である検索条件の数[i]が2以上であるか否かを判断する。2以上である場合は、ステップS803に進み、そうでない場合は、ステップS810に進む。
(ステップS803)統計処理部14は、検索履歴管理情報[i]が有する検索数が検索数条件を満たすか否かを判断する。満たす場合は、ステップS804に進み、そうでない場合は、ステップS810に進む。
(ステップS804)統計処理部14は、検索履歴管理情報[i]に含まれる実行検索式が有する2以上の検索条件を取得する。
(ステップS805)統計処理部14は、少数検索条件組み合わせ頻度情報を格納する配列であるlist[]に、ステップS804で取得した2以上の検索条件の組み合わせが含まれているか否かを判断する。含まれている場合は、ステップS806に進み、そうでない場合は、ステップS808に進む。
(ステップS806)統計処理部14は、ステップS804で取得した2以上の検索条件の組み合わせに対応するlist[]のインデックス番号を取得し、変数indexに当該インデックス番号をセットする。
(ステップS807)統計処理部14は、list[index]に対応付いている変数countを1インクリメントする。当該countは、検索数の少ない2以上の検索条件の組み合わせの数をカウントするための変数である。
(ステップS808)統計処理部14は、list[]にステップS804で取得した2以上の検索条件の組み合わせを追加する。
(ステップS809)統計処理部14は、list[MAX]に対応付いている変数countに1をセットする。当該「MAX」は、list[]の最大インデックス番号を示す変数である。
(ステップS810)統計処理部14は、iがmであるか否かを判断する。mである場合は、上位処理にリターンし、そうでない場合は、ステップS811に進む。
(ステップS811)統計処理部14は、iを1インクリメントする。そして、ステップS802に戻る。
なお、上記で説明した検索式作成装置1の全体動作は、あくまで一例である。つまり、検索式作成装置1の全体動作は、上記の説明に限定されるものではない。
(具体例)
次に、検索式作成装置1の動作の具体例について説明する。なお、本具体例において、検索式作成装置1は、いわゆる飲食店の検索サイト(以下、適宜、グルメサイトとする)において、飲食店の情報を検索するための検索式を作成するものとする。また、検索履歴管理情報格納部11には、図9に示す検索履歴管理情報が格納されているものとする。当該検索履歴管理情報は、レコードを一意に特定するためのIDと、実行検索式(項目名:検索式)と、1以上の選択結果情報(項目名:選択1、選択2、選択3)と、ユーザ識別情報(項目名:ユーザ)とを有する。また、当該1以上の各選択結果情報は、1以上の属性と、当該属性に対応する属性値とを有する。
(例1)
本例において、統計処理情報である検索条件組み合わせ頻度情報を用いて推薦検索式を作成し、出力する例について説明する。
まず、ユーザがPCや携帯端末などを用いて、グルメサイトにアクセスしたとする。そして、ユーザが当該グルメサイトにログインしたとする。当該ログインに際して、ユーザは、ユーザ識別情報「UserA」と、パスワードとを入力したものとする。すると、受付部12は、当該ユーザ識別情報「UserA」と、当該パスワードとを受け付ける。
次に、統計処理部14は、図9の検索履歴管理情報から、ユーザ識別情報「UserA」を有する「ID=011」、「ID=012」、「ID=013」の検索履歴管理情報を取得する。
次に、統計処理部14は、取得した3個の検索履歴管理情報が有する実行検索式を統計処理し、例えば、検索条件組み合わせ頻度情報を取得する。そして、統計処理部14は、当該取得した検索条件組み合わせ頻度情報を、統計処理情報格納部15に蓄積する。当該取得した検索条件組み合わせ頻度情報は、例えば、図10であるものとする。当該検索条件組み合わせ頻度情報は、レコードを一意に特定するためのIDと、2以上の検索条件(項目名:条件組み合わせ)と、頻度とを有する。
また、統計処理部14は、例えば、定期的に、同一のユーザ識別情報が対応付いている1以上の検索履歴管理情報を統計処理し、統計処理情報を取得してもよい。この場合において、ユーザ識別情報「UserA」が対応付いている検索履歴管理情報を統計処理した結果である統計処理情報は、例えば、図10である。
次に、推薦検索式作成部16は、図10の検索条件組み合わせ頻度情報から、頻度が予め決められた閾値以上である検索条件組み合わせ頻度情報を取得する。ここで、当該閾値が「20%」であるとする。すると、推薦検索式作成部16は、図10の「ID=011」、「ID=013」の検索条件組み合わせ頻度情報を取得する。
次に、ユーザがグルメサイトにて、1つの検索条件を選択したとする。このときの様子は、例えば、図11である。すると、受付部12は、図11において選択されている検索条件「ジャンル=居酒屋」を有する入力検索式を受け付ける。
次に、推薦検索式作成部16は、受付部12が受け付けた入力検索式が有する検索条件「ジャンル=居酒屋」を1番目に有する図10の「ID=011」の検索条件組み合わせ頻度情報を、上記で取得した3個の検索条件組み合わせ頻度情報から取得する。
次に、推薦検索式作成部16は、取得した「ID=011」の検索条件組み合わせ頻度情報が有する2個の検索条件を組み合わせ、推薦検索式「(ジャンル=居酒屋)&(予算≦4000円)」を作成する。
次に、出力部17は、推薦検索式「(ジャンル=居酒屋)&(予算≦4000円)」を出力する。このときの様子は、例えば、図12である。図12において、当該推薦検索式が有する2個の検索条件が選択されている。
(例2)
本例において、統計処理情報である属性対応頻度情報を用いて推薦検索式を作成し、出力する例について説明する。
まず、例1と同様に、ユーザがグルメサイトにログインし、その後、統計処理部14が、図9の検索履歴管理情報から、受付部12が受け付けたユーザ識別情報と同一のユーザ識別情報を有する検索履歴管理情報を取得したものとする。
次に、統計処理部14は、取得した検索履歴管理情報が有する1以上の選択結果情報を統計処理し、例えば、属性対応頻度情報を取得する。当該取得した属性対応頻度情報は、例えば、図13であるものとする。当該属性対応頻度情報は、レコードを一意に特定するためのIDと、属性と、当該属性に対応する属性値と、頻度とを有する。
次に、推薦検索式作成部16は、図13の属性対応頻度情報から、頻度が予め決められた閾値以上である属性対応頻度情報を取得する。ここで、当該閾値が「10%」であるとする。すると、推薦検索式作成部16は、図13の「ID=011」、「ID=012」、「ID=014」、「ID=015」の属性対応頻度情報を取得する。
次に、推薦検索式作成部16は、取得した4個の各属性対応頻度情報が有する属性と属性値とを、関係演算子で組み合わせ、検索条件を作成する。このとき、推薦検索式作成部16は、1以上の関係演算子を予め保持しているものとする。また、組み合わせる関係演算子は、例えば、属性ごとに予めキメラ得ているものとする。そして、推薦検索式作成部16は、推薦検索式「(ジャンル=居酒屋)&(予算≦4000円)&(最寄駅=○□駅)&(最寄駅からの時間≦10分)」を作成する。
次に、出力部17は、推薦検索式「(ジャンル=居酒屋)&(予算≦4000円)&(最寄駅=○□駅)&(最寄駅からの時間≦10分)」を出力する。このときの様子は、例えば、図14である。図14において、当該推薦検索式が有する4個の検索条件が選択されている。
(例3)
本例において、少数検索条件組み合わせ頻度情報を用いて推薦検索式を作成する例について説明する。なお、本例において、図9の検索履歴管理情報は、検索数を有するものとする。また、検索数条件は、「検索数≦1」であるものとする。
まず、統計処理部14は、検索数が検索数条件「検索数≦1」を満たす1以上の検索履歴管理情報を、図9の検索履歴管理情報から取得する。
次に、統計処理部14は、取得した1以上の検索履歴管理情報を統計処理し、例えば、少数検索条件組み合わせ頻度情報を取得する。当該取得した少数検索条件組み合わせ頻度情報は、例えば、図15であるものとする。当該少数検索条件組み合わせ頻度情報は、レコードを一意に特定するためのIDと、2以上の検索条件(項目名:条件組み合わせ)と、頻度とを有する。
次に、推薦検索式作成部16は、図15の少数検索条件組み合わせ頻度情報から、頻度が予め決められた閾値以上である少数検索条件組み合わせ頻度情報を取得する。ここで、当該閾値が「20%」であるとする。すると、推薦検索式作成部16は、図15の「ID=011」、「ID=013」の少数検索条件組み合わせ頻度情報を取得する。
ここで、推薦検索式作成部16が、推薦検索式「(ジャンル=焼肉)&(予算≦5000円)&(最寄駅=△□駅)」を作成したとする。当該推薦検索式は、上記で取得した図15の「ID=013」の少数検索条件組み合わせ頻度情報が有する2個の検索条件「(ジャンル=焼肉)」、「(最寄駅=△□駅)」を有する。従って、推薦検索式作成部16は、当該作成した推薦検索式を削除する。なお、当該推薦検索式を削除することは、出力部17が、当該推薦検索式を出力しないことであってもよい。
また、例えば、統計処理部14が少数検索条件組み合わせ情報または少数検索式組み合わせ頻度情報を取得した場合、出力部17は、例えば、当該少数検索条件組み合わせ情報または少数検索式組み合わせ頻度情報に応じて、ユーザが検索条件を選択するために出力している画面の構成を変更してもよい。当該画面の構成を変更することとは、例えば、選択項目(ユーザが選択する検索条件)を削除することや、非表示にすること、グレーアウトすることなどである。
例えば、少数検索式組み合わせ情報が「(ジャンル=焼肉),(予算≦3000円)」であるとする。この場合において、ユーザが、図11の画面において、「ジャンル=焼肉」を選択したとする。この様な場合、出力部17は、図11の画面から、「予算」の欄における「4000円以下」を削除してもよい。また、この様な場合、出力部17は、図11の画面において、「予算」の欄における「4000円以下」を非表示にする。また、この様な場合、出力部17は、図11の画面において、「予算」の欄における「4000円以下」をグレーアウトする。
(例4)
本例において、検索履歴管理情報を蓄積する例について説明する。
まず、出力部17が出力した推薦検索式を入力検索式とし、ユーザがグルメサイト上にある「検索」ボタンをクリックしたとする。すると、受付部12は、検索実行指示を受け付ける。また、当該入力検索式は、「(ジャンル=居酒屋)&(予算≦4000円)&(最寄駅=○□駅)」であるものとする。
次に、検索部19は、入力検索式「(ジャンル=居酒屋)&(予算≦4000円)&(最寄駅=○□駅)」による検索対象情報の検索を行い、1以上の検索結果情報を取得する。検索対象情報は、検索対象情報格納部18に格納されているものとする。そして、出力部17は、当該1以上の検索結果情報を出力する。このときの様子は、例えば、図16である。図16においては、当該1以上の各検索結果情報が有する情報の一部が出力されている。
次に、ユーザが、いわゆる詳細を表示するために、図16において出力されている検索結果情報のうちのいくつかを選択したとする。当該「選択」は、例えば、いわゆる詳細を表示するためのハイパーリンクをクリックすることや、いわゆる詳細を表示するためのボタンをクリックすることなどである。すると、蓄積部20は、選択された検索結果情報を、当該選択のたびに、選択結果情報として取得する。
次に、ユーザが、グルメサイトにおいて、新たな検索条件を選択する(新たな入力検索式を入力する)画面に遷移したとする。すると、蓄積部20は、入力検索式「(ジャンル=居酒屋)&(予算≦4000円)&(最寄駅=○□駅)」を実行検索式とし、取得した1以上の選択結果情報と対応付け、検索履歴管理情報を作成する。当該検索履歴管理情報は、例えば、図17である。当該検索履歴管理情報は、ユーザ識別情報(項目名:ユーザ)と、実行検索式(項目名:検索式)と、3個の選択結果情報(項目名:選択1、選択2、選択3)とを有する。
次に、蓄積部20は、作成した図17の検索履歴管理情報を、検索履歴管理情報格納部11に蓄積する。
(例5)
本例において、統計処理情報を検索結果に反映させる例(推薦検索式により検索を行う例)について説明する。
まず、統計処理部14が、図18の統計処理情報を取得し、統計処理情報格納部15に蓄積したとする。当該統計処理情報は、検索条件組み合わせ頻度情報である。当該検索条件組み合わせ頻度情報は、レコードを一意に特定するためのIDと、2以上の検索条件(項目名:条件組み合わせ)と、頻度とを有する。
次に、ユーザがグルメサイトにて、図11に示す様に、1つの検索条件を選択したとする。すると、受付部12は、当該図11において選択されている検索条件「ジャンル=居酒屋」を有する入力検索式を受け付ける。そして、ユーザが、当該グルメサイト上にある「検索」ボタンをクリックしたとする。すると、受付部12は、検索実行指示を受け付ける。
次に、推薦検索式作成部16は、検索条件「ジャンル=居酒屋」を有する図18の「ID=011」の検索条件組み合わせ頻度情報「(ジャンル=居酒屋),(予算≦3000円)」と、図18の「ID=012」の検索条件組み合わせ頻度情報「(ジャンル=居酒屋),(最寄駅=○□駅)」とを取得する。
次に、推薦検索式作成部16は、取得した2つの検索条件組み合わせ頻度情報のそれぞれを用いて、2つの推薦検索式「(ジャンル=居酒屋)&(予算≦3000円)」、「(ジャンル=居酒屋)&(最寄駅=○□駅)」を作成する。
次に、検索部19は、推薦検索式作成部16が作成した2つの推薦検索式を用いて、検索対象情報の検索を行う。ここで、図18において、推薦検索式作成部16が2つの推薦検索式の作成に用いた検索条件組み合わせ頻度情報が有する頻度は、図18の「ID=012」よりも図18の「ID=011」の方が高い。従って、検索部19は、まず、図18の「ID=011」の索条件組み合わせ頻度情報を用いて作成した推薦検索式「(ジャンル=居酒屋)&(予算≦3000円)」を用いて、検索対象情報の検索を行い、当該推薦検索式に合致する検索結果情報を取得する。そして、検索部19は、次に、図18の「ID=012」の索条件組み合わせ頻度情報を用いて作成した推薦検索式「(ジャンル=居酒屋)&(最寄駅=○□駅)」を用いて、検索対象情報の検索を行い、当該推薦検索式に合致する検索結果情報を取得する。
次に、出力部17は、検索部19が検索結果情報を取得した順に、当該検索結果情報を取得する。つまり、出力部17は、推薦検索式「(ジャンル=居酒屋)&(予算≦3000円)」に合致する検索結果情報に続いて、推薦検索式「(ジャンル=居酒屋)&(最寄駅=○□駅)」に合致する検索結果情報を出力する。
なお、本具体例において説明した統計処理情報以外の統計処理情報を取得する例や、当該統計処理情報を用いて推薦検索式を作成する例については、本具体例における説明と同様であるので、説明を省略する。
以上、本実施の形態による検索式作成装置1によれば、過去にユーザが使用した検索条件や、検索結果の中からユーザが選択した検索結果などに応じて、ユーザが使用し得る検索式を自動的に作成することができる。つまり、本実施の形態による検索式作成装置1によれば、例えば、ユーザがよく使用する検索式を、ユーザが当該検索式を入力する前にユーザに提示することができる。これにより、ユーザは、よく使用する検索式の入力の手間を省くことができる。
また、本実施の形態による検索式作成装置1によれば、少数検索条件組み合わせ情報、または、少数検索条件組み合わせ頻度情報を用いて推薦検索式を作成することにより、検索数が予め決められた閾値以下となる検索式(例えば、検索数が0となる検索式)を作成することを防ぐことができる。これにより、ユーザが、検索数が予め決められた閾値以下となる検索式を入力することを防ぐことができる。
また、本実施の形態による検索式作成装置1によれば、作成した推薦検索式による検索を行うことで、例えば、ユーザが検索式を入力することなく、ユーザが意図する検索結果をユーザに提示することができる。
また、本実施の形態による検索式作成装置1によれば、異なる2以上の各属性に対応する属性値をユーザに提示することができる。
また、本実施の形態による検索式作成装置1によれば、n個の検索条件を有する入力検索式に対して、n+1個以上の検索条件を有する推薦検索式を作成することができる。
なお、本実施の形態において、検索履歴管理情報には、日時を示す日時情報を有していてもよい。当該日時情報を有することは、例えば、検索履歴管理情報に対応付いていることであってもよい。この場合、統計処理部14は、例えば、当該日時情報が示す日時が予め決められた条件を満たす1以上の検索履歴管理情報を統計処理し、統計処理情報を取得してもよい。
また、本実施の形態において、統計処理部14が統計処理を行うタイミング(統計処理情報を取得するタイミング)は、問わない。当該タイミングは、例えば、受付部12がユーザ識別情報を受け付けた直後であってもよいし、受付部12が1以上の検索条件を有する入力検索式を受け付けた直後であってもよい。また、当該タイミングは、蓄積部20が検索履歴管理情報を検索履歴管理情報格納部11に蓄積した直後であってもよいし、定期的であってもよい。また、当該「受付部12が1以上の検索条件を有する入力検索式を受け付けた直後」には、例えば、「受付部12が1以上の検索条件を有する入力検索式を受け付けるたび」も含まれる。
また、本実施の形態において、推薦検索式作成部16が推薦検索式を作成するタイミングは、問わない。当該タイミングは、例えば、受付部12がユーザ識別情報を受け付けた直後であってもよいし、受付部12が1以上の検索条件を有する入力検索式を受け付けた直後であってもよい。
また、本実施の形態において、統計処理部14は、例えば、実行検索式が有する検索条件およびその頻度を取得してもよい。この場合、推薦検索式作成部16は、例えば、頻度が最多である1つの検索条件を有する推薦検索式を作成する。また、この場合、推薦検索式作成部16は、例えば、頻度が予め決められた閾値以上である1以上の検索条件を有する推薦検索式を作成してもよい。
また、上記各実施の形態における検索式作成装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態における検索式作成装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、検索対象の属性と、当該属性に対応する属性値と、当該属性と当該属性値との関係を示す関係演算子とから構成される1または2以上の検索条件を有する検索式である実行検索式と、当該実行検索式により検索された情報の中からユーザが選択した情報であり、1以上の属性と当該1以上の各属性に対応する属性値とを有する情報である選択結果情報とが対応付いた情報である1以上の検索履歴管理情報を統計処理した結果を示す情報である1以上の統計処理情報が格納される統計処理情報格納部にアクセス可能なコンピュータを、前記統計処理情報を用いて、予め決められた条件を満たす検索式である推薦検索式を作成する推薦検索式作成部と、前記推薦検索式作成部が作成した推薦検索式を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図19は、前述のプログラムを実行して、前述の実施の形態の検索式作成装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
図19において、コンピュータシステム9は、CD−ROMドライブ9011を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図20は、コンピュータシステム9のブロック図である。図20において、コンピュータ901は、CD−ROMドライブ9011に加えて、MPU9013と、ブートアッププログラム等のプログラムを記憶するためのROM9014と、MPU9013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM9015と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク9015と、CD−ROMドライブ9011、MPU9012等を相互に接続するバス9016とを備える。ここでは図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを備えていてもよい。
コンピュータシステム9に、前述の実施の形態の検索式作成装置等の機能を実行させるプログラムは、CD−ROM9101に記憶されて、CD−ROMドライブ9011に挿入され、さらにハードディスク9015に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9015に記憶されてもよい。プログラムは実行の際にRAM9014にロードされる。プログラムは、CD−ROM9101またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、前述の実施の形態の検索式作成装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。