説明

文字入力装置、更新方法

【課題】ユーザが文字入力を行っている状況に応じて、自動カーソル機能が作動する時間を設定することを目的とする。
【解決手段】文字入力装置は、各々に複数の文字が割り当てられている複数のキーとを有し、キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定し、キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得して記憶しておき、直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶手段に記憶されている押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、キーを使用して文字を入力する技術に関する。
【背景技術】
【0002】
ユーザが携帯電話機等の携帯端末でメール等を作成する場合、「あ行」から「わ行」及び数字、記号、絵等である文字が、それぞれ割り当てられたキーを操作して文字を入力する。
【0003】
携帯端末は小型化が進み、人が操作できる大きさのキーを配置できる面積が限られることから、1つのキーに複数の文字を割り当てることでキーの数よりも多い文字の入力を可能としている。
【0004】
キーに割り当てられている複数の文字のうちの1文字を入力する場合は、キーを連続押下して文字を切り替え、所望の文字に切り替わったときに確定の操作を行うことで所望の文字を入力する。確定の操作とは、異なるキーの押下又はカーソルの移動等である。
【0005】
それぞれ異なるキーに割り当てられている2文字を連続して入力する場合は、2文字目の入力のためのキーの押下が1文字目の確定の操作の役割も果たす。しかし、それぞれ同一キーに割り当てられている2文字を連続して入力する場合は、2文字目の入力のためのキーの押下が1文字目の確定の操作とはならないため、1文字目を確定するためにカーソル移動等の確定の操作を必ず行う必要がある。
【0006】
ここで、確定の操作の代わりに、キーが押下された後所定時間が経過したら文字を確定してカーソルを移動する技術がある(以下、「自動カーソル機能」という。)。この技術によれば、同一キーに割り当てられている文字を連続して入力する場合に、カーソル移動等の操作をわざわざ行わなくてよいという利点がある。
【0007】
また、文字を確定するまでの上記所定時間(以下、「確定時間」という。)を、ユーザに応じて変更する技術がある。
【0008】
例えば、ユーザがキーを押下する間隔の平均時間を、確定時間とする技術である(特許文献1参照)。キーの押下間隔はユーザ毎の習熟の度合い等によって異なり、押下間隔が短いユーザにとっては確定時間も短い方が使い勝手がよいと考えられるからである。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2002−207554号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、この技術では、ユーザ個人のキー押下間隔に対応する確定時間を求めることはできるが、ユーザ個人の現在のキー押下間隔に対応する確定時間を求めることはできない。
【0011】
例えば、電車の中でメールを作成しているときのキーの押下間隔は、自宅等でメールを作成するときのキーの押下間隔よりも、電車の揺れ等の影響で長い場合が多い。この場合、過去のキーの押下間隔の平均時間を確定時間とすると、使い勝手が悪くなる可能性がある。すなわち、現在のキーの押下間隔にとっては確定時間が短すぎ、自動カーソル機能が予想外に作動してしまう可能性があるからである。言い換えれば、ユーザが予定していない文字の確定(以下、「誤確定」という。)がなされてしまう可能性がある。
【0012】
そこで、本発明は、ユーザが文字入力を行っている状況に応じた確定時間を設定することを目的とする。
【課題を解決するための手段】
【0013】
本発明の1形態に係る文字入力装置は、各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段と、キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得手段と、取得した押下間隔を記憶する押下間隔記憶手段と、直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶手段に記憶されている押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する確定時間更新手段と、を有する。
【発明の効果】
【0014】
上記構成の文字入力装置は、ユーザが文字入力を行っている状況に応じた確定時間を求めて設定することができる。
【図面の簡単な説明】
【0015】
【図1】携帯電話機の外観及び文字入力処理時の画面の例を示す図である。
【図2】セッション及び自動カーソル機能の作動例を示すタイムチャートである。
【図3】携帯電話機の機能的構成の例を示すブロック図である。
【図4】押下間隔テーブルの構成及び内容の例を示す図である。
【図5】確定時間を算出する際の手順の例を示す図である。
【図6】携帯電話機の文字入力処理を示すフローチャートである。
【図7】基準確定時間を算出する処理のフローチャートである。
【図8】新確定時間の算出及び更新処理のフローチャートである。
【図9】誤確定パターンの例を示すタイムチャートである。
【図10】実施形態2の携帯電話機の機能的構成の例を示すブロック図である。
【図11】実施形態2の押下間隔テーブルの構成及び内容の例を示す図である。
【図12】セッション評価表の構成及び内容の例を示す図である。
【図13】実施形態2の確定時間を算出する際の手順の例を示す図である。
【図14】決定木によるセッション群の分析例を示す図である。
【図15】実施形態2の携帯電話機の文字入力処理を示すフローチャートである。
【図16】実施形態2の新確定時間の算出及び更新処理のフローチャートである。
【発明を実施するための形態】
【0016】
<実施形態1>
実施形態1の文字入力装置が行う文字入力処理においては、自動カーソル機能が作動するタイミングを示す確定時間として、過去のキーの押下間隔の平均時間を用いるのではなく、現在のユーザの状況を表す現在のキーの押下間隔に基づいて修正した平均時間を用いる。ユーザの状況とは、ユーザの体調、作成している文章の内容、キー操作の習熟度又は電車に乗っている等の作業環境等をいう。
【0017】
入力作業を行っているユーザの現在のキーの押下間隔を抽出するために、実施形態1では、セッションという概念を取り入れる。
【0018】
セッションとは、ユーザの一連の文字入力作業を行っている所定の時間帯であり、一定時間のキーの押下間隔を区切りとした時間帯である。区切りとする押下間隔(以下、「セッション境界時間」という。)は、確定時間よりも十分大きな時間、例えば、1分を用いる。1分の間、文字入力が行われないということは、その前後でユーザの状況が変化した可能性があると推定できるからである。
【0019】
実施形態1の文字入力装置は、キーの押下間隔をセッションに対応付けて記憶しておく。
【0020】
そして、現在のセッションにおける確定時間を、現在のセッションにおける押下間隔と過去のセッションの押下間隔とに基づいて求める。詳細には、現在のセッションが開始されてからの押下間隔を観察して、過去のセッションにおける確定時間を基に現在のセッションの確定時間を修正していく。すなわち、ユーザが現在置かれている状況が反映されている押下間隔を観察して確定時間を修正していくので、ユーザにとってより使い勝手の良い自動カーソル機能となる。
【0021】
また、通常使用しているユーザと異なるユーザが文字入力装置を一時的に使用する場合であっても、その異なるユーザの習熟度等に応じて確定間隔を修正していくので、一時的に使用するユーザにとっても、より使い勝手の良い自動カーソル機能となる。
【0022】
以下、文字入力装置の例として携帯電話機を説明する。
【0023】
<機能>
図1は、携帯電話機の外観及び文字入力処理時の画面の例を示す図である。
【0024】
携帯電話機1000は、いわゆる折り畳み式携帯電話機であり、図1は、開いた携帯電話機1000を正面から見たところを示している。
【0025】
携帯電話機1000は、第1筐体1001と第2筐体1002と、これらを結合するヒンジ1003とを含む。
【0026】
第1筐体1001は、ディスプレイ1004を備える。
【0027】
ユーザが文字入力を行う場合、ディスプレイ1004には、2つの画面が並んで表示される。文字入力画面1005及びソフトキー表示画面1006である。
【0028】
文字入力画面1005は、ユーザが作成するメール等の本文を表示する画面であり、入力した仮名文字等を表示する画面である。
【0029】
ソフトキー表示画面1006は、文字入力処理において用いるソフトキーを表示する画面である。
【0030】
ソフトキー表示画面1006に表示されたソフトキー「確定」は、入力された仮名文字及び仮名漢字変換後の文字列を確定するためのキーであり、ソフトキー「絵」は、絵文字等を表示させるキーである。ソフトキー「英数」は、英字、数字等を入力するモードへ切り替えさせるキーである。
【0031】
また、第2筐体1002は、操作キーを備える。操作キーは、ソフトキー対応キー10、機能キー20及び文字入力キー30に分類される。
【0032】
ソフトキー対応キー10のうち、キー11は、ソフトキー「確定」に対応する。また、キー12及びキー13は、それぞれ、ソフトキー「英数」及びソフトキー「絵」に該当する。
【0033】
キー14は、ディスプレイ1004に表示されるカーソルを上下左右に移動するために使用するカーソルキーである。例えば、入力した仮名文字を確定してカーソルを進めるために用いられる。
【0034】
機能キー20のキー「発信」は、電話発信キーであり、キー「切断」は、電話通話切断キーである。これら2つのキーは、文字入力処理では使用しない。
【0035】
キー「クリア」は、文字入力画面1005に表示された仮名文字列等を消去するためのキーである。
【0036】
文字入力キー30は、いわゆるテンキーであり、それぞれのキーに対応付けされている文字を入力するためのキーである。尚、図1では、各キーには数字が記載されているが、数字の他に「あ行」〜「わ行」等が対応付けられている。例えば、キー「1」には「あ行」が、キー「2」には「か行」が割り当てられている。
【0037】
次に、セッション及び自動カーソル機能の作動例を、図2を用いて説明する。
【0038】
図2は、セッション及び自動カーソル機能の作動例を示すタイムチャートである。
【0039】
この例においては、確定時間が1000msec(ミリ秒)であるとする。また、セッション境界時間は、1分、すなわち60000msecであるとする。
【0040】
1段目は、セッションIDを示す。セッションIDとは、セッションの識別子である。
【0041】
2段目は、押下されたキーの識別子を示す。角丸矩形の中の数字が、押下されたキーに記載されている数字であり、キーの識別子である。
【0042】
3段目は、押下間隔を示す。間隔を示す単位はmsec(ミリ秒)である。携帯電話機1000は、この押下間隔を記憶していく。
【0043】
4段目は、表示された文字を示す。2段目で示すキーが押下されたことにより文字入力画面1005に表示された仮名文字を示す。まだ確定していない文字を、以下「表示文字」というものとする。
【0044】
5段目は、確定した文字を示す。2段目で示すキーが押下されたことにより確定した、又は、3段目に示す押下間隔に応じて自動カーソル機能により確定した仮名文字を示す。矩形の中の文字が、確定した仮名文字である。確定した文字を、以下「確定文字」というものとする。
【0045】
最下段の遷移画面1〜遷移画面7は、文字入力画面1005に表示された文字の遷移を示す。黒の矩形はカーソルを示す。
【0046】
まず、キー「3」が押下され、文字入力画面1005に表示文字「さ」が表示される。この押下により新たなセッションであるセッションID「432」のセッションが開始される。キー「3」が押下されるまでの押下間隔がセッション境界時間を超えた「60100」msecであるからである。
【0047】
次に、押下間隔「455」msec経過後にキー「3」押下され、文字入力画面1005に表示文字「し」が表示される(遷移画面1参照)。更に、2回連続してキー「3」が押下され、表示文字「す」及び「せ」が順次表示される(遷移画面2及び遷移画面3参照)。表示文字「せ」が表示されている状態で確定時間1000msecが経過し、自動カーソル機能が作動する。すなわち、表示文字「せ」が確定され、カーソルが次の文字に移動する(遷移画面4参照)。
【0048】
次に、押下間隔「1220」msec経過後にキー「2」が押下され、文字入力画面1005に「か」が表示される(遷移画面5参照)。押下間隔「780」msec経過後にキー「1」が押下され、表示文字「か」が確定され、「あ」が表示される(遷移画面6参照)。押下間隔「487」msec経過後にキー「1」が再び押下されて、「い」が表示される(遷移画面7参照)。その後、確定時間1000msecが経過し、自動カーソル機能が作動し、「い」が確定してカーソルが移動する。その後、文字入力処理が続けられる。
【0049】
セッション境界時間を超えた「70000」msecの押下間隔の後にキー「4」が押下されると、セッションID「432」のセッションは終了され、新たなセッションであるセッションID「433」のセッションが開始される。
【0050】
携帯電話機1000は、セッションIDに対応づけた押下間隔を所定数、例えば、1000セッション分記憶する。
【0051】
次に、図3を用いて、携帯電話機1000の機能について説明する。
【0052】
図3は、携帯電話機1000の機能的構成の例を示すブロック図である。
【0053】
携帯電話機1000は、全体制御部1010、操作部1020、ディスプレイ1030、文字入力制御部1100、文字表示部1200、自動カーソル部1300、押下間隔検出部1400、押下間隔追加部1500、基準確定時間算出部1600、押下間隔平均算出部1700、確定時間算出部1800、確定時間記憶部2000及び押下間隔記憶部2100を有する。
【0054】
全体制御部1010は、通話、着呼及びメールの作成等、携帯電話機1000に必要な一般的な制御処理を行い、文字入力処理を行う際には文字入力制御部1100に制御を渡す機能を有する。
【0055】
次に、操作部1020は、第2筐体1002の操作キーを含み、ユーザからの操作、例えば、キーの押下等を検出する機能を有する。
【0056】
ディスプレイ1030は、液晶ディスプレイパネルを含み、文字表示部1200の指示により、当該ディスプレイパネルにメール本文等を表示する機能を有する。
【0057】
文字入力制御部1100は、以下に説明する各機能部に指示を出して文字入力処理を行う機能を有する。例えば、キーが押下された旨を押下間隔検出部1400に通知し、押下間隔の検出依頼を行う。また、押下されたキーを文字表示部1200に通知し、文字入力画面1005に文字の表示依頼を行う等である。
【0058】
文字表示部1200は、ディスプレイ1030の文字入力画面1005に、文字及びカーソル等を表示する機能を有する。また、右方向へのカーソル移動を指示するキーが押下されたことを文字入力制御部1100から通知された場合は、表示文字を確定してカーソルを移動させる。自動カーソル部1300から確定時間が経過した旨の通知を受けた場合も、同様に、表示文字を確定してカーソルを移動させる。
【0059】
自動カーソル部1300は、表示文字が表示されたままの状態で確定時間が経過したときに、その旨を文字表示部1200に通知する機能を有する。詳細には、キーが押下されて表示文字を表示したことを文字表示部1200から通知されたときから時間の計測を開始し、計測している時間が確定時間を超えたときに、その旨を文字表示部1200に通知する。
【0060】
押下間隔検出部1400は、キーの押下間隔を測定する機能を有する。詳細には、文字入力制御部1100からキーが押下された旨の通知を受けた時から時間の計測を開始する。キーが押下された旨の通知を次に受けたときに、押下間隔検出部1400は、計測していた時間を押下間隔として押下間隔追加部1500に通知する。そして、新たに時間の計測を開始する。
【0061】
更に、押下間隔検出部1400は、計測していた時間である押下間隔がセッション境界時間を超えていた場合は、押下間隔追加部1500及び基準確定時間算出部1600にセッションが終了した旨の通知を行う。
【0062】
押下間隔追加部1500は、押下間隔記憶部2100に記憶されている押下間隔テーブルにレコードを追加する機能を有する。押下間隔テーブルについては、<データ>の項で説明する。また、定期的に、例えば、5つのレコードを追加する毎に、確定時間算出部1800に確定時間を求めるよう依頼する。
【0063】
基準確定時間算出部1600は、過去のセッションの押下間隔に基づいて基準確定時間を算出する機能を有する。基準確定時間とは、過去のセッションにおける通常の確定時間であると推測される確定時間である。この基準確定時間の求め方は、<確定時間の求め方>の項で説明する。
【0064】
押下間隔平均算出部1700は、過去のセッション及び現在のセッションの押下間隔のそれぞれの平均を求める機能を有する。尚、現在のセッションの押下間隔の平均とは、セッションの途中である現時点までの数回の押下間隔、例えば、5回の押下間隔の平均である。
【0065】
確定時間算出部1800は、現在のセッションにおける確定時間を求める機能を有する。ここで求めた確定時間は、以後、現在のセッションにおける確定時間として使用される。
【0066】
また、確定時間算出部1800は、定期的に確定時間を求める。例えば、5回の押下がある毎に押下間隔追加部1500から依頼され確定時間を求める。定期的に確定時間を更新することで、ユーザの状況をきめ細かく反映した確定時間とすることができる。
【0067】
確定時間記憶部2000は、確定時間を記憶しておく機能を有する。
【0068】
押下間隔記憶部2100は、押下間隔テーブルを記憶しておく機能を有する。
【0069】
上述した機能の全部または一部は、携帯電話機1000の有するCPUが、携帯電話機1000のメモリ等に記録されているプログラムを実行することにより実現される。
【0070】
<データ>
次に、実施形態1の携帯電話機1000で用いるデータについて図4を用いて説明する。図4を用いて説明するデータは、押下間隔記憶部2100に記憶されているデータである。
【0071】
図4は、押下間隔テーブル2110の構成及び内容の例を示す図である。
【0072】
この押下間隔テーブル2110には、ユーザによってキーが押下される度に、1レコードが追加される。
【0073】
押下間隔テーブル2110は、セッションID2111、押下キー2112、押下間隔2113及びキー種2114を有する。
【0074】
セッションID2111は、セッションの識別子を示す。
【0075】
押下キー2112は、押下されたキーの識別子を示す。このテーブルでは、押下されたキーが文字入力キー30(図1参照)である場合は、キーに記載されている番号を識別子として記載する。また、押下されたキーが機能キー20である場合は、「クリア」等を記載する。尚、実施形態1では、文字入力キーとクリアキー15のみを押下間隔テーブル2110に登録するものとする。
【0076】
押下間隔2113は、押下キー2112で示されるキーが押下されるまでの時間、すなわち、1つ前のレコードの押下キー2112で示されるキーが押下された時からの時間を示す。
【0077】
キー種2114は、押下キー2112で示されるキーが、1つ前のレコードの押下キー2112で示されるキーと同じであるのか異なっているのかを示す。
【0078】
キー種2114「同」は、1つ前と同じキーが押下されたことを示し、「異」は、1つ前と異なるキーが押下されたことを示す。尚、セッションの最初のレコードの場合は、1つ前のキーにかかわらず「−」を設定する。
【0079】
例えば、セッションID2111が「432」、押下キー2112が「3」、押下間隔2113が「455」、キー種2114が「同」のレコードは、セッションIDが「432」で示されるセッション中に、番号「3」が記載されているキーが押下され、直近にキーが押下されてから「455」msec経過後に押下され、直近に押下されたキーと「同」じキーであることを示している。
【0080】
<確定時間の求め方>
ここで、実施形態1の携帯電話機1000の文字入力処理における確定時間の求め方について、図5を用いて説明する。尚、携帯電話機1000を使用し始めた時は、予め定めておいた初期値、例えば、1000msecを確定時間とする。
【0081】
図5は、携帯電話機1000が確定時間を算出する際の手順を示す図である。
【0082】
まず、押下間隔記憶部2100に記憶されている押下間隔テーブル2110の過去のセッションのデータから、特異セッションを予め除外する。
【0083】
例えば、セッション毎に押下間隔の平均値である平均押下間隔を算出し、セッション集合の平均押下間隔の、平均μ及び平均偏差σを算出する。各セッションの平均押下間隔が、所定の定数値Nに対して、μ±Nσの範囲になるセッションのみを抽出する。
【0084】
次に、抽出したセッションの押下間隔を基に、基準確定時間を算出する(ステップS12)。実施形態1では、以下の2つの方法のいずれかで基準確定時間を算出する。
【0085】
1つ目の方法は、抽出した全セッションの押下間隔の平均を算出し、その平均の所定の定数倍値、例えば、1.2倍の値を求めて基準確定時間とする(ステップS10)。
【0086】
2つ目の方法は、抽出した全セッションの押下間隔の所定の分位値、例えば、75パーセントクォンタイルである値を求めて基準確定時間とする(ステップS11)。
【0087】
ステップS10及びステップS11の処理において、抽出したセッションの押下間隔のうち、同一キーの押下間隔のみを用いて基準確定時間を求める。具体的には、押下間隔テーブル2110のキー種2114が「同」のレコードのみを用いて基準確定時間を求める。自動カーソル機能が作動するのは、同一キーが連続して押下される時である。従って、キー種2114が「同」のレコードのみを用いて求めた基準確定時間は、キー種2114が「異」のレコードも用いて求めた基準確定時間よりも、より理想に近い基準確定時間を求めることができる可能性が高いからである。
【0088】
尚、同一キーの押下間隔のみを用いるのではなく、全キーの押下間隔を用いてもよい。
【0089】
次に、求めた基準確定時間を現在のセッションにおけるユーザの状況に基づいて修正し、現在のセッションの新しい確定時間を求める(ステップS16)。
【0090】
抽出した過去のセッションにおける押下間隔の平均値(ステップS13)と、現在のセッションにおける押下間隔の平均値(ステップS14)とを求める。尚、現在のセッションにおける押下間隔の平均値は、現在のセッション中の現時点までの全ての押下間隔の平均値でも、新しい5回分の押下間隔の平均値であってもよい。
【0091】
過去のセッションの平均値に対する現在のセッションの平均値の比率を求め(ステップS15)、求めた比率を基準確定時間に乗算して、新しい確定時間とする(ステップS16)。現在の確定時間を、新しい確定時間で更新する(ステップS17)。
【0092】
例えば、過去のセッションにおける押下間隔の平均値が400msecであり、現在のセッションの押下間隔の平均値が600msecである場合、比率は1.5倍となる。基準確定時間が800msecである場合、新しい確定時間は1200msecとなる。
【0093】
ステップS13及びステップS14の処理においては、過去及び現在のセッションの押下間隔のうち、異なるキーの押下間隔のみを用いて平均値を求める。具体的には、押下間隔テーブル2110のキー種2114が「異」のレコードのみを用いて平均値を求める。異なるキーの押下間隔の方が、セッションにおけるユーザの状況をより的確に表すことが多いと考えられるからである。同一キーの押下間隔には、自動カーソル機能が作動するための確定時間をユーザが待つ時間が含まれるため、ユーザがキーを単純に押下する間隔を求めることができないからである。詳細には、同一キーの押下間隔には、キーに割り当てられている文字を選択する場合の押下間隔、自動カーソル機能の作動をユーザが待つ場合の押下間隔及びユーザの意図に沿わずに自動カーソル機能が作動してしまった押下間隔の3種類の押下間隔が含まれるため、ユーザの現在の状況を表すような単純な押下間隔を求め難いと考えられるからである。
【0094】
また、ステップS13及びステップS14の処理において、過去及び現在のセッションの押下間隔の平均値を求めているが、平均値でなくてもよい。例えば、2乗平均値等でもよい。すなわち、過去のセッションの押下間隔と現在のセッションの押下間隔とを比較できるような値であればよい。
【0095】
尚、異キーの押下間隔のみを用いるのではなく、全キーの押下間隔を用いてもよい。
【0096】
上述した確定時間の求め方では、過去のセッションから特異セッションを予め除外したセッションを基に基準確定時間等を算出しているが、特異セッションを除外しないで過去の全セッションを用いてもよい。
【0097】
また、基準確定時間として、押下間隔の平均値を用いてもよい。また、固定の値、例えば、1000msecを用いてもよい。
【0098】
<動作>
以下、実施形態1の携帯電話機1000の動作について図6〜図8を用いて説明する。
【0099】
図6は、携帯電話機1000の文字入力処理を示すフローチャートである。
【0100】
携帯電話機1000のユーザが、メール本文を入力する場合を例に説明する。
【0101】
操作部1020は、操作キーの押下等のユーザ操作を検知すると、その操作を全体制御部1010に通知する。
【0102】
通知を受けた全体制御部1010は、通知されたユーザ操作がメール作成の指示であると判断し、メール作成のための初期処理を行った後、文字入力制御部1100に文字入力処理を依頼する。
【0103】
依頼を受けた文字入力制御部1100は、ユーザの文字入力操作を待つ。
【0104】
操作部1020は、キーの押下を検出する(ステップS100)。
【0105】
検出したキーが文字入力処理を行うキー、例えば、文字入力キー30又はクリアキー等(図1参照)である場合(ステップS110:文字入力キー)、操作部1020は検出したキーを文字入力制御部1100に通知する。一方、文字入力処理を行うキー以外のキーを検出した場合(ステップS110:他のキー)、操作部1020はその旨を全体制御部1010に渡し、渡された全体制御部1010は押下されたキーに応じた処理を行い(ステップS280)、文字入力処理を終了する。
【0106】
文字入力処理を行うキーが押下された旨の通知を受けた文字入力制御部1100は、文字表示部1200と押下間隔検出部1400とに、キーが押下された旨を通知する。この際、押下されたキーの識別子も通知する。
【0107】
通知を受けた文字表示部1200は、文字入力制御部1100から通知されたキーの識別子をメモリに記憶する。また、自動カーソル部1300にキーが押下された旨を通知する。
【0108】
通知を受けた自動カーソル部1300は、確定時間の計測を0(ゼロ)から開始する(ステップS120)。
【0109】
自動カーソル部1300に通知をした文字表示部1200は、文字入力制御部1100から通知されたキーの識別子が、前回に押下されたキーの識別子と同一か否かを判断する(ステップS130)。
【0110】
今回押下されたキーが前回押下されたキーと異なるキーである場合(ステップS130:異キー)、文字表示部1200は、現在の表示文字を確定し(ステップS140)、今回押下されたキーに割り当てられている文字を表示文字としてディスプレイ1030に表示する。また、今回押下されたキーが右移動のカーソルキー14(図1参照)である場合は、カーソルを次の文字を入力する位置に移動する(ステップS150)。
【0111】
一方、今回押下されたキーが前回押下されたキーと同じキーである場合(ステップS130:同一キー)、文字表示部1200は、キーに割り当てられている次の文字をディスプレイ1030に表示する(ステップS160)。詳細には、現在の表示文字の代わりに次の文字を表示文字として表示する。
【0112】
確定時間の計測を開始した自動カーソル部1300は、計測している時間が、確定時間記憶部2000に記憶されている確定時間を超えた場合(ステップS170:Yes)は、その旨を文字表示部1200に通知する。
【0113】
通知を受けた文字表示部1200は、今回押下されてディスプレイ1030に表示されている表示文字を確定し(ステップS180)、カーソルを次の文字を入力する位置に移動する(ステップS190)。
【0114】
自動カーソル部1300が計測している時間が確定時間を超える前に(ステップS170:No)、キーの押下が検知された場合(ステップS100)は、ステップ110から繰り返される。
【0115】
文字入力制御部1100から、キーが押下された旨の通知及び押下されたキーの識別子の通知を受けた押下間隔検出部1400は、押下間隔を算出する(ステップS200)。
【0116】
具体的には、最初に文字入力制御部1100から通知を受けたときに、押下間隔検出部1400は、時間の計測を開始する。次に通知を受けたときに、計測している時間を押下間隔として記憶し、最初から時間の計測を開始する。
【0117】
また、押下間隔検出部1400は、算出した押下間隔がセッション境界間隔を超えているかを判断する(ステップS210)。セッション境界間隔は、予め記憶している。
【0118】
算出した押下間隔がセッション境界間隔を超えている場合(ステップS210:Yes)、押下間隔検出部1400は、セッションが終了した旨、文字入力制御部1100から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部1500に渡して、押下間隔テーブル2110(図4参照)への追加を依頼する。また、基準確定時間算出部1600に、セッションが終了した旨を通知する。
【0119】
追加を依頼された押下間隔追加部1500は、追加するレコードを生成する。
【0120】
具体的には、押下間隔テーブル2110に登録されている最後のレコードのセッションID2111に設定されている番号に1を加算した番号を、追加するレコードのセッションID2111として設定する(ステップS250)。最後のレコードがない場合、すなわち、追加するレコードが最初のレコードである場合は番号「1」を設定する。
【0121】
また、押下間隔検出部1400から渡されたキーの識別子と押下間隔とを、それぞれ押下キー2112と押下間隔2113として設定する。追加するレコードがセッションの最初のレコードであるので、キー種2114として「−」を設定する。
【0122】
追加するレコードを生成した押下間隔追加部1500は、生成したレコードを押下間隔テーブル2110の最後に追加する(ステップS260)。
【0123】
また、セッションが終了した旨を押下間隔検出部1400から通知された基準確定時間算出部1600は、押下間隔テーブル2110を参照して、終了したセッションを含む過去のセッションの情報に基づいて基準確定時間を算出し、メモリに記憶しておく(ステップS270)。基準確定時間算出処理については、図7を用いて後で説明する。
【0124】
一方、算出した押下間隔がセッション境界間隔を超えていない場合(ステップS210:No)、押下間隔検出部1400は、文字入力制御部1100から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部1500に渡して、押下間隔テーブル2110への追加を依頼する。
【0125】
追加を依頼された押下間隔追加部1500は、追加するレコードを生成する。
【0126】
追加するレコードの生成は、ステップS260と同様である。ただし、追加するレコードのセッションID2111として、押下間隔テーブル2110に登録されている最後のレコードのセッションID2111に設定されている番号を設定する。また、押下キー2112に設定したキーの識別子が、押下間隔テーブル2110に登録されている最後のレコードの押下キー2112に設定されているキーの識別子と同じ場合は、キー種2114として「同」を設定し、異なる場合は「異」を設定する。
【0127】
追加するレコードを生成した押下間隔追加部1500は、生成したレコードを押下間隔テーブル2110の最後に追加する(ステップS220)。
【0128】
レコードを追加した押下間隔追加部1500は、追加したレコードが現在のセッションにおける5つ目ごとのレコードであった場合は、確定時間算出部1800に新しい確定時間の算出を依頼する。すなわち、現在のセッションにおける押下間隔が5回求められた都度に、新しい確定時間を算出する。
【0129】
依頼を受けた確定時間算出部1800は、新しい確定時間を算出し、確定時間を更新する(ステップS240)。新しい確定時間の算出及び更新の処理は、図8を用いて後で説明する。
【0130】
図7は、基準確定時間を算出する処理のフローチャートである。
【0131】
この処理は、押下間隔平均算出部1700が行う処理である。また、この処理は、図5を用いて説明した<確定時間の求め方>のうちの基準確定時間の求め方の一例である。
【0132】
まず、押下間隔記憶部2100に記憶されている押下間隔テーブル2110の過去のセッション毎に押下間隔2113の平均値である平均押下間隔を算出する(ステップS300)。
【0133】
セッション集合の平均押下間隔の平均μ及び平均偏差σを算出する。各セッションの平均押下間隔が、所定の定数値Nに対して、μ±Nσの範囲になるセッションのみを抽出する(ステップS310)。
【0134】
抽出したセッションのうちの、キー種2114が「同」であるレコードの押下間隔2113の所定の分位値、例えば、75パーセントクォンタイルである値を基準確定時間として求める(ステップS320)。
【0135】
図8は、新確定時間の算出及び更新処理のフローチャートである。
【0136】
この処理は、確定時間算出部1800が行う処理である。また、この処理は、図5を用いて説明した<確定時間の求め方>のうちの新しい確定時間の求め方及び更新の一例である。
【0137】
まず、確定時間算出部1800は、新しい確定時間を求めて更新する意義があるかを検証する。更新する意義がなければ、新しい確定時間の算出を行う必要がないからである。
【0138】
確定時間算出部1800は、押下間隔記憶部2100に記憶されている押下間隔テーブル2110を参照して、現在のセッションの異キー押下間隔を抽出する(ステップS410)。
【0139】
具体的には、押下間隔テーブル2110に登録されている最後のレコードのセッションID2111に設定されている番号、すなわち、現在のセッションのセッションIDとセッションID2111が同じレコードのうち、キー種2114が「異」であるレコードの押下間隔2113を抽出する。
【0140】
次に、過去のセッションの異キー押下間隔を抽出する(ステップS420)。
【0141】
具体的には、現在のセッションのセッションIDよりセッションID2111が小さい番号のレコードのうち、キー種2114が「異」であるレコードの押下間隔2113を抽出する。尚、対象となるセッションは、図7のステップS310の処理において抽出したセッションである。
【0142】
確定時間算出部1800は、抽出した現在のセッションの異キー押下間隔の集合と過去のセッションの異キー押下間隔の集合とを、ウィルコクソン(Wilcoxon)検定により検定を行う(ステップS430)。
【0143】
予め定められた有意差があれば、新しい確定時間を求める。例えば5%有意であれば(ステップS440:Yes)、新しい確定時間を求める。有意差がなければ(ステップS440:No)、処理を終了する。
【0144】
5%有意である場合(ステップS440:Yes)、確定時間算出部1800は、過去のセッションと現在のセッションとの押下間隔の平均値を押下間隔平均算出部1700に要求する。
【0145】
要求を受けた押下間隔平均算出部1700は、押下間隔テーブル2110を参照して、過去のセッションの押下間隔の平均値と現在のセッションとの押下間隔の平均値とをそれぞれ算出する(ステップS450)。
【0146】
具体的には、押下間隔テーブル2110に登録されている最後のレコードのセッションID2111に設定されている番号、すなわち、現在のセッションのセッションIDとセッションID2111が同じレコードのうち、キー種2114が「異」であるレコードの押下間隔2113の平均を、現在のセッションの押下間隔の平均値として算出する。また、現在のセッションのセッションIDよりセッションID2111が小さいレコードのうち、キー種2114が「異」であるレコードの押下間隔2113の平均を、過去のセッションの押下間隔の平均値として算出する。尚、対象となるセッションは、図7のステップS310の処理において抽出したセッションである。
【0147】
それぞれの平均値を算出した押下間隔平均算出部1700は、算出した過去のセッションの平均値と現在のセッションの平均値とを、確定時間算出部1800に渡す。
【0148】
平均値を受け取った確定時間算出部1800は、基準確定時間算出部1600に基準確定時間を要求する。要求を受けた基準確定時間算出部1600は、記憶してある基準確定時間を読み出して確定時間算出部1800に渡す。
【0149】
基準確定時間を受け取った確定時間算出部1800は、過去のセッションの平均値に対する現在のセッションの平均値の比率を求める(ステップS460)。
【0150】
確定時間算出部1800は、求めた比率を基準確定時間に乗算して、新しい確定時間を求め(ステップS470)、確定時間記憶部2000に記憶されている現在の確定時間を新しい確定時間で更新する(ステップS480)。
<実施形態2>
実施形態1では、現在のユーザの状況を表す現在のキーの押下間隔に基づいて、過去のキーの押下間隔の平均時間を修正して確定時間を求めた。
【0151】
実施形態2では、誤確定を考慮して、確定時間を求める。「誤確定」とは、ユーザが予定していない文字の確定をいう。現在のユーザのキーの押下間隔にとって確定時間が短すぎ、自動カーソル機能が予想外に作動してしまうことによって生ずる。
【0152】
単なるキーの押下間隔は確定時間よりも短い。従って、自動カーソル機能があまり作動しないような文字入力作業を行った場合、押下間隔の平均値は単なるキーの押下間隔に近づいていくことになる。つまり、押下間隔の平均を確定時間とした場合、誤確定が頻発する可能性が高くなるという問題がある。
【0153】
実施形態2では、誤確定の起こる確率が高くなる押下間隔(以下、「峻別押下間隔」という。)を求め、現在のセッションの押下間隔と峻別押下間隔との比較に基づいて新しい確定時間を求める。
【0154】
以下、実施形態2の文字入力装置の例として携帯電話機を説明する。
【0155】
実施形態2の携帯電話機の外観は、図1を用いて説明した実施形態1の携帯電話機の外観と同様である。
【0156】
<誤確定判断方法>
図9を用いて、誤確定の判断方法について説明する。
【0157】
図9は、誤確定パターンの例を示すタイムチャートである。図9の見方は、図2と同様である。
【0158】
ユーザが、「せ」を入力するために操作を行う場合を例に説明する。
【0159】
ユーザは、キー「3」を連続して4回押下し、文字入力画面1005に表示文字「せ」を表示させようとする。
【0160】
図9では、まず、キー「3」が連続して3回押下され、文字入力画面1005に表示文字「す」が表示される(遷移画面2参照)。
【0161】
キー「3」の4回目の押下は、何らかの理由、例えば、電車が揺れた等の理由で若干遅れて、3回目の押下がなされてから表示文字「す」が表示されたままで1001msecが経過した時になされた。
【0162】
この場合、3回目の押下がなされてから確定時間1000msecが経過した時点で、自動カーソル機能が作動し、表示文字「す」が確定され、カーソルが次の文字に移動している(遷移画面3参照)。
【0163】
従って、キー「3」の4回目の押下によって、表示文字「す」が「せ」に変わるのではなく、確定文字「す」と表示文字「さ」とが表示されることになる(遷移画面4参照)。
【0164】
ユーザは、クリアキー15(図1参照)を2回押下して、カーソルを1文字目に戻す(遷移画面5及び遷移画面6参照)。その後、「せ」を入力するために、キー「3」を押下する。
【0165】
すなわち、クリアキー15が連続して2回押下され、その前後に押下されたキーが同じであることが、誤確定パターンであるといえる。
【0166】
携帯電話機1000は、押下されたキーの種類をセッションIDに対応づけて記憶する。従って、記憶されているキーの種類を参照して誤確定パターンをみつけることにより、誤確定の発生を推定することができる。
【0167】
<機能>
図10を用いて、携帯電話機3000の機能について説明する。
【0168】
図10は、携帯電話機3000の機能的構成の例を示すブロック図である。
【0169】
携帯電話機3000は、全体制御部1010、操作部1020、ディスプレイ1030、文字入力制御部1100、文字表示部1200、自動カーソル部3300、押下間隔検出部3400、押下間隔追加部3500、誤確定検出部3550、セッション評価表作成部3600、押下間隔平均算出部3700、確定時間算出部3800、峻別確定時間算出部3900、確定時間記憶部2000及び押下間隔記憶部4100を有する。
【0170】
全体制御部1010、操作部1020、ディスプレイ1030、文字入力制御部1100、文字表示部1200及び確定時間記憶部2000は、実施形態1の携帯電話機1000(図3参照)の全体制御部1010、操作部1020、ディスプレイ1030、文字入力制御部1100、文字表示部1200及び確定時間記憶部2000と同様の機能を有する。
【0171】
自動カーソル部3300は、表示文字が表示されたままの状態で確定時間を超えたときに、その旨を文字表示部1200に通知する機能を有する。また、その旨、すなわち、自動カーソル機能が作動した旨を押下間隔検出部3400に通知する。この自動カーソル部3300は、実施形態1の携帯電話機1000の自動カーソル部1300とほぼ同様の機能を有するが、自動カーソル機能が作動した旨を押下間隔検出部3400に通知する点が異なる。
【0172】
押下間隔検出部3400は、キーの押下間隔を測定する機能を有する。測定した押下間隔を押下間隔追加部3500に通知する。更に、押下間隔がセッション境界時間を超えていた場合は、押下間隔追加部3500及びセッション評価表作成部3600にセッションが終了した旨の通知を行う。
【0173】
押下間隔追加部3500は、押下間隔記憶部4100に記憶されている押下間隔テーブルにレコードを追加する機能を有する。この押下間隔追加部3500は、実施形態1の携帯電話機1000の押下間隔追加部1500とほぼ同様の機能を有するが、生成するレコードの構成が異なる。押下間隔テーブルについては、<データ>の項で説明する。
【0174】
誤確定検出部3550は、押下間隔記憶部4100に記憶されている押下間隔テーブルから誤確定パターンを検索する。
【0175】
セッション評価表作成部3600は、押下間隔記憶部4100に記憶している押下間隔テーブルを参照して、セッション評価表を作成する機能を有する。セッション評価表については、<データ>の項で説明する。
【0176】
押下間隔平均算出部3700は、現在のセッションの押下間隔の平均を求める機能を有する。現在のセッションの押下間隔の平均とは、セッションの途中である現時点までの数回の押下間隔、例えば、5回の押下間隔の平均である。
【0177】
確定時間算出部3800は、現在のセッションにおける確定時間を求める機能を有する。
【0178】
峻別確定時間算出部3900は、セッション評価表を基に、誤確定の起こる確率が高くなる押下間隔である峻別押下間隔を求める機能を有する。
【0179】
押下間隔記憶部4100は、押下間隔テーブルを記憶しておく機能を有する。
【0180】
上述した機能の全部または一部は、携帯電話機3000の有するCPUが、携帯電話機3000のメモリ等に記録されているプログラムを実行することにより実現される。
【0181】
<データ>
次に、実施形態2の携帯電話機3000で用いるデータについて図11及び図12を用いて説明する。図11を用いて説明するデータは、押下間隔記憶部4100に記憶されているデータである。図12を用いて説明するデータは、セッション評価表作成部3600が生成し、峻別確定時間算出部3900に渡すデータである。
【0182】
図11は、押下間隔テーブル4110の構成及び内容の例を示す図である。
【0183】
この押下間隔テーブル4110には、ユーザによってキーが押下される度に、1レコードが追加される。
【0184】
押下間隔テーブル4110は、セッションID4111、押下キー4112、押下間隔4113、キー種4114、自動カーソル4115及び誤確定3616を有する。
【0185】
セッションID4111、押下キー4112、押下間隔4113及びキー種2114は、図4を用いて説明した実施形態1の押下間隔テーブル2110のセッションID2111、押下キー2112、押下間隔2113、キー種2114とそれぞれ同様のものを示す。
【0186】
自動カーソル4115は、押下キー4112で示されるキーが押下されるまでに、自動カーソル機能が作動したかどうかを示す。「あり」は、自動カーソル機能が作動したことを示し、「−」は、作動しなかったことを示す。
【0187】
誤確定3616は、自動カーソル4115が「あり」で示された自動カーソル機能の作動による確定が、誤確定であったか否かを示す。「誤」は、誤確定であったことを示し、「正」は、誤確定ではなく正しい確定であったことを示す。
【0188】
図12は、セッション評価表3610の構成及び内容の例を示す図である。
【0189】
このセッション評価表3610には、セッションが終了する度に、1レコードが追加される。
【0190】
セッション評価表3610は、セッションID3611、自動カーソル作動回数3612、誤確定回数3613及び押下間隔平均3614を有する。
【0191】
セッションID3611は、セッションの識別子である。
【0192】
自動カーソル作動回数3612は、セッションID3611で示されるセッション中に、自動カーソル機能が作動した回数を示す。
【0193】
誤確定回数3613は、自動カーソル作動回数3612で示される作動回数のうち、発生したと推定される誤確定の数を示す。
【0194】
押下間隔平均3614は、セッションID3611で示されるセッション中のキーの押下間隔の平均値を示す。この押下間隔平均3614は、押下間隔の統計量の一例であり、実施形態2では異なるキーの押下間隔の平均値である。
【0195】
異なるキーの押下間隔の方が、セッションにおけるユーザの状況をより的確に表すことが多いと考えられるからである。
【0196】
尚、異キーの押下間隔のみを用いるのではなく、全キーの押下間隔を用いてもよい。
【0197】
<確定時間の求め方>
ここで、実施形態2の携帯電話機3000の文字入力処理における確定時間の求め方について、図13および図14を用いて説明する。
【0198】
図13は、確定時間を算出する際の手順の例を示す図である。図14は、決定木によるセッション群の分析例を示す図である。
【0199】
まず、押下間隔記憶部4100に記憶されている押下間隔テーブル4110の過去のセッションのデータから、セッション評価表3610(図12参照)を作成する(ステップS20)。この場合の押下間隔テーブル4110は、確定時間を一定の値、例えば、1000msecとしたままで、生成したものである。
【0200】
次に、統計手法の一例である決定木手法を用いて、誤確定が起こる確率の高い押下間隔を求める(図13のステップS21及び図14の上部に示す決定木参照)。
【0201】
まず、押下間隔平均3614で示される押下間隔の平均値と、自動カーソル作動回数3612と誤確定回数3613とから求められる誤確定の確率とを用いてセッションを分類する。
【0202】
誤確定の発生確率に大きな差が生ずる境の押下間隔を、峻別押下間隔とする。図14の決定木では、押下間隔平均が400msec以下のセッション群と、それ以外の群では、誤確定の発生率に大差がある。従って、この場合、峻別押下間隔は400msecとする。
【0203】
次に、求めた峻別押下間隔を基に、確定時間を求める。実施形態2では、以下の2つの方法のいずれかで確定時間を算出する。
【0204】
1つ目の方法は、現在のセッションの押下間隔の平均を算出し、その平均が峻別押下間隔を超えた場合に、現在の確定時間の所定の定数倍値、例えば、1.2倍の値を確定時間とする。
【0205】
2つ目の方法は、決定木で得られた各分類について、同一キーの押下間隔の分布を求め、決定木で得られた誤確定が起こる確率が最も低いと分類されたセッション群を基準セッション群として、各群の誤確定発生率が前記基準セッション群を超えないような確定時間を各分類毎に求める(図14の下部に示すグラフ参照)。
【0206】
例えば、右のグラフは、横軸に押下間隔を取り、縦軸に、押下間隔平均3614が400msec以下のセッションID3611で示されるセッション群の同一キーの押下間隔4113の相対累積度数を取ったものである。
【0207】
左のグラフは、横軸に押下間隔を取り、縦軸に、押下間隔平均3614が400msecより大きく700msec以下のセッションID3611で示されるセッション群の同一キーの押下間隔4113の相対累積度数を取ったものである。
【0208】
右のグラフにおいては、押下間隔が基準確定時間、すなわち、1000msecであるときの相対累積度数が「90%」であるので、誤確定率は最大でも「10%」と推定される。尚、基準確定時間は、実施形態1の図5において説明した基準確定時間と同様である。
【0209】
左のグラフにおいては、押下間隔が1000msecのときの相対累積度数が「38%」である。ここで、誤確定率が最大でも「10%」に抑えられるように相対累積度数が「90%」となる押下間隔を求める(白抜き矢印)。この求めた押下間隔、例えば、1250msecを確定時間とする。
【0210】
次に、現在のセッションの異キー押下間隔の平均値を求め(ステップS22)、求めた平均値が峻別押下間隔を超えた場合には、該当する分類での確定時間を新しい確定時間として求める(ステップS23、ステップS24)。求めた新しい確定時間で現在の確定時間を更新する(ステップS25、ステップS26)。
【0211】
例えば、現在のセッションの押下間隔の平均値が400msec以下の場合は、確定時間を1000msecとし、現在のセッションの押下間隔の平均値が400msecを超えた場合は、確定時間を1250secとする。
【0212】
<動作>
以下、実施形態2の携帯電話機3000の動作について図15及び図16を用いて説明する。
【0213】
図15は、携帯電話機3000の文字入力処理を示すフローチャートである。
【0214】
ここでは、携帯電話機3000の文字入力処理のうち、図6を用いて説明した実施形態1の携帯電話機1000の文字入力処理と異なる点を中心に説明する。尚、図15及び図6のフローチャートにおいて、ステップの番号が同じである処理は同様の処理である。
【0215】
図15のフローチャートの処理のうち図6のフローチャート処理と異なる処理は、ステップS510、ステップS520、ステップS530及びステップS540の処理である。
【0216】
以下、携帯電話機3000の文字入力処理を説明する。
【0217】
操作部1020は、文字入力処理を行うキーの押下を検出すると、検出したキーを文字入力制御部1100に通知する。
【0218】
通知を受けた文字入力制御部1100は、文字表示部1200と押下間隔検出部3400とに、キーが押下された旨を通知する。この際、押下されたキーの識別子も通知する。
【0219】
通知を受けた文字表示部1200は、自動カーソル部1300にキーが押下された旨を通知し、通知を受けた自動カーソル部1300は、確定時間の計測を0(ゼロ)から開始する(ステップS120)。
【0220】
自動カーソル部1300に通知をした文字表示部1200は、押下されたキーに応じた表示処理を行う(ステップS130〜ステップS160)。
【0221】
自動カーソル部1300は、計測している時間が、確定時間記憶部2000に記憶されている確定時間を超えた場合(ステップS170:Yes)は、その旨を文字表示部1200に通知する。
【0222】
通知を受けた文字表示部1200は、自動カーソル機能の処理を行う(ステップS180、ステップS190)。
【0223】
また、自動カーソル部1300は、自動カーソル機能が作動した旨を、押下間隔検出部3400に通知する。通知を受けた押下間隔検出部3400は、その旨をメモリに記憶する(ステップS540)。
【0224】
一方、文字入力制御部1100から、キーが押下された旨の通知及び押下されたキーの識別子の通知を受けた押下間隔検出部3400は、押下間隔を算出する(ステップS200)。
【0225】
また、押下間隔検出部3400は、算出した押下間隔がセッション境界間隔を超えているかを判断する(ステップS210)。
【0226】
算出した押下間隔がセッション境界間隔を超えている場合(ステップS210:Yes)、押下間隔検出部3400は、セッションが終了した旨、文字入力制御部1100から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部3500に渡して、押下間隔テーブル4110(図11参照)への追加を依頼する。また、セッション評価表作成部3600に、セッションが終了した旨を通知する。
【0227】
追加を依頼された押下間隔追加部3500は、追加するレコードを生成する。
【0228】
具体的には、新しいセッションIDを、追加するレコードのセッションID4111として設定する(ステップS250)。また、押下間隔検出部3400から渡されたキーの識別子と押下間隔とを、それぞれ押下キー4112と押下間隔4113として設定する。キー種4114として「−」を設定する。
【0229】
また、メモリに自動カーソル機能が作動した旨がメモリに記憶されている場合は、自動カーソル4115として「あり」を設定し、メモリに記憶されている自動カーソル機能が作動した旨を消去する。誤確定3616には「正」を設定する。
【0230】
追加するレコードを生成した押下間隔追加部3500は、生成したレコードを押下間隔テーブル4110の最後に追加する(ステップS260)。
【0231】
レコードを追加した押下間隔追加部3500は、誤確定検出部3550に誤確定の検索を依頼する。
【0232】
依頼を受けた誤確定検出部3550は、誤確定パターンを検索し、誤確定パターンを検出した場合は、該当するレコードの誤確定4116の「正」を「誤」に書き換える。
【0233】
例えば、押下キー4112が「3」のレコードを追加する場合、押下間隔テーブル4110の最後からの4つのレコードが、順に「3」、「クリア」、「クリア」、「3」であり、1つ目の「3」のレコードの自動カーソル4115が「あり」の場合は、そのレコードの誤確定3616を「正」から「誤」に書き換える。
【0234】
また、セッションが終了した旨を押下間隔検出部3400から通知されたセッション評価表作成部3600は、押下間隔テーブル4110を参照して、終了したセッションを含む過去のセッションの情報に基づいてセッション評価表3610を生成して、峻別確定時間算出部3900に渡す(ステップS520)。
【0235】
セッション評価表3610を受け取った峻別確定時間算出部3900は、セッション評価表3610を基に、峻別確定時間と決定木で得られた各分類についての確定時間とを求める。
【0236】
一方、算出した押下間隔がセッション境界間隔を超えていない場合(ステップS210:No)、押下間隔検出部3400は、文字入力制御部1100から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部3500に渡して、押下間隔テーブル4110への追加を依頼する。
【0237】
追加を依頼された押下間隔追加部3500は、追加するレコードを生成する。
【0238】
追加するレコードの生成は、ステップS260と同様である。ただし、追加するレコードのセッションID2111として、現在のセッションIDを設定する。また、押下キー4112に設定したキーの識別子が、押下間隔テーブル4110に登録されている最後のレコードの押下キー4112に設定されているキーの識別子と同じ場合は、キー種4114として「同」を設定し、異なる場合は「異」を設定する。
【0239】
追加するレコードを生成した押下間隔追加部3500は、生成したレコードを押下間隔テーブル4110の最後に追加する(ステップS220)。
【0240】
また、レコードを追加した押下間隔追加部3500は、誤確定検出部3550に誤確定の検索を依頼し、依頼を受けた誤確定検出部3550は、誤確定パターンを検索し、誤確定パターンを検出した場合は、該当するレコードの誤確定4116の「正」を「誤」に書き換える。
【0241】
レコードを追加した押下間隔追加部3500は、追加したレコードが現在のセッションにおける5つ目ごとのレコードであった場合は(ステップS230:Yes)、確定時間算出部3800に新しい確定時間の算出を依頼する。
【0242】
依頼を受けた確定時間算出部3800は、新しい確定時間を算出し、確定時間を更新する(ステップS510)。新しい確定時間の算出及び更新の処理は、図16を用いて説明する。
【0243】
図16は、新確定時間の算出及び更新処理のフローチャートである。
【0244】
この処理は、確定時間算出部3800が行う処理である。また、この処理は、図13を用いて説明した<確定時間の求め方>のうちの新しい確定時間の求め方及び更新の一例である。
【0245】
まず、確定時間算出部3800は、セッション評価表3610を基に、決定木処方を用いて、峻別確定時間として、誤確定が起こる確率の高い押下間隔を求める(図14の決定木参照)。押下間隔平均3614で示される押下間隔の平均値と、自動カーソル作動回数3612と誤確定回数3613とから求められる誤確定の確率とを用いて分類する。
【0246】
決定木で得られた各分類について、同一キーの押下間隔の分布を求める(ステップS600)。
【0247】
各群の誤確定発生率が同一となるような確定時間を求める(ステップS610)。
【0248】
確定時間算出部3800は、現在のセッションの押下間隔の平均値を押下間隔平均算出部3700に要求する。
【0249】
要求を受けた押下間隔平均算出部3700は、押下間隔テーブル4110を参照して、現在のセッションの押下間隔の平均値を算出する(ステップS620)。
【0250】
具体的には、押下間隔テーブル2110に登録されている最後のレコードのセッションID2111に設定されている番号、すなわち、現在のセッションのセッションIDとセッションID2111が同じレコードのうち、キー種2114が「異」であるレコードの押下間隔2113の平均を、現在のセッションの押下間隔の平均値として算出する。
【0251】
平均値を算出した押下間隔平均算出部3700は、算出した現在のセッションの平均値を、確定時間算出部3800に渡す。
【0252】
平均値を受け取った確定時間算出部3800は、渡された平均値に応じた分類での確定時間を新しい確定時間として求めて現在の確定時間を更新する(ステップS630)。
【0253】
<補足>
以上、本発明の実施形態について説明したが、本発明は上記形態に限らず、以下のようにしてもよい。
(1)実施形態では、文字入力装置として携帯電話機を例に説明したが、他の装置であってもよい。携帯装置に限らず、据え置き型の装置であってもよい。
(2)携帯電話機1000等は、図3等の各構成要素の全部又は一部を、1チップ又は複数チップの集積回路で実現してもよい。
(3)携帯電話機1000等は、図3等の各構成要素の全部又は一部を、コンピュータのプログラムで実現してもよいし、その他どのような形態で実施してもよい。
【0254】
コンピュータプログラムの場合、メモリカード、CD−ROMなどいかなる記録媒体に書き込まれたものをコンピュータに読み込ませて実行させる形にしてもよいし、ネットワークを経由してプログラムをダウンロードして実行させる形にしてもよい。
【符号の説明】
【0255】
10 ソフト対応キー
20 機能キー
30 文字入力キー
1000 3000 携帯電話機
1004 ディスプレイ
1010 全体制御部
1020 操作部
1030 ディスプレイ
1100 文字入力制御部
1200 文字表示部
1300 3300 自動カーソル部
1400 3400 押下間隔検出部
1500 3500 押下間隔追加部
1600 基準確定時間算出部
1700 3700 押下間隔平均算出部
1800 3800 確定時間算出部
2000 確定時間記憶部
2100 4100 押下間隔記憶部
2110 4110 押下間隔テーブル
3550 誤確定検出部
3600 セッション評価表作成部
3610 セッション評価表
3900 峻別確定時間算出部

