(57)【要約】【課題】ソーシャルネットワークシステムにおける操作を支援する技術を提供する。【解決手段】情報処理装置において、動きデータ取得部２１０は、ユーザの動きデータを取得する。動きデータ比較部２４０は、動きデータ取得部２１０が取得した動きデータと、比較用動きデータとを比較する。操作実行部２６０は、動きデータ比較部２４０の比較結果をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行する。【選択図】図２
2014135000.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動きデータを取得する動きデータ取得部と、
前記動きデータ取得部が取得した動きデータと、比較用動きデータとを比較する動きデータ比較部と、
前記動きデータ比較部の比較結果をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行する操作実行部とを含むことを特徴とする情報処理装置。
【請求項２】
前記動きデータ比較部は、比較用動きデータとしてあらかじめ定められた１以上の動きデータを格納する比較用データベースを参照し、当該複数の動きデータの中から前記動きデータ取得部が取得した動きデータとマッチする動きデータを取得し、
前記操作実行部は、前記動きデータ取得部がマッチさせた動きデータの種類をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して操作を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記動きデータ取得部は、前記ユーザとは異なる別のユーザの動きデータも取得し、
前記比較部は、前記別のユーザの動きデータを比較用動きデータとして前記ユーザの動きデータと比較することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記動きデータ取得部は、アドホックネットワークを介して前記ユーザとは異なる別のユーザの動きデータを取得することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記動きデータ取得部は、インフラストラクチャネットワークを介して前記ユーザとは異なる別のユーザの動きデータを取得し、
本情報処理装置は、
前記ユーザの所在位置と、前記ユーザとは異なる別のユーザの所在位置との間の距離を取得する距離取得部をさらに含み、
前記動きデータ比較部は、前記距離取得部が取得した距離が所定の距離以内の場合、前記動きデータを比較することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
ユーザの動きデータを取得するステップと、
取得した動きデータと、比較用動きデータとを比較するステップと、
比較結果をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行するステップとをプロセッサに実行させることを特徴とする情報処理方法。
【請求項７】
ユーザの動きデータを取得する機能と、
取得した動きデータと、比較用動きデータとを比較する機能と、
比較結果をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行する機能とをコンピュータに実現させることを特徴とするプログラム。
【請求項８】
第１ユーザに装着自在に構成され当該ユーザの動きデータを測定する測定部と、
第１ユーザが利用するソーシャルネットワークサービスと同じサービスを利用する第２ユーザに取り付けられて第２ユーザの動きを測定した動きデータを、アドホックネットワークを介して取得するアドホック通信部と、
前記測定部がデータを測定した時刻と、前記アドホック通信部が取得した第２ユーザの動きデータに関連づけられている時刻との時間差を取得する時間間隔取得部と、
前記時間間隔取得部が取得した時間差が所定の時間間隔以内の場合、第１ユーザの動きデータと第２ユーザの動きデータとが類似するか否かを取得する動きデータ比較部と、
第１ユーザの動きデータと第２ユーザの動きデータとが類似する場合、第１ユーザと第２ユーザとが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する操作実行部とを含むことを特徴とする携帯端末。
【請求項９】
前記アドホック通信部が第２ユーザの動きデータを取得したときの時刻を、前記第２ユーザの動きデータに関連づけて格納するタイムスタンプ付与部とを備え、
前記時間間隔取得部は、前記測定部が第１ユーザの動きデータを取得した時刻と、前記タイムスタンプ付与部が格納した時刻との時間差を取得することを特徴とする請求項８に記載の携帯端末。
【請求項１０】
前記第１ユーザまたは前記第２ユーザの少なくともいずれか一方が発する音を音情報として取得する音情報取得部をさらに含み、
前記動きデータ比較部は、前記音情報取得部が取得した音情報のゲインが所定の閾値を超えることを契機として、第１ユーザの動きデータと第２ユーザの動きデータとを比較することを特徴とする請求項８または９に記載の携帯端末。
【請求項１１】
前記測定部は、本携帯端末とは独立して第１ユーザに取り付けられており、前記測定部は、
前記音情報取得部と、
第１ユーザの動きを計測する加速度センサと、
前記加速度センサが計測した情報を本電子機器に送信するとともに、本電子機器から送信される情報を取得する送受信部と、
前記送受信部を介して取得した情報を通知する通知部とを含むことを特徴とする請求項１０に記載の携帯端末。
【請求項１２】
前記動きデータ比較部は、第１ユーザの動きデータと第２ユーザの動きデータとが非類似の場合、非類似であることを前記送受信部に送信し、
前記通知部は、前記送受信部が第１ユーザの動きデータと第２ユーザの動きデータとが非類似であることを受信した場合、その旨を第１ユーザに伝えるために定められた所定の視覚情報または音声情報を用いて通知することを特徴とする請求項１１に記載の携帯端末。
【請求項１３】
前記操作実行部による操作の実行後、所定の時間内に前記測定部が取得した第１ユーザの動きデータを解析し、当該動きデータが前記操作実行部による操作を修正するか否かを決定するために定められた操作修正動作と類似するか否かを検出する修正動作検出部とをさらに含み、
前記操作実行部は、前記修正動作検出部が操作修正動作と類似する動きデータを検出した場合、第１ユーザと第２ユーザとが共通に利用するソーシャルネットワークサービスに対して所定の修正操作を実行することを特徴とする請求項８から１２のいずれかに記載の携帯端末。
【請求項１４】
少なくとも２以上のユーザそれぞれが所持する２以上の携帯端末とネットワークを介して通信可能なサーバであって、
２以上の携帯端末がそれぞれ測定したユーザの動きデータを取得する動きデータ取得部と、
異なる２人のユーザの動きデータの測定時刻との時間間隔を取得する時間間隔取得部と、
前記異なる２人のユーザの所在位置の間の距離を取得する距離取得部と、
前記時間間隔取得部が取得した時間間隔が所定の時間間隔以内であり、かつ前記距離取得部が取得した距離が所定の距離以内の場合、前記異なる２人のユーザの動きデータが類似するか否かを取得する動きデータ比較部と、
前記異なる２人のユーザの動きデータが類似する場合、前記異なる２人のユーザが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する操作実行部とを含むことを特徴とするサーバ。
【請求項１５】
前記時間間隔取得部は、異なる２人のユーザが所持する携帯端末それぞれが動きデータを測定したときに付与した時刻の時間差を取得することを特徴とする請求項１４に記載のサーバ。
【請求項１６】
前記動きデータ比較部は、
異なる２人のユーザの動きデータを入力として、当該異なる２人のユーザの動きデータが類似する場合は、非類似の場合と比較して小さな実数値を出力する写像変換部と、
前記写像変換部が出力した実数値と、異なる２人のユーザの動きデータが類似するか否かを決定するために定められた類似決定閾値とを比較して、前記写像変換部が出力した実数値が類似決定閾値未満となる動きデータの組み合わせを取得する閾値処理部と、
前記閾値処理部が取得した動きデータの組み合わせの中から、前記写像変換部が出力した実数値をもとに、動きデータが類似する組み合わせを決定するマッチング部とを含むことを特徴とする請求項１４または１５に記載のサーバ。
【請求項１７】
前記マッチング部は、前記写像変換部が出力した実数値が最小となる動きデータの組み合わせを、動きデータが類似する組み合わせとすることを特徴とする請求項１６に記載のサーバ。
【請求項１８】
前記閾値処理部が取得した類似決定閾値未満となる動きデータの組み合わせをもとに当該動きデータに対応するユーザの組みを取得し、ユーザの組み合わせを構成する一方のユーザに対して他方のユーザに関する情報を通知するユーザ情報通知部をさらに含むことを特徴とする請求項１６または１７に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理装置で実行される情報処理方法に関し、情報処理装置として特に携帯端末およびサーバに関する。
【背景技術】
【０００２】
近年、人と人とのつながりを促進するためのＳＮＳ(Social Network Service；ソーシャルネットワークサービス)と呼ばれる仕組みが爆発的に普及し、様々な仕組みが提供されている。このようなソーシャルネットワークサービスは、ユーザの位置情報を利用して、そのユーザの近くにいる他のユーザとのつながりを追加する機能持つことが多い。このような機能の一例として、例えば、自身のＱＲコード（登録商標）を画面に表示し、それを読み取らせ、ソーシャルネットワークサービスにおける友達として追加する機能が存在する。また、各ユーザ利用するスマートフォンに動きを加えることで、友達として追加する機能を持つソーシャルネットワークサービスも存在する。さらには、ユーザがある場所にいることをＳＮＳ上で知らせる、いわゆる「チェックイン」を行う場合も、スマートフォンを操作することで実現されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
実際に人と人とが友達になるという状況においては、ソーシャルネットワークサービスにおいて友達登録する上でスマートフォンに表示させたコードを読み取りあったり、スマートフォンを振ったりするという動作は、あまり自然な動作とはいない。また手間もかかる動作ともいえる。上述のチェックインをする場合にも、チェックインしようとするユーザが他人と一緒にいたり、急いでいたりするような場合には、スマートフォンを操作するというのは煩雑である。ソーシャルネットワークシステムにおける操作を限られた時間内における自然な動作で実現できれば、ソーシャルネットワークシステムを利用するユーザの利便性を向上できると考えられる。
【０００４】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ソーシャルネットワークシステムにおける操作を支援する技術を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様は情報処理装置である。この装置は、ユーザの動きデータを取得する動きデータ取得部と、前記動きデータ取得部が取得した動きデータと、比較用動きデータとを比較する動きデータ比較部と、前記動きデータ比較部の比較結果をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行する操作実行部とを含む。
【０００６】
本発明の別の態様は、携帯端末である。この携帯端末は、第１ユーザに装着自在に構成され当該ユーザの動きデータを測定する測定部と、第１ユーザが利用するソーシャルネットワークサービスと同じサービスを利用する第２ユーザに取り付けられて第２ユーザの動きを測定した動きデータを、アドホックネットワークを介して取得するアドホック通信部と、前記測定部がデータを測定した時刻と、前記アドホック通信部が取得した第２ユーザの動きデータに関連づけられている時刻との時間差を取得する時間間隔取得部と、前記時間間隔取得部が取得した時間差が所定の時間間隔以内の場合、第１ユーザの動きデータと第２ユーザの動きデータとが類似するか否かを取得する動きデータ比較部と、第１ユーザの動きデータと第２ユーザの動きデータとが類似する場合、第１ユーザと第２ユーザとが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する操作実行部とを含む。
【０００７】
本発明のさらに別の態様は、少なくとも２以上のユーザそれぞれが所持する２以上の携帯端末とネットワークを介して通信可能なサーバである。このサーバは、２以上の携帯端末がそれぞれ測定したユーザの動きデータを取得する動きデータ取得部と、異なる２人のユーザの動きデータの測定時刻との時間間隔を取得する時間間隔取得部と、前記異なる２人のユーザの所在位置の間の距離を取得する距離取得部と、前記時間間隔取得部が取得した時間間隔が所定の時間間隔以内であり、かつ前記距離取得部が取得した距離が所定の距離以内の場合、前記異なる２人のユーザの動きデータが類似するか否かを取得する動きデータ比較部と、前記異なる２人のユーザの動きデータが類似する場合、前記異なる２人のユーザが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する操作実行部とを含む。
【０００８】
本発明のさらに別の態様は、情報処理方法である。この方法は、ユーザの動きデータを取得するステップと、取得した動きデータと、比較用動きデータとを比較するステップと、比較結果をもとに、前記ユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行するステップとをプロセッサに実行させる。
【０００９】
本発明のさらに別の態様は、上記の方法の各ステップをコンピュータに実現させるプログラムである。
【００１０】
このプログラムは、ビデオやオーディオ、ゲーム機器、スマートフォン、腕時計等のハードウェア資源の基本的な制御を行なうために機器に組み込まれるファームウェアの一部として提供されてもよい。このファームウェアは、たとえば、機器内のＲＯＭ（Read Only Memory）やフラッシュメモリなどの半導体メモリに格納される。このファームウェアを提供するため、あるいはファームウェアの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、ソーシャルネットワークシステムにおける操作を支援する技術を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係るソーシャルネットワークシステムの全体構成の概観を模式的に示す図である。
【図２】実施の形態に係る携帯端末の内部構成を模式的に示す図である。
【図３】実施の形態に係る携帯端末の外観の一例を模式的に示す図である。
【図４】実施の形態に係る動きデータ取得部の機能構成を模式的に示す図である。
【図５】実施の形態に係る加速度センサと音情報取得部が取得したデータの形状の一例を模式的に示す図である。
【図６】実施の形態に係る動きデータ比較部の内部構成を模式的に示す図である。
【図７】実施の形態に係るソーシャルネットワークシステムにおける情報処理の流れを説明するシーケンス図である。
【図８】実施の形態に係るサーバの内部構成を模式的に示す図である。
【図９】実施の形態に係る測定部の内部構成を模式的に示す図である。
【図１０】実施の形態に係る動きデータ比較部の内部構成を模式的に示す図である。
【図１１】実施の形態に係るソーシャルネットワークシステムにおける情報処理の流れを説明する別のシーケンス図である。
【図１２】実施の形態に係るソーシャルネットワークシステムにおける情報処理の流れを説明するさらに別のシーケンス図である。
【図１３】実施の形態に係る比較用の動きデータを格納した比較用データベースのデータ構造を模式的に示す図である。
【図１４】実施の形態に係る動きデータのパターンの組み合わせを格納した組み合わせパターンデータベースのデータ構造を模式的に示す図である。
【発明を実施するための形態】
【００１４】
図１は、実施の形態に係るソーシャルネットワークシステム１００の全体構成の概観を模式的に示す図である。図１を参照して、実施の形態に係るソーシャルネットワークシステム１００の概要を述べる。
【００１５】
実施の形態に係るソーシャルネットワークシステム１００は、携帯端末２００と総称する携帯端末２００ａ、２００ｂ、および２００ｃと、ネットワーク５００を介して携帯端末２００と通信可能に接続するサーバ３００と、ＳＮＳデータベース４００とを含む。なお、図１においては３つの携帯端末２００ａ、２００ｂ、および２００ｃを図示しているが、ソーシャルネットワークシステム１００が含む携帯端末の数は３つに限られず、３つよりも多くても少なくてもよい。
【００１６】
実施の形態に係るソーシャルネットワークシステム１００は、クラウドコンピューティング技術を用いて実現される。ソーシャルネットワークシステム１００は、ネットワーク５００を介してアプリケーションやストレージの提供等のソーシャルネットワークサービスをオンデマンドで提供する。ソーシャルネットワークシステム１００からサービスの提供を受けている携帯端末２００を利用するユーザの立場から見ると、サービスの提供を受ける上でソーシャルネットワークシステム１００の物理構成やソフトウェア構成等を理解する必要はなく、あたかもネットワークの雲（Ｃｌｏｕｄ；クラウド）の中から出てきたサービスを利用するかのような印象を受ける。
【００１７】
携帯端末２００は、ほとんどの場合ＣＰＵ（Central Processing Unit）等の計算リソースを持っており、アプリケーションの少なくとも一部を携帯端末２００のローカルな環境で実行することも可能である。しかしながら、携帯端末２００を利用するユーザにとっては、アプリケーションがローカルな計算リソースで実行されるか、あるいはネットワーク上のソーシャルネットワークシステム１００の計算リソースで実行されるかは重要な問題ではなく、サービスを利用できるという点では同じである。したがって、本明細書において、「ソーシャルネットワークシステムの計算リソース」あるいは単に「計算リソース」という場合、携帯端末２００の計算リソースとソーシャルネットワークシステム１００のサーバ３００等の計算リソースとの少なくともいずれか一方を意味することとする。
【００１８】
図１において、ユーザＡが携帯端末２００ａを持ち、ユーザＡとは異なるユーザＢが携帯端末２００ｂを持っているとする。ユーザＡとユーザＢとが対面し、挨拶をするとともに握手をすると、携帯端末２００ａと携帯端末２００ｂはそれぞれ、ユーザＡまたはユーザＢが発した音声情報を契機として、ユーザＡの動きデータとユーザＢの動きデータとを取得する。
【００１９】
ソーシャルネットワークシステム１００の計算リソースは、取得したユーザＡの動きデータとユーザＢの動きデータとが類似するか否かを比較する。比較の結果、ユーザＡとユーザＢとの動きデータが類似する場合、計算リソースは、ユーザＡとユーザＢとが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する。
【００２０】
ユーザＡとユーザＢとが握手をした場合、そのときのユーザＡとユーザＢとの手部の動きは類似すると考えられる。このため、上記比較の結果ユーザＡの動きデータとユーザＢの動きデータとが類似する場合、ユーザＡとユーザＢとが対面した蓋然性が高いと判断できる。そこで、計算リソースは、ユーザＡとユーザＢとが共通に利用するソーシャルネットワークサービスにおいて、例えばユーザＡとユーザＢとの関係を結びつける操作、いわゆる「友達登録」の操作を実行する。これにより、ユーザＡとユーザＢとは、携帯端末２００を操作することなく、挨拶や握手といった自然な動作の中でソーシャルネットワークサービスの操作を実現することができる。
【００２１】
以下、異なる携帯端末２００同士が互いに近距離に存在する場合に、無線アドホックネットワークを構築してアドホック通信をする場合を前提に説明する。
【００２２】
図２は、実施の形態に係る携帯端末２００の内部構成を模式的に示す図である。実施の形態に係る携帯端末２００は、動きデータ取得部２１０と動きデータ解析部２２０とを含む。
【００２３】
動きデータ取得部２１０は、携帯端末２００を所持するユーザの動きデータを取得する。また動きデータ取得部２１０は、携帯端末２００とアドホックネットワークを介して通信する他の携帯端末２００から、その携帯端末２００を所持する他のユーザの動きデータも取得する。動きデータ取得部２１０は、例えば既知の低ｇ加速度センサや無線通信モジュールを用いて実現できる。以下説明の便宜のため、携帯端末２００を所持するユーザを「第１ユーザ」と記載し、アドホックネットワークを介して通信する他の携帯端末２００を所持する他のユーザを「第２ユーザ」と記載する。なお、動きデータ取得部２１０の詳細は後述する。
【００２４】
動きデータ解析部２２０は、動きデータ取得部２１０が取得した２人のユーザの動きデータを解析する。動きデータ解析部２２０は、解析結果をもとに、２人のユーザが共通に利用するソーシャルネットワークサービスにおける所定の操作を実行する。このため、動きデータ解析部２２０は、時間間隔取得部２３０、動きデータ比較部２４０、修正動作検出部２５０、および操作実行部２６０を含む。
【００２５】
時間間隔取得部２３０は、動きデータ取得部２１０が取得した２人のユーザの動きデータそれぞれに関連づけられた時刻の時間間隔を取得する。ここで、「動きデータに関連づけられた時刻」とは、例えば動きデータを格納するファイルのヘッダにメタデータとして格納されるタイムスタンプである。「動きデータに関連づけられた時刻」の詳細は、後述する動きデータ取得部２１０の説明の中で記載する。
【００２６】
動きデータ比較部２４０は、動きデータ取得部２１０が取得した２人のユーザの動きデータが類似するか否かを比較する。動きデータ比較部２４０は、時間間隔取得部２３０が取得した時間間隔が所定の時間間隔以内の場合、２人のユーザの動きデータが類似するか否かを取得してもよい。ここで「所定の時間間隔」とは、第１ユーザと第２ユーザとが実際に対面したか否かを判断するために定められた対面判断の基準間隔である。対面判断の基準間隔は、実行するソーシャルネットワークサービスの操作の種類等を考慮して実験により定めればよいが、例えば３分である。
【００２７】
第１ユーザと第２ユーザとが実際に対面した場合、２人のユーザの動きデータのタイムスタンプは近い時刻となると考えられる。このため、第１ユーザの動きデータのタイムスタンプと、第２ユーザの動きデータのタイムスタンプとの間隔が対面判断の基準間隔よりも開いていると、第１ユーザと第２ユーザとが実際に対面した可能性は低いと考えられる。そこで動きデータ比較部２４０は、時間間隔取得部２３０が取得した時間間隔が所定の時間間隔以内の場合、２人のユーザの動きデータが類似するか否かを比較することで、計算リソースの負荷や通信コストを抑制することが可能となる。また、携帯端末２００の電力消費も抑制できる。
【００２８】
操作実行部２６０は、動きデータ比較部２４０の比較結果をもとに、その２人のユーザが利用するソーシャルネットワークサービスに対して所定の操作を実行する。より具体的には、操作実行部２６０は、第１ユーザの動きデータと第２ユーザの動きデータとが類似する場合、その２人のユーザが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する。より具体的には、操作実行部２６０はネットワーク５００を介してサーバ３００に対し、操作の実行を指示する。サーバ３００は、操作実行部２６０の指示にしたがって、ＳＮＳデータベース４００内の第１ユーザと第２ユーザとに関するグラフデータを更新する。修正動作検出部２５０は、操作実行部２６０がした操作に修正を加えることを第１ユーザが望む場合に、第１ユーザが操作実行部２６０による操作を修正するか否かを決定するために定められた操作修正動作をしたかどうかを検出する。修正動作については後述する。
【００２９】
このように、実施の形態に係る携帯端末２００は、携帯端末２００を利用するユーザの動きを検出するが、人と人との関わりの中で人間がする動作は多様である。上述した握手もその一例であり、その他、ハイタッチやハグ、お辞儀や発話、首をかしげる等、様々な種類があげられる。実施の形態に係る動きデータ取得部２１０が取得する動きデータは、ユーザのどのような動きをデータ化したものでもよいが、以下一例として、動きデータとしてユーザの手部の動きをデータ化する場合につて説明する。
【００３０】
図３は、実施の形態に係る携帯端末２００の外観の一例を模式的に示す図である。図３に示す例では、携帯端末２００はスマートフォン２０２とリストバンド型の測定部２１２とを含む。ユーザの手部の動きをデータ化の精度を高めるために、測定部２１２はスマートフォン２０２と独立して、ユーザの手首に装着自在に構成されている。なお、測定部２１２の存在位置はリストバンドに限られず、ユーザに装着されてユーザの動きを計測できるものであればどこでもよく、例えばメガネやネックレス、ヘアアクセサリ等があげられる。
【００３１】
図４は、実施の形態に係る動きデータ取得部２１０の内部構成を模式的に示す図である。動きデータ取得部２１０は、ユーザの手首に装着されるリストバンド型の測定部２１２と、スマートフォン２０２に含まれる近距離通信部２１４、記録部２１６、およびタイムスタンプ付与部２１８を含む。このように、動きデータ取得部２１０は上述のスマートフォン２０２とリストバンド型の測定部２１２とにまたがって存在し、近距離無線通信を用いてデータを送受信する。
【００３２】
測定部２１２は、ユーザの手部の動きデータを測定してスマートフォン２０２に送信したり、スマートフォン２０２から取得した情報をユーザに通知したりする。このため測定部２１２は、送受信部２７０、加速度センサ２７２、音情報取得部２７４、および通知部２７６を含む。
【００３３】
加速度センサ２７２は、ユーザの手部の動きデータを加速度データとして取得する。音情報取得部２７４は、第１ユーザや第２ユーザの発話を含む測定部２１２の周囲の音情報を波形データとして取得する。音情報取得部２７４は、既知のマイクロフォンを用いて実現できる。
【００３４】
送受信部２７０は、加速度センサ２７２が取得した動きデータや音情報取得部２７４が取得した波形データを、スマートフォン２０２に含まれる近距離通信部２１４に無線送信する。送受信部２７０はまた、スマートフォン２０２に含まれる近距離通信部２１４を介して、動きデータ解析部２２０から情報を取得する。ここで動きデータ解析部２２０から取得する情報の一例としては、例えば動きデータ比較部２４０による第１ユーザと第２ユーザとの動きデータの比較結果が非類似であったことを示す情報である。
【００３５】
通知部２７６は、送受信部２７０を介して動きデータ解析部２２０から取得した情報に応じて定められた通知態様で通知する。具体的には、通知部２７６は図示しないＬＥＤを点滅させたり、ビープ音を発生させたりする。これにより、ユーザに握手をし直す必要がある等の気づきを与えることが可能となる。
【００３６】
スマートフォン２０２内の近距離通信部２１４は、測定部２１２内の送受信部２７０から無線送信された動きデータや波形データを記録部２１６に格納する。このときタイムスタンプ付与部２１８は図示しない時計を含み、加速度センサ２７２や音情報取得部２７４がデータを取得した時刻を、そのデータと関連づけて記録部２１６に格納する。記録部２１６は、近距離通信部２１４から取得したデータの他、測定部２１２内の通知部２７６に通知する情報も格納する。
【００３７】
アドホック通信部２８０は、第１ユーザが利用するソーシャルネットワークサービスと同じサービスを利用する第２ユーザが利用する携帯端末２００が近距離に存在する場合、その携帯端末とアドホックネットワークを構築する。アドホック通信部２８０は、第２ユーザが利用する携帯端末２００に取り付けられて、その第２ユーザの動きを測定した動きデータを、アドホックネットワークを介して取得する。
【００３８】
一般に、第１ユーザが利用する携帯端末２００内の時計と、第２ユーザが利用する携帯端末２００内の時計とが同期している保証はない。いずれか、あるいは両方の時計が進んでいたり遅れたりしている場合もあるし、両者の時計のタイムゾーンが異なることもあり得る。そこで、タイムスタンプ付与部２１８は、アドホック通信部２８０が第２ユーザの動きデータを取得したときの時刻を、第２ユーザの動きデータに関連づけて記録部２１６に格納する。
【００３９】
これにより、第１ユーザの動きデータに関連づけられた時刻と、第２ユーザの動きデータに関連づけた時刻とは、ともに同じタイムスタンプ付与部２１８が付与した時刻となる。この結果、上述した時間間隔取得部２３０は、加速度センサ２７２が第１ユーザの動きデータを取得した時刻と、アドホック通信部２８０がアドホックネットワークを介して第２ユーザの動きデータを取得したときの時刻との時間差を取得することになる。これにより、仮に第１ユーザが利用する携帯端末２００内の時計と、第２ユーザが利用する携帯端末２００内の時計とがずれていたとしても、上述した動きデータ比較部２４０は、第１ユーザの動きデータに関連づけられた時刻と第２ユーザの動きデータに関連づけた時刻とを同じ基準で比較することが可能となる。
【００４０】
ここで、動きデータ比較部２４０は、音情報取得部２７４が取得し記録部２１６に格納された音情報のゲインが所定の閾値を超えることを契機として、第１ユーザの動きデータと第２ユーザの動きデータとを比較してもよい。ここで、「所定の閾値」とは、動きデータ比較部２４０が第１ユーザの動きデータと第２ユーザの動きデータとを比較するか否かを決定するために定められた音量の基準閾値である。音量の基準閾値は、音情報取得部２７４の性能等を考慮して実験により定めればよい。
【００４１】
図５は、実施の形態に係る加速度センサ２７２と音情報取得部２７４が取得したデータの形状の一例を模式的に示す図である。図５に示す例は、第１ユーザと第２ユーザとが対面して挨拶をしつつ握手をしたときの、両者の動きデータと音データとを示す図である。
【００４２】
この挨拶は、例えば「はじめまして」、「こんにちは」等である。この挨拶は第１ユーザと第２ユーザとのそれぞれが持つ携帯端末２００内の音情報取得部２７４で検出される。ここで、第１ユーザと第２ユーザとはほぼ同時に発話する場合がほとんどであると考えられるため、一般に音情報の波形データから挨拶の内容を音声認識することは難しいと考えられる。そこで、動きデータ比較部２４０は、音情報取得部２７４が取得した音情報が音量の基準閾値以上の音声の強度だけを検出すればいい。
【００４３】
図５に示す例では、音情報が音量の基準閾値以上となるＴ２から一定時間Ｔｂｅｆｏｒｅ前の時刻であるＴ１から、音情報が音量の基準閾値以下となるＴ３から一定時間Ｔａｆｔｅｒ後の時刻であるＴ４までの期間を、動作比較期間とする。動きデータ比較部２４０は、この動作比較期間における第１ユーザの動きデータと第２ユーザの動きデータとが類似するか否かを比較する。
【００４４】
図６は、実施の形態に係る動きデータ比較部２４０の内部構成を模式的に示す図である。動きデータ比較部は、写像変換部２４２、閾値処理部２４４、およびマッチング部２４６を含む。
【００４５】
写像変換部２４２は、第１ユーザの動きデータと第２ユーザの動きデータ等、異なる２人のユーザの動きデータを入力として、その２人のユーザの動きデータが類似する場合は、非類似の場合と比較して小さな実数値を出力する。これを実現するために、写像変換部２４２は、例えばＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチングのアルゴリズムを利用する。以下、ＤＰマッチングのアルゴリズムについて簡単に説明する。
【００４６】
第１ユーザの動きデータを時系列で並べた離散データを要素とするベクトルをベクトルＡで表し、第２ユーザの動きデータを時系列で並べた離散データを要素とするベクトルをベクトルＢで表す。具体的には、
【数１】
2014135000.tif 000003
【数２】
2014135000.tif 000004
【００４７】
ここで、Ｉ、ＪはそれぞれベクトルＡ、Ｂのデータ長である、また、ａｉ、ｂｊはそれぞれ、第１ユーザおよび第２ユーザの時刻ｉおよび時刻ｊの加速度ベクトルを表している。すなわち、
【数３】
2014135000.tif 000005
【００４８】
ここで、ｘ、ｙ、ｚは、加速度センサ２７２のｘ軸、ｙ軸、ｚ軸の値を表す。また、加速度ベクトルａｉと加速度ベクトルｂｊとのユークリッド距離をｄ（ｉ，ｊ）とすると次の式（４）のようになる。
【数４】
2014135000.tif 000006
ここで、
【数５】
2014135000.tif 000007
【数６】
2014135000.tif 000008
【数７】
2014135000.tif 000009
である。
【００４９】
このとき、ふたつのパターン間の距離Ｄ（Ａ，Ｂ）は、以下のＤＰマッチング・アルゴリズムで求められる。
Ｄ（Ａ，Ｂ）＝ｇ（Ｉ，Ｊ）／（Ｉ＋Ｊ）
【００５０】
ここで、
【数８】
2014135000.tif 000010
【数９】
2014135000.tif 000011
【数１０】
2014135000.tif 000012
であり、この距離Ｄ（Ａ，Ｂ）が、上述した写像変換部２４２が出力する実数値である。あるふたつのデータの組み合わせにおける距離Ｄの値が、別のふたつのデータの組み合わせにおける距離Ｄの値よりも小さい場合は、大きい場合よりもそのデータは類似すると判断できる。
【００５１】
図６の説明に戻る。閾値処理部２４４は、写像変換部２４２が出力した実数値と、所定の閾値とを比較して、写像変換部２４２が出力した実数値が類似決定閾値未満となる動きデータの組み合わせを取得する。ここで「所定の閾値」とは、異なる２人のユーザの動きデータが類似するか否かを決定するために定められた類似決定閾値である。類似決定閾値の具体的な値は、マッチングにおけるＴＰ（Ｔｒｕｅ Ｐｏｓｉｔｉｖｅ）やＦＰ（Ｆａｌｓｅ Ｐｏｓｉｖｉｔｅ）等を考慮して実験により定めればよい。
【００５２】
写像変換部２４２が出力した実数値が類似決定閾値未満となる場合、異なる２人のユーザの動きデータは類似すると判断できる。そこでマッチング部２４６は、写像変換部２４２が出力した実数値が類似決定閾値未満となる場合は動きデータが類似であること、そうでない場合は非類似であることを出力する。以上より、動きデータ比較部２４０は第１ユーザの動きデータと第２ユーザの動きデータ等、異なる２人のユーザの動きデータが類似するか否かを比較することができる。
【００５３】
なお、動きデータ比較部２４０が異なる２人のユーザの動きデータが類似するか否かを比較するために用いるアルゴリズムはＤＰマッチングに限られない。２人のユーザの動きデータを入力としてその類比を数値化するアルゴリズムであればどのようなものでもよい。そのような他のアルゴリズムとして、例えばＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）等のアルゴリズムがあげられる。
【００５４】
動きデータ比較部２４０は、異なる２人のユーザの動きデータが非類似の場合、非類似であることを動きデータ取得部２１０に通知する。動きデータ取得部２１０内の通知部２７６は、動きデータが非類似であることを受信した場合、その旨を第１ユーザに伝えるために定められた所定の視覚情報または音声情報を用いて通知する。ここで所定の視覚情報とは、例えば赤や黄色等の警告色でＬＥＤを点滅することである。また、所定の音声情報とは、例えばビープ音を鳴らすことである。
【００５５】
図７は、実施の形態に係るソーシャルネットワークシステム１００における情報処理の流れを説明するシーケンス図である。
【００５６】
第１ユーザの携帯端末２００ａは、アドホックネットワークの検出を試みる（Ｓ２）。第１ユーザの携帯端末２００ａは、アドホックネットワークが検出できない場合（Ｓ４のＮ）、ステップＳ２に戻ってアドホックネットワークの検出を継続する。
【００５７】
第１ユーザの携帯端末２００ａがいずれかの携帯端末２００とアドホックネットワークを構築可能な範囲まで近づき、第１ユーザの携帯端末２００ａがアドホックネットワークの検出に成功すると（Ｓ４のＹ）、第１ユーザの携帯端末２００ａは友達登録可能の状態となり（Ｓ６）、アドホックネットワークにブロードキャストする。
【００５８】
第２ユーザの携帯端末２００ｂが第１ユーザの携帯端末２００ａのブロードキャストを受信すると（Ｓ８）、第２ユーザの携帯端末２００ｂも友達登録可能の状態となり（Ｓ１０）、第１ユーザの携帯端末２００ａにユニキャストする。
【００５９】
「友達登録」が可能であることを知ったふたりのユーザは、測定部２１２を装着している手で、握手をしたり、ハイタッチをしたりすることで、「友達登録」をするために定められた動作をする。これらの動作は、人と人とが出合う際のふつうの動作であるので、ユーザはスマートフォン２０２等の携帯端末２００を意識することなくすることができる。第１ユーザの携帯端末２００ａは動きデータを取得して、友達登録の動きデータの検出を試みる（Ｓ１２）。第２ユーザの携帯端末２００ｂも同様に動きデータを取得して、友達登録の動きデータの検出を試みる（Ｓ１４）。第１ユーザの携帯端末２００ａは、友達登録が成功しない間（Ｓ１６のＮ）、ステップＳ１２に戻って友達登録の動きデータの検出を継続する。第２ユーザの携帯端末２００ｂも同様に、友達登録が成功しない間（Ｓ１８のＮ）、ステップＳ１４に戻って友達登録の動きデータの検出を継続する。
【００６０】
友達登録が成功すると（Ｓ１６のＹ）、第１ユーザの携帯端末２００ａは、第１ユーザと第２ユーザとの間のエッジデータを取得する（Ｓ２０）。同様に第２ユーザの携帯端末２００ｂも、友達登録が成功すると（Ｓ１８のＹ）、第１ユーザと第２ユーザとの間のエッジデータを取得する（Ｓ２２）。ここで「エッジデータ」とは、ソーシャルグラフを構成する、ひとり対ひとりのデータを示し、この例では、第１ユーザ対第２ユーザのデータである。
【００６１】
エッジデータを取得すると、第１ユーザの携帯端末２００ａおよび第２ユーザの携帯端末２００ｂはエッジデータをサーバ３００に送信する。サーバ３００は受信したエッジデータをもとにＳＮＳデータベース４００に格納されたソーシャルグラフを更新する（Ｓ２４）。サーバ３００は、携帯端末２００のペアからエッジデータを受信することを契機としてソーシャルグラフを更新することにより、多数のユーザが共通に利用するソーシャルネットワークサービスにおけるソーシャルグラフを更新することができる。
【００６２】
ところで、動きデータが類似するか否かをもとに制御する場合、所定の操作を実行するか否かの二択の制御となる。ここで、例えば所定の操作として友達登録を考えた場合、「友達」のレベルも指定できると便利である。そこで、修正動作検出部３５０は、操作実行部２６０による操作の実行後、所定の時間内に動きデータ取得部２１０内の測定部２１２が取得した第１ユーザの動きデータを解析する。より具体的には、修正動作検出部３５０は、第１ユーザの動きデータが、操作実行部による操作を修正するか否かを決定するために定められた操作修正動作と類似するか否かを検出する。
【００６３】
操作実行部２６０は、修正動作検出部２５０が操作修正動作と類似する動きデータを検出した場合、第１ユーザと第２ユーザとが共通に利用するソーシャルネットワークサービスに対して所定の修正操作を実行する。ここで「所定の修正操作」とは、操作実行部２６０がした操作のレベルを変更する操作のことをいう。例えば、操作実行部２６０が第１ユーザと第２ユーザとの友達登録操作を実行した場合に、第１ユーザが「親友」としての登録を望むかもしれない。そのような場合、第１ユーザは所定の時間（例えば１０分以内）に、友達登録を親友登録に修正するための動作をする。あるいはまた、社交辞令上、第１ユーザは第２ユーザと握手したが、実際には第１ユーザは第２ユーザと友達登録をすることを望まない場合もあり得る。このような場合、第１ユーザは所定の時間（例えば３０分以内）に、友達登録を取り消すための動作をする。
【００６４】
このように、本実施の形態において、「所定の修正操作」には、前にした操作を取り消す取り消し操作も含むものとする。修正するための動作は、例えば右手の手のひらを地面と平行にして３回振る動作とする等、用途に応じてあらかじめ決めておけばよい。また、所定の時間を設けることにより、その時間が経過後に偶然修正するための動作を検出して修正操作を実行してしまうことを防止することができる。
【００６５】
以上、異なる携帯端末２００同士が互いに近距離に存在する場合に、無線アドホックネットワークを構築してアドホック通信をすることを前提に説明した。これは、動きデータの比較等を実行する計算リソースがユーザの利用する携帯端末２００の場合の例である。上述したように、携帯端末２００を利用するユーザにとっては、アプリケーションがローカルな計算リソースで実行されるか、あるいはネットワーク上のソーシャルネットワークシステム１００の計算リソースで実行されるかは重要な問題ではない。そこで以下、サーバ３００内に上述した動きデータ解析部２２０に相当する動きデータ解析部３２０が存在し、サーバ３００の計算リソースが動きデータの比較等を実行する場合について説明する。なお、既述の説明と重複する部分については適宜省略または簡略化して記載する。
【００６６】
図８は、実施の形態に係るサーバ３００の内部構成を模式的に示す図である。実施の形態に係るサーバ３００は、広域ネットワークインタフェース３１２、動きデータ解析部３２０とを含む。
【００６７】
動きデータ解析部３２０は、上述した携帯端末２００内の動きデータ解析部２２０と同様に、時間間隔取得部３３０、動きデータ比較部３４０、修正動作検出部３５０、および操作実行部３６０を含む。動きデータ解析部２２０と異なり、動きデータ解析部３２０は、距離取得部３９０をさらに含む。
【００６８】
広域ネットワークインタフェース３１２は、少なくとも２以上のユーザそれぞれが所持する２以上の携帯端末２００とネットワーク５００を介して通信する。動きデータ比較部３４０は、広域ネットワークインタフェース３１２を介して、２以上の携帯端末２００がそれぞれ測定したユーザの動きデータを取得する。距離取得部３９０は、２以上の携帯端末２００それぞれが動きデータを測定したときの、ユーザの所在位置を取得する。距離取得部３９０は、取得した所在位置をもとに、異なる２人のユーザの所在位置の間の距離を取得する。
【００６９】
時間間隔取得部は、異なる２人のユーザの動きデータの測定時刻との時間間隔を取得する。動きデータ比較部３４０は、時間間隔取得部３３０が取得した時間間隔が所定の時間間隔以内であり、かつ距離取得部３９０が取得した距離が所定の距離以内の場合、その２人のユーザの動きデータが類似するか否かを比較する。操作実行部３６０は、その２人のユーザの動きデータが類似する場合、その２人のユーザが共通に利用するソーシャルネットワークサービスに対して所定の操作を実行する。
【００７０】
図９は、実施の形態に係る測定部２１２の内部構成を模式的に示す図であり、より具体的には、サーバ３００の計算リソースが動きデータの比較等を実行する場合における測定部２１２の内部構成図である。実施の形態に係る測定部２１２は、送受信部２７０、加速度センサ２７２、音情報取得部２７４、通知部２７６に加えて、位置検出部２７８を含む。
【００７１】
上述したとおり、距離取得部３９０は異なる２人のユーザの所在位置の間の距離を取得する。そこで位置検出部２７８は、位置検出部２７８を搭載する携帯端末２００が存在する場所の位置情報を取得する。位置検出部２７８は、例えば既知のＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュールを用いて実現できる。位置検出部２７８が取得した位置情報は、送受信部２７０およびネットワーク５００を介してサーバ３００に送信される。
【００７２】
図８の説明に戻る。時間間隔取得部３３０はサーバ３００内にあるため、各携帯端末２００が動きデータを測定したときの時刻を直接計測することは困難である。また、時間間隔取得部３３０はネットワーク５００を介して動きデータを取得するため、データを取得する時刻は各携帯端末２００がデータを送信した時刻に依存する。仮に各携帯端末２００がデータを計測すると同時に送信することが保証されているとしても、ネットワーク５００の帯域によりデータ送信に遅延が生じないとも限らない。そこで時間間隔取得部３３０は、上述した時間間隔取得部２３０の場合とは異なり、各携帯端末２００が動きデータを測定したときに付与した時刻をもとに、各携帯端末２００が動きデータを測定したときの時刻の時間差を取得する。
【００７３】
図１０は、実施の形態に係る動きデータ比較部３４０の内部構成を模式的に示す図である。実施の形態に係る動きデータ比較部３４０は、動きデータ比較部２４０と同様に、写像変換部３４２、閾値処理部３４４、およびマッチング部３４６を含む。動きデータ比較部３４０は、動きデータ比較部２４０と異なり、ユーザ情報通知部３４８をさらに含む。
【００７４】
写像変換部３４２と閾値処理部３４４との動作は、それぞれ写像変換部２４２と閾値処理部２４４との動作と同様である。一方で、サーバ３００内に存在する動きデータ比較部３４０は、多数の異なる２人のユーザの組み合わせに関する動きデータを比較する。そこで、マッチング部３４６は、閾値処理部３４４が取得した動きデータの組み合わせの中から、写像変換部３４２が出力した実数値をもとに、動きデータが類似すると判断すべき組み合わせを決定する。より具体的には、マッチング部３４６は、写像変換部３４２が出力した実数値であって、かつ類似決定閾値以下となる実数値となる動きデータの組み合わせの中から、実数値が最小となる動きデータの組み合わせを、動きデータが類似する組み合わせとする。これにより、多数の異なる２人のユーザの組み合わせの中から、実際に対面したユーザの組み合わせを特定する可能性を高めることができる。
【００７５】
ユーザ情報通知部３４８は、閾値処理部３４４が取得した類似決定閾値未満となる動きデータの組み合わせをもとに、その動きデータに対応するユーザの組みを取得する。ユーザ情報通知部３４８は、取得したユーザの組み合わせを構成する一方のユーザに対して、他方のユーザに関する情報を通知する。上述したように、写像変換部３４２の出力値が類似決定閾値を下回る場合、そのユーザ達は、所定の時間間隔以内かつ所定の距離以内において、似たような動きをした可能性が高い。すなわち、そのユーザ達は例えば何らかのパーティー会場等で同席していた可能性が高く、友達登録の候補となると考えられる。ユーザ情報通知部３４８が友達登録の候補をそれぞれのユーザに通知することにより、ユーザは友達を探す手間を省くことが可能となる。
【００７６】
図１１は、実施の形態に係るソーシャルネットワークシステム１００における情報処理の流れを説明する別のシーケンス図であり、複数の携帯端末２００とサーバ３００とがネットワーク５００を介して通信可能な場合のシーケンス図である。
【００７７】
第１ユーザの携帯端末２００ａ中の位置検出部２７８は、現在の所在位置の検出を試みる（Ｓ３０）。第２ユーザの携帯端末２００ｂ中の位置検出部２７８も、現在の所在位置の検出を試みる（Ｓ３２）。第１ユーザの携帯端末２００ａは、所在位置の検出が失敗した場合（Ｓ３４のＮ）、ステップＳ３０に戻って所在位置の検出を継続する。第２ユーザの携帯端末２００ｂも、所在位置の検出が失敗した場合（Ｓ３６のＮ）はステップＳ３２に戻って所在位置の検出を継続する。
【００７８】
所在位置の検出に成功した場合（Ｓ３４のＹ）、携帯端末２００ａはネットワーク５００を介して位置データをサーバ３００に送信する（Ｓ３８）。携帯端末２００ｂも、所在位置の検出に成功した場合（Ｓ３６のＹ）、ネットワーク５００を介して位置データをサーバ３００に送信する（Ｓ４０）。
【００７９】
サーバ３００の距離取得部３９０は、携帯端末２００ａおよび携帯端末２００ｂから受信したそれぞれの位置データを比較する（Ｓ４２）。比較の結果、携帯端末２００ａおよび携帯端末２００ｂの所在位置が所定の距離以内の場合、すなわち携帯端末２００ａと携帯端末２００ｂとの所在位置が一致すると考えら得る場合（Ｓ４４のＹ）、サーバ３００は、所在位置が一致する旨を携帯端末２００ａと携帯端末２００ｂとに通知する（Ｓ４６）。比較の結果、携帯端末２００ａと携帯端末２００ｂとの所在位置が一致しない場合（Ｓ４４のＮ）、携帯端末２００ａと携帯端末２００ｂとに関する処理は終了する。
【００８０】
サーバ３００から携帯端末２００ａと携帯端末２００ｂとの所在位置が一致する旨を受信すると、携帯端末２００ａは、携帯端末２００ｂと友達登録可能状態となる（Ｓ４８）。同様に、サーバ３００から携帯端末２００ａと携帯端末２００ｂとの所在位置が一致する旨を受信すると、携帯端末２００ｂも、携帯端末２００ａと友達登録可能状態となる（Ｓ５０）。
【００８１】
携帯端末２００ｂと友達登録可能状態となると、携帯端末２００ａは登録の動きデータの検出を試みる（Ｓ５２）。携帯端末２００ｂも同様に、携帯端末２００ａと友達登録可能状態となると、携帯端末２００ｂは登録の動きデータの検出を試みる（Ｓ５４）。登録の動きデータを検出すると、携帯端末２００ａは検出した動きデータに検出時刻を関連づけるとともにサーバ３００に送信する（Ｓ５６）。携帯端末２００ｂも同様に、検出した動きデータを検出時刻とともにサーバ３００に送信する（Ｓ５８）。
【００８２】
サーバ３００内の時間間隔取得部３３０は、携帯端末２００ａと携帯端末２００ｂとのそれぞれから取得した動きデータに関連づけられている時刻を比較する（Ｓ６０）。携帯端末２００ａと携帯端末２００ｂとのそれぞれから取得した動きデータに関連づけられている時刻の差が所定の時間間隔以内でない場合（Ｓ６２のＮ）、携帯端末２００ａと携帯端末２００ｂとに関する処理は終了する。
【００８３】
携帯端末２００ａと携帯端末２００ｂとのそれぞれから取得した動きデータに関連づけられている時刻の差が所定の時間間隔以内の場合（Ｓ６２のＹ）、動きデータ比較部３４０は、携帯端末２００ａと携帯端末２００ｂとのそれぞれから取得した動きデータを比較する（Ｓ６４）。比較の結果、動きデータが非類似の場合（Ｓ６６のＮ）、携帯端末２００ａと携帯端末２００ｂとに関する処理は終了する。
【００８４】
動きデータ比較部３４０による比較の結果、携帯端末２００ａと携帯端末２００ｂとのそれぞれから取得した動きデータが類似する場合（Ｓ６６のＹ）、サーバ３００内の操作実行部３６０は、ＳＮＳデータベース４００に格納されているソーシャルグラフを更新する（Ｓ６８）。サーバ３００はまた、友達登録の操作が発生した旨を携帯端末２００ａと携帯端末２００ｂとに通知する（Ｓ７０）。サーバ３００から通知を受信すると、携帯端末２００ａは、携帯端末２００ｂに関するエッジデータを更新する（Ｓ７２）。同様に、携帯端末２００ｂは、サーバ３００から通知を受信すると携帯端末２００ａに関するエッジデータを更新する（Ｓ７４）。
【００８５】
以上述べたように、実施の形態に係るソーシャルネットワークシステム１００によれば、ソーシャルネットワークシステムにおける操作を支援する技術を提供することができる。
【００８６】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８７】
（第１の変形例）
上記では、図１１を参照して、複数の携帯端末２００とサーバ３００とがネットワーク５００を介して通信可能な場合に、サーバ３００が動きデータのマッチング等を取る場合につて説明した。これはいわば、複数の携帯端末２００とサーバ３００とが接続してオンラインでリアルタイムに処理を実行する場合に相当する。一方、サーバ３００はオフラインで動きデータのマッチング等の処理をしてもよい。
【００８８】
この場合も、オンラインでリアルタイムに処理を実行する場合と比較して同様の処理が実行される。携帯端末２００はそれぞれ、ネットワーク５００を介してサーバ３００と接続可能な状態となったときに、取得した動きデータをサーバ３００に送信する。サーバ３００は、携帯端末２００から受信した動きデータそれぞれについて、上述した所定の時間間隔以内かつ所定の距離以内の動きデータの組み合わせについて、動きデータが類似するか否かを比較する。これにより、携帯端末２００がネットワークを使用できる環境になく、他の携帯端末２００やサーバ３００と通信できない状況であっても、動きデータを事後的にサーバ３００に送信することで、友達登録等のソーシャルネットワークシステムにおける操作を実行させることができる。
【００８９】
（第２の変形例）
上記では、ソーシャルネットワークシステムにおける操作の例として、異なる２人のユーザの間の友達登録を主な例とする場合について説明した。ソーシャルネットワークシステムにおける操作の例は、異なる２人のユーザ間における操作に限られない。この他にも例えば、一人のユーザに関する操作であってもよい。以下この場合について説明する。
【００９０】
図１２は、実施の形態に係るソーシャルネットワークシステム１００における情報処理の流れを説明するさらに別のシーケンス図であり、一人のユーザに関する操作を支援する場合のシーケンス図である。より具体的に、図１２に示す例はユーザの位置情報を利用して、そのユーザと、ユーザが利用している店等の施設とを結びつけるソーシャルネットワークサービスの操作を支援する場合の例である。
【００９１】
携帯端末２００を利用するユーザは、携帯端末２００上で動作するＳＮＳアプリケーションを起動する（Ｓ８０）。ユーザは、ＳＮＳアプリケーションを起動した状態である店に入店する（Ｓ８２）。ＳＮＳアプリケーションは、位置検出部２７８を利用してユーザの所在位置を検出する（Ｓ８２）。ＳＮＳアプリケーションは、ネットワーク５００を介して検出した所在位置をサーバ３００に送信する（Ｓ８４）。
【００９２】
サーバ３００は、受信した所在位置をもとに、ＳＮＳデータベース４００を検索してユーザの所在位置に該当する店の情報を検索する（Ｓ８６）。サーバ３００は、検索した店情報を携帯端末２００で動作するＳＮＳアプリケーションに送信する（Ｓ８８）。
【００９３】
ＳＮＳアプリケーションは、サーバ３００から店情報を受信する（Ｓ９０）。ＳＮＳアプリケーションは、受信した店情報をもとにその店にチェックインする（Ｓ９２）。ここで「チェックイン」とは、ユーザが利用するソーシャルネットワークサービスにおいて、そのユーザが特定の店舗にいるという情報を登録する動作を意味する。
【００９４】
ユーザは入店した店舗において、所定の操作動作を実行する（Ｓ９２）。ここで「所定の操作動作」とは、ユーザが入店した店舗を、ユーザが利用するソーシャルネットワークサービスにおいてお気に入りに登録するために定められたお気に入り登録動作であり、例えばリストバンド型の測定部２１２を装着した方の手部を２回振る等あらかじめ決めておけばよい。
【００９５】
ＳＮＳアプリケーションは、加速度センサ２７２が取得した動きデータがお気に入り登録動作と類似するかどうかを比較する（Ｓ９６）。比較の結果、動きデータがお気に入り登録動作と非類似の場合、ＳＮＳアプリケーションはその動きデータを破棄する。きデータがお気に入り登録動作と類似する場合、ＳＮＳアプリケーションはお気に入り操作を実行する（Ｓ１００）。
【００９６】
サーバ３００は、ネットワーク５００を介してＳＮＳアプリケーションからお気に入り操作があったことを受信すると、ＳＮＳデータベースに格納された店情報を更新する（Ｓ１０２）。より具体的には、その店をお気に入りとしているユーザの数を増加したり、ユーザの利用するソーシャルネットワークサービスにおける個人ページにその店のリンクを載せたりする。
【００９７】
その後ユーザが店を退店したとする（Ｓ１０４）、ＳＮＳアプリケーションは位置検出部２７８を利用してユーザの所在位置を再度検出する（Ｓ１０６）。ＳＮＳアプリケーションはさらに、検出した所在位置をサーバ３００に送信する（Ｓ１０８）。サーバ３００は、受信した所在位置をもとに再度店の情報を検索する（Ｓ１１０）。検索の結果、店の情報が検出できないか、あるいは異なる新しい店となる場合、未検出または新しい情報を携帯端末２００で動作するＳＮＳアプリケーションに送信する（Ｓ１１２）。
【００９８】
ＳＮＳアプリケーションは、サーバ３００から未検出または新しい情報を受信すると、店情報を消去するか、新しい店情報で更新する（Ｓ１１４）。いずれにしても、ＳＮＳアプリケーションは、ＳＮＳアプリケーションはチェックインしていた店からチェックアウトする（Ｓ１１６）。以上より、ソーシャルネットワークシステムにおける一人のユーザに関する操作を実行することができる。
【００９９】
（第３の変形例）
上記の説明では、音情報取得部２７４が取得した音情報のゲインが所定の閾値を超えることを契機として、動きデータ比較部２４０が第１ユーザの動きデータと第２ユーザの動きデータとを比較する場合について説明した。この構成に加えて、音情報取得部２７４が取得した音情報から環境音を低減するノイズキャンセラ機能を備えてもよい。この場合、例えば動きデータ解析部２２０内に図示しないノイズ低減部を設け、音情報取得部２７４が取得した音情報の信号と、スマートフォン２０２のマイクロフォン（図示せず）から検出した信号とをもとに、既知のノイズキャンセラ技術を用いて実現できる。これにより、環境が騒がしい場合、騒音だけで音量のしきい値を超えてしまうようなことを軽減できる。ノイズキャンセル時の参照情報をスマートフォン２０２のマイクロフォンから取得することで、参照情報を取得するための部材を別途設ける必要もなく、コストおよび軽量化の点でも有利である。
【０１００】
（第４の変形例）
上記の説明では、動きデータ比較部３４０は、第１ユーザの動きデータと第２ユーザの動きデータとを比較する場合について主に説明した。動きデータ比較部３４０が、第１ユーザの動きデータと比較する対象となる動きデータは、第２ユーザが所持する携帯端末が取得した第２ユーザの動きデータには限られない。この他に、比較用の動きデータとしてあらかじめデータベースに格納されている動きデータであってもよい。以下、この場合について説明する。
【０１０１】
図１３は、実施の形態に係る比較用の動きデータを格納した比較用データベース６００のデータ構造を模式的に示す図である。図１３に示す例では、比較用の動きデータとして、第１パターンから第ＮパターンまでのＮ種類（Ｎ≧１）の動きデータのパターンが登録されている。第１パターンは例えばユーザが握手をしたときの手部の動きパターンであり、第２パターンはユーザがハイタッチをしたときの手部の動きパターンである。この他、ユーザがうなずいたときの首部の動きパターンや、ユーザがひざまずいたときの脚部の動きパターン等、比較用データベース６００は動きデータ比較部３４０の比較対象として想定される動きデータをあらかじめ実験によって計測し格納する。
【０１０２】
比較用データベース６００が格納する動きデータの数Ｎの具体的な値は、動きデータ比較部３４０の比較対象として想定してあらかじめ定めておいてもよいし、ユーザが任意のタイミングで動きデータを登録したり削除したりすることで増減できるようにしてもよい。また比較用データベース６００はＳＮＳデータベース４００またはサーバ３００がアクセス可能な他のデータベース（図示せず）に格納されており、携帯端末２００はサーバ３００およびネットワーク５００を介して比較用データベース６００にアクセスしたり、携帯端末２００内の記録部２１６にダウンロードしたりすることができる。
【０１０３】
動きデータ比較部３４０は、動きデータ取得部２１０が取得した第１ユーザの動きデータを、比較用データベース６００に格納されている複数の動きデータと比較し、その複数の動きデータの中から最も類似する動きデータを取得する。これは動きデータ比較部３４０が例えば上述したＤＰマッチングのアルゴリズムを用いることで実現できる。
【０１０４】
動きデータ比較部３４０の比較の結果、第１ユーザの動きデータと最も類似する動きデータの種類が、上述したお気に入り登録動作であった場合、操作実行部２６０はお気に入り操作を実行する。
【０１０５】
（第５の変形例）
上記第４の変形例では、動きデータ比較部３４０が動きデータ取得部２１０が取得した第１ユーザの動きデータを、比較用データベース６００に格納されている１または複数の動きデータと比較する場合について説明した。動きデータ比較部３４０は、第１ユーザの動きデータのみならず、第２ユーザの動きデータも比較用データベース６００に格納されている複数の動きデータと比較し、操作実行部３６０は、動きデータ比較部３４０が実行したふたつの比較結果をもとに、第１ユーザと第２ユーザとが共通に利用するソーシャルネットワークサービスに対して操作を実行してもよい。以下、この場合について説明する。
【０１０６】
図１４は、実施の形態に係る動きデータのパターンの組み合わせを格納した組み合わせパターンデータベース７００のデータ構造を模式的に示す図である。図１４に示すように、組み合わせパターンデータベース７００は、第１ユーザの動きパターンと第２ユーザの動きパターンとの組み合わせと、その組み合わせが意味する内容とを対応づけて格納している。
【０１０７】
例えば動きデータ比較部３４０の比較の結果、第１ユーザの動きデータが第１パターンにマッチし、第２ユーザの動きパターンも第１パターンにマッチしたとする。図１４に示すように、組み合わせパターンデータベース７００において第１パターンと第１パターンとの組み合わせは、２人のユーザが握手したことと対応づけて格納されている。動きデータ比較部３４０は、第１ユーザの動きデータの比較結果と第２ユーザの動きデータの比較結果とをもとに組み合わせパターンデータベース７００を参照して、２人のユーザが握手したことを取得する。操作実行部３６０は、動きデータ比較部３４０から２人のユーザの握手したことを取得し、例えば２人のユーザが共通に利用するソーシャルネットワークサービスにおいて、その２人のユーザの友達登録を実行する。
【０１０８】
例えば第１ユーザが第２ユーザに敬礼する場合、あるいは第１ユーザが第２ユーザにひざまずく場合等は、第１ユーザの動きデータと第２ユーザの動きデータとは異なる。このように、組み合わせパターンデータベース７００が格納する組み合わせの種類は、比較用データベース６００に格納されている動きデータの任意の組み合わせとしてもよい。動きデータ比較部３４０が、比較用データベース６００と組み合わせパターンデータベース７００とを参照することで、第１ユーザの動きデータと第２ユーザの動きデータとを直接比較する場合と比較して、より多くのユーザの動作を扱うことができる点で効果がある。
【０１０９】
組み合わせパターンデータベース７００が格納する動きデータの組み合わせは、ユーザが任意のタイミングで動きデータを登録したり削除したりすることで増減できるようにしてもよい。また組み合わせパターンデータベース７００はＳＮＳデータベース４００またはサーバ３００がアクセス可能な他のデータベース（図示せず）に格納されており、携帯端末２００はサーバ３００およびネットワーク５００を介して組み合わせパターンデータベース７００にアクセスしたり、携帯端末２００内の記録部２１６にダウンロードしたりすることができる。
【符号の説明】
【０１１０】
１００  ソーシャルネットワークシステム、  ２００  携帯端末、  ２０２  スマートフォン、  ２１０  動きデータ取得部、  ２１２  測定部、  ２１４  近距離通信部、  ２１６  記録部、  ２１８  タイムスタンプ付与部、  ２２０  動きデータ解析部、  ２３０  時間間隔取得部、  ２４０  動きデータ比較部、  ２４２  写像変換部、  ２４４  閾値処理部、  ２４６  マッチング部、  ２５０  修正動作検出部、  ２６０  操作実行部、  ２７０  送受信部、  ２７２  加速度センサ、  ２７４  音情報取得部、  ２７６  通知部、  ２７８  位置検出部、  ２８０  アドホック通信部、  ３００  サーバ、  ３１２  広域ネットワークインタフェース、  ３２０  動きデータ解析部、  ３３０  時間間隔取得部、  ３４０  動きデータ比較部、  ３４２  写像変換部、  ３４４  閾値処理部、  ３４６  マッチング部、  ３４８  ユーザ情報通知部、  ３５０  修正動作検出部、  ３６０  操作実行部、  ３９０  距離取得部、  ４００  ＳＮＳデータベース、  ５００  ネットワーク、  ６００  比較用データベース、  ７００  組み合わせパターンデータベース。
【図１】
2014135000.tif 000013
【図２】
2014135000.tif 000014
【図３】
2014135000.tif 000015
【図４】
2014135000.tif 000016
【図５】
2014135000.tif 000017
【図６】
2014135000.tif 000018
【図７】
2014135000.tif 000019
【図８】
2014135000.tif 000020
【図９】
2014135000.tif 000021
【図１０】
2014135000.tif 000022
【図１１】
2014135000.tif 000023
【図１２】
2014135000.tif 000024
【図１３】
2014135000.tif 000025
【図１４】
2014135000.tif 000026