(57)【要約】【課題】ユーザが文字入力を行っている状況に応じて、自動カーソル機能が作動する時間を設定することを目的とする。【解決手段】文字入力装置は、各々に複数の文字が割り当てられている複数のキーとを有し、キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定し、キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得して記憶しておき、直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶手段に記憶されている押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する。【選択図】図３
2011028429.tif 000002
【特許請求の範囲】
【請求項１】
各々に複数の文字が割り当てられている複数のキーと、
キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段と、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得手段と、
取得した押下間隔を記憶する押下間隔記憶手段と、
直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶手段に記憶されている押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する確定時間更新手段と
を備える文字入力装置。
【請求項２】
前記押下間隔記憶手段は、前記確定時間よりも長い時間であるように予め設定されたセッション境界時間を超える押下間隔が取得された位置を区切りとした時間帯であるセッションを示すセッション識別子と、当該セッションに検知したキーの押下間隔とを対応付けて記憶し、
前記確定時間更新手段における前記比率とは、現在のセッションを示すセッション識別子と対応付けて記憶されている押下間隔に基づいて求めた値と、過去のセッションを示すセッション識別子と対応付けて記憶されている押下間隔に基づいて求めた値との比率である
請求項１記載の文字入力装置。
【請求項３】
前記確定時間更新手段は、前記押下間隔記憶手段に記憶されている押下間隔の平均値の所定の定数倍の値、又は、記憶されている押下間隔の所定のクォンタイルの値である基準確定時間を、前記比率に応じて修正した値で、前記確定時間を更新する
請求項１記載の文字入力装置。
【請求項４】
前記基準確定時間は、前記押下間隔記憶手段に記憶されている押下間隔のうち、当該押下間隔の平均値を基準にした所定の範囲内にある押下間隔を用いて求められた値である
請求項３記載の文字入力装置。
【請求項５】
前記確定時間更新手段が、前記値を押下間隔に基づいて求める際に用いる押下間隔は、押下されたキーとその直近に押下されたキーとが異なるキーである場合の押下間隔である
請求項１または請求項２に記載の文字入力装置。
【請求項６】
前記確定時間更新手段は、現在のセッションを示すセッション識別子と対応付けて記憶されている押下間隔が、過去のセッションを示すセッション識別子と対応付けて記憶されている押下間隔と比べて一定の有意差がある場合にのみ、前記確定時間を更新する
請求項２記載の文字入力装置。
【請求項７】
前記押下間隔に基づいて求めた値とは、押下間隔の平均値である
請求項１または請求項２に記載の文字入力装置。
【請求項８】
各々に複数の文字が割り当てられている複数のキーと、
キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段と、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得手段と、
取得した押下間隔を記憶する押下間隔記憶手段と、
前記文字確定手段が行った文字の確定が誤っていたと判断する誤確定判断手段と、
前記押下間隔記憶手段に記憶されている押下間隔と、前記文字確定手段が行った文字の確定回数と、前記誤確定判断手段で誤っていたと判断された確定の回数とに基づいて、キーの押下に関する値であって誤確定が起きる確率が当該値の前後で変化する値である峻別押下間隔を求める峻別押下間隔算出手段と、
直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記確定時間を更新する確定時間更新手段と
を備える文字入力装置。
【請求項９】
前記峻別押下間隔算出手段が、前記峻別押下間隔を押下間隔に基づいて求める際に用いる押下間隔は、押下されたキーとその直近に押下されたキーとが異なるキーである場合の押下間隔である
請求項８記載の文字入力装置。
【請求項１０】
前記峻別押下間隔算出手段は、前記押下間隔記憶手段に記憶されている押下間隔と、前記文字確定手段が行った文字の確定回数と、前記誤確定判断手段で誤っていたと判断された確定の回数とに基づいて、統計手法として決定木を用いて峻別押下間隔を求める
請求項８記載の文字入力装置。
【請求項１１】
前記確定時間更新部は、直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記文字確定手段が行う文字の確定の回数に対する前記誤確定判断手段で誤っていたと判断される確定の回数の割合がほぼ変化しないような確定時間で前記確定時間を更新する
請求項８記載の文字入力装置。
【請求項１２】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させる更新方法であって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得させ、
取得した押下間隔を記憶させ、
直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む記憶させた押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新させる
更新方法。
【請求項１３】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させるコンピュータプログラムであって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得処理を実行させ、
取得した押下間隔を記憶する押下間隔記憶処理を実行させ、
直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶処理で記憶させた押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する確定時間更新処理を実行させる
コンピュータプログラム。
【請求項１４】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させる更新方法であって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得させ、
取得した押下間隔を記憶させ、
前記文字確定手段が行った文字の確定が誤っていたか否かを判断させ、
前記記憶された押下間隔と、前記文字確定手段が行った文字の確定回数と、誤っていたと判断された確定の回数とに基づいて、キーの押下に関する値であって誤確定が起きる確率が当該値の前後で変化する値である峻別押下間隔を求めさせ、
直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記確定時間を更新させる
更新方法。
【請求項１５】
各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段とを有する文字入力装置に、前記確定時間を更新させるコンピュータプログラムであって、
キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得処理を実行させ、
取得した押下間隔を記憶する押下間隔記憶処理を実行させ、
前記文字確定手段が行った文字の確定が誤っていたか否かを判断する誤確定判断処理を実行させ、
前記押下間隔記憶処理で記憶された押下間隔と、前記文字確定手段が行った文字の確定回数と、前記誤確定判断処理で誤っていたと判断された確定の回数とに基づいて、キーの押下に関する値であって誤確定が起きる確率が当該値の前後で変化する値である峻別押下間隔を求める峻別押下間隔算出処理を実行させ、
直前の複数の押下間隔に基づいて求めた値が前記峻別押下間隔を超えた場合には、前記確定時間を更新する確定時間更新処理を実行させる
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーを使用して文字を入力する技術に関する。
【背景技術】
【０００２】
ユーザが携帯電話機等の携帯端末でメール等を作成する場合、「あ行」から「わ行」及び数字、記号、絵等である文字が、それぞれ割り当てられたキーを操作して文字を入力する。
【０００３】
携帯端末は小型化が進み、人が操作できる大きさのキーを配置できる面積が限られることから、1つのキーに複数の文字を割り当てることでキーの数よりも多い文字の入力を可能としている。
【０００４】
キーに割り当てられている複数の文字のうちの１文字を入力する場合は、キーを連続押下して文字を切り替え、所望の文字に切り替わったときに確定の操作を行うことで所望の文字を入力する。確定の操作とは、異なるキーの押下又はカーソルの移動等である。
【０００５】
それぞれ異なるキーに割り当てられている２文字を連続して入力する場合は、２文字目の入力のためのキーの押下が１文字目の確定の操作の役割も果たす。しかし、それぞれ同一キーに割り当てられている２文字を連続して入力する場合は、２文字目の入力のためのキーの押下が１文字目の確定の操作とはならないため、１文字目を確定するためにカーソル移動等の確定の操作を必ず行う必要がある。
【０００６】
ここで、確定の操作の代わりに、キーが押下された後所定時間が経過したら文字を確定してカーソルを移動する技術がある（以下、「自動カーソル機能」という。）。この技術によれば、同一キーに割り当てられている文字を連続して入力する場合に、カーソル移動等の操作をわざわざ行わなくてよいという利点がある。
【０００７】
また、文字を確定するまでの上記所定時間（以下、「確定時間」という。）を、ユーザに応じて変更する技術がある。
【０００８】
例えば、ユーザがキーを押下する間隔の平均時間を、確定時間とする技術である（特許文献１参照）。キーの押下間隔はユーザ毎の習熟の度合い等によって異なり、押下間隔が短いユーザにとっては確定時間も短い方が使い勝手がよいと考えられるからである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−２０７５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、この技術では、ユーザ個人のキー押下間隔に対応する確定時間を求めることはできるが、ユーザ個人の現在のキー押下間隔に対応する確定時間を求めることはできない。
【００１１】
例えば、電車の中でメールを作成しているときのキーの押下間隔は、自宅等でメールを作成するときのキーの押下間隔よりも、電車の揺れ等の影響で長い場合が多い。この場合、過去のキーの押下間隔の平均時間を確定時間とすると、使い勝手が悪くなる可能性がある。すなわち、現在のキーの押下間隔にとっては確定時間が短すぎ、自動カーソル機能が予想外に作動してしまう可能性があるからである。言い換えれば、ユーザが予定していない文字の確定（以下、「誤確定」という。）がなされてしまう可能性がある。
【００１２】
そこで、本発明は、ユーザが文字入力を行っている状況に応じた確定時間を設定することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の１形態に係る文字入力装置は、各々に複数の文字が割り当てられている複数のキーと、キーの押下を検知すると、当該キーに割り当てられている文字のうち１文字を選択し、検知したときからの経過時間が所定の時間である確定時間を経過したときに、選択されている文字を確定する文字確定手段と、キーの押下を検知したときから次にキーの押下を検知したときまでの時間である押下間隔を取得する取得手段と、取得した押下間隔を記憶する押下間隔記憶手段と、直前の複数の押下間隔に基づいて求めた値と当該直前の複数の押下間隔以外の押下間隔を含む前記押下間隔記憶手段に記憶されている押下間隔に基づいて求めた値との比率を用いて求めた値で、前記確定時間を更新する確定時間更新手段と、を有する。
【発明の効果】
【００１４】
上記構成の文字入力装置は、ユーザが文字入力を行っている状況に応じた確定時間を求めて設定することができる。
【図面の簡単な説明】
【００１５】
【図１】携帯電話機の外観及び文字入力処理時の画面の例を示す図である。
【図２】セッション及び自動カーソル機能の作動例を示すタイムチャートである。
【図３】携帯電話機の機能的構成の例を示すブロック図である。
【図４】押下間隔テーブルの構成及び内容の例を示す図である。
【図５】確定時間を算出する際の手順の例を示す図である。
【図６】携帯電話機の文字入力処理を示すフローチャートである。
【図７】基準確定時間を算出する処理のフローチャートである。
【図８】新確定時間の算出及び更新処理のフローチャートである。
【図９】誤確定パターンの例を示すタイムチャートである。
【図１０】実施形態２の携帯電話機の機能的構成の例を示すブロック図である。
【図１１】実施形態２の押下間隔テーブルの構成及び内容の例を示す図である。
【図１２】セッション評価表の構成及び内容の例を示す図である。
【図１３】実施形態２の確定時間を算出する際の手順の例を示す図である。
【図１４】決定木によるセッション群の分析例を示す図である。
【図１５】実施形態２の携帯電話機の文字入力処理を示すフローチャートである。
【図１６】実施形態２の新確定時間の算出及び更新処理のフローチャートである。
【発明を実施するための形態】
【００１６】
＜実施形態１＞
実施形態１の文字入力装置が行う文字入力処理においては、自動カーソル機能が作動するタイミングを示す確定時間として、過去のキーの押下間隔の平均時間を用いるのではなく、現在のユーザの状況を表す現在のキーの押下間隔に基づいて修正した平均時間を用いる。ユーザの状況とは、ユーザの体調、作成している文章の内容、キー操作の習熟度又は電車に乗っている等の作業環境等をいう。
【００１７】
入力作業を行っているユーザの現在のキーの押下間隔を抽出するために、実施形態１では、セッションという概念を取り入れる。
【００１８】
セッションとは、ユーザの一連の文字入力作業を行っている所定の時間帯であり、一定時間のキーの押下間隔を区切りとした時間帯である。区切りとする押下間隔（以下、「セッション境界時間」という。）は、確定時間よりも十分大きな時間、例えば、１分を用いる。１分の間、文字入力が行われないということは、その前後でユーザの状況が変化した可能性があると推定できるからである。
【００１９】
実施形態１の文字入力装置は、キーの押下間隔をセッションに対応付けて記憶しておく。
【００２０】
そして、現在のセッションにおける確定時間を、現在のセッションにおける押下間隔と過去のセッションの押下間隔とに基づいて求める。詳細には、現在のセッションが開始されてからの押下間隔を観察して、過去のセッションにおける確定時間を基に現在のセッションの確定時間を修正していく。すなわち、ユーザが現在置かれている状況が反映されている押下間隔を観察して確定時間を修正していくので、ユーザにとってより使い勝手の良い自動カーソル機能となる。
【００２１】
また、通常使用しているユーザと異なるユーザが文字入力装置を一時的に使用する場合であっても、その異なるユーザの習熟度等に応じて確定間隔を修正していくので、一時的に使用するユーザにとっても、より使い勝手の良い自動カーソル機能となる。
【００２２】
以下、文字入力装置の例として携帯電話機を説明する。
【００２３】
＜機能＞
図１は、携帯電話機の外観及び文字入力処理時の画面の例を示す図である。
【００２４】
携帯電話機１０００は、いわゆる折り畳み式携帯電話機であり、図１は、開いた携帯電話機１０００を正面から見たところを示している。
【００２５】
携帯電話機１０００は、第１筐体１００１と第２筐体１００２と、これらを結合するヒンジ１００３とを含む。
【００２６】
第１筐体１００１は、ディスプレイ１００４を備える。
【００２７】
ユーザが文字入力を行う場合、ディスプレイ１００４には、２つの画面が並んで表示される。文字入力画面１００５及びソフトキー表示画面１００６である。
【００２８】
文字入力画面１００５は、ユーザが作成するメール等の本文を表示する画面であり、入力した仮名文字等を表示する画面である。
【００２９】
ソフトキー表示画面１００６は、文字入力処理において用いるソフトキーを表示する画面である。
【００３０】
ソフトキー表示画面１００６に表示されたソフトキー「確定」は、入力された仮名文字及び仮名漢字変換後の文字列を確定するためのキーであり、ソフトキー「絵」は、絵文字等を表示させるキーである。ソフトキー「英数」は、英字、数字等を入力するモードへ切り替えさせるキーである。
【００３１】
また、第２筐体１００２は、操作キーを備える。操作キーは、ソフトキー対応キー１０、機能キー２０及び文字入力キー３０に分類される。
【００３２】
ソフトキー対応キー１０のうち、キー１１は、ソフトキー「確定」に対応する。また、キー１２及びキー１３は、それぞれ、ソフトキー「英数」及びソフトキー「絵」に該当する。
【００３３】
キー１４は、ディスプレイ１００４に表示されるカーソルを上下左右に移動するために使用するカーソルキーである。例えば、入力した仮名文字を確定してカーソルを進めるために用いられる。
【００３４】
機能キー２０のキー「発信」は、電話発信キーであり、キー「切断」は、電話通話切断キーである。これら２つのキーは、文字入力処理では使用しない。
【００３５】
キー「クリア」は、文字入力画面１００５に表示された仮名文字列等を消去するためのキーである。
【００３６】
文字入力キー３０は、いわゆるテンキーであり、それぞれのキーに対応付けされている文字を入力するためのキーである。尚、図１では、各キーには数字が記載されているが、数字の他に「あ行」〜「わ行」等が対応付けられている。例えば、キー「１」には「あ行」が、キー「２」には「か行」が割り当てられている。
【００３７】
次に、セッション及び自動カーソル機能の作動例を、図２を用いて説明する。
【００３８】
図２は、セッション及び自動カーソル機能の作動例を示すタイムチャートである。
【００３９】
この例においては、確定時間が１０００ｍｓｅｃ（ミリ秒）であるとする。また、セッション境界時間は、１分、すなわち６００００ｍｓｅｃであるとする。
【００４０】
１段目は、セッションＩＤを示す。セッションＩＤとは、セッションの識別子である。
【００４１】
２段目は、押下されたキーの識別子を示す。角丸矩形の中の数字が、押下されたキーに記載されている数字であり、キーの識別子である。
【００４２】
３段目は、押下間隔を示す。間隔を示す単位はｍｓｅｃ（ミリ秒）である。携帯電話機１０００は、この押下間隔を記憶していく。
【００４３】
４段目は、表示された文字を示す。２段目で示すキーが押下されたことにより文字入力画面１００５に表示された仮名文字を示す。まだ確定していない文字を、以下「表示文字」というものとする。
【００４４】
５段目は、確定した文字を示す。２段目で示すキーが押下されたことにより確定した、又は、３段目に示す押下間隔に応じて自動カーソル機能により確定した仮名文字を示す。矩形の中の文字が、確定した仮名文字である。確定した文字を、以下「確定文字」というものとする。
【００４５】
最下段の遷移画面１〜遷移画面７は、文字入力画面１００５に表示された文字の遷移を示す。黒の矩形はカーソルを示す。
【００４６】
まず、キー「３」が押下され、文字入力画面１００５に表示文字「さ」が表示される。この押下により新たなセッションであるセッションＩＤ「４３２」のセッションが開始される。キー「３」が押下されるまでの押下間隔がセッション境界時間を超えた「６０１００」ｍｓｅｃであるからである。
【００４７】
次に、押下間隔「４５５」ｍｓｅｃ経過後にキー「３」押下され、文字入力画面１００５に表示文字「し」が表示される（遷移画面１参照）。更に、２回連続してキー「３」が押下され、表示文字「す」及び「せ」が順次表示される（遷移画面２及び遷移画面３参照）。表示文字「せ」が表示されている状態で確定時間１０００ｍｓｅｃが経過し、自動カーソル機能が作動する。すなわち、表示文字「せ」が確定され、カーソルが次の文字に移動する（遷移画面４参照）。
【００４８】
次に、押下間隔「１２２０」ｍｓｅｃ経過後にキー「２」が押下され、文字入力画面１００５に「か」が表示される（遷移画面５参照）。押下間隔「７８０」ｍｓｅｃ経過後にキー「１」が押下され、表示文字「か」が確定され、「あ」が表示される（遷移画面６参照）。押下間隔「４８７」ｍｓｅｃ経過後にキー「１」が再び押下されて、「い」が表示される（遷移画面７参照）。その後、確定時間１０００ｍｓｅｃが経過し、自動カーソル機能が作動し、「い」が確定してカーソルが移動する。その後、文字入力処理が続けられる。
【００４９】
セッション境界時間を超えた「７００００」ｍｓｅｃの押下間隔の後にキー「４」が押下されると、セッションＩＤ「４３２」のセッションは終了され、新たなセッションであるセッションＩＤ「４３３」のセッションが開始される。
【００５０】
携帯電話機１０００は、セッションＩＤに対応づけた押下間隔を所定数、例えば、１０００セッション分記憶する。
【００５１】
次に、図３を用いて、携帯電話機１０００の機能について説明する。
【００５２】
図３は、携帯電話機１０００の機能的構成の例を示すブロック図である。
【００５３】
携帯電話機１０００は、全体制御部１０１０、操作部１０２０、ディスプレイ１０３０、文字入力制御部１１００、文字表示部１２００、自動カーソル部１３００、押下間隔検出部１４００、押下間隔追加部１５００、基準確定時間算出部１６００、押下間隔平均算出部１７００、確定時間算出部１８００、確定時間記憶部２０００及び押下間隔記憶部２１００を有する。
【００５４】
全体制御部１０１０は、通話、着呼及びメールの作成等、携帯電話機１０００に必要な一般的な制御処理を行い、文字入力処理を行う際には文字入力制御部１１００に制御を渡す機能を有する。
【００５５】
次に、操作部１０２０は、第２筐体１００２の操作キーを含み、ユーザからの操作、例えば、キーの押下等を検出する機能を有する。
【００５６】
ディスプレイ１０３０は、液晶ディスプレイパネルを含み、文字表示部１２００の指示により、当該ディスプレイパネルにメール本文等を表示する機能を有する。
【００５７】
文字入力制御部１１００は、以下に説明する各機能部に指示を出して文字入力処理を行う機能を有する。例えば、キーが押下された旨を押下間隔検出部１４００に通知し、押下間隔の検出依頼を行う。また、押下されたキーを文字表示部１２００に通知し、文字入力画面１００５に文字の表示依頼を行う等である。
【００５８】
文字表示部１２００は、ディスプレイ１０３０の文字入力画面１００５に、文字及びカーソル等を表示する機能を有する。また、右方向へのカーソル移動を指示するキーが押下されたことを文字入力制御部１１００から通知された場合は、表示文字を確定してカーソルを移動させる。自動カーソル部１３００から確定時間が経過した旨の通知を受けた場合も、同様に、表示文字を確定してカーソルを移動させる。
【００５９】
自動カーソル部１３００は、表示文字が表示されたままの状態で確定時間が経過したときに、その旨を文字表示部１２００に通知する機能を有する。詳細には、キーが押下されて表示文字を表示したことを文字表示部１２００から通知されたときから時間の計測を開始し、計測している時間が確定時間を超えたときに、その旨を文字表示部１２００に通知する。
【００６０】
押下間隔検出部１４００は、キーの押下間隔を測定する機能を有する。詳細には、文字入力制御部１１００からキーが押下された旨の通知を受けた時から時間の計測を開始する。キーが押下された旨の通知を次に受けたときに、押下間隔検出部１４００は、計測していた時間を押下間隔として押下間隔追加部１５００に通知する。そして、新たに時間の計測を開始する。
【００６１】
更に、押下間隔検出部１４００は、計測していた時間である押下間隔がセッション境界時間を超えていた場合は、押下間隔追加部１５００及び基準確定時間算出部１６００にセッションが終了した旨の通知を行う。
【００６２】
押下間隔追加部１５００は、押下間隔記憶部２１００に記憶されている押下間隔テーブルにレコードを追加する機能を有する。押下間隔テーブルについては、＜データ＞の項で説明する。また、定期的に、例えば、５つのレコードを追加する毎に、確定時間算出部１８００に確定時間を求めるよう依頼する。
【００６３】
基準確定時間算出部１６００は、過去のセッションの押下間隔に基づいて基準確定時間を算出する機能を有する。基準確定時間とは、過去のセッションにおける通常の確定時間であると推測される確定時間である。この基準確定時間の求め方は、＜確定時間の求め方＞の項で説明する。
【００６４】
押下間隔平均算出部１７００は、過去のセッション及び現在のセッションの押下間隔のそれぞれの平均を求める機能を有する。尚、現在のセッションの押下間隔の平均とは、セッションの途中である現時点までの数回の押下間隔、例えば、５回の押下間隔の平均である。
【００６５】
確定時間算出部１８００は、現在のセッションにおける確定時間を求める機能を有する。ここで求めた確定時間は、以後、現在のセッションにおける確定時間として使用される。
【００６６】
また、確定時間算出部１８００は、定期的に確定時間を求める。例えば、５回の押下がある毎に押下間隔追加部１５００から依頼され確定時間を求める。定期的に確定時間を更新することで、ユーザの状況をきめ細かく反映した確定時間とすることができる。
【００６７】
確定時間記憶部２０００は、確定時間を記憶しておく機能を有する。
【００６８】
押下間隔記憶部２１００は、押下間隔テーブルを記憶しておく機能を有する。
【００６９】
上述した機能の全部または一部は、携帯電話機１０００の有するＣＰＵが、携帯電話機１０００のメモリ等に記録されているプログラムを実行することにより実現される。
【００７０】
＜データ＞
次に、実施形態１の携帯電話機１０００で用いるデータについて図４を用いて説明する。図４を用いて説明するデータは、押下間隔記憶部２１００に記憶されているデータである。
【００７１】
図４は、押下間隔テーブル２１１０の構成及び内容の例を示す図である。
【００７２】
この押下間隔テーブル２１１０には、ユーザによってキーが押下される度に、１レコードが追加される。
【００７３】
押下間隔テーブル２１１０は、セッションＩＤ２１１１、押下キー２１１２、押下間隔２１１３及びキー種２１１４を有する。
【００７４】
セッションＩＤ２１１１は、セッションの識別子を示す。
【００７５】
押下キー２１１２は、押下されたキーの識別子を示す。このテーブルでは、押下されたキーが文字入力キー３０（図１参照）である場合は、キーに記載されている番号を識別子として記載する。また、押下されたキーが機能キー２０である場合は、「クリア」等を記載する。尚、実施形態１では、文字入力キーとクリアキー１５のみを押下間隔テーブル２１１０に登録するものとする。
【００７６】
押下間隔２１１３は、押下キー２１１２で示されるキーが押下されるまでの時間、すなわち、１つ前のレコードの押下キー２１１２で示されるキーが押下された時からの時間を示す。
【００７７】
キー種２１１４は、押下キー２１１２で示されるキーが、１つ前のレコードの押下キー２１１２で示されるキーと同じであるのか異なっているのかを示す。
【００７８】
キー種２１１４「同」は、１つ前と同じキーが押下されたことを示し、「異」は、１つ前と異なるキーが押下されたことを示す。尚、セッションの最初のレコードの場合は、１つ前のキーにかかわらず「−」を設定する。
【００７９】
例えば、セッションＩＤ２１１１が「４３２」、押下キー２１１２が「３」、押下間隔２１１３が「４５５」、キー種２１１４が「同」のレコードは、セッションＩＤが「４３２」で示されるセッション中に、番号「３」が記載されているキーが押下され、直近にキーが押下されてから「４５５」ｍｓｅｃ経過後に押下され、直近に押下されたキーと「同」じキーであることを示している。
【００８０】
＜確定時間の求め方＞
ここで、実施形態１の携帯電話機１０００の文字入力処理における確定時間の求め方について、図５を用いて説明する。尚、携帯電話機１０００を使用し始めた時は、予め定めておいた初期値、例えば、１０００ｍｓｅｃを確定時間とする。
【００８１】
図５は、携帯電話機１０００が確定時間を算出する際の手順を示す図である。
【００８２】
まず、押下間隔記憶部２１００に記憶されている押下間隔テーブル２１１０の過去のセッションのデータから、特異セッションを予め除外する。
【００８３】
例えば、セッション毎に押下間隔の平均値である平均押下間隔を算出し、セッション集合の平均押下間隔の、平均μ及び平均偏差σを算出する。各セッションの平均押下間隔が、所定の定数値Ｎに対して、μ±Ｎσの範囲になるセッションのみを抽出する。
【００８４】
次に、抽出したセッションの押下間隔を基に、基準確定時間を算出する（ステップＳ１２）。実施形態１では、以下の２つの方法のいずれかで基準確定時間を算出する。
【００８５】
１つ目の方法は、抽出した全セッションの押下間隔の平均を算出し、その平均の所定の定数倍値、例えば、１．２倍の値を求めて基準確定時間とする（ステップＳ１０）。
【００８６】
２つ目の方法は、抽出した全セッションの押下間隔の所定の分位値、例えば、７５パーセントクォンタイルである値を求めて基準確定時間とする（ステップＳ１１）。
【００８７】
ステップＳ１０及びステップＳ１１の処理において、抽出したセッションの押下間隔のうち、同一キーの押下間隔のみを用いて基準確定時間を求める。具体的には、押下間隔テーブル２１１０のキー種２１１４が「同」のレコードのみを用いて基準確定時間を求める。自動カーソル機能が作動するのは、同一キーが連続して押下される時である。従って、キー種２１１４が「同」のレコードのみを用いて求めた基準確定時間は、キー種２１１４が「異」のレコードも用いて求めた基準確定時間よりも、より理想に近い基準確定時間を求めることができる可能性が高いからである。
【００８８】
尚、同一キーの押下間隔のみを用いるのではなく、全キーの押下間隔を用いてもよい。
【００８９】
次に、求めた基準確定時間を現在のセッションにおけるユーザの状況に基づいて修正し、現在のセッションの新しい確定時間を求める（ステップＳ１６）。
【００９０】
抽出した過去のセッションにおける押下間隔の平均値（ステップＳ１３）と、現在のセッションにおける押下間隔の平均値（ステップＳ１４）とを求める。尚、現在のセッションにおける押下間隔の平均値は、現在のセッション中の現時点までの全ての押下間隔の平均値でも、新しい５回分の押下間隔の平均値であってもよい。
【００９１】
過去のセッションの平均値に対する現在のセッションの平均値の比率を求め（ステップＳ１５）、求めた比率を基準確定時間に乗算して、新しい確定時間とする（ステップＳ１６）。現在の確定時間を、新しい確定時間で更新する（ステップＳ１７）。
【００９２】
例えば、過去のセッションにおける押下間隔の平均値が４００ｍｓｅｃであり、現在のセッションの押下間隔の平均値が６００ｍｓｅｃである場合、比率は１．５倍となる。基準確定時間が８００ｍｓｅｃである場合、新しい確定時間は１２００ｍｓｅｃとなる。
【００９３】
ステップＳ１３及びステップＳ１４の処理においては、過去及び現在のセッションの押下間隔のうち、異なるキーの押下間隔のみを用いて平均値を求める。具体的には、押下間隔テーブル２１１０のキー種２１１４が「異」のレコードのみを用いて平均値を求める。異なるキーの押下間隔の方が、セッションにおけるユーザの状況をより的確に表すことが多いと考えられるからである。同一キーの押下間隔には、自動カーソル機能が作動するための確定時間をユーザが待つ時間が含まれるため、ユーザがキーを単純に押下する間隔を求めることができないからである。詳細には、同一キーの押下間隔には、キーに割り当てられている文字を選択する場合の押下間隔、自動カーソル機能の作動をユーザが待つ場合の押下間隔及びユーザの意図に沿わずに自動カーソル機能が作動してしまった押下間隔の３種類の押下間隔が含まれるため、ユーザの現在の状況を表すような単純な押下間隔を求め難いと考えられるからである。
【００９４】
また、ステップＳ１３及びステップＳ１４の処理において、過去及び現在のセッションの押下間隔の平均値を求めているが、平均値でなくてもよい。例えば、２乗平均値等でもよい。すなわち、過去のセッションの押下間隔と現在のセッションの押下間隔とを比較できるような値であればよい。
【００９５】
尚、異キーの押下間隔のみを用いるのではなく、全キーの押下間隔を用いてもよい。
【００９６】
上述した確定時間の求め方では、過去のセッションから特異セッションを予め除外したセッションを基に基準確定時間等を算出しているが、特異セッションを除外しないで過去の全セッションを用いてもよい。
【００９７】
また、基準確定時間として、押下間隔の平均値を用いてもよい。また、固定の値、例えば、１０００ｍｓｅｃを用いてもよい。
【００９８】
＜動作＞
以下、実施形態１の携帯電話機１０００の動作について図６〜図８を用いて説明する。
【００９９】
図６は、携帯電話機１０００の文字入力処理を示すフローチャートである。
【０１００】
携帯電話機１０００のユーザが、メール本文を入力する場合を例に説明する。
【０１０１】
操作部１０２０は、操作キーの押下等のユーザ操作を検知すると、その操作を全体制御部１０１０に通知する。
【０１０２】
通知を受けた全体制御部１０１０は、通知されたユーザ操作がメール作成の指示であると判断し、メール作成のための初期処理を行った後、文字入力制御部１１００に文字入力処理を依頼する。
【０１０３】
依頼を受けた文字入力制御部１１００は、ユーザの文字入力操作を待つ。
【０１０４】
操作部１０２０は、キーの押下を検出する（ステップＳ１００）。
【０１０５】
検出したキーが文字入力処理を行うキー、例えば、文字入力キー３０又はクリアキー等（図１参照）である場合（ステップＳ１１０：文字入力キー）、操作部１０２０は検出したキーを文字入力制御部１１００に通知する。一方、文字入力処理を行うキー以外のキーを検出した場合（ステップＳ１１０：他のキー）、操作部１０２０はその旨を全体制御部１０１０に渡し、渡された全体制御部１０１０は押下されたキーに応じた処理を行い（ステップＳ２８０）、文字入力処理を終了する。
【０１０６】
文字入力処理を行うキーが押下された旨の通知を受けた文字入力制御部１１００は、文字表示部１２００と押下間隔検出部１４００とに、キーが押下された旨を通知する。この際、押下されたキーの識別子も通知する。
【０１０７】
通知を受けた文字表示部１２００は、文字入力制御部１１００から通知されたキーの識別子をメモリに記憶する。また、自動カーソル部１３００にキーが押下された旨を通知する。
【０１０８】
通知を受けた自動カーソル部１３００は、確定時間の計測を０（ゼロ）から開始する（ステップＳ１２０）。
【０１０９】
自動カーソル部１３００に通知をした文字表示部１２００は、文字入力制御部１１００から通知されたキーの識別子が、前回に押下されたキーの識別子と同一か否かを判断する（ステップＳ１３０）。
【０１１０】
今回押下されたキーが前回押下されたキーと異なるキーである場合（ステップＳ１３０：異キー）、文字表示部１２００は、現在の表示文字を確定し（ステップＳ１４０）、今回押下されたキーに割り当てられている文字を表示文字としてディスプレイ１０３０に表示する。また、今回押下されたキーが右移動のカーソルキー１４（図１参照）である場合は、カーソルを次の文字を入力する位置に移動する（ステップＳ１５０）。
【０１１１】
一方、今回押下されたキーが前回押下されたキーと同じキーである場合（ステップＳ１３０：同一キー）、文字表示部１２００は、キーに割り当てられている次の文字をディスプレイ１０３０に表示する（ステップＳ１６０）。詳細には、現在の表示文字の代わりに次の文字を表示文字として表示する。
【０１１２】
確定時間の計測を開始した自動カーソル部１３００は、計測している時間が、確定時間記憶部２０００に記憶されている確定時間を超えた場合（ステップＳ１７０：Ｙｅｓ）は、その旨を文字表示部１２００に通知する。
【０１１３】
通知を受けた文字表示部１２００は、今回押下されてディスプレイ１０３０に表示されている表示文字を確定し（ステップＳ１８０）、カーソルを次の文字を入力する位置に移動する（ステップＳ１９０）。
【０１１４】
自動カーソル部１３００が計測している時間が確定時間を超える前に（ステップＳ１７０：Ｎｏ）、キーの押下が検知された場合（ステップＳ１００）は、ステップ１１０から繰り返される。
【０１１５】
文字入力制御部１１００から、キーが押下された旨の通知及び押下されたキーの識別子の通知を受けた押下間隔検出部１４００は、押下間隔を算出する（ステップＳ２００）。
【０１１６】
具体的には、最初に文字入力制御部１１００から通知を受けたときに、押下間隔検出部１４００は、時間の計測を開始する。次に通知を受けたときに、計測している時間を押下間隔として記憶し、最初から時間の計測を開始する。
【０１１７】
また、押下間隔検出部１４００は、算出した押下間隔がセッション境界間隔を超えているかを判断する（ステップＳ２１０）。セッション境界間隔は、予め記憶している。
【０１１８】
算出した押下間隔がセッション境界間隔を超えている場合（ステップＳ２１０：Ｙｅｓ）、押下間隔検出部１４００は、セッションが終了した旨、文字入力制御部１１００から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部１５００に渡して、押下間隔テーブル２１１０（図４参照）への追加を依頼する。また、基準確定時間算出部１６００に、セッションが終了した旨を通知する。
【０１１９】
追加を依頼された押下間隔追加部１５００は、追加するレコードを生成する。
【０１２０】
具体的には、押下間隔テーブル２１１０に登録されている最後のレコードのセッションＩＤ２１１１に設定されている番号に１を加算した番号を、追加するレコードのセッションＩＤ２１１１として設定する（ステップＳ２５０）。最後のレコードがない場合、すなわち、追加するレコードが最初のレコードである場合は番号「１」を設定する。
【０１２１】
また、押下間隔検出部１４００から渡されたキーの識別子と押下間隔とを、それぞれ押下キー２１１２と押下間隔２１１３として設定する。追加するレコードがセッションの最初のレコードであるので、キー種２１１４として「−」を設定する。
【０１２２】
追加するレコードを生成した押下間隔追加部１５００は、生成したレコードを押下間隔テーブル２１１０の最後に追加する（ステップＳ２６０）。
【０１２３】
また、セッションが終了した旨を押下間隔検出部１４００から通知された基準確定時間算出部１６００は、押下間隔テーブル２１１０を参照して、終了したセッションを含む過去のセッションの情報に基づいて基準確定時間を算出し、メモリに記憶しておく（ステップＳ２７０）。基準確定時間算出処理については、図７を用いて後で説明する。
【０１２４】
一方、算出した押下間隔がセッション境界間隔を超えていない場合（ステップＳ２１０：Ｎｏ）、押下間隔検出部１４００は、文字入力制御部１１００から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部１５００に渡して、押下間隔テーブル２１１０への追加を依頼する。
【０１２５】
追加を依頼された押下間隔追加部１５００は、追加するレコードを生成する。
【０１２６】
追加するレコードの生成は、ステップＳ２６０と同様である。ただし、追加するレコードのセッションＩＤ２１１１として、押下間隔テーブル２１１０に登録されている最後のレコードのセッションＩＤ２１１１に設定されている番号を設定する。また、押下キー２１１２に設定したキーの識別子が、押下間隔テーブル２１１０に登録されている最後のレコードの押下キー２１１２に設定されているキーの識別子と同じ場合は、キー種２１１４として「同」を設定し、異なる場合は「異」を設定する。
【０１２７】
追加するレコードを生成した押下間隔追加部１５００は、生成したレコードを押下間隔テーブル２１１０の最後に追加する（ステップＳ２２０）。
【０１２８】
レコードを追加した押下間隔追加部１５００は、追加したレコードが現在のセッションにおける５つ目ごとのレコードであった場合は、確定時間算出部１８００に新しい確定時間の算出を依頼する。すなわち、現在のセッションにおける押下間隔が５回求められた都度に、新しい確定時間を算出する。
【０１２９】
依頼を受けた確定時間算出部１８００は、新しい確定時間を算出し、確定時間を更新する（ステップＳ２４０）。新しい確定時間の算出及び更新の処理は、図８を用いて後で説明する。
【０１３０】
図７は、基準確定時間を算出する処理のフローチャートである。
【０１３１】
この処理は、押下間隔平均算出部１７００が行う処理である。また、この処理は、図５を用いて説明した＜確定時間の求め方＞のうちの基準確定時間の求め方の一例である。
【０１３２】
まず、押下間隔記憶部２１００に記憶されている押下間隔テーブル２１１０の過去のセッション毎に押下間隔２１１３の平均値である平均押下間隔を算出する（ステップＳ３００）。
【０１３３】
セッション集合の平均押下間隔の平均μ及び平均偏差σを算出する。各セッションの平均押下間隔が、所定の定数値Ｎに対して、μ±Ｎσの範囲になるセッションのみを抽出する（ステップＳ３１０）。
【０１３４】
抽出したセッションのうちの、キー種２１１４が「同」であるレコードの押下間隔２１１３の所定の分位値、例えば、７５パーセントクォンタイルである値を基準確定時間として求める（ステップＳ３２０）。
【０１３５】
図８は、新確定時間の算出及び更新処理のフローチャートである。
【０１３６】
この処理は、確定時間算出部１８００が行う処理である。また、この処理は、図５を用いて説明した＜確定時間の求め方＞のうちの新しい確定時間の求め方及び更新の一例である。
【０１３７】
まず、確定時間算出部１８００は、新しい確定時間を求めて更新する意義があるかを検証する。更新する意義がなければ、新しい確定時間の算出を行う必要がないからである。
【０１３８】
確定時間算出部１８００は、押下間隔記憶部２１００に記憶されている押下間隔テーブル２１１０を参照して、現在のセッションの異キー押下間隔を抽出する（ステップＳ４１０）。
【０１３９】
具体的には、押下間隔テーブル２１１０に登録されている最後のレコードのセッションＩＤ２１１１に設定されている番号、すなわち、現在のセッションのセッションＩＤとセッションＩＤ２１１１が同じレコードのうち、キー種２１１４が「異」であるレコードの押下間隔２１１３を抽出する。
【０１４０】
次に、過去のセッションの異キー押下間隔を抽出する（ステップＳ４２０）。
【０１４１】
具体的には、現在のセッションのセッションＩＤよりセッションＩＤ２１１１が小さい番号のレコードのうち、キー種２１１４が「異」であるレコードの押下間隔２１１３を抽出する。尚、対象となるセッションは、図７のステップＳ３１０の処理において抽出したセッションである。
【０１４２】
確定時間算出部１８００は、抽出した現在のセッションの異キー押下間隔の集合と過去のセッションの異キー押下間隔の集合とを、ウィルコクソン（Wilcoxon）検定により検定を行う（ステップＳ４３０）。
【０１４３】
予め定められた有意差があれば、新しい確定時間を求める。例えば５％有意であれば（ステップＳ４４０：Ｙｅｓ）、新しい確定時間を求める。有意差がなければ（ステップＳ４４０：Ｎｏ）、処理を終了する。
【０１４４】
５％有意である場合（ステップＳ４４０：Ｙｅｓ）、確定時間算出部１８００は、過去のセッションと現在のセッションとの押下間隔の平均値を押下間隔平均算出部１７００に要求する。
【０１４５】
要求を受けた押下間隔平均算出部１７００は、押下間隔テーブル２１１０を参照して、過去のセッションの押下間隔の平均値と現在のセッションとの押下間隔の平均値とをそれぞれ算出する（ステップＳ４５０）。
【０１４６】
具体的には、押下間隔テーブル２１１０に登録されている最後のレコードのセッションＩＤ２１１１に設定されている番号、すなわち、現在のセッションのセッションＩＤとセッションＩＤ２１１１が同じレコードのうち、キー種２１１４が「異」であるレコードの押下間隔２１１３の平均を、現在のセッションの押下間隔の平均値として算出する。また、現在のセッションのセッションＩＤよりセッションＩＤ２１１１が小さいレコードのうち、キー種２１１４が「異」であるレコードの押下間隔２１１３の平均を、過去のセッションの押下間隔の平均値として算出する。尚、対象となるセッションは、図７のステップＳ３１０の処理において抽出したセッションである。
【０１４７】
それぞれの平均値を算出した押下間隔平均算出部１７００は、算出した過去のセッションの平均値と現在のセッションの平均値とを、確定時間算出部１８００に渡す。
【０１４８】
平均値を受け取った確定時間算出部１８００は、基準確定時間算出部１６００に基準確定時間を要求する。要求を受けた基準確定時間算出部１６００は、記憶してある基準確定時間を読み出して確定時間算出部１８００に渡す。
【０１４９】
基準確定時間を受け取った確定時間算出部１８００は、過去のセッションの平均値に対する現在のセッションの平均値の比率を求める（ステップＳ４６０）。
【０１５０】
確定時間算出部１８００は、求めた比率を基準確定時間に乗算して、新しい確定時間を求め（ステップＳ４７０）、確定時間記憶部２０００に記憶されている現在の確定時間を新しい確定時間で更新する（ステップＳ４８０）。
＜実施形態２＞
実施形態１では、現在のユーザの状況を表す現在のキーの押下間隔に基づいて、過去のキーの押下間隔の平均時間を修正して確定時間を求めた。
【０１５１】
実施形態２では、誤確定を考慮して、確定時間を求める。「誤確定」とは、ユーザが予定していない文字の確定をいう。現在のユーザのキーの押下間隔にとって確定時間が短すぎ、自動カーソル機能が予想外に作動してしまうことによって生ずる。
【０１５２】
単なるキーの押下間隔は確定時間よりも短い。従って、自動カーソル機能があまり作動しないような文字入力作業を行った場合、押下間隔の平均値は単なるキーの押下間隔に近づいていくことになる。つまり、押下間隔の平均を確定時間とした場合、誤確定が頻発する可能性が高くなるという問題がある。
【０１５３】
実施形態２では、誤確定の起こる確率が高くなる押下間隔（以下、「峻別押下間隔」という。）を求め、現在のセッションの押下間隔と峻別押下間隔との比較に基づいて新しい確定時間を求める。
【０１５４】
以下、実施形態２の文字入力装置の例として携帯電話機を説明する。
【０１５５】
実施形態２の携帯電話機の外観は、図１を用いて説明した実施形態１の携帯電話機の外観と同様である。
【０１５６】
＜誤確定判断方法＞
図９を用いて、誤確定の判断方法について説明する。
【０１５７】
図９は、誤確定パターンの例を示すタイムチャートである。図９の見方は、図２と同様である。
【０１５８】
ユーザが、「せ」を入力するために操作を行う場合を例に説明する。
【０１５９】
ユーザは、キー「３」を連続して４回押下し、文字入力画面１００５に表示文字「せ」を表示させようとする。
【０１６０】
図９では、まず、キー「３」が連続して３回押下され、文字入力画面１００５に表示文字「す」が表示される（遷移画面２参照）。
【０１６１】
キー「３」の４回目の押下は、何らかの理由、例えば、電車が揺れた等の理由で若干遅れて、３回目の押下がなされてから表示文字「す」が表示されたままで１００１ｍｓｅｃが経過した時になされた。
【０１６２】
この場合、３回目の押下がなされてから確定時間１０００ｍｓｅｃが経過した時点で、自動カーソル機能が作動し、表示文字「す」が確定され、カーソルが次の文字に移動している（遷移画面３参照）。
【０１６３】
従って、キー「３」の４回目の押下によって、表示文字「す」が「せ」に変わるのではなく、確定文字「す」と表示文字「さ」とが表示されることになる（遷移画面４参照）。
【０１６４】
ユーザは、クリアキー１５（図１参照）を２回押下して、カーソルを1文字目に戻す（遷移画面５及び遷移画面６参照）。その後、「せ」を入力するために、キー「３」を押下する。
【０１６５】
すなわち、クリアキー１５が連続して２回押下され、その前後に押下されたキーが同じであることが、誤確定パターンであるといえる。
【０１６６】
携帯電話機１０００は、押下されたキーの種類をセッションＩＤに対応づけて記憶する。従って、記憶されているキーの種類を参照して誤確定パターンをみつけることにより、誤確定の発生を推定することができる。
【０１６７】
＜機能＞
図１０を用いて、携帯電話機３０００の機能について説明する。
【０１６８】
図１０は、携帯電話機３０００の機能的構成の例を示すブロック図である。
【０１６９】
携帯電話機３０００は、全体制御部１０１０、操作部１０２０、ディスプレイ１０３０、文字入力制御部１１００、文字表示部１２００、自動カーソル部３３００、押下間隔検出部３４００、押下間隔追加部３５００、誤確定検出部３５５０、セッション評価表作成部３６００、押下間隔平均算出部３７００、確定時間算出部３８００、峻別確定時間算出部３９００、確定時間記憶部２０００及び押下間隔記憶部４１００を有する。
【０１７０】
全体制御部１０１０、操作部１０２０、ディスプレイ１０３０、文字入力制御部１１００、文字表示部１２００及び確定時間記憶部２０００は、実施形態１の携帯電話機１０００（図３参照）の全体制御部１０１０、操作部１０２０、ディスプレイ１０３０、文字入力制御部１１００、文字表示部１２００及び確定時間記憶部２０００と同様の機能を有する。
【０１７１】
自動カーソル部３３００は、表示文字が表示されたままの状態で確定時間を超えたときに、その旨を文字表示部１２００に通知する機能を有する。また、その旨、すなわち、自動カーソル機能が作動した旨を押下間隔検出部３４００に通知する。この自動カーソル部３３００は、実施形態１の携帯電話機１０００の自動カーソル部１３００とほぼ同様の機能を有するが、自動カーソル機能が作動した旨を押下間隔検出部３４００に通知する点が異なる。
【０１７２】
押下間隔検出部３４００は、キーの押下間隔を測定する機能を有する。測定した押下間隔を押下間隔追加部３５００に通知する。更に、押下間隔がセッション境界時間を超えていた場合は、押下間隔追加部３５００及びセッション評価表作成部３６００にセッションが終了した旨の通知を行う。
【０１７３】
押下間隔追加部３５００は、押下間隔記憶部４１００に記憶されている押下間隔テーブルにレコードを追加する機能を有する。この押下間隔追加部３５００は、実施形態１の携帯電話機１０００の押下間隔追加部１５００とほぼ同様の機能を有するが、生成するレコードの構成が異なる。押下間隔テーブルについては、＜データ＞の項で説明する。
【０１７４】
誤確定検出部３５５０は、押下間隔記憶部４１００に記憶されている押下間隔テーブルから誤確定パターンを検索する。
【０１７５】
セッション評価表作成部３６００は、押下間隔記憶部４１００に記憶している押下間隔テーブルを参照して、セッション評価表を作成する機能を有する。セッション評価表については、＜データ＞の項で説明する。
【０１７６】
押下間隔平均算出部３７００は、現在のセッションの押下間隔の平均を求める機能を有する。現在のセッションの押下間隔の平均とは、セッションの途中である現時点までの数回の押下間隔、例えば、５回の押下間隔の平均である。
【０１７７】
確定時間算出部３８００は、現在のセッションにおける確定時間を求める機能を有する。
【０１７８】
峻別確定時間算出部３９００は、セッション評価表を基に、誤確定の起こる確率が高くなる押下間隔である峻別押下間隔を求める機能を有する。
【０１７９】
押下間隔記憶部４１００は、押下間隔テーブルを記憶しておく機能を有する。
【０１８０】
上述した機能の全部または一部は、携帯電話機３０００の有するＣＰＵが、携帯電話機３０００のメモリ等に記録されているプログラムを実行することにより実現される。
【０１８１】
＜データ＞
次に、実施形態２の携帯電話機３０００で用いるデータについて図１１及び図１２を用いて説明する。図１１を用いて説明するデータは、押下間隔記憶部４１００に記憶されているデータである。図１２を用いて説明するデータは、セッション評価表作成部３６００が生成し、峻別確定時間算出部３９００に渡すデータである。
【０１８２】
図１１は、押下間隔テーブル４１１０の構成及び内容の例を示す図である。
【０１８３】
この押下間隔テーブル４１１０には、ユーザによってキーが押下される度に、１レコードが追加される。
【０１８４】
押下間隔テーブル４１１０は、セッションＩＤ４１１１、押下キー４１１２、押下間隔４１１３、キー種４１１４、自動カーソル４１１５及び誤確定３６１６を有する。
【０１８５】
セッションＩＤ４１１１、押下キー４１１２、押下間隔４１１３及びキー種２１１４は、図４を用いて説明した実施形態１の押下間隔テーブル２１１０のセッションＩＤ２１１１、押下キー２１１２、押下間隔２１１３、キー種２１１４とそれぞれ同様のものを示す。
【０１８６】
自動カーソル４１１５は、押下キー４１１２で示されるキーが押下されるまでに、自動カーソル機能が作動したかどうかを示す。「あり」は、自動カーソル機能が作動したことを示し、「−」は、作動しなかったことを示す。
【０１８７】
誤確定３６１６は、自動カーソル４１１５が「あり」で示された自動カーソル機能の作動による確定が、誤確定であったか否かを示す。「誤」は、誤確定であったことを示し、「正」は、誤確定ではなく正しい確定であったことを示す。
【０１８８】
図１２は、セッション評価表３６１０の構成及び内容の例を示す図である。
【０１８９】
このセッション評価表３６１０には、セッションが終了する度に、１レコードが追加される。
【０１９０】
セッション評価表３６１０は、セッションＩＤ３６１１、自動カーソル作動回数３６１２、誤確定回数３６１３及び押下間隔平均３６１４を有する。
【０１９１】
セッションＩＤ３６１１は、セッションの識別子である。
【０１９２】
自動カーソル作動回数３６１２は、セッションＩＤ３６１１で示されるセッション中に、自動カーソル機能が作動した回数を示す。
【０１９３】
誤確定回数３６１３は、自動カーソル作動回数３６１２で示される作動回数のうち、発生したと推定される誤確定の数を示す。
【０１９４】
押下間隔平均３６１４は、セッションＩＤ３６１１で示されるセッション中のキーの押下間隔の平均値を示す。この押下間隔平均３６１４は、押下間隔の統計量の一例であり、実施形態２では異なるキーの押下間隔の平均値である。
【０１９５】
異なるキーの押下間隔の方が、セッションにおけるユーザの状況をより的確に表すことが多いと考えられるからである。
【０１９６】
尚、異キーの押下間隔のみを用いるのではなく、全キーの押下間隔を用いてもよい。
【０１９７】
＜確定時間の求め方＞
ここで、実施形態２の携帯電話機３０００の文字入力処理における確定時間の求め方について、図１３および図１４を用いて説明する。
【０１９８】
図１３は、確定時間を算出する際の手順の例を示す図である。図１４は、決定木によるセッション群の分析例を示す図である。
【０１９９】
まず、押下間隔記憶部４１００に記憶されている押下間隔テーブル４１１０の過去のセッションのデータから、セッション評価表３６１０（図１２参照）を作成する（ステップＳ２０）。この場合の押下間隔テーブル４１１０は、確定時間を一定の値、例えば、１０００ｍｓｅｃとしたままで、生成したものである。
【０２００】
次に、統計手法の一例である決定木手法を用いて、誤確定が起こる確率の高い押下間隔を求める（図１３のステップＳ２１及び図１４の上部に示す決定木参照）。
【０２０１】
まず、押下間隔平均３６１４で示される押下間隔の平均値と、自動カーソル作動回数３６１２と誤確定回数３６１３とから求められる誤確定の確率とを用いてセッションを分類する。
【０２０２】
誤確定の発生確率に大きな差が生ずる境の押下間隔を、峻別押下間隔とする。図１４の決定木では、押下間隔平均が４００ｍｓｅｃ以下のセッション群と、それ以外の群では、誤確定の発生率に大差がある。従って、この場合、峻別押下間隔は４００ｍｓｅｃとする。
【０２０３】
次に、求めた峻別押下間隔を基に、確定時間を求める。実施形態２では、以下の２つの方法のいずれかで確定時間を算出する。
【０２０４】
１つ目の方法は、現在のセッションの押下間隔の平均を算出し、その平均が峻別押下間隔を超えた場合に、現在の確定時間の所定の定数倍値、例えば、１．２倍の値を確定時間とする。
【０２０５】
２つ目の方法は、決定木で得られた各分類について、同一キーの押下間隔の分布を求め、決定木で得られた誤確定が起こる確率が最も低いと分類されたセッション群を基準セッション群として、各群の誤確定発生率が前記基準セッション群を超えないような確定時間を各分類毎に求める（図１４の下部に示すグラフ参照）。
【０２０６】
例えば、右のグラフは、横軸に押下間隔を取り、縦軸に、押下間隔平均３６１４が４００ｍｓｅｃ以下のセッションＩＤ３６１１で示されるセッション群の同一キーの押下間隔４１１３の相対累積度数を取ったものである。
【０２０７】
左のグラフは、横軸に押下間隔を取り、縦軸に、押下間隔平均３６１４が４００ｍｓｅｃより大きく７００ｍｓｅｃ以下のセッションＩＤ３６１１で示されるセッション群の同一キーの押下間隔４１１３の相対累積度数を取ったものである。
【０２０８】
右のグラフにおいては、押下間隔が基準確定時間、すなわち、１０００ｍｓｅｃであるときの相対累積度数が「９０％」であるので、誤確定率は最大でも「１０％」と推定される。尚、基準確定時間は、実施形態１の図５において説明した基準確定時間と同様である。
【０２０９】
左のグラフにおいては、押下間隔が１０００ｍｓｅｃのときの相対累積度数が「３８％」である。ここで、誤確定率が最大でも「１０％」に抑えられるように相対累積度数が「９０％」となる押下間隔を求める（白抜き矢印）。この求めた押下間隔、例えば、１２５０ｍｓｅｃを確定時間とする。
【０２１０】
次に、現在のセッションの異キー押下間隔の平均値を求め（ステップＳ２２）、求めた平均値が峻別押下間隔を超えた場合には、該当する分類での確定時間を新しい確定時間として求める（ステップＳ２３、ステップＳ２４）。求めた新しい確定時間で現在の確定時間を更新する（ステップＳ２５、ステップＳ２６）。
【０２１１】
例えば、現在のセッションの押下間隔の平均値が４００ｍｓｅｃ以下の場合は、確定時間を１０００ｍｓｅｃとし、現在のセッションの押下間隔の平均値が４００ｍｓｅｃを超えた場合は、確定時間を１２５０ｓｅｃとする。
【０２１２】
＜動作＞
以下、実施形態２の携帯電話機３０００の動作について図１５及び図１６を用いて説明する。
【０２１３】
図１５は、携帯電話機３０００の文字入力処理を示すフローチャートである。
【０２１４】
ここでは、携帯電話機３０００の文字入力処理のうち、図６を用いて説明した実施形態１の携帯電話機１０００の文字入力処理と異なる点を中心に説明する。尚、図１５及び図６のフローチャートにおいて、ステップの番号が同じである処理は同様の処理である。
【０２１５】
図１５のフローチャートの処理のうち図６のフローチャート処理と異なる処理は、ステップＳ５１０、ステップＳ５２０、ステップＳ５３０及びステップＳ５４０の処理である。
【０２１６】
以下、携帯電話機３０００の文字入力処理を説明する。
【０２１７】
操作部１０２０は、文字入力処理を行うキーの押下を検出すると、検出したキーを文字入力制御部１１００に通知する。
【０２１８】
通知を受けた文字入力制御部１１００は、文字表示部１２００と押下間隔検出部３４００とに、キーが押下された旨を通知する。この際、押下されたキーの識別子も通知する。
【０２１９】
通知を受けた文字表示部１２００は、自動カーソル部１３００にキーが押下された旨を通知し、通知を受けた自動カーソル部１３００は、確定時間の計測を０（ゼロ）から開始する（ステップＳ１２０）。
【０２２０】
自動カーソル部１３００に通知をした文字表示部１２００は、押下されたキーに応じた表示処理を行う（ステップＳ１３０〜ステップＳ１６０）。
【０２２１】
自動カーソル部１３００は、計測している時間が、確定時間記憶部２０００に記憶されている確定時間を超えた場合（ステップＳ１７０：Ｙｅｓ）は、その旨を文字表示部１２００に通知する。
【０２２２】
通知を受けた文字表示部１２００は、自動カーソル機能の処理を行う（ステップＳ１８０、ステップＳ１９０）。
【０２２３】
また、自動カーソル部１３００は、自動カーソル機能が作動した旨を、押下間隔検出部３４００に通知する。通知を受けた押下間隔検出部３４００は、その旨をメモリに記憶する（ステップＳ５４０）。
【０２２４】
一方、文字入力制御部１１００から、キーが押下された旨の通知及び押下されたキーの識別子の通知を受けた押下間隔検出部３４００は、押下間隔を算出する（ステップＳ２００）。
【０２２５】
また、押下間隔検出部３４００は、算出した押下間隔がセッション境界間隔を超えているかを判断する（ステップＳ２１０）。
【０２２６】
算出した押下間隔がセッション境界間隔を超えている場合（ステップＳ２１０：Ｙｅｓ）、押下間隔検出部３４００は、セッションが終了した旨、文字入力制御部１１００から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部３５００に渡して、押下間隔テーブル４１１０（図１１参照）への追加を依頼する。また、セッション評価表作成部３６００に、セッションが終了した旨を通知する。
【０２２７】
追加を依頼された押下間隔追加部３５００は、追加するレコードを生成する。
【０２２８】
具体的には、新しいセッションＩＤを、追加するレコードのセッションＩＤ４１１１として設定する（ステップＳ２５０）。また、押下間隔検出部３４００から渡されたキーの識別子と押下間隔とを、それぞれ押下キー４１１２と押下間隔４１１３として設定する。キー種４１１４として「−」を設定する。
【０２２９】
また、メモリに自動カーソル機能が作動した旨がメモリに記憶されている場合は、自動カーソル４１１５として「あり」を設定し、メモリに記憶されている自動カーソル機能が作動した旨を消去する。誤確定３６１６には「正」を設定する。
【０２３０】
追加するレコードを生成した押下間隔追加部３５００は、生成したレコードを押下間隔テーブル４１１０の最後に追加する（ステップＳ２６０）。
【０２３１】
レコードを追加した押下間隔追加部３５００は、誤確定検出部３５５０に誤確定の検索を依頼する。
【０２３２】
依頼を受けた誤確定検出部３５５０は、誤確定パターンを検索し、誤確定パターンを検出した場合は、該当するレコードの誤確定４１１６の「正」を「誤」に書き換える。
【０２３３】
例えば、押下キー４１１２が「３」のレコードを追加する場合、押下間隔テーブル４１１０の最後からの４つのレコードが、順に「３」、「クリア」、「クリア」、「３」であり、１つ目の「３」のレコードの自動カーソル４１１５が「あり」の場合は、そのレコードの誤確定３６１６を「正」から「誤」に書き換える。
【０２３４】
また、セッションが終了した旨を押下間隔検出部３４００から通知されたセッション評価表作成部３６００は、押下間隔テーブル４１１０を参照して、終了したセッションを含む過去のセッションの情報に基づいてセッション評価表３６１０を生成して、峻別確定時間算出部３９００に渡す（ステップＳ５２０）。
【０２３５】
セッション評価表３６１０を受け取った峻別確定時間算出部３９００は、セッション評価表３６１０を基に、峻別確定時間と決定木で得られた各分類についての確定時間とを求める。
【０２３６】
一方、算出した押下間隔がセッション境界間隔を超えていない場合（ステップＳ２１０：Ｎｏ）、押下間隔検出部３４００は、文字入力制御部１１００から通知されたキーの識別子及び算出した押下間隔を押下間隔追加部３５００に渡して、押下間隔テーブル４１１０への追加を依頼する。
【０２３７】
追加を依頼された押下間隔追加部３５００は、追加するレコードを生成する。
【０２３８】
追加するレコードの生成は、ステップＳ２６０と同様である。ただし、追加するレコードのセッションＩＤ２１１１として、現在のセッションＩＤを設定する。また、押下キー４１１２に設定したキーの識別子が、押下間隔テーブル４１１０に登録されている最後のレコードの押下キー４１１２に設定されているキーの識別子と同じ場合は、キー種４１１４として「同」を設定し、異なる場合は「異」を設定する。
【０２３９】
追加するレコードを生成した押下間隔追加部３５００は、生成したレコードを押下間隔テーブル４１１０の最後に追加する（ステップＳ２２０）。
【０２４０】
また、レコードを追加した押下間隔追加部３５００は、誤確定検出部３５５０に誤確定の検索を依頼し、依頼を受けた誤確定検出部３５５０は、誤確定パターンを検索し、誤確定パターンを検出した場合は、該当するレコードの誤確定４１１６の「正」を「誤」に書き換える。
【０２４１】
レコードを追加した押下間隔追加部３５００は、追加したレコードが現在のセッションにおける５つ目ごとのレコードであった場合は（ステップＳ２３０：Ｙｅｓ）、確定時間算出部３８００に新しい確定時間の算出を依頼する。
【０２４２】
依頼を受けた確定時間算出部３８００は、新しい確定時間を算出し、確定時間を更新する（ステップＳ５１０）。新しい確定時間の算出及び更新の処理は、図１６を用いて説明する。
【０２４３】
図１６は、新確定時間の算出及び更新処理のフローチャートである。
【０２４４】
この処理は、確定時間算出部３８００が行う処理である。また、この処理は、図１３を用いて説明した＜確定時間の求め方＞のうちの新しい確定時間の求め方及び更新の一例である。
【０２４５】
まず、確定時間算出部３８００は、セッション評価表３６１０を基に、決定木処方を用いて、峻別確定時間として、誤確定が起こる確率の高い押下間隔を求める（図１４の決定木参照）。押下間隔平均３６１４で示される押下間隔の平均値と、自動カーソル作動回数３６１２と誤確定回数３６１３とから求められる誤確定の確率とを用いて分類する。
【０２４６】
決定木で得られた各分類について、同一キーの押下間隔の分布を求める（ステップＳ６００）。
【０２４７】
各群の誤確定発生率が同一となるような確定時間を求める（ステップＳ６１０）。
【０２４８】
確定時間算出部３８００は、現在のセッションの押下間隔の平均値を押下間隔平均算出部３７００に要求する。
【０２４９】
要求を受けた押下間隔平均算出部３７００は、押下間隔テーブル４１１０を参照して、現在のセッションの押下間隔の平均値を算出する（ステップＳ６２０）。
【０２５０】
具体的には、押下間隔テーブル２１１０に登録されている最後のレコードのセッションＩＤ２１１１に設定されている番号、すなわち、現在のセッションのセッションＩＤとセッションＩＤ２１１１が同じレコードのうち、キー種２１１４が「異」であるレコードの押下間隔２１１３の平均を、現在のセッションの押下間隔の平均値として算出する。
【０２５１】
平均値を算出した押下間隔平均算出部３７００は、算出した現在のセッションの平均値を、確定時間算出部３８００に渡す。
【０２５２】
平均値を受け取った確定時間算出部３８００は、渡された平均値に応じた分類での確定時間を新しい確定時間として求めて現在の確定時間を更新する（ステップＳ６３０）。
【０２５３】
＜補足＞
以上、本発明の実施形態について説明したが、本発明は上記形態に限らず、以下のようにしてもよい。
（１）実施形態では、文字入力装置として携帯電話機を例に説明したが、他の装置であってもよい。携帯装置に限らず、据え置き型の装置であってもよい。
（２）携帯電話機１０００等は、図３等の各構成要素の全部又は一部を、１チップ又は複数チップの集積回路で実現してもよい。
（３）携帯電話機１０００等は、図３等の各構成要素の全部又は一部を、コンピュータのプログラムで実現してもよいし、その他どのような形態で実施してもよい。
【０２５４】
コンピュータプログラムの場合、メモリカード、ＣＤ−ＲＯＭなどいかなる記録媒体に書き込まれたものをコンピュータに読み込ませて実行させる形にしてもよいし、ネットワークを経由してプログラムをダウンロードして実行させる形にしてもよい。
【符号の説明】
【０２５５】
１０  ソフト対応キー
２０  機能キー
３０  文字入力キー
１０００  ３０００  携帯電話機
１００４  ディスプレイ
１０１０  全体制御部
１０２０  操作部
１０３０  ディスプレイ
１１００  文字入力制御部
１２００  文字表示部
１３００  ３３００  自動カーソル部
１４００  ３４００  押下間隔検出部
１５００  ３５００  押下間隔追加部
１６００  基準確定時間算出部
１７００  ３７００  押下間隔平均算出部
１８００  ３８００  確定時間算出部
２０００  確定時間記憶部
２１００  ４１００  押下間隔記憶部
２１１０  ４１１０  押下間隔テーブル
３５５０  誤確定検出部
３６００  セッション評価表作成部
３６１０  セッション評価表
３９００  峻別確定時間算出部
【図１】
2011028429.tif 000003
【図２】
2011028429.tif 000004
【図３】
2011028429.tif 000005
【図４】
2011028429.tif 000006
【図５】
2011028429.tif 000007
【図６】
2011028429.tif 000008
【図７】
2011028429.tif 000009
【図８】
2011028429.tif 000010
【図９】
2011028429.tif 000011
【図１０】
2011028429.tif 000012
【図１１】
2011028429.tif 000013
【図１２】
2011028429.tif 000014
【図１３】
2011028429.tif 000015
【図１４】
2011028429.tif 000016
【図１５】
2011028429.tif 000017
【図１６】
2011028429.tif 000018