文字入力装置およびプログラム
【課題】各単語を構成する文字毎に、座標に対して確率密度関数を定義し、更に文脈を考慮したモデルを取り入れることによって、より高精度な単語または単語列提示を行なう。
【解決手段】単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部14と、単語辞書管理部14に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部16と、ユーザが触れた時の接触座標および単語モデルに基づいて、入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部18と、文字毎の生起確率値に基づいて、入力開始から何文字目であるかに応じた文字毎の累積生起確率として算出する単語生起確率算出部20と、累積確率値の高い単語から順番に選出する入力候補単語選出部22と、を備える。
【解決手段】単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部14と、単語辞書管理部14に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部16と、ユーザが触れた時の接触座標および単語モデルに基づいて、入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部18と、文字毎の生起確率値に基づいて、入力開始から何文字目であるかに応じた文字毎の累積生起確率として算出する単語生起確率算出部20と、累積確率値の高い単語から順番に選出する入力候補単語選出部22と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、その予測した単語を入力候補単語としてタッチパネルディスプレイに表示する技術に関する。
【背景技術】
【0002】
従来から、携帯電話機やPDA(Personal Digital Assistant)など、タッチパネルで操作を行なう装置では、文字入力をソフトウェアキーボードで行なう。しかし、タッチパネル操作であると、ソフトウェアキーボード上のあるボタンを押したつもりが、異なるボタンが反応してしまうことがある。これは、指の腹でボタンを押した時に指の接触を検出した位置が、ボタンの領域から外れることが原因と考えられる。
【0003】
特許文献1には、タッチパネルでのユーザの入力座標と、タッチパネル上のボタンの座標と、そのボタンに割り当てられた重み係数から、ユーザの入力座標を補正する装置が開示されている。ソフトウェアキーボードでの文字入力の例では、入力途中の文字列に対して辞書に登録されている単語の前方一致検索を行ない、入力途中の文字列に続く文字の有無で重み係数を変化する例が挙げられている。例えば入力途中の文字が“go”であった場合、辞書の単語に“god”や“goal”があるため、“d”や“a”に対応するボタンの重みが大きくなる。すると、図9に示すように、ボタンに近い方向にユーザの入力座標が補正され、結果としてそのボタンが反応しやすくなる。一方“k”や“z”のように“go”の後に続く単語が無い場合重みが小さくなり、そのボタンは反応しにくくなる。
【0004】
特許文献2には、タッチパネルでのユーザの入力座標と、ソフトウェアキーボード上の各文字に対応するボタンの位置関係から、ユーザが入力した単語の優先度を推定するという装置が開示されている。これはまず、図10に示すように、入力座標と各文字に対応するボタンの領域の位置関係から、押された候補となる文字を抽出し、得点をつける。次に図11Aおよび図11Bに示すように、連続する座標入力に伴い抽出される各文字群から1文字ずつ取り出して文字列を全ての組み合わせについて作成し、その文字列の中から単語となり得るものを抽出する。最後に、その単語を構成する各文字の得点と、単語の使用頻度から算出された得点から各単語の優先度を算出し、その優先度順に提示する。
【0005】
特許文献3には、特許文献2と同様の装置に加え、各単語にユーザによって入力された文字列の座標の相対位置を記憶しておき、記憶されている相対座標軌跡パターンとユーザの入力座標軌跡と類似度が高い単語に対し高い優先度を与え、その優先度順に提示するという装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特表2010−503125号公報
【特許文献2】特開2006−5655号公報
【特許文献3】特開平10−275046号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1記載の技術は、ユーザの入力座標を補正するものであるが、単語入力終了後に、表示された単語が、ユーザが入力しようとした単語とは異なるものである場合を考慮していないという問題がある。
【0008】
また、特許文献2記載の技術は、入力座標からの得点と単語の使用頻度から、単語候補を推定するものである。しかし、入力する文字が形成する単語によらず、入力座標からの得点は一定である。同じ文字でも単語が異なれば入力するための指の運びも異なるため、入力座標の分布が異なると考えられるが、特許文献2記載の技術は、この点を考慮していないという問題がある。
【0009】
また、特許文献3記載の技術は、ブラインドタッチのみの入力操作を対象としているため、単語毎に入力座標の相対位置は記憶している。しかし、絶対位置座標については考慮していないという問題がある。相対座標のみでは、図10のキーボードを例に挙げると、「いき(息)」と入力したつもりが、「あか(赤)」「かさ(傘)」「きし(岸)」「うく(浮く)」など指の動きが類似している単語は「いき」と同じ類似度を持ち得る候補が絞りきれない。また、提示される単語候補は登録されている相対座標軌跡パターンに大きく依存するため、登録する相対座標軌跡パターンをどのように決定するかという問題がある。
【0010】
また、ユーザが入力する単語は、それ以前の文脈に大きく依存しているが、上記全ての装置は文脈を考慮していないという問題がある。
【0011】
本発明は、このような事情に鑑みてなされたものであり、タッチパネルディスプレイによる文章入力の操作性向上のために、各単語を構成する文字毎に、座標に対して確率密度関数を定義し、更に文脈を考慮したモデルを取り入れることによって、より高精度な単語または単語列提示を行なうことができる文字入力装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
(1)上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明の文字入力装置は、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示することを特徴とする。
【0013】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0014】
(2)また、本発明の文字入力装置は、複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出することを特徴とする。
【0015】
このように、言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、単語候補の連鎖確率を算出し、累積確率値と単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、累積生起確率の高い単語から順番に入力候補として選出するので、精度の高い単語候補予測を行なうことが可能となる。
【0016】
(3)また、本発明の文字入力装置は、ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くすることを特徴とする。
【0017】
このように、単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くするので、精度の高い単語候補予測を行なうことが可能となる。
【0018】
(4)また、本発明の文字入力装置は、ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くすることを特徴とする。
【0019】
このように、ユーザが単語を選択した場合、選択した単語の生起確率値を高くするので、ユーザの利用傾向に応じて、精度の高い単語候補予測を行なうことが可能となる。
【0020】
(5)また、本発明の文字入力装置において、前記累積確率値および前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字wikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとすると、Pwik=Pwik−1 * Pwi(k|(x,y))で与えられることを特徴とする。
【0021】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0022】
(6)また、本発明の文字入力装置において、前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字Pwikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとし、当該単語の直前n−1個の単語に基づく単語wiの言語モデル連鎖確率をQ(wi)とすると、Swik=Pwik * Q(wi)で与えられることを特徴とする。
【0023】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0024】
(7)また、本発明の文字入力装置において、前記累積生起確率は、ユーザによる単語入力開始からk文字目の入力に対して、前記単語辞書内の単語の中でm(0<m<k)文字で構成される単語wiについては、mの値に応じて変化する関数R(wi)を用いて、Swik=Pwik * Q(wi) * R(wi)で与えられることを特徴とする。
【0025】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0026】
(8)また、本発明の文字入力装置は、ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断することを特徴とする。
【0027】
このように、ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断するので、無駄な演算を回避し、処理負担を軽減させることが可能となる。
【0028】
(9)また、本発明の文字入力装置において、前記単語モデルは、文字毎に前後複数個の文字に依存するコンテクスト依存文字生起確率モデルと、前後複数個の文字に依存しないコンテクスト非依存文字生起確率モデルとを連結することで得られることを特徴とする。
【0029】
この構成により、精度の高い単語候補予測を行なうことが可能となる。
【0030】
(10)また、本発明の文字入力装置において、前記単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されることを特徴とする。
【0031】
このように、単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されるので、無駄な演算を回避し、処理負担を軽減させることが可能となる。
【0032】
(11)また、本発明の文字入力装置において、前記単語は、複数の単語で構成された複合語であることを特徴とする。
【0033】
この構成により、ユーザが入力した文字に対応する座標から、単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0034】
(12)また、本発明のプログラムは、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置に適用されるプログラムであって、単語および前記単語を構成する文字列の組み合わせを記憶する処理と、前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する処理と、ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する処理と、前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する処理と、前記累積確率値の高い単語から順番に入力候補単語として選出する処理と、前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【0035】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【発明の効果】
【0036】
本発明によれば、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【図面の簡単な説明】
【0037】
【図1】本実施形態に係る文字入力装置の概略構成を示すブロック図である。
【図2】タッチパネルディスプレイの表示例を示す図である。
【図3A】ある単語のある文字についての生起確率分布概念を示す図である。
【図3B】ある単語のある文字についての生起確率分布概念を示す図である。
【図4】単語モデルの例を示す図である。
【図5】第1の実施形態に係る文字入力装置の動作を示すフローチャートである。
【図6A】単語確率計算例を示す図である。
【図6B】単語確率計算例を示す図である。
【図7】文字数と1より小さい値R(wi)との関係を示す図である。
【図8】第1の実施形態に係る文字入力装置の動作を示すフローチャートである。
【図9】従来の文字入力装置の一例を示す図である。
【図10】従来の文字入力装置の一例を示す図である。
【図11A】従来の文字入力装置の一例を示す図である。
【図11B】従来の文字入力装置の一例を示す図である。
【発明を実施するための形態】
【0038】
(第1の実施形態)
以下、本発明の実施形態について図面を参照して説明する。図1は、本実施形態に係る文字入力装置の概略構成を示すブロック図である。図1において、接触座標検出部10は、ユーザがタッチパネルディスプレイをタッチした時の接触座標を取得する。検出空間管理部12は、タッチパネルディスプレイに表示されるソフトウェアキーボードのボタンに割り当てられた文字ごとに、タッチパネルディスプレイに対するユーザの接触操作を検出する範囲を、2次元空間として管理する。単語辞書管理部14は、単語と、それを構成する文字列の組み合わせを管理する。単語モデル管理部16は、各単語を構成している文字毎に2次元座標を変数とした確率分布関数を定義した、単語確率モデルを管理する。
【0039】
文字生起確率算出部18は、ユーザの入力座標と、単語モデルから文字の生起確率を算出する。単語生起確率算出部20は、文字生起確率算出部18の結果を単語毎に積算することで累積確率を算出し、それを累積生起確率とする。入力候補単語選出部22は、累積生起確率の高い単語から順番に、入力候補単語として選出する。表示部24は、タッチパネルディスプレイから構成され、文字表示部24aと候補単語表示部24bとを有する。
【0040】
図2は、タッチパネルディスプレイの表示例を示す図である。図2では、文字表示部24aと、候補単語表示部24bと、ソフトウェアキーボード表示部24cを示している。文字表示部24aは、入力中の文字およびユーザの操作により確定した文字を表示する。候補単語表示部24bは、入力候補単語選出部22で抽出した単語を表示する。
【0041】
本実施形態では、入力値に対して各単語の生起確率をモデル化する例として、音声認識分野で用いられているHMM(Hidden Markov Model)を用いた方法を挙げる。HMMは、音声認識分野において、時系列の音声データに対して、予め定義された単語または単語列の中から、最も確率の高い単語を求めるプロセスとして定式化されている。音声認識分野では時系列の音声データを入力値としているが、本実施形態では、ユーザのタッチパネルへの入力座標を入力値とする。
【0042】
まず、予め単語辞書内の各単語を構成している文字毎に2次元座標を変数とした確率分布関数Pwi(k)(x,y)を定義しておく。Pwi(k)(x,y)は座標(x,y)に対する、単語wiのk番目の文字が生起する確率を示す関数である。関数の例としては、ガウス分布などが挙げられる。
【0043】
図3Aおよび図3Bは、ある単語のある文字についての生起確率分布概念を示す図である。同一文字でも、それが含まれる単語毎に、生起確率分布の関係は異なり得る。上記の座標に対する単語毎の文字生起確率分布を以下では単語モデルと記し、単語モデル管理部16に格納する。図4は、単語モデルの例を示す図である。図4に示すように、単語毎に、その単語を構成するそれぞれの文字について、確率分布関数が対応付けられている。次に、以上のように構成された本実施形態に係る文字入力装置の動作について説明する。
【0044】
図5は、本実施形態に係る文字入力装置の動作を示すフローチャートである。まず、入力待ちの状態から(ステップS1)、入力が無い場合はステップS1の判断を繰り返す一方、入力があった場合、入力された文字の座標(x1,y1)を検知すると(ステップS2)、単語辞書内の全単語について一文字目の生起確率である、
Pwi(1|x1,y1)=Pwi(1)(x1,y1)
を文字生起確率算出部18にて計算し、単語生起確率算出部20に送信する(ステップS3、ステップS4)。
【0045】
単語生起確率算出部20は、Pwi1=Pwi(1|x1,y1)とし、Pwi1が大きい順に入力候補単語選出部22がn単語抽出し、それらを候補単語表示部24bに表示する(ステップS5〜ステップS8)。Pwikは、単語wiのk文字目までの累積確率を意味する。
【0046】
次に、入力待ちの状態から(ステップS9)、入力が無い場合はステップS9の判断を繰り返す一方、入力があった場合、座標(x2,y2)を検知し(ステップS10)、それが候補単語表示領域内である場合、押された座標に対応する単語を文字表示部24aに表示する(ステップS12)。
【0047】
一方、(x2,y2)がソフトウェアキーボード領域である場合、全単語について2文字目の生起確率Pwi(2|x2,y2)=Pwi(2)(x2,y2)を計算し、単語生起確率算出部20に送信する(ステップS13)。
【0048】
単語生起確率算出部20は、Pwi2=Pwi1×Pwi(2|x2,y2)を計算し、Pwi2が大きい順に入力候補単語選出部22がn個抽出し、それらを候補単語表示部24bに表示する。以上の動作を候補単語表示部24bの単語をユーザが決定するまで繰り返し行なう。
【0049】
図6Aおよび図6Bは、単語確率計算例を示す図である。図6Aおよび図6Bに示すように、一文字目の生起確率、二文字目の生起確率および累積確率を計算する。同様の計算方法を用いている分野として音声認識が挙げられるが、音声認識では、一文の音声入力が済んだときに文候補を出力するが、本実施形態においては、キー入力毎に、単語終端に到達していない候補単語であっても累積確率の高い候補を出力することが可能である。
【0050】
以上説明したように、本実施形態によれば、ユーザが入力した文字の座標位置から確率的に単語が求められ、ユーザが入力しようとした単語とは異なるものが表示された場合であっても、正しい単語を提示することが可能になる。
【0051】
(文字数に対する考慮)
ユーザが、ある文字数kの単語を入力したつもりが、意図に反してk以上の文字数が入力されることがあり得る。そのため、k文字以下の単語も候補単語表示部24bに表示する必要があるが、k文字以下の単語に対し累積確率をそのまま考慮すると、k文字より小さい単語の確率がk文字の単語より大きくなってしまう恐れがある。そこで図7に示すように、文字数の違いに従い、累積確率に1より小さい値R(wi)をバイアスとしてかけることで、文字数の違いを考慮した単語提示が行なうことができる。
【0052】
(確率に対する閾値)
単語の累積確率を計算する段階で、確率にある閾値を設けておいて、ある閾値以上ならユーザが確定操作を行なわなくても単語を確定し、文字表示部に表示しても良い。また、本手法においては、全単語の確率値を並列に計算する必要が生じ、計算量が膨大になる。そのため累積確率がある閾値以下の単語については途中で計算を終了しても良い。
【0053】
(単語モデル)
上記の説明では、モデル化の単位を単語モデルで定義しているが、単語モデルを用意するには、学習データが単語毎に必要になり膨大な量となる。そのため、コンテキスト(前後のキー)非依存のキーのモデル、もしくはコンテキスト依存のキーのモデルを連結して単語を構成しても良い。さらに上述のとおり、コンテキスト非依存もしくはコンテキスト依存のキーのモデルを連結して単語を構成するのであれば、単語の最初の数文字が同一である単語については、同一文字を共有する木構造モデルを用いても良い。
【0054】
(再学習機能)
座標(x,y)に確率を予め定義するだけでなく、あるタイミングにおいて、ユーザの入力座標と候補単語表示部から選択された単語履歴から再学習する機能を有する。例えば、候補単語表示部の単語候補の中で、ユーザにより確定された単語を構成する文字について、その時入力された座標に対して、生起確率を高くするなどが考えられる。計算手法として、MAP適応などが挙げられる。
【0055】
(第1の実施形態の変形例)
第1の実施形態では、各単語単位で単語モデルを定義したが、1単語のみでなく、n個の単語から構成される単語列について同様に定義を行なうと、文脈を考慮した単語または単語列提示を行なうことが可能である。そのため、単語列に対してモデルを定義しても良い。
【0056】
(第2の実施形態)
第1の実施形態の変形例では、全ての単語の組み合わせを考慮すると、単語モデル数が膨大になる。そのため、充分にメモリがある場合は、文脈を考慮した単語または単語列提示を効果的に行なうことができる一方、そうではない場合には不向きである。そこで、第2の実施形態として、確率的言語モデルを導入した例を説明する。
【0057】
確率的言語モデルとして、n個の単語の連鎖の様々な組み合わせに対して、最後の単語を除くn−1単語を条件として最後の単語の条件付出現確率を定義する“n−gram”と呼ばれるモデルを用いる。前後2単語の連鎖を単位とするものをbigram、3単語の連鎖を単位とするものをtrigramと呼ぶ。
【0058】
単語w1〜w1−1が連続して入力された後にwiが出現する確率をQ(wi)とすると、以下の式で表わすことができる。
Q(wi)=Q(w1,...,wi)=Q(w1)Q(w2|w1)Q(w3|w1,w2)...Q(wi|w1,...,wi−1)
この確率は、辞書や書籍、使用履歴などから算出が可能である。
【0059】
第1の実施形態では、入力候補単語選出部22にて累積確率Pwik=Pw(k|x1y1)が大きい順に単語を抽出したが、第2の実施形態では、PwikとQ(wi)の積が大きい順に単語を抽出する。
【0060】
次に、第2の実施形態に係る文字入力装置の動作について説明する。図8は、第2の実施形態に係る文字入力装置の動作を示すフローチャートである。まず、第1の実施形態と同様に、累積確率を算出した後、n−gramにより単語wiが出現する確率Q(wi)を取得する。(ステップT1〜T6)。
【0061】
次に、累積確率PwikとQ(wi)の積Swikを算出し(ステップT7)、Swikが大きい順に単語候補をn個抽出し、候補単語表示部24bに表示する(ステップT8、ステップT9)。それ以降は第1の実施形態と同様である。以上の動作により文脈を考慮した単語提示を行なうことができる。
【0062】
(入力方式の違いによる単語モデルの切り替え)
Qwerty入力や携帯入力、フリック入力といった入力方式の違いにより、各単語を構成する文字と座標の関係は異なるため、入力方式ごとに定義する。
【0063】
(操作情報)
フリック入力のように、文字入力方式によっては、ユーザがボタンを押した後に指をスライドするという操作を行なうことがある。そのため、座標に加えて、スライド操作による操作軌跡などに対して確率を定義しても良い。
【0064】
(サーバ連携)
単語モデル管理部16および文字生起確率算出部18、単語生起確率算出部20、入力候補単語選出部22をサーバが有し、本文字入力装置への入力座標をサーバに送信することで、確率演算を行なっても良い。その場合、サーバで確率演算した結果を本文字入力装置が受信し、候補単語表示部24bに表示する。
【0065】
(座標以外のパラメタの使用)
座標以外のパラメタとしては、時間がある。文字と文字との時間間隔も考慮に入れても良い。例えば、入力座標と一文字前の入力座標の位置が近く、入力の時間間隔が短い時は操作ミスで二度押してしまった可能性が考えられる。2文字の入力座標の距離と入力時間間隔に閾値を設け、閾値以下なら操作ミスであると判断し、入力操作を受け付けない、または後での単語候補から削除するなどが考えられる。
【0066】
(センサからの情報)
携帯電話機の操作時などは歩きながら入力操作をすることが考えられる。歩きながら入力操作する場合は、座りながら入力操作する場合と比べて、同じ単語を入力するにしても座標入力傾向が異なる。また同様に、右手で操作する場合と、左手で操作する場合も傾向が異なる。そこで、加速度センサなどで動作を判別し、各々モデル化してもよい。判別方法としては、動作ごとに加速度の示す値や時系列の軌跡を割り当てておいて、パターン認識で判別することが考えられる。加速度センサからの情報に限らず、ジャイロセンサ、傾きセンサなどからの情報を用いても良い。
【0067】
(文字入力以外での利用)
文字入力以外でも、通常のボタン操作などに用いてもよい。その時は、操作履歴などから、ある画面でのボタン毎の生起確率を、座標ごとに定義する。
【0068】
(画面の向きによるモデル化の違い)
画面の向きが縦か横かでは、単語モデルと座標の関係は異なるため、画面の向きごとに単語モデルを定義しても良い。また、一方の向きでの単語モデルを、画面の高さ、幅などを用いて補正することで、他の向きで用いても良い。
【0069】
(計算方法)
上記実施形態では積算としたが、確率の対数に対して和算を行なうなど、他の計算方法でも良い。またHMMの例を示したが、一般的なパターン認識手法を用いても良い。
【0070】
以上説明したように、本実施形態によれば、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【符号の説明】
【0071】
10 接触座標検出部
12 検出空間管理部
14 単語辞書管理部
16 単語モデル管理部
18 文字生起確率算出部
20 単語生起確率算出部
22 入力候補単語選出部
24 表示部
24a 文字表示部
24b 候補単語表示部
24c ソフトウェアキーボード表示部
【技術分野】
【0001】
本発明は、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、その予測した単語を入力候補単語としてタッチパネルディスプレイに表示する技術に関する。
【背景技術】
【0002】
従来から、携帯電話機やPDA(Personal Digital Assistant)など、タッチパネルで操作を行なう装置では、文字入力をソフトウェアキーボードで行なう。しかし、タッチパネル操作であると、ソフトウェアキーボード上のあるボタンを押したつもりが、異なるボタンが反応してしまうことがある。これは、指の腹でボタンを押した時に指の接触を検出した位置が、ボタンの領域から外れることが原因と考えられる。
【0003】
特許文献1には、タッチパネルでのユーザの入力座標と、タッチパネル上のボタンの座標と、そのボタンに割り当てられた重み係数から、ユーザの入力座標を補正する装置が開示されている。ソフトウェアキーボードでの文字入力の例では、入力途中の文字列に対して辞書に登録されている単語の前方一致検索を行ない、入力途中の文字列に続く文字の有無で重み係数を変化する例が挙げられている。例えば入力途中の文字が“go”であった場合、辞書の単語に“god”や“goal”があるため、“d”や“a”に対応するボタンの重みが大きくなる。すると、図9に示すように、ボタンに近い方向にユーザの入力座標が補正され、結果としてそのボタンが反応しやすくなる。一方“k”や“z”のように“go”の後に続く単語が無い場合重みが小さくなり、そのボタンは反応しにくくなる。
【0004】
特許文献2には、タッチパネルでのユーザの入力座標と、ソフトウェアキーボード上の各文字に対応するボタンの位置関係から、ユーザが入力した単語の優先度を推定するという装置が開示されている。これはまず、図10に示すように、入力座標と各文字に対応するボタンの領域の位置関係から、押された候補となる文字を抽出し、得点をつける。次に図11Aおよび図11Bに示すように、連続する座標入力に伴い抽出される各文字群から1文字ずつ取り出して文字列を全ての組み合わせについて作成し、その文字列の中から単語となり得るものを抽出する。最後に、その単語を構成する各文字の得点と、単語の使用頻度から算出された得点から各単語の優先度を算出し、その優先度順に提示する。
【0005】
特許文献3には、特許文献2と同様の装置に加え、各単語にユーザによって入力された文字列の座標の相対位置を記憶しておき、記憶されている相対座標軌跡パターンとユーザの入力座標軌跡と類似度が高い単語に対し高い優先度を与え、その優先度順に提示するという装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特表2010−503125号公報
【特許文献2】特開2006−5655号公報
【特許文献3】特開平10−275046号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1記載の技術は、ユーザの入力座標を補正するものであるが、単語入力終了後に、表示された単語が、ユーザが入力しようとした単語とは異なるものである場合を考慮していないという問題がある。
【0008】
また、特許文献2記載の技術は、入力座標からの得点と単語の使用頻度から、単語候補を推定するものである。しかし、入力する文字が形成する単語によらず、入力座標からの得点は一定である。同じ文字でも単語が異なれば入力するための指の運びも異なるため、入力座標の分布が異なると考えられるが、特許文献2記載の技術は、この点を考慮していないという問題がある。
【0009】
また、特許文献3記載の技術は、ブラインドタッチのみの入力操作を対象としているため、単語毎に入力座標の相対位置は記憶している。しかし、絶対位置座標については考慮していないという問題がある。相対座標のみでは、図10のキーボードを例に挙げると、「いき(息)」と入力したつもりが、「あか(赤)」「かさ(傘)」「きし(岸)」「うく(浮く)」など指の動きが類似している単語は「いき」と同じ類似度を持ち得る候補が絞りきれない。また、提示される単語候補は登録されている相対座標軌跡パターンに大きく依存するため、登録する相対座標軌跡パターンをどのように決定するかという問題がある。
【0010】
また、ユーザが入力する単語は、それ以前の文脈に大きく依存しているが、上記全ての装置は文脈を考慮していないという問題がある。
【0011】
本発明は、このような事情に鑑みてなされたものであり、タッチパネルディスプレイによる文章入力の操作性向上のために、各単語を構成する文字毎に、座標に対して確率密度関数を定義し、更に文脈を考慮したモデルを取り入れることによって、より高精度な単語または単語列提示を行なうことができる文字入力装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
(1)上記の目的を達成するために、本発明は、以下のような手段を講じた。すなわち、本発明の文字入力装置は、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示することを特徴とする。
【0013】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0014】
(2)また、本発明の文字入力装置は、複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出することを特徴とする。
【0015】
このように、言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、単語候補の連鎖確率を算出し、累積確率値と単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、累積生起確率の高い単語から順番に入力候補として選出するので、精度の高い単語候補予測を行なうことが可能となる。
【0016】
(3)また、本発明の文字入力装置は、ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くすることを特徴とする。
【0017】
このように、単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くするので、精度の高い単語候補予測を行なうことが可能となる。
【0018】
(4)また、本発明の文字入力装置は、ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くすることを特徴とする。
【0019】
このように、ユーザが単語を選択した場合、選択した単語の生起確率値を高くするので、ユーザの利用傾向に応じて、精度の高い単語候補予測を行なうことが可能となる。
【0020】
(5)また、本発明の文字入力装置において、前記累積確率値および前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字wikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとすると、Pwik=Pwik−1 * Pwi(k|(x,y))で与えられることを特徴とする。
【0021】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0022】
(6)また、本発明の文字入力装置において、前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字Pwikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとし、当該単語の直前n−1個の単語に基づく単語wiの言語モデル連鎖確率をQ(wi)とすると、Swik=Pwik * Q(wi)で与えられることを特徴とする。
【0023】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0024】
(7)また、本発明の文字入力装置において、前記累積生起確率は、ユーザによる単語入力開始からk文字目の入力に対して、前記単語辞書内の単語の中でm(0<m<k)文字で構成される単語wiについては、mの値に応じて変化する関数R(wi)を用いて、Swik=Pwik * Q(wi) * R(wi)で与えられることを特徴とする。
【0025】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0026】
(8)また、本発明の文字入力装置は、ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断することを特徴とする。
【0027】
このように、ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断するので、無駄な演算を回避し、処理負担を軽減させることが可能となる。
【0028】
(9)また、本発明の文字入力装置において、前記単語モデルは、文字毎に前後複数個の文字に依存するコンテクスト依存文字生起確率モデルと、前後複数個の文字に依存しないコンテクスト非依存文字生起確率モデルとを連結することで得られることを特徴とする。
【0029】
この構成により、精度の高い単語候補予測を行なうことが可能となる。
【0030】
(10)また、本発明の文字入力装置において、前記単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されることを特徴とする。
【0031】
このように、単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されるので、無駄な演算を回避し、処理負担を軽減させることが可能となる。
【0032】
(11)また、本発明の文字入力装置において、前記単語は、複数の単語で構成された複合語であることを特徴とする。
【0033】
この構成により、ユーザが入力した文字に対応する座標から、単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【0034】
(12)また、本発明のプログラムは、タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置に適用されるプログラムであって、単語および前記単語を構成する文字列の組み合わせを記憶する処理と、前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する処理と、ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する処理と、前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する処理と、前記累積確率値の高い単語から順番に入力候補単語として選出する処理と、前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示する処理と、の一連の処理を、コンピュータに実行させることを特徴とする。
【0035】
この構成により、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【発明の効果】
【0036】
本発明によれば、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【図面の簡単な説明】
【0037】
【図1】本実施形態に係る文字入力装置の概略構成を示すブロック図である。
【図2】タッチパネルディスプレイの表示例を示す図である。
【図3A】ある単語のある文字についての生起確率分布概念を示す図である。
【図3B】ある単語のある文字についての生起確率分布概念を示す図である。
【図4】単語モデルの例を示す図である。
【図5】第1の実施形態に係る文字入力装置の動作を示すフローチャートである。
【図6A】単語確率計算例を示す図である。
【図6B】単語確率計算例を示す図である。
【図7】文字数と1より小さい値R(wi)との関係を示す図である。
【図8】第1の実施形態に係る文字入力装置の動作を示すフローチャートである。
【図9】従来の文字入力装置の一例を示す図である。
【図10】従来の文字入力装置の一例を示す図である。
【図11A】従来の文字入力装置の一例を示す図である。
【図11B】従来の文字入力装置の一例を示す図である。
【発明を実施するための形態】
【0038】
(第1の実施形態)
以下、本発明の実施形態について図面を参照して説明する。図1は、本実施形態に係る文字入力装置の概略構成を示すブロック図である。図1において、接触座標検出部10は、ユーザがタッチパネルディスプレイをタッチした時の接触座標を取得する。検出空間管理部12は、タッチパネルディスプレイに表示されるソフトウェアキーボードのボタンに割り当てられた文字ごとに、タッチパネルディスプレイに対するユーザの接触操作を検出する範囲を、2次元空間として管理する。単語辞書管理部14は、単語と、それを構成する文字列の組み合わせを管理する。単語モデル管理部16は、各単語を構成している文字毎に2次元座標を変数とした確率分布関数を定義した、単語確率モデルを管理する。
【0039】
文字生起確率算出部18は、ユーザの入力座標と、単語モデルから文字の生起確率を算出する。単語生起確率算出部20は、文字生起確率算出部18の結果を単語毎に積算することで累積確率を算出し、それを累積生起確率とする。入力候補単語選出部22は、累積生起確率の高い単語から順番に、入力候補単語として選出する。表示部24は、タッチパネルディスプレイから構成され、文字表示部24aと候補単語表示部24bとを有する。
【0040】
図2は、タッチパネルディスプレイの表示例を示す図である。図2では、文字表示部24aと、候補単語表示部24bと、ソフトウェアキーボード表示部24cを示している。文字表示部24aは、入力中の文字およびユーザの操作により確定した文字を表示する。候補単語表示部24bは、入力候補単語選出部22で抽出した単語を表示する。
【0041】
本実施形態では、入力値に対して各単語の生起確率をモデル化する例として、音声認識分野で用いられているHMM(Hidden Markov Model)を用いた方法を挙げる。HMMは、音声認識分野において、時系列の音声データに対して、予め定義された単語または単語列の中から、最も確率の高い単語を求めるプロセスとして定式化されている。音声認識分野では時系列の音声データを入力値としているが、本実施形態では、ユーザのタッチパネルへの入力座標を入力値とする。
【0042】
まず、予め単語辞書内の各単語を構成している文字毎に2次元座標を変数とした確率分布関数Pwi(k)(x,y)を定義しておく。Pwi(k)(x,y)は座標(x,y)に対する、単語wiのk番目の文字が生起する確率を示す関数である。関数の例としては、ガウス分布などが挙げられる。
【0043】
図3Aおよび図3Bは、ある単語のある文字についての生起確率分布概念を示す図である。同一文字でも、それが含まれる単語毎に、生起確率分布の関係は異なり得る。上記の座標に対する単語毎の文字生起確率分布を以下では単語モデルと記し、単語モデル管理部16に格納する。図4は、単語モデルの例を示す図である。図4に示すように、単語毎に、その単語を構成するそれぞれの文字について、確率分布関数が対応付けられている。次に、以上のように構成された本実施形態に係る文字入力装置の動作について説明する。
【0044】
図5は、本実施形態に係る文字入力装置の動作を示すフローチャートである。まず、入力待ちの状態から(ステップS1)、入力が無い場合はステップS1の判断を繰り返す一方、入力があった場合、入力された文字の座標(x1,y1)を検知すると(ステップS2)、単語辞書内の全単語について一文字目の生起確率である、
Pwi(1|x1,y1)=Pwi(1)(x1,y1)
を文字生起確率算出部18にて計算し、単語生起確率算出部20に送信する(ステップS3、ステップS4)。
【0045】
単語生起確率算出部20は、Pwi1=Pwi(1|x1,y1)とし、Pwi1が大きい順に入力候補単語選出部22がn単語抽出し、それらを候補単語表示部24bに表示する(ステップS5〜ステップS8)。Pwikは、単語wiのk文字目までの累積確率を意味する。
【0046】
次に、入力待ちの状態から(ステップS9)、入力が無い場合はステップS9の判断を繰り返す一方、入力があった場合、座標(x2,y2)を検知し(ステップS10)、それが候補単語表示領域内である場合、押された座標に対応する単語を文字表示部24aに表示する(ステップS12)。
【0047】
一方、(x2,y2)がソフトウェアキーボード領域である場合、全単語について2文字目の生起確率Pwi(2|x2,y2)=Pwi(2)(x2,y2)を計算し、単語生起確率算出部20に送信する(ステップS13)。
【0048】
単語生起確率算出部20は、Pwi2=Pwi1×Pwi(2|x2,y2)を計算し、Pwi2が大きい順に入力候補単語選出部22がn個抽出し、それらを候補単語表示部24bに表示する。以上の動作を候補単語表示部24bの単語をユーザが決定するまで繰り返し行なう。
【0049】
図6Aおよび図6Bは、単語確率計算例を示す図である。図6Aおよび図6Bに示すように、一文字目の生起確率、二文字目の生起確率および累積確率を計算する。同様の計算方法を用いている分野として音声認識が挙げられるが、音声認識では、一文の音声入力が済んだときに文候補を出力するが、本実施形態においては、キー入力毎に、単語終端に到達していない候補単語であっても累積確率の高い候補を出力することが可能である。
【0050】
以上説明したように、本実施形態によれば、ユーザが入力した文字の座標位置から確率的に単語が求められ、ユーザが入力しようとした単語とは異なるものが表示された場合であっても、正しい単語を提示することが可能になる。
【0051】
(文字数に対する考慮)
ユーザが、ある文字数kの単語を入力したつもりが、意図に反してk以上の文字数が入力されることがあり得る。そのため、k文字以下の単語も候補単語表示部24bに表示する必要があるが、k文字以下の単語に対し累積確率をそのまま考慮すると、k文字より小さい単語の確率がk文字の単語より大きくなってしまう恐れがある。そこで図7に示すように、文字数の違いに従い、累積確率に1より小さい値R(wi)をバイアスとしてかけることで、文字数の違いを考慮した単語提示が行なうことができる。
【0052】
(確率に対する閾値)
単語の累積確率を計算する段階で、確率にある閾値を設けておいて、ある閾値以上ならユーザが確定操作を行なわなくても単語を確定し、文字表示部に表示しても良い。また、本手法においては、全単語の確率値を並列に計算する必要が生じ、計算量が膨大になる。そのため累積確率がある閾値以下の単語については途中で計算を終了しても良い。
【0053】
(単語モデル)
上記の説明では、モデル化の単位を単語モデルで定義しているが、単語モデルを用意するには、学習データが単語毎に必要になり膨大な量となる。そのため、コンテキスト(前後のキー)非依存のキーのモデル、もしくはコンテキスト依存のキーのモデルを連結して単語を構成しても良い。さらに上述のとおり、コンテキスト非依存もしくはコンテキスト依存のキーのモデルを連結して単語を構成するのであれば、単語の最初の数文字が同一である単語については、同一文字を共有する木構造モデルを用いても良い。
【0054】
(再学習機能)
座標(x,y)に確率を予め定義するだけでなく、あるタイミングにおいて、ユーザの入力座標と候補単語表示部から選択された単語履歴から再学習する機能を有する。例えば、候補単語表示部の単語候補の中で、ユーザにより確定された単語を構成する文字について、その時入力された座標に対して、生起確率を高くするなどが考えられる。計算手法として、MAP適応などが挙げられる。
【0055】
(第1の実施形態の変形例)
第1の実施形態では、各単語単位で単語モデルを定義したが、1単語のみでなく、n個の単語から構成される単語列について同様に定義を行なうと、文脈を考慮した単語または単語列提示を行なうことが可能である。そのため、単語列に対してモデルを定義しても良い。
【0056】
(第2の実施形態)
第1の実施形態の変形例では、全ての単語の組み合わせを考慮すると、単語モデル数が膨大になる。そのため、充分にメモリがある場合は、文脈を考慮した単語または単語列提示を効果的に行なうことができる一方、そうではない場合には不向きである。そこで、第2の実施形態として、確率的言語モデルを導入した例を説明する。
【0057】
確率的言語モデルとして、n個の単語の連鎖の様々な組み合わせに対して、最後の単語を除くn−1単語を条件として最後の単語の条件付出現確率を定義する“n−gram”と呼ばれるモデルを用いる。前後2単語の連鎖を単位とするものをbigram、3単語の連鎖を単位とするものをtrigramと呼ぶ。
【0058】
単語w1〜w1−1が連続して入力された後にwiが出現する確率をQ(wi)とすると、以下の式で表わすことができる。
Q(wi)=Q(w1,...,wi)=Q(w1)Q(w2|w1)Q(w3|w1,w2)...Q(wi|w1,...,wi−1)
この確率は、辞書や書籍、使用履歴などから算出が可能である。
【0059】
第1の実施形態では、入力候補単語選出部22にて累積確率Pwik=Pw(k|x1y1)が大きい順に単語を抽出したが、第2の実施形態では、PwikとQ(wi)の積が大きい順に単語を抽出する。
【0060】
次に、第2の実施形態に係る文字入力装置の動作について説明する。図8は、第2の実施形態に係る文字入力装置の動作を示すフローチャートである。まず、第1の実施形態と同様に、累積確率を算出した後、n−gramにより単語wiが出現する確率Q(wi)を取得する。(ステップT1〜T6)。
【0061】
次に、累積確率PwikとQ(wi)の積Swikを算出し(ステップT7)、Swikが大きい順に単語候補をn個抽出し、候補単語表示部24bに表示する(ステップT8、ステップT9)。それ以降は第1の実施形態と同様である。以上の動作により文脈を考慮した単語提示を行なうことができる。
【0062】
(入力方式の違いによる単語モデルの切り替え)
Qwerty入力や携帯入力、フリック入力といった入力方式の違いにより、各単語を構成する文字と座標の関係は異なるため、入力方式ごとに定義する。
【0063】
(操作情報)
フリック入力のように、文字入力方式によっては、ユーザがボタンを押した後に指をスライドするという操作を行なうことがある。そのため、座標に加えて、スライド操作による操作軌跡などに対して確率を定義しても良い。
【0064】
(サーバ連携)
単語モデル管理部16および文字生起確率算出部18、単語生起確率算出部20、入力候補単語選出部22をサーバが有し、本文字入力装置への入力座標をサーバに送信することで、確率演算を行なっても良い。その場合、サーバで確率演算した結果を本文字入力装置が受信し、候補単語表示部24bに表示する。
【0065】
(座標以外のパラメタの使用)
座標以外のパラメタとしては、時間がある。文字と文字との時間間隔も考慮に入れても良い。例えば、入力座標と一文字前の入力座標の位置が近く、入力の時間間隔が短い時は操作ミスで二度押してしまった可能性が考えられる。2文字の入力座標の距離と入力時間間隔に閾値を設け、閾値以下なら操作ミスであると判断し、入力操作を受け付けない、または後での単語候補から削除するなどが考えられる。
【0066】
(センサからの情報)
携帯電話機の操作時などは歩きながら入力操作をすることが考えられる。歩きながら入力操作する場合は、座りながら入力操作する場合と比べて、同じ単語を入力するにしても座標入力傾向が異なる。また同様に、右手で操作する場合と、左手で操作する場合も傾向が異なる。そこで、加速度センサなどで動作を判別し、各々モデル化してもよい。判別方法としては、動作ごとに加速度の示す値や時系列の軌跡を割り当てておいて、パターン認識で判別することが考えられる。加速度センサからの情報に限らず、ジャイロセンサ、傾きセンサなどからの情報を用いても良い。
【0067】
(文字入力以外での利用)
文字入力以外でも、通常のボタン操作などに用いてもよい。その時は、操作履歴などから、ある画面でのボタン毎の生起確率を、座標ごとに定義する。
【0068】
(画面の向きによるモデル化の違い)
画面の向きが縦か横かでは、単語モデルと座標の関係は異なるため、画面の向きごとに単語モデルを定義しても良い。また、一方の向きでの単語モデルを、画面の高さ、幅などを用いて補正することで、他の向きで用いても良い。
【0069】
(計算方法)
上記実施形態では積算としたが、確率の対数に対して和算を行なうなど、他の計算方法でも良い。またHMMの例を示したが、一般的なパターン認識手法を用いても良い。
【0070】
以上説明したように、本実施形態によれば、ユーザが入力した文字に対応する座標から、単語または単語列を予測して表示することができるため、精度の高い単語候補予測を行なうことが可能となる。
【符号の説明】
【0071】
10 接触座標検出部
12 検出空間管理部
14 単語辞書管理部
16 単語モデル管理部
18 文字生起確率算出部
20 単語生起確率算出部
22 入力候補単語選出部
24 表示部
24a 文字表示部
24b 候補単語表示部
24c ソフトウェアキーボード表示部
【特許請求の範囲】
【請求項1】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、
単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、
前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示することを特徴とする文字入力装置。
【請求項2】
複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出することを特徴とする請求項1記載の文字入力装置。
【請求項3】
ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くすることを特徴とする請求項1または請求項2記載の文字入力装置。
【請求項4】
ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くすることを特徴とする請求項3記載の文字入力装置。
【請求項5】
前記累積確率値および前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字wikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとすると、
Pwik=Pwik−1 * Pwi(k|(x,y))
で与えられることを特徴とする請求項1記載の文字入力装置。
【請求項6】
前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字Pwikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとし、当該単語の直前n−1個の単語に基づく単語wiの言語モデル連鎖確率をQ(wi)とすると、
Swik=Pwik * Q(wi)
で与えられることを特徴とする請求項2記載の文字入力装置。
【請求項7】
前記累積生起確率は、
ユーザによる単語入力開始からk文字目の入力に対して、前記単語辞書内の単語の中でm(0<m<k)文字で構成される単語wiについては、mの値に応じて変化する関数R(wi)を用いて、
Swik=Pwik * Q(wi) * R(wi)で与えられることを特徴とする請求項5または請求項6記載の文字入力装置。
【請求項8】
ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断することを特徴とする請求項1記載の文字入力装置。
【請求項9】
前記単語モデルは、文字毎に前後複数個の文字に依存するコンテクスト依存文字生起確率モデルと、前後複数個の文字に依存しないコンテクスト非依存文字生起確率モデルとを連結することで得られることを特徴とする請求項1記載の文字入力装置。
【請求項10】
前記単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されることを特徴とする請求項9記載の文字入力装置。
【請求項11】
前記単語は、複数の単語で構成された複合語であることを特徴とする請求項1から請求項10のいずれかに記載の文字入力装置。
【請求項12】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置に適用されるプログラムであって、
単語および前記単語を構成する文字列の組み合わせを記憶する処理と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する処理と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する処理と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する処理と、
前記累積確率値の高い単語から順番に入力候補単語として選出する処理と、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示する処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【請求項1】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置であって、
単語および前記単語を構成する文字列の組み合わせを記憶する単語辞書管理部と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する単語モデル管理部と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する文字生起確率算出部と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する単語生起確率算出部と、
前記累積確率値の高い単語から順番に入力候補単語として選出する入力候補単語選出部と、を備え、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示することを特徴とする文字入力装置。
【請求項2】
複数の単語が連続する単語列の後に、特定単語が続く連鎖確率を統計的にモデル化した言語モデルに基づいて、ユーザが入力中の単語候補の直前に入力された連続する単語列から、前記単語候補の連鎖確率を算出し、前記累積確率値と前記単語候補の連鎖確率とを乗算して、当該単語の累積生起確率を算出し、前記累積生起確率の高い単語から順番に入力候補として選出することを特徴とする請求項1記載の文字入力装置。
【請求項3】
ユーザによって過去に入力された単語と、その単語が入力されたときの接触座標との履歴データに基づいて、前記単語モデルを再学習し、ユーザによって過去に入力された単語を構成する文字毎の確率密度関数に対して、その文字が入力されたときの接触座標またはその接触座標の周辺領域の確率値を高くすることを特徴とする請求項1または請求項2記載の文字入力装置。
【請求項4】
ユーザが入力中の文字によって選出される入力候補単語の一覧を一時的に生成し、ユーザが更に一文字を入力して選択した場合、前記選択した単語の生起確率値を高くすることを特徴とする請求項3記載の文字入力装置。
【請求項5】
前記累積確率値および前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字wikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとすると、
Pwik=Pwik−1 * Pwi(k|(x,y))
で与えられることを特徴とする請求項1記載の文字入力装置。
【請求項6】
前記累積生起確率は、前記接触座標(x,y)を検出したときの単語wiのk文字目の文字Pwikに対する確率密度関数をPwi(k|(x,y))とし、単語wiのk文字目での累積確率値をPwikとし、当該単語の直前n−1個の単語に基づく単語wiの言語モデル連鎖確率をQ(wi)とすると、
Swik=Pwik * Q(wi)
で与えられることを特徴とする請求項2記載の文字入力装置。
【請求項7】
前記累積生起確率は、
ユーザによる単語入力開始からk文字目の入力に対して、前記単語辞書内の単語の中でm(0<m<k)文字で構成される単語wiについては、mの値に応じて変化する関数R(wi)を用いて、
Swik=Pwik * Q(wi) * R(wi)で与えられることを特徴とする請求項5または請求項6記載の文字入力装置。
【請求項8】
ユーザが入力中の単語の終端に到達していない入力候補単語のうち、累積確率値が予め定められた閾値以下となった単語については、処理を中断することを特徴とする請求項1記載の文字入力装置。
【請求項9】
前記単語モデルは、文字毎に前後複数個の文字に依存するコンテクスト依存文字生起確率モデルと、前後複数個の文字に依存しないコンテクスト非依存文字生起確率モデルとを連結することで得られることを特徴とする請求項1記載の文字入力装置。
【請求項10】
前記単語モデルは、単語の最初の数文字が同一である単語については、同一文字の前記文字生起確率モデルを共有する木構造モデルを用いて構成されることを特徴とする請求項9記載の文字入力装置。
【請求項11】
前記単語は、複数の単語で構成された複合語であることを特徴とする請求項1から請求項10のいずれかに記載の文字入力装置。
【請求項12】
タッチパネルディスプレイに表示されたソフトウェアキーボードで文字の入力を受け付けて、ユーザが入力中の単語を少なくとも一つ予測し、前記予測した単語を入力候補単語として前記タッチパネルディスプレイに表示する文字入力装置に適用されるプログラムであって、
単語および前記単語を構成する文字列の組み合わせを記憶する処理と、
前記単語辞書管理部に記憶されている各単語を構成する文字のそれぞれに2次元座標を変数とした確率密度関数を対応付けた単語モデルを記憶する処理と、
ユーザが前記タッチパネルディスプレイに触れた時の接点を接触座標として検出した情報および前記単語モデルに基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の生起確率値を算出する処理と、
前記文字毎の生起確率値に基づいて、ユーザによる入力開始から何文字目であるかに応じた文字毎の累積確率値を、当該単語に対する累積生起確率として算出する処理と、
前記累積確率値の高い単語から順番に入力候補単語として選出する処理と、
前記選出された少なくとも一つの入力候補単語を前記タッチパネルディスプレイに表示する処理と、の一連の処理を、コンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図11A】
【図11B】
【公開番号】特開2012−248153(P2012−248153A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−121736(P2011−121736)
【出願日】平成23年5月31日(2011.5.31)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願日】平成23年5月31日(2011.5.31)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]