(57)【要約】【課題】ユーザが読んだ文字を識別し、記録できる情報処理装置、情報処理システム、情報処理方法およびプログラムを提供すること。【解決手段】本発明は、ユーザの視線を検出する視線検出手段と、ユーザの視野に入る領域の画像を撮像する撮像手段と、検出された視線の情報と取得された画像に基づき、ユーザの視線上に文字が存在するかを判断する文字判断手段と、連続して検出された視線の情報と、連続して取得された画像に基づき、ユーザが文字を読んでいるかどうかを判断する動作判断手段と、連続して検出された視線の情報と、連続して取得された画像とを用いて、ユーザが読んでいる文字列を識別する文字識別手段と、文字識別手段により識別された文字列を、ユーザの視野に入る情報として記憶する記憶手段とを含む。【選択図】図２
2017091339.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの視野に入る情報を取得して記憶する情報処理装置であって、
前記ユーザの視線を検出する視線検出手段と、
前記ユーザの視野に入る領域を撮像する撮像手段と、
前記視線検出手段により検出された前記視線の情報と、前記撮像手段により取得された画像とに基づき、前記ユーザの視線上に文字が存在するかを判断する文字判断手段と、
前記文字判断手段により文字が存在すると判断された場合、前記視線検出手段により連続して検出された前記視線の情報と、前記撮像手段により連続して取得された画像とに基づき、前記ユーザが文字を読んでいるかを判断する動作判断手段と、
前記動作判断手段により読んでいると判断された場合、前記視線検出手段により連続して検出された前記視線の情報と、前記撮像手段により連続して取得された前記画像とを用いて、前記ユーザが読んでいる文字列を識別する文字識別手段と、
前記文字識別手段により識別された文字列を、前記ユーザの視野に入る情報として記憶する記憶手段と
を含む、情報処理装置。
【請求項２】
前記記憶手段は、前記識別された文字列に、該文字列に関連した関連情報を付与して記憶する、請求項１に記載の情報処理装置。
【請求項３】
前記関連情報は、
前記識別された文字列を識別した日時および場所の情報と、
前記記憶手段に記憶されている文字列のうち、前記識別された文字列を識別した日時と場所に対して、設定された時間内の日時で、かつ設定された距離内の場所として識別された文字列と、
前記識別された文字列中に出現する頻度が一定以上の特徴的な単語と、
前記記憶手段に記憶されている文字列のうち、前記特徴的な単語と同じ単語を関連情報に持つ文字列
のうち、少なくとも１つを含む、請求項２に記載の情報処理装置。
【請求項４】
前記特徴的な単語を抽出する単語抽出手段をさらに含み、
前記単語抽出手段は、
前記記憶手段に記憶されている全ての文字列の数と、前記記憶手段に記憶されている文字列のうち、指定された名詞が、特徴的な単語として記憶されている文字列の数と、前記識別された文字列に含まれる前記指定された名詞の数と、前記識別された文字列に含まれる全ての名詞の数とを用いて該指定された名詞の特徴量を計算し、計算した前記特徴量に基づき、前記識別された文字列から前記特徴的な単語を抽出する、請求項３に記載の情報処理装置。
【請求項５】
ユーザの視野に入る情報を取得して記憶する情報処理システムであって、
前記ユーザの視線を検出する視線検出手段と、
前記ユーザの視野に入る領域を撮像する撮像手段と、
前記視線検出手段により検出された前記視線の情報と、前記撮像手段により取得された画像とに基づき、前記ユーザの視線上に文字が存在するかを判断する文字判断手段と、
前記文字判断手段により文字が存在すると判断された場合、前記視線検出手段により連続して検出された前記視線の情報と、前記撮像手段により連続して取得された画像とに基づき、前記ユーザが文字を読んでいるかを判断する動作判断手段と、
前記動作判断手段により読んでいると判断された場合、前記視線検出手段により連続して検出された前記視線の情報と、前記撮像手段により連続して取得された前記画像とを用いて、前記ユーザが読んでいる文字列を識別する文字識別手段と、
前記文字識別手段により識別された文字列を、前記ユーザの視野に入る情報として記憶する記憶手段と
を含む、情報処理システム。
【請求項６】
前記記憶手段は、前記識別された文字列に、該文字列に関連した関連情報を付与して記憶する、請求項５に記載の情報処理システム。
【請求項７】
前記関連情報は、
前記識別された文字列を識別した日時および場所の情報と、
前記記憶手段に記憶されている文字列のうち、前記識別された文字列を識別した日時と場所に対して、設定された時間内の日時で、かつ設定された距離内の場所として識別された文字列と、
前記識別された文字列中に出現する頻度が一定以上の特徴的な単語と、
前記記憶手段に記憶されている文字列のうち、前記特徴的な単語と同じ単語を関連情報に持つ文字列
のうち、少なくとも１つを含む、請求項６に記載の情報処理システム。
【請求項８】
前記特徴的な単語を抽出する単語抽出手段をさらに含み、
前記単語抽出手段は、
前記記憶手段に記憶されている全ての文字列の数と、前記記憶手段に記憶されている文字列のうち、指定された名詞が、特徴的な単語として記憶されている文字列の数と、前記識別された文字列に含まれる前記指定された名詞の数と、前記識別された文字列に含まれる全ての名詞の数とを用いて該指定された名詞の特徴量を計算し、計算した前記特徴量に基づき、前記識別された文字列から前記特徴的な単語を抽出する、請求項７に記載の情報処理システム。
【請求項９】
入力された検索キーワードに基づいて、前記記憶手段に記憶された文字列と、該文字列に関連する関連情報とを検索する検索手段と、
前記検索手段が検索した結果を表示する表示手段と
をさらに含む、請求項６〜８のいずれか１項に記載の情報処理システム。
【請求項１０】
ユーザの視野に入る情報を取得して記憶するコンピュータが実行する情報処理方法であって、
前記ユーザの視線を検出するステップと、
前記ユーザの視野に入る領域を撮像するステップと、
前記視線を検出するステップにより検出された前記視線の情報と、前記撮像するステップにより取得された画像とに基づき、前記ユーザの視線上に文字が存在するかを判断するステップと、
前記文字が存在するかを判断するステップにより文字が存在すると判断された場合、前記視線を検出するステップにより連続して検出された前記視線の情報と、前記撮像するステップにより連続して取得された画像とに基づき、前記ユーザが文字を読んでいるかを判断するステップと、
前記文字を読んでいるかを判断するステップにより読んでいると判断された場合、前記視線を検出するステップにより連続して検出された前記視線の情報と、前記撮像するステップにより連続して取得された前記画像とを用いて、前記ユーザが読んでいる文字列を識別するステップと、
前記読んでいる文字列を識別するステップにより識別された文字列を、前記ユーザの視野に入る情報として記憶するステップと
を含む、情報処理方法。
【請求項１１】
前記記憶するステップは、前記識別された文字列に、該文字列に関連した関連情報を付与して記憶する、請求項１０に記載の情報処理方法。
【請求項１２】
前記関連情報には、
前記識別された文字列を識別した日時および場所の情報と、
前記記憶するステップで記憶された文字列のうち、前記識別された文字列を識別した日時と場所に対して、設定された時間内の日時で、かつ設定された距離内の場所として識別された文字列と、
前記識別された文字列中に出現する頻度が一定以上の特徴的な単語と、
前記記憶するステップで記憶された文字列のうち、前記特徴的な単語と同じ単語を関連情報に持つ文字列
のうち、少なくとも１つを含む、請求項１１に記載の情報処理方法。
【請求項１３】
前記特徴的な単語を抽出するステップをさらに含み、
前記単語を抽出するステップは、
前記記憶するステップで記憶された全ての文字列の数と、前記記憶するステップで記憶された文字列のうち、指定された名詞が、特徴的な単語として記憶されている文字列の数と、前記識別された文字列に含まれる前記指定された名詞の数と、前記識別された文字列に含まれる全ての名詞の数とを用いて該指定された名詞の特徴量を計算し、計算した前記特徴量に基づき、前記識別された文字列から前記特徴的な単語を抽出する、請求項１２に記載の情報処理方法。
【請求項１４】
請求項１０〜１３のいずれか１項に記載の情報処理方法に含まれる各ステップを、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法およびプログラムに関し、より詳細には、ユーザが見た情報を記録する技術に関する。
【背景技術】
【０００２】
近年、腕時計型やメガネ型のウェアラブル端末に代表される、ユーザが身に着けて使用する電子機器が開発されており、ユーザの体調や、体験したことをリアルタイムで記録する、ライフログを活用する技術が知られている。例えば、メガネ型のウェアラブル端末を用いれば、ユーザが見た情報を、写真として保存し、ソーシャルネットワークサービス（ＳＮＳ）等にアップロードすることができる。
【０００３】
ユーザが見た情報を記録する技術として、例えば、撮像装置および視線検出装置を使用して、ユーザの視線が一定時間以上止まった視線の先にある物体を、注視対象物として特定する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、注視対象物体に含まれている文字情報を検出して識別することはできるが、ユーザが実際にその文字を読んだかどうかを判断し、読んだ文字を記録することはできない。
【０００５】
そこで、ユーザが読んだ文字を識別し、記録できる装置や方法等の提供が望まれていた。
【課題を解決するための手段】
【０００６】
本発明は、上記課題に鑑みてなされたものであり、ユーザの視野に入る情報を取得して記憶する情報処理装置であって、前記ユーザの視線を検出する視線検出手段と、前記ユーザの視野に入る領域を撮像する撮像手段と、前記視線検出手段により検出された前記視線の情報と、前記撮像手段により取得された画像とに基づき、前記ユーザの視線上に文字が存在するかを判断する文字判断手段と、前記文字判断手段により文字が存在すると判断された場合、前記視線検出手段により連続して検出された前記視線の情報と、前記撮像手段により連続して取得された画像とに基づき、前記ユーザが文字を読んでいるかを判断する動作判断手段と、前記動作判断手段により読んでいると判断された場合、前記視線検出手段により連続して検出された前記視線の情報と、前記撮像手段により連続して取得された前記画像とを用いて、前記ユーザが読んでいる文字列を識別する文字識別手段と、前記文字識別手段により識別された文字列を、前記ユーザの視野に入る情報として記憶する記憶手段とを含む、情報処理装置が提供される。
【発明の効果】
【０００７】
本発明によれば、ユーザが読んだ文字を識別し、記録することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の情報処理装置のハードウェア構成を示す図。
【図２】図１に示す情報処理装置の機能ブロック図。
【図３】視線の情報からユーザが見ている対象物の三次元座標を計算する方法を説明する図。
【図４】撮像された画像内に文字が存在する場合に、その文字を識別し、文字列を抽出する方法を説明する図。
【図５】ユーザがどの文字を読んでいるかを判断する方法を説明する図。
【図６】ユーザが改行のある文章を読むときのユーザの視線の動きを示した図。
【図７】記憶部に記憶されるテーブルを例示した図。
【図８】文章を読んでいるユーザの視線を示した図。
【図９】記憶部に記憶された文字列およびその文字列に付与された該文字列に関連する関連情報を例示した図。
【図１０】情報処理装置により実行される全体の処理の流れを示したフローチャート図。
【図１１】読んだ文字を識別する処理の流れを示したフローチャート図。
【図１２】識別した文字列に関連情報を付与する処理の流れを示したフローチャート図。
【図１３】記憶されている文字列に関連情報を追加する処理の流れを示したフローチャート図。
【図１４】文字列を検索する処理の流れを示したフローチャート図。
【発明を実施するための形態】
【０００９】
以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。
【００１０】
図１は、本実施形態の情報処理装置１００のハードウェア構成を示す。情報処理装置１００は、ＣＰＵ１０１と、視線検出装置としての視線センサ１０２と、撮像装置としてのカメラ１０３と、通信インターフェース１０４と、位置検出装置としてのＧＰＳ１０５と、記憶装置としてのＲＯＭ１０６およびＲＡＭ１０７とを含んで構成される。
【００１１】
情報処理装置１００は、上記のハードウェアを備える装置であればいかなる装置であってもよく、例えば、メガネ型のウェアラブル端末とすることができる。メガネ型のウェアラブル端末は、一般的なメガネと同様に、鼻の上に載せ、両耳に引っ掛ける要領でユーザが身に付けることができる端末である。
【００１２】
ＣＰＵ１０１は、情報処理装置１００の動作を制御するプログラムを実行する装置である。視線センサ１０２は、ユーザの視線を検出する装置である。視線とは、ユーザの目の向き、あるいは目で見ている方向である。なお、視線センサ１０２は、ユーザの左右の各目の向きをそれぞれ検出する。カメラ１０３は、ユーザの視野に入る領域を撮像する装置である。カメラ１０３は、撮像して得られた画像を、静止画像のデータとして出力することもできるし、動画像のデータとして出力することもできる。また、カメラ１０３は、平滑化処理、シェーディング補正、γ補正等の画像処理を行い、画像処理後のデータを出力することもできる。
【００１３】
通信インターフェース１０４は、無線通信または有線通信によって、情報処理装置１００と、外部の機器やネットワーク等とを接続するための装置である。ＧＰＳ１０５は、情報処理装置１００の位置を検出するための装置である。ＧＰＳ１０５は、検出した位置を緯度、経度の情報として出力する。ＲＯＭ１０６は、情報処理装置１００が実行するＯＳやアプリケーション等のプログラムやデータ等を記録するための不揮発性の記憶装置である。ＲＡＭ１０７は、情報処理装置１００が実行するプログラムの実行空間を提供する、揮発性の記憶装置であり、プログラムやデータの格納用、展開用として使用される。
【００１４】
図２は、情報処理装置１００の機能ブロック図である。情報処理装置１００は、機能部として、視線検出部２０１と、視線座標計算部２０２と、撮像部２０３と、文字列検出部２０４と、文字判断部２０５と、動作判断部２０６と、文字識別部２０７と、単語抽出部２０８と、位置情報検出部２０９と、記憶部２１０と、単語検索部２１１と、関連文字列検索部２１２とを含む。なお、上記の機能部は、全てが１つの機器内に存在していなくてもよく、別個の機器として、または別個の機器内に実装されていてもよい。その場合、情報処理装置１００ではなく、情報処理システムとして提供することができる。
【００１５】
なお、図２に示した機能ブロックは、ＣＰＵ１０１が本実施形態のプログラムをＲＡＭ１０７に読み込んで、プログラムを実行することにより、コンピュータ上に上記の機能部が実現される。なお、図２に示した各機能部は、全部がソフトウェア的に実現されても良いし、その一部または全部を同等の機能を提供するハードウェアとして実装することもできる。以下に、各機能部について説明する。
【００１６】
視線検出部２０１は、視線センサ１０２によって、ユーザの左右の各目が向いている方向を検出する。ユーザの各目が向いている方向を検出する方式としては、これまでに知られた、可視光カメラによって、目頭を基準位置として、虹彩の位置から視線を検出する方式や、赤外線カメラによって、角膜反射の位置に対する瞳孔の位置から視線を検出する方式等を採用することができる。これらの方式については、よく知られたものであるので、ここでは詳述しない。
【００１７】
視線座標計算部２０２は、視線検出部２０１で検出した各目が向いている方向から、両目の視線の交点の座標を計算する。座標は、三次元座標で、例えば二つの視線センサ１０２を結ぶ直線の中心を基準点（０，０，０）とした座標として計算することができる。撮像部２０３は、ユーザの目の付近に設置されたカメラ１０３によって、ユーザの視野に入った領域を撮影する。撮像部２０３は、ユーザの視線が動いたときに撮影し、止まっているときは撮影しない。なお、視線が完全に停止することは不可能であるため、閾値を設け、視線が閾値以上の角度で動いた場合に、視線が動いたと判断し、撮影することができる。また、撮影は、視線が動いている間、一定時間または一定距離の間隔で行うことができる。
【００１８】
文字列検出部２０４は、撮像部２０３が撮像して得られた画像の中から、文字列を検出する。文字列を検出する方法としては、例えば、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）ソフトウェアを使用し、あらかじめ記憶されたパターンと、撮像して得られた画像とを照合することによって、文字を識別する技術等を用いることができる。
【００１９】
文字判断部２０５は、視線座標計算部２０２により計算された両目の視線の交点の座標と、撮像部２０３により取得された画像とに基づき、ユーザの視線上に文字が存在するかを判断する。動作判断部２０６は、文字判断部２０５により文字が存在すると判断された場合、視線座標計算部２０２により連続して計算された視線の交点の座標の情報と、撮像部２０３により連続して取得された画像とに基づき、ユーザが文字を読んでいるかどうかを判断する。文字識別部２０７は、動作判断部２０６により、読んでいると判断された複数の文字を識別し抽出する。
【００２０】
記憶部２１０は、文字識別部２０７が抽出した複数の文字を、文字列として記憶する。記憶する文字列には、識別された日時、特徴的な単語、位置情報、関連する文字列等を、関連情報として付与して、記憶することができる。
【００２１】
単語抽出部２０８は、文字識別部２０７により識別された文字列から、特徴的な単語を抽出する。なお、特徴的な単語とは、識別された文字列に含まれる名詞のうち、該文字列を特徴づける単語を指し、例えば、文字列中に出現する頻度が一定以上の単語を、特徴的な単語とすることができる。特徴的な単語を抽出する方法の一例としては、文字列中の単語の出現頻度等から特徴量を計算し、その大小を比較することによって判定する方法が挙げられる。
【００２２】
位置情報検出部２０９は、ＧＰＳ１０５によって実現され、情報処理装置１００の位置情報を検出する。位置情報は、情報処理装置１００が配置されている位置を緯度および経度で示した情報である。
【００２３】
単語検索部２１１は、記憶部２１０に記憶された文字列の中から、単語抽出部２０８が抽出した特徴的な単語が、関連情報に付与されている文字列を検索する。関連文字列検索部２１２は、記憶部２１０に記憶された文字列の中から、文字識別部２０７により識別された日時と、位置情報検出部２０９により検出された位置情報で示される場所とが近い文字列を関連文字列として検索する。なお、日時や場所が近い文字列とは、文字列を識別した日時と場所に対して、設定された時間内の日時で、かつ設定された距離内の場所において識別された文字列のことを指す。
【００２４】
上述したように、特徴的な単語、識別された日時と場所、同じ特徴的な単語を持つ文字列、識別された日時と場所が近い関連文字列等を、識別された文字列に、関連情報として付与することで、類似する文章同士を紐付けることができ、記憶した情報の検索性や有用性を高めることができる。
【００２５】
図３から図６を参照して、本実施形態において、文字列を識別する方法について詳細に説明する。
【００２６】
図３は、視線の情報からユーザが見ている対象物３０２の三次元座標を計算する方法を説明する図である。各軸の定義は、二つの視線センサ１０２を結ぶ直線の中心を原点として、その直線をｙ軸とし、地面に対して水平で、かつ原点を通り、ｙ軸に直交する直線をｘ軸とする。また、原点を通り、ｘ軸およびｙ軸に直交する直線をｚ軸とする。図３（ａ）は、ｘ−ｙ座標平面図を表しており、図３（ｂ）は、ｚ−ｘ座標平面図を表している。図中の破線で示された矢線は、ユーザの各目の視線を表している。
【００２７】
視線センサ１０２は、ユーザの左右の目３０１の向きを監視することで、各目の視線を検出する。視線座標計算部２０２は、左目の視線と、右目の視線から、その交点にある対象物３０２の位置の三次元座標（ｄｘ，ｄｙ，ｄｚ）を計算する。
【００２８】
文字判断部２０５は、文字列検出部２０４により検出された画像内にある文字の位置と、視線座標計算部２０２により計算された対象物３０２の座標から、ユーザの視線の先に文字が存在するかどうかを判断する。文字が存在するかの判断は、撮像部２０３によって撮像された画像の焦点距離と、視線座標計算部２０２により計算された対象物３０２の位置のｘ座標との比較、および画像内の焦点を合わせた位置に対する文字の位置の座標と、対象物３０２の位置のｙ座標およびｚ座標との比較によって行う。比較した結果、画像中の文字の位置と、視線座標計算部２０２によって計算された三次元座標が一致すれば、文字判断部２０５は、ユーザの視線上に文字が存在すると判断する。なお、上記の判断は、三次元座標の完全な一致に限らず、一定の範囲内であれば誤差とみなし、その範囲内であれば、ユーザの視線上に文字が存在すると判断することができる。
【００２９】
文字判断部２０５が、ユーザの視線上に文字が存在すると判断した場合、動作判断部２０６は、視線の動き、より具体的には視線が動く方向から、文字列検出部２０４によって検出された文字列が、ユーザが読んだ文章であるかを判断する。動作判断部２０６は、視線が動く方向が、文字列が並ぶ方向と同じ場合に、視線の動きが文字列に沿うように動いていることから、ユーザが、その文字列を読んだと判断する。また、文字列に沿うように動いていなければ、ユーザは、その文字列を読んでおらず、偶発的に視野に入ったものであると判断する。
【００３０】
図４は、撮像された画像内に文字が存在する場合に、その文字を識別し、文字列を抽出する方法を説明する図である。情報処理装置１００は、撮像部２０３によって撮像された画像内にある文字を識別し、文字列を抽出する。以下に、文字列を抽出する方法について詳細に説明する。
【００３１】
図４（ａ）は、撮像部２０３で撮像された画像にある文字である。ここでは、「サンプル」という文字を例として挙げている。撮像された画像の中にある文字は、一文字ずつ識別される。図４（ｂ）では、「サ」、「ン」、「プ」、「ル」の各文字を、各文字が入る最小の矩形の枠で囲い、それぞれが個々の文字であることが識別される。
【００３２】
次に、識別された各文字につき、枠線上を含む、枠内の同じ位置にある一点を基準点とし、各文字の基準点から最も近い他の文字の基準点同士を線で結ぶ。図４（ｃ）では、矩形の枠の対角線が交わる点（中心）を基準点として設定し、隣り合う文字の基準点を結んだ線を示している。さらに、図４（ｄ）のように、図４（ｃ）で結んだ線は、矢線に示すように向かって左から右へ流れる、連続した文字列として識別される。
【００３３】
図４（ｃ）では、基準点を枠の中心としたが、各文字の基準点が各枠内の同じ位置である限り、基準点はいかなる位置であってもよい。また、線を結ぶ際に、最も近い基準点を結ぶことで、行間の間隔よりも、文字間の間隔が小さいことから、縦書きと横書きを区別することができる。このようにして、各文字を識別することで、文字列を抽出することができる。
【００３４】
図５は、ユーザがどの文字を読んでいるかを判断する方法を説明する図である。図５（ａ）のように、文字が並ぶ方向と、視線が動く方向とを比較することで、ユーザがどの文字を読んでいるかを判断することができる。
【００３５】
例えば、動作判断部２０６が、文字が並ぶ方向と、視線が動く方向とを比較し、その方向が同じで、かつ視線の動きが、一定の速度あれば、ユーザが、その文字列の行を読んでいると判断することができる。また、その一定速度で動いている距離によって、文字列をどこまで読んだかを判断することができる。
【００３６】
なお、ユーザが文字を書いている場合、ユーザは書いた文字を読んでいるため、撮像された画像内にある文字の識別を随時行うことで、書いた文字列を記録することができる。
【００３７】
図５（ｂ）は、文字を識別するタイミングを示している。視線が、あらかじめ設定された距離ｄを動いたときに、撮像部２０３によって画像を撮像し、文字の識別を行う。撮像する際のピントは、視線座標計算部２０２により計算された両目の視線の交点のｘ座標から求めることができる。
【００３８】
上述したように、文字列は、視線の動きによって識別される。したがって、ユーザが改行のある文章を読んでいる場合では、本来は同じ文章であっても、改行によって識別される文字列が途切れてしまい、行ごとに別個の文字列として識別されてしまう可能性がある。
【００３９】
図６は、ユーザが改行のある文章を読むときのユーザの視線の動きを示した図である。図中の矢線は、ユーザの視線の動きを示している。ユーザは、１行目の文字列を読んだ後（矢線（１））、次の行へ視線を動かしている（矢線（２））。さらにその後、視線を動かした先の行の文字列を読んでいる（矢線（３））。この場合、視線が矢線（２）を移動している間に、識別される文字列が存在しないため、１行目の文字列と、視線を動かした先の行の文字列とが、別個の文字列として識別されてしまう。
【００４０】
そこで、改行のある文章を読む場合でも、連続する同じ文字列として識別するために、以下の方法により、文章の改行時に、連続して文字列を読んでいるかを判断する。例えば、視線が１行分の文字列を読んだ時間と、改行のために視線を次の行に移す時間とを比較する方法を採用することができる。この方法は、図６の矢線（１）に掛かる時間と、矢線（２）に掛かる時間とを比較し、矢線（２）に掛かる時間が、矢線（１）に掛かる時間より短い場合には、改行のために視線を文字列から外したものと判断するというものである。なお、この方法は一例であり、連続する同じ文字列として識別することができれば、この方法に限られるものではない。
【００４１】
これまで、視線の動きから文字列を識別する方法について説明してきた。ここからは、識別した文字列を記憶する方法について説明する。
【００４２】
文字列を記憶する際には、文字列に関連する関連情報を付与することで、検索性が向上し、情報の活用に効果が期待できることから、文字列に、関連情報を付与して記憶することが望ましい。図７は、記憶部２１０に記憶されるテーブルを例示した図である。文字列に関連する関連情報の例としては、（１）文字列を識別した日時と場所、（２）文字列を識別した日時と場所が近い文字列、（３）特徴的な単語、（４）同じ特徴的な単語を関連情報として持つ文字列等が挙げられるが、これらに限定されるものではない。
【００４３】
文字列を識別した日時と場所は、ライフログを記憶する上で、最も基礎的な情報であり、この日時と場所を付与することで、ユーザが、いつ、どこで、文字列を読み書きしたのかを識別することができる。この日時と場所は、情報処理装置１００に内蔵する時計機能と、上記の位置情報検出部２０９を利用して、取得することができる。
【００４４】
また、文字列を識別した日時と場所が近い文字列が記憶部２１０に記憶されている場合には、該文字列を関連情報として付与することが好ましい。図８は、文章を読んでいるユーザの視線を示した図である。図８は、ユーザが文章を読んでいる途中に、別のものを見た場合を例示し、図中の矢線はユーザの視線の動きを示している。図８では、ユーザは、文章中の文字列「サン」を読んでから、車を見た後、もう一度文章に視線を戻し、文字列「プル」を読んでいる。この場合、「サン」と「プル」は、それぞれ別個の文字列として記憶されることになる。
【００４５】
そこで、文字列を識別した日時と場所が近い文字列を関連情報として付与することで、同じ文章が別の文字列として記憶された場合でも、関連情報で紐付けられ、検索性を向上させることができる。例えば、図８において、「サン」を識別した日時と場所と、「プル」を識別した日時と場所とを比較し、それぞれの日時と場所が、あらかじめ設定された時間内と距離内であれば、両者を識別した日時と場所が近いものと判断する。
【００４６】
また、文字列に含まれる単語のうち、特徴的な単語を、関連情報として付与して文字列を記憶することで、文字列の内容を識別しやすくなる。
【００４７】
特徴的な単語は、単語抽出部２０８により、識別された文字列から名詞を抽出して、特徴量を計算し、該特徴量の大小によって判断する。特徴量は、名詞ごとに、下記式（１）を使用して、計算することができる。
【００４８】
【数１】
2017091339.tif 000003
【００４９】
上記式（１）中のＳａｌｌは、記憶部２１０に記憶されている全ての文字列の数である。Ｓｃは、記憶部２１０に記憶されている文字列のうち、特徴量Ｃを求めようとする名詞が、特徴的な単語として記憶されている文字列の数である。したがって、Ｓａｌｌ／Ｓｃの値が大きい場合には、特徴量Ｃを求めようとする名詞は、記憶されている他の文字列に含まれていることが少ないことを示すので、該名詞は、記憶する文字列を特徴づける単語であると判断することができる。ただし、Ｓｃの値は０でないものとする。
【００５０】
また、上記式（１）中のＷｃは、識別された文字列、すなわち記憶する文字列に含まれる、特徴量Ｃを求めようとする名詞の数である。Ｗｎは、記憶する文字列に含まれる、全ての名詞の数である。したがって、Ｗｃ／Ｗｎの値が大きい場合には、記憶する文字列において、特徴量Ｃを求めようとする名詞の出現頻度が高いことを示すので、記憶する文字列を特徴づける単語であると判断することができる。ただし、Ｗｎの値は０でないものとする。
【００５１】
上記の方法で、文字列に含まれる各名詞の特徴量Ｃを求めて、それぞれを比較し、特徴量Ｃが大きい名詞を、特徴的な単語として関連情報に付与して記憶する。また、特徴量Ｃの大小を判断する基準は、あらかじめ設定しておくことができる。すなわち、特徴量Ｃがあらかじめ設定された値以上である名詞を、特徴的な単語として関連情報に付与して記憶することができる。なお、関連情報として付与する特徴的な単語の数は、制限があってもよいし、無制限であってもよい。数に制限がある場合には、ユーザが、あらかじめ上限を設定しておくことができる。
【００５２】
このようにして特徴的な単語を抽出することができるが、特徴的な単語を抽出する方法は、上記に例示した方法に制限されるものではない。その他の方法としては、例えば、アンダーライン、網掛け、太字、色付け等によって強調されている単語や、文字列を識別する際に、視線の動きが相対的に遅くなった単語を、特徴的な単語として抽出する方法を採用することもできる。
【００５３】
また、同じ特徴的な単語を関連情報として持つ文字列が記憶部２１０に記憶されている場合、該文字列を識別した文字列の関連情報に付与することで、検索性を向上させることができる。これにより、過去に類似する文章を読んでいた場合、特徴的な単語で紐付けられているため、該類似する文章も、検索結果に出力することができる。
【００５４】
これまで、文字列を記憶する方法について説明してきた。ここからは、文字列を検索する方法について説明する。図９は、記憶部２１０に記憶された文字列およびその文字列に付与された該文字列に関連する関連情報を例示した図であり、文字列と関連情報とを対応付けたテーブルを示した図である。
【００５５】
まず、検索キーワードを「生産性」として検索を行う場合、Ｎｏ．１の文字列には、特徴的な単語として「生産性」が関連情報に付与されて記憶されているので、検索結果にＮｏ．１の文字列を出力する。検索は、この結果のみを出力してもよいが、さらに、この検索結果に基づいて、関連情報に「Ｎｏ．１の文字列」が付与されている文字列を検索することができる。その結果、Ｎｏ．１の文字列を識別した日時と場所が近い文字列として、Ｎｏ．２の文字列があるので、検索結果には、Ｎｏ．１の文字列に加えて、Ｎｏ．２の文字列を出力することができる。
【００５６】
また、検索キーワードを「省スペース」として検索を行う場合、Ｎｏ．３の文字列には、特徴的な単語として「省スペース」が関連情報に付与されて記憶されているので、検索結果にＮｏ．３の文字列を出力する。さらに、上記の例と同様に、この検索結果に基づいて、「Ｎｏ．３の文字列」が関連情報に付与されている文字列を検索することができる。その結果、Ｎｏ．３の文字列の特徴的な単語には、「省スペース」のほかに、「プリンタ」があるので、Ｎｏ．２の文字列には、関連情報として、同じ特徴的な単語を持つ文字列に、Ｎｏ．３の文字列が付与されている。したがって、「Ｎｏ．３の文字列」が関連情報に付与されている文字列を検索すると、Ｎｏ．２の文字列があるので、検索結果には、Ｎｏ．３の文字列に加えて、Ｎｏ．２の文字列を出力することができる。
【００５７】
ここまで、文字列の識別、記憶および検索という個々の処理について、具体的な例をもって説明してきた。以下、図１０〜図１４を参照して、情報処理装置１００が行う全体の処理、文字列を識別する処理、文字列を記憶する処理、関連情報を追加する処理、文字列を検索する処理について詳細に説明する。図１０は、情報処理装置１００により実行される全体の処理の流れを示したフローチャート図である。
【００５８】
まず、情報処理装置１００の電源を入れて、情報処理装置１００を起動させることにより、ステップ１０００から処理を開始する。次に、ステップ１０１０で、視線検出部２０１がユーザの視線を検出する。ステップ１０２０では、文字判断部２０５が、ステップ１０１０で検出した視線の先に、文字があるかを判断する。文字が無いと判断した場合は、ステップ１０１０に戻り、再度視線の検出を行う。文字があると判断した場合は、ステップ１０３０へ進む。
【００５９】
ステップ１０３０では、動作判断部２０６が、視線の動きが、文字列の並びに沿っているかを判断する。視線の動きが、文字列の並びに沿っていない場合、その文字列を読んでいないと判断し、ステップ１０１０に戻り、再度視線の検出を行う。視線の動きが、文字列の並びに沿っている場合、その文字列を読んでいると判断し、ステップ１０４０へ進む。
【００６０】
ステップ１０４０では、ステップ１０３０において、読んでいると判断された文字列を識別し、その識別した文字列に関連情報を付与する。次に、ステップ１０５０で、識別した文字列と、該文字列に付与された関連情報とを、記憶部２１０に記憶し、ステップ１０６０で、情報処理装置１００は処理を終了する。
【００６１】
図１１は、読んだ文字を識別する処理の流れを示したフローチャート図であり、図１０におけるステップ１０１０からステップ１０３０の処理を詳細に示したものである。
【００６２】
ステップ１１００からステップ１１１０については、図１０のステップ１０００からステップ１０１０で説明した通りなので、ここではその説明を省略する。ステップ１１２０では、視線座標計算部２０２が、ステップ１１１０において視線検出部２０１が検出したユーザの視線から、左右の視線が交わる箇所の三次元座標を計算する。
【００６３】
次に、ステップ１１３０で、文字判断部２０５が、ステップ１１２０で計算した三次元座標に、文字があるかを判断する。文字が無い場合には、ユーザが文字以外のものを見ていると判断して、ステップ１１２０に戻り、再度視線から三次元座標の計算を行う。文字がある場合には、ユーザが、その文字を見ていると判断して、ステップ１１４０へ進む。
【００６４】
ステップ１１４０では、動作判断部２０６が、撮像部２０３が撮像した画像から、ステップ１１２０で計算した座標の周辺の文字を取得し、文字列の文字が並ぶ方向を計算する。ステップ１１５０では、動作判断部２０６は、視線座標計算部２０２が連続的に計算した視線の交点の座標から、視線の動きの方向およびその速度が一定かどうかを計算する。なお、速度が一定かどうかは、画像を取得した時刻と視線の座標から計算することができる。
【００６５】
ステップ１１６０では、動作判断部２０６が、ステップ１１４０で判断した文字列の文字が並ぶ方向と、ステップ１１５０で判断した視線の動きの方向とを比較し、視線の動きが、文字列の並びに沿うように動いているかを判断する。文字列の並びに沿うように動いていない場合には、その文字列を読んでいないと判断し、ステップ１１２０に戻る。文字列の並びに沿うように動いている場合には、その文字列を読んだと判断し、ステップ１１７０へ進む。
【００６６】
ステップ１１７０では、動作判断部２０６が、視線の動きがどこまで文字列に沿うように動いているかを判断することにより、文字識別部２０７が、ユーザが文字列をどこまで読んだかを検知して、ユーザが読んだ文字列を識別する。その後、ステップ１１８０で、文字列を識別する処理を終了する。
【００６７】
図１２は、識別した文字列に関連情報を付与する処理の流れを示したフローチャート図であり、図１０のステップ１０４０を詳細に表したものである。
【００６８】
ステップ１２００から処理を開始し、ステップ１２１０で、文字列を識別した日時と場所を、情報処理装置１００に内蔵した時計機能および位置情報検出部２０９によって取得し、関連情報として識別した文字列に付与する。
【００６９】
ステップ１２２０では、関連文字列検索部２１２が、記憶部２１０に記憶されている文字列を検索する。検索条件は、ステップ１２１０で取得した、文字列を識別した日時と場所に近い日時と場所が付与された文字列が、記憶部２１０に記憶されているかを検索する。識別した日時と場所に近い日時と場所が付与された文字列が無い場合では、ステップ１２４０へ進む。近い日時と場所が付与された文字列がある場合、ステップ１２３０へ進み、その文字列を関連情報に追加する。
【００７０】
ステップ１２４０からは、識別した文字列に、特徴的な単語を関連情報として付与する処理である。ステップ１２４０では、識別した文字列に含まれる名詞を抽出する。ステップ１２５０では、ステップ１２４０で抽出した全ての名詞に対して、特徴量を計算する。ステップ１２４０およびステップ１２５０の処理は、単語抽出部２０８が行い、特徴量は、上記式（１）を用いて計算することができる。
【００７１】
ステップ１２６０では、ステップ１２５０で計算した特徴量が、あらかじめ設定された値よりも大きい名詞を、特徴的な単語として、文字列の関連情報に付与する。ステップ１２７０では、単語検索部２１１が、記憶部２１０に記憶されている文字列のうち、ステップ１２６０で付与した特徴的な単語と同じ単語を、関連情報に持つ文字列があるかを検索する。同じ単語を持つ文字列が無い場合、ステップ１２９０へ進み、処理を終了する。同じ単語を持つ文字列がある場合、ステップ１２８０へ進む。
【００７２】
ステップ１２８０では、同じ単語を持つ文字列を、識別した文字列の関連情報に追加する。その後、ステップ１２９０で、関連情報を付与する処理を終了する。
【００７３】
識別した文字列の関連情報には、上記のようにして同じ単語を持つ文字列を付与しているが、ステップ１２２０およびステップ１２７０で検索された、既に記憶されている文字列についても、関連情報を更新し、識別した文字列と相互に紐付けておく必要がある。そうしないと、一方の文字列を検索すると、他方の文字列が検索結果として出力されるが、他方の文字列を検索しても、一方の文字列が検索結果として出力されないことになるからである。
【００７４】
図１３は、記憶されている文字列に関連情報を追加する処理の流れを示したフローチャート図である。ステップ１３００から処理を開始し、ステップ１３１０で、関連文字列検索部２１２が、記憶部２１０に記憶されている文字列を検索する。検索条件は、ステップ１２２０と同じである。日時と場所が近い文字列が無い場合、ステップ１３３０へ進む。日時と場所が近い文字列がある場合は、ステップ１３２０へ進み、ステップ１３１０で検索された文字列の関連情報に、識別した文字列を追加する。
【００７５】
次に、ステップ１３３０では、ステップ１２７０と同じく、単語検索部２１１が、記憶部２１０に記憶されている文字列のうち、ステップ１２６０で付与した特徴的な単語と同じ単語を、関連情報に持つ文字列があるかを検索する。同じ単語を持つ文字列が無い場合、ステップ１３５０へ進み、関連情報を追加する処理を終了する。同じ単語を持つ文字列がある場合、ステップ１３４０へ進む。
【００７６】
ステップ１３４０では、ステップ１３３０で検索された文字列の関連情報に、識別した文字列を追加する。その後、ステップ１３５０へ進み、関連情報を追加する処理を終了する。
【００７７】
最後に、文字列の検索について説明する。文字列の検索は、情報処理装置１００を含む、情報処理システムによって行われ、情報処理システムは、検索キーワードを受け付けて検索する検索手段と、検索結果を表示する表示手段とを備える。図１４は、文字列を検索する処理の流れを示したフローチャート図である。
【００７８】
情報処理システムは、ステップ１４００から処理を開始し、ステップ１４１０で検索キーワードの入力を受け付ける。ステップ１４２０で、検索手段は、入力された検索キーワードを含む文字列が記憶部２１０にあるかを検索する。検索キーワードを含む文字列が無い場合、検索対象が存在しないので、ステップ１４６０へ進み、情報処理システムは処理を終了する。検索キーワードを含む文字列がある場合、ステップ１４３０へ進み、検索手段は、検索キーワードを含む文字列が関連情報に付与されている文字列が記憶部２１０にあるかを検索する。
【００７９】
ステップ１４３０において、検索キーワードを含む文字列が関連情報に付与されている文字列がある場合は、ステップ１４４０へ進み、表示手段は、検索キーワードを含む文字列と、該文字列が関連情報に付与されている文字列とを、検索結果として表示する等して、ユーザに提示する。ステップ１４３０において、検索キーワードを含む文字列が関連情報に付与されている文字列がない場合は、ステップ１４５０へ進み、表示手段は、検索キーワードを含む文字列のみを、検索結果として表示する等して、ユーザに提示する。
【００８０】
ステップ１４４０またはステップ１４５０を実行し、検索結果をユーザに提示した後で、ステップ１４６０へ進み、情報処理システムは処理を終了する。
【００８１】
上述した各機能部は、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等で記述された、コンピュータにより実行可能なプログラムにより実現でき、そのプログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭ等のコンピュータにより読み取り可能な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００８２】
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００８３】
１００…情報処理装置、１０１…ＣＰＵ、１０２…視線センサ、１０３…カメラ、１０４…通信インターフェース、１０５…ＧＰＳ、１０６…ＲＯＭ、１０７…ＲＡＭ、２０１…視線検出部、２０２…視線座標計算部、２０３…撮像部、２０４…文字列検出部、２０５…文字判断部、２０６…動作判断部、２０７…文字識別部、２０８…単語抽出部、２０９…位置情報検出部、２１０…記憶部、２１１…単語検索部、２１２…関連文字列検索部、３０１…目、３０２…対象物
【先行技術文献】
【特許文献】
【００８４】
【特許文献１】特開２００７−１７２３７８号公報
【図１】
2017091339.tif 000004
【図２】
2017091339.tif 000005
【図３】
2017091339.tif 000006
【図４】
2017091339.tif 000007
【図５】
2017091339.tif 000008
【図６】
2017091339.tif 000009
【図７】
2017091339.tif 000010
【図８】
2017091339.tif 000011
【図９】
2017091339.tif 000012
【図１０】
2017091339.tif 000013
【図１１】
2017091339.tif 000014
【図１２】
2017091339.tif 000015
【図１３】
2017091339.tif 000016
【図１４】
2017091339.tif 000017