JP6271914B2 - 情報処理装置及びその制御方法、コンピュータプログラム、記録媒体 - Google Patents

情報処理装置及びその制御方法、コンピュータプログラム、記録媒体 Download PDF

Info

Publication number
JP6271914B2
JP6271914B2 JP2013176289A JP2013176289A JP6271914B2 JP 6271914 B2 JP6271914 B2 JP 6271914B2 JP 2013176289 A JP2013176289 A JP 2013176289A JP 2013176289 A JP2013176289 A JP 2013176289A JP 6271914 B2 JP6271914 B2 JP 6271914B2
Authority
JP
Japan
Prior art keywords
situation
input
sensor
character string
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013176289A
Other languages
English (en)
Other versions
JP2015045973A (ja
JP2015045973A5 (ja
Inventor
絵里子 尾▲崎▼
絵里子 尾▲崎▼
廣田 誠
誠 廣田
辰哉 武市
辰哉 武市
奥谷 泰夫
泰夫 奥谷
裕美 近江
裕美 近江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013176289A priority Critical patent/JP6271914B2/ja
Priority to US14/465,259 priority patent/US20150067492A1/en
Publication of JP2015045973A publication Critical patent/JP2015045973A/ja
Publication of JP2015045973A5 publication Critical patent/JP2015045973A5/ja
Application granted granted Critical
Publication of JP6271914B2 publication Critical patent/JP6271914B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、パーソナルコンピュータや携帯電話などに対して行う、文字入力の技術に関する。
パーソナルコンピュータや携帯電話などにおいてユーザが文字入力を行う場合、いくつかの文字が入力された段階でその後の入力される文字列を予測し、予測された文字列を入力候補(あるいは変換候補とも呼ぶ)として提示する技術がある。ユーザは、提示された入力候補が適切なものであればこれを選択する。これにより、必ずしも文章を構成する文字全てを入力する必要がなくなり、ユーザは効率良く文章の作成を行うことができる。
しかしながら、いくつかの文字が入力された段階で行われる予測では、既に入力された文字を含んでいるというだけの意味のない入力候補が予測されてしまうことがある。この場合、結果としてユーザの所望する入力候補が適切に提示されないという問題がある。この問題に対して、例えば、入力候補が過去に選択された頻度(採用頻度)に応じて並び替えて提示したり、入力候補として各種センサの検知結果を提示したりする方法がある。
また、この問題に対し、特許文献1に開示された文字入力装置では、入力候補の中にセンサに対応する所定の単語が存在する場合、対応するセンサのデータ(検知結果)を入力候補の一つとして表示する。例えば、入力候補の中に「場所」という単語が存在する場合、GPS(Global Positioning System)センサにより検知された現在位置の地名を表示する。
特開2007−193455号公報
しかしながら、特許文献1に開示された文字入力装置では、センサによる検知結果を入力候補として表示させるためには、センサ毎に予め割り当てられている所定の単語が、辞書データベースから検索された入力候補の中に含まれている必要がある。例えば、センサの検知結果に基づいて具体的な地名を入力候補として予測させる場合には、ユーザは本来入力したい地名ではなく、「場所」、「現在地」などの単語を入力する必要がある。そのため、ユーザに対して不自然な文字入力を強いてしまうことになる。
また、この例でいえば、GPSセンサの検知結果を用いるための入力が、「場所」、「現在地」などといった、センサの検知結果を利用するために入力すべき所定の単語を覚えておかなければならない、という課題が残る。
本発明はこのような問題を解決し、ユーザが文字入力を行う際の状況に適合した入力候補を提示することができる情報処理装置を提供することを、主たる目的とする。
本発明の情報処理装置は、入力された文字に基づいて文字列の予測変換を行う情報処理装置であって、少なくとも1つのセンサが検知する情報に基づいて、前記情報処理装置が存在する状況を示す状況情報を取得する取得手段と、複数の文字列を、その文字列が使用される状況を表す状況情報と関連付けて記憶させる記憶手段であって、前記状況情報には該状況を示す情報を検知するセンサの種別を一部に含む記憶手段と、ユーザにより入力された少なくとも1つの文字入力に基づいて予測変換を実行して少なくとも1つの文字列を変換候補として出力する出力手段と、前記予測変換により出力された少なくとも1つの文字列を変換候補として表示させる表示手段と、前記予測変換により変換候補として出力された前記少なくとも1つの文字列が前記記憶手段に記憶された文字列の少なくとも1つを含むか否かを判定する判定手段と、を備え、前記表示手段は、前記変換候補として出力された前記少なくとも1つの文字列が前記記憶された文字列の少なくとも1つを含むと前記判定手段で判定された場合は、変換候補として出力された前記少なくとも1つの文字列のうち、前記取得手段で取得された状況情報に類似する状況情報に関連付けられた文字列を優先して表示し、当該文字列を表示した後に前記情報処理装置が存在する状況の変化を前記センサが検知した場合、変化後の状況に適した文字列が前記記憶手段に登録されていれば、変化後の状況に適した文字列を変換候補として表示することを特徴とする。


本発明によれば、ユーザが文字入力を行う際の状況に適合した入力候補を提示することができる。
(a)は、情報処理装置のハードウェア構成の一例を示す図。(b)は、情報処理装置の機能構成の一例を示す図。 第1実施形態における情報処理装置の処理手順の一例を示すフローチャート。 第1実施形態における状況の類似度を判定する際の処理手順の一例を示すフローチャート。 第1実施形態における状況情報を含む辞書テーブルの一例を示す図。 表示部に表示される画面の一例を示す図。 入力された文字列をセンサの検知結果と関連付けて登録する際の処理手順の一例を示すフローチャート。 第2実施形態における状況情報を含む辞書テーブルの一例を示す図。 第3実施形態における情報処理装置の機能構成の一例を示す図。 ユーザの状況が変化した場合に、その変化に応じた入力候補を追加表示する際の処理手順の一例を示すフローチャート。 (a)、(b)は、入力候補を追加表示した画面の一例を示す図。 (a)、(b)は、修正候補を表示した画面の一例を示す図。
以下、図面を参照しながら実施形態を説明する。
[第1実施形態]
図1は、本実施形態に係る情報処理装置のハードウェア構成の一例(図1(a))と、情報処理装置の機能構成の一例(図1(b))を示す図である。
図1(a)に示す情報処理装置101は、センサ102、記憶装置103、入力部104、通信部105、表示部106、CPU(Central Processing Unit)107、プログラムメモリ108、メモリ109を含んで構成される。
センサ102は、例えば情報処理装置101の現在位置を検知するGPS(Global Positioning System)センサ、情報処理装置101に作用する加速度を検知する加速度センサ、気温を検知する温度センサなどの検知手段である。このように、センサ102は、情報処理装置101の状態を表す状況、つまり、文字を入力している際のユーザが存在する環境を示す各種情報を検知する。なお、情報処理装置101は、検知目的に応じて一又は複数のセンサを有するように構成することができる。
記憶装置103には、文字の入力を受け付ける入力部104を介してユーザが入力したいくつかの文字に基づいて予測される文字列を、入力候補(あるいは変換候補とも呼ぶ)としてユーザに提示するための情報が辞書として記憶されている。なお、入力候補となる文字列は1単語の場合も、複数の単語から構成される場合もある。例えば、ユーザが「のり」と入力した場合に、これに対応する入力候補として「乗ります」を予測するための対応関係の情報、さらに各単語が使用された頻度を記憶する。本実施形態では、辞書に登録されている単語の中には、当該単語が使用される状況を表す状況情報が関連付けられているものが含まれる。本実施形態において、記憶装置103は情報処理装置101に内蔵されているものとするが、各種ネットワークによって接続された外部装置であっても構わない。
辞書に登録される状況情報は、入力候補となる単語に関連付けられたセンサ102の種別、当該センサ102のセンサ値を含んだ情報からなる。具体的には、例えば辞書に登録された単語が特定の建物を表す場合には、センサの種別としてGPSセンサが関連付けられる。また、センサ値として、当該建物が存在する位置を表す緯度と経度が記録される。このように、状況情報により単語が使用される状況を表すことができる。そのため、文字を入力している際のユーザの状況に適合した単語を入力候補としてユーザに提示することができる。
入力部104は、ユーザによる文字入力を受け付ける入力受付手段である。また、入力部104は、入力された文字列に対応する入力候補として予測された単語の中から、当該文字列に対応させる単語の指定するための入力を受け付ける。本実施形態では、入力部104として、ユーザによるタッチ入力を検知可能なタッチパネルを用いる。タッチパネルは表示部106の画面と重畳しており、ユーザが画面に表示された表示画像をタッチしたことに応じて、タッチされた位置を示す信号を出力し、情報処理装置101に通知する。ただし、入力部104はマウスやデジタイザなどのポインティングデバイスや、ハードウェアキーボードであっても本発明を適応可能である。
通信部105は、情報処理装置101と、例えばインターネットなどの外部ネットワークとの相互通信を行う。具体的には、例えばネットワーク上に存在する各種辞書データベースにアクセスして必要な情報を受信したり、ユーザの入力内容を送信したりする。
表示部106は、例えば液晶ディスプレイなどであり、各種情報を画面に表示する。また、表示部106によって画面に表示される画像は、ユーザが入力した文字列を表示する領域(後述する表示エリア501:図5)、入力候補を表示する領域(後述する表示エリア502:図5)を含んで成る。本実施形態では、ユーザは表示部106に表示されたソフトウエアキーボードに対するタッチ入力により文字入力を行う。従って、画面に表示される画像には、文字入力のための各種キーによって構成されるソフトウエアキーボードを表示する領域(後述するキーパッド504:図5)を含んで成る。
CPU107は、情報処理装置101が有する各構成機器を制御する。プログラムメモリ108は、例えばROM(Read Only Memory)であり、CPU107により実行される各種プログラムが格納される。メモリ109は、例えばRAM(Random Access Memory)であり、CPU107によりプログラムが実行される際のワークエリアを提供し、処理に必要な各種データを一時的又は恒久的に保持する。
図1(b)に示す各機能部は、CPU107が、プログラムメモリ108に格納されたプログラムをメモリ109に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、上記CPU107を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
表示制御部110は、予測部114により予測された入力候補を表示部106の画面の表示するための表示画像を生成し、表示部106に出力することで、表示される内容の制御を行う。
登録部111は、ユーザが入力した文字列とセンサ102の検知結果に基づいて取得部115が取得する状況情報とを関連付けた新たな入力候補を記憶装置103に記憶された辞書に登録する。また、登録部111は、既に辞書に登録されている状況情報の内容を、センサ102の最新の検知結果に基づいて更新する。詳細は後述する。
判定部112は、辞書に登録された状況情報と、センサ102の検知結果に基づいて取得部115が取得する状況情報とを比較して類似度を取得し、2つの状況が類似するかを判定する。詳細は後述する。
受付部113は、入力部104から出力された信号が示す情報を受け付ける。本実施形態では特に、タッチパネルである入力部104から、ユーザがタッチした位置、あるいはタッチをやめた位置(リリース位置)を示す座標を取得し、当該タッチパネルに重畳する表示部106の画面に表示された画像内での位置として取得する。当該位置に、ユーザインタフェースを構成する部品が表示されている場合には、当該部品を指定する入力として受け付ける。例えば、ソフトウエアキーボードのキーが表示された位置におけるタッチ入力は、タッチされた位置に表示されたキーに対応する文字の文字入力として受け付けられる。
予測部114は、入力された文字と、辞書に登録された情報に基づいて、入力された文字によって構成される少なくとも1つの文字列を予測し、入力される文字列の候補とする。本実施形態では、受付部113が受け付けた入力情報と、過去に候補とされたときに入力文字列として採用された採用頻度、判定部112の判定結果とに基づき、状況に応じた候補を優先的に決定し、表示制御部11によって提示させる。例えばユーザの状況との類似度が高い入力候補から順番に画面に提示されるように制御する。詳細は後述する。
取得部115が、センサ102が検知した位置、加速度、方位、湿度、気圧などの情報を、情報処理装置101が存在する状況を表す状況情報として取得し、判定部112、登録部111に通知する。
図2は、情報処理装置101の処理手順の一例を示すフローチャートである。本実施形態では、アプリケーションの呼び出しに応じてソフトウエアキーボードが表示され、ユーザが文字入力可能となった段階で、図2のフローチャートが起動される。
CPU107の機能部としての予測部114は、受付部113が、ユーザがソフトウエアキーボードをタッチすることで行う文字入力の受け付けたのを契機に、記憶装置103に記憶された辞書の登録情報に基づき、入力された文字列に対応する単語を予測する。そして、予測された単語を入力候補として特定し保持する(S201)。
CPU107の機能部としての判定部112は、入力候補が特定できたか否かを判定する(S202)。特定できなかったと判定した場合(S202:No)、ユーザの入力した文字列を画面に表示(S203)し、ユーザによる次の文字入力を待つ(S210)。また、特定できたと判定した場合(S202:Yes)、ステップS201の処理で保持した入力候補の中に、辞書において状況情報(例えばGPS情報)と関連付けられた入力候補があるか否かを判定する(S204)。
CPU107の機能部としての判定部112は、状況情報に関連付けられている入力候補があると判定した場合(S204:Yes)、特定した入力候補の状況情報に示されたセンサに対応するセンサ102を情報処理装置101が有するか否かを判定する(S205)。例えば、センサ102が状況情報に示されたGPSセンサ、温度センサなどであるかを判定する。状況情報に示されたセンサを有しない場合(S204:No)、ステップS204の処理へ進む。
また、状況情報に示されたセンサを有する場合(S204:Yes)、CPU107の機能部である取得部115が状況情報として取得する。そして、CPU107の機能部である判定部112は、取得部115が取得した当該センサの検知結果に基づいて、現在の状況と入力候補に関連付けられた状況が類似するかを判定する(S206)。
ここで、状況が類似するとは、入力候補の状況情報が示す状況(例えば、緯度と経度)と、センサの検知結果(例えば、GPSセンサの検知結果である緯度と経度)が示す状況とが類似する度合い(類似度)が大きいことである。類似するか類似しないかの判定は、センサ種別毎に設定された閾値と類似度の大きさの比較により行うことができる。なお、閾値は、例えばプログラムメモリ108に予め記憶される。
なお、入力候補が複数の状況情報と関連付けられている場合には、それぞれの状況情報に基づいて繰り返し判定する。また、類似度の大きさの判定においては、入力候補に関連付けられている状況情報に示されたセンサ値と、センサ102の検知結果とが一致する場合に同じ状況であると判定するように構成することもできる。
また、ユーザに提示された入力候補の採用頻度に応じて、同じ状況である(状況が類似する)と判定するか否かを学習できるように構成することもできる。また、複数の入力候補それぞれが同じセンサに対応している場合には、当該センサにより検知された状況に最も類似する状況情報と関連付けられている入力候補を、同じ状況であると判定するようにしても良い。
以下、類似度に基づいて同じ状況である(状況が類似する)か否かを判定し、判定結果に応じて、入力された文字列に対応する一又は複数の単語を入力候補として画面に表示する場合を例に挙げて説明する。
CPU107の機能部としての判定部112は、ステップS206の処理の判定結果に基づいて、同じ状況を示す入力候補があるか否かを判定する(S207)。入力候補があると判定した場合(S207:Yes)、CPU107の機能部としての表示制御部110は、当該入力候補を他の入力候補と比べて優先して表示するような表示画像を生成し、表示部106に出力する(S209)。また、そうでない場合(S207:No)、状況情報に関連付けられている入力候補は表示しないような表示画像を生成し、表示部106に出力する(S208)。これは、現在の状況(入力候補が決定されたときの状況)と入力候補に関連付けられた状況との類似度が低いため類似しないと判定された入力候補を表示しないことにより、例えば画面への表示の効率化を図り、ユーザの視認性を確保するためである。なお、非表示ではなく、優先度の低い下位候補として表示するなど、判定部112によって求められる類似度に応じた順番で画面に表示されるように制御しても良い。
その後、CPU107の機能部である受付部113は、ユーザによる次の文字入力を待ち(S210)、次の文字入力があった場合(S210:Yes)、ステップS201の処理へ戻る。また、例えば図示しないタイマにより所定の時間が経過してもユーザによる次の文字入力がなかった場合など、文字入力が終了したと判定された場合(S210:No)、一連の処理を終了する。
図3は、図2に示すステップS206の処理(2つの状況が類似するかの判定)の具体的な処理手順の一例を示すフローチャートである。
CPU107の機能部としての判定部112は、入力候補の状況情報に示されたセンサの検知結果を取得する(S301)。その後、センサに対応する閾値を取得する(S302)。閾値は、例えばGPSセンサにおいては測定誤差として許容される距離、温度センサにおいては測定誤差として許容される温度範囲などに基づくものである。また、ユーザに提示された入力候補の採用頻度に応じて許容される誤差量を学習させて、その学習結果を閾値とするように構成しても良い。なお、閾値は、判定部112が保持するようにしても良いし、記憶装置103に記憶されているように構成しても良い。
CPU107の機能部としての判定部112は、S204の処理において特定した入力候補の数を取得する(S303)。取得した入力候補の数を、入力候補数Nとして保持する(S304)。以下、ステップS305からステップS310までの各処理は、特定した入力候補を1番目からN番目として、順番にそれぞれに対して行う処理である。
CPU107の機能部としての判定部112は、特定した入力候補の状況情報のセンサ値と、ステップ103の処理で取得した検知結果との差分を算出する(S305)。そして、算出した差分がステップS302の処理で取得した閾値以下であるか否かを判定する(S306)。閾値以下であると判定した場合(S306:Yes)、現在の入力候補は同じ状況である(状況が類似する)と判定し、判定結果を保持する(S307)。また、そうでない場合(S306:No)、現在の入力候補は同じ状況ではない(状況が類似しない)と判定し、判定結果を保持する(S308)。なお、現在の入力候補は同じ状況ではないと判定した場合には、判定結果を保持しないようにしても良い。
CPU107の機能部としての判定部112は、入力候補数Nをデクリメント(N−1)する(S309)。その後、入力候補数NがN=0であるか否かを判定する(S310)。入力候補数NがN=0でない場合(S310:No)、ステップS305の処理へ戻る。入力候補数NがN=0である場合(S310:Yes)、ステップS311の処理へ進む。
CPU107の機能部としての判定部112は、ステップS307の処理で保持した判定結果に基づいて、状況の類似度に基づいて2つの状況が類似するかを判定した結果を伝達する(S311)。このようにして、一連の処理が終了する。
なお、状況情報のセンサ値は、複数の種別の異なるセンサのセンサ値を組み合わせて登録したり、同一のセンサの異なるセンサ値を組み合わせたりすることもできる。この場合の処理手順を、図2(ステップ201からステップ210までの各処理)及び図3(ステップS301からステップS311までの各処理)に示すフローチャートを用いて説明する。
図2に示すステップS204の処理において、例えば複数のセンサ値を組み合わせて構成された状況情報に関連付けられている入力候補があると判定されたとする。この場合、ステップS205の処理では、状況情報に示された全てのセンサを有するか否かが判定される。その後、ステップS206の処理において、状況情報に示されたセンサに対応するセンサ102の検知結果を順次取得する。あるいは、状況情報に示されたセンサの中から、情報処理装置101が有しているセンサ102のみの検知結果を取得し、同じ状況であるか否かの判定を行うように制御しても良い。
図3に示すステップS301の処理において、各センサの検知結果を取得する。ステップS302の処理では、センサ種別毎の閾値、あるいは、センサ値の組み合わせに対応した閾値を取得する。
前者の場合には、全てが閾値以内となるか否か、又は、一つでも閾値以内となるか否かなど予め定めた基準に基づいて同じ状況であるか否かを判定する。例えば、状況情報のセンサ種別として、GPSセンサと気圧センサが記録されているとする。この場合、GPSセンサの検知結果である位置情報と、気圧センサの検知結果である気圧情報のそれぞれが閾値以内であるか否かにより、同じ状況であるか否かを判定する。
これにより、例えば、位置情報が同じ状況であると判定された場合であっても、気圧の違いが高さの違いを示すことを利用して、ユーザが建物の1階にいるのか、又は、最上階にいるのかなどにより、ユーザの状況に適した入力候補を提示することが可能になる。
一方で、後者の場合では、センサ値の組み合わせから決まる状況情報の内容と、それに対応するセンサ102の検知結果との差分が閾値以内であるか否かにより、同じ状況であるか(状況が類似するか)否かを判定する。
例えば、状況情報のセンサ種別が、GPSセンサ、加速度センサ、地磁気センサであり、それぞれのセンサ値を組み合わせて記録されているとする。なお、状況情報のセンサ値である加速度情報は、例えばユーザが電車で移動している状況における加速度の推移、徒歩で移動している状況における加速度の推移を表しているものとする。この場合には、センサ102である加速度センサにより検知された加速度の推移との類似度を用いて、ユーザの移動の状況(例えば、電車で移動、歩いて移動など)が類似するかを判定することができる。また、加速度センサと地磁気センサの検知結果を用いて、ユーザが移動している方向を表す方位を推定することができる。
この様な場合において、状況が類似するかを類似度に基づいて判定する場合は、例えば、初めに加速度の推移からユーザが電車で移動している状況か、あるいは、徒歩で移動している状況かを区別する。このようにして、判定対象とする単語を絞り込む。次に、電車で移動している状況であれば、センサ102であるGPSセンサの検知結果に基づいて移動中の電車の沿線を特定する。さらに、センサ102である加速度センサと地磁気センサそれぞれの検知結果から移動方向を推定する。このように類似度に基づく判定処理を制御することにより、ユーザの状況により適合した入力候補を提示することができる。
なお、一部のセンサ102の検知結果に基づく類似度が高い、すなわち状況が類似していると判定された場合であっても、種別の異なる他のセンサ102の検知結果に基づく類似度は低いと判定される場合がある。そのため、それぞれの類似度を総合的に判定する必要がある。このように、複数の種別の異なるセンサ102の検知結果に基づいて状況の類似度を判定する場合、重視するセンサの種別、状況情報のセンサ値の重みづけなどを予め規定しておく。この規定された重みづけを加味して、類似度に基づく判定を行う。
ステップS303とステップS304の各処理では、センサ種別が一つである場合と同様の処理が行われる。ステップS305の処理では、状況情報のセンサ値の組み合わせに応じて、それぞれの差分が算出される。ステップ306の処理以降の各処理においても、センサ種別が一つである場合と同様の処理が行われる。このようにして、状況情報が複数のセンサ値を組み合わせて構成されている場合であっても、類似度に基づく判定を行うことができる。
図4は、記憶装置103に記憶されている辞書情報のうち、単語に関連付けられた状況情報を含む辞書テーブルの一例を示す図である。図4(a)、(b)、(c)に示す辞書テーブルは、モデル番号、入力文字数と構成文字、状況情報、入力候補、採用頻度の各項目を有する。
図4(a)に示す辞書テーブルには、モデル1及びモデル2において、入力文字数が1であれば「し」、入力文字数が2であれば「しも」、入力文字数が3であれば「しもま」という構成文字がそれぞれ対応する。ユーザから入力された文字列が「し」、「しも」、「しもま」などの構成文字に前方一致する場合には、それに対応する入力候補の単語(例えば、下丸子駅など)が提示される。図4(a)に示す入力候補は、「下丸子駅」、「下丸子図書館」という単語であり、それぞれが状況情報と関連付けられている。入力候補「下丸子駅」の状況情報は、センサ種別が「GPS(センサ)」であり、センサ値の緯度が「35.5713」、経度が「139.6856」である。また、入力候補「下丸子図書館」の状況情報は、センサ種別が「GPS(センサ)」であり、センサ値の緯度が「35.5669」、経度が「139.6819」である。
なお、状況情報に記録されたセンサ値(緯度と経度)は、測定誤差を踏まえて複数回測定した結果の平均値である。また、センサ値の平均値のみならず、センサ値の最小値及び最大値により表される範囲としても良い。
また、入力候補「下丸子駅」の採用頻度は「10」回であり、入力候補「下丸子図書館」の採用頻度は「4」回である。この採用頻度に基づき、例えば「し」、「しも」、「しもま」の文字を含んで構成される単語の入力候補が複数存在する場合には、採用頻度の高い順番に並び替えて画面に表示することができる。この他、入力候補の単語が最後に使用(採用)された日付、時間に基づいて表示する順番を並び替えたり、採用頻度と組み合わせて表示する順番を並び替えても良い。
いずれにしても、従来では、「しもま」というユーザの文字入力に対して、「下丸子駅」と「下丸子図書館」の入力候補がある場合には、採用頻度の高い一方を優先的に表示したり、最後に使用された一方を優先的に表示していた。例えば、図4(a)に示す採用頻度であれば、入力候補「下丸子駅」が第一候補として表示されることになる。
これに対して、情報処理装置101では、入力候補として提示した単語の採用頻度が低い場合、あるいは最近使用されていない場合であっても、例えばGPSセンサの検知結果に基づいて、ユーザの状況に適合した入力候補を優先表示することができる。つまり、例えば、ユーザの状況を表す現在位置が下丸子駅付近であれば、「しもま」の文字入力に対して入力候補「下丸子駅」が優先表示される。また、図書館付近であれば入力候補「下丸子図書館」が優先表示される。以下、このように処理するための処理手順について、図2及び図3に示すフローチャートを用いて詳細に説明する。
ここでは、ユーザが下丸子駅付近において「し」を文字入力したとする。また、情報処理装置101が有するセンサ102は、GPSセンサであるとする。
図2に示すステップS201の処理において、文字入力「し」に対応する入力候補が記憶装置103の辞書から取得される。文字入力「し」に対しては、例えば「します」、「して」、「時」、「時間」、「しまいました」など複数の入力候補が取得されたとする。例えば、表示部106のサイズによっては、表示できる入力候補の数が制限される場合がある。その場合には、例えば表示できる入力候補の数に応じて、採用頻度の高い上位候補のみを取得するように制御する。また、表示できる入力候補の数にかかわらず、できる限り多くの入力候補が取得されるように制御することもできる。
ステップ202の処理では、複数の入力候補を取得したと判定される。次に、ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。例えば、取得された入力候補「します」、「して」、「時」、「時間」、「しまいました」の中には、状況情報に関連付けられているものはないとする。この場合には、ステップS210の処理においてユーザによる次の文字入力を待つことになる。
次に、ユーザから「も」が文字入力されたことを契機に、再びステップS201の処理において「しも」に対応する入力候補が記憶装置103の辞書から取得される。あるいは、前回の処理において、できる限り多くの入力候補が取得されている場合には、その中から改めて取得されるように制御しても良い。その後、ステップS202からステップS204の処理が行われる。ここでも、取得された入力候補の中で、状況情報に関連付けられているものはないとする。
次に、ユーザから「ま」が文字入力されたことを契機に、再びステップS201の処理において「しもま」に対応する入力候補が記憶装置103の辞書から取得される。文字入力「しもま」に対しては、入力候補として「しもま」、「シモマ」、「下丸子」、「下丸子図書館」、「下丸子駅」が取得されたとする。
ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。図4(a)に示すように、入力候補「下丸子図書館」、「下丸子駅」は状況情報と関連付けられている。そのため、ステップS205の処理へ進む。ステップS205の処理において、情報処理装置101がGPSセンサを有していると判定される。その後、ステップS206の処理へ進み、状況の類似度が判定される。
本実施形態においては、同じ状況であるか否かを判定するために、図3に示すステップS301の処理において、GPSセンサの検知結果が取得される。ここでは、下丸子駅付近におけるGPSセンサの検知結果が、緯度「35.5712」、経度「139.6861」であったとする。
ステップS302の処理において、GPSセンサに対応する閾値が取得される。ここでは、閾値は500[m]であるとする。
ステップS303の処理において、入力候補「下丸子図書館」、「下丸子駅」の2つが特定される。そのため、ステップS304の処理で入力候補数Nは、N=2として保持される。
ステップS305の処理において、入力候補N=2番目の「下丸子図書館」のセンサ値である緯度(35.5669)及び経度(139.6819)と、GPSセンサの検知結果である緯度(35.5712)及び経度(139.6861)との差分が算出される。
ここでは、説明の便宜上、地球の円周上の2点間の距離として扱い、緯度及び経度それぞれにおける距離の差分を二乗和の平方根により算出する。まず、円弧の長さを求めるために、緯度差(「35.5712」と「35.5669」の差分)のラジアン(0.0000750492)と、経度差(「139.6861」と「139.6819」の差分)のラジアン(0.0000733038)を算出する。次に、求めた緯度差のラジアンと地球の半径距離とに基づいて、南北の距離(0.119129[km])と、緯度と求めた経度差のラジアンと地球の半径から東西の距離(0.3803158[km])を算出する。その後、二乗和の平方根を算出することにより2点間の距離0.611366[km]が得られる。よって、距離の差分は611[m]となる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値が500[m]に対して差分は611[m]であり、当該閾値を超えた差分であることから、同じ状況ではないと判定される。その後、ステップS309の処理へ進み、入力候補数N=2がデクリメントされ、N=1となる。
ステップS310の処理において、入力候補数NがN=1であることから、ステップS305の処理に戻り、次の入力候補における差分が算出される。
ステップS305の処理において、入力候補N=1番目の「下丸子駅」のセンサ値である緯度(35.5713)及び経度(139.6856)と、GPSセンサの現在の検知結果である緯度(35.5712)及び経度(139.6861)の差分が算出される。その結果、2点間の距離0.004662[km]となり、差分46[m]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値500[m]に対して差分46[m]であることから、同じ状況であると判定され、判定結果が保持される。その後、ステップS309の処理へ進み、入力候補数N=1がデクリメントされてN=0となり、ステップS311の処理へ進む。ステップS311の処理において、入力候補「下丸子駅」は同じ状況であり、入力候補「下丸子図書館」は同じ状況ではないという判定結果が出力される。
図2に示すステップS206の処理に戻り、次のステップS207の処理において同じ状況を示す入力候補があると判定され、ステップS209の処理において入力候補「下丸子駅」が優先表示される。その後、ステップS210の処理においてユーザによる次の文字入力を待つことになる。
なお、単純に緯度と経度それぞれの差分に基づいて閾値以内であるか否かを判定しても良い。また、2点間の距離の算出方法として、地球の丸みを考慮した孤を求める計算式を用いたり、地球が球体でなく楕円体であることまでを考慮した距離の計算式を用いたりすることもできる。このように、2点間の距離を算出することができる様々な計算方法から任意に選択して利用することができる。計算処理に必要な各種情報は、例えばプログラムメモリ108に予め記憶しておいたり、判定部112で保持したりすることができる。さらに、計算処理をネットワーク上で行ったり、計算処理に必要な各種情報を更新したりすることができる。また、計算処理毎にセンサの検知結果が取得されるように制御したり、種別の異なるセンサに関する計算処理が同時に行われるように制御したりすることもできる。
また、入力候補の表示は、採用頻度に関わらず状況情報と関連付けられている入力候補のみを表示したり、採用頻度の高い入力候補は別画面に表示したり、それぞれに重みづけを付与してその総和に基づいて表示したりしても良い。
図4に戻り、図4(b)に示す辞書テーブルのモデル1は、入力文字数が1であれば「あ」、入力文字数が2であれば「あつ」、入力文字数が3であれば「あつい」という構成文字がそれぞれ対応する。図4(b)に示す辞書テーブルのモデル2は、入力文字数が1であれば「あ」、入力文字数が2であれば「あた」、入力文字数が3であれば「あたた」という構成文字がそれぞれ対応する。
図4(b)に示す入力候補は、「暑い」、「暖かい」という単語であり、それぞれが状況情報と関連付けられている。入力候補「暑い」の状況情報は、センサ種別が「温度(センサ)」であり、センサ値が「30.00[度]」である。また、入力候補「暖かい」の状況情報は、センサ種別が「温度」であり、センサ値が「24.00[度]」である。入力候補「暑い」の採用頻度は「10」回であり、入力候補「暖かい」の採用頻度は「4」回である。
例えば、ユーザが「あ」を文字入力したとする。また、情報処理装置101が有するセンサ102は、温度センサであるとする。この場合、文字入力「あ」に対応して、温度センサの検知結果が30度付近であれば「暑い」が入力候補として優先的に提示される。また、検知結果が温度24度付近であれば「暖かい」が入力候補として優先的に提示される。以下、このように処理するための処理手順について、図2及び図3に示すフローチャートを用いて説明する。
ここでは、ユーザが気温(温度)32度の状況下で「あ」を文字入力したとする。
図2に示すステップS201の処理において、入力文字「あ」に対応する入力候補が記憶装置103の辞書から取得される。入力文字「あ」に対しては、例えば「あった」、「あした」、「ある」、「暑い」、「暖かい」などが上位候補として取得されたとする。
ステップS202の処理では、複数の入力候補を取得したと判定される。次に、ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。図4(b)に示すように、入力候補「暑い」、「暖かい」は状況情報と関連付けられている。そのため、ステップS205の処理へ進む。ステップS205の処理において、情報処理装置101が温度センサを有していると判定される。その後、ステップS206の処理へ進み、状況の類似度が判定される。
本実施形態においては、同じ状況であるか否かを判定するために、図3に示すステップS301の処理において、温度センサの検知結果が取得される。ここでは、温度センサの検知結果は、温度32.00[度]であるとする。
ステップS302の処理において、温度センサに対応する閾値が取得される。ここでは、閾値は3[度]であるとする。
ステップS303の処理において、入力候補「暑い」、「暖かい」の2つが特定される。そのため、ステップS304の処理で入力候補数Nは、N=2として保持される。
ステップS305の処理において、入力候補N=2番目の「暖かい」のセンサ値である温度(24.00)と、ステップS301の処理で取得された温度センサの現在の検知結果である温度(32.00)との差分が算出される。その結果、差分9[度]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値3[度]に対して差分9[度]であることから、同じ状況ではないと判定される。その後、ステップS309の処理へ進み、入力候補数N=2がデクリメントされ、N=1となる。
ステップS310の処理において、入力候補数NがN=1であることから、ステップS305の処理に戻り、次の入力候補における差分が算出される。
ステップS305の処理において、入力候補N=1番目の「暑い」のセンサ値である温度(30.00)と、ステップS301の処理で取得された温度センサの現在の検知結果である温度(32.00)との差分が算出される。その結果、差分2[度]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値3[度]に対して差分2[度]であることから、同じ状況であると判定され、判定結果が保持される。その後、ステップS309の処理へ進み、入力候補数N=1がデクリメントされてN=0となり、ステップS311の処理へ進む。ステップS311の処理においては、入力候補「暑い」は同じ状況であり、入力候補「暖かい」は同じ状況ではないという判定結果が出力される。
図2に示すステップS206の処理に戻り、次のステップS207の処理において同じ状況を示す入力候補があると判定され、ステップS209の処理において入力候補「暑い」が優先表示される。その後、ステップS210の処理においてユーザによる次の文字入力を待つことになる。
また、図4(c)に示す辞書テーブルのモデル1及びモデル2は、入力文字数が1であれば「の」、入力文字数が2であれば「のり」、入力文字数が3であれば「のりま」という構成文字がそれぞれ対応する。
図4(c)に示す入力候補は、「乗りました」、「乗ります」という単語であり、それぞれが状況情報と関連付けられている。入力候補「乗りました」の状況情報は、センサ種別が「加速度」であり、センサ値が「移動」である。また、入力候補「乗ります」の状況情報は、センサ種別が「加速度」であり、センサ値が「停止」である。入力候補「乗りました」の採用頻度は「10」回であり、入力候補「乗ります」の採用頻度は「2」回である。
図4(c)に示すセンサ値は、加速度センサの検知結果よりユーザの状況を推定した結果であり、モデル1のセンサ値では「移動」、モデル2のセンサ値では「停止」が格納されている。具体的には、例えば所定時間(例えば、1秒)の加速度センサの検知結果に基づいて分散値を算出し、算出した分散値の大小に応じて「停止」又は「移動」を判定することができる。また、センサ102である加速度センサにより検知された加速度の推移に応じて、ユーザが例えば「徒歩で移動している状況」、あるいは「走って移動している状況」であるかの判定を行うこともできる。
なお、検知結果が加速度である場合と同様に、検知結果が速度である場合、あるいは変位量である場合には、ユーザの状況を表すセンサ値として変換した後に状況情報に記録する。
例えば、ユーザが「のり」を文字入力したとする。また、情報処理装置101が有するセンサ102は、加速度センサであるとする。この場合、ユーザが移動している状況であれば、「のり」の文字入力に対して入力候補「乗りました」が優先表示され、ユーザが停止している状況であれば、入力候補「乗ります」が優先表示される。以下、このように処理するための処理手順について、図2及び図3に示すフローチャートを用いて説明する。
ここでは、ユーザが移動している状況下で「のり」を文字入力したとする。
図2に示すステップ201の処理において、文字入力「のり」に対応する入力候補が記憶装置103の辞書から取得される。文字入力「のり」に対しては、例えば「乗り換え」、「載り」、「海苔」、「乗り」、「乗ります」、「乗りました」などが上位候補として取得されたとする。
ステップ202の処理では、複数の入力候補を取得したと判定される。次に、ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。図4(c)に示すように、入力候補「乗りました」、「乗ります」は状況情報と関連付けられている。そのため、ステップS205の処理へ進む。ステップS205の処理において、情報処理装置101が加速度センサを有していると判定される。その後、ステップS206の処理へ進み、状況の類似度が判定される。
本実施形態においては、同じ状況であるか否かを判定するために、図3に示すステップS301の処理において、直近1秒間分の加速度センサの検知結果が取得される。ここでは、ユーザは移動中であることから、検知結果に基づいて「移動」と推定される。
ステップS302の処理において、加速度センサに対応する閾値が取得される。ここでは、閾値が「0」であるとする。これは、加速度センサの検知結果に基づいてユーザの状況を推定し、推定された状況が同じ状況であるか否かを判定するためである。
ステップS303の処理において、入力候補「乗りました」、「乗ります」の2つが特定される。そのため、ステップS304の処理で入力候補数Nは、N=2として保持される。
ステップS306の処理において、入力候補N=2番目の「乗ります」のセンサ値である「停止」と、ステップS301の処理で取得された検知結果から推定された「移動」とが比較される。その結果、同じ状況ではないと判定される。その後、ステップS309の処理へ進み、入力候補数N=2がデクリメントされ、N=1となる。
ステップS310の処理において、入力候補数NがN=1であることから、ステップS305の処理に戻り、次の入力候補との比較が行われる。
ステップS306の処理において、入力候補N=1番目の「乗りました」のセンサ値である「移動」と、ステップS301の処理で取得された検知結果から推定された「移動」とが比較される。その結果、同じ状況であると判定され、判定結果が保持される。その後、ステップS309の処理へ進み、入力候補数N=1がデクリメントされてN=0となり、ステップS311の処理へ進む。ステップS311の処理においては、入力候補「乗りました」は同じ状況であり、入力候補「乗ります」は同じ状況ではないという判定結果が出力される。
図2に示すステップS206の処理に戻り、次のステップS207の処理において同じ状況を示す入力候補があると判定され、ステップS209の処理において入力候補「乗りました」が優先表示される。その後、ステップS210の処理において次の文字入力を待つことになる。
図5は、表示部106に表示される画面の一例を示す図である。なお、図5に示す情報処理装置101では、メールアプリケーションが起動されており、ユーザがメール作成のために文字入力を行っているものとする。
図5に示す画面500は、ユーザが入力した文字が表示される表示エリア501、入力候補が表示される表示エリア502、入力装置の一例であるキーパッド504が表示されるエリアを含んで構成される。また、画面500には、ユーザが作成したメールの保存を指示する保存ボタン503a、作成したメールの送信を指示する送信ボタン503bが配置される。
表示エリア501では、カーソル505が示す入力位置までユーザが入力した文字の中で、「今、電車に」の部分が入力確定済みであり、続く「のり」の部分は入力未確定の状態、つまり、入力候補の選択待ちの状態であることを表している。
表示エリア502では、ユーザが「のり」を文字入力したことを契機に、「乗り換え」、「載り」、「海苔」、「乗り」、「ノリ」、「糊」という入力候補とともに、「乗ります」という入力候補が優先して表示されている。なお、優先して表示するとは、例えば入力候補を選択するための選択カーソル(不図示)が初めに画面500に表示される位置に表示することなどである。具体的には、例えば表示エリア502において、図正面から見て左上位置に優先して表示する入力候補を表示することである。
図4(c)に示す辞書テーブルでは、入力文字「のり」に対して、状況情報が関連づけられている入力候補「乗ります」、「乗りました」が登録されている。そのため、ユーザが「のり」を文字入力した際に、センサ102である加速度センサの検知結果が取得され、取得した検知結果に基づいてユーザの状況が推定される。推定された状況が「停止」であれば、図5に示すように、入力候補「乗ります」が他の入力候補(「乗り」、「海苔」、「ノリ」、「載り」)よりも優先して表示される。具体的には、例えば、ユーザが電車の到着を待っている状況においてメールを作成している場合である。
なお、ユーザが既に電車に乗って移動している状況であれば、「移動」と推定されるため、入力候補「乗りました」が他の入力候補よりも優先して表示される。
ここで、登録部111による記憶装置103に記憶されている辞書情報への各種情報の登録について説明する。入力候補としての単語、並びに、入力候補に関連付けられた状況情報の登録は、ユーザが事前に登録する他に、所定の単語が入力されたタイミングにおいて自動的に登録することもできる。
具体的には、予めセンサ種別毎に対応付けされた単語を保持しておき、登録部111がこれらの単語とユーザから入力された文字列(単語)とを比較することにより、当該文字列が状況情報と関連付けて登録できるものであるか否かを判定する。以下、この点について詳細に説明する。
図6は、入力された文字列をセンサの検知結果と関連付けて登録する際の処理手順の一例を示すフローチャートである。なお、センサ種別毎に対応付けされた単語は、予め図示しないDB(データベース)に参照可能な状態で格納されているものとする。
CPU107の機能部である登録部111は、ユーザによる文字入力の受け付けを契機に、図示しないDBを参照することにより、受け付けた文字列がセンサ種別毎に対応付けされた単語であるか否かを判定する(S601)。受け付けた文字列がセンサ種別毎に対応付けされた単語である場合(S601:Yes)、既に記憶装置103に記憶された辞書情報に登録されている単語であるか否かを判定する(S602)。また、そうでない場合(S601:No)、ユーザによる次の文字入力を待つ(S605)。
CPU107の機能部である登録部111は、辞書に登録されていないと判定した場合(S602:No)、入力された文字列を入力候補として、生成した状況情報と関連付けて記憶装置103に記憶されている辞書に登録する(S603)。この場合の状況情報は、単語に関連付けされているセンサ種別を状況情報のセンサ種別とし、文字入力の受け付けた際のセンサ102の検知結果を状況情報のセンサ値とし、採用頻度を「1」として生成される。
また、既に辞書に登録されていると判定した場合(S602:Yes)、受け付けた文字列に対応する入力候補の状況情報のセンサ値を、文字入力の受け付けた際のセンサ102の検知結果により更新する。さらに、状況情報の採用頻度の値を1だけインクリメントする(S604)。センサ値の更新は、検知結果を単に上書きすることでも良いし、既に登録されているセンサ値とは別に、今回の検知結果を新たなセンサ値として追加登録するようにしても良い。また、既に登録されているセンサ値も含めた平均値を算出し、算出結果を登録することもできる。あるいは、先述したように、最小値と最大値のみを更新していく方法であっても良い。なお、追加登録する場合においては、使用日時や登録順番に基づいて、順次古いものから破棄されるように制御することが望ましい。これにより、辞書が占める記憶装置103の記憶容量を低減化することができる。
CPU107は、次の文字入力を待ち(S605)、ユーザによる次の文字入力があった場合(S605:Yes)、ステップS601の処理へ戻る。また、文字入力が終了したと判定された場合(S605:No)、一連の処理を終了する。このように、ユーザの手を煩わせることなく、自動的に新たな入力候補を記憶装置103の辞書に登録することができる。
なお、受け付けた文字列がセンサ種別毎に対応付けされた単語である場合には、既に辞書に登録済みであっても、当該文字列に対応する入力候補の採用頻度の値を1だけインクリメントする。これにより、ユーザによる入力頻度に応じて、上位候補が決定されるように制御することができる。また、状況情報のセンサ値を、常に文字入力された時点におけるセンサの検知結果で更新することに替えて、閾値を決定して、この閾値に基づいて更新するか否かが判定されるように制御することもできる。この他、入力候補に適したセンサ値を予めDBに格納しておき、必要に応じて取得することができるようにしても良い。なお、受け付けた文字列を入力候補として状況情報と関連付けて記憶装置103の辞書に登録する際に、閾値も登録することができるようにしても良い。
また、前述した辞書登録の方法のほか、受け付けた文字列がセンサ種別毎に対応付けされた単語である場合、当該単語を入力候補として辞書に登録するか否かをユーザが決定できるように構成することもできる。その他、辞書登録用のアプリケーションソフトウエアを実行することにより、随時、ユーザが辞書登録できるようにしても良い。なお、辞書に登録されている力候補の削除は、辞書登録と同様にして行うことができる。
また、辞書は、一人のユーザのみが利用できる形態で構成しても良いし、複数のユーザにより共有して利用できる形態で構成しても良い。また、図1に示すように、情報処理装置101の内部に設置された記憶装置103に辞書を記憶する形態のほか、情報処理装置101の通信機能(通信部105)によりネットワーク上に存在する辞書を利用することができるように構成することもできる。その場合には、辞書とともにネットワーク上に設けられた予測部114によって決定された入力候補を、情報処理装置100が取得して利用する構成とすることで、通信及び予測処理にかかる負荷を低減することができる。
また、受け付けた文字列がセンサ種別毎に対応付けされた単語である場合には、当該文字列が現在の事柄に関するものであるか、又は、過去の事柄に関するものであるかを判定できるように構成しても良い。この場合、現在の事柄であると判定された場合に、検知結果によりセンサ値を最新の情報に更新する。そのため、DBに格納される単語には、現在の事柄、あるいは過去の事柄であることを示す識別子を付与する。
一方、過去の作成された文章を引用したり、あるいは編集途中であった文章の編集を再開したりする場合にも適用することができる。例えば、文章内の文字列に状況情報が関連付けられている場合には、これに対応するセンサ102の現時点の検知結果と、状況情報に記録されているセンサ値とから、文字列を変更する必要があるか否かを判定する。変更が必要であると判定された場合には、今の状況に適合した入力候補を優先して表示する。
このように、本実施形態の情報処理装置101によれば、ユーザが文字入力を行う際の状況に適合した入力候補を優先して提示することができる。これにより、ユーザは、例えばメール文書の作成、検索文字列の入力などを効率良く行うことができる。
[第2実施形態]
本実施形態では、入力確定済みの文字列に後続する単語を予測し、入力候補として提示することができる情報処理装置について説明する。なお、第1実施形態で既に説明した部分と重複する部分は、同じ符号を付すとともに、その説明を省略する。
入力確定済の文字列に後続する単語を予測する既知の手法の一つとして、N−gram(Nグラム法、あるいはN文字インデックス法などとも呼ばれる)と呼ばれる方法がある。N−gramでは、1つの単語、あるいは複数の単語の組み合わせから後続する入力を予測するものであり、Nから1を引いた個数の単語から、N番目に登場する単語を確率計算により算出する。その他にも、後続する単語を予測する手法はいくつか存在する。
これらの手法を用いることにより、入力候補を提示する上で入力未確定の状態を必要とせず、直前に入力された入力確定済みの内容(単語)に基づいて、後続する単語を予測し、入力候補としてユーザに提示することが可能になる。
さらに、入力候補に関連付けられている状況情報により、ユーザが文字入力を行う際の状況に適合した入力候補のみを提示することができる。そのため、ユーザの文字入力の負担が低減されるとともの、利便性も向上することになる。
なお、本実施形態の情報処理装置においては、CPU107の制御に基づき辞書において、入力確定済みの単語から入力候補の予測が行われるものとする。また、登録部111において、単語の組み合わせと、これに関連付けられる状況情報のセンサ値などを登録するものとする。
図7は、本実施形態における状況情報を含む辞書テーブルの一例を示す図である。図7(a)、(b)、(c)に示す辞書テーブルは、構成モデル、付加センサ情報、採用頻度の各項目を有する。
図7(a)に示す辞書テーブルには、構成モデル1が「これから」、「下丸子」、「で」、「電車」という単語の組み合わせとして、構成モデル2が「これから」、「下丸子」、「で」、「会議」という単語の組み合わせとして登録されている。また、それぞれの構成モデルでは、状況情報である付加センサ情報、採用頻度も関連付けられて登録されている。
構成モデル1では、センサ種別が「GPS(センサ)」であり、センサ値の緯度が「35.5713」、経度が「139.6856」である。構成モデル2では、センサ種別が「GPS(センサ)」であり、センサ値の緯度が「35.5669」、経度が「139.6819」である。また、構成モデル1の採用頻度は「7」回、構成モデル2の採用頻度は「3」回である。
例えば、ユーザが入力した文字列「これから下丸子で」が入力確定した際のGPSセンサの検知結果に応じて、入力候補「電車」が提示されたり、入力候補「会議」が提示されたりする。そのため、採用頻度に依存することなく、例えば文字列「これから下丸子で」が入力確定した時点の状況が駅付近であれば入力候補として「電車」を、あるいは図書館付近であれば入力候補として「会議」を提示するように制御される。以下、このような場合の処理手順について、図2及び図3に示すフローチャートを用いて説明する。
ここでは、ユーザが下丸子駅付近において入力した文字列「これから下丸子で」が入力確定済みであるとする。また、情報処理装置101が有するセンサ102は、GPSセンサであるとする。
図2に示すステップS201の処理において、入力確定済みの文字列に後続する確率の高い単語が入力候補として記憶装置103の辞書から取得される。入力確定済みの文字列「これから下丸子で」に対しては、「電車」、「会議」という2つの入力候補が取得されたとする。
ステップ202の処理では、複数の入力候補を取得したと判定される。次に、ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。図7(a)に示すように、入力候補「電車」、「会議」は状況情報と関連付けられている。そのため、ステップS205の処理へ進む。ステップS205の処理において、情報処理装置101がGPSセンサを有していると判定される。その後、ステップS206の処理へ進み、状況の類似度が判定される。
本実施形態においては、同じ状況であるか否かを判定するために、図3に示すステップS301の処理において、センサ102であるGPSセンサの検知結果が取得される。ここでは、下丸子駅付近におけるGPSセンサの検知結果が、緯度「35.5712」、経度「139.6861」であったとする。
ステップS302の処理において、GPSセンサに対応する閾値が取得される。ここでは、閾値は500[m]であるとする。
ステップS303の処理において、入力候補「電車」、「会議」の2つが特定される。そのため、ステップS304の処理で入力候補数Nは、N=2として保持される。
ステップS305の処理において、入力候補N=2番目の「会議」のセンサ値である緯度(35.5669)及び経度(139.6819)と、GPSセンサの検知結果である緯度(35.5712)及び経度(139.6861)との差分が算出される。その結果、距離の差分として611[m]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値500[m]に対して差分611[m]であることから、同じ状況ではないと判定される。その後、ステップS309の処理へ進み、入力候補数N=2がデクリメントされ、N=1となる。
ステップS310の処理において、入力候補数NがN=1であることから、ステップS305の処理に戻り、次の入力候補における差分が算出される。
ステップS305の処理において、入力候補N=1番目の「電車」のセンサ値である緯度(35.5713)及び経度(139.6856)と、GPSセンサの現在の検知結果である緯度(35.5712)及び経度(139.6861)の差分が算出される。その結果、2点間の距離0.004662[km]となり、差分46[m]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値500[m]に対して差分46[m]であることから、同じ状況であると判定され、判定結果が保持される。その後、ステップS309の処理へ進み、入力候補数N=1がデクリメントされてN=0となり、ステップS311の処理へ進む。ステップS311の処理においては、入力候補「電車」は同じ状況であり、入力候補「会議」は同じ状況ではないという判定結果が出力される。
図2に示すステップS206の処理に戻り、次のステップS207の処理において同じ状況を示す入力候補があると判定され、ステップS209の処理において入力候補「電車」が優先表示される。その後、ステップS210の処理において次の文字入力を待つことになる。なお、「電車」のみが入力候補として表示されるように制御することもできる。
図7に戻り、図7(b)に示す辞書テーブルには、構成モデル1が「今日」、「は」、「暑い」という単語の組み合わせとして、構成モデル2が「今日」、「は」、「暖かい」という単語の組み合わせとして登録されている。また、それぞれの構成モデルでは、状況情報である付加センサ情報、採用頻度も関連付けられて登録されている。
構成モデル1では、センサ種別が「温度(センサ)」であり、センサ値が「30.00[度]」である。構成モデル2では、センサ種別が「温度(センサ)」であり、センサ値が「24.00[度]」である。また、構成モデル1の採用頻度は「6」回、構成モデル2の採用頻度は「3」回である。
例えば、ユーザが入力した文字列「今日は」が入力確定した際の温度センサの検知結果に応じて、入力候補「暑い」が提示されたり、入力候補「暖かい」が提示されたりする。そのため、採用頻度に依存することなく、例えば文字列「今日は」が入力確定した時点の気温の状況に応じて入力候補「暑い」、あるいは入力候補「暖かい」を提示するように制御される。以下、このような場合の処理手順について、図2及び図3に示すフローチャートを用いて説明する。
ここでは、ユーザが気温(温度)32度の状況下で入力した文字列「今日は」が入力確定済みであるとする。また、情報処理装置101が有するセンサ102は、温度センサであるとする。
図2に示すステップS201の処理において、入力確定済みの文字列に後続する確率の高い単語が入力候補として記憶装置103の辞書から取得される。入力確定済みの文字列「今日は」に対しては、「暑い」、「暖かい」という2つの入力候補が取得されたとする。
ステップ202の処理では、複数の入力候補を取得したと判定される。次に、ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。図7(b)に示すように、入力候補「暑い」、「暖かい」は状況情報と関連付けられている。そのため、ステップS205の処理へ進む。ステップS205の処理において、情報処理装置101が温度センサを有していると判定される。その後、ステップS206の処理へ進み、状況の類似度が判定される。
本実施形態においては、同じ状況であるか否かを判定するために、図3に示すステップS301の処理において、温度センサの検知結果が取得される。ここでは、温度センサの検知結果は、温度32.00[度]であるとする。
ステップS302の処理において、温度センサに対応する閾値が取得される。ここでは、閾値は3[度]であるとする。
ステップS303の処理において、入力候補「暑い」、「暖かい」の2つが特定される。そのため、ステップS304の処理で入力候補数Nは、N=2として保持される。
ステップS305の処理において、入力候補N=2番目の「暖かい」のセンサ値である温度(24.00)と、ステップS301の処理で取得された温度センサの現在の検知結果である温度(32.00)との差分が算出される。その結果、差分9[度]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値3[度]に対して差分9[度]であることから、同じ状況ではないと判定される。その後、ステップS309の処理へ進み、入力候補数N=2がデクリメントされ、N=1となる。
ステップS310の処理において、入力候補数NがN=1であることから、ステップS305の処理に戻り、次の入力候補における差分が算出される。
ステップS305の処理において、入力候補N=1番目の「暑い」のセンサ値である温度(30.00)と、ステップS301の処理で取得された温度センサの現在の検知結果である温度(32.00)との差分が算出される。その結果、差分2[度]が得られる。
ステップS306の処理において、得られた差分が閾値以下であるか否かが判定される。閾値3[度]に対して差分2[度]であることから、同じ状況であると判定され、判定結果が保持される。その後、ステップS309の処理へ進み、入力候補数N=1がデクリメントされてN=0となり、ステップS311の処理へ進む。ステップS311の処理においては、入力候補「暑い」は同じ状況であり、入力候補「暖かい」は同じ状況ではないという判定結果が出力される。
図2に示すステップS206の処理に戻り、次のステップS207の処理において同じ状況を示す入力候補があると判定され、ステップS209の処理において入力候補「暑い」が優先表示される。その後、ステップS210の処理においてユーザによる次の文字入力を待つことになる。なお、「暑い」のみが入力候補として表示されるように制御することもできる。
図7(c)に示す辞書テーブルには、構成モデル1が「電車」、「に」、「乗りました」という単語の組み合わせとして、構成モデル2が「電車」、「に」、「乗ります」という単語の組み合わせとして登録されている。また、それぞれの構成モデルでは、状況情報である付加センサ情報、採用頻度も関連付けられて登録されている。
構成モデル1では、センサ種別が「加速度(センサ)」であり、センサ値が「移動」である。構成モデル2では、センサ種別が「加速度(センサ)」であり、センサ値が「停止」である。また、構成モデル1の採用頻度は「6」回、構成モデル2の採用頻度は「2」回である。
例えば、ユーザが入力した文字列「電車に」が入力確定した際の加速度センサの検知結果に応じて、入力候補「乗りました」が提示されたり、入力候補「乗ります」が提示されたりする。そのため、採用頻度に依存することなく、例えば文字列「電車に」が入力確定した際の状況に応じて入力候補「乗りました」、あるいは入力候補「乗ります」を提示するように制御される。以下、このような場合の処理手順について、図2及び図3に示すフローチャートを用いて説明する。
ここでは、ユーザが移動している状況下で入力した文字列「電車に」が入力確定済みであるとする。また、情報処理装置101が有するセンサ102は、加速度センサであるとする。
図2に示すステップS201の処理において、入力確定済みの文字列に後続する確率の高い単語が入力候補として記憶装置103から取得される。入力確定済みの文字列「電車に」に対しては、「乗りました」、「乗ります」という2つの入力候補が取得されたとする。
ステップ202の処理では、複数の入力候補を取得したと判定される。次に、ステップS204の処理において、取得された入力候補の中に状況情報に関連付けられているものがあるか否かが判定される。図7(c)に示すように、入力候補「乗ります」、「乗りました」は状況情報と関連付けられている。そのため、ステップS205の処理へ進む。ステップS205の処理において、情報処理装置101が加速度センサを有していると判定される。その後、ステップS206の処理へ進み、状況の類似度が判定される。
本実施形態においては、同じ状況であるか否かを判定するために、図3に示すステップS301の処理において、直近1秒間分の加速度センサの検知結果が取得される。ここでは、ユーザは移動中であることから、検知結果に基づいて「移動」と推定される。
ステップS302の処理において、加速度センサに対応する閾値が取得される。ここでは、閾値が「0」であるとする。
ステップS303の処理において、入力候補「乗りました」、「乗ります」の2つが特定される。そのため、ステップS304の処理で入力候補数Nは、N=2として保持される。
ステップS306の処理において、入力候補N=2番目の「乗ります」のセンサ値である「停止」と、ステップS301の処理で取得された検知結果から推定された「移動」とが比較される。その結果、同じ状況ではないと判定される。その後、ステップS309の処理へ進み、入力候補数N=2がデクリメントされ、N=1となる。
ステップS310の処理において、入力候補数NがN=1であることから、ステップS305の処理に戻り、次の入力候補との比較が行われる。
ステップS306の処理において、入力候補N=1番目の「乗りました」のセンサ値である「移動」と、ステップS301の処理で取得された検知結果から推定された「移動」とが比較される。その結果、同じ状況であると判定され、判定結果が保持される。その後、ステップS309の処理へ進み、入力候補数N=1がデクリメントされてN=0となり、ステップS311の処理へ進む。ステップS311の処理においては、入力候補「乗りました」は同じ状況であり、入力候補「乗ります」は同じ状況ではないという判定結果が出力される。
図2に示すステップS206の処理に戻り、次のステップS207の処理において同じ状況を示す入力候補があると判定され、ステップS209の処理において入力候補「乗りました」が優先表示される。その後、ステップS210の処理において次の文字入力を待つことになる。なお、「乗りました」のみが入力候補として表示されるように制御することもできる。
このように、本実施形態の情報処理装置によれば、入力確定済みの文字列に後続する単語を予測し、ユーザが文字入力を行う際の状況に適合した入力候補を優先して提示することができる。これにより、ユーザは、例えばメール文書の作成、検索文字列の入力などを効率良く行うことができる。
[第3実施形態]
本実施形態では、入力候補を提示している間にユーザの状況が変化した場合に、既に提示している入力候補を変更するか否かを判定することができる情報処理装置について説明する。なお、第1実施形態及び第2実施形態で既に説明した部分と重複する部分は、同じ符号を付すとともに、その説明を省略する。
図8は、本実施形態に係る情報処理装置の機能構成の一例を示す図である。第1実施形態及び第2実施形態と異なる点は、変化検知部801を有する点である。
変化検知部801は、センサ102により検知される状況の変化を、ユーザの状況の変化として検知する。具体的には、入力候補が提示されている間にセンサ102が検知した検知結果(現在の検知結果)と、図2に示すステップS206の処理において取得されている検知結果(過去の検知結果)とを比較する。比較した結果、所定の値以上の差分が生じるような変化があった場合には、ユーザの状況が変化したものと判定する。ユーザの状況の変化とは、例えば入力を開始した時点では乗車待ちで停止している状況であったが、入力している最中に乗車して移動している状況になった場合などである。
図9は、ユーザの状況が変化した場合に、その変化に応じた入力候補を追加表示する際の処理手順の一例を示すフローチャートである。本実施形態では、第1実施形態あるいは第2実施形態において図2のフローチャートに従った処理が実行され、ステップS210に進んだ状態において、取得部115がセンサ102の検知結果を状況情報として再度取得する。そして、変化検知部801が、ステップS206で用いた状況情報と比較し、2つの状況情報が異なる場合に、図9のフローチャートが起動されるものとする。ただし、変化検知部801は、図2のフローチャートに示されたメイン処理の進捗状況に関わらず、所定の周期で前回の検知結果と比較して変化があるかを判定し、変化を検知した時点で図9のフローチャートを起動させても構わない。ただしその場合には、少なくとも1回は、ステップS209あるはステップS208の処理により、入力候補が提示された後であることを条件とする。
CPU107の機能部である判定部112は、変化検知部801によりユーザの状況が変化したと検知されたことを契機に、センサ102の検知結果を取得し、取得した検知結果を現在の状況として保持する(S901)。なお、取得する検知結果は、ユーザの状況が変化したことが検知されたセンサの検知結果である。
CPU107の機能部である受付部113は、ユーザにより文字入力が行われている状況であるか否かを判定する(S902)。この判定は、ユーザの文字入力操作を検知することによる判定のほか、文字入力に要するアプリケーションソフトウエアが起動されているか、文字入力のためのキーパッドが起動されているかなどに基づき判定する。
CPU107の機能部である判定部112は、文字入力が行われている状況ではないと判定された場合(S902:No)、一連の処理を終了する。また、そうでない場合(S902:Yes)、この時点までにユーザに提示されている入力候補の中に、変化検知部801により検知結果の変化がみとめられたセンサ(例えば、加速度センサ)に対応する入力候補が含まれているか否かを判定する(S903)。例えば、センサ種別が共通する入力候補「乗ります」、「乗りました」の中で、当初は「乗ります」がユーザの状況に適合した入力候補であっても、状況の変化により今時点では「乗りました」がユーザの状況に適合した入力候補となる場合がある。
CPU107の機能部である判定部112は、対応する入力候補が含まれていると判定された場合(S903:Yes)、ステップS901の処理で保持した検知結果に対応する入力候補が記憶装置103に登録されているか否かを判定する(S904)。記憶した検知結果に対応する入力候補、つまり、現在のユーザの状況により適した入力候補が存在すると判定した場合(S904:Yes)、CPU107の機能部である表示制御部110によって、当該入力候補が画面500に追加表示される(S905)。また、そうでない場合(S904:No)、ステップS906の処理へ進む。
CPU107の機能部である判定部112は、入力確定済みの文字列の中に、変化検知部801により検知結果の変化がみとめられたセンサに対応する入力候補である文字列が含まれているか否かを判定する(S906)。対応する文字列が含まれていると判定した場合(S906:Yes)、ステップS901の処理で記憶した検知結果に対応する入力候補が辞書に登録されているか否かを判定する(S907)。記憶した検知結果に対応する入力候補はないと判定した場合(S907:No)、一連の処理を終了する。また、記憶した検知結果に対応する入力候補があると判定した場合(S907:Yes)、表示制御部110によって当該入力候補を修正候補として画面500に追加表示させる(S908)。また、そうでない場合(S907:No)、一連の処理を終了する。
なお、入力確定済の文字列を修正候補に変更するか否かは、ユーザが任意に指定することができるように制御される。
図10は、ステップS905の処理において、入力候補を追加表示した画面の一例を示す図である。
図10(a)に示す画面500には、図5で既に説明した画面の一例と同じ内容が表示されている。図10(a)では、メール作成しているユーザが「のり」を文字入力したことに対して、「乗ります」、「乗り換え」を含むいくつかの入力候補が表示されている様子を示している。なお、この場合の情報処理装置101が有するセンサ102は、加速度センサである。
図10(b)は、入力候補を追加表示した際の画面500の一例である。図10(b)に示すように、提示中の入力候補の中には、変化検知部801により特定されたセンサの検知結果に対応した入力候補「乗ります」1001が含まれている。そのため、記憶した検知結果に対応する入力候補、つまり、現在の状況により適した入力候補が辞書に登録されているか否か検索が行われる。図10(b)に示すように、検索の結果、特定された入力候補「乗りました」1002が追加表示される。
また、図10(b)に示すように、文字列「乗ります」1001は、現在の状況により適した入力候補が存在する場合には、反転表示されるように制御する。これにより、ユーザは、追加表示された入力候補との対応関係の把握が容易になる。
図11は、ステップS908の処理において、修正候補を表示した画面の一例を示す図である。
図11(a)に示す画面500は、修正候補が表示される前の画面例である。図11(a)では、ユーザが入力した文字列「今、電車に乗ります」が入力確定していることを示している。
図11(b)は、修正候補を表示した際の画面500の一例である。図11(b)に示すように、入力確定済みの文字列の中には、変化検知部801により特定されたセンサの検知結果に対応した文字列「乗ります」1101が含まれている。そのため、記憶した検知結果に対応する入力候補、つまり、現在の状況により適する入力候補が辞書に登録されているか否か検索が行われる。図11(b)に示すように、検索の結果、特定された入力候補が修正候補「乗りました」1102として追加表示される。
また、図11(b)に示すように、文字列「乗ります」1101は、現在の状況により適した修正候補が存在する場合には、反転表示されるように制御する。これにより、ユーザは、追加表示された入力候補との対応関係の把握が容易になる。
また、例えばスマートフォンである情報処理装置101を右手から左手に持ちかえているなど、ユーザが入力を中断している状況にあることを、加速度センサ、近接センサなどの検知結果に基づいて判定する。変化検知部801によりユーザの状況が変化したと検知されたことを契機に、その時点における情報処理装置101が有する全てのセンサの検知結果を取得し、取得した検知結果を記憶する。その後、入力の再開を契機に、再度、全てのセンサの検知結果を取得し、当該入力再開の前後で検知結果の変化がみとめられたものに対して、ステップS903の処理、ステップS906の処理を行う。
これにより、ユーザの状況の変化をより適切に反映させた入力候補、修正候補の提示を行うことができる。
このように、本実施形態に係る情報処理装置によれば、ユーザが入力を行う状況が変化した場合には、提示済の入力候補に対して新たな入力候補を提示したり、既に入力確定済みの文字列に対して入力内容を変更するための修正候補を提示したりすることができる。
これにより、ユーザの状況に変化が生じた場合であっても、簡単に入力内容を変更したり、修正したりすることができる。そのため、ユーザの利便性が向上する。
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。

Claims (13)

  1. 入力された文字に基づいて文字列の予測変換を行う情報処理装置であって、
    少なくとも1つのセンサが検知する情報に基づいて、前記情報処理装置が存在する状況を示す状況情報を取得する取得手段と、
    複数の文字列を、その文字列が使用される状況を表す状況情報と関連付けて記憶させる記憶手段であって、前記状況情報には該状況を示す情報を検知するセンサの種別を一部に含む記憶手段と
    ユーザにより入力された少なくとも1つの文字入力に基づいて予測変換を実行して少なくとも1つの文字列を変換候補として出力する出力手段と、
    前記予測変換により出力された少なくとも1つの文字列を変換候補として表示させる表示手段と、
    前記予測変換により変換候補として出力された前記少なくとも1つの文字列が前記記憶手段に記憶された文字列の少なくとも1つを含むか否かを判定する判定手段と、を備え、
    前記表示手段は、前記変換候補として出力された前記少なくとも1つの文字列が前記記憶された文字列の少なくとも1つを含むと前記判定手段で判定された場合は、変換候補として出力された前記少なくとも1つの文字列のうち、前記取得手段で取得された状況情報に類似する状況情報に関連付けられた文字列を優先して表示し、当該文字列を表示した後に前記情報処理装置が存在する状況の変化を前記センサが検知した場合、変化後の状況に適した文字列が前記記憶手段に登録されていれば、変化後の状況に適した文字列を変換候補として表示することを特徴とする、
    情報処理装置。
  2. 前記状況情報は登録され、前記状況情報には、前記ユーザにより前記少なくとも1つの文字が入力されたときの前記情報処理装置が存在する状況を示す情報を検知する少なくとも1つのセンサの種別、及び前記少なくとも1つのセンサにより検知された前記情報の所定の値が含まれていることを特徴とする、
    請求項1に記載の情報処理装置。
  3. 前記動作には、
    前記変換候補として表示された複数の文字列の中から、一の文字列の指定を受け付け、
    前記指定の受け付けを契機に、当該指定された文字列に関連付けられた状況情報に対応するセンサによる検知結果に基づいて、記憶された情報の更新を行う、
    請求項2に記載の情報処理装置。
  4. 前記更新では、前記入力された文字が前記センサの種別を表す情報と対応付けられた文字列であり、且つ、当該文字列が前記状況情報と関連付けられて登録されていない場合には、当該文字列に対応するセンサの種別と、前記センサ値として当該センサの検知結果を含んだ状況情報を生成し、生成した状況情報と当該文字列とを関連付けて登録することを特徴とする、
    請求項3に記載の情報処理装置。
  5. 前記センサは、前記文字入力が受け付けられたときに前記情報処理装置が存在する状況を示す情報として前記情報処理装置に作用する加速度を検知するものであり、
    前記文字列が使用される状況を表す状況情報として加速度の推移を表す情報が登録されており、
    前記判定には、状況情報の加速度の推移により表される状況と、前記センサにより検知された加速度の推移により表される状況とが類似するかの判定が含まれることを特徴とする、
    請求項2乃至4のいずれか一項に記載の情報処理装置。
  6. 前記センサは、前記文字入力が受け付けられたときに前記情報処理装置が存在する状況を示す情報として前記情報処理装置の位置を検知するものであり、
    前記文字列が使用される状況を表す状況情報として位置を表す情報が登録されており、
    前記判定には、前記状況情報に示された位置と、前記センサにより検知された位置との差分の大きさに基づいて、両者が類似するかの判定が含まれることを特徴とする、
    請求項2乃至4のいずれか一項に記載の情報処理装置。
  7. 前記センサは、前記文字入力が受け付けられたときに前記情報処理装置が存在する状況を示す情報として前記情報処理装置の向きを表す方位、前記情報処理装置が存在する空間の温度、前記情報処理装置にかかる気圧の少なくとも一つを検知するものであり、
    前記文字列が使用される状況を表す状況情報として、前記センサの種別と共に方位、温度、気圧の少なくとも一つの情報が登録されており、
    前記判定には、前記状況情報に示された方位、温度、気圧の内の一つあるいは2つ以上の組み合わせと、これに対応するセンサによる検知結果との差分を算出し、算出結果に基づいて、前記文字入力を受け付けた際の状況と、前記予測変換によって変換候補として出力された文字列に関連付けられた状況とが類似するかの判定が含まれることを特徴とする、
    請求項2乃至4のいずれか一項に記載の情報処理装置。
  8. 前記判定には、前記算出結果と、前記センサの種別毎に設定された閾値とを比較することにより類似度を判定することが含まれることを特徴とする、
    請求項7に記載の情報処理装置。
  9. 前記少なくとも1つのセンサは、種別が異なる複数のセンサであり、
    前記文字列が使用される状況を表す状況情報として前記センサの種別に応じたセンサ値が登録されており、
    前記判定には、前記状況情報に示された種別の少なくとも1つのセンサを前記情報処理装置が有する場合には、当該状況情報に示されたセンサ値と、当該状況情報に示された種別のセンサの検知結果との差分をそれぞれ算出し、算出結果に基づいて、前記文字入力を受け付けた際の状況と、前記予測変換により変換候補として出力された文字列に関連付けられた状況とが類似するかの判定が含まれることを特徴とする、
    請求項2に記載の情報処理装置。
  10. 前記表示には、
    前記変換候補として出力された前記複数の文字列から少なくとも1つの文字列を選択し、所定の画面に前記選択された少なくとも1つの文字列を表示させることが含まれ、
    前記所定の画面に表示された前記少なくとも1つの文字列は、類似度に応じて選択されることを特徴とする、
    請求項8に記載の情報処理装置。
  11. 前記表示には、前記画面に表示できる文字列に制限がある場合には、当該制限を超えない範囲で前記類似度が高い順に変換候補として選択するように制御することが含まれることを特徴とする、
    請求項10に記載の情報処理装置。
  12. 入力された文字に基づいて文字列の予測変換を行う情報処理装置が実行する方法であって、
    少なくとも1つのセンサが検知する情報に基づいて、前記情報処理装置が存在する状況を示す状況情報を取得する取得工程と、
    複数の文字列を、その文字列が使用される状況を表す状況情報と関連付けて記憶手段に記憶する工程であって、前記状況情報には該状況を示す情報を検知するセンサの種別を一部に含む記憶工程と
    ユーザにより入力された少なくとも1つの文字入力に基づいて予測変換を実行して少なくとも1つの文字列を変換候補として出力する出力工程と、
    前記予測変換により出力された少なくとも1つの文字列を変換候補として表示する表示工程と、
    前記予測変換により変換候補として出力された前記少なくとも1つの文字列が前記記憶手段に記憶された文字列の少なくとも1つを含むか否かを判定する判定工程と、を備え、
    前記表示工程では、前記変換候補として出力された前記少なくとも1つの文字列が前記記憶された文字列の少なくとも1つを含むと前記判定工程で判定された場合は、変換候補として出力された前記少なくとも1つの文字列のうち、前記取得工程で取得された状況情報に類似する状況情報に関連付けられた文字列を優先して表示し、当該文字列を表示した後に前記情報処理装置が存在する状況の変化を前記センサが検知した場合、変化後の状況に適した文字列が前記記憶手段に登録されていれば、変化後の状況に適した文字列を変換候補として表示することを特徴とする、
    方法。
  13. コンピュータを、
    少なくとも1つのセンサが検知する情報に基づいて、前記情報処理装置が存在する状況を示す状況情報を取得する取得手段と、
    複数の文字列を、その文字列が使用される状況を表す状況情報と関連付けて記憶手段に記憶させる手段であって、前記状況情報には該状況を示す情報を検知するセンサの種別を一部に含む記憶手段と
    ユーザにより入力された少なくとも1つの文字入力に基づいて予測変換を実行して少なくとも1つの文字列を変換候補として出力する出力手段と、
    前記予測変換により出力された少なくとも1つの文字列を変換候補として表示手段に表示させる手段と、
    前記予測変換により変換候補として出力された前記少なくとも1つの文字列が前記記憶手段に記憶された文字列の少なくとも1つを含むか否かを判定する判定手段と、として機能させるためのコンピュータプログラムであって、
    前記表示手段は、前記変換候補として出力された前記少なくとも1つの文字列が前記記憶された文字列の少なくとも1つを含むと前記判定手段で判定された場合は、変換候補として出力された前記少なくとも1つの文字列のうち、前記取得手段で取得された状況情報に類似する状況情報に関連付けられた文字列を優先して表示し、当該文字列を表示した後に前記情報処理装置が存在する状況の変化を前記センサが検知した場合、変化後の状況に適した文字列が前記記憶手段に登録されていれば、変化後の状況に適した文字列を変換候補として表示することを特徴とする、
    コンピュータプログラム。
JP2013176289A 2013-08-28 2013-08-28 情報処理装置及びその制御方法、コンピュータプログラム、記録媒体 Active JP6271914B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013176289A JP6271914B2 (ja) 2013-08-28 2013-08-28 情報処理装置及びその制御方法、コンピュータプログラム、記録媒体
US14/465,259 US20150067492A1 (en) 2013-08-28 2014-08-21 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013176289A JP6271914B2 (ja) 2013-08-28 2013-08-28 情報処理装置及びその制御方法、コンピュータプログラム、記録媒体

Publications (3)

Publication Number Publication Date
JP2015045973A JP2015045973A (ja) 2015-03-12
JP2015045973A5 JP2015045973A5 (ja) 2016-10-13
JP6271914B2 true JP6271914B2 (ja) 2018-01-31

Family

ID=52585052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013176289A Active JP6271914B2 (ja) 2013-08-28 2013-08-28 情報処理装置及びその制御方法、コンピュータプログラム、記録媒体

Country Status (2)

Country Link
US (1) US20150067492A1 (ja)
JP (1) JP6271914B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112017022688B1 (pt) * 2015-04-20 2023-04-04 Huawei Technologies Co., Ltd Método e aparelho para exibir entrada de texto de um dispositivo terminal, dispositivo terminal e meio de gravação legível por computador
JP6010683B1 (ja) * 2015-06-02 2016-10-19 フロンティアマーケット株式会社 情報処理装置
JP6786245B2 (ja) * 2016-04-07 2020-11-18 ソニーモバイルコミュニケーションズ株式会社 情報処理装置
US10680120B2 (en) 2018-04-05 2020-06-09 Vanguard International Semiconductor Corporation Semiconductor device and method for manufacturing the same
EP4224358A1 (en) * 2022-02-08 2023-08-09 Koa Health B.V. Sucursal en España Method and system for a more accurate autocomplete mechanism

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303186A (ja) * 2002-04-09 2003-10-24 Seiko Epson Corp 文字入力支援システム、文字入力支援方法、端末装置、サーバおよび文字入力支援プログラム
US7565157B1 (en) * 2005-11-18 2009-07-21 A9.Com, Inc. System and method for providing search results based on location
US20100131447A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
KR101597512B1 (ko) * 2009-07-27 2016-02-26 삼성전자주식회사 휴대 단말기의 운용 방법 및 이를 기반으로 하는 휴대 단말기
JP2011076140A (ja) * 2009-09-29 2011-04-14 Sony Ericsson Mobilecommunications Japan Inc コミュニケーション端末、コミュニケーション情報提供サーバ、コミュニケーションシステム、携帯電話端末、コミュニケーション情報生成方法、コミュニケーション情報生成プログラム、コミュニケーション補助方法、及び、コミュニケーション補助プログラム
US9128921B2 (en) * 2012-05-31 2015-09-08 Blackberry Limited Touchscreen keyboard with corrective word prediction

Also Published As

Publication number Publication date
JP2015045973A (ja) 2015-03-12
US20150067492A1 (en) 2015-03-05

Similar Documents

Publication Publication Date Title
JP6271914B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム、記録媒体
CN108139861B (zh) 基于操作历史来预测触摸对象的计算机可读介质、电子装置、系统和控制方法
US10055390B2 (en) Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
JP5852930B2 (ja) 入力文字推定装置およびプログラム
US20170268888A1 (en) System and method for acquiring map portions based on expected signal strength of route segments
US9552080B2 (en) Incremental feature-based gesture-keyboard decoding
US20120229376A1 (en) Input device
JP6543365B2 (ja) ユーザ入力スピードに基づく入力方法の誤り訂正方法及び装置
CN107209577A (zh) 用户状态自适应文本输入
US20100106407A1 (en) Navigation system
JP5146480B2 (ja) 地図表示制御装置、地図表示制御方法およびプログラム
US20160047670A1 (en) Method and apparatus for navigation
JP4524327B1 (ja) 情報検索装置、及び情報検索プログラム
JP5013266B2 (ja) 目的地入力装置及び目的地入力用プログラム
JP5240547B2 (ja) 目的地入力装置及び目的地入力用プログラム
JP4785568B2 (ja) 電子機器および操作ヘルプ提示方法
JP2009140287A (ja) 検索結果表示装置
KR20130037484A (ko) 터치스크린에서의 문자 입력 방법 및 터치스크린을 구비한 전자장치
JP5378037B2 (ja) ナビゲーション装置及びその目的地設定方法
JP2010197348A (ja) ナビゲーション装置
JP2013036763A (ja) 地点名称出力装置、ナビゲーション装置、地点名称出力方法、およびプログラム
JP2014085797A (ja) 文字列入力装置
KR101518385B1 (ko) 멀티모달 검색방법, 멀티모달 검색 장치 및 기록매체
JP6313615B2 (ja) 行き先候補表示方法及び行き先候補表示装置
JP5298520B2 (ja) 文字入力支援装置、文書作成プログラム及び文字入力支援方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171228

R151 Written notification of patent or utility model registration

Ref document number: 6271914

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151