(57)【要約】【課題】走査型文字入力スイッチのスイッチ操作タイミングに関する確率分布モデルを導入して、入力文字列の誤りに対して高いエラー訂正能力を有する自動訂正アルゴリズムを備えた重度肢体不自由者用のコミュニケーション装置を提供する。【解決手段】走査型の入力スイッチを用いたコミュニケーション装置において、エラー訂正部に、入力スイッチの操作タイミングモデルを記憶したデータベースとこれを利用して入力スイッチの操作タイミングに関するタイミング尤度を生成する部位と、言語データモデルを記憶したデータベースとこれを利用して言語モデルの連鎖確率に関する言語尤度を生成する部位とを設け、これら二つの尤度によるパラメータを使用して、入力文字に応じた状態仮説の累積尤度を算出し、最大の累積尤度を示す状態仮説に対応した文字列をエラー訂正後の文字列として表示出力する。【選択図】図１
2009003704.tif 000002
【特許請求の範囲】
【請求項１】
走査型の入力スイッチを用いて所定の走査ステップ毎に文字を取り込む文字入力部と、前記文字入力部から入力された文字列に対してエラー訂正処理を施すエラー訂正部と、該エラー訂正が施された文字列を画面上に表示する表示部とからなるコミュニケーション装置において、
前記エラー訂正部は、
前記入力スイッチの操作タイミングモデルを記憶した第１のデータベースと、
前記第１のデータベースを利用して入力スイッチの操作タイミングに関するタイミング尤度を生成するタイミング尤度生成手段と、
言語データモデルを記憶した第２のデータベースと、
前記第２のデータベースを利用して言語モデルの連鎖確率に関する言語尤度を生成する言語尤度生成手段と、
所定の文字配列テーブルを参照しつつ前記文字入力部からの入力文字に応じた候補文字集合を生成する候補文字集合生成手段と、
前記走査ステップ毎に前記候補文字集合に含まれる文字の各々に対応した状態仮説を生成し、該生成された状態仮説の各々に対応する前記タイミング尤度及び言語尤度を乗ずることによって、当該走査ステップにおける状態仮説に至るまでの累積尤度を算出する状態仮説生成手段と、
前記状態仮説生成手段によって生成された複数の状態仮説からなる状態仮説集合を管理して、該集合に含まれる各状態仮説に所定の最適解の取得処理を施し、かつ、該集合に含まれる各々の状態仮説のうちで最大の累積尤度を示す状態仮説に対応した文字列を、エラー訂正後の文字列として前記表示部に出力する状態仮説集合管理手段と、を含むことを特徴とするコミュニケーション装置。
【請求項２】
前記第１のデータベースに記憶された操作タイミングモデルは、特定個人の操作者によるスイッチ操作タイミングを事前に収拾累積し、これに統計的処理を施して決定されたものであることを特徴とする請求項１に記載のコミュニケーション装置。
【請求項３】
前記第１のデータベースに記憶された操作タイミングモデルは、健常者を含む複数の操作者によるスイッチ操作タイミングを事前に収拾累積し、これに統計的処理を施して決定されたものであることを特徴とする請求項１に記載のコミュニケーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、筋萎縮性側索硬化症：Amyotrophic Lateral Sclerosis（以下単に「ＡＬＳ」と称する）などの重度肢体不自由者用に開発されたコミュニケーション装置に関するものであり、より具体的には、走査型の文字入力部から時系列的に入力された文字列に対して統計・確率的な手法による誤り訂正処理を行なうことによって、入力文字列の誤りを低減させることができるコミュニケーション装置に関するものである。
【背景技術】
【０００２】
ＡＬＳは、全身性の進行性変性疾患であり、病状の進行と共に身体全体の筋力が低下して行き、手足の運動並びに発声等の機能が完全に失われてしまうおそれもある重大な疾病である。そのため、ＡＬＳなどの疾病を発病した重度肢体不自由者にとっては、自分の手足や口に代わり、周囲の人々との間で意思疎通を図るためのコミュニケーション手段は命綱ともいえる。
【０００３】
近年、エレクトロニクス技術や情報（ＩＴ）技術の飛躍的な進展に伴い、このようなコミュニケーション手段としてパソコンなどの電子端末機器を利用したコミュニケーション装置が普及しつつある。これによって、重度肢体不自由者は、介護者や家族等の身近な人々に対する意思疎通が容易となったことのみならず、例えば、インターネットなどネットワークを介して様々なコミュニティへ積極的に参加することも可能となってきた。
【０００４】
例えば、パソコン等によるコミュニケーション装置の一例としては、重度肢体不自由者が、指先、唇、瞼などの筋力が残されている身体の部位を利用して特殊な入力スイッチを操作し、パソコン画面上に表示された文字やフレーズを選択して自己の意思を他人に表現する装置が挙げられる。因みに、このような用途に用いられる特殊な入力スイッチとしては、パソコン画面上に表示された「あいうえお」などの五十音表上（以下、単に「文字盤」とも言う）でカーソルを走査させて、所望の文字を拾っていく方式が一般に採用されている。
【０００５】
このような、走査方式による文字入力スイッチ（以下、「走査型文字入力スイッチ」或いは単に「入力スイッチ」という）を用いた文字入力の方法を説明すれば次の通りである。先ず、パソコンの画面上には、図６に示すような文字盤が表示されており、この表上の縦方向文字列を縦長のカーソルが、画面の左から右に向かって横方向に自動的に走査して行く（図６（ａ）を参照）。
【０００６】
操作者は、目的の文字が属する縦方向文字列にカーソルが停留している間にスイッチ操作を行なう事によって文字列の選択が完了する。文字列の選択が終了すると、続いて選択された列の中で１文字分の大きさのカーソルが、画面の上から下に向かって自動的に走査を開始する（図６（ｂ）を参照）。前回と同様に、操作者が目的の文字の上にカーソルが停留している間にスイッチ操作を行なう事で行（文字）の選択が完了する。以上の過程を経ることによって、１文字分の入力が完了されることになる。
【０００７】
因みに、図６に示される事例では、最初に「さしすせそ」の文字列が選択され（図６（ａ））、続いて「し」の行が選択されたことによって（図６（ｂ））、結果的には文字「し」が操作者により選ばれたことになる。
【０００８】
カーソルが画面上のある列（または行）に移動してから次の列（または行）に移動するまでの時間は、一般にステップ間隔と呼ばれており、通常のＡＬＳ患者の場合にはステップ間隔を５００ｍｓから１０００ｍｓの間に設定して用いられることが多い。なお、ステップ間隔を短縮するほど文字入力に要する時間は短くなり、コミュニケーションの円滑化、並びにスピードアップが図れることは言うまでもない。
【０００９】
しかしながら、ＡＬＳ患者のような重度肢体不自由者が文字の入力操作を行なう場合は、唇や瞼などの身体の特殊な部位を用いてスイッチ操作を行なう必要があり、さらには患者自体の筋力も極度に低下している。このため、文字入力の能率化を図るべくステップ間隔を短縮すると、カーソルが目的の列（または行）に停留している間にスイッチ操作を完了できず、結果として操作者が望んだ位置とは異なる列（または行）を選択してしまうエラーが多発することになる。
【００１０】
従来、このような走査型文字入力スイッチを用いたコミュニケーション装置において、ステップ間隔を短縮しつつ入力された文字のエラーを低減させる手法として、例えば、非特許文献１に示されるような技術が開示されている。
【００１１】
かかる従来技術では、走査型文字入力方式の入力スイッチを用いるコミュニケーション装置において、必然的に発生する入力文字列の誤りを統計的、確率的な言語モデルを用いて自動的に訂正するエラー訂正アルゴリズムの手法が開示されている。
【００１２】
係る従来手法の要点は、入力誤りモデルと言語モデルとを用いて自動エラー訂正を行なう点に有る。ここで入力誤りモデルとは、目的とする文字が本来文字盤上に占める位置以外の位置に誤って選択される確率分布を示している。一方、言語モデルとは、例えば、文字ｗ１，ｗ２，ｗ３，…，ｗｎからなる文字列Ｗに対して、その構成文字ｗ（１〜ｎ）の結合確率ｐ（Ｗ）を与える確率的言語モデルをいう。
【非特許文献１】森大毅、粕谷英樹：走査型文字入力における自動誤り訂正方式・ヒューマンインターフェース学会論文誌、Ｖｏｌ．８，Ｎｏ．１，ｐｐ．１９５−２０２（２００６）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上述の従来技術によるエラー訂正アルゴリズムでは、誤りを含んだ操作者の文字入力から操作者が本来意図した文字列を推定する問題を、連続音声認識の場合と同様に、雑音を含んだ通信路における最大事後確率復号の問題とみなして解決を図るものである（図７（ａ）参照）。
【００１４】
図７（ａ）において、操作者が文字Ｃを入力しようとする確率Ｐ（Ｃ）は、上記の言語モデルによって推定することができる。一方、Ｐ（ｐ／Ｃ）を文字Ｃに対する目標位置以外の位置を誤って選択する確率分布としこれを入力誤りモデルと定義すると、入力の誤り確率を最小にするためには、言語モデルＰ（Ｃ）と入力誤りモデルＰ（ｐ／Ｃ）から、図７（ｂ）に示される数式によって算出される事後確率Ｐ（Ｃ／ｐ）を最大にするようなＣの系列、即ち、誤り訂正後の文字列Ｃ’を導出すればよい。なお、数式７（ｂ）に示される｛Ｃ，…｝は、Ｃを含む候補文字集合を表している。
【００１５】
ところで、図７（ａ）に示されるように、操作者によって指定された文字盤上の文字の位置ｐは、入力スイッチが操作された時刻によって決定される。一方、入力スイッチの操作時刻は、カーソルの移動するステップ間隔で入力文字列をサンプリングしているものと解釈できるので、位置ｐは離散的な値となり、本来、連続量であるスイッチ操作時刻ｔに対する情報が失われてしまう。
【００１６】
つまり、従来技術によるエラー訂正アルゴリズムではエラー訂正の過程において、如何なる位置において入力スイッチの操作が為されたかのみが考慮され、如何なる時刻において入力スイッチの操作が為されたかという情報が反映されることがない。このため、従来のエラー訂正アルゴリズムは、入力文字列に対するエラー訂正の効果を高めるうえで問題があった。
【００１７】
本発明は、このような従来技術における課題の解決を目的とするものであって、より具体的には、文字入力スイッチのスイッチ操作タイミングに関する確率分布モデルを導入して、入力文字列の誤りに対して更に高いエラー訂正能力を有する自動訂正アルゴリズムを備えた重度肢体不自由者用のコミュニケーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明は、上記の目的を達成するため、走査型の入力スイッチを用いて所定の走査ステップ毎に文字を取り込む文字入力部と、前記文字入力部から入力された文字列に対してエラー訂正処理を施すエラー訂正部と、該エラー訂正が施された文字列を画面上に表示する表示部とからなるコミュニケーション装置において、前記エラー訂正部は、前記入力スイッチの操作タイミングモデルを記憶した第１のデータベースと、前記第１のデータベースを利用して入力スイッチの操作タイミングに関するタイミング尤度を生成するタイミング尤度生成手段と、言語データモデルを記憶した第２のデータベースと、前記第２のデータベースを利用して言語モデルの連鎖確率に関する言語尤度を生成する言語尤度生成手段と、所定の文字配列テーブルを参照しつつ前記文字入力部からの入力文字に応じた候補文字集合を生成する候補文字集合生成手段と、前記走査ステップ毎に前記候補文字集合に含まれる文字の各々に対応した状態仮説を生成し、該生成された状態仮説の各々に対応する前記タイミング尤度及び言語尤度を乗ずることにより、当該走査ステップにおける状態仮説に至るまでの累積尤度を算出する状態仮説生成手段と、前記状態仮説生成手段によって生成された複数の状態仮説からなる状態仮説集合を管理して、該集合に含まれる各状態仮説に所定の最適解の取得処理を施し、かつ、該集合に含まれる各々の状態仮説のうちで最大の累積尤度を示す状態仮説に対応した文字列を、エラー訂正後の文字列として前記表示部に出力する状態仮説集合管理手段と、を含む構成を有している。
【００１９】
このような構成によれば、入力された文字列に対応する状態仮説を生成する際に、言語データモデルを用いた文字連鎖確率に関する言語尤度と、入力スイッチの操作タイミングモデルを用いた操作タイミングのずれを補正するタイミング尤度の２種類のパラメータを用いて、その状態仮説に至る累積尤度を算出できることになる。
【発明の効果】
【００２０】
したがって、本発明によれば、従来装置に比較して入力文字列に対して高いエラー訂正能力を有する走査型文字入力スイッチを用いたコミュニケーション装置を実現することができる。これによって、文字走査入力のステップ間隔を短縮することが可能となり、当該装置を利用する重度肢体不自由者用と周囲の健常者との間で、より円滑なコミュニケーションをよりスピーディーに図ることができる。
【発明を実施するための最良の形態】
【００２１】
先ず、本発明の一つの実施形態であるコミュニケーション装置１００の構成を図１に示すブロック図に基づいて説明する。同図において、入力スイッチ１０１は、重度肢体不自由者の唇や瞼などの身体部位によって操作が可能な特殊スイッチであり、例えば、極めて軽微な押圧によっても押下することができるマイクロスイッチや、或いは光電センサーなどを利用した無接触スイッチによって構成することが好適である。
【００２２】
スイッチ走査入力部１０２は、前述の図６で説明した文字盤上のカーソルを所定のステップ間隔で走査するタイミング制御回路である。また、候補文字集合生成部１０３は、後述の文字配列テーブル１０４を参照して、スイッチ走査入力部１０２を介して取り込まれた入力文字を中心として一群の候補文字集合を生成する部分である。
【００２３】
すなわち、文字配列テーブル１０４には、図６に示された文字盤と同配列の文字テーブルが記憶されており、候補文字集合生成部１０３は、入力文字を中心としてその上下左右の各一列・一行分だけ離れた（３×３）の文字マトリクスから成る候補文字集合を生成する。例えば、入力文字が「し」の場合は（図６を参照のこと）、当該文字を含めてその周りを囲む一列・一行分の「か、さ、た、き、し、ち、く、す、つ」の９文字を含む候補文字集合が生成される。
【００２４】
なお、候補文字集合生成部１０３における候補文字集合の生成範囲は、上記の事例に限定されるものではない。例えば、同生成範囲を、入力文字を中心としてその上下左右の各二列・二行分だけ離れた（５×５）の文字マトリクス、或いは、それ以上に拡大された文字マトリクスの範囲に拡張するようにしても良い。但し、候補文字集合の生成範囲が拡大するにつれて本装置における処理時間が増大するため、本装置演算処理部の処理速度や、搭載されたメモリ容量等の現実の実施態様に応じて、上記候補文字集合の生成範囲は適宜変更し得るものとする。
【００２５】
スイッチ操作タイミングデータベース１０５（以下、単に「データベース１０５」という）は、操作者のスイッチ操作タイミングを実験的に測定し、当該測定値を基にして生成された入力スイッチの操作タイミング時間の確率分布を記憶したデータベースである。なお、スイッチ操作タイミングは、全てのステップ間隔について測定・記録することが好ましい。
【００２６】
また、複数の被験者（健常者を含む）を用いて、これらの被験者のスイッチ操作タイミングを測定し、これに統計的な処理を施して汎用的データベースとして用いるようにしても良い。或いは、コミュニケーション装置を使用する特定の操作者を限定して、当該操作者のスイッチ操作タイミングを測定し、係る特定個人専用のスイッチ操作タイミングモデルのデータベースを生成してこれを用いるようにしても良い。
【００２７】
タイミング尤度生成部１０６は、データベース１０５に蓄積されたスイッチ操作のタイミングの確率分布データを用いて、スイッチ操作のタイミング確率密度に相当するタイミング尤度を生成する部分である。
【００２８】
言語モデルデータベース１０８（以下、単に「データベース１０８」という）は、入力文字列の並びが一般的な日本語的表現となるような文字の連鎖確率を示すデータベースであり、例えば、仮名文字「ｎ−ｇｒａｍ」モデル（ｎは文字数を表す）などの汎用的な文字組からなるモデルを利用して構成することが好ましい。また、言語尤度生成部１０７は、データベース１０８に蓄積された文字連鎖確率データを用いて、入力文字列における文字の出現確率を示す言語尤度を生成する部分である。なお、データベース１０８は、上記の文字連鎖確率に限定されるものではなく、例えば、単語の連鎖確率を示すデータベース、或いは、文字フレーズの連鎖確率を示すデータベース等の言語モデル全般に使用されるデータベースを用いるようにしても良い。
【００２９】
状態仮説生成部１０９は、スイッチ走査入力部１０２からの入力文字と、以上に説明した候補文字集合、タイミング尤度、及び言語尤度を用いて、所定の状態仮説を生成する部分である。ここで状態仮説とは、所定の走査ステップにおいて入力文字列の取り得る状態を仮想したものをいう。したがって、前回までの走査ステップで入力された文字列による状態仮説に、更に、今回の走査ステップにおいて生成された候補文字集合に含まれる文字が付加されて新たな状態仮説が生成されることになる。
【００３０】
状態仮説集合管理部１１０は、状態仮説生成部１０９によって生成された複数の状態仮説からなる状態仮説集合を管理する部分であり、状態仮説集合に含まれる各々の状態仮説について、例えば、ビタビアルゴリズムを用いた最適解（確率最大となる解）の取得処理を施し、状態仮説数の総数の絞込みを行なう部分である。また、状態仮説集合管理部１１０は、各々の状態仮説の累積尤度を算定・比較して最大の累積尤度を示す状態仮説に対応する文字列をエラー訂正後の文字列として表示画面１１１に出力する。なお、状態仮説生成部１０９および状態仮説集合管理部１１０の具体的動作については、後述の図５に示す時系列遷移図を用いて詳述する。
【００３１】
次に、本実施例によるコミュニケーション装置の入力文字列に対するエラー訂正アルゴリズムについて、図２を参照しつつ説明を行なう。先ず、本実施例によるエラー訂正アルゴリズムの原理を図（２ａ）に示す。因みに、同図において操作者が文字Ｃを入力しようとする確率Ｐ（Ｃ）は、前述した図７の従来例と同様に、いわゆる言語モデルによって推定し得るものとする。
【００３２】
ところで、操作者によって文字Ｃが入力されるとき、文字盤上の列Ｘに関しては時刻ｔｘで、行Ｙに関しては時刻ｔｙで、入力スイッチが操作される確率密度関数をｐ（ｔｘ，ｔｙ／Ｃ）と定義する。そして、係る確率密度関数ｐ（ｔｘ，ｔｙ／Ｃ）をスイッチ操作タイミングモデルと呼ぶものとする。なお、時刻ｔｘ及びｔｙは、カーソルが当該列又は行にセットされたときを基準とした時刻である。
【００３３】
本実施例によるエラー訂正アルゴリズムでは、図（２ｂ）の式に示す事後確率Ｐ（Ｃ／ｔｘ，ｔｙ）を最大にするようなＣ’の系列を出力する復号器、即ちエラー訂正機構を設計すれば良い。いま、簡単のため、確率分布は入力文字Ｃに依存せず、列方向と行方向の各々の確率分布は独立であり、それぞれが一次元分布ｐｘ（・），ｐｙ（・）に従うと仮定すると、
ｐ（ｔｘ，ｔｙ／Ｃ）＝ｐｘ（ｔｘ−ｔｃｘ）ｐｙ（ｔｙ−ｔｃｙ）
と近似できる。
【００３４】
但し、ｔｃｘ、ｔｃｙは、文字Ｃの文字盤上の位置、及び走査ステップの時間間隔によって定まる時間シフト量である。それ故、ｐｘ（・）およびｐｙ（・）は、何らかの確率分布で近似することが可能であり、そのパラメータは、走査型文字入力のコミュニケーション装置において、文章入力実験を行なうことによって推定することができる。
【００３５】
スイッチ操作タイミングモデルのパラメータは、文字盤上のカーソル走査のステップ間隔のほか、操作者である肢体不自由者の可動範囲や、筋力、使用している文字入力スイッチの種類及びセッティング等の諸事項に依存する。このため、本実施例では、複数の操作者（健常者を含む）による文字入力実験の結果を基にスイッチ操作タイミングの分布を求め、これを基にしてスイッチ操作タイミングモデルを得るものとした。なお、装置構成の簡易化を図る上では、スイッチ操作タイミングは、平均値と標準偏差をパラメータとする単一正規分布でモデル化することが好ましい。
【００３６】
次に、本実施例によるコミュニケーション装置の具体的な処理動作について説明を行なう。先ず、本装置の全体的な動作フローチャートを図３に示す。なお、同フローチャートによって示されるプログラムは、同装置の中核となるパソコンに内蔵されたハードディスク装置などのメモリ部（図示せず）に記憶されているものとし、当該プログラムは、同じくパソコンに搭載されたマイクロプロセッサ（図示せず）によって実行されるものとする。
【００３７】
先ず、操作者によって文字入力の開始を示す何らかの指令が本装置に印加されると、上記のマイクロプロセッサは、ステップＳ１０に示す列方向のカーソル走査処理を実行し、同処理が終了すると、引き続いてステップＳ２０の行方向のカーソル走査処理を実行する。これによって、文字盤から一文字分の文字入力がなされることになるが、この詳細な動作については、図４に示す文字入力の走査フローチャートに基づいて説明する。
【００３８】
図（４ａ）は、上記ステップＳ１０の列方向のカーソル走査処理を担うサブルーチンプログラムのフローチャートである。同プログラムが起動されると、マイクロプロセッサは、ステップＳ１１において文字盤上の文字列を示す変数Ｘを「１」に初期化し、文字列Ｘ（この場合はＸ＝１、即ち、文字盤左端の第１列）にカーソルを表示させた後（ステップＳ１２）、ステップＳ１３に移り、いわゆるイベントの発生待ちの状態に入る。ここで、イベントの発生とは、操作者によるスイッチ操作があった場合、或いは走査ステップ間隔の時間が経過してもスイッチの入力操作が無くタイムアウトとなった場合、の何れかを指すものである。
【００３９】
先ず、ステップＳ１３においてタイムアウトとなった場合、マイクロプロセッサは、当該文字列において操作者によるスイッチ操作（文字入力）が無かったものと判断し、次のステップＳ１４に移行する。そして、変数Ｘの値が文字盤の最終列にまで達したか否か、即ちカーソルによる文字列の走査が文字盤の右端にまで到達したか否かを判定する。
【００４０】
ステップＳ１４において、変数Ｘの値が文字盤の最終列（文字盤右端）にまで達した、即ち、列カーソルによる文字盤列方向の走査が完了したと判定された場合は、未だ操作者による文字入力が為されていない状況なので、マイクロプロセッサは、再びステップＳ１１に戻り上記の処理を繰り返す。一方、変数Ｘの値が文字盤の最終列まで達していないと判定された場合は、ステップＳ１５に移って変数Ｘをインクリメント（Ｘ＋１）した後、ステップＳ１２に戻り上記の処理を繰り返す。
【００４１】
一方、ステップＳ１３のイベント発生待ちの状態において、操作者によるスイッチ操作があった場合、マイクロプロセッサは、ステップＳ１６に移り一時的なデータレジスタである入力文字履歴に、スイッチ操作が為された列を示す変数Ｘの値と、スイッチ操作が為されたときの時刻ｔｘを記録して図（４ａ）のサブルーチン処理を終了させる。なお、時刻ｔｘは、走査カーソルが当該Ｘ列に停留されたときからカウントが開始されるものであることは言うまでもない。
【００４２】
続いて、図３のステップＳ２０における行方向のカーソル走査処理のサブルーチンプログラムを図（４ｂ）に示す。但し、同サブルーチンプログラムの構成は、以上に説明した図（４ａ）の場合と同様であるためその説明は省略する。なお、図（４ｂ）に示される行方向のカーソル走査処理が終了すると、上記の入力文字履歴には先の（Ｘ，ｔｘ）に加えて、スイッチ操作が為された行を示す変数Ｙの値と、当該スイッチ操作が為されたときの時刻ｔｙが記録される。
【００４３】
図３に示す装置全体のフローチャートにおいて、ステップＳ１０並びにステップＳ２０の処理が終了すると、マイクロプロセッサはステップＳ３０に移り、スイッチ操作によって入力された文字が改行記号であるか否かを判定する。ステップＳ３０において入力文字が改行記号であると判定された場合は、操作者による一行分の文字列入力が終了したものと判断して、ステップＳ７０に移り文字の入力履歴などのレジスタ類をクリアして、表示画面１１１の改行処理（ステップＳ８０）を行った後、フローチャートの最初に戻り以上の処理を繰り返す。
【００４４】
一方、ステップＳ３０において入力文字が改行記号以外の他の文字であると判定された場合は、未だに操作者による一行分の文字列の入力が終了されていないため、ステップＳ４０に移り、スイッチ操作による文字の入力履歴に今回入力された文字の座標（Ｘ，Ｙ）と時刻（ｔｘ，ｔｙ）に関する情報を追加する。
【００４５】
その後、マイクロプロセッサは、ステップＳ５０、Ｓ６０に移行して、状態仮説生成部１０９による状態仮説の生成や、状態仮説集合管理部１１０による状態仮説集合についての最適解（確率最大となる解）の取得、累積尤度最大の文字列（即ち、エラー訂正後の文字列）の検出、および表示画面へのエラー訂正後の文字列表示などの処理を実行する。なお、これらの処理の詳細については後述する。
【００４６】
次に、本実施例のコミュニケーション装置における入力文字列についての具体的なエラー訂正処理の様子、即ち、状態仮説生成部１０９並びに状態仮説集合管理部１１０の動作について、図５に示す入力文字の時系列に応じた遷移図に基づいて説明する。なお、以下に説明する事例では、文字入力の走査ステップ間隔が５００ｍｓに設定されているものとし、言語モデルとしては仮名３−ｇｒａｍ、つまり仮名文字３字組モデルの言語モデルが設定されているものと仮定する。
【００４７】
また、図５に示される事例では、操作者は「はつめい」（発明）なる文字列を入力するつもりで、実際には「はつめあ」なる文字列を入力してしまった場合を想定している。なお、同図において、最上段のｎ＝１は１文字目の文字入力を示すものであり、ｎ＝４は４文字目の文字入力を示すものである。また、その下に記載されたｔｘ，ｔｙの値は、前述の各走査ステップにおける文字入力操作スイッチの列方向、並びに行方向の操作時刻を記録した値である。
【００４８】
先ず、操作者によって第１字目として「は」なる文字が入力された場合に着目する。本装置では、係る文字入力に応じて、文字「は」を含む「な、は、ま、に、ひ、み」の６文字の候補文字集合が候補文字集合生成部１０３によって生成され、状態仮説生成部１０９に供給される。状態仮説生成部１０９では、これに基づいて６つの状態仮説を生成し、これらの状態仮説を状態仮説集合管理部１１０に出力する。因みに、図５のｎ＝１の下に示される「は」〜「み」の６つの四角枠がそれぞれの状態仮説を表している。
【００４９】
また、当該事例では、１文字目（ｎ＝１）の文字入力が為された時刻は、同図に示されるようにｔｘ＝２４０ｍｓ、ｔｙ＝１８０ｍｓと想定されている。つまり、列方向のカーソルが文字盤上の「はひふへほ」の列に停留されてから２４０ｍｓ経過した後に入力スイッチの操作が為され、その後、行方向のカーソルが文字盤上の文字「は」の行に停留されてから１８０ｍｓ経過した後に入力スイッチの操作が為されたものと仮定する。
【００５０】
ｎ＝１のステップで生成される状態仮説について「は」の場合を例にとって説明する。先ず、当該状態仮説を表す四角枠内の最上段に記載された「Ｃ：は」は、この状態仮説における推定文字Ｃが「は」であることを表している。また、次段の
ｐ（は）＝１×ｐｔ（ｔｘ＝２４０，ｔｙ＝１８０）×Ｐ（は／＃）
なる式は、当該状態仮説に至る累積確率（以下、「累積尤度」という）を表すものである。
【００５１】
因みに、上式の第１項は、当該状態仮説に至る一つ前の状態仮説の累積尤度を表すものであるが、この場合は入力文字列の文頭であるためそれ以前の状態仮説が存在せず、それ以前の累積尤度として「１」の値が代入されている。また、上式の第２項は、スイッチ操作タイミングのタイミング尤度、即ち、ｔｘ＝２４０ｍｓ、ｔｙ＝１８０ｍｓのスイッチ操作タイミングにおいて、入力された文字Ｃが「は」である確率を表している。
【００５２】
また、第３項目のＰ（は／＃）は、言語モデルデータベースを基にして生成された言語尤度を意味しており、大まかに言えば、当該状態仮説に至る一つ前の状態仮説における文字列の並びの次に、今回入力された文字「は」が来る際の確率を表している。なお、この場合は入力文字の文頭であるためそれ以前の文字列が存在せず、それ故、かかる状況を意味する記述「／＃」となっている。
【００５３】
また、状態仮説「は」の四角枠内最下段の「Ｃｍａｘ：は」は、文字列の末尾２文字を共通とする状態仮説のグループの中で、その累積尤度が最大となる状態仮説における文字列を示すものであるが、一文字目の入力ではかかる状態仮説グループが存在しないため、自らの状態仮説の文字「は」が記載されている。
【００５４】
「は」以外の他の状態仮説「な」〜「み」に関しても以上と同様であるが、例えば、状態仮説「な」におけるスイッチ操作タイミングのタイミング尤度は、
ｐｔ（ｔｘ＝７４０，ｔｙ＝１８０）
と記載されている。これは、操作者が本来、候補文字集合に含まれる文字「な」の入力を目的としたが、列方向のカーソル走査におけるスイッチ操作タイミングが一走査ステップ分（５００ｍｓ）遅れてしまい、「なにぬねの」の列ではなく「はひふへほ」の列を選択してしまった場合のタイミング尤度を示したものである。
【００５５】
したがって、この場合の列方向についての入力スイッチの操作時刻ｔｘは、上記の如く
ｔｘ＝２４０ｍｓ＋５００ｍｓ＝７４０ｍｓ
となる。なお、文字「な」と「は」同一行にあるので、行方向の入力スイッチの操作時刻ｔｙについては、「は」の状態仮説と同一の値となる。
【００５６】
一方、状態仮説「ま」におけるスイッチ操作タイミングのタイミング尤度の値は、
ｐｔ（ｔｘ＝−２６０，ｔｙ＝１８０）
と記載されているが、これは、操作者が本来「ま」の入力を目的としたが、スイッチ操作タイミングが一走査ステップ分（５００ｍｓ）早まって、「は」と入力してしまった場合のタイミング尤度を示したものである。したがって、この場合の入力スイッチの操作時刻は、
ｔｘ＝２４０ｍｓ−５００ｍｓ＝−２６０ｍｓ
となる。
【００５７】
また、状態仮説「に」、「ひ」、「み」については、そのｔｘの値はそれぞれの文字と同列になる「な」「は」「ま」と同一であるが、そのｔｙの値は−３２０ｍｓとなっている。これは、操作者がこれらの文字を行カーソルから入力しようとした際に、一走査ステップ分（５００ｍｓ）早まってスイッチ操作を行なってしまった場合を想定したものである。したがって、「に」、「ひ」、「み」の各状態仮説における行方向の入力スイッチの操作時刻ｔｙは、
ｔｙ＝１８０ｍｓ−５００ｍｓ＝−３２０ｍｓ
となる。
【００５８】
状態仮説集合管理部１１０は、以上の「は」〜「み」の６通りの状態仮説の累積尤度を比較して、最大の累積尤度を示す状態仮説を選択し、この状態仮説に対応する文字列Ｃｍａｘをエラー訂正処理が施された入力文字として表示画面１１１に表示する。因みに、スイッチ操作タイミングモデルが単純な正規分布モデルで近似されていると仮定した場合、状態仮説「は」のスイッチ操作時刻（ｔｘ＝２４０ｍｓ，ｔｙ＝１８０ｍｓ）が正規分布の中央値に最も近いため、そのタイミング尤度が最大となり、表示画面１１１には文字「は」が表示されることになる。
【００５９】
但し、データベース１０５に蓄積されたスイッチ操作タイミングに関する統計データが、例えば、特定の操作者による操作タイミングの測定結果に基づいている場合は、当該操作者の性癖の反映された操作タイミング時刻が、スイッチ操作タイミングモデルにおける正規分布の中央値に反映される。また、最大の累積尤度を示す文字（文字列）の選択に関しては、タイミング尤度のみならず、言語尤度によってもその累積尤度が影響を受けることは言うまでもない。
【００６０】
次に、ｎ＝２、即ち第２文字目の入力ステップについて説明を行なう。操作者によって第２文字目の「つ」が入力されると、候補文字集合生成部１０３は、「し、ち、に、す、つ、ぬ、せ、て、ね」の９文字の候補文字集合を生成する。これを受けて状態仮説生成部１０９は、上記の第１文字の入力ステップの時に生成された６通りの状態仮説のそれぞれに、これら９文字の何れか一文字を付加した「はつ」、「はし」、「なつ」等の２文字から成る５４通り（６×９）の状態仮説を生成して、これらを状態仮説集合管理部１１０に出力する。
【００６１】
ｎ＝２のステップにおいて生成された状態仮説の一つを、ｎ＝２の最上段の「はつ」を例にとって説明すれば、当該状態仮説に至る累積尤度ｐ（はつ）は、当該状態仮説の四角枠内に示されるように
ｐ（はつ）＝ｐ（は）×ｐｔ（ｔｘ＝２２０，ｔｙ＝１９０）×Ｐ（つ／は）
として表すことができる。上式の第１項ｐ（は）は、ｐ（はつ）に至る一つ前の状態仮説「は」の累積尤度であり、第２項ｐｔ（ｔｘ＝２２０，ｔｙ＝１９０）は、ｎ＝２の走査ステップにおける入力文字「つ」のスイッチ操作タイミング尤度を示している。また、第３項Ｐ（つ／は）は、文字列「はつ」がデータベース１０８の言語モデルを基にして形成される場合の連鎖文字確率、即ち言語尤度を表している。
【００６２】
なお、状態仮説集合管理部１１０は、前述のｎ＝１のときと同様に、以上の５４通りの状態仮説の累積尤度を比較して最大の累積尤度を示す状態仮説を選択し、当該状態仮説に対応する文字列Ｃｍａｘをエラー訂正処理が施された入力文字として表示画面１１１に表示する。
【００６３】
続いて、ｎ＝３（第３文字目）の入力ステップについて説明を行なう。第３文字目の「め」が入力されると、候補文字集合生成部１０３は、これに応じて「ふ、む、よ、へ、め、ほ、も」の７文字の候補文字集合を生成する。また、状態仮説生成部１０９は、第２文字目の入力ステップの時に生成された５４通りの状態仮説のそれぞれに、今回の７文字の何れかを付加した「つめ」、「つふ」、「しめ」等の２文字から成る３７８通り（６×９×７）の状態仮説を生成して、これらを状態仮説集合管理部１１０に出力する。因みに、本実施例においては、言語モデルとして仮名３−ｇｒａｍ、つまり仮名文字の３字組モデルを使用しているため、状態仮説の構成文字は入力された文字列の末尾２文字分となる。
【００６４】
ｎ＝３において生成される状態仮説の一つについて、最上段の「つめ」を例にとって説明すれば、当該状態仮説に至る累積尤度ｐ（つめ）は、その四角枠内に示されるように
ｐ（つめ）＝ｐ（はつ）×ｐｔ（ｔｘ＝３３０，ｔｙ＝２３０）×Ｐ（め／はつ）
として表すことができる。上式の第１項のｐ（はつ）は、ｐ（つめ）に至る一つ前の状態仮説「はつ」の累積尤度であり、第２項のｐｔ（ｔｘ＝３３０，ｔｙ＝２３０）は、ｎ＝３の走査ステップにおける入力文字「め」のスイッチ操作タイミング尤度である。また、第３項のＰ（め／はつ）は、文字列「はつめ」が形成される場合の言語尤度を表している。
【００６５】
ｎ＝３のステップにおいて、状態仮説集合管理部１１０は、上記の状態仮説集合についてビタビアルゴリズムに基づく最適解の取得処理を行ない、次のステップで用いる状態仮説の数を低減させている。これを具体的に説明すれば、ｎ＝３において、例えば、状態仮説「つめ」が生成されるパターンとしては、前のステップにおける「はつ」、「なつ」、或いは「まつ」等の状態仮説に、今回の入力文字「め」が付加されて状態仮説「つめ」に遷移してくるパターンが挙げられる。状態仮説集合管理部１１０は、これらの状態仮説「つめ」を構成するグループの中から最大の累積尤度を示す状態仮説のみを抽出し、係る抽出状態仮説を当該グループの代表状態仮説とみなして、当該グループ内の他の状態仮説を全て廃棄するのである。
【００６６】
かかる最適解の取得処理によって、状態仮説生成部１０９が次の段階で利用する状態仮説の数は、上記の３７８通りから一挙に６３通り（９×７）に縮減される。また、状態仮説集合管理部１１０は、前述のｎ＝１、或いはｎ＝２の場合と同様に、かかる６３通りの状態仮説の累積尤度を比較して、その中で最大の累積尤度を示す状態仮説を選択し、この状態仮説に対応する文字列Ｃｍａｘをエラー訂正処理が施された入力文字として表示画面１１１に表示する。
【００６７】
最後に、ｎ＝４（第４文字目）の入力ステップについて説明を行なう。第４文字目の「あ」が入力されると、これに応じて候補文字集合生成部１０３は「ぁ、あ、か、ぃ、い、き」の６文字の候補文字集合を生成する。また、状態仮説生成部１０９は、第３文字目の入力ステップで絞り込まれた６３通りの状態仮説のそれぞれに、今回の６文字の何れかを付加した「めあ」、「めい」、「ふあ」等の２文字から成る３７８通り（６３×６）の状態仮説を生成してこれらを状態仮説集合管理部１１０に出力する。
【００６８】
当該ステップにおいても、前回のｎ＝３のステップと同様の処理が施されて、状態仮説集合管理部１１０は、最大の累積尤度を示す状態仮説に対応する文字列Ｃｍａｘをエラー訂正処理が施された文字列として表示画面１１１に表示する。なお、本事例では、第４文字目の入力文字に操作者による誤りがみられるが、以上に説明した各ステップにおける累積尤度の遷移過程を経ることによって、正しい文字列である「はつめい」を示す状態仮説の累積尤度が最大となり、これに応じた文字列「Ｃｍａｘ：はつめい」がエラー訂正後の文字列として表示される可能が極めて高くなる。
【００６９】
本実施例のエラー訂正アルゴリズムを用いたシミュレーション実験における文字正解率の結果を下表に示す。
［エラー訂正実験における文字正解率］
走査ステップ間隔          ２００ｍｓ      ３００ｍｓ  
（１）誤り訂正無し              ７７．８％      ９５．２％
（２）従来技術の誤り訂正        ９１．７％      ９７．８％
（３）本発明による誤り訂正      ９６．１％      ９９．２％
【００７０】
因みに、この場合の文字正解率とは、連続音声認識の性能評価試験において広く用いられている単語正解率と同様に定義される次式によって示されるものとする。
文字正解率＝｛（Ｎ−Ｓ−Ｄ）／Ｎ｝×１００％
但し、上式において、Ｎは入力総文字数、Ｓは誤り文字数、Ｄは脱落文字数を示す。
【００７１】
上表からも明らかなように、本発明によれば重度肢体不自由者用のコミュニケーション装置において、入力文字列のエラー訂正結果については従来方式に比べて良好な結果を得ることができる。特に、入力文字の走査ステップ間隔が３００ｍｓの場合には。ほぼ１００％に近いエラー訂正能力を発揮することが可能であり、重度肢体不自由者とのコミュニケーションをさらに円滑に行なうことが期待できる。
【００７２】
なお、本発明は以上に説明した実施形態に限定されるものではなく、例えば、本発明を構成する各部位の形状や配置、或いはその素材等は、本発明の趣旨を逸脱することなく、現実の実施対応に即して適宜変更ができるものであることは言うまでもない。
【産業上の利用可能性】
【００７３】
以上に説明した本発明の構成は、ＡＬＳ患者のみならず、その他の疾病或いは事故などによる重度肢体不自由者用のコミュニケーション装置としてその利用が可能である。また、判断能力や反射能力が低下した高齢者向けの文字入力装置としての利用も可能である。
【図面の簡単な説明】
【００７４】
【図１】本発明によるコミュニケーション装置の構成を示すブロック図である。
【図２】本発明のコミュニケーション装置におけるエラー訂正アルゴリズムを説明する図である。
【図３】本発明のコミュニケーション装置における全体動作を説明するフローチャートである。
【図４】図３のフローチャートの入力走査処理における動作を説明するフローチャートである。
【図５】本発明のコミュニケーション装置における誤り訂正処理を説明する時系列遷移図である。
【図６】重度肢体不自由者用に開発されたコミュニケーション装置における文字入力の様子を説明する図である。
【図７】従来のコミュニケーション装置におけるエラー訂正アルゴリズムを説明する図である。
【符号の説明】
【００７５】
１００    …    コミュニケーション装置
１０１    …    入力スイッチ部
１０２    …    スイッチ走査入力部
１０３    …    候補文字集合生成部
１０４    …    文字配列テーブル
１０５    …    スイッチ操作タイミングデータベース
１０６    …    タイミング尤度生成部
１０７    …    言語尤度生成部
１０８    …    言語モデルデータベース
１０９    …    状態仮説生成部
１１０    …    状態仮説集合管理部
１１１    …    表示画面
【図１】
2009003704.tif 000003
【図２】
2009003704.tif 000004
【図３】
2009003704.tif 000005
【図４】
2009003704.tif 000006
【図５】
2009003704.tif 000007
【図６】
2009003704.tif 000008
【図７】
2009003704.tif 000009