【特許請求の範囲】
【請求項1】
各々に複数の文字が割り当てられている複数のキーと、
キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段と、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得手段と、
取得した押下間隔を記憶する押下間隔記憶手段と、
直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶手段に記憶されている押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する確定時間更新手段と
を備える文字入力装置。
【請求項2】
前記押下間隔記憶手段は、前記確定時間よりも長い時間であるように予め設定されたセッション境界時間を超える押下間隔が取得された位置を区切りとした時間帯であるセッションを示すセッション識別子と、当該セッションに検知したキーの押下間隔とを対応付けて記憶し、
前記確定時間更新手段における前記比率とは、現在のセッションを示すセッション識別子と対応付けて記憶されている押下間隔に基づいて求めた値と、過去のセッションを示すセッション識別子と対応付けて記憶されている押下間隔に基づいて求めた値との比率である
請求項1記載の文字入力装置。
【請求項3】
前記確定時間更新手段は、前記押下間隔記憶手段に記憶されている押下間隔の平均値の所定の定数倍の値、又は、記憶されている押下間隔の所定のクォンタイルの値である基準確定時間を、前記比率に応じて修正した値で、前記確定時間を更新する
請求項1記載の文字入力装置。
【請求項4】
前記基準確定時間は、前記押下間隔記憶手段に記憶されている押下間隔のうち、当該押下間隔の平均値を基準にした所定の範囲内にある押下間隔を用いて求められた値である
請求項3記載の文字入力装置。
【請求項5】
前記確定時間更新手段が、前記値を押下間隔に基づいて求める際に用いる押下間隔は、押下されたキーとその直近に押下されたキーとが異なるキーである場合の押下間隔である
請求項1または請求項2に記載の文字入力装置。
【請求項6】
前記確定時間更新手段は、現在のセッションを示すセッション識別子と対応付けて記憶されている押下間隔が、過去のセッションを示すセッション識別子と対応付けて記憶されている押下間隔と比べて一定の有意差がある場合にのみ、前記確定時間を更新する
請求項2記載の文字入力装置。
【請求項7】
前記押下間隔に基づいて求めた値とは、押下間隔の平均値である
請求項1または請求項2に記載の文字入力装置。
【請求項8】
各々に複数の文字が割り当てられている複数のキーと、
キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段と、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得手段と、
取得した押下間隔を記憶する押下間隔記憶手段と、
前記文字確定手段が行った文字の確定が誤っていたと判断する誤確定判断手段と、
前記押下間隔記憶手段に記憶されている押下間隔と、前記文字確定手段が行った文字の確定回数と、前記誤確定判断手段で誤っていたと判断された確定の回数とに基づいて、キーの押下に関する値であって誤確定が起きる確率が当該値の前後で変化する値である峻別押下間隔を求める峻別押下間隔算出手段と、
直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記確定時間を更新する確定時間更新手段と
を備える文字入力装置。
【請求項9】
前記峻別押下間隔算出手段が、前記峻別押下間隔を押下間隔に基づいて求める際に用いる押下間隔は、押下されたキーとその直近に押下されたキーとが異なるキーである場合の押下間隔である
請求項8記載の文字入力装置。
【請求項10】
前記峻別押下間隔算出手段は、前記押下間隔記憶手段に記憶されている押下間隔と、前記文字確定手段が行った文字の確定回数と、前記誤確定判断手段で誤っていたと判断された確定の回数とに基づいて、統計手法として決定木を用いて峻別押下間隔を求める
請求項8記載の文字入力装置。
【請求項11】
前記確定時間更新部は、直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記文字確定手段が行う文字の確定の回数に対する前記誤確定判断手段で誤っていたと判断される確定の回数の割合がほぼ変化しないような確定時間で前記確定時間を更新する
請求項8記載の文字入力装置。
【請求項12】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させる更新方法であって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得させ、
取得した押下間隔を記憶させ、
直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む記憶させた押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新させる
更新方法。
【請求項13】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させるコンピュータプログラムであって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得処理を実行させ、
取得した押下間隔を記憶する押下間隔記憶処理を実行させ、
直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶処理で記憶させた押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する確定時間更新処理を実行させる
コンピュータプログラム。
【請求項14】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させる更新方法であって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得させ、
取得した押下間隔を記憶させ、
前記文字確定手段が行った文字の確定が誤っていたか否かを判断させ、
前記記憶された押下間隔と、前記文字確定手段が行った文字の確定回数と、誤っていたと判断された確定の回数とに基づいて、キーの押下に関する値であって誤確定が起きる確率が当該値の前後で変化する値である峻別押下間隔を求めさせ、
直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記確定時間を更新させる
更新方法。
【請求項15】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち1文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させるコンピュータプログラムであって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得処理を実行させ、
取得した押下間隔を記憶する押下間隔記憶処理を実行させ、
前記文字確定手段が行った文字の確定が誤っていたか否かを判断する誤確定判断処理を実行させ、
前記押下間隔記憶処理で記憶された押下間隔と、前記文字確定手段が行った文字の確定回数と、前記誤確定判断処理で誤っていたと判断された確定の回数とに基づいて、キーの押下に関する値であって誤確定が起きる確率が当該値の前後で変化する値である峻別押下間隔を求める峻別押下間隔算出処理を実行させ、
直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記確定時間を更新する確定時間更新処理を実行させる
コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2011−28429(P2011−28429A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−172042(P2009−172042)
【出願日】平成21年7月23日(2009.7.23)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】