以下、この発明による最適情報提供方法の実施形態を、図を参照しながら説明する。図1は、この発明による最適情報提供方法の実施形態が適用された最適情報提供システムの全体構成例の概要を示すブロック図である。
なお、以下に説明する実施形態において、最適情報提供サーバがクライアント装置に対して推薦する検索結果としての場所(地域)は、個別の店舗やスポットではなく、地図上における、いわゆる大字レベル以上の地域を意味するものとする。もっとも、この検索対象としての場所は、大字レベル以上の地域に限られるものではなく、検索目的などに応じて適宜変わるものであるということはいうまでも無い。
この図1に示すように、この最適情報提供システムは、通信ネットワーク10に接続された最適情報提供サーバ1を含む。通信ネットワーク10は、インターネット、携帯電話網、光ケーブル網、公衆電話網などを含むものである。
この通信ネットワーク10には、多数個のWebサーバ2,2,・・・が接続されている。このWebサーバ2は、場所(地域)の特性、例えば利便性、社会インフラ、自然環境、人口構成、都市計画などを紹介するWebページを含むWebサイトを管理するサーバである。このWebサーバ2の中には、Webページを検索する検索エンジンを備えるものもある。この実施形態の最適情報提供サーバ1は、検索エンジンを備えるWebサーバの一つでもある。
ノートパソコン3、デスクトップパソコン4、携帯電話端末5は、この発明におけるクライアント装置の実施形態である。ノートパソコン3およびデスクトップパソコン4は、光ケーブル網などを介して通信ネットワーク10に接続されている。携帯電話端末5は、基地局6を通じて通信ネットワーク10に接続されている。
これらノートパソコン3、デスクトップパソコン4、携帯電話端末5は、それぞれ、インターネットを通じて最適情報提供サーバ1を含むWebサーバにアクセスすることができる機能を備えていると共に、ブラウザ機能を備え、Webページを閲覧することができる。
また、この実施形態では、携帯電話端末5はGPS(Global Positioning System)機能を備え、人工衛星からの電波を用いた自端末位置の測位が可能である。
最適情報提供サーバ1は、この発明による最適情報提供サーバの実施形態であり、クライアント装置の実施形態であるノートパソコン3、デスクトップパソコン4または携帯電話端末5からのアクセスを受け付け、ユーザにより指定された検索目的に応じた場所の情報を提供する。
図2に、この実施形態の最適情報提供サーバ1の構成例のブロック図を示す。最適情報提供サーバ1は、パソコンにより構成されており、システムバス100に対してCPU(Central Processing Unit)101と、プログラム等を格納するROM(Read Only Memory)102と、ワークエリアとして働くRAM(Random Access Memory)103とが接続されている。
また、この例では、システムバス100には、さらに、カレンダー回路104、会員プロファイルデータベース105、地図データベース106、検索対象データベース107、通信インターフェース108、個人属性−地域属性対応テーブルメモリ109、検索部110、検索結果加工提供部111、位置検出部112、行動パターン解析部113、クローリング実行部114、関連ネットデータ解析部115、検索履歴解析部116、が接続されている。
CPU101は、この最適情報提供サーバ1の全体の動作を制御するものである。ROM102には、この最適情報提供サーバ1におけるクライアント装置との接続シーケンス処理、場所検索のために必要な後述する各種制御処理を実行するためのプログラムが記憶されている。CPU101は、RAM103をワークエリア用のメモリとして用いて、このROM102のプログラムにしたがった制御処理を実行する。
カレンダー回路104は、カレンダー付き時計回路を構成するもので、年、月、日、自、分、秒のデータをシステムバス100に出力する。
会員プロファイルデータベース105は、後述するように、クライアント装置から送られてくる各会員ユーザの各種個人属性情報からなる個人プロファイルデータ(会員プロファイルデータを記憶保持する。なお、この例においては、クライアント装置のユーザは、最適情報提供サーバ1にアクセスし、会員プロファイルデータを、当該最適情報提供サーバ1に送って登録した時点で、自動的に会員になるものとされている。
図3に、会員プロファイルデータベース105に記憶内容の一例を示す。すなわち、会員プロファイルデータベース105には、各会員ユーザに付与された会員ID(会員識別子情報)と対応付けられて、会員毎の会員プロファイルフォルダDPが格納される。
各会員プロファイルフォルダDPは、この例では、会員IDと対応付けられて、エントリーデータファイルETと、個人属性評価点テーブルファイルTBと、嗜好評価個人属性ファイルFAと、行動パターン評価個人属性ファイルMAとを含む。
会員IDは、ユーザがこの最適情報提供サーバ1にアクセスして、会員ユーザとなったときに付与され、会員ユーザにも通知される。会員ユーザは、最適情報提供サーバ1に対して検索要求をする際には、この会員IDと、予め定められたパスワードを最適情報提供サーバ1に通知する必要がある。
エントリーデータファイルETは、ユーザが会員ユーザになる際に、最適情報提供サーバ1に対して通知した個人のデータからなるファイルである。この例では、最適情報提供サーバ11は、後述するように、アクセスしてきたユーザにエントリーページを送り、ユーザに、当該エントリーページに記載されているエントリー項目についての入力をしてもらい、それを最適情報提供サーバ1に対して送信してもらう。最適情報提供サーバ1は、受信したエントリー項目のデータをエントリーデータファイルETとして保存する。
図4に、エントリーページにおいてユーザに入力してもらうエントリー項目群の一部の一例を示す。すなわち、図4に示すように、エントリー項目は、氏名、年齢、性別、住所、職業(勤務地なども含む)、年収、趣味、家族構成、生活習慣、所属グループ、登録パートナー名、携帯電話番号、メールアドレスなどとされる。家族構成は、独身や伴侶有りなどの区別のみではなく、子供の人数、同居者などの情報も詳細に入力されるとさらに良い。また、趣味も、予め項目の一覧を用意して、その中から選んでもらう方法などにより、詳細に入力してもらう方が良い。生活習慣についても同様である。
所属グループは、趣味のグループや同好会などである。また、登録パートナー名は、検索の際に、ユーザ本人のみではなく、行動を共にするパートナーの個人属性にも依拠した検索を可能とするために登録されるパートナー名である。当該登録されたパートナーも会員ユーザとして、この最適情報提供サーバ1に登録されていれば、最適情報提供サーバ1は、そのパートナーの個人情報を参照することができる。
なお、後述するように、各会員ユーザにおいてエントリー項目についての変更が生じた場合、その変更を各会員ユーザがクライアント装置を通じて最適情報提供サーバ1に随時通知をすることが可能とされている。これにより、例えば会員ユーザが独身から結婚して伴侶を持ち、また、子供が誕生したなどの各会員ユーザの変化を常に会員プロファイルデータに反映させることができる。さらに、ユーザによる更新が一定期間の間、行われなかったら、ユーザに問い合わせをすることで、会員ユーザの情報を常に最新の状態にすることもできる。
また、エントリーデータについては、登録時点をカレンダー回路104からのカレンダーデータを用いて記録しておくと、年齢などの経時的な項目は、最適情報提供サーバ1側で自動的に更新することができる。
なお、図4の例は、エントリー項目群の一例であり、これに限られるものではなく、エントリー項目群は、検索目的に応じて関連すると考えられるエントリー項目をできるだけ含めるようにすると良い。
個人属性評価点テーブルファイルTBは、最適情報提供サーバ1において、エントリーデータが取得されたとき、また、エントリーデータが変更されたときに、CPU101の制御にしたがって作成される。
この実施形態では、最適情報提供サーバ1は、検索項目に関連して、個人の行動目的別に個人属性を体系化して、各個人属性にインデックスを付与したものを用意している。このインデックスを付与して用意している個人属性情報のうち、エントリーデータにより評価することができる個人属性について、エントリーデータETにより評価点が付与されたデータが、個人属性評価点テーブルTBである。
図5に、この個人属性評価点テーブルTBの一例の一部を示す。すなわち、図5の例に示すように、個人属性としては、独身、伴侶あり、子供一人、自営業者、サラリーマン、ゴルフ好き、などが挙げられる。そして、その個人属性のそれぞれに対してはユニークなインデックスが付与されている。図5の例では、個人属性は100個以下であると想定して、インデックスには、参照記号PInm(nおよびmは、0,1,2,・・・,9のいずれか)を付した。
そして、最適情報提供サーバ1は、エントリーデータを取得すると、そのエントリーデータを用いて、当該会員ユーザの個人属性のそれぞれに対して評価点を付与する。例えば、エントリー項目の家族構成が単身者であるときには、その会員ユーザの個人属性「独身」の評価点が「1」となり、個人属性「伴侶有り」、「子供一人」などの評価点は「0」となる。
個人属性評価点テーブルとして保持するデータとしては、個人属性の具体的な名称は不要である。そこで、個人属性評価点テーブルファイルTBには、個人属性のインデックスPInmと評価点との対応テーブルのデータが格納されている。
嗜好評価個人属性ファイルFAは、最適情報提供サーバ1がインターネットを通じた情報に基づいて判定した各会員ユーザの個人属性(これを以下、嗜好評価個人属性という)をその評価点と共に格納保持する。例えば、会員ユーザがホームページやブログサイトなどを所有する場合に、最適情報提供サーバ1は、それらのホームページやブログサイトをクローリングして、会員ユーザの嗜好に関する情報を取得することができる。そこで、最適情報提供サーバ1は、その取得した情報に基づいて、嗜好評価個人属性を判定し、その判定結果の嗜好評価個人属性のインデックスPInmとその評価点を、嗜好評価個人属性ファイルFAに記録するようにする。
また、最適情報提供サーバ1は、会員ユーザの検索履歴を保存しているので、その検索履歴から会員ユーザが嗜好する個人属性を判定し、その判定結果の個人属性を、嗜好評価個人属性として、この嗜好評価個人属性ファイルFAに記録するようにする。
行動パターン評価個人属性ファイルMAは、会員ユーザの行動パターンから判定された個人属性のインデックスPInmとその評価点とを記録したファイルである。最適情報提供サーバ1は、例えば携帯プローブの技術を用いて、会員ユーザの一定時間毎の居場所を検知し、検知した経時的な居場所の情報を解析することで、会員ユーザの行動パターンを検知することができる。そして、最適情報提供サーバ1は、検知した行動パターンから当該会員ユーザに固有の個人属性が判定できる場合、その判定結果の個人属性のインデックスPInmとその評価点を、行動パターン評価個人属性ファイルMAに記録するようにする。
地図データベース106には、日本全国の地図情報が格納保持されている。
検索対象データベース107には、目的別に予め設定されている地域属性についてクローリングされて評価されたり、所定の条件で設定された各場所の評価点情報が格納保持されている。図6に、「自宅」、「修学」、「勤務先」、「旅行」、「飲食」、「レジャー」、「ショッピング」、「墓所」などの目的別に体系化した地域属性の一例の一部と、それぞれの地域属性のインデックスの一例とを示す。
図6の例は一例であり、前記目的は、さらに他の目的を追加しても良いし、地域属性も、当該目的別に地域を表わす属性であれば、どの様なものであっても良い。
ここで、検索対象データベース107に記憶保持されている各場所の評価点情報としては、それぞれの場所を特定する情報、例えば場所名、に対応付けて、各場所が備える地域属性のインデックスとその評価点とが記憶される。
通信インターフェース108は、通信ネットワーク10と接続して、通信ネットワーク10に接続されているWebサーバ2や、ノートパソコン3、デスクトップパソコン4、携帯電話端末5などのクライアント装置と通信を行うためのインターフェースである。
個人属性−地域属性対応テーブルメモリ109は、会員プロファイルデータベース105に記憶されている各会員プロファイルデータに応じて、検索項目毎に、どの様な地域属性を検索子として場所を検索するかを定めるための個人属性−地域属性対応テーブル情報を記憶保持している。ここで、検索項目とは、会員ユーザが、最適情報提供サーバ1において、検索を要求できる項目のことを示している。この例では、検索項目は、検索項目メニューとして一覧表示されて会員ユーザに提供される。会員ユーザは、この検索項目メニューから選択した検索項目について検索要求することができる。
なお、検索要求に際して、会員ユーザに任意の検索キーワードを入力させるようにし、最適情報提供サーバ1が、入力されたキーワードから、会員ユーザが希望する検索項目が、予め用意している検索項目のいずれであるかを判定するようにしても勿論良い。
図7に、個人属性−地域属性対応テーブル情報の一例を示す。図7において、個人属性の評価後のインデックスパターンは、会員プロファイルフォルダDPに記憶されている個人属性のインデックスを、その評価点で評価したパターンである。すなわち、
個人属性の評価後のインデックスパターン
=[k1・PI01、k2・PI02、k3・PI03・・・・]
である。ここで、k1、k2、k3、・・・は、インデックスPI01、PI02、PI03、・・・のそれぞれの評価点である。
したがって、図7のパターンPT1,PT2,PT3,・・・のそれぞれは、(k1、k2、k3・・・)=(1,0,0・・・)というように、評価点k1、k2、k3、・・・の集合パターンとなる。評価点k1、k2、k3、・・・は、前述したように、検索履歴や行動パターン、関連ネットデータに基づいた個人属性判定の結果に応じて1以上になる場合もある。パターンPT1,PT2,PT3,・・・は、評価点k1、k2、k3、・・・が、それぞれ、1以上である場合のパターンも含むものである。
ここで、評価点k1、k2、k3、・・・は、会員プロファイルフォルダDPに記憶されている個人属性評価点テーブルの各インデックスについての評価点のみならず、嗜好評価個人属性ファイルのインデックスおよび行動パターン評価個人属性ファイルのインデックスについての評価点も用いられる。なお、会員プロファイルフォルダDPに無いインデックスの評価点は、すべて「0」の評価点とされる。
したがって、評価後のパターンPT1,PT2,・・・のそれぞれは、会員ユーザのエントリーデータの個人属性、嗜好評価個人属性および行動パターン評価個人属性に応じたパターンとなる。
そして、図7における検索用地域属性は、それぞれの検索項目において、個人属性の評価後のインデックスパターンがパターンPT1,PT2,・・・のそれぞれのときに検索子とすべき1または複数個の地域属性のインデックスからなるインデックスの集合を示すもので、この例では地域属性インデックス群と称する。
図7の例では、検索項目(1)におけるパターンPT1,PT2,・・・のそれぞれに対する検索用地域属性は地域属性インデックス群IN11,IN12,・・・であり、検索項目(2)におけるパターンPT1,PT2,PT3,・・・のそれぞれに対する検索用地域属性は地域属性インデックス群IN21,IN22,・・・、である。
地域属性インデックス群のそれぞれは、個人属性の評価後のインデックスパターンが、パターンPT1,PT2,PT3,・・・のそれぞれであるのときに、その個人属性パターンに応じた適切な場所を検索することを可能にする地域属性の集合である。そして、地域属性インデックス群のそれぞれは、最適情報提供サーバ1の運営者により予め選定されて、個人属性−地域属性対応テーブルメモリ109に格納されている。
例えば会員ユーザが、独身の若いサラリーマンである場合に、検索項目として「自宅」を探す場合には、高収入を得られる大都市圏で、駅に近い場所などが検索結果として得られるように地域属性インデックス群は選定される。
また、会員ユーザが、伴侶と子供を有していて、検索項目として「自宅」を探す場合には、コードを育てる社会インフラが整備されていて、子供の安全のため歩道があって車道と区別されている地域、などが検索結果として得られるように地域属性インデックス群は選定される。また、会員ユーザの趣味が「海釣り」であれば、海から遠い地域例えば長野県は不適であり、また、「スキー」が趣味であれば、沖縄に住む必然性は無いので、推薦地域としては不適である。以上のような観点から、個人属性−地域属性対応テーブルは、選定されている。
検索部110は、検索要求してきた会員の会員プロファイルフォルダDPから取得した評価点のデータと、検索要求された検索項目とを用いて個人属性−地域属性対応テーブル109を参照することにより、検索要求された検索項目に適合する場所を検索するための検索子としての地域属性インデックス群を定める。そして、検索部110は、定めた地域属性インデックス群を検索子として検索対象データベース107を検索して、条件に適合する場所を探し出し、その検索結果を検索結果加工提供部111に渡す。
例えば検索項目(1)の検索要求があったときに、その検索要求をした会員ユーザの個人属性の評価後のインデックスパターンがパターンPT1であれば、検索部110は、地域属性インデックス群IN11を検索子として用いて場所の検索を実行するようにする。
なお、検索結果として検索エンジンを備えると共にマッシュアップ可能なWebサイトが得られたときには、検索結果として当該Webサイトを会員ユーザに提示して、検索結果は検索結果加工提供部111には送らないようにすることもできる。
検索結果加工提供部111は、検索部110からの検索結果を受けて、その検索結果を会員ユーザに提供する形式のデータに加工する。ここで、検索結果とされる推薦される場所は、1箇所のみでも良いが、この例では、複数個所とされる。そして、この例では、検索結果の複数の場所は、検索子(検索条件)に適合する度合いが大きい順に、ユーザに提供される。検索結果加工提供部111は、また、必要に応じて地図データベース106から地図データを取得して付加するなどの加工を施す。この検索結果加工提供部111で必要に応じて加工された検索結果は、CPU101の制御に従い、通信インターフェース108を通じて、クライアント装置に送られる。
位置検出部112は、この例では、会員ユーザが携帯電話番号を登録している場合には、携帯プローブの技術を用いて、当該会員ユーザ(携帯電話端末)の位置を一定時間毎に検出する。位置検出部112は、一定時間毎の経時的な検出位置情報を行動パターン解析部113に渡す。
位置検出部112は、また、検索要求をしてきたクライアント装置が携帯電話端末5であるときには、その基地局データから現在位置を検出する。携帯電話端末5がGPS機能を備えている場合には、当該携帯電話端末5から現在位置の情報を送信してもらい、位置検出部112は、それを現在位置の情報として取得するようにしても良い。この検出された現在位置の情報は、検索項目に応じて検索子として加えられる。
行動パターン解析部113は、位置検出部112からの会員ユーザ毎の経時的な検出位置情報から、当該会員の行動パターンを解析する。そして、行動パターン解析部113は、その行動パターンの解析結果から導かれる当該会員の個人属性を判定する。そして、行動パターン解析部113は、判定された個人属性が会員プロファイルデータベース105の当該会員のプロファイルデータとして記憶されている場合には、その記憶されている個人属性のインデックスに対応する評価点を高くして重み付けする。
また、行動パターン解析部113は、判定された個人属性が会員プロファイルデータベース105の当該会員のプロファイルデータとして記憶されていない場合には、当該判定された個人属性のインデックスを、行動パターン評価個人属性ファイルMAに追加して記憶する。
例えば、ある会員ユーザは、会社帰りに頻繁にゴルフの練習場に通うことが行動パターンの解析結果として検出されたとき、行動パターン解析部113は、当該会員ユーザは、ゴルフ好きと判定する。そして、この判定結果を受けて、CPU101は、当該会員の会員プロファイルフォルダDPの個人評価点テーブルデータの「趣味ゴルフ」のインデックスの評価点を「1」から「2」に変更する。
また、ある会員ユーザは、毎月、温泉旅行に行っていることが行動パターンの解析結果として検出されたとき、行動パターン解析部113は、当該会員ユーザは、温泉好きと判定する。そして、この判定結果を受けて、CPU101は、この個人属性がエントリーデータの趣味の個人属性として登録されていないことを確認したら、行動パターン評価個人属性ファイルに、個人属性「温泉好き」のインデックスを追加し、そのインデックスの評価点を、重みを考慮して例えば「2」とする。
クローリング実行部114は、インターネットを通じてWebサーバ2にアクセスして、WebサイトおよびWebページの記事を取得して検索対象の場所の地域属性を探査する機能部である。このクローリング実行部114の探査結果から、CPU101は、検索対象の各場所が図6に示した地域属性のいずれを備えるかを判定する。そして、CPU101は、その判定結果として、各場所名と、その場所が備える地域属性のインデックスとの対応情報を、検索対象データベース107に格納しておく。クローリング実行部114は、適宜、実行され、検索対象データベース107の格納内容は、常に最新のデータに更新される。
関連ネットデータ解析部115は、クローリング実行部114で探査されたWebサイトおよびWebページの記事などのうち、会員ユーザに関連する記事などを抽出してデータ解析し、その解析結果から会員ユーザの嗜好を判定する。そして、関連ネットデータ解析部115は、判定した会員ユーザの嗜好に対応する個人属性を判定し、その判定結果を、対応する会員プロファイルフォルダDPに格納されているデータに反映させる。
すなわち、関連ネットデータ解析部115は、判定された個人属性が会員プロファイルデータベース105の当該会員のプロファイルデータとして記憶されている場合には、その記憶されている個人属性のインデックスに対応する評価点を高くして重み付けする。
また、関連ネットデータ解析部115は、判定された個人属性が会員プロファイルデータベース105の当該会員のプロファイルデータとして記憶されていない場合には、当該判定された個人属性のインデックスを、嗜好評価個人属性ファイルFAに追加して記憶する。
例えば会員ユーザがブログサイトを所持しており、そのブログに「ラーメン」に関する記事を頻繁に書き込んでいて、特に「味噌ラーメンが好き」と記載されている場合、当該会員ユーザについての嗜好評価個人属性ファイルFAの情報として、例えば「ラーメン好き(味噌)」という個人属性のインデックスと、評価点「1」を記録するようにする。
なお、関連ネットデータ解析部115は、特定の個人属性を備える集団の訪問頻度が高い場所(地域)を検出したときには、その場所(地域)に、特定の地域属性を付与するようにすることもできる。例えば、ラーメンサイトを個人で所有したり、ラーメンブログを良く書いている人達が頻繁に訪れる場所を検出したときには、例えば「ラーメンのメッカ」などという地域属性を付与する。
検索履歴解析部116は、会員ユーザが当該最適情報提供サーバ1において実行した過去の検索履歴を解析し、その解析結果から、会員ユーザの嗜好を判定する。そして、関連ネットデータ解析部115は、判定した会員ユーザの嗜好に対応する個人属性を判定し、その判定結果を、対応する会員プロファイルフォルダDPに格納されているデータに反映させる。
すなわち、この実施形態の最適情報提供サーバ1は、会員ユーザ毎の検索履歴を記憶媒体(図示は省略)に保持している。検索履歴解析部116は、その記憶媒体に保持されている各会員ユーザの検索履歴を、例えば定期的に解析することで、上述の会員ユーザの嗜好の判定および個人属性の判定をする。
そして、検索履歴解析部116は、判定された個人属性が会員プロファイルデータベース105の当該会員のプロファイルデータとして記憶されている場合には、その記憶されている個人属性のインデックスに対応する評価点を高くして重み付けする。
また、検索履歴解析部116は、判定された個人属性が会員プロファイルデータベース105の当該会員のプロファイルデータとして記憶されていない場合には、当該判定された個人属性のインデックスを、嗜好評価個人属性ファイルFAに追加して記憶する。
例えば、会員ユーザは、当該最適情報提供サーバ1における旅行についての検索において、頻繁に温泉地を選択している場合には、その会員ユーザの嗜好評価個人属性として、例えば「温泉好き」という個人属性のインデックスと、評価点「1」を、嗜好評価個人属性ファイルFAに記録するようにする。
なお、図2の検索部110、検索結果加工提供部111、位置検出部112、行動パターン解析部113、クローリング実行部114、関連ネット解析部115、検索履歴解析部116のそれぞれは、CPU101が、ROM102のプログラムにしたがって、RAM103をワークエリアとして用いて実行するソフトウエア機能部の構成とすることができる。
また、個人属性−地域属性対応テーブルメモリ109を設ける代わりに、個人属性の評価インデックスパターンから、そのパターンの評価点kの値をパラメータとして、検索の際に使用する地域属性を関数により求めるようにしても良い。
[動作説明]
次に、クライアント装置が最適情報提供サーバ1にアクセスしたときの、クライアント装置および最適情報提供サーバ1の処理動作の流れを説明する。
図8〜図10は、クライアント装置の処理動作の流れの一例を示すフローチャートである。また、図11〜図13は、最適情報提供サーバ1の対応する処理動作の流れの一例を示すフローチャートである。これらのフローチャートを参照しながら、クライアント装置および最適情報提供サーバ1の処理動作を説明する。なお、図8〜図10の各ステップの処理は、クライアント装置としてのパソコン3,4や携帯電話端末5が備えるCPU(CPU200とする)がソフトウエア処理機能手段として実行するものである。
また、図11〜図13の各ステップの処理は、最適情報提供サーバ1のCPU101がソフトウエア処理機能部として実行するものとして説明する。つまり、検索部110、検索結果加工提供部111が、CPU101によるソフトウエア機能部として構成される場合として説明する。
先ず、クライアント装置のCPU200は、ユーザにより最適情報提供サーバへのアクセスが選択されたか否か判別する(図8のステップS1)。このステップS1で当該アクセスが選択されていないと判別したときには、CPU200は、その他の処理を実行する(ステップS2)。ステップS1で、ユーザにより最適情報提供サーバへのアクセスが選択されたと判別したときには、CPU200は、最適情報提供サーバ1へのアクセスを実行する(ステップS3)。
一方、最適情報提供サーバ1のCPU101は、クライアント装置からのアクセスを監視しており(図11のステップS101)、アクセスが無いときには、その他の処理を実行している(ステップS102)。そして、クライアント装置からのアクセスを受信すると、CPU101は、アクセスしてきたクライアント装置にトップページを送る(ステップS103)。
そこで、クライアント装置のCPU200は、この最適情報提供サーバ1からのトップページを受信して、ブラウザ機能によりディスプレイに表示する(ステップS4)。そして、CPU200は、このトップページにおいて、会員登録要求をユーザが選択したか否か判別する(ステップS5)。このステップS5で、ユーザが会員登録要求を選択してはいないと判別したときには、CPU200は、トップページにおいて、ユーザにより検索ページへの移動要求が選択されたか否か判別する(ステップS10)。
このステップS10で、検索ページへの移動要求は選択されていないと判別したときには、CPU200は、最適情報提供サーバへのアクセスが切断されたか否か判別し(ステップS11)、アクセスが切断されたと判別したときには、この処理ルーチンを終了する。ステップS11で、アクセスが切断されていないと判別したときには、CPU200は、ステップS5に戻る。そして、ステップS5で、会員登録要求をユーザが選択したと判別したときには、CPU200は、最適情報提供サーバ1に会員登録要求を送信する(ステップS6)。
最適情報提供サーバ1のCPU101は、トップページをクライアント装置に送った後には、クライアント装置から会員登録要求が送られてきたか否か判別する(ステップS104)。そして、このステップS104で、会員登録要求が送られてきてはいないと判別したときには、CPU101は、クライアント装置から検索ページへの移動要求が送られてきたか否か判別する(ステップS110)。
このステップS110で、クライアント装置から検索ページへの移動要求が送られてきてはいないと判別したときには、CPU101は、クライアント装置からのアクセスが切断されたか否か判別し(ステップS111)、アクセスが切断されたと判別したときには、この処理ルーチンを終了する。ステップS111で、アクセスが切断されていないと判別したときには、CPU101は、ステップS104に戻る。そして、ステップS104で、会員登録要求が送られてきたと判別したときには、CPU101は、個人属性のエントリーページをクライアント装置に送る(ステップS105)。
クライアント装置のCPU200は、このエントリーページを受信し(ステップS7)、そのエントリーページの各項目についてのユーザの入力を確認した後、エントリーデータを最適情報提供サーバ1に送る(ステップS8)。なお、エントリーページには、会員IDが記載されていると共に、パスワードを入力し、会員IDと共に記憶しておくようにする依頼するメッセージが記載されており、パスワードが入力されていないときには、エントリーデータを送信できないようになっている。
最適情報提供サーバ1のCPU101は、このクライアント装置からのエントリーデータを受信し(ステップS106)、会員IDに対応付けた会員プロファイルフォルダDPを作成し、受信したエントリーデータを、エントリーデータファイルETに保存する(ステップS107)。次いで、CPU101は、受信したエントリーデータから個人属性評価点テーブルを作成し、会員プロファイルフォルダDPの個人属性評価点テーブルファイルTBに保存する(ステップS108)。そして、CPU101は、会員登録完了をクライアント装置に送信する(ステップS109)。そして、CPU101は、クライアント装置から検索ページの移動要求が送られてきているか否かを判別するステップS110に移行する。
そして、クライアント装置のCPU200は、ステップS8の次には、最適情報提供サーバ1からの会員登録完了通知を受信してユーザに報知する(ステップS9)。そして、CPU200は、検索ページへの移動要求を受け付けたか否かを判別するステップS10に移行する。CPU200は、このステップS10で、ユーザによる検索ページへの移動要求を受け付けたと判別したときには、最適情報提供サーバ1に、検索ページへの移動要求を送信する(ステップS12)。
最適情報提供サーバ1のCPU101は、ステップS110で、このクライアント装置からの検索ページへの移動要求の受信を判別すると、会員IDとパスワードの入力ページをクライアント装置に送信する(図12のステップS121)。
クライアント装置のCPU200は、この会員IDとパスワードの入力ページを受信してユーザに提示する(図9のステップS21)。そして、CPU200は、ユーザによる会員IDとパスワードの入力後の送信要求を確認すると(ステップS22)、入力された会員IDとパスワードを最適情報提供サーバ1に送信する(ステップS23)。
最適情報提供サーバ1のCPU101は、クライアント装置からの会員IDとパスワードを受信したか否か判別し(ステップS122)、受信したと判別したときには、それらが登録されたものに等しいか否かにより認証を行い、その認証の結果がOKであるか否か判別する(ステップS123)。このステップS123での認証の結果、OKではないと判別したときには、CPU101は、ステップS121に戻り、認証NGの通知と共に会員IDとパスワードの入力ページを再度クライアント装置に送り、再送を促す。また、ステップS123で、認証OKであると判別したときには、CPU101は、認証OKの通知と共に検索ページをクライアント装置に送る(ステップS125)。
また、ステップS122で、会員IDとパスワードを受信しないと判別したときには、CPU101は、アクセスが切断されたか否か判別し(ステップS124)、アクセスが切断されたと判別したときには、この処理ルーチンを終了する。また、ステップS124で、アクセスが切断されてはいないと判別したときには、CPU101は、ステップS122に戻り、クライアント装置からの会員IDとパスワードの受信を待つ。
クライアント装置のCPU200は、最適情報提供サーバ1からの認証結果を監視して認証OKを受信したか否かを判別し(ステップS24)、認証NGを受信したと判別したときには、ステップS121に戻って、会員IDとパスワードの入力ページを受信してユーザに提示する。
そして、ステップS22で、ユーザからの会員IDとパスワードの送信要求が無いと判別したときには、CPU200は、アクセスが切断されたか否か判別する(ステップS25)。そして、CPU200は、このステップS22で、アクセスが切断されたと判別したときには、この処理ルーチンを終了し、アクセスが切断されてはいないと判別したときには、ステップS22に戻って、ユーザからの会員IDとパスワードの送信要求を待つ。
そして、ステップS24で認証OKを受信したと判別したときには、CPU200は、最適情報提供サーバ1から送られてくる検索ページを受信してユーザに提示する(ステップS26)。次に、CPU200は、この検索ページにおいて、ユーザがエントリーデータの変更要求を選択しているか否か判別し(ステップS27)、変更要求を選択していないと判別したときには、ユーザが検索要求を選択しているか否か判別する(図10のステップS31)。
そして、ステップS27で、ユーザがエントリーデータの変更要求を選択していると判別したときには、CPU200は、エントリーデータの変更要求を最適情報提供サーバ1に送る(ステップS28)。また、ステップS31で、ユーザが検索要求を選択していると判別したときには、CPU200は、最適情報提供サーバ1に、ユーザにより指定された検索項目を含む検索要求を送る(ステップS32)。なお、検索ページには、検索項目と共に、パートナーの氏名を入力する欄が設けられており、入力されたパートナーの個人属性情報をも加味した検索要求ができるようにされている。
ステップS31で、ユーザが検索要求を選択してはいないと判別したときには、CPU200は、アクセスが切断されたか否か判別する(ステップS33)。そして、CPU200は、このステップS33で、アクセスが切断されたと判別したときには、この処理ルーチンを終了し、アクセスが切断されてはいないと判別したときには、ステップS27に戻り、このステップS27以降の処理を繰り返す。
最適情報提供サーバ1のCPU101は、ステップS125で検索ページをクライアント装置に送信した後には、エントリーデータの変更要求を受信したか否か判別する(ステップS126)。このステップS126で、エントリーデータの変更要求を受信してはいないと判別したときには、CPU200は、クライアント装置から検索要求を受信したか否か判別する(図13のステップS141)。そして、このステップS141で、クライアント装置からの検索要求を受信していないと判別したときには、CPU101は、アクセスが切断されたか否か判別し(ステップS142)、アクセスが切断されたと判別したときには、この処理ルーチンを終了する。また、ステップS142で、アクセスが切断されてはいないと判別したときには、CPU101は、ステップS126に戻り、このステップS126以降の処理を繰り返す。
そして、ステップS126で、エントリーデータの変更要求を受信したと判別したときには、CPU101は、個人属性のエントリーページをクライアント装置に送る(ステップS128)。
クライアント装置のCPU200は、このエントリーページを受信し、そのエントリーページの各項目のうち、必要な項目の変更を行い、その変更後のエントリーデータを最適情報提供サーバ1に送る(ステップS29)。
最適情報提供サーバ1のCPU101は、このクライアント装置からのエントリーデータを受信し(ステップS128)、対応する会員IDの会員プロファイルフォルダDPのエントリーデータファイルETのエントリーデータを新たに受信したものに更新する(ステップS129)。次いで、CPU101は、更新したエントリーデータから個人属性評価点テーブルを再作成して更新し、会員プロファイルフォルダDPの個人属性評価点テーブルファイルTBに保存する(ステップS130)。そして、CPU101は、ステップS126に戻る。
最適情報提供サーバ1のCPU101は、また、ステップS141で検索要求を受信したと判別したときには、検索要求に含まれる検索項目を検知する(ステップS143)。次に、CPU101は、検索要求してきた会員ユーザの会員プロファイルフォルダDPの個人属性を評価したインデックスパターンを生成する(ステップS144)。そして、CPU101は、ステップS143で検知した検索項目と、ステップS144で生成した会員ユーザの個人属性の評価後のインデックスパターンとを引数として、個人属性−地域属性対応テーブルメモリ109(図7参照)を参照し、対応する検索用の地域属性としての地域属性インデックス群を取得する(ステップS145)。
次に、CPU101は、検索要求に、入力されたパートナーの氏名の情報が含まれているか否か判別する(ステップS146)。このステップS146で、パートナーの氏名が入力されていると判別したときには、CPU101は、会員プロファイルデータベースを参照して、当該パートナーの会員プロファイルフォルダDPを検知する。そして、検知したパートナーの会員プロファイルフォルダDPに記憶されている個人属性の評価後インデックスパターンを生成する。そして、生成した評価後インデックスパターンと、検索項目とを引数として個人属性−地域属性対応テーブルメモリ109を参照し、対応する検索用の地域属性としての地域属性インデックス群を取得する(ステップS147)。
そして、CPU101は、会員ユーザ本人について取得した地域属性インデックス群とパートナーについて取得した地域属性インデックス群とで互いに重なっているインデックスを用いて、場所の検索を実行する(ステップS148)。そして、CPU101は、その検索の結果の場所のデータを適宜加工して、検索要求してきた会員ユーザのクライアント装置に送信して提供する(ステップS149)。
そして、CPU101は、クライアント装置から送られてくる検索ページに戻る要求を受信したか否か判別し(ステップS150)、送られてきたと判別したときには、ステップS125に戻って、検索ページをクライアント装置に検索ページを送り、続いて、検索を実行することができるようにする。また、ステップS150で、検索ページに戻る要求を受信してはいないと判別したときには、CPU101は、アクセスが切断されたか否か判別し(ステップS151)、アクセスが切断されていないと判別したときには、ステップS149に戻る。また、ステップS151で、アクセスが切断されたと判別したときには、この処理ルーチンを終了する。
なお、ステップS146で、検索要求には、パートナーの氏名の情報が含まれていないと判別したときには、CPU101は、ステップS147をバイパスしてステップS148の検索を実行する。すなわち、CPU101は、会員ユーザ本人のみの個人インデックスパターンに基づいて取得した地域属性インデックス群を用いた検索を実行し、その検索結果を、ステップS149で、会員ユーザのクライアント装置に送るようにする。
クライアント装置のCPU200は、最適情報提供サーバ1からの検索結果を受信して、クライアント装置の表示部に表示して、会員ユーザに提供する(ステップS34)。そして、CPU200は、ユーザによりアクセスが切断されたか否か判別し(ステップS35)、アクセスが切断されたと判別したときには、この処理ルーチンを終了する。
また、アクセスが切断されてはいないと判別したときには、CPU200は、検索ページに戻る要求が会員ユーザにより指示入力されたか否か判別し(ステップS36)、検索ページに戻る要求がなされていないと判別したときには、ステップS35に戻る。また、ステップS36で、会員ユーザにより検索ページに戻る要求がなされたと判別したときには、検索ページに戻る要求を最適情報提供サーバ1に送る(ステップS37)。そして、その後、CPU200は、ステップS26に戻り、検索ページを受信して会員ユーザに提供し、さらなる検索の実行を可能とする。
次に、クローリング実行部114および関連ネットデータ解析部115での処理動作の一例を、図14のフローチャートを参照しながら説明する。なお、この図14のフローチャートにおいても、クローリング実行部114および関連ネットデータ解析部115が、CPU101によるソフトウエア機能部として構成される場合として説明する。
この例では、この図14の処理ルーチンは、一定時間毎に繰り返し実行されるように構成されている。CPU101は、クローリングを開始して(ステップS161)、図7に示すように予め定めた地域属性を、WebサイトやWebページの記事に基づいて、検索対象の場所について評価する。そして、その評価後の地域属性のインデックスを、各場所毎に対応付けて、検索対象データベース107に格納する(ステップS162)。
また、ブログサイトやツイッターのサイトの記事をクローリングして解析し、会員プロファイルフォルダDPの個人属性評価点テーブルや嗜好評価個人属性を更新する(ステップS163)。
次に、CPU101は、一定時間経過するのを待ち(ステップS164)、一定時間経過したらステップS161に戻り、このステップS161以降を繰り返す。
次に、位置検出部112および行動パターン解析部113での処理動作の一例を、図15のフローチャートを参照しながら説明する。なお、この図15のフローチャートにおいても、位置検出部112および行動パターン解析部113が、CPU101によるソフトウエア機能部として構成される場合として説明する。また、図15の処理ルーチンは、一人の会員ユーザについての処理を示したものであり、実際には、携帯プローブにより位置検出が可能な全ての会員ユーザについて、図15の処理ルーチンが行われる。
この例では、この図15の処理ルーチンは、一定時間毎に繰り返し実行されるように構成されている。CPU101は、携帯プローブの技術により、位置情報を取得してメモリに蓄積する(ステップS171)。
次に、CPU101は、蓄積した位置情報を用いて行動パターンを解析する(ステップS172)。CPU101は、その解析の結果、特徴的な行動パターンが検出されたか否か判別する(ステップS173)。このステップS173で、特徴的な行動パターンが検出されなかったと判別したときには、CPU101は、ステップS176に進んで、一定時間経過したか否か判別する。そして、ステップS176で、一定時間経過したと判別したときには、ステップS171に戻り、位置情報の取得からの処理を繰り返す。
また、ステップS173で特徴的な行動パターンが検出されたと判別したときには、CPU101は、その行動パターンは、既に検出済みであるか否か判別する(ステップS174)。そして、CPU101は、既に検出済みであれば、ステップS176に進み、上述したステップS176以降の処理を繰り返す。また、ステップS174で、検出された行動パターンが検出済みではないと判別したときには、CPU101は、検出した行動パターンから関連する個人属性を判定し、その判定結果を会員プロファイルフォルダ内のデータに反映させる(ステップS175)。
CPU101は、ステップS175の次にはステップS176に進み、上述したステップS166以降の処理を繰り返す。
[実施形態の効果]
以上のようにして、この実施形態では、最適情報提供サーバ1は、会員ユーザが登録したエントリーデータから評価した個人属性に応じた場所の検索ができるので、TPOに応じた検索結果の場所を会員ユーザに提供することができる。
また、この実施形態の最適情報提供サーバ1は、会員ユーザが登録したエントリーデータに関連するデータを、ブログサイトやツイッターサイトなど、インターネットのWebサイトから取得して、会員ユーザの個人属性に反映させるようにしている。そのため、最適情報提供サーバ1は、より会員ユーザが希望する場所についての検索結果を提供することができるようになる。
さらに、この実施形態の最適情報提供サーバ1は、会員ユーザの行動パターンを解析して、その解析結果を会員ユーザの個人属性に反映させるようにしている。そのため、最適情報提供サーバ1は、検索結果として、より会員ユーザが希望する場所を提供することができるようになる。
また、この実施形態では、検索において会員ユーザがパートナーを指定したときには、最適情報提供サーバ1は、当該指定されたパートナーの個人属性をも加味した検索を実行するようにするので、会員ユーザ本人とパートナーとの行動目的や、行動計画、人生設計に合わせた特性を持つ場所を推薦することが可能になる。
[その他の実施形態または変形例]
なお、上記の例では、行動パターンや関連ネットデータから、会員ユーザの個人属性を判定し、その判定した個人属性を、検索を実行する際の地域属性を判定するための個人属性として反映するようにした。しかし、会員ユーザの行動パターンや関連ネットデータから、当該会員ユーザが好む地域属性を直接的に判定するようにすることもできる。
例えば、会員ユーザがブログに、絵画の鑑賞について頻繁に記事を載せている場合には、当該会員ユーザが好む地域属性として、「美術館」を判定して記録しておき、関連する検索項目には、常にその地域属性を所定の重みを持って、検索を行うようにすることができる。また、会員ユーザの行動パターンから良く行く場所の地域属性を判定して記録しておくようにしても良い。その場合に、その場所の地域属性をそのまま検索の際の地域属性として用いても良いし、その地域属性に関連する情報に基づいた検索を行うようにしても良い。
例えば、会員ユーザの行動パターンから良く行く場所を記録しておき、その場所の特徴を解析しておき、似たような特徴を備える地域は、より高順位として検索結果を提供するようにすることもできる。具体例を挙げると、会員ユーザが草津温泉に頻繁に出かけることが判明した場合、草津温泉と同質の温泉成分の温泉地、草津温泉の同様の入浴方法を採用している温泉地などを、より高順位として検索結果を提供することができる。
なお、上述の実施形態では、検索対象データベース107を最適情報提供サーバ1が備えるようにしたが、検索対象データベース107は、別のサーバに設けておき、ネットワークを通じて、最適情報提供サーバ1が当該サーバに対してアクセスして検索を行うようにしても良い。