(57)【要約】【課題】素早く簡単に修正対象の箇所を訂正できる、音声入力を用いたテキスト編集装置を提供する。【解決手段】音声認識装置と協働してテキストの入力及び編集を行なうテキスト編集装置は、編集対象のテキストを表示するタッチパネルディスプレイと、タッチパネルディスプレイの出力に基づいて、ユーザのジェスチャの種類を検出し、ジェスチャの種類に基づいてテキストに対する編集方法を決定する編集方法決定部（ステップ３０２）と、決定された編集方法がテキスト入力を伴う置換、挿入等であることに応答して音声認識を起動する起動部（ステップ３１４，３２６，３３４）とを含み、音声認識結果が出力されると、音声認識結果を用い、タッチパネルディスプレイに記憶されたテキストを、編集方法決定部により決定された編集方法で編集する。【選択図】図１４
2015056154.tif 000002
【特許請求の範囲】
【請求項１】
音声認識装置と協働してテキストの入力及び編集を行なうテキスト編集装置であって、
編集対象のテキストが表示される表示面を持ち、当該表示面上へのユーザのタッチを検出してタッチ位置情報を出力するタッチパネルディスプレイと、
前記タッチパネルディスプレイの出力に基づいて、ユーザが前記表示面上に描画したジェスチャの種類を検出し、当該ジェスチャの種類に基づいて、前記タッチパネルディスプレイに表示されているテキストに対して行なわれる編集方法を決定する編集方法決定手段と、
前記編集方法決定手段により決定された編集方法が第１の編集方法であることに応答して、前記音声認識装置による音声認識を起動する起動手段と、
前記音声認識装置から音声認識結果が出力されたことに応答して、前記音声認識結果を用い、前記タッチパネルディスプレイに表示されたテキストを、前記編集方法決定手段により決定された編集方法で編集する編集実行手段とを含む、テキスト編集装置。
【請求項２】
前記第１の編集方法はテキストの置換である、請求項１に記載のテキスト編集装置。
【請求項３】
前記第１の編集方法はテキストの挿入である、請求項１に記載のテキスト編集装置。
【請求項４】
前記編集実行手段は、
前記タッチパネルディスプレイの出力及び前記編集方法決定手段の出力を用い、前記表示面上での前記ジェスチャの描画領域と、前記表示面上に表示されているテキストの表示領域とに基づいて、前記表示面に表示されているテキストの内で編集の対象となる文字若しくは文字列又は編集の対象となる位置を選択する選択手段と、
前記選択手段により選択された文字若しくは文字列又は位置に対して、前記編集方法決定手段により決定された編集を実行する手段とを含む、請求項１〜請求項３のいずれかに記載のテキスト編集装置。
【請求項５】
前記音声認識装置は、音声認識結果の文字ごと、又は単語ごとに音声認識結果の信頼度を表す尤度を付して出力し、
前記テキスト編集装置は、編集の対象となるテキストに尤度が付されている場合に、文字ごと又は単語ごとに尤度を記憶する記憶手段をさらに含み、
前記選択手段は、前記タッチパネルディスプレイの出力に基づいて、ユーザが前記表示面上に描画したジェスチャと、前記表示面上に表示されているテキストの表示位置とに基づいて、編集の対象となる文字列の候補を選択する候補選択手段と、
前記記憶手段に記憶された尤度を用い、前記候補選択手段によって選択された候補の前、後又はその双方に連続する文字又は文字列であって、その尤度がしきい値より低い文字又は文字列を編集の対象となる文字列の候補に追加する候補追加手段とを含む、請求項４に記載のテキスト編集装置。
【請求項６】
編集対象のテキストが表示される表示面を持ち、当該表示面上へのユーザのタッチを検出してタッチ位置情報を出力するタッチパネルディスプレイを持つコンピュータにおいて、音声認識プログラムと協働してテキストの入力及び編集を行なうテキスト編集プログラムであって、前記コンピュータを、
前記タッチパネルディスプレイの出力に基づいて、ユーザが前記表示面上に描画したジェスチャの種類を検出し、当該ジェスチャの種類に基づいて、前記タッチパネルディスプレイに表示されているテキストに対して行なわれる編集方法を決定する編集方法決定手段と、
前記編集方法決定手段により決定された編集方法が第１の編集方法であることに応答して、前記音声認識装置による音声認識を起動する起動手段と、
前記音声認識装置から音声認識結果が出力されたことに応答して、前記音声認識結果を用い、前記タッチパネルディスプレイに表示されたテキストを、前記編集方法決定手段により決定された編集方法で編集する編集実行手段として機能させる、テキスト編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は音声認識技術に関し、特に、音声入力されたテキストに対する修正の改良に関する。
【背景技術】
【０００２】
いわゆるスマートフォン及びタブレット端末は、キーボードを持たない。必要な場合には画面にキーボードを表示してテキストを入力する。このようなキーボード（これを以下「ソフトキーボード」と呼ぶ。）によるテキスト入力には様々な手法があるが、その効率はあまり高くないのが現状である。そこで、これら装置については、キーボード入力に代わるテキスト入力手段として音声入力が有力である。
【０００３】
しかし音声入力では、原理上、１００％の正解精度は保証できない。必ずテキストの修正入力が必要となる。このテキスト入力には、上記したソフトキーボードが用いられる。
【０００４】
スマートフォン及びタブレット端末でテキスト文字列を修正する方法として普及しているのが、指で修正対象の文字列を指定した後に、メニューによりその文字列に対する操作を指定する方法である。図１を参照して、例えば従来のスマートフォン５０で音声入力によりテキスト表示領域６０に入力された文字列６２を修正する場合を考える。この場合ユーザは、例えば対象文字列６８（例えば「とても」）に含まれる文字（例えば「て」）の上を所定時間以上押す（いわゆる「長押し」）。すると、その文字を含む単語列の前後にカーソル６４及び６６が表示される。カーソル６４及び６６に挟まれた領域の文字列（「とても」）が選択され、近傍にメニュー７０が表示される。このメニュー７０の中から所望の項目（例えば「コピー」）を選択することにより、選択文字列にその項目に対応する操作（コピー）が適用される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この操作では、最初に選択された文字列が意図したとおりのものであればよいが、そうでない場合には選択文字列の範囲を変更する必要がある。このためには、カーソル６４又は６６を個別に動かして所望の位置まで移動させることが必要である。スマートフォンの様に狭い画面では、文字の間の間隔が狭い上にカーソル６４及び６６も非常に小さいため、カーソル６４及び６６を所望の位置に正しく移動させる作業は、それだけでかなり時間を要する。このため、せっかく音声入力によってテキスト入力を高速化できても、その修正に時間を要することになり、音声入力を採用したメリットが十分に活かせない。特に、スマートフォン及びタブレット端末をリアルタイムなコミュニケーションに使用する場合、テキスト修正に時間を要するのは致命的である。したがって、素早く簡単に修正対象の箇所を訂正できるような、音声入力を用いたテキスト編集装置が必要である。
【課題を解決するための手段】
【０００６】
本発明の第１の局面に係るテキスト編集装置は、音声認識装置と協働してテキストの入力及び編集を行なうテキスト編集装置であって、編集対象のテキストが表示される表示面を持ち、当該表示面上へのユーザのタッチを検出してタッチ位置情報を出力するタッチパネルディスプレイと、タッチパネルディスプレイの出力に基づいて、ユーザが表示面上に描画したジェスチャの種類を検出し、当該ジェスチャの種類に基づいて、タッチパネルディスプレイに表示されているテキストに対して行なわれる編集方法を決定する編集方法決定手段と、編集方法決定手段により決定された編集方法が、テキストの入力を伴う第１の編集方法であることに応答して、音声認識装置による音声認識を起動する起動手段と、音声認識装置から音声認識結果が出力されたことに応答して、音声認識結果を用い、タッチパネルディスプレイに表示されたテキストを、編集方法決定手段により決定された編集方法で編集する編集実行手段とを含む。
【０００７】
ユーザが表示面上にジェスチャを描画すると、編集方法決定手段が、そのジェスチャの種類を検出し、テキストに対する編集方法を決定する。その編集方法が第１の編集方法だと、起動手段が自動的に音声認識を起動する。音声認識結果が出力されると、編集実行手段が、音声認識結果を用いて、編集方法決定手段によって決定された編集方法を実行し、表示面に表示されたテキストを編集する。
【０００８】
ユーザがテキストを編集する際に、表示面上にジェスチャを描くと、自動的に音声認識が起動され、編集に必要なテキストを音声入力できる。音声入力のためにあらためて音声認識を起動する必要はない。その結果、素早く簡単に修正対象の箇所を訂正できるようなテキスト編集装置が提供できる。
【０００９】
第１の編集方法はテキストの置換でもよいし、テキストの挿入でもよい。
【００１０】
好ましくは、編集実行手段は、タッチパネルディスプレイの出力及び編集方法決定手段の出力を用い、表示面上でのジェスチャの描画領域と、表示面上に表示されているテキストの表示領域とに基づいて、表示面に表示されているテキストの内で編集の対象となる文字若しくは文字列又は編集の対象となる位置を選択する選択手段と、選択手段により選択された文字若しくは文字列又は位置に対して、編集方法決定手段により決定された編集を実行する手段とを含む。
【００１１】
より好ましくは、音声認識装置は、音声認識結果の文字ごと、又は単語ごとに音声認識結果の信頼度を表す尤度を付して出力し、テキスト編集装置は、編集の対象となるテキストに尤度が付されている場合に、文字ごと又は単語ごとに尤度を記憶する記憶手段をさらに含む。選択手段は、タッチパネルディスプレイの出力に基づいて、ユーザが表示面上に描画したジェスチャと、表示面上に表示されているテキストの表示位置とに基づいて、編集の対象となる文字列の候補を選択する候補選択手段と、記憶手段に記憶された尤度を用い、候補選択手段によって選択された候補の前、後又はその双方に連続する文字又は文字列であって、その尤度がしきい値より低い文字又は文字列を編集の対象となる文字列の候補に追加する候補追加手段とを含む。
【００１２】
本発明の第２の局面に係るテキスト編集プログラムは、編集対象のテキストが表示される表示面を持ち、当該表示面上へのユーザのタッチを検出してタッチ位置情報を出力するタッチパネルディスプレイを持つコンピュータにおいて、音声認識プログラムと協働してテキストの入力及び編集を行なうコンピュータプログラムである。このテキスト編集プログラムは、コンピュータを、タッチパネルディスプレイの出力に基づいて、ユーザが表示面上に描画したジェスチャの種類を検出し、当該ジェスチャの種類に基づいて、タッチパネルディスプレイに表示されているテキストに対して行なわれる編集方法を決定する編集方法決定手段と、編集方法決定手段により決定された編集方法がテキストの入力を伴う第１の編集方法であることに応答して、音声認識装置による音声認識を起動する起動手段と、音声認識装置から音声認識結果が出力されたことに応答して、音声認識結果を用い、タッチパネルディスプレイに表示されたテキストを、編集方法決定手段により決定された編集方法で編集する編集実行手段として機能させる。
【図面の簡単な説明】
【００１３】
【図１】従来のスマートフォンでテキストを修正する際の操作方法を説明するための図である。
【図２】本発明の一実施の形態に係るタブレット端末の正面図である。
【図３】図２に示すタブレット端末でのテキスト置換の際の操作方法を説明するための図である。
【図４】図２に示すタブレット端末でのテキスト挿入の際の操作方法を説明するための図である。
【図５】図２に示すタブレット端末でのテキスト削除の際の操作方法を説明するための図である。
【図６】図２に示すタブレット端末でのソフトキーボードを用いたテキスト修正の際の操作方法を説明するための図である。
【図７】図２に示すタブレット端末で、本文と異なる位置にテキストを入力する際の操作方法を説明するための図である。
【図８】図２に示すタブレット端末で、本文と異なる位置に入力されたテキストを本文に挿入する際の操作方法を説明するための図である。
【図９】図２に示すタブレット端末で、コマンドを音声入力する際の操作方法を説明するための図である。
【図１０】図９に示す方法で入力されたコマンドを本文に適用する際の操作方法を説明するための図である。
【図１１】図２に示すタブレット端末で入力されたテキストの全文を削除する際の操作方法を説明するための図である。
【図１２】図２に示すタブレット端末で、テキスト置換の対象を音声認識結果の尤度によって選択する際の操作方法を説明するための図である。
【図１３】図２に示すタブレット端末で音声認識を用いてテキスト入力を実行するプログラムの全体の制御構造を説明するフローチャートである。
【図１４】図１３に制御構造を示すプログラムのうち、ユーザがテキスト領域を操作した際に実行されるルーチンの制御構造を示すフローチャートである。
【図１５】図１４に制御構造を示すルーチンで実行される、テキストの選択文字列の位置を決定するために実行されるルーチンの制御構造を示すフローチャートである。
【図１６】図１３に制御構造を示すルーチンのうち、ツールバーをユーザが操作した際に実行されるルーチンの制御構造を示すフローチャートである。
【図１７】音声でコマンドを入力して吹出形式で表示するコマンド吹出処理を実現するルーチンのフローチャートである。
【図１８】音声で本文とは別の文を入力して吹出形式で表示する吹出処理を実現するルーチンのフローチャートである。
【図１９】音声認識プログラムの出力を受けたときに図２に示すタブレット端末が実行するルーチンのフローチャートである。
【図２０】図２に示すタブレット端末のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００１５】
［実施の形態］
本発明を、タブレット端末によるコミュニケーションプログラムを例として説明する。ここで説明するコミュニケーションプログラムは、例えば耳の不自由な人とのコミュニケーションのために、音声をテキスト表示し、さらに音声入力を使用して適宜テキストを編集するというアプリケーションである。
【００１６】
＜タブレット端末８０の外観＞
図２を参照して、この実施の形態に係るタブレット端末８０は、長方形の正面を持つ、扁平な直方体の筐体９０を持つ。筐体９０の正面には、長方形のマルチタッチディスプレイ１００が配置されている。マルチタッチディスプレイ１００の周囲は筐体９０により縁どられているが、そのうちの短辺に沿った一部は他の部分よりも幅が広く、その中央部にハードウェアの押しボタン１０２が配置されている。
【００１７】
マルチタッチディスプレイ１００は、この実施の形態では、ＬＣＤ（液晶表示装置）の表示面上にマルチタッチパネルが配置されたものである。ＬＣＤには様々な表示を行なえる。マルチタッチパネルとＬＣＤとの協働により、指を使用した様々なジェスチャでタブレット端末８０に指示を与えることができる。なお、以下の説明では、指を１本だけ使用した場合を例に実施の形態を説明するが、指を２本以上使用するジェスチャを考慮する場合も基本的には同じ考え方で処理できる。
【００１８】
ここで、「タッチ」とは、表示面を指で１度だけ触ることをいう。「ダブルタッチ」とは、表示面内の同じ箇所を、ごく短い時間内に２度続けてタッチすることをいう。ダブルタッチとなる時間を超えた時間間隔で２度表示面をタッチすると、それらは別々のタッチ（シングルタッチ）として検出される。
【００１９】
図２のマルチタッチディスプレイ１００の表示面には、この実施の形態でのコミュニケーションプログラムの基本画面が表示されている。この基本画面の大部分は、テキスト表示領域１０４が占めている。テキスト表示領域１０４の左上にはいわゆるＵｎｄｏボタン１１２が配置されている。Ｕｎｄｏボタン１１２を操作することにより、過去の操作を取消すことができる。なお、Ｕｎｄｏボタンにより起動されるＵｎｄｏ機能はよく知られており、かつ本発明の内容には直接は関係しないので、以下の説明ではＵｎｄｏ機能を実現するプログラム部分については詳細は説明しない。
【００２０】
テキスト表示領域１０４のうち、押しボタン１０２に近い部分にはツールバー１１４が表示される。ツールバー１１４には、ソフトキーボードの表示を制御するキーボード表示ボタン１２０と、コミュニケーションプログラムの設定を行なう際にユーザが操作する設定ボタン１２２と、音声入力の開始及び終了を指示するための音声入力ボタン１２４とが表示される。ツールバー１１４にはさらに、音声認識によりコマンドを入力し、そのコマンドを吹出形式で表示するコマンド吹出処理を呼出すためのコマンドボタン１２６と、テキスト表示領域１０４に表示される本文テキストとは別のテキストを音声認識で入力し、吹出形式でテキスト表示領域１０４に表示させる吹出処理を呼出すための吹出ボタン１２８とが表示されている。これらを用いた処理の概略については、図３〜図１２を参照して後述する。
【００２１】
なお、図２には現れていないが、図２における筐体９０の上辺にはマイクが設けられ、下辺にはスピーカが設けられている。マイクによって入力された音声をタブレット端末８０の内部でデジタル処理できる。
【００２２】
基本的にタブレット端末８０では、ユーザが発した音声をタブレット端末８０中の音声認識プログラムが認識し、認識結果のテキストをテキスト表示領域１０４に表示する。しかも音声認識をリアルタイムで動作させるので、聴覚の不自由な人でも、テキスト表示領域１０４に表示されるテキストを見ることでユーザの発話の内容を理解できる。
【００２３】
ただし、既に述べたとおり、音声認識プログラムでは、原理上１００％の精度を得ることは困難であり、修正を比較的頻繁に行わなくてはならない。修正に時間がかかるとせっかく音声認識を使用したにもかかわらず、リアルタイムのコミュニケーションを実現することが困難になってしまう。そこで、この実施の形態に係るタブレット端末８０では、特定のジェスチャがあったときには、そのジェスチャに対応した、テキストに対する修正又は挿入のために必要な処理を行ない、同時に音声入力を起動して、修正又は挿入すべきテキストを音声で入力できるようにしている。例えばテキストを置換するときには、置換対象のテキストを選択するジェスチャによって対象のテキストが選択される。しかしそれだけではなく、それと同時に、そのテキストを置換すべきテキストの入力のため、音声入力が自動的に起動される。テキストを選択した後にわざわざ音声入力を起動しなくてもよいため、音声認識を利用したコミュニケーションが円滑に行なえる。すなわち、このコミュニケーションプログラムは、音声認識プログラムと協働して、テキストの入力及び編集を行なうためのものである。
【００２４】
なお、この実施の形態で「ジェスチャ」というときには、指等をマルチタッチディスプレイ１００の表面に滑らせて特定の形状を描く操作をいう。しかし本発明はそのような実施の形態には限定されず、指等がタッチパネル近傍にあるときに指の存在を検出するような方式の者にも適用可能である。
【００２５】
＜操作例＞
─文字列の置換─
図３を参照して、テキスト表示領域１０４に表示されている、音声認識により得られたテキストのうち、ユーザが「左側に」という語句を別の単語で置換する場合を考える。このタブレット端末８０の通常の設定では、その語句の上に横線１４０を指で描くジェスチャを行なうと、横線１４０と領域が重なっている文字列が置換対象として選択される。それと同時に、図３の右側に示すように、音声入力プログラムが起動され、音声入力ウィンドウ１４２が表示される。音声入力ウィンドウ１４２には、置換対象の文字列と、音声認識結果の文字列とが表示される。音声認識結果の文字列は、音声入力ウィンドウ１４２に表示されるとともに、横線１４０の文字列に代わってテキスト表示領域１０４にも表示される。このとき、横線１４０が消去されるのはいうまでもない。
【００２６】
─文字列の挿入─
図４を参照して、入力されたテキストの一部に文字列を挿入したい場合には、ユーザは、挿入したい箇所に逆Ｖ字１５０を描くようにジェスチャを行なう。図４の右側に示すように、このときも自動的に音声認識プログラムが起動されて音声入力ウィンドウ１５２が表示され、音声入力が可能になる。入力されたテキストは逆Ｖ字１５０の頂点位置に挿入される。この実施の形態では、逆Ｖ字１５０の先端がテキスト内部を指していないときには、音声入力後のテキストは入力済のテキストの末尾に追加される。
【００２７】
─文字列の削除─
文字列を単純に削除する場合、ユーザは、削除した文字列の上で左右に指を往復させることで、左右の線からなる図形１６０を描くジェスチャを行なう。この図形１６０と重なる領域の文字列が削除される。この場合には音声入力は自動的には起動しない。
【００２８】
─キーボードによる文字列の置換─
例えば固有名詞のように音声入力で思い通りの文字列が得られない場合もある。そうした場合のために、図６の左側に示すような箱型の図形１７０で対象の文字列を囲うと、図形１７０により囲われた文字列が置換対象として選択されると同時に、図６の右側に示すようにソフトキーボード１７４が表示される。この実施の形態では、さらにキーボード入力ウィンドウ１７２が表示され、キーボード入力ウィンドウ１７２の上段には置換対象の文字列が表示され、下段にはソフトキーボードで入力された文字列が表示される。図６に示される例では、キーボードによる入力フィールドには、初期値として置換対象の文字列が表示され、従来の例と同様、カーソルがその前後に表示される。カーソルを移動させることで入力位置を移動させたり置換対象の文字列を選択したりできる。なお、キーボード入力ウィンドウ１７２を表示せず、入力されたテキストをテキスト表示領域１０４に直接表示してもよい。
【００２９】
─吹出処理─
ある程度まとまった音声入力をした後、入力後のテキストのどこかに新たなテキストを入力したい場合があり得る。そうした場合、図４に示したように挿入を行なうこともできるが、挿入箇所を決めるのがすぐにはできない場合もあり得る。入力したテキストと区別して別のテキストを入力したい場合もある。そうした場合のために、テキスト表示領域１０４に入力されたテキストとは別のテキストを吹出形式で音声入力により入力できる。挿入箇所が決まったときにその吹出を所望の位置にドラッグすることでテキストの挿入ができる。
【００３０】
具体的な実施例としては図７の左側に示すように、この場合ユーザは吹出ボタン１２８を操作する。すると角の丸い長方形状の吹出１８０が表示され、同時に音声認識が起動されて音声入力ウィンドウ１８４が表示される。音声認識の結果のテキストは吹出１８０内に表示される。吹出１８０への入力を終了するときには、テキスト表示領域１０４のどこかをタッチするか、キーボード表示ボタン１２０をタッチすればよい。なお、吹出１８０の右上にはこの吹出１８０を消去するためのクローズボックス（×印）が表示される。このクローズボックスをタッチすると吹出１８０は消去され、その内部のテキストも消去される。
【００３１】
図８の左側を参照して、吹出１８０に表示されたテキストを本文のどこかに挿入するときには、吹出１８０内のどこかをタッチしてドラッグする。すると吹出１８０も指の動きに追従して吹出１８６として移動表示される。吹出１８６が所望の位置まで移動したところで指をテキスト表示領域１０４から離すと、図８の右側のテキスト１８８で示すように、その位置に吹出１８０の内部にあったテキストが挿入される。なお、この実施の形態では、このように吹出１８０のテキストを本文に挿入すると吹出１８０は消去される。しかし、吹出１８０をそのまま残してもよい。
【００３２】
─コマンド吹出処理─
テキストを強調表示したり、色を変えたり、入力の設定を変えたりしたい場合もあり得る。そうした場合には、通常は、図２に示す設定ボタン１２２を操作すればよい。しかし、設定ボタン１２２を用いる場合には、通常のメニュー形式によって設定項目を表示させて所望の設定を行なわなければならない。そうした操作は、リアルタイムのコミュニケーションを阻害する。そこで本実施の形態では、設定のショートカットとして、音声によりコマンドを入力できるようにしている。しかも、単に音声で入力されたコマンドを実行するだけでなく、入力されたコマンドのテキストを吹出形式で表示する。この吹出をタッチすることで、吹出により表されるコマンドを繰返して実行できる。ここでは、文字を大きく表示する音声コマンドとして「大きく」というコマンドが音声で入力可能だとする。
【００３３】
図９の左側を参照して、コマンド吹出処理を起動する場合、ユーザはコマンドボタン１２６をタッチする。すると図９の右側に示されるように、コマンド吹出１９０が表示され、コマンド吹出１９０内にコマンドのテキストが入力される挿入ポイントを示すカーソル１９４が表示される。同時に音声認識が起動され、音声入力ウィンドウ１９２が表示される。通常のテキスト入力と区別するため、音声入力ウィンドウ１９２には「コマンド入力」という文字列が表示される。コマンドとして認められる文字列は予め定められているため、ユーザが正しいコマンドを発話することを前提とすると、音声入力の精度は高くなる。
【００３４】
図１０の左側を参照して、「大きく」というコマンドが音声で入力されたことを示す文字列２００がコマンド吹出１９０の内部に表示される。このコマンドを実行する場合、ユーザは、まず対象の文字列を選択する。この実施の形態では、図１０の左側に示すように、対象の文字列を囲むように長円２０２を描く。長円２０２により囲まれた文字列は選択状態となる。文字列が選択された状態で吹出１９０の内部にタッチすると、選択された文字列にコマンド吹出１９０のコマンドが適用され、図１０右側に示されるように対象文字列が大きな文字に変化する。別の例として、「改行」というコマンドの場合には、テキスト表示領域１０４に表示されたテキストのうち、改行を挿入したい箇所に挿入ポイントを設定してからコマンド吹出１９０をタッチすればよい。
【００３５】
─テキストの全削除─
入力した文字列を全て削除して新たなテキストの入力を開始したい場合もある。そうした場合には、図１１の左側に示すように、テキスト表示領域１０４の全体にわたり大きな×印２１０を描く。すると図１１の右側に示すようにテキスト表示領域１０４はクリアされる。この実施の形態では、テキスト表示領域１０４がクリアされると同時に、音声入力が自動的に起動される。したがってユーザは、入力済のテキストを消去する動作をすると同時に新たなテキスト入力のための発話を開始できる。
【００３６】
─尤度による処理対象の選択─
上記した説明では、ジェスチャにより選択される文字列は、ジェスチャの領域に重なる文字列であった。しかし、音声認識の場合、誤認識される文字列はあるまとまりを形成しており、そのまとまりがジェスチャにより囲われた領域と一致するとは限らない。一般に、誤認識される部分については、音声認識の尤度は低くなると考えられる。そこで、本実施の形態では、文字列の選択方式として、上記した単なる領域の重なりによるものだけではなく、尤度によって領域を決定する方式も準備しており、両者を設定で切替えることができるようにしている。通常、音声認識プログラムは、音声認識結果とともに音声認識結果の単語ごとの尤度を単語とともに出力するので、それをここで用いることができる。尤度は、後述するストレージ又はＲＡＭに音声認識結果とともに記憶される。
【００３７】
図１２を参照して、例えば、認識された文字列のうち「左側にはコンビニが」の部分の尤度が他と比較して低い場合を考える。ユーザがその一部である「左側に」の上だけに横線１４０を引いた場合、図３に示す例では「左側に」という文字列が置換対象として選択される。しかし、図１２に示す設定では、「左側に」だけではなく、尤度の低い部分である「はコンビニが」の部分までもが置換対象として選択され、その部分まで含めて横線２２０が描かれ、同時に横線２２０が描かれた部分の文字列を置換するための音声入力が自動的に起動される。ユーザによる文字列の選択が多少ずれていたとしても、修正する対象であると思われる文字列が選択される確率が高くなり、ユーザによる修正の際の手間が少なくなる可能性がある。
【００３８】
なお、本実施の形態では、テキスト上のある点をユーザがダブルタッチした場合には、その点を含むテキスト範囲を自動的に選択する。通常は、ダブルタッチされた場合には、その点を含む単語単位での選択が行なわれる。しかし、この場合にも、設定で尤度による選択を有効にしておくと、図１２に示した選択方法と同様に尤度が低い部分を選択する。なお、基準となる尤度の値は固定した値でもよいが、ダブルタッチされた点を含むより広い範囲（例えば前後の複数の単語）の尤度の平均値、又はその平均値より所定の値だけ低いような値を採用することもできる。本実施の形態では、後者の方法を採用し、かつ、前後の所定個数の単語の尤度の平均より低い連続した部分を選択するようにしている。
【００３９】
図１２に示す例でいえば、例えば「側」の上でユーザがダブルタッチすると、尤度による選択が無効の場合には「左側」が選択されるが、尤度による選択が有効となっている場合には、「左側にはコンビニが」が選択されることになる。
【００４０】
＜構成＞
図２に示すタブレット端末８０のハードウェア構成については図２０を参照して後述することとし、以下、図１３〜図１９を参照して、上記した操作を可能にするためのコミュニケーションプログラムのソフトウェア構成について説明する。
【００４１】
図１３を参照して、このプログラムのメインルーチン２４０は、プログラムの起動とともに実行される初期処理のステップ２４２と、ステップ２４２の完了後、イベント待ちとなるステップ２４４とを含む。ステップ２４２では、アプリケーションが使用するメモリを確保したり、メモリ領域を初期化したり、後述する様々な処理で使用されるオブジェクトのインスタンスを生成したりする。以下の説明では実施の形態の説明を明快にするため、プログラム構成のうち、本発明に直接関係しない部分については詳細に説明しない。
【００４２】
イベントが発生すると、そのイベントが発生した領域又はイベントの種類がステップ２４５で判定され、その結果にしたがって制御の流れが分岐する。ここでは、イベントの種類としては利用者がマルチタッチディスプレイ１００をタッチしたか、音声入力プログラムから音声認識結果の出力を受信したか、という２つのイベントが想定されている。マルチタッチディスプレイ１００に対するタッチの場合、そのイベントが発生した領域として、テキスト表示領域１０４、ツールバー１１４、テキスト表示領域１０４に表示されている吹出又はコマンド吹出、キーボード入力、及びその他のイベントがある。
【００４３】
テキスト表示領域１０４に対するタッチイベントが発生した場合には、テキスト領域処理（ステップ２４６。詳細は図１４。）が起動され、処理が完了すると制御はイベント待ち（ステップ２４４）に戻る。最終的にイベント待ちの状態に制御が戻るのは、他のイベントが発生した場合も同様である。
【００４４】
ツールバー１１４に対するタッチイベントが発生すると、ツールバーの処理（ステップ２４８。詳細は図１６。）が起動される。吹出１８０に対するタッチであった場合には、吹出処理（ステップ２５０。詳細は図１８。）が起動される。コマンド吹出１９０に対するタッチイベントが発生すると、コマンド吹出処理（ステップ２５２。詳細は図１７。）が起動される。音声認識結果を受信すると、音声認識結果に対する処理（ステップ２５４。詳細は図１９。）が起動される。キーボード入力イベントが発生すると、そのキーボード入力に対する処理（ステップ２５６）が起動される。なお、吹出イベントは何らかの吹出が表示されていなければ発生しない。コマンド吹出イベント及びキーボード入力イベントについても同様である。その他のイベントが発生すると、それらイベントに対応する処理がステップ２５８で実行される。ここでいうその他のイベントとは、例えばマルチタッチディスプレイ１００に設定画面が表示されているときにユーザ操作により発生するような多様なイベントであり、イベントごとにどのような処理を実行するかがステップ２５８の内部で定義されている。しかし、これらは本発明とは直接関係しないので、以下では特に詳細には説明しない。
【００４５】
ユーザがプログラムを終了させるための所定の処理を実行すると、ステップ２４５でそれが検知され、このプログラムの実行は終了する。
【００４６】
図１４を参照して、テキスト表示領域１０４に対するタッチイベントが発生したときに実行されるプログラムは、以下のような制御構造を持つ。このルーチンでは、最初にイベントの種類を判定し、その結果にしたがって制御の流れを分岐させる。ここではイベントとしてドラッグ開始、ドラッグ継続、ドラッグ終了、タッチ（シングルタッチ）、ダブルタッチ、及びそれ以外のイベントに分類する。ドラッグ開始イベントがあると、ドラッグ開始処理（ステップ２９０）が実行され、ドラッグ開始位置の記録と、ドラッグに伴う表示の更新が開始される。ドラッグ継続イベントがあると、ドラッグ継続処理（ステップ２９２が実行され、ドラッグ位置の記録と、ドラッグに伴う画面表示の更新とが行なわれる。ドラッグ終了イベント(ステップ２９４)があると、ドラッグの軌跡により表されるジェスチャの形状が判定され（ステップ３０２）、その結果によって制御の流れが分岐する。ドラッグ終了時の処理の詳細は後述する。
【００４７】
タッチがあると、タッチ処理（ステップ２９６）が実行される。タッチ処理では、タッチ位置にテキストの挿入ポイントを設定する処理が実行される。ダブルタッチがあると、ダブルタッチ処理（ステップ２９８）が実行される。ダブルタッチ処理では、ダブルタッチがあった箇所を含む単語列、又はダブルタッチがあった箇所を含む、音声認識の尤度がしきい値より低い文字列が選択される。これ以外の操作がテキスト表示領域１０４に対してあった場合には、それら操作に対応するイベントが発生し、ステップ３００でそれらイベントに対応する処理が実行される。これらは本発明に関係しないので、ここではそれらの詳細は説明しない。
【００４８】
図１４のステップ３０２に戻り、ドラッグ終了イベントがあった場合には、ドラッグの軌跡によりジェスチャの種類が判定され、ジェスチャの種類に応じて編集方法の種類が決定されて制御の流れが分岐する。すなわち、ここで判定されるジェスチャは、全削除（図１１）、置換（図３）、挿入（図４）、削除（図５）、キーボード入力による置換（図６）、及び文字列の選択（図１０の長円２０２によるもの）であり、マルチタッチディスプレイ１００の表示面に表示されているテキストの編集方法を決定するものである。
【００４９】
図１１に示されるようにテキスト表示領域１０４の全体に渡る大きな×点のジェスチャが検出された場合には、内部に記憶されていた入力テキストが全て削除され（ステップ３１０）、その結果にしたがってテキスト表示領域１０４の表示が更新される（ステップ３１２）。すなわち、テキスト表示領域１０４の表示がクリアされる。その後、テキスト表示領域１０４の先頭に挿入ポイントが設定されて音声入力が起動される（ステップ３１４）。制御は呼出元ルーチン（図１３のステップ２４４）に戻る。
【００５０】
図３に示すようなテキストの置換をするためのジェスチャが検出された場合には、表示面上でジェスチャが描かれた領域と、表示面上における各文字の表示領域とを比較することで、選択位置が決定される（ステップ３２０）。この決定には、従来の技術をそのまま使用できる。本実施の形態では、ステップ３２０での選択位置の決定では、設定により２通りの処理が行われる。すなわち、ジェスチャが描かれた領域と重なる部分に表示された文字列を単純に選択する場合と、その前後の文字列で音声認識時の尤度が低い部分をともに選択する場合とである。
【００５１】
ステップ３２０の処理の詳細について図１５を参照して説明する。選択位置決定処理では、最初にジェスチャ範囲と重複する範囲に描かれた文字又は文字列を選択する（ステップ４００）。続いて、設定において尤度による文字又は文字列の選択が指定されているか否かが判定される（ステップ４０２）。指定されていない場合にはステップ４００で選択された文字又は文字列がそのまま呼出元に返される。指定されている場合には、ステップ４００で選択された文字又は文字列を含む前後の所定個数の単語の平均尤度を計算し、それをしきい値とする（ステップ４０４）。この尤度と、ステップ４００で選択された文字列の前後に位置する文字列の尤度とを比較し、尤度がしきい値より低い、連続する文字列を選択文字範囲に追加する（ステップ４０６）。選択文字列が決定すると、その文字列を戻り値として呼出元のルーチンに返す。
【００５２】
再び図１４を参照して、ジェスチャにより置換が指定された場合、ステップ３２０で対象の文字列が選択されると、その文字列に対応する内部的なテキストデータがステップ３２２で削除される。ステップ３２４では、文字列は表示として選択された文字列の表示をそのまま残しながら、例えばその文字列の表示を反転する等、表示の更新が行なわれる。ジェスチャの軌跡の表示も更新される。最後に、音声入力プログラムを起動して（ステップ３２６）、制御は呼出元ルーチンに戻る。
【００５３】
図４に示すような挿入のジェスチャが検出された場合には、ステップ３３０でジェスチャの軌跡の形状に基づいて文字列の挿入位置を決定する処理が実行される。決定された位置に挿入ポイントを設定して表示を更新し（ステップ３３２）、音声入力を起動して（ステップ３３４）、制御は呼出元ルーチンに戻る。
【００５４】
図５に示すような削除のジェスチャが検出されると、削除対象となる文字列を決定する処理がステップ３４０で実行される。この処理はステップ３２０で行われる処理と同一である。さらに、選択された文字列がデータから削除され（ステップ３４２）、削除後の文字列によりテキスト表示領域１０４のテキスト表示が更新され（ステップ３４４）、制御は呼出元ルーチンに戻る。
【００５５】
図６に示すようなキーボード入力を用いて置換を指示するジェスチャが検出されると、ステップ３５０で置換対象となる文字列を決定する処理が実行される。この処理はステップ３２０で実行される処理と同一である。続いて選択された文字列がデータから削除され（ステップ３５２）、置換対象の文字列を反転表示させる等の表示更新処理を実行する（ステップ３５４）。最後に、図６の右側に示すようなソフトキーボードを表示して（ステップ３５６）呼出元ルーチンに制御を戻す。ソフトキーボードが表示されていると、図１３のステップ２４４で発生するイベントの１つとしてキーボード入力が発生する可能性が生じる。
【００５６】
図１０の長円２０２により示すように、単に文字列を選択するジェスチャが検出されると、その長円の位置に基づいて、選択文字列が決定される（ステップ３６０）。この処理は、ステップ３２０で行われるものと同一である。続いて、選択された文字を反転する等して、選択された文字列が他と区別できるように表示を更新し（ステップ３６２）、制御を呼出元ルーチンに戻す。
【００５７】
図２に示すツールバー１１４に対する操作が検出されたときに実行されるルーチン（図１３のステップ２４８）は、以下のような制御構造を持つ。図１６を参照して、最初にツールバー１１４に表示されたどのボタンに対するタッチがあったかを判定し(ステップ４３０)、その結果にしたがって制御の流れが分岐する。ボタンは、図２に示すように、キーボード表示ボタン１２０、設定ボタン１２２、音声入力ボタン１２４、コマンドボタン１２６及び吹出ボタン１２８である。
【００５８】
キーボード表示ボタン１２０がタッチされると、制御はステップ４３２に分岐し、ソフトキーボードを表示して、制御を呼出元ルーチンに戻す。
【００５９】
設定ボタン１２２がタッチされると、制御はステップ４３４に分岐し、設定画面を表示して制御を呼出元ルーチンに戻す。設定画面は図示していないが、このプログラムの設定（例えば文字列選択に尤度を使用するか否か、等）を行なうための画面である。設定画面は通常の音声入力の実行時とは異なった画面となり、したがって設定画面でユーザが行なった操作によるイベントはいずれも図１３のステップ２５８で処理される。
【００６０】
音声入力ボタン１２４がタッチされると制御はステップ４３５に分岐する。ステップ４３５では、音声入力プログラムが動作していれば音声入力プログラムを停止させ、音声入力プログラムが停止していれば音声プログラムを起動する。すなわち、音声入力プログラムをトグルさせる。
【００６１】
コマンドボタン１２６がタッチされると、制御はステップ４３６に分岐する。ステップ４３６では、新たなコマンド吹出を生成する。ここでの生成とは、コマンド吹出に対応するオブジェクトインスタンスを生成することである。この処理ではコマンド吹出のオブジェクトを記憶する領域が確保され、初期化され、初期値にしたがってコマンド吹出が画面上に表示される。ここでのオブジェクト用の記憶領域には、コマンドを表す文字列を記憶する領域がある。続くステップ４３８で、コマンドのテキストの挿入位置を示すカーソルを画面上のコマンド吹出内に表示する。最後に音声入力プログラムをコマンド入力モードで起動して（ステップ４４０）、親ルーチンに制御を戻す。コマンド入力モードでの音声入力では、限定された語彙（コマンドとして予め規定されている文字列）のみを音声認識すればよい。
【００６２】
吹出ボタン１２８がタッチされると、制御はステップ４４２に分岐する。ステップ４４２では、新たな吹出オブジェクトのインスタンスを生成する。すなわち、吹出オブジェクトのための記憶領域を確保し、初期化し、画面に新たな吹出を表示する。さらに、吹出に記憶させておくべきテキストを記憶する領域を確保し、その先頭にテキストの挿入位置を設定する（ステップ４４４）。それに伴い、表示された吹出の所定位置にテキストの挿入位置を示すカーソルを表示する。最後に、音声入力を起動(ステップ４４６)して制御を呼出元に戻す。
【００６３】
図１７を参照して、図１３に示すステップ２５２で実行されるコマンド吹出処理を実現するルーチンは以下のような制御構造を持つ。最初に、コマンド吹出で発生したイベントの発生位置の詳細が調べられ（ステップ４７０）、その結果により制御は分岐する。
【００６４】
イベントがコマンド吹出のクローズボックス内で発生した場合には、ステップ４８０でテキスト表示領域１０４上のコマンド吹出（イベントが検出されたもの）が消去される。同時にメモリ上の当該コマンド吹出のためのオブジェクトの記憶領域が解放される。続いて挿入ポイントをテキスト表示領域１０４に設定して制御を呼出元に戻す（ステップ４８２）。
【００６５】
イベントが吹出内のタッチである場合には、吹出がタッチされたことが視覚上で確認できるよう、タッチされたコマンド吹出を強調表示するよう表示を更新する（ステップ４９０）。テキスト表示領域１０４に表示された文字列の内、選択されている文字列があるか否かを判定し（ステップ４９２）、ある場合にはその文字列にコマンド吹出に記憶されているコマンドを適用する（ステップ４９４）。最後に、コマンド適用後の条件にしたがってテキスト表示領域１０４の表示を更新して処理を終わる。選択された文字列がない場合には（ステップ４９２でＮＯ）、コマンド吹出の表示を元に戻し（ステップ４９８）、制御を呼出元に戻す。
【００６６】
なお、コマンド吹出においても、通常のテキストの入力と同じようにテキストのドラッグ等のイベントが発生するが、それらはテキスト入力の処理と同様であるので、ここでは「他のイベント」としてステップ５００でまとめて記載してある。すなわち、ステップ５００ではさらに詳細にイベントの内容により処理が分岐して実行される。
【００６７】
図１８を参照して、図１３に示すステップ２５２で実行される吹出処理を実現するルーチンは以下のような制御構造を持つ。最初に、吹出で発生したイベントの発生位置の詳細が調べられ（ステップ５２０）、その結果により制御は分岐する。
【００６８】
イベントが吹出のクローズボックス内で発生した場合には、ステップ５３０でテキスト表示領域１０４上の吹出（イベントが検出されたもの）が消去される。同時にメモリ上の当該吹出のためのオブジェクトの記憶領域が解放される。続いて挿入ポイントをテキスト表示領域１０４に設定して制御を呼出元に戻す（ステップ５３２）。
【００６９】
吹出のドラッグ開始、ドラッグ継続等のイベントも発生するが、それらはテキスト入力の際に説明したものと同様であるので、ここでは他のイベントとしてステップ５５０で実行される他の処理として一括する。なお、ここでは吹出のドラッグ中には、吹出を指の移動に追従するように移動させるとともに、例えば半透明となるように、ドラッグ中であることが分かるよう表示する。
【００７０】
イベントが吹出をドラッグする処理の終了（ドラッグ終了）である場合には、吹出のドラッグが終了したことが視覚上で確認できるよう、例えば吹出を強調するよう表示を更新する（ステップ５４０）。ドラッグの終了した位置を決定し、ドラッグ終了位置がテキスト表示領域１０４の内部であるときは（ステップ５４２でＹＥＳ）、その位置に、吹出内に表示されていたテキスト文字列を挿入する（ステップ５４４）。最後に、文字列を挿入した後の入力テキストにしたがってテキスト表示領域１０４の表示を更新して処理を終わる。ドラッグ終了位置がテキスト表示領域１０４の内部でないときには（ステップ５４２でＮＯ）、入力テキストに対しては何もせず、表示を元に戻して（ステップ５４８）、制御を呼出元に戻す。
【００７１】
図１９を参照して、図１３のステップ２５４で実行される、音声認識プログラムの出力である音声認識結果に対する処理を行なうルーチンは、テキストの記憶領域内で、テキストを挿入する位置として設定されている挿入ポイントの先頭から、前回の音声認識結果の末尾までを、今回の音声認識結果で置換することによりテキストを編集するステップ５８０と、ステップ５８０の編集後の記憶領域内のテキストで表示を更新するステップ５８２とを含む。本実施の形態では、音声認識プログラムは、一連の発話に対する音声認識結果を、所定時間ごとにその発話の最初から繰返し出力するため、このような処理が行われる。音声認識結果が逐語的に出力される場合には、上記したように音声認識結果を置換するのではなく、音声認識結果の末尾に新たな出力を挿入するような方式を用いることができる。
【００７２】
＜ハードウェア構成＞
図２に示すタブレット端末８０のハードウェア構成を図２０に示す。タブレット端末８０は、実質的にはコンピュータであって、省電力型のプロセッサ６０６と、このプロセッサ６０６が接続されたバス６０４とを含む。タブレット端末８０はさらに、いずれもバス６０４に接続されたキャッシュ６０８、ＲＯＭ６１０、ＲＡＭ６１２，ネットワーク／バスインターフェイス６１６、不揮発性の半導体メモリからなるストレージ６１４を含む。ネットワーク／バスインターフェイス６１６は、有線又は無線ネットワークによりインターネット６０２の他のコンピュータ等との間の通信を提供する。
【００７３】
プロセッサ６０６の入出力インターフェイスには、ＬＣＤ６２２と、ＬＣＤ６２２の表示面上に配置されたマルチタッチパネル６２０と、図２に示す押しボタン１０２のようなハードウェア的なスイッチ・ボタン６１８とが接続されている。タブレット端末８０はさらに、バス６０４とプロセッサ６０６とに接続されたコーデック６２４を含む。コーデック６２４には、マイク６２６及びスピーカ６２８が接続されている。コーデック６２４は、マイク６２６からの音声信号をデジタル化し、プロセッサ６０６に与える機能と、プロセッサ６０６からの指示にしたがって、キャッシュ６０８、ＲＯＭ６１０、ＲＡＭ６１２又はストレージ６１４からデジタルの音声データを読出し、アナログ化してスピーカ６２８に与える機能とを持つ。なお、タブレット端末８０は、電池と、この電池から各部に電源を供給する電源制御部とをさらに含むが、図２０においては図示していない。
【００７４】
上記したコミュニケーションプログラム、このコミュニケーションプログラムと協働する音声認識プログラム、コミュニケーションプログラムを実行するＣＰＵを制御するオペレーティングシステムプログラム、コミュニケーションプログラムの実行時にダイナミックにコミュニケーションプログラムから呼出されるプログラムツール等は、例えばストレージ６１４等に記憶されている。起動されると、これらのプログラムはストレージ６１４からＲＡＭ６１２にバス６０４を介してロードされ、プロセッサ６０６によって実行される。各命令の実行結果はプロセッサ６０６からバス６０４を経て所定アドレスに格納されたり、所定のデバイスに出力されたりする。
【００７５】
＜動作＞
上記したタブレット端末８０は以下のように動作する。タブレット端末８０の電源が投入され、コミュニケーションプログラムが起動すると、図１３のステップ２４２の処理が実行された後、イベント待ちとなる（ステップ２４４）。何らかのイベントが発生すると、そのイベントの種類、イベントの発生個所等に応じてステップ２４６〜２５８のいずれかに制御が分岐し、それぞれ処理が実行された後、ステップ２４４のイベント待ちに処理が戻る。こうして、ユーザとの対話によって音声入力によるコミュニケーションが進行する。
【００７６】
コミュニケーションプログラムの初期画面は図２に示すようなものである。ここでユーザが音声入力ボタン１２４を押すと、図１３においてステップ２４４→ステップ２４５→ステップ２４８という経路で図１６の処理が実行される。
【００７７】
図１６においては、ステップ４３０→ステップ４３５の経路で音声入力が起動され、制御は図１３のステップ２４４に戻る。
【００７８】
ユーザが発話すると、音声入力プログラムが音声認識を行ない、その結果を所定時間ごとに出力する。ここでは、音声入力プログラムは、所定時間ごとに、発話の最初から音声認識が終了した時点までの音声認識結果を出力する。すなわち、音声認識結果を逐次的に出力するのではなく、所定時間ごとに音声認識の開始から音声認識が終了した時点までのテキストを全て出力する。音声認識プログラムが音声認識結果を出力すると、音声認識結果の入力イベントが発生し、図１３において制御はステップ２４４→ステップ２４５→ステップ２５４を経て図１９の音声認識結果処理が実行される。この処理では、テキストの挿入ポイントに音声認識結果が挿入される。本実施の形態では、前回の音声認識結果があったとして、その音声認識結果は新しい音声認識結果で置換される。画面がこの結果に従って更新され、制御は図１３のステップ２４４に戻る。
【００７９】
図３を参照して、ユーザがテキスト上で横線を引いたものとする。図１３のプログラムではステップ２４４→ステップ２４５→ステップ２４６を経て図１４に示すルーチンが実行される。ドラッグが開始されるときにはステップ２９０が実行されてステップ２４４に戻り、ドラッグが継続されているときにはステップ２９２が実行されてステップ２４４に戻る。こうして、ドラッグが開始された後、継続している間には図１４の処理が繰返し実行され、ドラッグに応じて画面が変化する。ドラッグが終了すると、図１３のステップ２４４→ステップ２４５→ステップ２４６→図１４のステップ２８０→ステップ２９４を経て、ステップ３０２でドラッグの形状が判定される。ここではドラッグの形状は横線で、置換に相当するので、ステップ３２０→ステップ３２２→ステップ３２４→ステップ３２６の処理で音声入力が起動され、制御は図１３のステップ２４４に戻る。ユーザが発話すると、その音声認識結果が音声認識プログラムから出力され、図１３のステップ２４４→ステップ２４５→ステップ２５４の処理を経て、挿入ポイント（置換対象の文字列）の位置に音声認識結果の文字列が挿入されていく。
【００８０】
なお、ステップ３２０での選択位置決定の処理では、設定により、単純なドラッグ領域に基づいて処理対象の文字列を選択するか、音声認識の尤度に基づいて処理対象の文字列を選択するかが決定される。すなわち図３のような結果となる場合と、図１２のような結果となる場合とがある。
【００８１】
タブレット端末８０は、図４、図５、図６及び図１１に示す処理の場合も、おおむね図３の場合と同様に動作する。
【００８２】
吹出処理の場合には、図７に示すようにタブレット端末８０は以下のように動作する。ユーザが吹出ボタン１２８をタッチすると、図１３に示すプログラムにおいてステップ２４４→ステップ２４５→ステップ２４８の経路で、図１６に示すルーチンが実行される。ここで注意するのは、吹出ボタン１２８がツールバー１１４内に配置されているということである。すなわちこの場合には制御はステップ２５０でなくステップ２４８に進む。
【００８３】
図１６を参照して、ここではステップ４３０の判定の結果、制御はステップ４４２に分岐し、ステップ４４２及びステップ４４４によって新たな吹出が表示され、テキストの記憶領域が確保される。さらに挿入ポイントがこの吹出に設定され、ステップ４４６で音声入力プログラムが起動する。制御は図１３のステップ２４４に戻る。この後に音声入力プログラムの音声認識結果の出力イベントが発生したときには、テキストはこの吹出の記憶領域に格納され、画面上も吹出領域内に表示される。他の箇所をユーザがタッチしたり、音声入力を終了したりすると、挿入ポイントはテキスト表示領域１０４内に戻される。このようにして、新たな吹出に、テキスト表示領域１０４に表示されたテキストとは別のテキストが表示されることになる。
【００８４】
図８に示すように、ユーザが吹出１８０をドラッグすると、制御は図１３のステップ２４４→ステップ２４５→ステップ２５０の経路を経て図１８のルーチンに入る。図１８を参照して、ドラッグの開始及び継続イベントはステップ５５０で処理され、吹出がドラッグにしたがって半透明で移動する表示が実行される。ドラッグが終了すると、制御は図１３のステップ２４４→ステップ２４５→ステップ２５０→図１８のステップ５２０→ステップ５４０と移動し、ドラッグの終了に応じて画面の表示が更新される。さらに、ドラッグが終了した位置がテキスト領域内であれば、その位置に吹出内のテキストを挿入し（ステップ５４４）、挿入結果にしたがってテキスト表示領域１０４の表示を更新して（ステップ５４６）制御は図１３のステップ２４４に戻る。ドラッグ終了位置がテキスト表示領域１０４の外であれば、何もせず表示を戻して（ステップ５４８）制御はステップ２４４に戻る。
【００８５】
再び図２を参照して、ユーザがコマンドボタン１２６をタッチすると、図１３において制御はステップ２４４→ステップ２４５→２４８→図１６のステップ４３０→ステップ４３６と移動し、新たなコマンド吹出を生成し、テキストの挿入位置をこの新たなコマンド吹出内に設定して（ステップ４３８）、コマンドモードで音声入力を起動する(ステップ４４０)。この後、制御は図１３のステップ２４４に戻る。この後、音声入力はコマンドモードとなり、予め定められたコマンドのみを認識することになる。
【００８６】
音声認識結果が音声認識プログラムから出力されると、制御は図１３のステップ２４４→ステップ２４５→ステップ２５４という経路を経て移動し、認識結果のテキスト（コマンド）がコマンド吹出内に記憶され、制御はステップ２４４に戻る。ユーザが音声認識結果を終了させるか、テキスト表示領域１０４内をタッチするとコマンド吹出への音声入力は終了する。以後、ユーザがコマンドの適用対象の文字列を選択してこのコマンド吹出をタッチすると、選択文字列にこのコマンド吹出に表示されたコマンドが適用される。
【００８７】
具体的には、まずユーザは対象文字列を選択する。操作としては、図１０の長円２０２で示すように、対象の文字列を長円で囲むジェスチャをする。すると、図１３のステップ２４４→ステップ２４５→ステップ２４６の経路で図１４の処理が実行される。ここでは、ドラッグの開始と継続とは他の場合と同様なので、ドラッグ終了時のみを考える。制御は図１４のステップ２８０→ステップ３０２を経てステップ３６０に進む。ステップ３６０で、ジェスチャの領域と表示されている文字列との間の関係に基づき、設定によっては音声認識の尤度を考慮して、処理対象の文字列が選択される。ステップ３６２ではその文字列の表示を反転する等、選択結果にしたがって表示を更新して制御は図１３のステップ２４４に戻る。
【００８８】
文字列が選択された状態でユーザがコマンド吹出（例えば図１０のコマンド吹出１９０）をタッチしたものとする。すると制御は図１３のステップ２４４→ステップ２４５→ステップ２５２の経路を経て図１７のステップ４７０に進む。ステップ４７０の判定の結果、さらに制御はステップ４９０→ステップ４９２→ステップ４９４→ステップ４９６の経路を経て移動し、選択文字列に対し、コマンド吹出の内部に表示されていた文字列に対応するコマンドが適用され、表示が更新される。制御は図１３のステップ２４４に戻る。
【００８９】
以上のとおり、この実施の形態によれば、音声認識の結果をリアルタイムで表示し、簡単なジェスチャによって入力テキストを編集できる。その結果、音声認識を用いて、聴覚に障害を持つ人との間でもスムーズに意思疎通を図ることができる。さらに本実施の形態では、ある種のテキスト編集処理については、その処理を呼出すジェスチャを行なうと同時に音声入力を起動する。例えばテキスト置換をする場合、置換する対象のテキストを選択するジェスチャをすると、対象テキストが選択されると同時に、そのテキストを置換するために音声入力が自動的に起動される。音声入力の結果に誤りがあったとしても、それを修正するために必要な操作が必要最小限となり、コミュニケーションをよりスムーズに進めることができる。
【００９０】
［変形例］
上記した実施の形態のプログラムが持つ制御構造は単なる一例であり、使用するプログラミング言語、プロセッサのアーキテクチャ等によって変化する。音声入力結果のテキストを編集するにあたり、編集の対象を指定するジェスチャをすると、編集の対象が決定されると同時に、編集をするために音声入力が自動的に起動するという機能を実現できるものであれば、どのような制御構造であってもよい。
【００９１】
上記実施の形態では、音声認識プログラムはタブレット端末８０により実行されている。しかし本発明はそのような実施の形態には限定されない。音声を遠隔の音声認識サーバに送信し、音声認識結果を受け取ってそれを表示するような形式の装置に対しても本発明を適用できる。
【００９２】
上記実施の形態では、テキストは左から右への横書きを例としている。しかし本発明はそのような実施の形態には限定されない。例えば上から下への縦書きでもよい。
【００９３】
上記実施の形態ではテキストの置換、挿入などを指定すると自動的に音声認識が起動するが、自動的に音声認識を起動する動作モードと、自動的には音声認識を起動しない動作モードとの間で設定を切替えるようにしてもよい。
【００９４】
また、上記実施の形態では、選択操作をする（例えば長円でテキストを囲む。）とテキストが選択されるだけとなっているが、本発明はそのような実施の形態には限定されない。テキストが選択されると同時に音声入力が起動するようにしてもよい。この場合、音声が入力されると、入力された音声で元のテキストを置換し、音声入力以外の操作がされると、その操作が優先され、音声入力は終了するようにしてもよい。
【００９５】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００９６】
８０  タブレット端末
９０  筐体
１００  マルチタッチディスプレイ
１０２  押しボタン
１０４  テキスト表示領域
１１２  Ｕｎｄｏボタン
１１４  ツールバー
１２０  キーボード表示ボタン
１２２  設定ボタン
１２４  音声入力ボタン
１２６  コマンドボタン
１２８  吹出ボタン
６０６  プロセッサ
６０８  キャッシュ
６１４  ストレージ
６２０  マルチタッチパネル
６２２  ＬＣＤ
６２４  コーデック
６２６  マイク
【図１】
2015056154.tif 000003
【図２】
2015056154.tif 000004
【図３】
2015056154.tif 000005
【図４】
2015056154.tif 000006
【図５】
2015056154.tif 000007
【図６】
2015056154.tif 000008
【図７】
2015056154.tif 000009
【図８】
2015056154.tif 000010
【図９】
2015056154.tif 000011
【図１０】
2015056154.tif 000012
【図１１】
2015056154.tif 000013
【図１２】
2015056154.tif 000014
【図１３】
2015056154.tif 000015
【図１４】
2015056154.tif 000016
【図１５】
2015056154.tif 000017
【図１６】
2015056154.tif 000018
【図１７】
2015056154.tif 000019
【図１８】
2015056154.tif 000020
【図１９】
2015056154.tif 000021
【図２０】
2015056154.tif 000022