(57)【特許請求の範囲】
【請求項１】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、
単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに２次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、
前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示し、
ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くし、
ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くすることを特徴とする文字入力装置。
【請求項２】
複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出することを特徴とする請求項１記載の文字入力装置。
【請求項３】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、
単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに２次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、
前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示し、
複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出し、
前記累積生起確率は、前記接触座標（ｘ，ｙ）を検出したときの単語ｗｉのｋ文字目の文字Ｐｗｉｋに対する確率密度関数をＰｗｉ（ｋ｜（ｘ，ｙ））とし、単語ｗｉのｋ文字目での累積確率値をＰｗｉｋとし、当該単語の直前ｎ−１個の単語に基づく単語ｗｉの言語モデル連鎖確率をＱ（ｗｉ）とすると、
Ｓｗｉｋ＝Ｐｗｉｋ * Ｑ（ｗｉ）
で与えられ、
前記累積生起確率は、
ユーザによる単語入力開始からｋ文字目の入力に対して、前記単語辞書内の単語の中でｍ（０＜ｍ＜ｋ）文字で構成される単語ｗｉについては、ｍの値に応じて変化する関数Ｒ（ｗｉ）を用いて、
Ｓｗｉｋ＝Ｐｗｉｋ * Ｑ（ｗｉ） * Ｒ（ｗｉ）で与えられることを特徴とする文字入力装置。
【請求項４】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、
単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに２次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、
前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示し、
前記単語モデルは、文字毎に前後複数個の文字に依存するコンテクスト依存文字生起確率モデルと、前後複数個の文字に依存しないコンテクスト非依存文字生起確率モデルとを連結することで得られることを特徴とする文字入力装置。
【請求項５】
前記単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されることを特徴とする請求項４記載の文字入力装置。
【請求項６】
前記単語は、複数の単語で構成された複合語であることを特徴とする請求項１から請求項５のいずれかに記載の文字入力装置。
【請求項７】
前記累積確率値および前記累積生起確率は、前記接触座標（ｘ，ｙ）を検出したときの単語ｗｉのｋ文字目の文字ｗｉｋに対する確率密度関数をＰｗｉ（ｋ｜（ｘ，ｙ））とし、単語ｗｉのｋ文字目での累積確率値をＰｗｉｋとすると、
Ｐｗｉｋ＝Ｐｗｉｋ−１ * Ｐｗｉ（ｋ｜（ｘ，ｙ））
で与えられることを特徴とする請求項１から請求項６のいずれかに記載の文字入力装置。
【請求項８】
ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断することを特徴とする請求項１から請求項７のいずれかに記載の文字入力装置。
【請求項９】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置に適用されるプログラムであって、
単語および前記単語を構成する文字列の組み合わせを記憶する処理と、
単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに２次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する処理と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する処理と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する処理と、
前記累積確率値の高い単語から順番に入力候補単語として選出する処理と、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示し、
ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くし、
ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くする処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、その予測した単語を入力候補単語としてタッチパネルディスプレイに表示する技術に関する。
【背景技術】
【０００２】
従来から、携帯電話機やＰＤＡ（Personal Digital Assistant）など、タッチパネルで操作を行なう装置では、文字入力をソフトウェアキーボードで行なう。しかし、タッチパネル操作であると、ソフトウェアキーボード上のあるボタンを押したつもりが、異なるボタンが反応してしまうことがある。これは、指の腹でボタンを押した時に指の接触を検出した位置が、ボタンの領域から外れることが原因と考えられる。
【０００３】
特許文献１には、タッチパネルでのユーザの入力座標と、タッチパネル上のボタンの座標と、そのボタンに割り当てられた重み係数から、ユーザの入力座標を補正する装置が開示されている。ソフトウェアキーボードでの文字入力の例では、入力途中の文字列に対して辞書に登録されている単語の前方一致検索を行ない、入力途中の文字列に続く文字の有無で重み係数を変化する例が挙げられている。例えば入力途中の文字が“ｇｏ”であった場合、辞書の単語に“ｇｏｄ”や“ｇｏａｌ”があるため、“ｄ”や“ａ”に対応するボタンの重みが大きくなる。すると、図９に示すように、ボタンに近い方向にユーザの入力座標が補正され、結果としてそのボタンが反応しやすくなる。一方“ｋ”や“ｚ”のように“ｇｏ”の後に続く単語が無い場合重みが小さくなり、そのボタンは反応しにくくなる。
【０００４】
特許文献２には、タッチパネルでのユーザの入力座標と、ソフトウェアキーボード上の各文字に対応するボタンの位置関係から、ユーザが入力した単語の優先度を推定するという装置が開示されている。これはまず、図１０に示すように、入力座標と各文字に対応するボタンの領域の位置関係から、押された候補となる文字を抽出し、得点をつける。次に図１１Ａおよび図１１Ｂに示すように、連続する座標入力に伴い抽出される各文字群から１文字ずつ取り出して文字列を全ての組み合わせについて作成し、その文字列の中から単語となり得るものを抽出する。最後に、その単語を構成する各文字の得点と、単語の使用頻度から算出された得点から各単語の優先度を算出し、その優先度順に提示する。
【０００５】
特許文献３には、特許文献２と同様の装置に加え、各単語にユーザによって入力された文字列の座標の相対位置を記憶しておき、記憶されている相対座標軌跡パターンとユーザの入力座標軌跡と類似度が高い単語に対し高い優先度を与え、その優先度順に提示するという装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１０−５０３１２５号公報
【特許文献２】特開２００６−５６５５号公報
【特許文献３】特開平１０−２７５０４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の技術は、ユーザの入力座標を補正するものであるが、単語入力終了後に、表示された単語が、ユーザが入力しようとした単語とは異なるものである場合を考慮していないという問題がある。
【０００８】
また、特許文献２記載の技術は、入力座標からの得点と単語の使用頻度から、単語候補を推定するものである。しかし、入力する文字が形成する単語によらず、入力座標からの得点は一定である。同じ文字でも単語が異なれば入力するための指の運びも異なるため、入力座標の分布が異なると考えられるが、特許文献２記載の技術は、この点を考慮していないという問題がある。
【０００９】
また、特許文献３記載の技術は、ブラインドタッチのみの入力操作を対象としているため、単語毎に入力座標の相対位置は記憶している。しかし、絶対位置座標については考慮していないという問題がある。相対座標のみでは、図１０のキーボードを例に挙げると、「いき(息)」と入力したつもりが、「あか(赤)」「かさ(傘)」「きし(岸)」「うく(浮く)」など指の動きが類似している単語は「いき」と同じ類似度を持ち得る候補が絞りきれない。また、提示される単語候補は登録されている相対座標軌跡パターンに大きく依存するため、登録する相対座標軌跡パターンをどのように決定するかという問題がある。
【００１０】
また、ユーザが入力する単語は、それ以前の文脈に大きく依存しているが、上記全ての装置は文脈を考慮していないという問題がある。
【００１１】
本発明は、このような事情に鑑みてなされたものであり、タッチパネルディスプレイによる文章入力の操作性向上のために、各単語を構成する文字毎に、座標に対して確率密度関数を定義し、更に文脈を考慮したモデルを取り入れることによって、より高精度な単語または単語列提示を行なうことができる文字入力装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
（１）上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明の文字入力装置は、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに２次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示することを特徴とする。
【００１３】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【００１４】
（２）また、本発明の文字入力装置は、複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出することを特徴とする。
【００１５】
このように、言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、単語候補の連鎖確率を算出し、累積確率値と単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、累積生起確率の高い単語から順番に入力候補として選出するので、精度の高い単語候補予測を行なうことが可能となる。
【００１６】
（３）また、本発明の文字入力装置は、ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くすることを特徴とする。
【００１７】
このように、単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くするので、精度の高い単語候補予測を行なうことが可能となる。
【００１８】
（４）また、本発明の文字入力装置は、ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くすることを特徴とする。
【００１９】
このように、ユーザが単語を選択した場合、選択した単語の生起確率値を高くするので、ユーザの利用傾向に応じて、精度の高い単語候補予測を行なうことが可能となる。
【００２０】
（５）また、本発明の文字入力装置において、前記累積確率値および前記累積生起確率は、前記接触座標（ｘ，ｙ）を検出したときの単語ｗｉのｋ文字目の文字ｗｉｋに対する確率密度関数をＰｗｉ（ｋ｜（ｘ，ｙ））とし、単語ｗｉのｋ文字目での累積確率値をＰｗｉｋとすると、Ｐｗｉｋ＝Ｐｗｉｋ−１ * Ｐｗｉ（ｋ｜（ｘ，ｙ））で与えられることを特徴とする。
【００２１】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【００２２】
（６）また、本発明の文字入力装置において、前記累積生起確率は、前記接触座標（ｘ，ｙ）を検出したときの単語ｗｉのｋ文字目の文字Ｐｗｉｋに対する確率密度関数をＰｗｉ（ｋ｜（ｘ，ｙ））とし、単語ｗｉのｋ文字目での累積確率値をＰｗｉｋとし、当該単語の直前ｎ−１個の単語に基づく単語ｗｉの言語モデル連鎖確率をＱ（ｗｉ）とすると、Ｓｗｉｋ＝Ｐｗｉｋ * Ｑ（ｗｉ）で与えられることを特徴とする。
【００２３】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【００２４】
（７）また、本発明の文字入力装置において、前記累積生起確率は、ユーザによる単語入力開始からｋ文字目の入力に対して、前記単語辞書内の単語の中でｍ（０＜ｍ＜ｋ）文字で構成される単語ｗｉについては、ｍの値に応じて変化する関数Ｒ（ｗｉ）を用いて、Ｓｗｉｋ＝Ｐｗｉｋ * Ｑ（ｗｉ） * Ｒ（ｗｉ）で与えられることを特徴とする。
【００２５】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【００２６】
（８）また、本発明の文字入力装置は、ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断することを特徴とする。
【００２７】
このように、ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断するので、無駄な演算を回避し、処理負担を軽減させることが可能となる。
【００２８】
（９）また、本発明の文字入力装置において、前記単語モデルは、文字毎に前後複数個の文字に依存するコンテクスト依存文字生起確率モデルと、前後複数個の文字に依存しないコンテクスト非依存文字生起確率モデルとを連結することで得られることを特徴とする。
【００２９】
この構成により、精度の高い単語候補予測を行なうことが可能となる。
【００３０】
（１０）また、本発明の文字入力装置において、前記単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されることを特徴とする。
【００３１】
このように、単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されるので、無駄な演算を回避し、処理負担を軽減させることが可能となる。
【００３２】
（１１）また、本発明の文字入力装置において、前記単語は、複数の単語で構成された複合語であることを特徴とする。
【００３３】
この構成により、ユーザが入力した文字に対応する座標から、単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【００３４】
（１２）また、本発明のプログラムは、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置に適用されるプログラムであって、単語および前記単語を構成する文字列の組み合わせを記憶する処理と、前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに２次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する処理と、ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する処理と、前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する処理と、前記累積確率値の高い単語から順番に入力候補単語として選出する処理と、前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【００３５】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【発明の効果】
【００３６】
本発明によれば、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【図面の簡単な説明】
【００３７】
【図１】本実施形態に係る文字入力装置の概略構成を示すブロック図である。
【図２】タッチパネルディスプレイの表示例を示す図である。
【図３Ａ】ある単語のある文字についての生起確率分布概念を示す図である。
【図３Ｂ】ある単語のある文字についての生起確率分布概念を示す図である。
【図４】単語モデルの例を示す図である。
【図５】第１の実施形態に係る文字入力装置の動作を示すフローチャートである。
【図６Ａ】単語確率計算例を示す図である。
【図６Ｂ】単語確率計算例を示す図である。
【図７】文字数と１より小さい値Ｒ（ｗｉ）との関係を示す図である。
【図８】第１の実施形態に係る文字入力装置の動作を示すフローチャートである。
【図９】従来の文字入力装置の一例を示す図である。
【図１０】従来の文字入力装置の一例を示す図である。
【図１１Ａ】従来の文字入力装置の一例を示す図である。
【図１１Ｂ】従来の文字入力装置の一例を示す図である。
【発明を実施するための形態】
【００３８】
（第１の実施形態）
以下、本発明の実施形態について図面を参照して説明する。図１は、本実施形態に係る文字入力装置の概略構成を示すブロック図である。図１において、接触座標検出部１０は、ユーザがタッチパネルディスプレイをタッチした時の接触座標を取得する。検出空間管理部１２は、タッチパネルディスプレイに表示されるソフトウェアキーボードのボタンに割り当てられた文字ごとに、タッチパネルディスプレイに対するユーザの接触操作を検出する範囲を、２次元空間として管理する。単語辞書管理部１４は、単語と、それを構成する文字列の組み合わせを管理する。単語モデル管理部１６は、各単語を構成している文字毎に２次元座標を変数とした確率分布関数を定義した、単語確率モデルを管理する。
【００３９】
文字生起確率算出部１８は、ユーザの入力座標と、単語モデルから文字の生起確率を算出する。単語生起確率算出部２０は、文字生起確率算出部１８の結果を単語毎に積算することで累積確率を算出し、それを累積生起確率とする。入力候補単語選出部２２は、累積生起確率の高い単語から順番に、入力候補単語として選出する。表示部２４は、タッチパネルディスプレイから構成され、文字表示部２４ａと候補単語表示部２４ｂとを有する。
【００４０】
図２は、タッチパネルディスプレイの表示例を示す図である。図２では、文字表示部２４ａと、候補単語表示部２４ｂと、ソフトウェアキーボード表示部２４ｃを示している。文字表示部２４ａは、入力中の文字およびユーザの操作により確定した文字を表示する。候補単語表示部２４ｂは、入力候補単語選出部２２で抽出した単語を表示する。
【００４１】
本実施形態では、入力値に対して各単語の生起確率をモデル化する例として、音声認識分野で用いられているＨＭＭ（Hidden Markov Model）を用いた方法を挙げる。ＨＭＭは、音声認識分野において、時系列の音声データに対して、予め定義された単語または単語列の中から、最も確率の高い単語を求めるプロセスとして定式化されている。音声認識分野では時系列の音声データを入力値としているが、本実施形態では、ユーザのタッチパネルへの入力座標を入力値とする。
【００４２】
まず、予め単語辞書内の各単語を構成している文字毎に２次元座標を変数とした確率分布関数Ｐｗｉ（ｋ）（ｘ，ｙ）を定義しておく。Ｐｗｉ（ｋ）（ｘ，ｙ）は座標（ｘ，ｙ）に対する、単語ｗｉのｋ番目の文字が生起する確率を示す関数である。関数の例としては、ガウス分布などが挙げられる。
【００４３】
図３Ａおよび図３Ｂは、ある単語のある文字についての生起確率分布概念を示す図である。同一文字でも、それが含まれる単語毎に、生起確率分布の関係は異なり得る。上記の座標に対する単語毎の文字生起確率分布を以下では単語モデルと記し、単語モデル管理部１６に格納する。図４は、単語モデルの例を示す図である。図４に示すように、単語毎に、その単語を構成するそれぞれの文字について、確率分布関数が対応付けられている。次に、以上のように構成された本実施形態に係る文字入力装置の動作について説明する。
【００４４】
図５は、本実施形態に係る文字入力装置の動作を示すフローチャートである。まず、入力待ちの状態から（ステップＳ１）、入力が無い場合はステップＳ１の判断を繰り返す一方、入力があった場合、入力された文字の座標（ｘ１，ｙ１）を検知すると（ステップＳ２）、単語辞書内の全単語について一文字目の生起確率である、
Ｐｗｉ（１｜ｘ１，ｙ１）＝Ｐｗｉ（１）（ｘ１，ｙ１）
を文字生起確率算出部１８にて計算し、単語生起確率算出部２０に送信する（ステップＳ３、ステップＳ４）。
【００４５】
単語生起確率算出部２０は、Ｐｗｉ１＝Ｐｗｉ（１｜ｘ１，ｙ１）とし、Ｐｗｉ１が大きい順に入力候補単語選出部２２がｎ単語抽出し、それらを候補単語表示部２４ｂに表示する（ステップＳ５〜ステップＳ８）。Ｐｗｉｋは、単語ｗｉのｋ文字目までの累積確率を意味する。
【００４６】
次に、入力待ちの状態から（ステップＳ９）、入力が無い場合はステップＳ９の判断を繰り返す一方、入力があった場合、座標（ｘ２，ｙ２）を検知し（ステップＳ１０）、それが候補単語表示領域内である場合、押された座標に対応する単語を文字表示部２４ａに表示する（ステップＳ１２）。
【００４７】
一方、（ｘ２，ｙ２）がソフトウェアキーボード領域である場合、全単語について２文字目の生起確率Ｐｗｉ（２｜ｘ２，ｙ２）＝Ｐｗｉ（２）（ｘ２，ｙ２）を計算し、単語生起確率算出部２０に送信する（ステップＳ１３）。
【００４８】
単語生起確率算出部２０は、Ｐｗｉ２＝Ｐｗｉ１×Ｐｗｉ（２｜ｘ２，ｙ２）を計算し、Ｐｗｉ２が大きい順に入力候補単語選出部２２がｎ個抽出し、それらを候補単語表示部２４ｂに表示する。以上の動作を候補単語表示部２４ｂの単語をユーザが決定するまで繰り返し行なう。
【００４９】
図６Ａおよび図６Ｂは、単語確率計算例を示す図である。図６Ａおよび図６Ｂに示すように、一文字目の生起確率、二文字目の生起確率および累積確率を計算する。同様の計算方法を用いている分野として音声認識が挙げられるが、音声認識では、一文の音声入力が済んだときに文候補を出力するが、本実施形態においては、キー入力毎に、単語終端に到達していない候補単語であっても累積確率の高い候補を出力することが可能である。
【００５０】
以上説明したように、本実施形態によれば、ユーザが入力した文字の座標位置から確率的に単語が求められ、ユーザが入力しようとした単語とは異なるものが表示された場合であっても、正しい単語を提示することが可能になる。
【００５１】
（文字数に対する考慮）
ユーザが、ある文字数ｋの単語を入力したつもりが、意図に反してｋ以上の文字数が入力されることがあり得る。そのため、ｋ文字以下の単語も候補単語表示部２４ｂに表示する必要があるが、ｋ文字以下の単語に対し累積確率をそのまま考慮すると、ｋ文字より小さい単語の確率がｋ文字の単語より大きくなってしまう恐れがある。そこで図７に示すように、文字数の違いに従い、累積確率に１より小さい値Ｒ（ｗｉ）をバイアスとしてかけることで、文字数の違いを考慮した単語提示が行なうことができる。
【００５２】
（確率に対する閾値）
単語の累積確率を計算する段階で、確率にある閾値を設けておいて、ある閾値以上ならユーザが確定操作を行なわなくても単語を確定し、文字表示部に表示しても良い。また、本手法においては、全単語の確率値を並列に計算する必要が生じ、計算量が膨大になる。そのため累積確率がある閾値以下の単語については途中で計算を終了しても良い。
【００５３】
（単語モデル）
上記の説明では、モデル化の単位を単語モデルで定義しているが、単語モデルを用意するには、学習データが単語毎に必要になり膨大な量となる。そのため、コンテキスト（前後のキー）非依存のキーのモデル、もしくはコンテキスト依存のキーのモデルを連結して単語を構成しても良い。さらに上述のとおり、コンテキスト非依存もしくはコンテキスト依存のキーのモデルを連結して単語を構成するのであれば、単語の最初の数文字が同一である単語については、同一文字を共有する木構造モデルを用いても良い。
【００５４】
（再学習機能）
座標（ｘ，ｙ）に確率を予め定義するだけでなく、あるタイミングにおいて、ユーザの入力座標と候補単語表示部から選択された単語履歴から再学習する機能を有する。例えば、候補単語表示部の単語候補の中で、ユーザにより確定された単語を構成する文字について、その時入力された座標に対して、生起確率を高くするなどが考えられる。計算手法として、ＭＡＰ適応などが挙げられる。
【００５５】
（第１の実施形態の変形例）
第１の実施形態では、各単語単位で単語モデルを定義したが、１単語のみでなく、ｎ個の単語から構成される単語列について同様に定義を行なうと、文脈を考慮した単語または単語列提示を行なうことが可能である。そのため、単語列に対してモデルを定義しても良い。
【００５６】
（第２の実施形態）
第１の実施形態の変形例では、全ての単語の組み合わせを考慮すると、単語モデル数が膨大になる。そのため、充分にメモリがある場合は、文脈を考慮した単語または単語列提示を効果的に行なうことができる一方、そうではない場合には不向きである。そこで、第２の実施形態として、確率的言語モデルを導入した例を説明する。
【００５７】
確率的言語モデルとして、ｎ個の単語の連鎖の様々な組み合わせに対して、最後の単語を除くｎ−１単語を条件として最後の単語の条件付出現確率を定義する“ｎ−ｇｒａｍ”と呼ばれるモデルを用いる。前後２単語の連鎖を単位とするものをｂｉｇｒａｍ、３単語の連鎖を単位とするものをｔｒｉｇｒａｍと呼ぶ。
【００５８】
単語ｗ１〜ｗ１−１が連続して入力された後にｗｉが出現する確率をＱ（ｗｉ）とすると、以下の式で表わすことができる。
Ｑ（ｗｉ）＝Ｑ（ｗ１，．．．，ｗｉ）＝Ｑ（ｗ１）Ｑ（ｗ２｜ｗ１）Ｑ（ｗ３｜ｗ１，ｗ２）．．．Ｑ（ｗｉ｜ｗ１，．．．，ｗｉ−１）
この確率は、辞書や書籍、使用履歴などから算出が可能である。
【００５９】
第１の実施形態では、入力候補単語選出部２２にて累積確率Ｐｗｉｋ＝Ｐｗ（ｋ｜ｘ１ｙ１）が大きい順に単語を抽出したが、第２の実施形態では、ＰｗｉｋとＱ（ｗｉ）の積が大きい順に単語を抽出する。
【００６０】
次に、第２の実施形態に係る文字入力装置の動作について説明する。図８は、第２の実施形態に係る文字入力装置の動作を示すフローチャートである。まず、第１の実施形態と同様に、累積確率を算出した後、ｎ−ｇｒａｍにより単語ｗｉが出現する確率Ｑ（ｗｉ）を取得する。（ステップＴ１〜Ｔ６）。
【００６１】
次に、累積確率ＰｗｉｋとＱ（ｗｉ）の積Ｓｗｉｋを算出し（ステップＴ７）、Ｓｗｉｋが大きい順に単語候補をｎ個抽出し、候補単語表示部２４ｂに表示する（ステップＴ８、ステップＴ９）。それ以降は第１の実施形態と同様である。以上の動作により文脈を考慮した単語提示を行なうことができる。
【００６２】
（入力方式の違いによる単語モデルの切り替え）
Ｑｗｅｒｔｙ入力や携帯入力、フリック入力といった入力方式の違いにより、各単語を構成する文字と座標の関係は異なるため、入力方式ごとに定義する。
【００６３】
（操作情報）
フリック入力のように、文字入力方式によっては、ユーザがボタンを押した後に指をスライドするという操作を行なうことがある。そのため、座標に加えて、スライド操作による操作軌跡などに対して確率を定義しても良い。
【００６４】
（サーバ連携）
単語モデル管理部１６および文字生起確率算出部１８、単語生起確率算出部２０、入力候補単語選出部２２をサーバが有し、本文字入力装置への入力座標をサーバに送信することで、確率演算を行なっても良い。その場合、サーバで確率演算した結果を本文字入力装置が受信し、候補単語表示部２４ｂに表示する。
【００６５】
（座標以外のパラメタの使用）
座標以外のパラメタとしては、時間がある。文字と文字との時間間隔も考慮に入れても良い。例えば、入力座標と一文字前の入力座標の位置が近く、入力の時間間隔が短い時は操作ミスで二度押してしまった可能性が考えられる。２文字の入力座標の距離と入力時間間隔に閾値を設け、閾値以下なら操作ミスであると判断し、入力操作を受け付けない、または後での単語候補から削除するなどが考えられる。
【００６６】
（センサからの情報）
携帯電話機の操作時などは歩きながら入力操作をすることが考えられる。歩きながら入力操作する場合は、座りながら入力操作する場合と比べて、同じ単語を入力するにしても座標入力傾向が異なる。また同様に、右手で操作する場合と、左手で操作する場合も傾向が異なる。そこで、加速度センサなどで動作を判別し、各々モデル化してもよい。判別方法としては、動作ごとに加速度の示す値や時系列の軌跡を割り当てておいて、パターン認識で判別することが考えられる。加速度センサからの情報に限らず、ジャイロセンサ、傾きセンサなどからの情報を用いても良い。
【００６７】
（文字入力以外での利用）
文字入力以外でも、通常のボタン操作などに用いてもよい。その時は、操作履歴などから、ある画面でのボタン毎の生起確率を、座標ごとに定義する。
【００６８】
（画面の向きによるモデル化の違い）
画面の向きが縦か横かでは、単語モデルと座標の関係は異なるため、画面の向きごとに単語モデルを定義しても良い。また、一方の向きでの単語モデルを、画面の高さ、幅などを用いて補正することで、他の向きで用いても良い。
【００６９】
（計算方法）
上記実施形態では積算としたが、確率の対数に対して和算を行なうなど、他の計算方法でも良い。またＨＭＭの例を示したが、一般的なパターン認識手法を用いても良い。
【００７０】
以上説明したように、本実施形態によれば、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【符号の説明】
【００７１】
１０  接触座標検出部
１２  検出空間管理部
１４  単語辞書管理部
１６  単語モデル管理部
１８  文字生起確率算出部
２０  単語生起確率算出部
２２  入力候補単語選出部
２４  表示部
２４ａ  文字表示部
２４ｂ  候補単語表示部
２４ｃ  ソフトウェアキーボード表示部
【図１】
0005731281.tif 000002
【図２】
0005731281.tif 000003
【図３Ａ】
0005731281.tif 000004
【図３Ｂ】
0005731281.tif 000005
【図４】
0005731281.tif 000006
【図５】
0005731281.tif 000007
【図６Ａ】
0005731281.tif 000008
【図６Ｂ】
0005731281.tif 000009
【図７】
0005731281.tif 000010
【図８】
0005731281.tif 000011
【図９】
0005731281.tif 000012
【図１０】
0005731281.tif 000013
【図１１Ａ】
0005731281.tif 000014
【図１１Ｂ】
0005731281.tif 000015