1.構成
図1は、本発明の一実施形態に係る端末装置の構成の一例を示すブロック図である。本実施携帯の端末装置は、例えば携帯電話機、スマートフォン等の無線通信端末であるが、本発明を適用可能な端末装置は、無線通信を行うものに限定されるわけではない。また、端末装置は必ずしも電話機能を備えていなくてもよく、タブレット型端末、デスクトップ型コンピュータ、ノート型コンピュータ、カーナビゲーション装置等であってもよい。
図1に示すように、本実施形態の端末装置1は、制御部10、記憶部11、表示部12、操作部13、通信部14、マイクロフォン(以下、マイクと言う)15、スピーカ16、カメラ17、電池残量検出部18、GPSセンサ19、及び加速度センサ20を有し、これら各部はバス21を介して通信可能となっている。
制御部10は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)を備え、CPUが、ROMまたは記憶部に記憶されているプログラムをRAMに読み出して実行することで、端末装置1の各部を制御し、端末装置1の様々な機能を実現する。また、これらのプログラムには、端末装置1の各部を制御するプログラムに加えて、後述する入力処理を行うための入力処理プログラムが含まれる。
記憶部11は、例えばハードディスクやフラッシュメモリなどの大容量の記憶手段であり、各種のプログラム(アプリケーションまたはアプリと言われることもある)111やデータを記憶する。記憶部11に格納されるデータには、辞書データベース(以下、辞書DB)112、アドレス帳113、ログデータベース(以下、ログDB)114、キーワードデータベース(以下、キーワードDB)115、及び入力候補設定データベース(以下、入力候補設定DB)116が含まれる。記憶部11に格納されるこれらデータベースについては、後に詳述する。また、記憶部11には、音楽ファイルや動画ファイルなどのコンテンツファイル(図示省略)が格納される。
表示部12は、例えば液晶ディスプレイであり、制御部10からの指示に基づいて、様々な情報を表示する。
操作部13は、端末装置1のユーザによる操作の内容に応じた操作信号を制御部10に送出する。本例において、操作部13は、表示部12の表示面に重ねて配置され、表示部12と共にタッチパネルを構成するタッチパッド(位置検出センサ)131、各種の操作キー(ハードボタン)132、及び電源スイッチ(図示せず)等を有する。タッチパッド131は、ユーザによりタッチされた表示部12の画面の位置を検出するものであり、静電容量方式、抵抗膜方式、赤外線方式、超音波方式など公知の任意の方式のものであってよい。操作キー132には、例えば、文字/数字入力キー、カーソル移動キー(方向キー)、確定キー等が含まれる。尚、多くの公知のスマートフォンのように、ユーザが入力操作を行う際、画面にキーパッド等の画像を表示し、ユーザがタッチした箇所をタッチパッドで検出することでユーザがどのキーをタッチしたか判定する場合、操作キー132の一部または全部を省略してよい。
通信部14は、外部装置と通信するためのインタフェースであり、例えば携帯電話会社の基地局や無線LAN(Local Area Network)アクセスポイントとの間で無線通信を行う機能を有する。通信部14は、制御部10の制御の下、電話回線やインターネットを介して外部装置との間で情報の送受信を行う。
マイク15は、端末装置1を用いてユーザが電話をするときに、ユーザの音声を収音して音声信号に変換する。スピーカ16は、端末装置1を用いてユーザが電話をするときに、通話相手の音声信号を音に変換して出力する。また、ユーザが音楽や動画を再生する際に、音声を出力する。スピーカ16はヘッドフォンであってもよい。
カメラ17は、所望の被写体の静止画または動画を撮影する。カメラ17は、レンズ、撮像素子(例えば、CCDなど)等を有し、制御部10によって実行される専用のアプリ(カメラ制御アプリ)によって制御される。カメラ制御アプリは、撮像素子から入力される画像を表示部12に表示させるとともに、ユーザの操作に応じて露出の変更やシャッタータイミングの制御等を行う。電池残量検出部18は、電池(図示せず)の残量を検出する。電池残量は、例えば満充電時の電池残量を100%とし、満充電時の電池残量に対する相対値として表される。電池残量は、例えば電池の電圧に基づいて検出してもよいし、あるいは、電池に流れ込む電流と電池から流れ出す電流を積算することによって電池に蓄積されている電荷を求め、当該電荷に基づいて電池残量を検出してもよい。尚、例えば電池の電圧や電池に流出入する電流を制御部10に供給し、制御部10で所定のプログラムを実行することで、供給された電圧及び/または電流から電池残量を検出してもよい。その場合、制御部10によって電池残量検出部が具現される。GPS(Global Positioning System)センサは、予め定められたタイミングで(例えば、毎正時)、または、制御部10からの指示に応じて、図示しないGPS衛星からのGPS信号に基づいて端末装置1の位置(経度及び緯度)を取得する。加速度センサ20は、端末装置1に働く加速度を検出する。
次に、記憶部11に格納される各種データベースについて説明する。
辞書DB112は、入力される文字列に対する変換候補を記憶しており、文字列入力時に参照されるデータベースである。例えば、入力文字列として、文字列「あい」が入力された場合、制御部10は、辞書DB112を参照することで、「会い」、「合い」、「愛」、「間」、「挨拶」・・・などの変換候補を抽出し、抽出した変換候補をユーザが選択可能なように表示部12に表示させる。辞書DB112としては、公知の任意の辞書DBを用いてよい。尚、本明細書において「文字列」は一文字のみからなるもの(例えば、「あ」や「い」)でもよい。
アドレス帳113は、通信相手の連絡先情報(氏名及び/またはニックネーム、電話番号、電子メールアドレス、住所など)を記録している。アドレス帳に記録される情報は、通常、端末装置1のユーザによって入力される。
ログDB114は、端末装置1のユーザの行動履歴や端末装置の操作履歴を示すログを含む様々な種別(以下、ログ種別と言う)のログを記憶する。図2(a)〜(o)に、ログDB114に記憶された各種ログの例を示す。
図2(a)は、ユーザ(または端末装置1)の位置(即ち、移動)の履歴を表すログを示す。このログのログ種別は「位置」である。このログは、「日時」、「位置」、及び「住所」の3つの項目を有している。項目「日時」の情報は端末装置1の位置が取得された日時を示す。この例では、毎正時に位置の取得がなされている。項目「位置」の情報は経度及び緯度を含み、GPSセンサ19によって取得される。項目「住所」の情報は、位置情報(経度及び緯度)に対応する住所を示す。この住所は、緯度及び経度に対応付けられた住所を記録したデータベースを有し、端末装置1と通信可能な情報提供装置(図示せず)から提供されてよい。具体的には、GPSセンサ19により緯度及び経度が取得されると、端末装置1の制御部10は取得された緯度及び経度を含む情報提供リクエストを通信部14を介して情報提供装置に送信する。情報提供装置は、その応答として、受信した緯度及び経度に対応する住所をデータベースから検索し、端末装置1に返信する。
尚、本明細書において、ログに含まれる時系列の情報の各組(図2(a)の例では、日時、位置、及び住所の組)をデータセットと言う。例えば、図2(a)の例では、端末装置1において位置及び住所の取得がなされる度に新たなデータセットがログに追加される。尚、記憶部11の容量が限られている場合(即ち、ログに含まれ得るデータセットの数が限られている場合)、データセットは日時情報の古い順に削除され、新たなデータセットが記憶される。
図2(b)は、ユーザの歩数の履歴を表すログを示す。このログのログ種別は「歩数」である。このログは、「日にち」、「歩数」、「歩行距離」、「歩行時間」、及び「平均歩行速度」の5つの項目を有している。項目「日にち」の情報は、歩数等の情報がログに記録された日にちを表す。項目「歩数」の情報は、ユーザの一日の歩数の合計値を示す。項目「距離」の情報はユーザが一日に歩いた距離を所定の単位(例えば、km)で表す。ユーザが一日に歩いた距離は、例えば予め設定されたユーザの歩幅と計数された歩数とから計算される。項目「歩行時間」の情報は、ユーザが一日に歩いた時間を所定の単位(例えば、時間)で表す。項目「平均歩行速度」の情報は、ユーザの歩行速度の平均値を所定の単位(例えば、km/h)で表す。ユーザの歩行速度の平均値は、歩行距離を歩行時間で割ることにより求められる。これらの情報は、例えば、端末装置1の制御部10で歩数計アプリを実行することにより取得され、ログに記録される。歩数計アプリは、例えば、一日の予め決められた時間(例えば、朝6時から夜11時)の間実行され、実行されている間、加速度センサ20の出力値等に基づいて、ユーザが歩行中であるか否かを判定し、歩行中の場合、歩数を計数するとともに、歩行中の時間を計測する。また、歩数計アプリは、計数した歩数及び歩行時間から歩行距離及び平均歩行速度を逐次算出する。実行終了時(例えば、夜11時)、歩数計アプリは取得した一日分の情報を日にちと共にログに記録し、ログを更新する。
図2(c)は、ユーザによるアプリの使用履歴を表すログを示す。このログのログ種別は「アプリ」である。このログは、「使用開始日時」、「使用終了日時」、「使用時間」、及び「アプリ名」の4つの項目を有している。項目「使用開始日時」の情報は、ユーザがアプリの使用を開始した日時を示し、例えば、ユーザによってアプリの起動操作がなされた日時を示す。項目「使用終了日時」の情報は、ユーザがアプリの使用を終了した日時を示し、例えば、ユーザによってアプリの終了操作がなされた日時を示す。項目「使用時間」の情報は、ユーザによるアプリの使用時間を所定の単位(例えば、分)で表す。使用時間は、使用開始日時と使用終了日時とから算出される。項目「アプリ名」の情報は、ユーザが使用したアプリの名称を示す。ユーザによって使用されるアプリは、例えば、ゲームアプリ、テキスト作成アプリ、メール送受信アプリ、表計算アプリ、ブラウザアプリ等、任意のアプリであってよい。
図2(d)は、ユーザによって再生された音楽の履歴を表すログを示す。このログのログ種別は「音楽」である。このログは、「日時」、「曲名」、及び「アーティスト名」の3つの項目を有している。項目「日時」の情報は、ユーザが音楽の再生を開始した日時を示す。項目「曲名」の情報は、ユーザが再生した音楽の曲名を示す。項目「アーティスト名」は、ユーザが再生した音楽の演奏者を示す。これらの情報は、例えば、音楽の再生に使用される音楽プレーヤーアプリによって音楽の再生がなされる度に収集され、ログに記録される。
図2(e)は、ユーザによって再生された動画(例えば、映画やドラマ)の履歴を表すログを示す。このログのログ種別は「動画」である。このログは、「日時」、「タイトル」、及び「主演」の3つの項目を有している。項目「日時」の情報は、ユーザが動画の再生を開始した日時を示す。項目「タイトル」の情報は、ユーザが再生した動画のタイトルを示す。項目「主演」は、再生された動画が映画やドラマの場合に、その映画やドラマの主演俳優の名前を示す。尚、再生された動画の主演が不明の場合、項目「主演」はブランクとするか、あるいは、不明であることを示す予め定められた情報が格納されてよい。これらの情報は、例えば、動画の再生に使用される動画再生アプリによって動画の再生がなされる度に収集され、ログに記録される。
図2(f)は、ユーザがカメラ17を用いて行った写真撮影の履歴を表すログを示す。このログのログ種別は「カメラ」である。このログは、「日時」、「ファイル名」、「格納場所」、及び「サムネイル」の4つの項目を有している。項目「日時」の情報は、ユーザが写真を撮影した日時を示す。項目「ファイル名」の情報は、ユーザが撮影した写真(画像)のファイル名を示す。項目「格納場所」の情報は、ユーザが撮影した写真が格納されたフォルダの場所(ディレクトリ)を示す。項目「サムネイル」の情報は、ユーザが撮影した写真に対応して生成されたサムネイル画像のファイル名を示す。サムネイル画像は、例えば、カメラ制御アプリによって生成され、対応する元の画像(写真)と同じフォルダまたは予め定められた別のフォルダに格納される。これらの情報は、例えば、ユーザが写真を撮るたびにカメラ制御アプリにより収集され、ログに記録される。
図2(g)は、ユーザによる電話の発信履歴を表すログを示す。このログのログ種別は「電話発信」である。このログは、「発信日時」、「氏名」、及び「電話番号」の3つの項目を有している。項目「発信日時」の情報は、ユーザが電話をかけた日時を示す。項目「氏名」の情報は、ユーザが電話をかけた相手の氏名を示す。尚、相手の氏名はニックネームであってもよい。項目「電話番号」の情報は、ユーザが電話をかけた相手の電話番号を示す。電話をかけた相手の氏名及び電話番号は、電話をかける相手をユーザがアドレス帳113から選択する場合、その選択操作に応じてアドレス帳113から取得される。ユーザが電話番号を直接入力する場合、制御部10は、アドレス帳113にアクセスしてその電話番号に対応する通信相手の氏名がアドレス帳113に登録されているか判定し、登録されている場合、その氏名を発信日時及び電話番号と共にログに記録する。ユーザが入力した電話番号に対応する氏名がアドレス帳113に登録されていない場合も、発信日時及び電話番号はログに記録されるが、項目「氏名」はブランクとするか、あるいは、不明であることを示す予め定められた情報としてよい。尚、相手の氏名はニックネームであってもよい。
図2(h)は、端末装置1への電話の着信履歴を表すログを示す。このログのログ種別は「電話着信」である。このログは、「着信日時」、「氏名」、及び「電話番号」の3つの項目を有している。項目「着信日時」の情報は、端末装置1に電話がかかってきた日時を示す。項目「氏名」の情報は、電話をかけてきた相手の氏名を示す。項目「電話番号」の情報は、電話をかけてきた相手の電話番号を示す。制御部10は、電話がかかってきたことを検知すると、相手の電話番号を取得し、アドレス帳113にアクセスしてその電話番号に対応する通信相手の氏名がアドレス帳113に登録されているか判定する。取得した電話番号に対応する氏名がアドレス帳113に登録されている場合、制御部10は、その氏名を着信日時及び電話番号と共にログに記録する。登録されていない場合も、着信日時及び電話番号はログに記録されるが、項目「氏名」はブランクとするか、あるいは、不明であることを示す予め定められた情報としてよい。尚、相手の氏名はニックネームであってもよい。
図2(i)は、ユーザによる電子メールの送信履歴を表すログを示す。このログのログ種別は「メール送信」である。このログは、「送信日時」、「氏名」、及び「メールアドレス」の3つの項目を有している。項目「送信日時」の情報は、ユーザが電子メールを送信した日時を示す。項目「氏名」の情報は、ユーザが電子メールを送信した相手の氏名を示す。尚、相手の氏名はニックネームであってもよい。項目「メールアドレス」の情報は、ユーザが電子メールを送信した相手の電子メールアドレスを示す。電子メールの送信先の相手の氏名及び電子メールアドレスは、メールを送信する相手をユーザがアドレス帳113から選択する場合、その選択操作に応じてアドレス帳113から取得される。ユーザが電子メールアドレスを直接入力する場合、制御部10は、アドレス帳113にアクセスしてその電子メールアドレスに対応する通信相手の氏名がアドレス帳113に登録されているか判定し、登録されている場合、その氏名を送信日時及び電子メールアドレスと共にログに記録する。ユーザが入力した電子メールアドレスに対応する氏名がアドレス帳に登録されていない場合も、送信日時及び電子メールアドレスはログに記録されるが、項目「氏名」はブランクとするか、あるいは、不明であることを示す予め定められた情報としてよい。
図2(j)は、端末装置による電子メールの受信履歴を表すログを示す。このログのログ種別は「メール受信」である。このログは、「受信日時」、「氏名」、及び「メールアドレス」の3つの項目を有している。項目「受信日時」の情報は、端末装置1が電子メールを受信した日時を示す。項目「氏名」の情報は、電子メールの送信元の相手の氏名を示す。項目「メールアドレス」の情報は、電子メールの送信元の相手の電子メールアドレスを示す。端末装置1の制御部10は、電子メールを受信すると、アドレス帳113にアクセスして、その電子メールに記載された電子メールアドレスに対応する通信相手の氏名がアドレス帳113に登録されているか判定する。電子メールアドレスに対応する氏名がアドレス帳113に登録されている場合、制御部10は、その氏名を受信日時及び電子メールアドレスと共にログに記録する。登録されていない場合も、受信日時及び電子メールアドレスはログに記録されるが、項目「氏名」はブランクとするか、あるいは、不明であることを示す予め定められた情報としてよい。尚、相手の氏名はニックネームであってもよい。
図2(k)は、ユーザによるウェブページの閲覧履歴を表すログを示す。このログのログ種別は「ページ閲覧」である。このログは、「日時」、「タイトル」、及び「URL」の3つの項目を有している。項目「日時」の情報は、ユーザがウェブページの閲覧を開始した日時を示す。項目「タイトル」の情報は、ユーザが閲覧したウェブページのタイトルを示す。閲覧したウェブページのタイトルが取得できないときは、項目「タイトル」はブランクとするか、あるいは、不明であることを示す予め定められた情報としてよい。項目「URL」の情報は、ユーザが閲覧したウェブページのURL(Universal Resource Locator)を示す。これらの情報は、ウェブページ閲覧の際に制御部により実行されるプログラムである、いわゆるブラウザによって収集され、ログに記録される。尚、一つのウェブサイトに複数のウェブページが含まれる場合、同じウェブサイトに属するウェブページ間の移動は、ログに記録しなくてもよい。
図2(l)は、ユーザがブラウザを用いてウェブページを閲覧している時に実行した検索の履歴を表すログを示す。このログのログ種別は「ブラウザ検索ワード」である。このログは、「日時」、「検索ワード」、「移動先ページURL」及び「タイトル」の4つの項目を有している。項目「日時」の情報は、ユーザが検索を実行した日時を示す。項目「検索ワード」の情報は、ユーザが検索を実行する際に用いた検索ワードを示す。項目「移動先ページURL」の情報は、検索結果からユーザが移動した(即ち、選択した)ウェブページのURLを示す。項目「タイトル」の情報は、移動したウェブページのタイトルを示す。これらの情報の取得のため、制御部10は予め作成されたアプリ(検索ワード収集アプリ)を実行してよい。検索ワード収集アプリは、予め指定されたウェブページ(または、ウェブサイト)において、検索が実行されるのを検出すると(例えば、画面内の検索ボタンが操作されるのを検出すると)、そのとき検索ボックスに入力されていた検索ワードを取得する。検索ボックスに複数の検索ワードが入力されていた場合、これら複数の検索ワードを全て取得してもよいし、あるいは、それらのうち一つ(例えば、先頭の検索ワード)を取得してもよい。また、検索が実行された後に表示される検索結果を表すページの後に表示されたウェブページを、検索結果を見てユーザが移動したウェブページとみなし、そのURLと(もしあれば)タイトルを取得する。そうして、検索ワード取得アプリは、取得した検索ワード、移動先ページURL及びタイトルを、検索が実行された日時とともにログに記録する。
図2(m)は、端末装置1の電池(図示せず)の残量の履歴を表すログを示す。このログのログ種別は「電池残量」である。このログは、「日時」及び「電池残量」の2つの項目を有している。項目「日時」の情報は、電池残量を検出した日時を示す。項目「電池残量」の情報は、電池残量検出部18によって検出される電池残量(満充電時における電池残量に対する割合(%))を示す。制御部10は、例えば予め定められたタイミング(例えば、毎正時)で電池残量検出部18から電池残量を取得し、取得した電池残量をログに記録する。
図2(n)は、ユーザの居住地における天気の履歴を表すログを示す。このログのログ種別は「天気」である。このログは、「日にち」及び「天気」の2つの項目を有している。項目「日にち」の情報は、天気を記録した日にちを示す。項目「天気」の情報は天気の状態を示す。端末装置1の制御部10は、例えば、ユーザの居住地の天気情報を提供する予め指定されたウェブサイトに予め決められた時刻にアクセスして天気情報を取得し、日にちと共にログに記録する。
図2(o)は、ユーザの居住地における気温の履歴を表すログを示す。このログのログ種別は「気温」である。このログは、「日にち」及び「気温」の2つの項目を有している。項目「日にち」の情報は、気温を記録した日にちを示す。項目「気温」の情報はその日の気温を示す。記録される気温は、最高気温、最低気温、平均気温のいずれでもよい。あるいは、最高気温、最低気温、平均気温の2以上をログに記録可能なようにログの項目数を増やしてもよい。端末装置1の制御部10は、予め決められた時刻に予め指定されたユーザの居住地の気温情報を提供するウェブサイトにアクセスして気温情報を取得し、日にちと共にログに記録する。尚、端末装置1が温度センサ(図示せず)を具備している場合、その温度センサから温度(気温)を取得してもよい。
ログDB114に記憶される各種のログの例を、図2(a)〜(o)に示したが、ログDB114に記憶可能なログはこれらに限られず、ログDB114は別のログ種別のログを含んでもよい。例えば、端末措置1の設定状態(マナーモードのオン/オフ、表示部12の点灯/消灯、バイブレーション機能のオン/オフ等)に関する変更履歴を示すログを含んでもよい。また、ログDB114は図2(a)〜(o)に示したログを必ずしも全て含まなくてもよい。また、上記した各ログ種別のログに含まれる項目は、上記したものに限定されない。例えば、ログ種別が「音楽」のログは、「作曲者」、「作詞者」、「ジャンル」等の項目を含んでもよいし、ログ種別が「動画」のログは、「監督」、「脚本」等の項目を含んでもよい。
後に詳述するように、制御部10は、ユーザが文字列を入力すると、入力された文字列に関連するログをログDB114から検索して、検索したログに含まれる情報を入力候補として表示部12に表示させる。
キーワードDB115は、ログDB114に格納された各ログのログ種別に関連付けられたキーワード文字列を記憶する。キーワードDB115は、入力された文字列に関連するログ(ログ種別)を特定するために用いられる。図3に、キーワードDB115の一例を示す。
図3に示すように、ログ種別「位置」に対しては、キーワード文字列として「ここ」、「いち」、「ばしょ」、「位置」及び「場所」が記憶されている。他のログ種別に対しても、同様に、関連するキーワード文字列が記憶されている。尚、キーワード文字列は複数文字からなるものに限らず、一文字からなるものであってもよい。
ユーザが文字列を入力すると、制御部10は、入力文字列またはその変換候補にキーワードDB115に記憶されたキーワード文字列が含まれるか否か判定する。入力文字列またはその変換候補にキーワード文字列115が含まれる場合、制御部10は、そのキーワード文字列に関連付けられたログ種別のログを、入力文字列に関連するログであると判定する。言い換えると、制御部10は、そのログに含まれる情報に、ユーザが入力を所望する情報が含まれている可能性が高いと判断する。
入力候補設定DB116は、入力文字列に関連するログに含まれる情報を入力文字列に対する入力候補として表示する際、そのログに含まれる情報のうちどの項目の情報を入力候補として表示すべきかの設定を記憶する。具体的には、入力候補設定DB116は、各ログ種別に対し、入力候補として表示するか否かの設定を項目毎に記憶する表示設定テーブル117を有する。
図4に、入力候補設定DB116に含まれる表示設定テーブル117の一例として、図2(b)に示したログ種別「歩数」に対する表示設定テーブルを示す。図4に示した表示設定テーブル117は、ログ種別が「歩数」のログの項目(「日にち」、「歩数」、「距離」、「歩行時間」、及び「平均歩行速度」)の各々に対して、入力候補として情報の表示をするかしないかを設定する。入力候補として情報の表示をするかしないかの設定は、例えば、1または0のいずれかの値を取り得るフラグの値を各項目に対し設定することによって行ってよい(例えば、「1」は表示を行うことを示し、「0」は表示を行わないことを示す)。入力候補設定DB116は、他のログ種別に対しても同様に、各項目に対して、入力候補として情報の表示を行うか行わないかを設定する表示設定テーブル117を有する。
また、表示設定テーブル117は、入力候補としてログの項目の情報を表示する場合に、合わせて表示する付加表示情報を設定する。付加表示情報は、例えば、各項目の情報の単位(例えば、項目「歩数」に対し「歩」、項目「距離」に対し「km」、項目「歩行時間」に対し「時間」、項目「平均歩行速度」に対し「km/h」)であってよい。尚、付加表示情報は単位に限定されず、例えば、ユーザが選択した任意のアイコンや絵文字など、別の情報でもよい。
図3に示したキーワードDB115及び図4に示した入力候補設定DB116(表示設定テーブル117)は、端末装置1の提供者(例えば、携帯電話会社)が作成してもいいし、ユーザが作成してもよい。携帯電話会社などの通信サービス提供者が提供する場合、ユーザは通信サービス提供者の所定のサーバからキーワードDB115や入力候補設定DB116を通信回線を介してダウンロードしてよい。あるいは、ダウンロードすることなく、アクセスが必要になる都度、サーバ上に用意されたキーワードDB115及び入力候補設定DB116にアクセスして必要な情報を取得してもよい。その場合、複数のユーザで同じキーワードDB115及び/または入力候補設定DB116を共通に用いてもよく、また、キーワードDB115及び/または入力候補設定DB116を共通に使用する複数のユーザの各々がこれらデータベースの内容(例えば、キーワード文字列)の追加や変更を行ってもよい。
図5は、入力処理に関する制御部10の機能構成の一例を示す図である。図示されているように、制御部10はログ収集部101、変換部102、文字列比較部103、関連ログ検索部104、入力候補検出部105、及び表示制御部106を有する。関連ログ検索部104及び入力候補検出部105は、本発明の入力候補取得部の一例である。これら各部は、制御部10のROMや記憶部11に格納されたプログラムを制御部10が実行することにより実現される。ログ収集部101は、端末装置1によって収集される各種の情報を、上記した各種のログとしてログDB114に記録する。ログとして記録される情報には、上述したように、ユーザによる端末装置1の操作(音楽や動画の再生、アプリの使用、電話の着発信、メールの送受信、ホームページの閲覧、検索ワードを用いた検索等)に関する履歴や、ユーザの行動(歩行、場所の移動等)に関する履歴や、ユーザ(または端末装置1)の周囲の状態(気温、天気等)に関する履歴が含まれる。ログ収集部101の機能の一部または全部は、例えば、歩数計アプリやブラウザアプリなどの複数のアプリのログ記録機能によって実現されてよい。
ユーザによる操作部13の操作により文字が入力されると、入力された文字列(入力文字列)は、変換部102、文字列比較部103、及び表示制御部106に供給される。表示制御部106は、入力文字列を表示部12に表示させる。変換部102は、辞書DB112を参照して、入力文字列に対応する変換候補を辞書DB112から抽出し、文字列比較部103及び表示制御部106に供給する。文字列比較部103は、入力文字列またはその変換候補にキーワードDB115に記憶されたキーワード文字列が含まれるか否かを判定する。入力文字列またはその変換候補にキーワード文字列が含まれる場合、文字列比較部103は、キーワードDB115を参照して、そのキーワード文字列に関連するログ種別を取得する。文字列比較部103が取得したログ種別は、関連ログ検索部104に送られる。尚、入力文字列またはその変換候補に2以上のキーワード文字列が含まれる場合、それらキーワード文字列の一つに関連するログ種別を関連ログ検索部104に送ってもよいし、あるいは、それらキーワード文字列に関連するログ種別を全て関連ログ検索部104に送ってもよい。
関連ログ検索部104は、文字列比較部103から供給されたログ種別を用いてログDB114にアクセスし、そのログ種別に対応するログを検索し、検索されたログに含まれる情報を取得する。このとき、通常、ログには複数のデータセットが含まれるため、新しいものから順に予め定められた数のデータセットを取得してもよい。あるいは、現時点より所定時間前と現時点との間に取得されたデータセットを取得してもよい。文字列比較部103から供給されたログ種別が2以上ある場合、それぞれのログ種別のログに含まれる情報を取得してよい。取得されたログの情報(データセット)は、ログ種別と共に入力候補検出部105に送られる。
入力候補検出部105は、関連ログ検索部104から受信したログ種別を用いて、入力候補設定DB116にアクセスし、ログ種別により特定される表示設定テーブル117を参照し、入力候補として表示すると設定されている項目を特定する。そして、関連ログ検索部104から受信したログの情報のうち入力候補として表示すると設定されている項目の情報を検出し、表示制御部106に供給する。
表示制御部106は、入力候補検出部105から供給された入力候補を変換部102から供給された変換候補とともに、表示部12に表示させる。また、表示制御部106は、ユーザが操作部13を操作して、表示された入力候補及び変換候補の一つを選択したら、選択された候補を確定された入力として表示部12に表示させる。
2.動作
次に、上記のように構成された端末装置1における入力処理の動作を図6及び図7を参照して説明する。図6は端末装置1における入力処理の動作を示すフローチャートであり、図7は入力処理に応じて表示部12に表示される画面の例を示す模式図である。
図6に示すように、ユーザが操作部13を操作することにより文字列が入力されると(ステップS1)、変換部102は辞書DB112にアクセスして、入力文字列に対応する変換候補を取得する(ステップS2)。また、表示制御部106は、入力文字列及び変換部102が取得した変換候補を表示部12に表示させる(ステップS3)。
図7(a)は、例として、文字列「あるいた」が入力されたときステップS3において表示される画面の例を示す。表示画面は、状態表示領域121、文字入力領域122、変換候補表示領域123、及び入力候補表示領域124を有する。状態表示領域121には、例えば、携帯電話会社の基地局からの電波の受信状態を表すアイコンや、端末装置1の電池残量を表すアイコンが表示される。文字入力領域122は、入力された文字列が表示される領域であり、この例では、文字列「あるいた」が表示されている。ここで、文字列「あるいた」の下の下線は、文字列「あるいた」の入力が確定される前の状態であることを示す。変換候補表示領域123には、辞書DB112を参照することで取得された入力文字列の変換候補が表示される。図7(a)に示した例では、入力文字列「あるいた」の変換候補として、「あるいた」、「歩いた」、「アルイタ」等が表示されている。変換候補表示領域123において先頭に表示された「あるいた」が白抜き表示(または反転表示とも言う)されているのは、「あるいた」が変換候補として指定されていることを示す。ユーザは、例えば操作部13の操作キー132に含まれる移動キー(図示せず)を操作することで、指定される変換候補を変えることができる。尚、変換候補が多数あり全部を変換候補表示領域123に表示できない場合、スクロール表示可能としたり、複数ページに渡って表示したりしてよい。変換候補が指定された状態でユーザが確定キー(図示せず)を押すとその変換候補が選択され、文字入力領域122に表示される。入力候補表示領域124は、ログDB114に含まれるログのうち入力文字列に関連すると考えられるログの情報が入力候補として表示される領域である。ステップS3の時点では、入力候補はまだ取得されていないため、入力候補表示領域124は空欄となっている。
再度図6を参照すると、ステップS4において、文字列比較部103は、入力文字列またはその変換候補にキーワードDB115に記憶されたキーワード文字列が含まれるか否かを判定する。入力文字列またはその変換候補にキーワード文字列が含まれる場合(ステップS4:YES)、ステップS5において、文字列比較部103はキーワードDB115を参照し、そのキーワード文字列に関連するログ種別を取得する。入力文字列またはその変換候補にキーワード文字列が含まれない場合(ステップS4:NO)、ステップS9に進む。本例では、入力文字列「あるいた」には、キーワード文字列「あるいた」が含まれ、キーワード文字列「あるいた」はログ種別「歩数」に関連付けられているので、文字列比較部103は、入力文字列「あるいた」に関連するログ種別としてログ種別「歩数」を取得する。尚、入力文字列「あるいた」の変換候補には文字列「歩いた」が含まれ、ログ種別「歩数」に関連付けられたキーワード文字列の一つである文字列「歩いた」と一致する。従って、仮にキーワード文字列に文字列「あるいた」が含まれていない場合でも、入力文字列「あるいた」に関連するログ種別としてログ種別「歩数」が特定される。
ステップS5の後、ステップS6において、関連ログ検索部104はログDB114にアクセスし、文字列比較部103によって取得されたログ種別に対応するログを、入力文字列に関連するログとして検索し、検索されたログに含まれる情報をログ種別と共に入力候補検出部105に送る。本例では、ログ種別が「歩数」のログが検索され、そのログに含まれる情報の全部または一部がログ種別と共に入力候補検出部105に送られる。
続いて、ステップS7において、入力候補検出部105は、関連ログ検索部104によって検索されたログの情報のうち、入力候補設定DB116の対応する表示設定テーブル117において入力候補として表示すると設定されている項目の情報を検出し、表示制御部106に送る。本例では、図4に示すようにログ種別「歩数」に対応する表示設定テーブル117において、項目「歩数」と項目「歩行距離」が入力候補として表示する項目として設定されているので、入力候補検出部105は、項目「歩数」の情報と、項目「歩行距離」の情報を検出し、表示制御部106に送る。その際、入力候補検出部105は、表示設定テーブル117において各項目毎に設定された付加表示情報(本例では、項目「歩数」に対し「歩」、項目「歩行距離」に対し「km」)を併せて表示制御部106に送る。ステップS8において、表示制御部106は、ステップS7で検出された情報に付加表示情報を加えて、入力候補として表示部12に表示させる。
図7(b)に、ステップS8において表示される表示画面の一例を示す。図示されているように、本例では、ログ種別が「歩数」のログに含まれる情報のうち、項目「歩数」の情報と項目「歩行距離」の情報が、それぞれの付加表示情報とともに入力候補表示領域124に表示される。この例では、一番新しいデータセットに含まれる情報(「15432歩」及び「10.5 km」)が最上部に表示され、古い情報ほど下に表示される。また、予め設定された項目の表示優先度に基づき、項目「歩数」の情報の方が項目「歩行距離」の情報よりも前に表示される。尚、図7(b)には2つのデータセットに対応する情報しか表示されていないが、もちろん本発明はこれに限らず、より多くのデータセットに対応する情報を表示してもよい。あるいは、例えば一番新しいデータセットに対応する情報のみを表示してもよい。入力候補表示領域124に表示される情報が多い場合、スクロール表示可能としたり、複数ページに渡って表示したりしてもよい。
再度図6を参照すると、ステップS9において、ユーザは移動キーを操作して、変換候補表示領域123に表示された変換候補または入力候補表示領域124に表示された入力候補のいずれかを指定し、確定キーを押して指定した変換候補または入力候補を選択する。図7(c)は、入力候補表示領域124に入力候補として表示された文字列「15432歩」が指定された状態を示す。同図において、指定された入力候補「15432歩」は白抜き表示されている。
変換候補または入力候補がユーザによって選択されると、ステップS10において、表示制御部106は選択された変換候補または入力候補を確定された入力として文字入力領域122に表示する。図7(d)は、ユーザによって入力候補「15432歩」が選択され、文字入力領域122に表示された状態を示している。図7(d)に示した例では、入力候補「15432歩」が選択され文字入力領域122に表示された状態でも、変換候補表示領域123及び入力候補表示領域124はそのまま表示されている。従って、この状態でユーザが表示された変換候補または入力候補を選択すれば、その選択された変換候補または入力候補が、「15432歩」の後に続けて、確定された入力として文字入力領域122に表示される。尚、別の態様として、入力候補「15432歩」が選択され文字入力領域122に表示された際に、変換候補表示領域123及び入力候補表示領域124を閉じ、新たな文字列が入力されたら、それに応じて変換候補表示領域123及び入力候補表示領域124を表示してもよい。
文字列「あるいた」が入力された場合と同様に、例えば、文字列「いち」や「ばしょ」が入力された場合には、入力文字列に関連するログ種別としてログ種別「位置」が特定され、図2(a)に示すログ種別が「位置」のログの項目のうち対応する表示設定テーブル117によって入力候補として表示すると設定された項目(例えば、住所)の情報(例えば、「東京都中央区日本橋1−2−9」や「東京都中央区日本橋1−2−10」)が、入力候補として入力候補表示領域124に表示される。また、文字列「おんがく」が入力された場合には、入力文字列に関連するログ種別としてログ種別「音楽」が特定され、図2(d)に示すログ種別が「音楽」のログの項目のうち対応する表示設定テーブル117によって入力候補として表示すると設定された項目(例えば、曲名)の情報(例えば、「ジングルベル」や「諸人こぞりて」)が、入力候補として入力候補表示領域124に表示される。文字列「えいが」が入力された場合には、入力文字列に関連するログ種別としてログ種別「動画」が特定され、図2(e)に示すログ種別が「動画」のログの項目のうち対応する表示設定テーブル117によって入力候補として表示すると設定された項目(例えば、タイトル)の情報(例えば、「伝説のスピーチ」や「雨音」)が、入力候補として表示される。同様に、入力文字列に関連するログ種別として「電話発信」や「電話着信」が特定された場合は、例えば、項目「氏名」と「電話番号」の情報が入力候補として表示される。入力文字列に関連するログ種別として「メール送信」や「メール受信」が特定された場合は、例えば、項目「氏名」と「メールアドレス」の情報が入力候補として表示される。入力文字列に関連するログ種別として他のログ種別が特定された場合も同様に、そのログ種別のログに含まれる情報のうち予め指定された項目の情報が入力候補として表示される。
上記においては、入力文字列に関連するログ(図7の例ではログ種別が「歩数」のログ)に含まれる情報のうち、予め指定された項目(図7の例では項目「歩数」及び「歩行距離」)の情報が入力候補として表示されたが、本発明はこれに限定されない。予め指定された項目の情報に関連付けられた情報を入力候補として表示してもよい。
図8は、入力文字列として「しゃしん」が入力された場合の入力処理において表示される画面の例を示す図である。文字列「しゃしん」が入力されると、図8(a)に示すように、その変換候補として「しゃしん」、「写真」、「写真館」、「シャシン」等が辞書DB112から抽出され、変換候補領域に表示される。また、入力文字列「しゃしん」に関連するログとして、図2(f)に示したログ種別が「写真」のログが関連ログ検索部104により検索され、そのログに含まれる情報がログ種別「写真」と共に入力候補検出部105に送られる。入力候補検出部105は、入力候補設定DB116にアクセスし、ログ種別「写真」に対応する表示設定テーブル117を参照し、ログ種別が「写真」のログの項目のうちどの項目の情報を入力候補として表示すべきか判定する。ここでは、表示設定テーブルにおいて、項目「サムネイル」が入力候補として表示すると設定されているものとする。それに応じて、入力候補検出部105は、項目「サムネイル」に記載されているサムネイル画像のファイル名と、サムネイル画像の格納場所(例えば、予め定められた格納場所またはログに記録された元画像の格納場所と同じ格納場所)とに基づいて、サムネイル画像データを取得し、表示制御部106に送る。表示制御部106は、入力候補検出部105から受け取ったサムネイル画像データに基づき、表示部12を制御して入力候補表示領域124にサムネイル画像を表示させる。図8(b)は、入力候補表示領域124にサムネイル画像T1〜T5が表示された状態の画面を示す。
図8(c)に示すように、ユーザが操作部13を操作してサムネイル画像T1(例えば、図2(f)においてファイル名photo1_t.jpgで指定される画像)を選択すると、図8(d)に示すように、サムネイル画像T1の元の画像P1(例えば、図2(f)においてファイル名photo1.jpgで指定される画像)が文字入力領域122に表示される。このとき、画像P1のサイズが文字入力領域122のサイズより大きい場合、画像P1のサイズを文字入力領域122のサイズより小さい予め定められたサイズに調整して表示してもよい。
このように、入力候補検出部105は、入力文字列に関連するログ種別のログに含まれる予め指定された項目の情報(例えば、サムネイル画像のファイル名「photo1_t.jpg」)の代わりに、当該情報に関連付けられた情報(例えば、サムネイル画像T1)を入力候補として表示してもよい。また、入力候補として入力候補表示領域124に表示される情報は、選択されたときに文字入力領域122に実際に入力される情報(例えば、サムネイル画像T1の元の画像P1)でなくてもよく、選択時に入力される情報に関連した情報(例えば、サムネイル画像T1)であってよい。
図9は、更に別の例として、文字列「めーる」が入力された場合の入力処理において表示される画面の例を示す図である。図3に示されたキーワードDB115の例においては、入力文字列「めーる」は、ログ種別「メール送信」とログ種別「メール受信」の両方に関連付けられている。従って、図6のステップS5において、ログ種別「メール送信」とログ種別「メール受信」の両方が取得され、ステップS6では、これら2つのログ種別のそれぞれに対応するログが検索される。入力候補検出部105は、検索されたログ種別が「メール送信」のログ及びログ種別が「メール受信」のログから、それぞれ対応する表示設定テーブル117において指定された項目(例えば、いずれのログ種別に対しても、項目「氏名」と「メールアドレス」)の情報を検出して、表示制御部106に供給する。その結果、図9に示すように、ログ種別が「メール送信」のログから取得された情報(氏名及びメールアドレス)と、ログ種別が「メール受信」のログから取得された情報(氏名及びメールアドレス)が、入力候補として表示部12に表示される。図9に示した例では、表示画面は、ログ種別が「メール送信」のログから取得された情報と、ログ種別が「メール受信」のログから取得された情報を区別して表示するため、2つの入力候補表示領域124−1と124−2を有する。尚、ログ種別が「メール送信」のログから取得された情報を入力候補として表示する入力候補表示領域124−1と、ログ種別が「メール受信」のログから取得された情報を入力候補として表示する入力候補表示領域124−2のどちらを上に表示するかは、予め設定されたログ種別の表示優先度に基づいて決定してよい。また、メールアドレスのように比較的多くの文字を含む情報を入力候補として表示する場合、その一部のみを入力候補表示領域124に表示し、ユーザによって選択されたら、その全部を文字入力領域122に表示するようにしてもよい。
上述したように、本実施形態によれば、ユーザの行動履歴等を示すログのうち入力文字列に関連するログに含まれる情報または当該情報に関連する情報が入力候補としてユーザに提示されるので、ユーザによる情報入力の操作が簡素化される。
3.他の実施形態
本発明は上述の実施形態に限定されるものではなく種々の変形実施が可能である。以下、変形例をいくつか説明する。尚、上述した実施形態及び以下の変形例は、2つ以上のものが組み合わせて用いられてもよい。
3−1.変形例1
上記実施形態では、ログDB114には、文字入力がなされる端末装置1のユーザに関するログが記憶されていたが、本発明はこれに限定されない。図10は、変形例1に係る通信システムの構成の一例を示す図である。この通信システム100は、ユーザAによって使用される端末装置1と、ユーザBによって使用される端末装置2と、サーバ3とを有し、端末装置1、端末装置2、及びサーバはネットワーク4を介して互いに通信可能となっている。
図11は、サーバ3の構成の一例を示すブロック図である。図示されているように、サーバ3は、制御部30、記憶部31、表示部32、操作部33、及び通信部34を有し、これら各部はバス35を介して通信可能に接続されている。制御部30は、CPU、ROM及びRAMを備え、CPUが、ROMまたは記憶部に記憶されているプログラムをRAMに読み出して実行することで、サーバ3の各部を制御し、サーバ3の様々な機能を実現する。記憶部31は、例えばハードディスクやフラッシュメモリなどの大容量の記憶手段であり、各種のプログラム311やデータを記憶する。本例において、記憶部31に格納されるデータには、複数ユーザログDB314が含まれる。
表示部32は、例えば液晶ディスプレイであり、制御部30の制御の下、様々な情報を表示する。操作部33は、サーバ3のユーザによる操作の内容に応じた操作信号を制御部30に送出する。操作部33には、例えば、マウス及びキーボード(図示せず)が含まれる。通信部34は、外部装置(例えば、端末装置1及び2)と通信するためのインタフェースであり、制御部30の制御の下、電話回線やインターネットを介して外部装置との間で情報の送受信を行う。
図11に示すように、サーバ3の記憶部31に格納された複数ユーザログDB314は、ユーザAに関するログDB314−1と、ユーザBに関するログDB314−2とを含む。他のユーザに関するログDBを有してもよい。ユーザA及びユーザBの各々のログDBには、例えば、図2に示したような1乃至複数の種別のログが含まれる。ユーザA及びBの各々に関するログは、ユーザA及びBが用いる端末装置1及び2によってそれぞれ収集され、予め定められたタイミング(例えば、毎正時)またはユーザ操作に応じて、各端末装置1、2からネットワーク4を介してサーバ3に送信される。サーバ3からのリクエストに応じて、各端末装置1、2が収集したログをサーバ3に送信してもよい。予め定められたタイミングでログ情報を各端末装置1、2からサーバ3に送信する場合、そのタイミングを各端末装置1、2のユーザA、Bが設定または変更できるものとしてよい。各ユーザA、Bの端末装置1、2から、当該ユーザA、Bに関するログをサーバ3に送信する際、ユーザA、Bを識別する情報であるユーザ識別情報(ユーザID)も共に送信される。サーバ3は、受信した各ユーザA、Bに関するログを、ユーザ識別情報に関連付けて記憶部31の複数ユーザログDB314に格納する。
端末装置1及び端末装置2の各々のハードウェア構成は、図1に示された構成と同じであってよい。図12は、変形例1に係る端末装置(端末装置1または端末装置2)の制御部10Aの機能構成を示す図である。本図において、図5と共通する部分には同じ符号を付して詳しい説明を省略する。図12に示した制御部Aは、通信相手を特定する通信相手特定部107を有する点が図5の制御部10と異なる。またログ収集部101は、収集したログ情報をサーバ3に送信し、サーバ3は受信したログ情報を複数ユーザログDB314に記憶する。
図13は、変形例1に係る端末装置1及びサーバ3の動作を説明するためのシーケンスチャートである。ここでは、端末装置1のユーザAが端末装置2のユーザBに宛てた電子メール等の電子メッセージを作成することを想定している。尚、以下に説明する例では、電子メッセージは電子メールとするが、例えば、SMS(Short Message Service)によって送受信されるメッセージなど、電子的に送受信されるメッセージであれば何でもよい。
図13に示すように、端末装置1のユーザAが文字列を入力すると(S11)、端末装置1の文字列比較部103は、入力文字列に関連するログ種別を取得する(ステップS12)。このログ種別は、図6のステップS5と同様に、入力文字列またはその変換候補に含まれるキーワード文字列がキーワードDB115において関連付けられたログ種別として取得される。
ステップS13において、通信相手特定部107は、通信相手を特定する。具体的には、電子メールの宛先として指定されたユーザ(本例ではユーザB)のユーザ識別情報(ユーザID)を取得する。ユーザIDはユーザを特定できる情報なら何でもよく、例えば、電子メールアドレスや氏名であってよいが、サーバ3が各ユーザのログを管理するのに用いている情報と同じである必要がある。通信相手特定部107は、例えばユーザAが電子メールアドレスの宛先をアドレス帳113から選択する場合、その選択操作に基づいて、宛先(通信相手)となるユーザを特定しそのユーザIDを取得する。
ステップS14において、関連ログ検索部104は、取得したログ種別、通信相手(ユーザB)のユーザID、及び自端末装置1のユーザ(ユーザA)のユーザIDをサーバ3に送信する。自端末装置1のユーザ(ユーザA)のユーザIDは、例えば、記憶部11に予め記憶されている。
ログ種別、ユーザAのユーザID、及びユーザBのユーザIDを受信したサーバ3は、ステップS15において、複数ユーザログDB314にアクセスし、ユーザAのログDB(即ち、ユーザAのユーザIDに関連付けられたログDB)314−1及びユーザBのログDB(即ち、ユーザBのユーザIDに関連付けられたログDB)314−2から、ログ種別に対応するログを検索する。また、検索したログの全部または一部(例えば、新しいものから順に予め定められた数のデータセット、または、現時点より所定時間前と現時点との間に取得されたデータセット)を、ログ種別等の送信元の端末装置である端末装置1に送信する。
サーバ3においてユーザA及びユーザBのログDB314−1、314−2から検索されたログをサーバ3から受信すると、端末装置1の入力候補検出部105は、受信したログに含まれる情報から、入力候補として表示する情報を検出する(ステップS17)。また、表示制御部106は、検出された情報を入力候補としてユーザAが選択可能なように表示部12に表示させる(ステップS18)。ステップS17及びS18の処理は、それぞれ、上述した図6のステップS7及びS8の処理と同様である。
図14は、変形例1における入力処理において表示される画面の例を示す模式図である。図14は、文字列「あるいた」が入力された場合の画面を示している。図14に示すように、この例では、表示画面は自端末装置1のユーザ(ユーザA)のログDB314−1から取得されたログの情報を入力候補として表示する第1の入力候補表示領域124−1と、通信相手(ユーザB)のログDB314−2から取得されたログの情報を入力候補として表示する第2の入力候補表示領域124−2とを有する。
このように、本例においては、文字入力がなされる端末装置1のユーザAのログDBだけでなく、通信相手となる端末装置2のユーザBのログDBからも、入力文字列に関連するログ種別のログの情報が取得され、入力候補としてユーザAによって選択可能なように表示される。従って、ユーザAがユーザB宛ての電子メッセージを作成する際に、ユーザBの最近の一日の歩数やユーザBが最近見た映画など、ユーザBの行動履歴等に関する情報を入力したい場合、ユーザBに別途問い合わせることなく、そのような情報を入力することができる。
尚、通信相手は一人に限られず複数あってもよい。その場合、これら複数の通信相手の各々のログDBから入力文字列に関連するログ種別に対応するログの情報を取得し、取得したログの情報を入力候補として表示してよい。また、各ユーザが、自分のログDBに格納されたログに含まれる情報が入力候補として表示されるのを自分以外のどのユーザに対して許可するかを設定可能としてもよい。そのような設定情報は、各ユーザの端末装置からサーバ3に送信し、サーバ3の記憶部31に複数ユーザログDB314と共に格納してよい。
3−2.変形例2
上記変形例1においては、サーバ3の記憶部31に複数のユーザのログDBを複数ユーザログDB314として格納したが、本発明はこれに限定されない。端末装置1、2の記憶部11に、自端末装置のユーザのログDBだけでなく通信相手となり得る他のユーザのログDBを格納してもよい。
図15は、変形例2に係る端末装置1Aの構成を示すブロック図である。本図において、図1と共通する部分には同じ符号を付して詳しい説明を省略する。図15に示した端末装置1Aは、記憶部に、複数ユーザログDB114Aが格納されている点が図1の端末装置1と異なる。複数ユーザログDB114Aは、自端末装置1AのユーザのログDBに加えて、他のユーザのログDBを含む。各ユーザのログDBは、図2(a)〜(o)に示したような1または複数種別のログを含む。この端末装置1Aの複数ユーザログDB114AにログDBが格納される他のユーザは、例えば、当該端末装置1Aのアドレス帳113に登録されているユーザの中から選択されたユーザであってよい。
端末装置1Aの制御部10は、アドレス帳113に登録されている他のユーザのうち選択されたユーザの端末装置(図示せず)に対して、予め定められたタイミング(例えば、毎正時)、またはユーザの操作に応じて、ログ情報の送信をリクエストするメッセージを送信する。メッセージを受信した他のユーザの端末装置は、まだ送信していないログ情報を端末装置1Aに送信する。他のユーザの端末装置からログ情報を受信した端末装置1Aの制御部10は、それを複数ユーザログDB114Aに書き込み、当該複数ユーザログDB114Aを更新する。
このような構成により、サーバにアクセスしなくても、文字入力がなされる端末装置のユーザのログDBだけでなく、通信相手となるユーザのログDBからも、入力文字列に関連するログの情報を取得して入力候補として表示することが可能となる。
3−3.変形例3
上記実施形態では、一つの入力文字列とその変換候補にキーワードDB115に含まれるキーワード文字列が含まれるか判定し、キーワード文字列が含まれる場合、そのキーワード文字列に関連付けられたログ種別を、入力文字列に関連するログ種別として特定した。しかしながら、本発明はこれに限定されない。複数の入力文字列とその変換候補を用いて、関連するログ種別を特定してもよい。
図16は、変形例3に係る端末装置の制御部10Bの機能構成を示図である。本図において図5と共通する部分には同じ符号を付して詳しい説明を省略する。図16に示した制御部10Bは、操作部13の操作によって入力された文字列を蓄積する入力文字列蓄積部108を有する点が、図5の制御部10と異なる。文字列蓄積部108は、例えば、制御部10のRAMによって実現してもよいし、あるいは、記憶部11によって実現してもよい。
例として、ユーザが文字列「きのう、」及び「おんがくと」を入力し、それぞれ、変換文字列「昨日、」及び「音楽と」に変換して入力を確定した後、文字列「えいがを」と入力した場合について説明する。図17は、その場合に表示される画面の例を示す模式図である。図17において、入力された文字列は、文字列入力領域122に表示される。
入力文字列蓄積部108は、現在入力されている文字列「えいがを」だけでなく、その前に入力された文字列「きのう、」及び「おんがくと」を記憶し、文字列比較部103に供給する。ここで、入力文字列蓄積部108に蓄積可能な文字列の数は、入力文字列蓄積部108の記憶容量や個々の文字列の長さによって決まる。入力文字列蓄積部108に蓄積された文字列は、古い文字列から順に削除され、空いたスペースに新しく入力された文字列が蓄積される。
文字列比較部103は、入力文字列蓄積部108に蓄積された複数の入力文字列のそれぞれに対して、キーワードDB115に記憶されたキーワード文字列のいずれかが含まれるか判定し、入力文字列蓄積部108に蓄積された複数の入力文字列のいずれかに含まれるキーワード文字列を抽出する。本例の場合、入力文字列蓄積部108には、「きのう、」、「おんがくと」、及び「えいがを」の3つの文字列が蓄積されており、図3に例示したキーワードDB115に含まれるキーワード文字列のうち、文字列「おんがく」が文字列「おんがくと」に含まれ、文字列「えいが」が文字列「えいがと」に含まれるので、文字列比較部103は、キーワード文字列「おんがく」と「えいが」を抽出する。そして、抽出されたキーワード文字列「おんがく」及び「えいが」が関連付けられたログ種別として、ログ種別「音楽」及び「動画」を特定する。特定されたログ種別は、上記実施形態と同様に、関連ログ検索部104に送られ、関連ログ検索部104はログDB114にアクセスして、ログ種別「音楽」及び「動画」のそれぞれに対応するログを取得し、入力候補検出部105に送る。ここで、ログ種別「音楽」に対応する表示設定テーブル117において、ログ種別が「音楽」のログの項目のうち項目「曲名」が入力候補として表示する項目として指定され、ログ種別「動画」に対応する表示設定テーブル117において、ログ種別が「動画」のログの項目のうち項目「タイトル」が入力候補として表示する項目として指定されているとすると、入力候補検出部105は、ログ種別が「音楽」のログの項目「曲名」の情報(本例では、「ジングルベル」、「諸人こぞりて」・・・)及びログ種別が「動画」のログの項目「タイトル」の情報(本例では、「伝説のスピーチ」、「雨音」・・・)を取得して、表示制御部106に供給する。表示制御部106は受信した情報を入力候補として表示部12に表示させる。
図17に例示する画像では、ログ種別が「音楽」のログ及びログ種別が「動画」のログの各々の情報を入力候補として表示するための2つの入力候補表示領域124−1、124−2が設けられている。また、ここでは、一番新しい入力文字列「えいがを」に関連するログ種別が「動画」のログから取得された情報を入力候補として表示する入力候補表示領域124−1の方が、前に入力された入力文字列「おんがくと」に関連するログ種別が「音楽」のログから取得された情報を入力候補として表示する入力候補表示領域124−2より上に(即ち、優先的に)配置されている。
このように、文字列蓄積部108に蓄積された複数の入力文字列に関連するログ種別のログの情報を入力候補として表示することで、ユーザによる情報入力の操作が簡素化される。特に、本変形例によれば、入力が確定された文字列に対しても、関連するログ種別のログの情報が入力候補として表示されるので、既に入力が確定された文字列に関連するログ種別のログの情報を入力したい場合、ユーザは、同じ文字列を再度入力し直さなくても、その文字列に関連するログの情報を選択し入力することができる。
3−4.変形例4
変形例3に示した例では、文字列蓄積部108に蓄積された入力文字列のうち、キーワード文字列を含まない文字列(即ち、「きのう、」)は、入力候補となる情報を取得する際に考慮されなかった。しかしながら、文字列「きのう、」のように日にちや時間を示すと考えられる文字列を用いて、ログに含まれる情報から入力候補として表示する情報を取得してもよい。
図18は、変形例4に係る端末装置の制御部10Cの機能構成を示す図である。本図において、図16と共通する部分には同じ符号を付して詳しい説明を省略する。図18に示した制御部10Cは、日時情報生成部109を有する点が図16の制御部10Bと異なる。日時情報生成部109は、文字列蓄積部108に蓄積された文字列の中に、例えば、「きのう」、「さくじつ」、「きょう」、「ほんじつ」、「おとつい」、「おととい」、「いっさくじつ」、「3かまえ」、「1しゅうかんまえ」、「1じかんまえ」等のように、日にちや時間に関連すると考えられる文字列(日時関連文字列と言う)が含まれるか判定する。これらの日時関連文字列は、予め記憶部11に格納される。記憶部11に格納された日時関連文字列の追加や削除をユーザが操作部13を通じて行えるようにしてもよい。
文字列蓄積部108に蓄積された文字列の中に日時関連文字列が含まれる場合、日時情報生成部109は、文字列蓄積部108に蓄積された文字列の中に含まれる日時関連文字列(例えば、「きのう」)を抽出し、抽出した日時関連文字列に対して予め定められた処理を行うことで、日時情報を生成する。例えば、日時関連文字列として文字列「きのう」が抽出された場合、日時情報生成部は、今日の日にち(例えば、2011年11月26日)より一日前の日にち(例えば、2011年11月25日)を示す日時情報を生成し、生成した日時情報を関連ログ検索部104に送る。尚、今日の日にちや現在時刻は、通常の端末装置に標準的に装備された図示省略するカレンダー機能及び時計機能によって取得してもよいし、端末装置が通信可能なサーバから取得してもよい。
関連ログ検索部104は、文字列比較部103から供給されるログ種別に加えて、日時情報生成部109から供給される日時情報を用いてログDB114にアクセスし、ログ種別に対応するログの情報から日時情報によって示される情報を取得する。例えば、文字列比較部103から供給されるログ種別が「動画」と「音楽」であり、日時情報生成部109から供給される日時情報が「2011年11月25日」の場合、関連ログ検索部104は、ログ種別が「動画」のログ及びログ種別が「音楽」のログに含まれる情報のうち、項目「日時」の情報が「2011年11月25日」に該当するデータセットを取得して、入力候補検出部105に供給する。図2(e)に示したログ種別が「動画」のログの例では、一番上のデータセット(タイトル情報として「伝説のスピーチ」を含むデータセット)が、そのようなデータセットに該当する。また、図2(d)に示したログ種別が「音楽」のログの例では、上の2つのデータセットが、そのようなデータセットに該当する。
図19は、変形例4に係る入力処理に基づいて表示される画面の例を示す模式図である。図19は、図17と同様に、ユーザが文字列「きのう、」及び「おんがくと」を入力し、それぞれ、変換文字列「昨日、」及び「音楽と」に変換して入力を確定した後、文字列「えいがを」を入力した場合の画面を示している。図19に示した例では、ログ種別が「動画」のログから取得された入力候補を表示する入力候補表示領域124−1に、日時情報生成部109から供給された日時情報「2011年11月25日」に該当するデータセットに含まれる、項目「タイトル」の情報「伝説のスピーチ」のみが表示されている点が、図17に示した例と異なる。
このように、入力文字列蓄積部108に蓄積された日にちや時間を示すと考えられる文字列を用いて、ログに含まれる情報から入力候補として表示する情報を取得することで、不要な情報を入力候補として表示する可能性が低減される。
3−5.変形例5
上述した実施形態において、図7に例示した画面においては、ログ種別が「歩数」のログの項目のうち、対応する表示設定テーブル117において指定された項目「歩数」と「歩行距離」の情報を入力候補として表示する際、予め定められた項目の表示優先度に基づいて、項目「歩数」の情報を項目「歩行距離」の情報より前に(即ち、優先して)表示した。しかしながら、複数の項目の情報を入力候補として表示する際、これらの項目の表示優先度を、過去に入力候補として表示された回数や入力候補として表示された後ユーザによって選択された回数に基づいて決めてもよい。また、図9に例示した画面においては、2つのログ種別「メール送信」と「メール受信」に対応するログに含まれる情報を入力候補として表示する際、予め設定されたログ種別の表示優先度に基づいて、ログ種別が「メール送信」のログから取得された情報を入力候補として表示する入力候補表示領域124−1と、ログ種別が「メール受信」のログから取得された情報を入力候補として表示する入力候補表示領域124−2のどちらを上に表示するか(即ち、どちらの情報を優先的に表示するか)を決定した。しかしながら、複数のログ種別に対応するログに含まれる情報を入力候補として表示する際、その表示優先度を、入力文字列に関連するログ種別として特定された回数に応じて決定してもよい。
図20は、変形例5に係る端末装置の制御部10Dの機能構成を示す図である。本図において、図5と共通する部分には同じ符号を付して詳しい説明を省略する。図20に示した制御部10Dは、ログ種別計数部201、項目計数部202、及び表示優先度決定部203を有する点が、図5に示した制御部10と異なる。また、この例では、入力文字列に関連するログ種別として特定された回数をログ種別毎に記憶する特定回数DB118と、入力候補として表示された回数及び入力候補として表示された後ユーザによって選択された回数を記憶する表示/選択回数DB119が記憶部11に記憶される。
図21は、特定回数DB118の一例を示す模式図である。図示されているように、特定回数DB118には、各ログ種別毎に、入力文字列に関連するログ種別として特定された回数(即ち、ログ種別に関連付けられたキーワード文字列が入力文字列またはその変換候補に含まれた回数)が記憶されている。ログ種別計数部201は、文字列比較部103から入力文字列に関連するログ種別を取得すると、特定回数DB118において、取得したログ種別の特定回数を1増加させる。
図22は、表示/選択回数DB119の一例を示す模式図である。図22には、例として、ログ種別「歩数」に対する表示/選択回数DB119が示されている。図示されているように、この表示/選択回数DB119には、ログ種別「歩数」の各項目毎に、入力候補として表示された回数(表示回数)及び入力候補として表示された後にユーザに選択された回数(選択回数)が記憶されている。項目計数部202は、表示制御部106が表示部12に、入力文字列に関連するログ種別のログから取得された情報を入力候補として表示させるとき、これらログ種別及び項目を表示制御部106から受信し、表示/選択回数DB119において、受信したログ種別の項目の表示回数を1増加させる。また、ユーザが操作部13を操作して、表示された入力候補のいずれかを選択するのに応じて表示制御部106が選択された入力候補を画面の文字列入力領域122に表示させる際、項目計数部202は、選択された入力候補の項目を示す情報を表示制御部106から受信し、表示/選択回数DB119において、その項目の選択回数の値を1増加させる。
表示優先度決定部203は、特定回数DB118に記憶された各ログ種別の特定回数に基づいて、各ログ種別の表示優先度を決定する。例えば、特定回数の多いログ種別ほど高い優先度を設定する。また、表示優先度決定部203は、表示/選択回数DB119に記憶された各項目の表示回数及び選択回数に基づいて、各項目の表示優先度を決定する。例えば、表示回数が多いほど、また、選択回数が多いほど、項目の表示優先度を高くする。
表示制御部106は、入力文字列に関連するログ種別のログから取得された情報を入力候補として表示部12の画面に表示する際、表示優先度決定部203によって決定された優先度に基づいて表示を行う。これにより、ユーザの関心が高い情報が優先的に入力候補として表示される可能性が増加する。
3−6.変形例6
上記実施形態では、ユーザは一つの端末装置を使用していたが、本発明はこれに限定されない。一人のユーザが複数の端末装置を用い、各端末装置がログを収集してもよい。
図23は、変形例6に係る通信システム100Aの構成の一例を示す図である。このシステム100Aは、一人のユーザAによって使用されるN台(Nは2以上の整数)の端末装置(例えば、携帯電話、タブレット型端末、ノート型コンピュータ、デスクトップ型コンピュータ等)1−1〜1−Nを含み、これら端末装置1−1〜1−Nはネットワーク4を介して互いに通信可能である。端末装置1−1〜1−Nの各々のハードウェア構成は、図1に示した構成と同じであってよいが、記憶部11に複数の端末装置によって収集されたログを含む複数端末ログDB114Bが格納される点が異なる。
図24は、図23に示したシステム100Aにおいて、端末装置1−1〜1−Nの各々の記憶部11に格納される複数端末ログDB114Bの構成を示す模式図である。この複数端末ログDB114Bは、N台の端末装置1−1〜1−Nに対応した第1〜第NログDB114b1〜114bNを有する。第1〜第NログDB114b1〜114bNには、対応する端末装置1−1〜1−Nが収集した各種のログがそれぞれの端末装置1−1〜1−Nを識別する端末識別情報(端末ID)に関連付けて記憶される。N台の端末装置1−1〜1−Nの各々は、予め定められたタイミング(例えば、毎正時)またはユーザ操作に応じてネットワーク4を介して、同じユーザが使用する他の端末装置に対して、ログの送信をリクエストし、リクエストを受信した端末装置は、未送信のログデータを自身の端末IDと共にリクエスト送信元の端末装置に返信する。例えば、端末装置1−1が他の端末装置1−2〜1−Nにログの送信リクエストを送信すると、他の端末装置1−2〜1−Nの各々は、端末装置1−1にまだ送信していないログデータを端末装置1−1に送信する。端末装置1−1から送信する送信リクエストの中に、前回のログデータの送信日時を示す情報を含ませ、送信リクエストを受信した他の端末装置1−2〜1−Nはその情報によって示される送信日時より後のログデータを端末装置1−1に送信してもよい。他の端末装置1−2〜1−Nからログデータを受信したリクエスト送信元の端末装置1−1は、受信したログデータを対応する端末装置1−2〜1−NのログDB114b2〜114bNに記憶する。
複数の端末装置1−1〜1−Nのいずれかでユーザが文字入力を行う場合、その端末装置の制御部10は、入力文字列に関連するログ種別を特定し、特定したログ種別に対応するログの情報を、複数端末ログDB114Bに含まれるN台の端末装置1−1〜1−Nに対応したログDB114b1〜114bNのそれぞれから取得し、取得した情報を入力候補として表示する。例えば、ユーザが携帯端末を用いて毎日の歩数をログとして収集している場合、そのユーザが自宅のデスクトップ型コンピュータを用いて最近のウォーキング活動についてブログやメールを書く際、携帯端末によって収集された歩数のログ(図2(b)に例示)から、歩数や平均歩行速度などの情報が入力候補として取得され表示される。このように、本変形例によれば、一人のユーザが複数台の端末装置を用いる場合に、これら端末装置のいずれかで文字入力を行う際、入力操作がなされている端末装置によって収集されたログだけでなく、そのユーザが使用する他の端末装置によって収集されたログからも、入力文字列に関連する情報が取得され入力候補として表示される。従って、文字入力操作がなされる端末装置自身によって収集されたログのみから入力候補を取得して表示する場合と比べて、ユーザによる情報入力の操作がより簡素化される。
尚、一人のユーザによって使用されるN台の端末装置1−1〜1−Nの各々が、これらN台の端末装置に対応した第1〜第NログDB114b1〜114bNを含む複数端末ログDB114Bを有する代わりに、またはそれに加えて、例えば、ネットワーク4に接続されたサーバに、複数の端末装置に対応した複数のログDBを含む複数端末ログDBをユーザIDに関連付けて格納させてもよい。その場合、各端末装置において文字入力がなされる際、各端末装置の制御部は、サーバに記憶された複数端末ログDBにネットワーク4を介してアクセスし、入力文字列に関連するログの情報を複数端末ログDBに含まれるログの情報から取得してよい。また、図11及び図15に示した複数ユーザログDBに含まれる個々のユーザのログDBを、そのユーザが使用する複数の端末装置が収集したログを含む複数端末ログDBとしてもよい。
3−7.変形例7
上記実施形態では、入力文字列に関連するログ種別のログから取得した情報を入力候補として表示する際に、一番新しいデータセットに含まれる情報が最上部に表示され、古い情報ほど下に表示されるものとしたが、本発明はこれに限定されない。入力候補として表示される情報が、例えば歩数のような数値データの場合、予め定められた期間(例えば、過去1ヶ月や過去1年)におけるその数値データの平均値からのずれが予め定められた値より大きい数値データのみを抽出して、入力候補として表示してもよい。それに加えて/あるいは、入力候補として表示される数値データを、平均値からのずれの大きさに応じた優先度で入力候補として表示してもよい。これは、例えば、通常1日に5000歩程度歩いているユーザが、1日に10000歩を越えて歩いた場合、そのように通常の歩数とは大きく違う歩数がそのユーザが作成するメールやブログ等の話題となる可能性が高い、即ち、通常の数値とは大きく異なる数値データはユーザによって入力が望まれる可能性が高い、との想定に基づいている。例えば、図5に示した入力候補検出部105において、上記したような予め定められた期間における数値データの平均値の算出、及び、平均値からのずれが予め定められた値より大きい数値データの抽出を行い、抽出した数値データを表示制御部106に供給してよい。この場合、入力候補検出部105は、変動の大きいログの情報を抽出する変動ログ抽出部として働く。また、表示制御部106は、入力候補検出部105から受け取った数値データを、それらの平均値からのずれに応じて、上から順に入力候補として表示してよい。
このように、入力候補として表示される情報が数値データの場合、予め定められた期間におけるその数値データの平均値からのずれが予め定められた値より大きい数値データのみを抽出して入力候補として表示する、及び/または、入力候補として表示される数値データを、平均値からのずれの大きさに応じた優先度で入力候補として表示することにより、ユーザが入力を希望する可能性の高い情報をユーザが選択し易いように表示することができる。
3−8.変形例8
上記実施形態では、ユーザが移動キーを操作することで指定される変換候補または入力候補を変更可能とし、ユーザが確定キーを押すと、そのときに指定されていた変換候補または入力候補が選択され、文字入力領域122に表示されるものとしたが、本発明はこれに限定されない。例えば、操作部13がタッチパッドを有する場合、ユーザがタッチした位置に表示されている変換候補または入力候補が選択されて文字入力領域122に表示されるものとしてもよい。この場合も、上記実施形態と同様に、変換候補または入力候補が選択されて文字入力領域122に表示されても、変換候補表示領域123及び入力候補表示領域124の表示をそのまま維持してよい。即ち、複数の変換候補及び/または入力候補が表示される場合に、表示制御部106は、2以上の入力候補を続けて選択することを許容する。
別の方法として、ユーザがタッチパッドをタッチすると、タッチした位置に表示されている変換候補または入力候補が指定された状態となり、その状態でユーザが確定キーを押す(またはそれに相当するソフトボタンをタッチする)と、指定された変換候補または入力候補が選択されて文字入力領域122に表示されるものとしてもよい。この場合、同時に複数の変換候補または入力候補をタッチにより指定可能としてよい。これにより、ユーザは変換候補または入力候補を複数選択し文字入力領域122に表示させることができるので、文字入力の操作が簡素化される。
3−9.変形例9
上記実施形態では、関連ログ検索部104は、文字列比較部103から供給されたログ種別のログをログDB114から取得して入力候補検出部105に送り、入力候補検出部105は、関連ログ検索部104から受信したログに含まれる情報から、対応する表示設定テーブル117により指定された項目の情報または当該情報に関連する情報を取得し、入力候補として表示させるべく表示制御部106に供給した。しかしながら、本発明はこれに限定されない。関連ログ検索部104が、文字列比較部103から受信したログ種別に基づいて、入力候補設定DB116の対応する表示設定テーブル117を参照して入力候補として表示する項目を抽出し、ログ種別に対応するログに含まれる情報のうち入力候補として表示する項目の情報のみをログDB114から取得して表示制御部106に供給してもよい。即ち、入力候補検出部105の機能を関連ログ検索部104が兼ねてもよい。
3−10.他の変形例
上記実施形態では、入力さえる文字列は平仮名の文字列であったが、本発明はこれに限定されない。例えば、いわゆるローマ字入力により文字列が入力されてもよい。また、上記実施形態では、ログ種別を「位置」、「歩数」などの意味のある単語としたが、ログ種別は各種のログを識別できるものであればよく、例えば、「001」、「002」・・・などの識別番号であってもよい。
更に、上記実施形態では、端末装置1の表示部12の表示画面において、辞書DB112を参照することで取得された入力文字列の変換候補が表示される変換候補表示領域123の下に、ログDB114に含まれるログのうち入力文字列に関連すると考えられるログの情報が入力候補として表示される入力候補表示領域124が表示されるものとしたが、本発明はこれに限定されない。変換候補表示領域123の上に入力候補表示領域124を表示してもよいし、変換候補表示領域123と入力候補表示領域124を横並びに表示してもよく、画面内の各領域のレイアウトは様々に変えてよい。また、辞書DB112を参照することで取得された入力文字列の変換候補と、ログDB114に含まれるログのうち入力文字列に関連すると考えられるログの情報を、個別の領域ではなく一つの領域内に表示してもよい。
制御部の機能を実現するプログラムは、磁気記録媒体(磁気テープ、磁気ディスク(HDD、FD(Flexible Disk))など)、光記録媒体(光ディスク(CD(Compact Disc)、DVD(Digital Versatile Disk))など)、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供し、記憶部にインストールしてもよい。また、通信回線を介してダウンロードして記憶部にインストールしてもよい。