(57)【特許請求の範囲】
【請求項１】
演算制御装置と記憶装置と入出力インターフェイスとを備えるコンピュータにより、前記記憶装置に記憶されるあるユーザが投稿する第一及び第二メッセージ群を、各メッセージが投稿された日時に基づいて前記演算制御装置が処理する方法であり、学習ステップと推定ステップとを有し、
前記学習ステップは、
前記第一メッセージ群の中から場所の特定が可能なメッセージである第一場所メッセージを抽出するサブ・ステップと、
前記第一メッセージ群の中から所定の表現を含むメッセージである第一表現メッセージを抽出するサブ・ステップと、
前記場所と前記表現とを各メッセージが投稿された日時に基づいて関連付け、学習データを生成するサブ・ステップとを備え、
前記推定ステップは、
前記第二メッセージ群の中から所定の表現を含むメッセージである第二表現メッセージを抽出するサブ・ステップと、
前記入出力インターフェイスを介して場所の推定を行う日時である特定日時の入力を受け付けるサブ・ステップと、
前記特定日時と前記各第二表現メッセージが投稿された日時とに基づいて、前記表現を互いに関連付け、入力データを生成するサブ・ステップと、
前記学習データ及び前記入力データに基づいて協調フィルタリングを用い、前記特定日時における場所を推定するサブ・ステップとを備える、
方法。
【請求項２】
前記第一場所メッセージを抽出するサブ・ステップは、第一メッセージ中に、前記記憶装置に予め記憶する地名辞書に該当する地名が含まれることを条件に、その第一メッセージを前記第一場所メッセージとして抽出する請求項１に記載の方法。
【請求項３】
前記学習データを生成するサブ・ステップは、各メッセージが投稿された日時がより近いほどより強く関連付ける請求項１又は２に記載の方法。
【請求項４】
前記学習データを生成するサブ・ステップは、各メッセージが投稿された日時の周期性を考慮して関連付ける請求項１から３のいずれかに記載の方法。
【請求項５】
前記学習データを生成するサブ・ステップは、前記ユーザのプロフィールが前記記憶装置に予め記憶する所定のプロフィールであることを条件に、各メッセージが投稿された日時の周期性を考慮して関連付ける請求項１から４のいずれかに記載の方法。
【請求項６】
前記周期性は、一日周期、一週間周期、一ヶ月周期の少なくともいずれかである請求項４又は５に記載の方法。
【請求項７】
前記学習ステップは、
前記ユーザのプロフィールに勤務先の場所が含まれ、かつ前記第一表現メッセージが勤務中であることを示すことを条件に、前記場所と前記表現とを関連付け、学習データを生成するサブ・ステップを更に備える、
請求項１から６のいずれかに記載の方法。
【請求項８】
前記学習ステップは、
前記ユーザのプロフィールに自宅の場所が含まれ、かつ前記第一表現メッセージが在宅中であることを示すことを条件に、前記場所と前記表現とを関連付け、学習データを生成するサブ・ステップを更に備える、
請求項１から７のいずれかに記載の方法。
【請求項９】
前記特定日時の入力を受け付けるサブ・ステップは、特定の第二表現メッセージの選択を受け付けることにより、前記特定の第二表現メッセージが投稿された日時を前記特定日時として受け付け、
更に出力ステップを有し、
前記出力ステップは、
前記特定の第二表現メッセージに対応付けて、前記入出力インターフェイスを介して前記特定日時における場所を表示するサブ・ステップを備える
請求項１に記載の方法。
【請求項１０】
前記第二メッセージ群はタイムライン上に表示され、
前記第二表現メッセージはそれが選択可能である態様で表示され、
前記特定の第二表現メッセージに対応付けて、前記特定日時における場所を表示するサブ・ステップは、前記特定の第二表現メッセージが選択されることに応答して、前記入出力インターフェイスを介して前記特定の第二表現メッセージに隣接して前記特定日時における場所を表示させる請求項９に記載の方法。
【請求項１１】
実行されることにより、演算制御装置と記憶装置と入出力インターフェイスとを備えるコンピュータに請求項１に記載の方法の各ステップを実行させるコンピュータ・プログラム。
【請求項１２】
あるユーザが投稿する第一及び第二メッセージ群を、各メッセージが投稿された日時に基
づいて処理するコンピュータであり、学習手段と推定手段とを有し、
前記学習手段は、
前記第一メッセージ群の中から場所の特定が可能なメッセージである第一場所メッセージ
を抽出する機能と、
前記第一メッセージ群の中から所定の表現を含むメッセージである第一表現メッセージを
抽出する機能と、
前記場所と前記表現とを各メッセージが投稿された日時に基づいて関連付け、学習データ
を生成する機能とを備え、
前記推定手段は、
前記第二メッセージ群の中から所定の表現を含むメッセージである第二表現メッセージを
抽出する機能と、
場所の推定を行う日時である特定日時の入力を受け付ける機能と、
前記特定日時と前記各第二表現メッセージが投稿された日時とに基づいて、前記表現を互
いに関連付け、入力データを生成する機能と、
前記学習データ及び前記入力データに基づいて協調フィルタリングを用い、前記特定日時
における場所を推定する機能とを備える、
コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関係し、より詳しくは、ミニブログ等のソーシャル・メディアにおいてあるポストがなされたロケーションを推定する技術に係る。
【背景技術】
【０００２】
ソーシャル・メディアが広範に利用されるに従い、ソーシャル・メディア上で各ユーザが発信する情報から、その情報の発信がなされたロケーションを知りたい、との要請が存在する。例えば、ユーザから災害情報が発信された場合に、そのロケーションをいち早く知り、必要な対策を採ることが可能となる。一方、スマートフォン等のモバイルデバイスを介してソーシャル・メディア上への情報発信が行われる場合には、そのロケーションは刻々と変化することが想定される。このような課題に対して、従来から、モバイルデバイスのGPS（グローバル・ポジショニング・システム）機能を利用し、ユーザが発信する情報にジオタグと呼ばれる緯度・経度の情報を付加することが試みられている（非特許文献１参照）。また、発信された情報のテキストを分析し、テキストに含まれる地理的名称からロケーションを推定する技術が提案されている（特許文献１、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１０−５１７１４７号公報
【特許文献２】特開２００８−１５８５６４号公報
【非特許文献】
【０００４】
【非特許文献１】T. Sakamaki, et al. “マイクロブログのジオタグを用いたユーザの行動パターンの調査に関する研究”, IEICE Technical Report, NLC2010-37.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、このような従来手法には、それぞれ次のような課題があり、その成果は限定的である。すなわち、ジオタグが付加された情報、発信された情報のテキスト中に地理的名称が含まれることは、一般的にはあまり多く期待できないのが現実である。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的の一つは、ミニブログ等のソーシャル・メディアにおいてあるポストがなされたロケーションを推定する技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、あるユーザが投稿する第一及び第二メッセージ群を、各メッセージが投稿された日時に基づいて処理する方法であり、学習ステップと推定ステップとを有し、前記学習ステップは、前記第一メッセージ群の中から場所の特定が可能なメッセージである第一場所メッセージを抽出するサブ・ステップと、前記第一メッセージ群の中から所定の表現を含むメッセージである第一表現メッセージを抽出するサブ・ステップと、前記場所と前記表現とを各メッセージが投稿された日時に基づいて関連付け、学習データを生成するサブ・ステップとを備え、前記推定ステップは、前記第二メッセージ群の中から所定の表現を含むメッセージである第二表現メッセージを抽出するサブ・ステップと、場所の推定を行う日時である特定日時の入力を受け付けるサブ・ステップと、前記特定日時と前記各第二表現メッセージが投稿された日時とに基づいて、前記表現を互いに関連付け、入力データを生成するサブ・ステップと、前記学習データ及び前記入力データに基づいて協調フィルタリングを用い、前記特定日時における場所を推定するサブ・ステップとを備える、方法である。
【０００８】
ここで、第一場所メッセージを抽出するサブ・ステップは、第一メッセージ中に、予め記憶する地名辞書に該当する地名が含まれることを条件に、その第一メッセージを前記第一場所メッセージとして抽出することができる。また、学習データを生成するサブ・ステップは、各メッセージが投稿された日時がより近いほどより強く関連付けることができ、各メッセージが投稿された日時の周期性を考慮して関連付けることができ、前記ユーザのプロフィールが所定のプロフィールであることを条件に、各メッセージが投稿された日時の周期性を考慮して関連付けることもできる。なお、周期性としては、一日周期、一週間周期、一ヶ月周期等を挙げることができる。
【０００９】
また、学習ステップは、前記ユーザのプロフィールに勤務先の場所が含まれ、かつ前記第一表現メッセージが勤務中であることを示すことを条件に、前記場所と前記表現とを関連付け、学習データを生成するサブ・ステップを更に備えることができる。さらに、学習ステップは、前記ユーザのプロフィールに自宅の場所が含まれ、かつ前記第一表現メッセージが在宅中であることを示すことを条件に、前記場所と前記表現とを関連付け、学習データを生成するサブ・ステップを更に備えることができる。なお、これらのサブ・ステップにおける関連付けを、前記場所と前記表現とを各メッセージが投稿された日時に基づいて関連付け、学習データを生成するサブ・ステップにおける関連付けよりも強く関連付付けることもできる。
【００１０】
また、場所の推定を行う日時である特定日時の入力を受け付けるサブ・ステップは、特定の第二表現メッセージの選択を受け付けることにより、前記特定の第二表現メッセージが投稿された日時を前記特定日時として受け付け、更に出力ステップを有し、前記出力ステップ(C)は、前記特定の第二表現メッセージに対応付けて、前記特定日時における場所を表示するサブ・ステップ(c1)を備えることができる。さらに、前記第二メッセージ群はタイムライン上に表示され、前記第二表現メッセージはそれが選択可能である態様で表示され、前記サブ・ステップ(c1)は、前記特定の第二表現メッセージが選択されることに応答して、前記特定の第二表現メッセージに隣接して前記前記特定日時における場所を表示させることができる。
【００１１】
なお、前記メッセージは、前記ソーシャル・メディアに投稿されたメッセージから所定の条件の下にサンプリングされたメッセージとすることができる。また、前記メッセージは、前記ソーシャル・メディアに所定の期間内に投稿されたメッセージのうち、所定のキーワードを含む条件の下にサンプリングされたメッセージとすることもできる。また、前記ソーシャル・メディアがマイクロブログであってもよい。
【００１２】
本発明コンピュータ・プログラム、コンピュータ・システムとして把握した場合にも、上述した本発明を方法として把握した場合と実質的に同一の技術的特徴を備える事ができる。
【発明の効果】
【００１３】
本発明によれば、ミニブログ等のソーシャル・メディアにおいてあるポストがなされたロケーションを推定することができる。
【図面の簡単な説明】
【００１４】
【図１】マイクロブログのシステムを説明する概念図
【図２】ユーザ端末としてのスマートフォンとその画面表示の説明図
【図３】マイクロブログ・サーバ内のハードディスク装置内に記憶されているデータのデータ構造の説明図
【図４】コンピュータのハードウェア構成を説明するブロック図
【図５】コンピュータの機能を説明するブロック図
【図６】このコンピュータが実行する処理を説明するフローチャート
【図７】学習ステップを説明する概念図
【図８】推定ステップを説明する一の概念図
【図９】推定ステップを説明する他の概念図
【図１０】表示態様の説明図
【発明を実施するための形態】
【００１５】
実施形態
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、本発明は多くの異なる態様で実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らないことに留意されたい。実施の形態の説明の全体を通じて（特段の断りのない限り）同じ要素には同じ番号を付している。
【００１６】
図１は、ソーシャル・メディアの一例として、マイクロブログのシステムを説明する概念図である。本システムは、マイクロブログ・サーバ２と、ユーザ端末とを含み、これらはインタネット４を介して互いに通信可能に接続されている。また、ユーザ端末としては、通信機能を備えたあらゆる形態のコンピュータを採用することができる。例えば、モバイルデバイスとして、図示するスマートフォン３１、タブレット３２、（ノート型）パーソナル・コンピュータ３３の他にも、図示しないパーソナル・データ・アシスタント（ＰＤＡ、携帯情報端末）、車載コンピュータ、ネットブック等を採用することができる。
【００１７】
図２は、一例として、ユーザ端末としてのスマートフォン３１とその画面表示を説明するものである。このスマートフォン３１のタッチスクリーンには、マイクロブログ・アプリケーションの画面が表示されており、当該アプリケーション画面は、上から順に、ホーム部分３１１、タイムライン部分３１２、操作部分３１３に分かれている。ホーム部分には、メニューボタンと、タイムライン部分３１２がユーザＡＡＡのタイムラインである旨が表示されている。タイムライン部分３１２には、上から順に、ユーザＡＡＡのメッセージ部分３１２ａ、３１２ｂ、（フォローしている）ユーザＢＢＢのメッセージ部分３１２ｃが表示されている。これらのメッセージ部分３１２ａ〜ｃは、時系列沿って表示されている。つまり、最上部の発言部分３１２ａが最新のメッセージに対応している。
【００１８】
図３は、マイクロブログ・サーバ２内のハードディスク装置２０、２２内に記憶されているデータのデータ構造を説明するものである。ハードディスク装置２０に記憶されているメッセージテーブル（図３（ａ））には、各メッセージが発信された日時を示す発信日時(created_at)、各メッセージを特定するメッセージＩＤ(id)と、そのメッセージを発信したユーザを特定するユーザＩＤ(user_id)と、メッセージの内容であるテキスト（text）を備えている。なお、テキストには文字数制限（例えば、１４０文字以内等）を設けることができる。一方、ハードディスク装置２２に記憶されているプロフィールテーブル（図３（ｂ））には、各ユーザを特定するユーザＩＤ(user_id)、各ユーザの名前（図示せず）、ユーザのプロフィールを示すプロフィール情報(profile)、関連するウェブページのアドレスであるＵＲＬ情報(url)を備えている。
【００１９】
図４は、パーソナル・コンピュータ１のハードウェア構成を説明するブロック図である。コンピュータ１のハードウェア構成は、（低速及び高速の）バス１０、バス１０に接続されるＣＰＵ（演算制御装置）１１、ＲＡＭ（ランダム・アクセス・メモリ：記憶装置）１２、ＲＯＭ（リード・オンリ・メモリ：記憶装置）１３、ＨＤＤ（ハード・ディスク・ドライブ：記憶装置）１４、通信インタフェース１５、入出力インタフェース１６を備えている。さらに、入出力インタフェース１６に接続されるマウス１７、フラット・パネル・ディスプレイ（表示装置）１８、キーボード１９等を備えている。なお、コンピュータ１は一般的なパーソナル・コンピュータ・アーキテクチャを採用するものとして説明したが、例えば、より高いデータ処理能力や可用性を求めて、ＣＰＵ１１やＨＤＤ１４等を多重化することができる。また、デスクトップ型の他、様々なタイプのコンピュータ・システムを採用することができる。
【００２０】
このコンピュータ１のソフトウェア構成は、基本的な機能を提供するオペレーティング・システム（ＯＳ）と、OSの機能を利用するアプリケーション・ソフトウェアと、入出力装置のドライバ・ソフトウェアとを備えている。これらの各ソフトウェアは、各種データと共にRAM１２上にロードされ、CPU１１等により実行され、コンピュータ１は全体として、図４に示す機能モジュールとして機能し、図５に示す処理を実行する。
【００２１】
図４は、実施例に係るコンピュータ１の機能モジュールを説明するブロック図である。コンピュータ１は、学習モジュール１０１、入力モジュール１０２、推定モジュール１０３、表示モジュール１０４として機能する。ここで、学習モジュール１０１は、ロケーション・リスト（地名辞書）と第一表現リストとを備えている。入力モジュール１０２は、第二表現リストを備えている。なお、第一表現リストと第二表現リストとは異なる構成としてもよいし、同一の構成としてもよい。なお、ロケーション・リスト、第一及び第二表現リストの内容については、図７及び図８を参照しつつ、後述する。
【００２２】
学習モジュール１０１には、プロフィールのデータと第一メッセージ群のデータが入力される。これらのデータは、ＨＤＤ１４に記憶されている。また元々これらのデータは、マイクロブログ・サーバ２に記憶されており（図３（ａ）及び図３（ｂ）参照）、一定の条件のもと（例えば、ユーザＩＤにより紐付けられる特定のユーザのプロフィール及び特定のユーザが一定期間内に発信したメッセージ群、という条件。さらに、ロケーション・リスト、第一表現リストに含まれる言葉を含むメッセージ群、という追加条件）、インタネット４を介して、コンピュータ１にダウンロードされる。また、学習モジュール１０１からは学習データが出力される。
【００２３】
入力モジュール１０１には、第二メッセージ群のデータと、特定日時のデータが入力される。第二メッセージ群のデータは、ＨＤＤ１４に記憶されている。また元々第二メッセージ群のデータは、マイクロブログ・サーバ２に記憶されており（図３（ａ）参照）、一定の条件のもと（例えば、ユーザＩＤにより紐付けられる特定のユーザの一定期間内に発信したメッセージ群という条件。さらに、第二表現リストに含まれる言葉を含むメッセージ群、という追加条件）、インタネット４を介して、コンピュータ１にダウンロードされる。特定日時のデータは、例えば、操作者がコンピュータ１のキーボード１９を用いて入力することができる。また、マウス１７を操作して、ディスプレイ１８に表示される第二メッセージ群の中から、ある第二メッセージをクリックすることで、その第二メッセージが発信された日時を特定日時として入力することもできる。また、入力モジュール１０２からは入力データが出力される。
【００２４】
推定モジュール１０３には、学習モジュール１０１からの学習データと、入力モジュール１０２からの入力データとが入力される。推定モジュール１０３からは、出力データが出力される。表示モジュール１０４には、推定モジュール１０３からの出力データが入力される。表示モジュール１０４からは、表示データが出力される。
【００２５】
図６は、実施例に係るコンピュータ１が実行する処理を示すフローチャートであり、大きく分けて、学習ステップ（Ｓ１）と、推定ステップ（Ｓ２）と、出力ステップ（Ｓ３）とを備える。
【００２６】
図７は、学習モジュール１０１が行う学習ステップ（Ｓ１）を説明する概念図である。まず、学習モジュール１０１は、第一メッセージ群の中から場所の特定が可能なメッセージである第一ロケーション・メッセージを抽出する（Ｓ１１）。つまり、学習モジュール１０１は、ロケーション・リストを参照し、リストに含まれる地名（Ａ、Ｂ、Ｃ…）をそのテキストに含むメッセージを抽出する。ここでは、ロケーション・リストに地名として、「渋谷」、「表参道」が含まれており、それらをテキストに含むメッセージｍｌ及びメッセージｍｋが第一ロケーション・メッセージとして抽出される。次に、学習モジュール１０１は、第一メッセージ群の中から所定の表現を含むメッセージである第一表現メッセージを抽出する（Ｓ１２）。つまり、学習モジュール１０１は、第一表現リストを参照し、リストに含まれる表現（Ｐ、Ｑ、Ｒ…）をそのテキストに含むメッセージを抽出する。ここでは、第一表現リストに表現として「ランチ」、「出社」、「帰宅」が含まれており、それらをテキストに含むメッセージｍｋ、メッセージｍｍ及びメッセージｍｎが第一表現メッセージとして抽出される。
【００２７】
次に、学習モジュール１０１は、ロケーションと表現とを各メッセージが投稿された日時に基づいて関連付け、学習データを生成する（Ｓ１３）。まず、第一ロケーション・メッセージが特定するロケーションとそれが発信された日時とを結び付ける。ここでは、メッセージｍｌが発信された日時をｔｌとして、日時ｔｌとロケーション「渋谷」とを結び付ける。同様に、日時ｔｋとロケーション「表参道」とを結び付ける。次いで、第一表現メッセージが特定する表現とそれが発信された日時とを結び付ける。ここでは、メッセージｍｋが発信された日時をｔｋとして、日時ｔｋと表現「ランチ」とを結び付ける。同様に、日時ｔｍと表現「出社」とを結び付け、日時ｔｎと表現「帰宅」とを結び付ける。つまり、ある日時におけるロケーション又は表現とをｎ行１列の行列で表し、結び付けるロケーション又は表現の要素を「１」に、その他の要素を「０」とする。例えば、日時ｔｌの行は、ロケーション「渋谷」のみ「１」で、他のロケーション、表現はすべて「０」となる。
【００２８】
次に、学習モジュール１０１は、日時の近さ程度に応じて、ロケーションと表現と（近傍の行同士）を結び付ける。ここでは、メッセージｍｌが発信された日時ｔｌと、メッセージｍｍが発信された日時ｔｍとが非常に近い場合（例えば、１０分以内）には、日時ｔｌに対応する学習データの表現「出社」の欄には、比較的大きい値「０．９」を設定、同様に日時ｔｍに対応する学習データのロケーション「渋谷」の欄にも、比較的大きい値「０．９」を設定する。また、日時ｔｌと日時ｔｍとが中程度近い場合（例えば、１０分よりも長く一時間以内）には、日時ｔｌに対応する学習データの表現「出社」の欄には、中程度の値「０．５」を設定し、同様に日時ｔｍに対応する学習データのロケーション「渋谷」の欄にも、中程度の値「０．５」を設定する。さらに、日時ｔｌと日時ｔｍとが遠い場合（例えば、一時間よりも長い）には、日時ｔｌに対応する学習データの表現「出社」の欄には、小さい値「０．１」を設定し、同様に日時ｔｍに対応する学習データのロケーション「渋谷」の欄にも、小さい値「０．１」を設定する。この操作の意味は、ユーザがあるロケーションに居れば、その前後しばらくはそのロケーションに居た／留まる可能性が高いことを、また、ユーザがある状態にあれば、その前後しばらくはその状態であった／である可能性が高いことを反映したものである。したがって、表現の内容によって、ロケーションと表現との結び付きの時間閾値を変更することもできる。例えば、ランチは一時間程度でそのロケーションを移動することが想定される為、その時間閾値を比較的短く設定し、一方、一旦帰宅すれば数時間はそのロケーションに留まることが想定される為、その時間閾値を比較的長く設定することができる。
【００２９】
これまでは第一メッセージ群のみを用いて学習データを生成する方法を説明してきたが、ユーザのプロフィールを利用して学習データを生成することもできる。つまり、学習モジュール１０１は、ユーザのプロフィールに勤務先のロケーションが含まれ、かつ第一表現メッセージが勤務中であることを示すことを条件に、そのロケーションと表現とを関連付け、学習データを生成することができる（Ｓ１４）。ここでは、ユーザＡＡＡのプロフィールに勤務先のロケーション「渋谷」が含まれ、かつ第一表現メッセージｍｍが勤務中であることを示す「出社」を含むことから、そのロケーション「渋谷」と表現「出社」とを関連付ける。また、この関連付けは、非常に強く、日時ｔｍに対応する学習データとしては表現「出社」の欄とロケーション「渋谷」の欄に非常に大きな値、「１」を設定する。これは、勤務先が「渋谷」である為、「出社」したのは「渋谷」であることがほぼ確実であることを反映している。なお、第一表現リスト中の表現のうち、勤務中であることを示す表現に、予め属性（Ｏｆｆｉｃｅ）を付与しておき、この属性を参照することで、勤務中であることを示す表現を特定することができる。勤務中であることを示す表現には、「出社」の他にも、「会議」等を挙げることができる。
【００３０】
また、学習モジュール１０１は、ユーザのプロフィールに自宅のロケーションが含まれ、かつ第一表現メッセージが在宅中であることを示すことを条件に、そのロケーションと表現とを関連付け、学習データを生成することができる（Ｓ１５）。ここでは、ユーザＡＡＡのプロフィールに自宅のロケーション「川崎」が含まれ、かつ第一表現メッセージｍｎが在宅中であることを示す「帰宅」を含むことから、そのロケーション「川崎」と表現「帰宅」とを関連付ける。また、この関連付けは、非常に強く、日時ｔｎに対応する学習データとしては表現「帰宅」の欄とロケーション「川崎」の欄に大きな値、「１」を設定する。これは、自宅が「川崎」である為、「帰宅」したのは「川崎」であることがほぼ確実であることを反映している。なお、第一表現リスト中の表現のうち、在宅中であることを示す表現に、予め属性（Home）を付与しておき、この属性を参照することで、在宅中であることを示す表現を特定することができる。在宅中であることを示す表現には、「帰宅」の他にも、「就寝」等を挙げることができる。なお、ユーザのプロフィールを利用して学習データを生成する場合にも、学習モジュール１０１は、日時の近さ程度に応じて、ロケーションと表現と（近傍の行同士）を結び付けることができる。
【００３１】
ここで、学習データのタイムスタンプを一定の周期（期間Ｐ）に区切ることもできる。例えば、一日毎（２４時間毎）に区切り、かつ第一メッセージ群として複数日分のメッセージを利用することで、重畳的に学習データを生成することができる。これは、ユーザの生活パターンが周期性を有することを利用したものと言える。さらに、ユーザのプロフィールに「勤務先」が含まれることを条件に、タイムスタンプの区切りを平日の２４時間（Ｐ１）と休日の２４時間（Ｐ２）とに分けることもできる。これは、ユーザが会社員である場合には、その生活パターンが平日と休日とで大きく異なることを利用したものと言える。
【００３２】
図８及び図９は、入力モジュール１０２及び推定モジュール１０３が行う推定ステップ（Ｓ２）を説明する概念図である。まず、入力モジュール１０２は、第二メッセージ群（第一メッセージ群とは異なるメッセージ集合である）の中から所定の表現を含むメッセージである第二表現メッセージを抽出する（Ｓ２１）。つまり、入力モジュール１０２は、第二表現リストを参照し、リストに含まれる表現（Ｐ、Ｑ、Ｒ…）をそのテキストに含むメッセージを抽出する。ここでは、第二表現リストに表現として「地震」が含まれており、それらをテキストに含むメッセージＭｌが二表現メッセージとして抽出される。なお、第二メッセージ群は、日時順に（タイムラインのように）コンピュータ１のディスプレイ１８上に表示されているものとする。
【００３３】
次に、入力モジュール１０２は、所の推定を行う日時である特定日時Ｔの入力を受け付ける（Ｓ２２）。ここでは、操作者がマウス１７を操作して、ディスプレイ１８に日時順に表示される第二メッセージ群の中から、メッセージＭｌをクリックすることで、そのメッセージが発信された日時Ｔｌを特定日時Ｔとして入力するものとする。そして、推定モジュール１０２は、特定日時Ｔからの近さ程度に応じて、他の第二表現メッセージとを結び付け、入力データを生成する（Ｓ２３）。ここでは、メッセージＭｌが発信された日時ｔ＝Ｔｌと、メッセージＭｋが発信された日時Ｔｋとが比較的近い場合（例えば、１０分以内）には、入力データの表現「出社」の欄には、比較的大きい値「０．９」を設定する。一方、メッセージＭｌが発信された日時ｔ＝Ｔｌと、メッセージＭｍが発信された日時Ｔｍとが比較的遠い場合（例えば、１時間以上）には、入力データの表現「帰宅」の欄には、比較的小さい値「０．１」を設定する。
【００３４】
次に、推定モジュール１０３は、図７に示す学習データ及び図８に示す入力データに基づいて協調フィルタリングを用い、図９に示す出力データを得る。ここでは、共起スコアを次のように定義し：<co-occurrence score> = 1 / (1 + <temporal distance>)、<expression P’s score> = 1 / (1 +|<now> - timestamp(M)|), where P is in message Mとして、出力データの各値を求めた。この出力データには、ロケーション・リストに含まれる地名（Ａ、Ｂ、Ｃ…）毎にその確からしさ（確信度）が付されており、例えば、図９の例では、地名Ｃの確からしさが「０．８」で、他に比べて最も高いことを示している。これは、ユーザＡＡＡが特定日時Ｔにおいてロケーション「Ｃ（例えば、渋谷）」に居る可能性が高い、と推定できたことを意味する。
【００３５】
図１０は、出力モジュール１０４が行う出力ステップ（Ｓ３）の表示結果の態様を説明する図である。出力モジュール１０４は、図９に示す出力データを受け取り、表示データをディスプレイ１８に送ることで、メッセージＭｌに対応付けて特定日時Ｔにおけるロケーションを表示する（Ｓ３１）。その一の態様としては、次の通りである。ディスプレイ１８上には、第二メッセージ群が日時順に表示される。その中の第二表現メッセージＭｌが選択可能な態様（例えば、他のメッセージと色を変更する）で表示される。第二表現メッセージＭｌが選択される（例えば、マウス１７を用いてポインタを第二表現メッセージＭｌに合わせる）ことに応答して、第二表現メッセージＭｌに隣接して特定日時Ｔにおけるロケーション（例えば、「渋谷」）を表示させる（図１０（ａ）参照）。更に、この際、そのロケーションの確からしさ（例えば、「０．８」）を併せて表示させることができる（例えば、「渋谷（０．８）」。さらに、複数のロケーションとそれぞれの確からしさを併せて表示させることもできる（例えば、渋谷（０．８）、表参道（０．７）、大阪（０．０））。他方、特定日時Ｔにおけるロケーションに基づいて、地図上に第二表現メッセージＭｌをマッピングして表示させることもできる（図１０（ｂ）参照）。
【００３６】
本発明は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、またはハードウェアおよびソフトウェア両方のエレメントを包含する実施形態の形を取ることができる。ある好適な実施形態において、本発明は、以下に限らないが、ファームウェア、常駐ソフトウェア、マイクロコード、構文解析ピココードなどを含めた、ソフトウェアに実装される。
【００３７】
さらに、本発明は、コンピュータまたは任意の命令実行システムによってまたはこれに関連させて使用するプログラム・コードを備えるコンピュータ・プログラム、コンピュータ可読媒体の形態を採ることもできる。本説明目的の上で、コンピュータ可読媒体は、任意の命令実行システム、装置、またはデバイスによってまたはこれに関連させて使用するためのプログラムを、収容、格納、通信、伝搬、または伝送できる任意の装置であり得る。具体的には、前述の構文解析制御モジュールは、この意味で命令実行システム、または「コンピュータ」を構成する。
【００３８】
媒体は、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム（もしくは装置もしくはデバイス）または伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現時点での例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ／ｗｒｉｔｅ）メモリ、およびＤＶＤが含まれる。
【００３９】
プログラム・コードを格納もしくは実行またはその両方を行うのに適したデータ処理システムは、システム・バスを介して直接的または間接的にメモリ・エレメントに連結された少なくとも一つのプロセッサを含み得る。このメモリ・エレメントには、プログラム・コードの実際の実行の過程で使われるローカル・メモリ、バルク記憶装置、および、実行中にバルク記憶装置から読み出さねばならない回数を低減するために、少なくとも一部のプログラム・コードに一時的保管を提供するキャッシュ・メモリを含めることができる。
【符号の説明】
【００４０】
１…パーソナル・コンピュータ、
１１…ＣＰＵ（演算制御装置）
１２…ＲＡＭ（ランダム・アクセス・メモリ：記憶装置）
１３…ＲＯＭ（リード・オンリ・メモリ：記憶装置）
１４…ＨＤＤ（ハード・ディスク・ドライブ：記憶装置）
１５…通信インタフェース
１６…入出力インタフェース
１７…マウス
１８…フラット・パネル・ディスプレイ（表示装置）
１０１…学習モジュール
１０２…入力モジュール
１０３…推定モジュール
１０４…出力モジュール
２…マイクロブログ・サーバ
２０、２２…ハード・ディスク・ドライブ
３１…スマートフォン
３２…タブレット
３３…（ノート型）パーソナル・コンピュータ
【図１】
0005911335.tif 000002
【図２】
0005911335.tif 000003
【図３】
0005911335.tif 000004
【図４】
0005911335.tif 000005
【図５】
0005911335.tif 000006
【図６】
0005911335.tif 000007
【図７】
0005911335.tif 000008
【図８】
0005911335.tif 000009
【図９】
0005911335.tif 000010
【図１０】
0005911335.tif 000011