(57)【特許請求の範囲】
【請求項１】
端末装置で生成されたテキストデータ、当該端末装置の位置を表す位置データ、及び当該端末装置のユーザを特定するユーザ識別子とを取得する取得手段と、
前記取得手段が取得したテキストデータに含まれている単語を抽出する抽出手段と、
前記取得手段が取得した位置データに基づいて、当該位置データが示す位置の地名を特定する地名特定手段と、
前記取得手段が取得したユーザ識別子と、前記地名特定手段が特定した地名を表す地名データと、前記抽出手段が抽出した単語を示す単語データと、当該ユーザ識別子のユーザが当該地名の場所で当該単語を含むテキストデータを生成した回数を示す回数データとを含むレコードを有する第１データベースを更新する第１更新手段と、
前記第１データベースに記憶されたデータに基づいて、前記ユーザに提供するデータを特定する特定手段と、
前記特定手段によって特定されたデータを前記端末装置へ送信する送信手段と
を有する情報提供装置。
【請求項２】
前記第１データベースのレコードのうち、前記地名特定手段で特定した地名の地名データと前記抽出手段で抽出された単語の単語データとを含むレコードの数を計数し、当該地名、当該単語及び前記計数された数を含むレコードを記憶する第２データベースを更新する第２更新手段を有し、
前記特定手段は、前記第２データベースのレコードのうち、前記地名特定手段で特定された地名を含み、且つ、前記計数手段で計数された数が最大のレコードに含まれている単語データを、ユーザに提供するデータに特定すること
を特徴とする請求項１に記載の情報提供装置。
【請求項３】
前記特定手段は、
前記取得手段で取得したユーザ識別子を含むレコードの前記地名データと前記単語データの組みを前記第１データベースから抽出し、前記取得手段で取得したユーザ識別子とは異なるユーザ識別子毎に、前記抽出した組みを含むレコードの数を前記第１データベースにおいて計数し、
当該計数した数が多い順に所定数のユーザ識別子を選択し、
当該選択したユーザ識別子と、前記地名特定手段で特定した地名とを含む前記第１データベースのレコードを特定し、特定したレコードの前記回数データの数と当該ユーザ識別子について前記計数したレコードの数との積の算出結果に基づいて、前記ユーザへ提供する単語データを特定すること
を特徴とする請求項１に記載の情報提供装置。
【請求項４】
前記特定手段は、
前記取得手段で取得したユーザ識別子と、前記地名特定手段で特定された地名を示す地名データとを含むレコードのうち、前記回数データが示す回数が最大のレコードに含まれている単語データを前記第１データベースから抽出し、
前記取得手段で取得したユーザ識別子を含むレコードの前記地名データと前記単語データの組みを前記第１データベースから抽出し、前記取得手段で取得したユーザ識別子とは異なるユーザ識別子毎に、前記抽出した組みを含むレコードの数を前記第１データベースにおいて計数し、
当該計数した数が多い順に所定数のユーザ識別子を選択し、
当該選択したユーザ識別子を含むレコードにおいて前記抽出した単語データを含むレコードの回数データと、当該ユーザ識別子について前記計数したレコードの数との積の算出結果に基づいて、前記ユーザへ提供する地名データを特定すること
を特徴とする請求項１に記載の情報提供装置。
【請求項５】
情報処理装置の制御部が、端末装置で生成されたテキストデータ、当該端末装置の位置を表す位置データ、及び当該端末装置のユーザを特定するユーザ識別子とを、当該端末装置から取得する取得ステップと、
前記制御部が、前記取得ステップで取得したテキストデータに含まれている単語を抽出する抽出ステップと、
前記制御部が、前記取得ステップで取得した位置データに基づいて、当該位置データが示す位置の地名を特定する地名特定ステップと、
前記取得ステップで取得したユーザ識別子と、前記地名特定ステップで特定した地名を表す地名データと、前記抽出ステップで抽出した単語を示す単語データと、当該ユーザ識別子のユーザが当該地名の場所で当該単語を含むテキストデータを生成した回数を示す回数データとを含むレコードを有し、記憶部に記憶されているデータベースを、前記制御部が更新する更新ステップと、
前記制御部が、前記データベースに記憶されたデータに基づいて、前記ユーザに提供するデータを特定するデータ特定ステップと、
前記制御部が、前記データ特定ステップによって特定されたデータを前記端末装置へ送信する送信ステップと
を有する情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置のユーザに情報を提供する技術に関する。
【背景技術】
【０００２】
携帯情報端末を使用しているユーザの位置の情報と嗜好の情報を獲得し、位置と嗜好がユーザに近い情報をユーザに提供するシステムが特許文献１に開示されている。このシステムにおいては、携帯情報端末の位置情報を含むメッセージがセンターへ送られる。センターは、メッセージに含まれている位置情報やメッセージ内の単語を抽出し、抽出したユーザの位置や単語からユーザの嗜好を学習する。また、センターは、レストランや観光地などの説明と、これらレストランや観光地の位置情報とを組み合わせたスポット情報を記憶している。センターは、ユーザからスポット情報を要求するメッセージを受け取った場合、メッセージに含まれている位置情報を用いて位置と嗜好の似たスポット情報を検索する。そして、検索結果をユーザの携帯情報端末へ送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２６５８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１のシステムによれば、携帯情報端末のユーザの位置と嗜好に対応した情報をユーザに提供することが可能となっている。しかしながら、このシステムにおいては、ユーザに提供される情報は、センターの管理者が予め用意した限られたスポット情報でしかなく、ユーザに対して提供する情報が足りない場合や、新しい情報を提供できない場合が生じ得る。
【０００５】
本発明は、上述した背景の下になされたものであり、ユーザに提供する情報について管理者による更新を必要とせずにユーザに合った情報を提供する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、端末装置で生成されたテキストデータ、当該端末装置の位置を表す位置データ、及び当該端末装置のユーザを特定するユーザ識別子とを取得する取得手段と、前記取得手段が取得したテキストデータに含まれている単語を抽出する抽出手段と、前記取得手段が取得した位置データに基づいて、当該位置データが示す位置の地名を特定する地名特定手段と、前記取得手段が取得したユーザ識別子と、前記地名特定手段が特定した地名を表す地名データと、前記抽出手段が抽出した単語を示す単語データと、当該ユーザ識別子のユーザが当該地名の場所で当該単語を含むテキストデータを生成した回数を示す回数データとを含むレコードを有する第１データベースを更新する第１更新手段と、前記第１データベースに記憶されたデータに基づいて、前記ユーザに提供するデータを特定する特定手段と、前記特定手段によって特定されたデータを前記端末装置へ送信する送信手段とを有する情報提供装置を提供する。
【０００７】
上記情報提供装置においては、前記第１データベースのレコードのうち、前記地名特定手段で特定した地名の地名データと前記抽出手段で抽出された単語の単語データとを含むレコードの数を計数し、当該地名、当該単語及び前記計数された数を含むレコードを記憶する第２データベースを更新する第２更新手段を有し、前記特定手段は、前記第２データベースのレコードのうち、前記地名特定手段で特定された地名を含み、且つ、前記計数手段で計数された数が最大のレコードに含まれている単語データを、ユーザに提供するデータに特定する構成としてもよい。
【０００８】
また、上記情報提供装置においては、前記特定手段は、前記取得手段で取得したユーザ識別子を含むレコードの前記地名データと前記単語データの組みを前記第１データベースから抽出し、前記取得手段で取得したユーザ識別子とは異なるユーザ識別子毎に、前記抽出した組みを含むレコードの数を前記第１データベースにおいて計数し、当該計数した数が多い順に所定数のユーザ識別子を選択し、当該選択したユーザ識別子と、前記地名特定手段で特定した地名とを含む前記第１データベースのレコードを特定し、特定したレコードの前記回数データの数と当該ユーザ識別子について前記計数したレコードの数との積の算出結果に基づいて、前記ユーザへ提供する単語データを特定する構成としてもよい。
【０００９】
また、上記情報提供装置においては、前記特定手段は、前記取得手段で取得したユーザ識別子と、前記地名特定手段で特定された地名を示す地名データとを含むレコードのうち、前記回数データが示す回数が最大のレコードに含まれている単語データを前記第１データベースから抽出し、前記取得手段で取得したユーザ識別子を含むレコードの前記地名データと前記単語データの組みを前記第１データベースから抽出し、前記取得手段で取得したユーザ識別子とは異なるユーザ識別子毎に、前記抽出した組みを含むレコードの数を前記第１データベースにおいて計数し、当該計数した数が多い順に所定数のユーザ識別子を選択し、当該選択したユーザ識別子を含むレコードにおいて前記抽出した単語データを含むレコードの回数データと、当該ユーザ識別子について前記計数したレコードの数との積の算出結果に基づいて、前記ユーザへ提供する地名データを特定する構成としてもよい。
【００１０】
また、本発明は、情報処理装置の制御部が、端末装置で生成されたテキストデータ、当該端末装置の位置を表す位置データ、及び当該端末装置のユーザを特定するユーザ識別子とを、当該端末装置から取得する取得ステップと、前記制御部が、前記取得ステップで取得したテキストデータに含まれている単語を抽出する抽出ステップと、前記制御部が、前記取得ステップで取得した位置データに基づいて、当該位置データが示す位置の地名を特定する地名特定ステップと、前記取得ステップで取得したユーザ識別子と、前記地名特定ステップで特定した地名を表す地名データと、前記抽出ステップで抽出した単語を示す単語データと、当該ユーザ識別子のユーザが当該地名の場所で当該単語を含むテキストデータを生成した回数を示す回数データとを含むレコードを有し、記憶部に記憶されているデータベースを、前記制御部が更新する更新ステップと、前記制御部が、前記データベースに記憶されたデータに基づいて、前記ユーザに提供するデータを特定するデータ特定ステップと、前記制御部が、前記データ特定ステップによって特定されたデータを前記端末装置へ送信する送信ステップとを有する情報提供方法を提供する。
【発明の効果】
【００１１】
本発明によれば、ユーザに提供する情報について管理者による更新を必要とせずにユーザに合った情報を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るシステムを構成する装置を示した図。
【図２】端末装置１０のハードウェア構成を示したブロック図。
【図３】端末装置１０において実現する機能の構成を示したブロック図。
【図４】情報提供装置３０のハードウェア構成を示した図。
【図５】ユーザ行動データベースＤＢ１の一例を示した図。
【図６】ユーザ相関データベースＤＢ２の一例を示した図。
【図７】エリア情報データベースＤＢ３の一例を示した図。
【図８】地名／位置情報データベースＤＢ４の一例を示した図。
【図９】情報提供装置３０において実現する機能の構成を示したブロック図。
【図１０】実施形態の動作を説明するための図。
【図１１】制御部３０１が行う処理の流れを示したフローチャート。
【図１２】制御部３０１が行う処理の流れを示したフローチャート。
【図１３】制御部３０１が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【００１３】
［実施形態］
＜全体構成＞
図１は、本発明の一実施形態に係るシステムを構成する装置を示した図である。本実施形態に係る通信網２０は、音声通信やデータ通信が行われる移動体通信網や公衆無線ＬＡＮ（Local Area Network）などを含む通信網である。通信網２０には、端末装置１０Ａ，１０Ｂや情報提供装置３０が接続される。なお、図１においては端末装置１０Ａ，１０Ｂと一つの情報提供装置３０を示しているが、通信網２０には３台以上の端末装置や、２台以上の情報提供装置を接続することができる。
【００１４】
端末装置１０Ａ，１０Ｂは、本実施形態においてはスマートフォンであり、通信網２０を介して他のコンピュータ装置とデータ通信を行う。なお、端末装置１０Ａと端末装置１０Ｂの構成は同じであるため、以下、各々を区別する必要のない場合は端末装置１０と記載する。本実施形体においては、端末装置１０はスマートフォンであるが、端末装置１０は、スマートフォンに限定されるものではなく、移動可能な携帯端末装置であって、データ通信機能を備えているものであれば、タブレットＰＣ（Personal Computer）、携帯電話機、ＰＤＡ（Personal Digital Assistant）などであってもよい。
【００１５】
本実施形態に係る情報提供装置３０は、マイクロブログのサービスを端末装置１０のユーザに提供する機能や、端末装置１０のユーザへ種々の情報を提供する機能を備えた装置である。情報提供装置３０は、端末装置１０のユーザのマイクロブログを記憶し、記憶したマイクロブログを端末装置１０のユーザに公開する機能を備えている。また、情報提供装置３０は、端末装置１０の位置を表す位置情報を取得する機能と、記憶したマイクロブログの文章を解析する機能を備えている。情報提供装置３０は、これらの位置情報と解析結果とを用いてユーザに提供する情報を決定し、決定した情報を端末装置１０へ提供する。
【００１６】
＜端末装置１０の構成＞
図２は、端末装置１０のハードウェア構成を例示したブロック図である。図２に示したように、端末装置１０の各部は、バス１００に接続されている。端末装置１０の各部は、このバス１００を介して各部間でデータのやり取りを行う。
通信部１０５は、通信網２０を介して音声通信やデータ通信を行う通信インターフェースとして機能する。通信部１０５は、通信網２０から送信される各種データを受信する。また、通信部１０５は、通信網２０を介して各種データを送信する。
【００１７】
表示部１０４は、表示装置として液晶ディスプレイを有しており、制御部１０１の制御の下、文字やグラフィック画面、端末装置１０を操作するためのメニュー画面などを表示する。なお、表示装置は、有機ＥＬ（Electro Luminescence）ディスプレイなどであってもよい。
操作部１０３は、端末装置１０を操作するための複数のキーや、表示部１０４の液晶ディスプレイの表面に配置された透明なタッチパッドなどである。端末装置１０のユーザが、操作部１０３のキーを操作すると、操作されたキーを示すデータが操作部１０３から制御部１０１へ出力される。また、端末装置１０のユーザが、操作部１０３のタッチパッドに触れると、触れた位置を示すデータが操作部１０３から制御部１０１へ出力される。
【００１８】
通話部１０６は、マイクロフォンとスピーカを備えている。通話部１０６は、マイクロフォンに音声が入力されると、入力された音声を表すデータを通信部１０５へ出力する。通信部１０５へ出力されたデータは、通信網２０を介して他の端末装置１０へ送信され、音声通信が行われる。また、通話部１０６は、音声通信に係るデータを受信した通信部１０５から音声通信に係るデータが供給されると、この供給されたデータをアナログ信号に変換してスピーカへ出力し、スピーカから音声を出力する。
測位部１０７は、人工衛星を用いた位置測定システム（Global Positioning System）を利用して端末装置１０の位置を測位する。測位部１０７は、複数の人工衛星から発信される位置測定用の電波を受信すると、それぞれの人工衛星から発信される電波を用いて端末装置１０の位置（緯度および経度）を測位する。
【００１９】
記憶部１０２は、各種データやプログラムを記憶するメモリを備えており、端末装置１０においてオペレーティングシステムの機能を実現するＯＳプログラムや、情報提供装置３０とデータのやり取りを行う機能や上記マイクロブログのサービスを利用する機能などを実現するアプリケーションプログラム（以下、通信プログラムと称する）などを記憶している。また、記憶部１０２は、情報提供装置３０が提供するマイクロブログのサービスを利用するユーザに付与された識別子であって、ユーザを一意的に識別するユーザ識別子を記憶する。
【００２０】
制御部１０１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を備えたマイクロコントローラである。ＣＰＵがＲＯＭに記憶されているブートローダを実行した後、記憶部１０２に記憶されているＯＳプログラムを実行すると、スマートフォンとしての基本機能が実現する。端末装置１０において、スマートフォンとしての基本機能が実現すると、端末装置１０は、音声通信やデータ通信を行うことが可能となる。また、ＣＰＵがＯＳプログラムを実行すると、制御部１０１は、操作部１０３から供給されるデータや、通信部１０５で受信されたデータに応じて各種処理を実行し、端末装置１０の各部を制御する。
【００２１】
またＣＰＵが、上記通信プログラムを実行すると、情報提供装置３０とデータのやり取りを行う機能、マイクロブログの文章を作成する機能、他のユーザのマイクロブログを閲覧する機能、情報提供装置３０から受信した情報を表示する機能などが実現する。
【００２２】
図３は、通信プログラムを実行した端末装置１０において実現する機能を示したブロック図である。テキストデータ生成部１１１は、操作部１０３で行われた操作に応じて、マイクロブログに書きこむ文章を表すテキストデータを生成する。位置データ生成部１１２は、測位部１０７で測位された位置を表す位置データを生成する。データ送信部１１３は、テキストデータ生成部１１１で生成されたテキストデータ、位置データ生成部１１２で生成された位置データ及び記憶部１０２に記憶されているユーザ識別子を取得し、取得したデータを通信部１０５を制御して情報提供装置３０へ送信する。データ受信部１１４は、情報提供装置３０から送信されて通信部１０５が受信したデータを取得する。データ表示部１１５は、データ受信部１１４が取得したデータを取得し、取得したデータの内容を表示部１０４に表示させる。
【００２３】
＜情報提供装置３０の構成＞
図４は、情報提供装置３０のハードウェア構成の一例を示したブロック図である。図４に示したように、情報提供装置３０の各部はバス３００に接続されており、このバス３００を介して各部間でデータのやり取りを行う。
【００２４】
通信部３０５は、通信ケーブルによって通信網２０に接続されており、通信網２０を介してデータ通信を行う通信インターフェースとして機能する。操作部３０３は、ユーザにより操作されるキーボードおよびマウスを有している。操作部３０３は、マウスまたはキーボードが操作されると、操作されたボタンやキーを表すデータを制御部３０１へ出力する。表示部３０４は、表示装置として液晶ディスプレイを有しており、制御部３０１の制御の下、文字やグラフィック画面、情報提供装置３０を操作するためのメニュー画面などを表示する。
【００２５】
記憶部３０２は、データを記憶する装置（例えばハードディスク装置）を有しており、各種プログラムを記憶する。具体的には、情報提供装置３０においてオペレーティングシステムの機能を実現するＯＳプログラムを記憶している。また、記憶部３０２は、マイクロブログのサービスを提供する機能、端末装置１０から受信したデータを記憶し、記憶したデータを基に端末装置１０のユーザへ提供する情報を決定する機能などを実現する情報提供プログラムを記憶している。
また、記憶部３０２は、各種データを格納する複数のデータベースを記憶している。図５〜図８は、記憶部３０２が記憶するデータベースの構成を示した図である。
【００２６】
図５に示したユーザ行動データベースＤＢ１（第１データベース）は、ユーザ識別子フィールド、地名フィールド、共起語フィールド及び共起回数フィールドを備えている。ユーザ識別子フィールドは、マイクロブログを利用するユーザのユーザ識別子を格納するフィールドである。地名フィールドは、端末装置１０のユーザがマイクロブログの書き込みを行ったときに居た場所の地名を格納するフィールドである。共起語フィールドは、地名フィールドに格納されている地名の場所においてユーザ識別子フィールドに格納されているユーザ識別子のユーザがマイクロブログの書き込みを行った際に、当該書き込みの文章に含まれていた単語が格納されるフィールドである。共起回数フィールドは、共起語フィールドの共起語が地名フィールドに格納されている地名の場所においてマイクロブログに書きこまれた回数を格納するフィールドである。
【００２７】
図６に示したユーザ相関データベースＤＢ２は、ユーザ識別子フィールド、相関ユーザフィールド及び相関度フィールドを備えている。ユーザ識別子フィールドは、マイクロブログを利用するユーザのユーザ識別子を格納するフィールドである。相関ユーザフィールドは、ユーザ識別子フィールドのユーザ識別子で特定されるユーザと相関があるユーザ（以下、相関ユーザと称する）のユーザ識別子を格納するフィールドである。相関度フィールドは、ユーザ識別子フィールドのユーザ識別子で特定されるユーザと、相関ユーザフィールドのユーザ識別子で特定されるユーザとの間の相関の程度を表すデータが格納されるフィールドである。
【００２８】
図７に示したエリア情報データベースＤＢ３（第２データベース）は、地名フィールド、共起語フィールド及びユーザ数フィールドを備えている。地名フィールドは、端末装置１０のユーザがマイクロブログの書き込みを行ったときに居た場所の地名を格納するフィールドである。共起語フィールドは、地名フィールドに格納された地名の場所で書きこまれたマイクロブログの文章に含まれていた単語を格納するフィールドである。ユーザ数フィールドは、地名フィールドに格納された地名の場所で共起語フィールドに格納された単語をマイクロブログに書いたユーザの数を格納するフィールドである。
【００２９】
図８に示した地名／位置情報データベースＤＢ４は、地名フィールド及び位置情報フィールドを備えている。このデータベースは、地名と、当該地名に対応する領域の頂点の緯度及び経度とを対応づけて格納する。具体的には、地名フィールドには、予め定められた地名が格納される。また、位置情報フィールドには、地名フィールドに格納された地名に対応する領域の頂点の緯度及び経度が格納される。
【００３０】
制御部３０１は、ＣＰＵ、ＲＡＭ、ブートローダを記憶したＲＯＭを備えた所謂マイクロコントローラである。ＣＰＵがブートローダを実行した後、記憶部３０２に記憶されているＯＳプログラムを実行すると、バス３００に接続されている各部を制御する機能が実現する。また、ＣＰＵが情報提供プログラムを実行すると、マイクロブログのサービスを端末装置１０のユーザに提供する機能や、ユーザに各種情報を提供する機能などが実現する。
【００３１】
図９は、通信プログラムを実行した端末装置１０において実現する機能を示したブロック図である。
取得部３１１は、端末装置１０から送信されて通信部３０５が受信したデータを取得する。取得部３１１が取得するデータは、後述するテキストデータ、位置データ及びユーザ識別子である。抽出部３１２は、取得部３１１が取得したテキストデータが表す文章に対して形態素解析を行い、当該文章中に含まれている単語を抽出する。抽出する単語としては、地名や名詞、形容詞などがある。地名特定部３１３は、取得部３１１が取得した位置データが表す位置の地名を、地名／位置情報データベースＤＢ４に格納されているデータに基づいて特定する。
【００３２】
更新部３１４は、各データベースを更新するものであり、第１更新部３１４Ａ、第２更新部３１４Ｂ、及び第３更新部３１４Ｃを備える。第１更新部３１４Ａは、ユーザ行動データベースＤＢ１を更新する。第２更新部３１４Ｂは、ユーザ行動データベースＤＢ１に格納されているデータに基づいて、ユーザ相関データベースＤＢ２を更新する。第３更新部３１４Ｃは、ユーザ行動データベースＤＢ１に格納されているデータに基づいて、エリア情報データベースＤＢ３を更新する。データ特定部３１５は、各種データベースに格納されているデータを用いてユーザに提供するデータを特定する。
【００３３】
＜実施形態の動作＞
次に図１０を用いて本実施形態の動作について説明する。まず、端末装置１０Ａのユーザが、マイクロブログに書きこむ文章を端末装置１０Ａにおいて作成し、作成した文章を情報提供装置３０へ送信する操作を行うと、端末装置１０Ａは、作成された文章を表すテキストデータを生成する（ステップＳ１）。次に端末装置１０Ａは、測位部１０７で測定された位置を表す位置データを生成する（ステップＳ２）。端末装置１０Ａは、テキストデータと位置データを生成すると、生成したテキストデータ、位置データ及び記憶部１０２に記憶されているユーザ識別子「００１」を情報提供装置３０へ送信する（ステップＳ３）。
【００３４】
情報提供装置３０は、端末装置１０Ａから送信されたテキストデータ、位置データ及びユーザ識別子を受信すると、受信したテキストデータとユーザ識別子とを対応付けて記憶部３０２に記憶する（ステップＳ４）。この記憶されたテキストデータは、マイクロブログとして端末装置１０からアクセスされる。
また、情報提供装置３０は、受信したテキストデータの文章について形態素解析を行い、地名、名詞及び形容詞などの単語を抽出する（ステップＳ５）。次に情報提供装置３０は、受信した位置データが表す緯度・経度に対応する地名を地名／位置情報データベースＤＢ４から取得する（ステップＳ６）。例えば、位置データが表す緯度・経度が、図８の地名／位置情報データベースＤＢ４の１行目のレコードの位置情報で特定される領域内の緯度・経度である場合、情報提供装置３０は、この１行目のレコードに格納されている「秋葉原」という地名を取得する。
【００３５】
次に情報提供装置３０は、ユーザ行動データベースＤＢ１を更新する処理を行う（ステップＳ７）。具体的には、情報提供装置３０は、受信したユーザ識別子、ステップＳ５でテキストデータから抽出した地名又はステップＳ６で取得した地名、ステップＳ５で抽出した単語の組みがユーザ行動データベースＤＢ１にあるか否かを判断する。情報提供装置３０は、これらユーザ識別子、地名、単語の組みを格納したレコードがユーザ行動データベースＤＢ１に既に存在する場合には、これらの組みを格納したレコードの共起回数フィールドの値に１を加算する。また、これらの組みを格納したレコードがユーザ行動データベースＤＢ１に存在しない場合には、これらの組みを格納したレコードをユーザ行動データベースＤＢ１に追加し、共起回数フィールドの値を「１」にする。
【００３６】
例えば、受信したユーザ識別子が「００１」、地名／位置情報データベースＤＢ４から取得した地名が「秋葉原」、テキストデータから抽出した単語が「家電」であり、図５に示したように、この組みがユーザ行動データベースＤＢ１に既に存在する場合、情報提供装置３０は、この組みを格納したレコードの共起回数フィールドの値に１を加算する。また、例えば、受信したユーザ識別子が「００１」、テキストデータから取得した地名が「御茶ノ水」、テキストデータから抽出した単語が「楽器」であり、この組みを格納したレコードがユーザ行動データベースＤＢ１に存在しなかった場合、情報提供装置３０は、この組みを格納したレコードを新たにユーザ行動データベースＤＢ１に追加する。
【００３７】
情報提供装置３０は、ユーザ行動データベースＤＢ１を更新すると、次にユーザ相関データベースＤＢ２を更新する処理を行う（ステップＳ８）。具体的には、まず情報提供装置３０は、受信したユーザ識別子を格納したレコードをユーザ行動データベースＤＢ１において特定し、特定したレコードから地名と共起語の組みを抽出する。次に情報提供装置３０は、他のユーザ識別子を選択し、選択したユーザ識別子を格納したレコードにおいて、抽出した地名と共起語の組みを格納したレコードの数をカウントする。そして、情報提供装置３０は、カウントした数を、受信したユーザ識別子と、選択したユーザ識別子とを格納したレコードの相関度フィールドに格納する。
【００３８】
例えば、図５に示したユーザ行動データベースＤＢ１の場合、情報提供装置３０は、受信したユーザ識別子「００１」を格納したレコードから、地名「秋葉原」と共起語「家電」の組み、地名「御茶ノ水」と共起語「楽器」の組み、及び地名「秋葉原」と共起語「アニメ」の組みを抽出する。
次に、情報提供装置３０は、受信したユーザ識別子「００１」とは異なるユーザ識別子「００２」を選択し、この選択したユーザ識別子を格納したレコードにおいて、抽出した地名「秋葉原」と共起語「家電」の組みを格納したレコード、抽出した地名「御茶ノ水」と共起語「楽器」の組みを格納したレコード、及び抽出した地名「秋葉原」と共起語「アニメ」の組みを格納したレコードをカウントする。
ここで、例えばユーザ行動データベースＤＢ１が図５の内容であった場合、４行目〜６行目のレコードがカウントされる。そして、情報提供装置３０は、ユーザ相関データベースＤＢ２でユーザ識別子「００１」が格納され、相関ユーザフィールドに「００２」が格納されているレコードの相関度フィールドに、カウントした数である「３」を格納する。
【００３９】
情報提供装置３０は、ユーザ相関データベースＤＢ２を更新すると、次にエリア情報データベースＤＢ３を更新する処理を行う（ステップＳ９）。具体的には、まず情報提供装置３０は、ステップＳ７で更新したユーザ行動データベースＤＢ１に格納されている地名と共起語の組みを順番に選択し、選択した組みを格納しているレコードの数をカウントする。
例えば、図５のユーザ行動データベースＤＢ１において地名「秋葉原」と共起語「家電」の組みを選択した場合、この組みを格納したレコードは、１行目と４行目にあるため、選択した組みを格納しているレコードの数は２となる。よって情報提供装置３０は、エリア情報データベースＤＢ３において地名「秋葉原」と共起語「家電」の組みが格納されているレコードのユーザ数フィールドに「２」を格納する。
【００４０】
情報提供装置３０は、各データベースの更新を終了すると、次に端末装置１０のユーザに提供する情報を決定する。まず、情報提供装置３０は、ユーザに提供する第１情報を、図１１のフローチャートで示した第１の方法により決定する（ステップＳ１０）。情報提供装置３０は、ステップＳ６で地名／位置情報データベースＤＢ４から取得した地名を検索キーとし、エリア情報データベースＤＢ３を検索する（ステップＳＡ１）。ここで、情報提供装置３０は、検索キーとした地名を格納したレコードにおいて、ユーザ数フィールドに格納されている数が最も大きいレコードを特定し、特定したレコードに格納されている共起語を、端末装置１０のユーザに提供する第１情報に決定する（ステップＳＡ２）。なお、本実施形態では、ユーザ数フィールドに格納されている数が最も大きいレコードに格納されている共起語を第１情報に決定しているが、ユーザ数フィールドに格納されている数が大きい順に共起語を複数選択し、選択した共起語を第１情報に決定してもよい。
【００４１】
例えば、情報提供装置３０は、ステップＳ６で地名として「秋葉原」という地名を取得した場合、この「秋葉原」という地名を含むレコードをエリア情報データベースＤＢ３において検索する。ここで、図７に示したように、エリア情報データベースＤＢ３の１行目のレコード〜３行目のレコードに「秋葉原」という地名が格納されている場合、１行目〜３行目のレコードが抽出される。この１行目〜３行目のレコードにおいて１行目のレコードのユーザ数が最も大きい場合、１行目のレコードに格納されている共起語の「家電」という単語をユーザに提供する第１情報に決定する。
【００４２】
次に情報提供装置３０は、ユーザに提供する第２情報を、図１２のフローチャートで示した第２の方法により決定する（ステップＳ１１）。まず情報提供装置３０は、端末装置１０から受信したユーザ識別子を検索キーとし、ユーザ相関データベースＤＢ２を検索する（ステップＳＢ１）。そして情報提供装置３０は、検索キーを格納したレコードの相関ユーザフィールドに格納されているユーザ識別子と、相関度フィールドに格納されている相関度を抽出する（ステップＳＢ２）。
例えば、端末装置１０Ａから受信したユーザ識別子が「００１」であり、ユーザ相関データベースＤＢ２の内容が図６の内容である場合、情報提供装置３０は、１行目のレコードと２行目のレコードから相関ユーザのユーザ識別子と相関度を抽出する。
【００４３】
次に情報提供装置３０は、ステップＳＢ２でユーザ相関データベースＤＢ２から抽出したユーザ識別子と、ステップＳ６で地名／位置情報データベースＤＢ４から取得した地名の両方を検索キーとしてユーザ行動データベースＤＢ１を検索し、検索キーを格納したレコードの中で共起回数の値が最も大きいレコードを抽出する（ステップＳＢ３）。
例えば、情報提供装置３０は、ステップＳ６で地名として「秋葉原」を取得し、ステップＳＢ２でユーザ識別子として「００２」と「００３」を抽出した場合、まず、図５の４行目のレコードと５行目のレコードを抽出する。ここで、情報提供装置３０は、４行目のレコードの共起回数の値が５行目のレコードの共起回数の値より大きい場合、４行目のレコードを抽出する。
また、情報提供装置３０は、ユーザ識別子として「００３」を格納し、地名として「秋葉原」を格納した７行目のレコードも抽出する。ユーザ識別子が「００３」であるレコードにおいては、地名「秋葉原」が格納されているレコードは７行目しかないため、このレコードを抽出する。
【００４４】
次に情報提供装置３０は、ステップＳＢ２で抽出した相関度と、ステップＳＢ３で抽出したレコードに格納されている共起回数との積の算出結果に基づいて、ユーザに提供する第２情報を決定する（ステップＳＢ４）。
ここで情報提供装置３０は、ステップＳＢ３で抽出した４行目のレコードの共起回数「Ｃ４」と、ステップＳＢ２でユーザ相関データベースＤＢ２の１行目のレコードから抽出した相関度「Ｃｏ１」との積を算出する。また、情報提供装置３０は、ステップＳＢ３で抽出した７行目のレコードの共起回数「Ｃ７」と、ステップＳＢ２でユーザ相関データベースＤＢ２の２行目のレコードから抽出した相関度「Ｃｏ２」との積を算出する。ここで、「Ｃ７」と「Ｃｏ２」の積の算出結果が「Ｃ４」と「Ｃｏ１」の算出結果より大きい場合、ユーザ行動データベースＤＢ１において共起回数「Ｃ７」を格納したレコードに格納されている共起語「フィギア」を、ユーザに提供する第２情報に決定する。
【００４５】
次に情報提供装置３０は、ユーザに提供する第３情報を、図１３のフローチャートで示した第３の方法により決定する（ステップＳ１２）。まず情報提供装置３０は、端末装置１０から受信したユーザ識別子と、ステップＳ６で地名／位置情報データベースＤＢ４から取得した地名を含むレコードを検索キーとして、ユーザ行動データベースＤＢ１を検索する（ステップＳＣ１）。次に情報提供装置３０は、検索キーを格納したレコードのうち、共起回数フィールドの値が最も大きいレコードに含まれている共起語を抽出する（ステップＳＣ２）。
例えば、端末装置１０Ａから受信したユーザ識別子が「００１」、ステップＳ６で取得した地名が「秋葉原」である場合、図５の内容であるユーザ行動データベースＤＢ１においては、１行目のレコードと３行目のレコードが検索される。そして、情報提供装置３０は、検索した２つのレコードのうち、１行目のレコードの共起回数「Ｃ１」の値が３行目のレコードの共起回数「Ｃ３」の値より大きい場合、１行目のレコードに含まれている共起語「家電」を抽出する。
【００４６】
次に情報提供装置３０は、端末装置１０から受信したユーザ識別子を検索キーとし、ユーザ相関データベースＤＢ２を検索する（ステップＳＣ３）。また情報提供装置３０は、検索キーを格納したレコードの相関ユーザフィールドに格納されているユーザ識別子と、相関度フィールドに格納されている相関度を抽出する（ステップＳＣ４）。
例えば、端末装置１０Ａから受信したユーザ識別子が「００１」であり、ユーザ相関データベースＤＢ２の内容が図６の内容である場合、情報提供装置３０は、１行目のレコードと２行目のレコードから相関ユーザのユーザ識別子（「００２」と「００３」）と相関度（「Ｃｏ１」と「Ｃｏ２」）を抽出する。
【００４７】
次に情報提供装置３０は、ステップＳＣ４で抽出した相関ユーザのユーザ識別子と、ステップＳＣ２で抽出した共起語とを検索キーにしてユーザ行動データベースＤＢ１を検索し、検索キーを格納したレコードを抽出する（ステップＳＣ５）。
例えば、情報提供装置３０は、ステップＳＣ４で抽出した相関ユーザのユーザ識別子「００２」と共起語「家電」を検索キーとした場合、図５の４行目のレコードを抽出し、ステップＳＣ４で抽出した相関ユーザのユーザ識別子「００３」と共起語「家電」を検索キーとした場合、図５の９行目のレコードを抽出する。
【００４８】
次に情報提供装置３０は、抽出したレコードの共起回数フィールドに格納されている数と、ステップＳＣ４で抽出した相関度との積の算出結果からユーザに提供する第３情報を決定する（ステップＳＣ６）。
例えば、上述したように図５の４行目のレコードと９行目のレコードを抽出した場合、４行目のレコードに格納されている共起回数「Ｃ４」と、ステップＳＣ４で相関ユーザのユーザ識別子「００２」と共に抽出した相関度「Ｃｏ１」との積を算出する。また、９行目のレコードに格納されている共起回数「Ｃ９」と、ステップＳＣ４で相関ユーザのユーザ識別子「００３」と共に抽出した相関度「Ｃｏ２」との積を算出する。
そして、情報提供装置３０は、積の算出結果が大きい方のレコードを特定する。例えば、共起回数「Ｃ９」と相関度「Ｃｏ２」との積の方が共起回数「Ｃ４」と相関度「Ｃｏ１」との積より大きい場合、共起回数「Ｃ９」を格納しているレコードに含まれている地名「有楽町」をユーザに提供する第３情報に決定する。
【００４９】
情報提供装置３０は、第１情報〜第３情報を決定すると、決定した情報を、テキストデータを送信した端末装置１０Ａへ送信する（ステップＳ１３）。端末装置１０Ａは、情報提供装置３０から送信された第１情報〜第３情報を受信すると、受信した情報の内容を表示部１０４に表示する。
【００５０】
本実施形態の第１情報によれば、ユーザがマイクロブログに書き込みを行った場所において使用したユーザ数が最も多い単語が表示されるため、ユーザは、自身が居る場所において話題となっているものを知ることができる。
また、本実施形態の第２情報によれば、ユーザと同じ場所で同じ話題をマイクロブログに書きこむ他のユーザ、即ち、ユーザと行動や嗜好が似た他のユーザが話題にしている単語が表示されるため、ユーザは、自身の行動や嗜好に合った情報を得ることができる。
また、本実施形態の第３情報によれば、ユーザが書き込みを行った場所で共起回数の多い共起語、すなわちユーザが書き込みを行った場所において興味があると考えられる単語と同じものが話題となっている場所の地名が表示されるため、ユーザは、自身の行動範囲外の場所の中から、自身の嗜好にあった場所を知ることができる。
また、本実施形態によれば、マイクロブログの書き込みがされる度に各データベースが更新され、データベースの更新に伴い、ユーザへ提供される情報も変化するため、管理者によってデータベースを更新することなく、ユーザに合った情報を提供することができる。
【００５１】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよく、各変形例を組み合わせて実施してもよい。
【００５２】
上述した実施形態においては、情報提供装置３０は、マイクロブログのサービスをユーザに提供しているが、提供するサービスは、コンピュータネットワーク上の所謂電子掲示板やブログのサービス、ＳＮＳ（Social Networking Service）における電子掲示板やブログなどであってもよく、これらの電子掲示板やブログの文章について形態素解析を行い、各データベースを更新するようにしてもよい。
【００５３】
上述した実施形態においては、情報提供装置３０は、マイクロブログのサービスを提供する機能、形態素解析を行う機能、各データベースを生成・更新する機能、ユーザに提供する情報を決定する機能などを備えているが、これらの機能の全てを備えていなくてもよい。
例えば、マイクロブログのサービスを提供する装置、形態素解析を行う装置、各データベースを記憶する装置、各データベースの更新と、ユーザに提供する情報の決定を行う装置というように機能毎に装置を分け、これらの装置が連携してユーザに第１情報〜第３情報を提供するようにしてもよい。
なお、マイクロブログのサービスを提供する装置を独立した別の装置とする場合、この装置を複数設け、複数のマイクロブログサービスで書きこまれた文章を基に各データベースの内容を更新するようにしてもよい。
【００５４】
上述した実施形態においては、測位部１０７で端末装置１０の位置を測位しているが、例えば、移動体通信網の基地局の位置を利用して携帯電話機の位置を特定する技術を利用して、端末装置１０の位置データを生成するようにしてもよい。この構成によれば、測位部１０７を備えていない装置であっても位置データを生成することができる。
また、マイクロブログの文章を生成する際に、ユーザが自身の居る場所の地名を入力し、この入力された地名を位置データとして送信するようにしてもよい。
【００５５】
上述した実施形態においては、情報提供装置３０は、ステップＳ１０〜Ｓ１２の処理を実行しているが、３つの処理を全て実行するのではなく、いずれか一つの処理だけを実行するようにしてもよい。また、ステップＳ１０〜Ｓ１２の処理の中から選択した２つの処理を実行するようにしてもよい。
【００５６】
上述した実施形態においては、マイクロブログの文章から抽出された単語や、ユーザがマイクロブログの書き込みを行ったときに居た場所の地名をユーザに提供する情報としているが、ユーザに提供する情報は、これらの情報に限定されるものではない。例えば、ユーザに提供する情報としてステップＳ１０やステップＳ１２において決定した単語を含む文章をマイクロブログから抽出し、抽出したマイクロブログの文章を端末装置１０へ送信して表示するようにしてもよい。
また、例えば、ステップＳ１０やステップＳ１２において決定した単語に係る画像をインターネット上で検索し、検索で得た画像をユーザの端末装置１０へ送信してもよい。
また、上述した実施形態では、形態素解析を行なって地名や名詞、形容詞などを抽出しているが、ＵＲＬ（Uniform Resource Locator）を抽出してもよい。また、地名や名詞、形容詞、ＵＲＬのうち、いずれか一つ、または複数を選択してテキストデータの文章から抽出してもよい。
【００５７】
上述した実施形態においては、端末装置１０は、携帯可能な端末装置となっているが、携帯可能な端末装置に限定されるものではなく、例えば、デスクトップ型のパーソナルコンピュータであってもよい。なお、端末装置がデスクトップ型のコンピュータ装置であって測位部１０７を備えていない構成の場合には、テキストデータに含まれている地名のみを使用する構成としてもよい。
【００５８】
情報提供装置３０が記憶している情報提供プログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータ読取り可能な記録媒体に記憶した状態で提供し、情報提供装置３０にインストールしてもよい。また、通信網２０を介してプログラムをダウンロードして情報提供装置３０にインストールしてもよい。
【符号の説明】
【００５９】
１０，１０Ａ，１０Ｂ…端末装置、２０…通信網、３０…情報提供装置、１００…バス、１０１…制御部、１０２…記憶部、１０３…操作部、１０４…表示部、１０５…通信部、１０６…通話部、１０７…測位部、１１１…テキストデータ生成部、１１２…位置データ生成部、１１３…データ送信部、１１４…データ受信部、１１５…データ表示部、３００…バス、３０１…制御部、３０２…記憶部、３０３…操作部、３０４…表示部、３０５…通信部、３１１…取得部、３１２…抽出部、３１３…地名特定部、３１４…更新部、３１４Ａ…第１更新部、３１４Ｂ…第２更新部、３１４Ｃ…第３更新部、３１５…データ特定部、ＤＢ１…ユーザ行動データベース、ＤＢ２…ユーザ相関データベース、ＤＢ３…エリア情報データベース、ＤＢ４…地名／位置情報データベース
【図１】
0005766104.tif 000002
【図２】
0005766104.tif 000003
【図３】
0005766104.tif 000004
【図４】
0005766104.tif 000005
【図５】
0005766104.tif 000006
【図６】
0005766104.tif 000007
【図７】
0005766104.tif 000008
【図８】
0005766104.tif 000009
【図９】
0005766104.tif 000010
【図１０】
0005766104.tif 000011
【図１１】
0005766104.tif 000012
【図１２】
0005766104.tif 000013
【図１３】
0005766104.tif 000014