以下に、本願の開示する情報処理方法、情報処理プログラム及びサーバの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係るシステムの構成例について説明する。図1は、実施例1に係るシステムの構成例を示す図である。図1に示すように、このシステムには、SNS(Social Networking Service)サーバ20と、端末30aと、端末30bと、端末30cと、サーバ100とが収容される。また、SNSサーバ20、端末30a,30b,30c、サーバ100は、ネットワーク10を介して接続される。このネットワーク10としては、有線又は無線を問わず、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用して良い。また、図1に示した例では、サーバ100に3つの端末30a,30b,30cが接続される場合を示したが、図示の構成に限定されない。すなわち、サーバ100には任意数の端末が接続されて良い。また、以下では、端末30a,30b,30cの各装置を区別無く総称する場合には、端末30と記載する。
SNSサーバ20は、SNSを提供し、利用者によって投稿された投稿情報を記憶する。端末30は、利用者によって利用される情報処理装置であり、端末30を保持する利用者の動作を示す動作データを取得する。サーバ100は、SNSサーバ20に記憶された投稿情報から利用者の行動に関連する行動データを抽出し、その行動が行われた時にその利用者の端末30で取得された動作データと対応付けて記録する。
ここで、サーバ100が行動データと動作データと対応付けるのは、ある行動は、所定期間における複数の動作の集積であると考えられるからである。例えば、行動には、「移動」、「資料作成」、「会議」、「プレゼン」、「買い物」、「散歩」、「団らん」、「料理」などが挙げられる。一例として、「移動」が行われた場合には、この行動は、「歩く」、「走る」、「立ち止まる」、「階段を上る」などの動作をそれぞれ所定の割合で含むものと考える。また、他の例として、「プレゼン」が行われた場合には、この行動は、「立ち上がる」、「話す」、「手を上げる」、「指差す」などの動作をそれぞれ所定の割合で含むものと考える。
このように、サーバ100は、抽出した行動データと取得した動作データと対応付けて記録するので、動作と行動との対応付けにかかる人的負荷を削減することができる。
SNSサーバ20は、例えば、SNSを提供するサーバ装置である。ここで提供されるSNSの一例としては、ツイッター(登録商標)が挙げられる。例えば、SNSサーバ20は、利用者IDによって識別される個々の利用者が携帯電話やパーソナルコンピュータなどの情報通信機器を用いて投稿したつぶやきを記憶する。このつぶやきには、少なくとも、利用者を識別する利用者IDと、その利用者により投稿されたテキストデータと、そのテキストデータが投稿された投稿時刻とが対応付けられる。なお、本実施例では、SNSの一例としてツイッター(登録商標)を用いた場合を説明するが、これに限定されるものではなく、例えば、ブログ、簡易メール、他のSNSなどの投稿サービスを用いても良い。また、SNSサーバ20につぶやきを投稿する情報通信機器としては、上記の携帯電話やパーソナルコンピュータのほか、スマートフォンやPHS(Personal Handy-phone System)端末などを用いても良い。また、後述の端末30を用いてつぶやきを投稿しても良く、端末30とは別の装置を用いて投稿しても良い。また、つぶやきは、ツイート又は投稿情報とも称される。また、つぶやきは、対応情報の一例である。
図2を用いて、SNSサーバ20に投稿されたつぶやきについて説明する。図2は、SNSサーバに投稿されたつぶやきの一例を示す図である。図2には、投稿されたつぶやきが時系列順に整列されたタイムラインを示す。例えば、タイムラインの1行目には、「B「○○の件・・・」(15:33)」というテキストデータを含む。これは、SNSの利用者Bが15時33分に「○○の件・・・」というつぶやきを投稿したことを示す。また、例えば、タイムラインの2行目には、「A「会議中」(15:31)」というテキストデータを含む。これは、SNSの利用者Aが15時31分に「会議中」というつぶやきを投稿したことを示す。同様に、タイムラインの他の行にも、各利用者により投稿されたつぶやきを含む。なお、タイムラインの時系列順は、昇順であっても降順であっても良い。
端末30は、例えば、加速度センサを備え、端末30を保持する利用者の動作を推定する情報処理装置である。この端末30の一例としては、スマートフォン、携帯電話、PHS(Personal Handy-phone System)端末、活動量計などが挙げられる。
図3は、実施例1に係る端末の機能構成を示すブロック図である。図3に示すように、端末30は、動作推定部31と、動作記憶部32と、動作抽出部33と、位置検出部34と、通信部35とを有する。
動作推定部31は、端末30を保持する利用者の動作を推定する。例えば、動作推定部31は、「森田千絵、佐藤誠、土井美和子,「加速度データを用いた行動認識」,情報科学技術フォーラム一般講演論文集,2002(3),pp.415−416」に記載されるように、加速度センサを用いて所定時間ごとの動作を推定する。
例えば、動作推定部31は、1秒ごとに、端末30の位置や向きの変化に応じた加速度データを加速度センサから取得する。動作推定部31は、取得した加速度データに基づいて、端末30を保持する利用者の動作を推定する。動作推定部31は、推定した動作と、推定された時刻とを対応付けて、動作データとして動作記憶部32に格納する。なお、ここでは、動作推定部31が加速度センサを用いて動作データを取得する方法を説明したが、本発明はこれに限定されるものではない。例えば、動作推定部31は、加速度センサと角速度センサとを組み合わせたモーションセンサを用いても良く、カメラ画像から推定する技術を用いても良い。また、ここでは、動作推定部31が1秒ごとに動作を推定する場合を説明したが、本発明はこれに限定されるものではなく、例えば、0.5秒ごとに動作を推定しても良い。
動作記憶部32は、動作データを記憶する。図4は、動作記憶部に記憶される情報の一例を示す図である。図4に示すように、例えば、動作記憶部32は、動作推定部31により推定された動作と、その動作が推定された時刻とを対応付けて記憶する。
図4に示すように、例えば、動作記憶部32は、時刻「15:30:30」と、動作「話す」とを対応付けて記憶する。つまり、端末30を保持する利用者が15時30分30秒に、話すという動作を行ったことを記憶する。また、例えば、動作記憶部32は、時刻「15:30:31」と、動作「手を上げる」とを対応付けて記憶する。つまり、端末30を保持する利用者が15時30分31秒に、手を上げるという動作を行ったことを記憶する。また、例えば、動作記憶部32は、その他の時刻についても同様に、1秒ごとの動作を記憶する。なお、ここでは、動作記憶部32が1秒ごとの動作を記憶する場合を説明したが、本発明はこれに限定されるものではなく、例えば、0.5秒ごとに動作を記憶しても良い。また、動作記憶部32に格納されてから所定時間を経過した情報が上書きされる構成であっても良い。
動作抽出部33は、動作データを動作記憶部32から抽出する。例えば、動作抽出部33は、動作データを抽出する旨の抽出要求と、動作データを抽出する時間を示す抽出時間とを、通信部35を介してサーバ100から受信する。動作抽出部33は、抽出時間に対応する動作データを動作記憶部32から抽出する。動作抽出部33は、抽出した動作データを、通信部35を介してサーバ100に送信する。
例えば、動作抽出部33は、抽出要求と、抽出時間「15時25分〜15時35分」とを、通信部35を介してサーバ100から受信する。動作抽出部33は、15時25分から15時35分までの間に対応する動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」を動作記憶部32から抽出する。動作抽出部33は、抽出した動作データを、通信部35を介してサーバ100に送信する。
位置検出部34は、端末30の位置情報を検出する。例えば、位置検出部34は、GPS(Global Positioning System)受信部である。例えば、位置検出部34は、GPS衛星から送出される電波を受信し、受信した電波をもとに端末30の位置情報を取得する。位置検出部34は、取得した位置情報を通信部35を介してサーバ100に送信する。なお、位置検出部34により取得される位置情報は、例えば、グローバル座標である。また、位置検出部34が位置情報を検出する方法は、これに限定されるものではない。例えば、位置検出部34は、無線LANや3Gネットワークなどの無線通信方式を利用した三角法によって位置情報を検出しても良い。
通信部35は、例えば、サーバ100と端末30との間で送受信される各種情報に関する通信を制御する。この通信部35の一例としては、ネットワークインタフェースカード(NIC:Network Interface Card)が挙げられる。例えば、通信部35は、サーバ100から抽出要求及び抽出時間を受け付けて、受け付けた抽出要求及び抽出時間を動作抽出部33に出力する。また、例えば、通信部35は、動作抽出部33から動作データを受け付けて、受け付けた動作データをサーバ100に送信する。また、例えば、通信部35は、位置検出部34から位置情報を受け付けて、受け付けた位置情報をサーバ100に送信する。
なお、動作推定部31、動作抽出部33、位置検出部34には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。
また、動作記憶部32には、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、RAM(Random Access Memory)やフラッシュメモリ(Flash Memory)などが挙げられる。また記憶装置としては、ハードディスク装置や光ディスク装置などが挙げられる。
サーバ100は、SNSサーバ20に記憶された投稿情報から利用者の行動に関連する行動データを抽出し、その行動が行われた時にその利用者の端末30で取得された動作データと対応付けて記録する。
図5は、実施例1に係るサーバの機能構成を示すブロック図である。図5に示すように、サーバ100は、通信部101と、抽出部102と、行動辞書記憶部103と、末尾辞書記憶部104と、近隣者検出部105と、取得部106と、行動時間記憶部107と、記録部108と、動作ログ記憶部109とを有する。
通信部101は、サーバ100と端末30との間で送受信される各種情報に関する通信を制御する。この通信部101の一例としては、NICが挙げられる。例えば、通信部101は、例えば、通信部101は、抽出要求及び抽出時間を取得部106から受け付けて、受け付けた抽出要求及び抽出時間を端末30に送信する。また、例えば、通信部101は、端末30から動作データを受け付けて、受け付けた動作データを取得部106に出力する。また、例えば、通信部101は、端末30から位置情報を受け付けて、受け付けた位置情報を近隣者検出部105に出力する。
抽出部102は、例えば、SNSサーバ20に記憶された投稿情報から利用者の行動に関連する行動データを抽出する。なお、抽出部102には、処理対象となる利用者の利用者ID及び名前が予め設定されるものとする。また、説明を簡潔にするために、ここで設定される利用者IDは、上述したSNSサーバ20に記憶される利用者IDと同一であるものとする。
例えば、抽出部102は、SNSサーバ20から処理対象となる利用者のつぶやきを検出する。抽出部102は、後述の行動辞書記憶部103を参照し、検出したつぶやきから行動を表す単語を抽出する。抽出部102は、抽出した単語に対応する行動名を行動辞書記憶部103から取得する。抽出部102は、検出したつぶやきの投稿時刻をSNSサーバ20から取得する。抽出部102は、後述の末尾辞書記憶部104を参照し、検出したつぶやきに末尾語が含まれる場合に、その末尾語を取得する。抽出部102は、利用者IDと、名前と、行動名と、末尾語と、投稿時刻とを取得部106に出力する。
例えば、処理対象となる利用者として、利用者ID「101」の利用者Aが設定されていた場合を説明する。この場合、抽出部102は、例えば、図2のタイムラインから、利用者Aが15時31分に投稿した「会議中」というつぶやきを検出する。抽出部102は、行動辞書記憶部103を参照し、行動を表す単語として「会議」を抽出する。抽出部102は、抽出した単語「会議」に対応する行動名として「会議」を取得する。抽出部102は、末尾辞書記憶部104を参照し、検出したつぶやきから末尾語「中」を取得する。抽出部102は、利用者ID「101」と、名前「A」と、行動名「会議」と、末尾語「中」と、投稿時刻「15時31分」とを取得部106に出力する。
また、例えば、抽出部102は、SNSサーバ20から処理対象となる利用者の名前を含むつぶやきを検出する。例えば、処理対象となる利用者として、利用者ID「101」の利用者Aが設定されていた場合を説明する。この場合、抽出部102は、例えば、図2のタイムラインから、利用者Bが15時30分に投稿した「Aさんプレゼン中」というつぶやきを検出する。抽出部102は、行動辞書記憶部103を参照し、行動を表す単語として「プレゼン」を抽出する。抽出部102は、抽出した単語「プレゼン」に対応する行動名として「プレゼン」を取得する。抽出部102は、末尾辞書記憶部104を参照し、検出したつぶやきから末尾語「中」を取得する。抽出部102は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、末尾語「中」と、投稿時刻「15時30分」とを取得部106に出力する。なお、利用者の名前を含むつぶやきを検出する場合には、抽出部102は、利用者と相互フォローの関係にある者のつぶやきを検出対象としても良い。
また、例えば、抽出部102は、SNSサーバ20から処理対象となる利用者の近隣者のつぶやきを検出する。例えば、抽出部102は、処理対象となる利用者の近隣者の利用者IDと、利用者と近隣者との間の距離とを、後述の近隣者検出部105から取得する。抽出部102は、近隣者の利用者IDに対応するつぶやきを検出する。抽出部102は、行動辞書記憶部103を参照し、実行人数が「複数人」に対応する行動について、行動を表す単語をつぶやきから抽出する。抽出部102は、行動辞書記憶部103を参照し、抽出した単語に対応する隣接距離以内に近隣者がいるか判定する。抽出部102は、隣接距離以内に近隣者がいる場合に、抽出した単語に対応する行動名を行動辞書記憶部103から取得する。抽出部102は、検出したつぶやきの投稿時刻をSNSサーバ20から取得する。抽出部102は、後述の末尾辞書記憶部104を参照し、検出したつぶやきに末尾語が含まれる場合に、その末尾語を取得する。抽出部102は、利用者IDと、行動名と、末尾語と、投稿時刻とを取得部106に出力する。
例えば、処理対象となる利用者として利用者ID「101」の利用者Aが設定されており、利用者Aの近隣者として利用者ID「103」の利用者Cが検出されていた場合を説明する。また、ここでは、利用者Aと利用者Cとの間の距離が「2m」であるものとして説明する。この場合、抽出部102は、例えば、図2のタイムラインから、利用者Cが15時15分に投稿した「打合せなう」というつぶやきを検出する。抽出部102は、行動辞書記憶部103を参照し、行動を表す単語として「打合せ」を抽出する。抽出部102は、行動辞書記憶部103を参照し、抽出した単語に対応する隣接距離「10m」と、利用者Aと利用者Cとの間の距離「2m」とを比較し、隣接距離以内に近隣者がいるか判定する。抽出部102は、隣接距離以内に近隣者がいるので、抽出した単語「打合せ」に対応する行動名として「会議」を取得する。抽出部102は、末尾辞書記憶部104を参照し、検出したつぶやきから末尾語「なう」を取得する。抽出部102は、利用者ID「101」と、名前「A」と、行動名「会議」と、末尾語「なう」と、投稿時刻「15時15分」とを取得部106に出力する。なお、利用者の近隣者のつぶやきを検出する場合には、抽出部102は、利用者と相互フォローの関係にある者のつぶやきを検出対象としても良い。
行動辞書記憶部103は、行動ごとに、行動を表す単語を記憶する。図6は、行動辞書記憶部に記憶される情報の一例を示す図である。図6に示すように、例えば、行動辞書記憶部103は、行動名と、行動を表す単語と、実行人数と、隣接距離とを対応付けて記憶する。このうち、行動名は、行動の名称を示す。行動を表す単語は、行動名に対応する行動が行われたことを表す単語を示す。実行人数は、行動名に対応する行動が行われる人数を示す。例えば、実行人数には、「個人」又は「複数人」が格納される。隣接距離は、行動名に対応する行動が行われる際に、行動を行う者同士が隣接する距離を示す。
図6に示すように、例えば、行動辞書記憶部103は、行動名「プレゼン」と、行動を表す単語「プレゼン」「件」「会社名」と、実行人数「複数人」と、隣接距離「10m」とを対応付けて記憶する。また、例えば、行動辞書記憶部103は、他の行動についても同様に、行動名と、行動を表す単語と、実行人数と、隣接距離とを対応付けて記憶する。なお、行動辞書記憶部103は、サーバ100を管理する者により予め設定されるものとする。
末尾辞書記憶部104は、末尾語を記憶する。図7は、末尾辞書記憶部に記憶される情報の一例を示す図である。図7に示すように、例えば、末尾辞書記憶部104は、末尾語と、重みとを対応付けて記憶する。このうち、末尾語は、つぶやきの末尾に含まれる可能性のある語句を示す。例えば、末尾語は、「中」、「なう」、「わず」、「だん」などを含む。また、重みは、末尾語を含まないつぶやきに対して、該当の末尾語を含むつぶやきの重みの倍率を示す。なお、末尾辞書記憶部104は、サーバ100を管理する者により予め設定されるものとする。
図7に示すように、例えば、末尾辞書記憶部104は、末尾語「中」と、重み「×2」とを対応付けて記憶する。つまり、末尾辞書記憶部104は、つぶやきの末尾に「中」が含まれる場合には、そのつぶやきの重みが末尾語を含まないつぶやきの2倍であることを記憶する。また、例えば、末尾辞書記憶部104は、他の末尾語についても同様に、末尾語と、重みとを対応付けて記憶する。なお、「中」及び「なう」は、つぶやきに対応する行動が投稿時刻に行われていることを示す行動中語句の一例である。また、「わず」及び「だん」は、つぶやきに対応する行動が投稿時刻に終了したことを示す行動終了語句の一例である。
近隣者検出部105は、例えば、処理対象となる利用者の近隣者を検出する。例えば、近隣者検出部105は、利用者が保持する端末30や他の利用者が保持する端末30から、位置情報をそれぞれ取得する。近隣者検出部105は、取得した位置情報に基づいて、他の利用者のうち、処理対象となる利用者から所定の距離以内にいる近隣者を検出し、検出した近隣者の利用者IDを取得する。近隣者検出部105は、検出した近隣者について、処理対象となる利用者と近隣者との間の距離を算出する。近隣者検出部105は、近隣者の利用者IDと、処理対象となる利用者と近隣者との間の距離とを、抽出部102に出力する。なお、近隣者検出部105は、利用者の利用者IDと、その利用者が保持する端末30を識別する識別情報との対応関係を保持するものとする。
取得部106は、例えば、処理対象となる利用者の端末30から動作データを取得する。例えば、取得部106は、利用者IDと、名前と、行動名と、末尾語と、投稿時刻とを抽出部102から受け付ける。取得部106は、後述の行動時間記憶部107を参照し、行動名と末尾語とに対応する行動時間を取得する。取得部106は、取得した行動時間と投稿時刻とに基づいて、動作記憶部32から動作データを抽出する抽出時間を算出する。取得部106は、動作データを抽出する旨の抽出要求と、抽出時間とを、処理対象となる利用者の端末30に送信する。取得部106は、送信した要求と抽出時間とに対応する動作データを、処理対象となる利用者の端末30から取得する。取得部106は、利用者IDと、名前と、行動名と、末尾語と、動作データとを記録部108に出力する。
例えば、取得部106は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、末尾語「中」と、投稿時刻「15時30分」とを抽出部102から受け付ける。取得部106は、行動時間記憶部107を参照し、行動名「プレゼン」と末尾語「中」とに対応する第1の行動時間「±5」を取得する。取得部106は、行動時間「±5」と投稿時刻「15時30分」とに基づいて、動作記憶部32から動作データを抽出する抽出時間「15時25分〜15時35分」を算出する。取得部106は、抽出要求と、抽出時間「15時25分〜15時35分」とを、利用者Aの端末30に送信する。取得部106は、送信した要求と抽出時間とに対応する動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」を、利用者Aの端末30から取得する。取得部106は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、末尾語「中」と、動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」とを記録部108に出力する。
行動時間記憶部107は、行動時間を記憶する。この行動時間は、つぶやきの投稿時刻を基準とした動作データの抽出時間に対応する。図8は、行動時間記憶部に記憶される情報の一例を示す図である。図8に示すように、例えば、行動時間記憶部107は、行動名と、第1の行動時間と、第2の行動時間とを対応付けて記憶する。このうち、第1の行動時間は、行動名が取得されたつぶやきに行動終了語句が含まれない場合の行動時間を示す。第2の行動時間は、行動名が取得されたつぶやきに行動終了語句が含まれる場合の行動時間を示す。なお、行動時間記憶部107は、サーバ100を管理する者により予め設定されるものとする。
図8に示すように、例えば、行動時間記憶部107は、行動名「プレゼン」と、第1の行動時間「±5」と、第2の行動時間「−10」とを対応付けて記憶する。つまり、行動時間記憶部107は、行動名「プレゼン」が取得されたつぶやきに「わず」及び「だん」が含まれない場合には、そのつぶやきの投稿時刻の5分前から5分後までの動作データを抽出することを示す。また、行動時間記憶部107は、行動名「プレゼン」が取得されたつぶやきに「わず」又は「だん」が含まれる場合には、そのつぶやきの投稿時刻の10分前から投稿時刻までの動作データを抽出することを示す。また、行動時間記憶部107は、行動名についても同様に、第1の行動時間と、第2の行動時間とを記憶する。
記録部108は、行動と動作とを対応付けて記録する。例えば、記録部108は、利用者IDと、名前と、行動名と、末尾語と、動作データとを取得部106から受け付ける。記録部108は、末尾辞書記憶部104を参照し、末尾語に対応する重みを取得する。記録部108は、利用者IDと、名前と、行動名と、重みと、動作データとを対応付けて、後述の動作ログ記憶部109に格納する。
例えば、記録部108は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、末尾語「中」と、動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」とを取得部106から受け付ける。記録部108は、末尾辞書記憶部104を参照し、末尾語「中」に対応する重み「×2」を取得する。ここで、記録部108は、受け付けた情報に、末尾辞書記憶部104の末尾語が含まれない場合には、重み「×1」を取得する。記録部108は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、重み「×2」と、動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」とを対応付けて、動作ログ記憶部109に格納する。
動作ログ記憶部109は、行動と動作とを対応付けて記憶する。図9は、動作ログ記憶部に記憶される情報の一例を示す図である。図9に示すように、例えば、動作ログ記憶部109は、利用者IDと、名前と、行動名と、重みと、動作データとを対応付けて記憶する。このうち、利用者IDは、利用者を識別するIDを示す。名前は、利用者の名前を示す。
図9に示すように、例えば、動作ログ記憶部109は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、重み「×2」と、動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」とを対応付けて記憶する。つまり、動作ログ記憶部109は、利用者ID「101」の利用者Aが行ったプレゼンと、15時30分28秒の立ち上がるという動作や15時30分29秒の話すという動作などを含む動作データとが対応することを記憶する。また、動作ログ記憶部109は、この動作データの重みが「×2」であることも記憶する。また、例えば、動作ログ記憶部109は、他の行動名についても同様に、動作データを対応付けて記憶する。
なお、抽出部102、近隣者検出部105、取得部106、記録部108には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。
また、行動辞書記憶部103、末尾辞書記憶部104、行動時間記憶部107、動作ログ記憶部109には、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、RAM(Random Access Memory)やフラッシュメモリ(Flash Memory)などが挙げられる。また記憶装置としては、ハードディスク装置や光ディスク装置などが挙げられる。
次に、実施例1に係る端末30の処理手順について説明する。実施例1に係る端末30は、動作推定にかかる処理と、動作抽出にかかる処理とをそれぞれ実行する。図10は、動作推定にかかる処理の処理手順を示すフローチャートである。図10に示す処理は、図示した各装置に電源から電力が供給される間、所定時間間隔で実行される。
図10に示すように、動作推定部31は、例えば、1秒ごとに、動作を推定する(ステップS101)。例えば、動作推定部31は、端末30の位置や向きの変化に応じた加速度データを加速度センサから取得し、取得した加速度データに基づいて、端末30を保持する利用者の動作を推定する。
動作推定部31は、動作データを動作記憶部32に格納する(ステップS102)。例えば、動作推定部31は、推定した動作と、推定された時刻とを対応付けて、動作データとして動作記憶部32に格納する。
図11は、動作抽出にかかる処理の処理手順を示すフローチャートである。図11に示す処理は、動作抽出部33が抽出要求及び抽出時間をサーバ100から受信したことを契機として実行される。
図11に示すように、動作抽出部33は、抽出要求及び抽出時間をサーバ100から受信すると(ステップS201,Yes)、抽出時間に対応する動作データを動作記憶部32から抽出する(ステップS202)。動作抽出部33は、抽出した動作データをサーバ100に送信する(ステップS203)。なお、動作抽出部33は、抽出要求及び抽出時間をサーバ100から受信するまで(ステップS201,No)、待機状態である。
次に、実施例1に係るサーバ100の処理手順について説明する。図12及び図13は、サーバの処理手順を示すフローチャートである。図12に示す処理は、図示した各装置に電源から電力が供給される間、所定時間間隔で実行される。
図12に示すように、抽出部102は、例えば、1秒ごとに、SNSサーバ20から利用者のつぶやきを検出すると(ステップS301,Yes)、検出したつぶやきに行動を表す単語があるか否かを判定する(ステップS302)。抽出部102は、行動を表す単語がある場合に(ステップS302,Yes)、行動を表す単語を抽出する(ステップS303)。例えば、抽出部102は、利用者Aが15時31分に投稿した「会議中」というつぶやきを検出すると、行動辞書記憶部103を参照し、行動を表す単語として「会議」を抽出する。なお、抽出部102は、行動を表す単語がない場合には(ステップS302,No)、処理を終了する。
抽出部102は、行動名、投稿時刻、末尾語を取得する(ステップS304)。例えば、抽出部102は、行動辞書記憶部103を参照し、行動を表す単語「会議」に対応する行動名「会議」を取得する。また、例えば、抽出部102は、つぶやきの投稿時刻「15:31」をSNSサーバ20から取得する。また、例えば、抽出部102は、末尾辞書記憶部104を参照し、つぶやきから末尾語「中」を取得する。
一方、抽出部102は、SNSサーバ20から利用者のつぶやきを検出しなかった場合には(ステップS301,No)、利用者の名前を含むつぶやきを検出する(ステップS305)。抽出部102は、利用者の名前を含むつぶやきを検出した場合には(ステップS305,Yes)、ステップS302に移行する。例えば、抽出部102は、利用者Bが15時30分に投稿した「Aさんプレゼン中」というつぶやきを検出すると、ステップS302に移行する。
一方、抽出部102は、利用者の名前を含むつぶやきを検出しなかった場合には(ステップS305,No)、近隣者のつぶやきを検出する(ステップS306)。例えば、抽出部102は、利用者Aの近隣者である利用者Cが15時15分に投稿した「打合せなう」というつぶやきを検出する。抽出部102は、近隣者のつぶやきを検出した場合には(ステップS306,Yes)、検出したつぶやきに行動を表す単語があるか否かを判定する(ステップS307)。
抽出部102は、行動を表す単語がある場合に(ステップS307,Yes)、近隣者が隣接距離以内にいるか判定する(ステップS308)。例えば、抽出部102は、行動辞書記憶部103を参照し、行動を表す単語「打合せ」に対応する隣接距離「10m」と、利用者Aと利用者Cとの間の距離を比較し、隣接距離以内に近隣者がいるか判定する。抽出部102は、近隣者が隣接距離以内にいる場合には(ステップS308,Yes)、ステップS303に移行する。
なお、抽出部102は、近隣者のつぶやきを検出しなかった場合(ステップS306,No)、行動を表す単語がない場合(ステップS307,No)、近隣者が隣接距離以内にいない場合には(ステップS308,No)、処理を終了する。
図13の説明に移行する。図13に示すように、取得部106は、行動時間を取得する(ステップS309)。例えば、取得部106は、行動時間記憶部107を参照し、行動名「プレゼン」と末尾語「中」とに対応する第1の行動時間「±5」を取得する。
取得部106は、抽出時間を算出する(ステップS310)。例えば、取得部106は、行動時間「±5」と投稿時刻「15時30分」とに基づいて、抽出時間「15時25分〜15時35分」を算出する。
取得部106は、抽出要求及び抽出時間を送信する(ステップS311)。例えば、取得部106は、抽出要求と、抽出時間「15時25分〜15時35分」とを、利用者Aの端末30に送信する。
取得部106は、動作データを取得する(ステップS312)。例えば、取得部106は、送信した抽出要求と抽出時間とに対応する動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」を、利用者Aの端末30から取得する。
記録部108は、末尾辞書記憶部104を参照し、末尾語に対応する重みを取得する(ステップS313)。記録部108は、動作データを動作ログ記憶部に格納する(ステップS314)。例えば、記録部108は、利用者ID「101」と、名前「A」と、行動名「プレゼン」と、重み「×2」と、動作データ「・・・立ち上がる(15:30:28)、話す(15:30:29)・・・」とを対応付けて、動作ログ記憶部109に格納する。
次に、実施例1に係るサーバ100の効果について説明する。サーバ100は、テキストデータと時刻とが対応付けられた対応情報から利用者の行動に関連する行動データを抽出する。サーバ100は、抽出した行動データに対応付けられた時刻に基づいて、利用者の端末にて取得された、当該ユーザの行動に含まれる動作を示す動作データから、所定期間に行われた動作データを取得する。サーバ100は、取得した動作データと、抽出した行動データとを対応付けて記録する。このため、サーバ100は、動作と行動との対応付けにかかる人的負荷を削減することができる。例えば、サーバ100は、センサにより検知された人の動作と、その時に行われた行動とを対応付けるので、動作と行動との対応付けに人手を要しない。よって、サーバ100は、動作と行動との対応付けにかかる人的負荷を削減することができる。
また、例えば、サーバ100は、行動データに対応する動作データを記録するので、データの蓄積量を軽減することができる。例えば、従来技術では、センサにより検出した全ての動作データをサーバに蓄積することを要していた。これに対して、サーバ100は、例えば、センサにより検出した動作データのうち、行動に対応する動作データを取得して記録するので、データの蓄積量を軽減することができる。
また、例えば、サーバ100は、投稿情報の投稿時間に基づいて抽出時間を算出し、算出した抽出時間に対応する動作データを利用者の端末30から取得するので、通信負荷を軽減することができる。例えば、従来技術では、センサにより検出した全ての動作データをサーバに送信することを要していた。これに対して、サーバ100は、例えば、行動に対応する動作データを端末30から取得するので、通信負荷を軽減することができる。
また、例えば、サーバ100は、処理対象となる利用者とは異なる利用者によって投稿された投稿情報のうち、処理対象となる利用者を識別する情報を含む投稿情報から、前記利用者の行動データを抽出する。例えば、サーバ100は、利用者の名前を含む投稿情報から行動データを抽出する。このため、サーバ100は、動作と行動とを正確に対応付けることができる。
また、例えば、サーバ100は、処理対象となる利用者の位置から所定の範囲内に存在する他の利用者によって投稿された投稿情報から、処理対象となる利用者の行動データを抽出する。例えば、サーバ100は、利用者の近隣にいる近隣者によって投稿された投稿情報から利用者の行動データを抽出する。このため、サーバ100は、動作と行動とを正確に対応付けることができる。
また、例えば、サーバ100は、行動と期間とが対応付けられたテーブルを参照し、その行動に対応付けられた期間に行われた動作データを取得する。このため、サーバ100は、行動にかかる時間に応じて、動作データを抽出する時間を適切に設定することができる。
また、例えば、サーバ100は、行動データが抽出された対応情報に、行動終了語句が含まれる場合に、その対応情報に対応付けられた時刻以前の所定期間に行われた動作データを取得する。このため、サーバ100は、行動終了語句に応じて、動作データを抽出する時間を適切に設定することができる。
また、例えば、サーバ100は、行動データが抽出された対応情報に、行動中語句又は行動終了語句が含まれる場合に、取得した動作データの重み付けを、行動中語句及び行動終了語句を含まない場合より大きくして、動作データと行動データとを対応付ける。このため、サーバ100は、行動中語句及び行動終了語句に応じて、動作データに適切に重み付けを行うことができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例1以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。
例えば、実施例1では、サーバ100の処理対象となる処理対象用の利用者IDと、SNSサーバ20に記憶されるSNS用の利用者IDとが同一である場合を説明したが、これに限定されるものではない。例えば、処理対象用の利用者IDとSNS用の利用者IDとがそれぞれ設定されて良い。この場合、例えば、サーバ100は、処理対象用の利用者IDとSNS用の利用者IDとの対応関係を記憶する。
また、例えば、実施例1において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図13において、取得部106は、抽出時間を算出すると、自動的に抽出要求及び抽出時間を端末30に送信するものとして説明したが、これに限定されない。例えば、取得部106は、算出した抽出時間を行動ごとに対応付けて蓄積しておき、蓄積された行動ごとの抽出時間を手動的に一括して送信しても良い。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、動作ログ記憶部109は、図9に示したパラメータの他に投稿時刻を対応付けて記憶しても良い。
また、図5に示したサーバ100の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、サーバ100の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図5に示した行動辞書記憶部103及び行動時間記憶部107を統合して構成することとしても良い。
図14は、情報処理プログラムを実行するコンピュータの一例を示す図である。図14に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからデータの入力を受け付ける入力装置302と、モニタ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る媒体読み取り装置304と、他の装置と接続するためのインターフェース装置305と、他の装置と無線により接続するための無線通信装置306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM(Random Access Memory)307と、ハードディスク装置308とを有する。また、各装置301〜308は、バス309に接続される。
ハードディスク装置308には、図5に示した抽出部102、取得部106及び記録部108の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置308には、情報処理プログラムを実現するための各種データが記憶される。
CPU301は、ハードディスク装置308に記憶された各プログラムを読み出して、RAM307に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータを図5に示した抽出部102、取得部106及び記録部108として機能させることができる。
なお、上記の情報処理プログラムは、必ずしもハードディスク装置308に記憶されている必要はない。例えば、コンピュータが読み取り可能な記録媒体に記憶されたプログラムを、コンピュータ300が読み出して実行するようにしても良い。コンピュータが読み取り可能な記録媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等に接続された装置にこのプログラムを記憶させておき、コンピュータ300がこれらからプログラムを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータによって実行される情報処理方法であって、
コンピュータが、
テキストデータと時刻とが対応付けられた対応情報からユーザの行動に関連する行動データを抽出し、
前記抽出する処理により抽出された行動データに対応付けられた時刻に基づいて、前記ユーザの端末にて取得された、当該ユーザの行動に含まれる動作を示す動作データから、所定期間に行われた動作データを取得し、
前記取得する処理により取得された動作データと、前記抽出する処理により抽出された行動データとを対応付けて記録する
ことを特徴とする情報処理方法。
(付記2)前記抽出する処理は、前記対応情報として、前記ユーザによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、当該ユーザの行動に関連する行動データを抽出することを特徴とする付記1に記載の情報処理方法。
(付記3)前記抽出する処理は、前記対応情報として、第1のユーザに関連する、第2のユーザとによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、前記第1のユーザの行動に関連する行動データを抽出することを特徴とする付記1に記載の情報処理方法。
(付記4)前記コンピュータは、第1のユーザの位置から所定の範囲内に存在する第2のユーザをさらに検出し、
前記抽出する処理は、前記対応情報として、前記第2のユーザによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、前記第1のユーザの行動に関連する行動データを抽出することを特徴とする付記1に記載の情報処理方法。
(付記5)前記取得する処理は、行動と期間とが対応付けられたテーブルを参照し、前記行動に対応付けられた期間に行われた動作データを取得することを特徴とする付記1〜4のいずれか一つに記載の情報処理方法。
(付記6)前記取得する処理は、前記抽出する処理により行動データが抽出された対応情報に、前記行動が終了した旨を示す行動終了語句が含まれる場合に、当該対応情報に対応付けられた時刻以前の所定期間に行われた動作データを取得することを特徴とする付記1〜5のいずれか一つに記載の情報処理方法。
(付記7)前記記録する処理は、前記抽出する処理により行動データが抽出された対応情報に、前記行動が行われている旨を示す行動中語句、又は、前記行動が終了した旨を示す行動終了語句が含まれる場合に、前記取得部により取得された動作データの重み付けを、前記行動中語句及び前記行動終了語句を含まない場合より大きくして、当該動作データと当該行動データとを対応付けて記録することを特徴とする付記1〜6のいずれか一つに記載の情報処理方法。
(付記8)コンピュータに、
テキストデータと時刻とが対応付けられた対応情報からユーザの行動に関連する行動データを抽出し、
前記抽出する処理により抽出された行動データに対応付けられた時刻に基づいて、前記ユーザの端末にて取得された、当該ユーザの行動に含まれる動作を示す動作データから、所定期間に行われた動作データを取得し、
前記取得する処理により取得された動作データと、前記抽出する処理により抽出された行動データとを対応付けて記録する
各処理を実行させることを特徴とする情報処理プログラム。
(付記9)前記抽出する処理は、前記対応情報として、前記ユーザによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、当該ユーザの行動に関連する行動データを抽出することを特徴とする付記8に記載の情報処理プログラム。
(付記10)前記抽出する処理は、前記対応情報として、第1のユーザに関連する、第2のユーザとによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、前記第1のユーザの行動に関連する行動データを抽出することを特徴とする付記8に記載の情報処理プログラム。
(付記11)前記コンピュータは、第1のユーザの位置から所定の範囲内に存在する第2のユーザをさらに検出し、
前記抽出する処理は、前記対応情報として、前記第2のユーザによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、前記第1のユーザの行動に関連する行動データを抽出することを特徴とする付記8に記載の情報処理プログラム。
(付記12)前記取得する処理は、行動と期間とが対応付けられたテーブルを参照し、前記行動に対応付けられた期間に行われた動作データを取得することを特徴とする付記8〜11のいずれか一つに記載の情報処理プログラム。
(付記13)前記取得する処理は、前記抽出する処理により行動データが抽出された対応情報に、前記行動が終了した旨を示す行動終了語句が含まれる場合に、当該対応情報に対応付けられた時刻以前の所定期間に行われた動作データを取得することを特徴とする付記8〜12のいずれか一つに記載の情報処理プログラム。
(付記14)前記記録する処理は、前記抽出する処理により行動データが抽出された対応情報に、前記行動が行われている旨を示す行動中語句、又は、前記行動が終了した旨を示す行動終了語句が含まれる場合に、前記取得部により取得された動作データの重み付けを、前記行動中語句及び前記行動終了語句を含まない場合より大きくして、当該動作データと当該行動データとを対応付けて記録することを特徴とする付記8〜13のいずれか一つに記載の情報処理プログラム。
(付記15)テキストデータと時刻とが対応付けられた対応情報からユーザの行動に関連する行動データを抽出する抽出部と、
前記抽出部により抽出された行動データに対応付けられた時刻に基づいて、前記ユーザの端末にて取得された、当該ユーザの行動に含まれる動作を示す動作データから、所定期間に行われた動作データを取得する取得部と、
前記取得部により取得された動作データと、前記抽出部により抽出された行動データとを対応付けて記録する記録部と
を備えたことを特徴とするサーバ。
(付記16)前記抽出部は、前記対応情報として、前記ユーザによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、当該ユーザの行動に関連する行動データを抽出することを特徴とする付記15に記載のサーバ。
(付記17)前記抽出部は、前記対応情報として、第1のユーザに関連する、第2のユーザとによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、前記第1のユーザの行動に関連する行動データを抽出することを特徴とする付記15に記載のサーバ。
(付記18)第1のユーザの位置から所定の範囲内に存在する第2のユーザをさらに検出する検出部をさらに備え、
前記抽出部は、前記対応情報として、前記第2のユーザによって投稿されたテキストデータと、当該テキストデータが投稿された時刻とが対応付けられた投稿情報を用い、前記投稿情報から、前記第1のユーザの行動に関連する行動データを抽出することを特徴とする付記15に記載のサーバ。
(付記19)前記取得部は、行動と期間とが対応付けられたテーブルを参照し、前記行動に対応付けられた期間に行われた動作データを取得することを特徴とする付記15〜18のいずれか一つに記載のサーバ。
(付記20)前記取得部は、前記抽出部により行動データが抽出された対応情報に、前記行動が終了した旨を示す行動終了語句が含まれる場合に、当該対応情報に対応付けられた時刻以前の所定期間に行われた動作データを取得することを特徴とする付記15〜19のいずれか一つに記載のサーバ。
(付記21)前記記録部は、前記抽出部により行動データが抽出された対応情報に、前記行動が行われている旨を示す行動中語句、又は、前記行動が終了した旨を示す行動終了語句が含まれる場合に、前記取得部により取得された動作データの重み付けを、前記行動中語句及び前記行動終了語句を含まない場合より大きくして、当該動作データと当該行動データとを対応付けて記録することを特徴とする付記15〜20のいずれか一つに記載のサーバ。