図1を参照して、携帯端末10は、制御部20およびキー入力装置22を含み、制御部20は、CPU(プロセサまたはコンピュータと呼ばれることもある。)20aおよびDSP(Digital Signal Processor)20bを含む。ここで、キー入力装置22によって発呼操作が行われると、制御部20に含まれるCPU20aは、CDMA方式に対応する無線通信回路14を制御して発呼信号を出力する。出力された発呼信号は、アンテナ12から送出され、基地局を含む移動通信網に送信される。通話相手が応答操作を行うと、通話可能状態が確立される。
通話可能状態に移行した後にキー入力装置22によって通話終了操作が行われると、CPU20aは、無線通信回路14を制御して、通話相手に通話終了信号を送信する。そして、通話終了信号の送信後、CPU20aは、通話処理を終了する。また、先に通話相手から通話終了信号を受信した場合も、CPU20aは、通話処理を終了する。さらに、通話相手によらず、移動通信網から通話終了信号を受信した場合も、CPU20aは通話処理を終了する。
携帯端末10が起動している状態で通話相手からの発呼信号がアンテナ12によって捉えられると、無線通信回路14は着信をCPU20aに通知する。また、CPU20aは、LCDドライバ24によって表示手段であるLCDモニタ26を制御し、着信通知に記述された発信元情報をLCDモニタ26に表示させる。そして、CPU20aは、図示しない着信通知用スピーカから着信音を出力させる。
通話可能状態では、次のような処理が実行される。通話相手から送られてきた変調音声信号(高周波信号)は、アンテナ12によって受信される。受信された変調音声信号は、無線通信回路14によって復調処理および復号処理を施される。そして、得られた受話音声信号は、スピーカ18から出力される。一方、取込手段である第1マイク16aによって取り込まれた送話音声信号は、無線通信回路14によって符号化処理および変調処理を施される。そして、生成された変調音声信号は、上述と同様、アンテナ12を利用して通話相手に送信される。
また、携帯端末10は、文字列の入力や削除を行う文書編集機能を備えており、音声認識による文字入力を行うことができる。つまり、使用者が文章を読み上げ、音声を第2マイク16bに入力すると、LCDモニタ26には音声認識された文章が表示される。具体的には、第2マイク16bによって取り込まれた音声信号はDSP20bによって音声データに変換され、CPU20aおよびDSP20bは音声データから特徴パターン(特徴量)を抽出する。また、CPU20aおよびDSP20bは、音声認識用の音声辞書を構成する参照音声データをROM32から読み出し、参照音声データの特徴パターン(以下、参照パターンと言う。)を抽出するか、ROM32から参照パターンを直接読み出す。そして、CPU20aおよびDSP20bは、特徴パターンの照合による音声認識の手法または統計的決定理論に基づく音声認識の手法によって、特徴パターンと各参照パターンとを照合することで、音声データと一致する参照音声データを特定する。この音声辞書は参照音声データとその参照音声データが表わす文字列とが対応付けられているため、CPU20aおよびDSP20bは特定した参照音声データに対応する文字列を読み出すことで、当該音声データを文字列に変換する。
特徴パターンの照合による音声認識の手法では、CPU20aおよびDSP20bは、マルチテンプレート法、NN(Nearest Neighbor)識別法またはk−NN識別法などの手法によって、各参照パターンと特徴パターンとの尤度を算出し、最も尤度が高い参照パターンを特定する。
また、統計的決定理論に基づく音声認識の手法では、音声認識の手法として広く利用されているHMM(Hidden Markov Model:隠れマルコフモデル)を利用して、各参照音声データと特徴パターンとの尤度を算出し、特徴パターンの照合による音声認識の手法と同様に、CPU20aおよびDSP20bは最も尤度の高い参照音声データを特定する。
なお、本実施例では、上述した尤度を音声認識における認識の信頼度とする。また、携帯端末10は、CPU20a、DSP20bおよびROM32を音声認識手段として機能させる。
携帯端末10は、メール機能を備えており、図示しないメールサーバとのデータ通信を行い、メールの送受信を行うことができる。なお、データ通信中における、アンテナ12および無線通信回路14は通信手段として機能し、メールサーバなどは有線または無線でネットワークと接続されている。
図2は携帯端末10の外観を示す図解図である。図2を参照して、携帯端末10は、板状に形成されたケースCを有する。アンテナ12は、伸縮可能に構成された伸縮アンテナであり、ケースCの上側面に突出して設けられる。なお、アンテナ12は内蔵アンテナであってもよく、ケースCに内蔵される場合も考えられる。
図2では図示しない第1マイク16aおよびスピーカ18はケースCに内蔵される。内蔵された第1マイク16aに通じる開口op1は、ケースCの長さ方向一方の主面に設け
られ、内蔵されたスピーカ18に通じる開口op2は、ケースCの長さ方向他方の主面に設けられる。また、図2では図示しない第2マイク16bもケースCに内蔵される。内蔵された第2マイク16bに通じる開口op3は、開口op1と並ぶようにケースCの長さ方向一方の主面に設けられる。
つまり、通話者は、開口op1を通じて第1マイク16aに送話音声を入力し、開口op2を通じてスピーカ18から受話音声を聞く。また、使用者は、開口op3を通じて第2マイク16bに音声認識用の音声を入力する。なお、第1マイク16aは音声認識用として兼用可能である。そして、第1マイク16aと第2マイク16bとの音声信号の差分により、遠方音源である周囲雑音をキャンセルする技術を実現でき、音声認識率の向上に寄与する。
キー入力装置22は第1メニューキー22a、第2メニューキー22b、決定キー22c、方向キー22d(操作手段とも言う)および複数の文字入力キー22e(文字入力手段とも言う)などを含み、ケースCの主面に設けられる。また、LCDモニタ26は、モニタ画面がケースCの主面に露出するように取り付けられる。なお、キー入力装置22には、通話キーおよび終話キーも含まれる。
第1メニューキー22a、第2メニューキー22bおよび決定キー22cはLCDモニタ26に表示されるソフトキーにそれぞれ対応しており、LCDモニタ26内に表示されるソフトキーを操作する際に利用される。また、方向キー22dは、LCDモニタ26に表示されるGUI(Graphical User Interface)に対して上下方向または左右方向の入力操作を行うために用いられる。なお、決定キー22cは方向キー22dによるGUIの操作結果を決定するためにも用いられる。
そして、使用者は、文書編集機能が実行されている状態では、複数の文字入力キー22eを利用することで文字列をキー入力することができる。たとえば、複数の文字入力キー22eは「あ」行〜「わ」行までの文字キーから構成されており、各文字キーを操作する回数によって入力する文字(平仮名)を指定することができる。具体的には、「あ」文字キーは、「あ、い、う、え、お」の文字を入力するためのキーであり、使用者は「あ」行文字キーを押下すれば、「あ」の文字を入力することができ、さらにもう一度押下すれば、「い」の文字を入力することができる。また、使用者は方向キー22dおよび決定キー22cを利用することで平仮名を、漢字や片仮名に変換することができる。
なお、使用者は、文書編集機能のGUIを操作することで、文字入力キーに割り当てられた文字を英数字や記号に切り替え、英数字または記号を入力することができる。また、複数の文字入力キー22eは0〜9の数字キーとしても利用することが可能であり、たとえば、「あ」行文字キーは数字の「1」、「か」行文字キーは数字の「2」となるようにそれぞれ対応する。つまり、使用者は、電話番号を入力して発信する場合に、複数の文字入力キー22eを利用して電話番号を入力し、通話キーによって発信操作を行うことができる。
ここで、音声認識によって文字列を入力することが可能な文書編集機能について、LCDモニタ26に表示される各画像やGUIなどを用いて詳細に説明する。
図3(A)を参照して、LCDモニタ26には、状態表示領域50、機能表示領域52およびキー表示領域54が設定されている。状態表示領域50はLCDモニタ26の上側に設定され、アンテナ12による電波受信状態、充電池(バッテリィ)の残電池容量および現在日時などを表示する。また、機能表示領域52は、実行される機能に応じて表示内容が変化し、ここでは送信メールの本文編集画面が表示され、現在の文字入力位置を示す
カーソルCUaが表示される。
そして、キー表示領域54は複数のソフトキーが表示されており、実行される機能に応じて表示状態が変化し、ソフトキーの表示が必要ない機能では、キー表示領域54は表示されない。たとえば、送信メールの本文を編集するために文書編集機能が実行されている場合には、通常入力キー56a、完了キー56bおよびサブメニューキー56cが表示される。そして、通常入力キー56aには第1メニューキー22aが対応し、完了キー56bには決定キー22cが対応し、サブメニューキー56cには第2メニューキー22bが対応し、使用者は第1メニューキー22a、決定キー22cおよび第2メニューキー22bを押下することで、それぞれに対応するソフトキーを操作することができる。
なお、他の表示例(図面)であっても、左側に表示されるソフトキーは第1メニューキー22aに対応し、中央に表示されるソフトキーは決定キー22cに対応し、右側に表示されるソフトキーは第2メニューキー22bに対応する。
まず、通常入力キー56aが操作されると、文字列の入力モードを切り替えることができる。文字列の入力モードの表示は、モード表示58に表示されており、図3(A)の状態では、「音声入力モード」に設定されている。この状態で、通常入力キー56aが操作されると、複数の文字入力キー22eを利用して文字列を入力する「通常入力モード」に切り替わり、図3(B)のように、通常入力キー56aの代わりに音声入力キー56dが表示される。通常入力モードは、複数の文字入力キー22eに対するキー入力によって文字を入力するモードであり、音声入力モードは、音声認識によって文字列を入力するモードである。そして、通常入力キー56aおよび音声入力キー56dを操作することで、使用者は入力モードを任意に切り換えることができる。なお、音声入力モードにおいて所定時間(2秒)の未入力状態が検出された場合にも、音声入力モードから通常入力モードに切り替わる。
次に、完了キー56bが操作されると、文書編集機能による送信メールの本文編集を終了し、送信メールの宛先や題名を入力するためのGUIが表示される。さらに、サブメニューキー56cが操作されると、送信メールの作成または文書編集機能の初期設定を変更するためのサブメニューが表示される。
音声入力モードが設定された状態で、第2マイク16bに対して文章を意味する音声が入力されると、図3(B)に示すように、機能表示領域52には音声認識された結果の文章が表示される。そして、信頼度の低い文字列(以下、低信頼度文字列または低信頼度部位と言う。)は背景色を青色に彩色される。つまり、低信頼度文字列は、誤認識されている文字列(以下、誤認識文字列と言う。)である可能性が高いため、使用者による編集を誘導するために、他の文字列とは異なる形態で表示される。
さらに、携帯端末10は、編集するための手段を確認するために、図3(C)に示すように、ウインドウWaを機能表示領域52上に表示する。このウインドウWaには、「1.カーソル指定モード」、「2.音声指定モード」、「3.音声検索モード」および「4.通常入力モード」の4つモードを選択する編集メニューが含まれる。また、各編集メニューの選択には、対応する数字キーを操作すればよく、複数の文字入力キー22eを利用する。
たとえば、「1」に対応する「あ」行文字キーが押下されると、図3(D)に示すように、任意の低信頼度文字列が編集カーソルCUbによって指定された状態で表示され、モード表示58には、カーソル指定モードと表示される。また、図3(D)では、中央のソフトキーとして編集キー56eが表示されるようになる。そして、編集カーソルCUbは
、低信頼度文字列である「経済」を選択した状態となる。この編集カーソルCUbは、低信頼度文字列のみを選択することが可能であるため、編集する操作の操作性を向上させることができる。
なお、編集キー56eについては後述するため、ここでの詳細な説明は簡単のため省略する。
ここで、4つのモードのそれぞれについて概要を説明する。まず、カーソル指定モードは、低信頼度文字列のそれぞれを、方向キー22dによって操作可能な編集カーソルCUb(図3(D)参照)によって指定(選択)して、その指定した文字列を編集するモードである。たとえば、図3(D)の状態で、右方向の入力が方向キー22dにされると、「経済」に代わって「医術」が選択される。また、さらに右方向の入力が方向キー22dにされると、「医術」に代わって「いたない」が選択される。さらに、「いたない」が選択される状態で、左方向の入力が方向キー22dにされると、「いたない」に代わって「医術」が選択される。なお、左右方向の代わりに、上下方向の操作がされると、下方向は右方向に対応し、上方向は左方向に対応して編集カーソルCUbが移動するようにしてもよい。
このように、編集カーソルCUbは、方向キー22dによって操作することが可能であるため、使用者は信頼性の高いカーソル操作を行うことができる。
次に、音声指定モードでは、低信頼度文字列が誤認識文字列である場合に、文字列を表わす音声が再入力されると、その再入力した音声を表わす文字列と類似する文字列が選択される。また、この類似する文字列を指定するためには、最初に入力された音声データを、形態素毎に分割して記憶しておくことで実現可能である。具体的には、分割された各音声データにおいて、低信頼度文字列に対応する各音声データと、対応する低信頼度文字列とから低信頼度音声辞書を作成する。そして、CPU20aは、特徴パターンの照合による音声認識の手法を用いて、再入力された音声データと最も尤度が高い参照音声データを特定することで、低信頼度文字列を選択する。そして、選択された文字列は、再入力した音声が音声認識された文字列と置き換えられる。つまり、選択された誤認識文字列は、新たに音声認識された文字列と置き換えられる。このように、使用者は、編集するための文字列を発話するだけで、誤認識した文字列を編集することができる。つまり、使用者は、音声認識よる文章の編集に都合がいい編集操作を行うことができる。
また、音声検索モードでは、音声指定モードと同様に、低信頼度文字列が誤認識文字列である場合に、誤認識文字列を表わす音声を再入力することで、各誤認識文字列から再入力された音声に対応する誤認識文字列を検索する。そして、検索結果は、編集カーソルCUbによって示される。なお、誤認識文字列を検索する際には、音声指定モードと同様に、特徴パターンの照合による音声認識の手法を利用して指定してもよいし、再入力した音声の認識結果と一致する文字列を指定するようにしてもよい。このように、使用者は、誤った文字列を発話するだけで編集カーソルCUbを操作できるようになる。つまり、使用者は、音声認識による文書の作成に都合のいいカーソルの操作を実行することができる。
なお、図3(C)に示す通常入力モードとは、先述した通常入力モードのことであり、使用者は、音声認識によって入力した文字列(文章)に対して、カーソルCUaを方向キー22dによって文章(文字列)を編集する位置を任意に決め、複数の文字入力キー22eによって文字を入力する。
続いて、低信頼度文字列を編集する操作について、説明する。図4(A)を参照して、モード表示58には、カーソル指定モードと表示されており、編集カーソルCUbによっ
て、低信頼度文字列である「多少」が指定(選択)されている。また、キー表示領域54では、左側に通常入力キー56a、中央に編集キー56e、右側に終了キー56fが表示されている。そして、編集キー56eが操作されると、編集カーソルCUb部に対する音声認識文字入力あるいは文字入力キー22e等による文字入力を受けつける。
たとえば、複数の文字入力キー22eによって「箇所」の文字列が入力されると、図4(B)に示すように、指定された低信頼度文字列「多少」が「箇所」の文字列に置き換えられる。つまり、使用者は、電車の中や周囲が騒がしい場所など、音声認識に不適切な環境であれば、複数の文字入力キー22eを利用して、文章の編集をすることができる。また、使用者は、複数の文字入力キー22eを利用して、信頼性の高い編集操作を行うこともできる。
また、文字入力キー22eが押下されなければ、第2マイク16bを利用した音声認識によって文字列を入力することが可能であり、「箇所」を表わす音声が入力されると、文字入力と同様に、指定された低信頼度文字列「多少」が「箇所」の文字列に置き換えられる。つまり、使用者は、音声認識を利用して容易に編集することができる。
そして、編集した後に確定キー56gが操作されると、再入力された文字列は、背景色が他の文字列と同じ色で彩色され、さらに下線が付加されて表示されるようになる。なお、このように下線が付加された文字列を確定文字列と言うことにする。また、確定文字列は、編集カーソルCUbにより選択後、編集キー56eが再び操作されれば、編集可能な状態になる。
また、低信頼度文字列であっても誤入力でなければ、編集カーソルCUbによって選択した後に、編集キー56eと確定キー56gとを続けて操作することで、確定文字列とすることができる。さらに、低信頼度文字列が表示されている状態で終了キー56fが選択されると、現在のモード(ここでは、カーソル指定モード)を終了して、他のモードを選択することが可能になる。たとえば、図3(D)のいずれかの画面で終了キー56fが操作されると、図3(C)に示すウインドウWaが表示される。
そして、全ての低信頼度文字列が確定文字列に置き換えられると、図4(C)に示すように、ウインドウWbが表示される。ウインドウWbには、「通常入力を行いますか?」の文字列が表示されると共に、「1.YES」および「2.NO」が表示される。
たとえば、ウインドウWbが表示されている状態で、「1」の数字キーが操作されると、確定文字列に付加された下線が消去され、他の文字列と同じ表示になる。そして、カーソルCUaの表示位置に基づいて、複数の文字入力キー22eによる文字入力を行うことができる状態になる。一方、「2」の数字キーが操作されると、送信メールの本文編集を終了して、送信メールの宛先や題名を入力可能なGUIが表示される画面に遷移する。
なお、編集キー56eあるいは確定キー56gに対応する決定キー22cを長押しすることで、低信頼度文字列が全て確定文字列にされてもよい。また、カーソル指定モードについて説明したが、音声検索モードであっても、編集カーソルCUbを移動させる操作が異なるだけであり、低信頼度文字列に対する編集操作は同じである。
続いて、低信頼度文字列を、他の文字列とは異なる形態で表示するための信頼度テーブルについて説明する。図5を参照して、信頼度テーブルには、音声認識された各文字列を記録する文字列の列と、その各文字列に対応する信頼度を記録する信頼度の列とから構成されている。たとえば、文字列の列には、使用者が発話した文章が形態素単位に分割されて格納されており、「経済」、「の」および「医術」などの文字列が格納されている。一
方、信頼度の列には、信頼度を百分率で表した数値が記録されており、音声認識の結果に基づいてそれぞれ記録される。つまり、「経済」の音声認識における信頼度が50%であれば、「経済」の欄に対応して「50%」が記録される。また、「の」の信頼度が80%であれば、「の」の欄に対応して「80%」が記録され、「医術」の信頼度が40%であれば、「医術」の欄に対応して「40%」が記録される。
そして、信頼度テーブルの信頼度の列において60%以下の文字列が、低信頼度文字列として表示されるようになる。つまり、「経済」および「医術」に対応する信頼度が60%以下であるため、図3(B)などに示すように、「経済」および「医術」の背景色が青色に彩色されて表示される。
続いて、低信頼度文字列を音声入力によって編集するときの他の実施例について説明する。図6を参照して、低信頼度文字列「いたない」が編集カーソルCUbで指定され、使用者によって新たに音声が入力されると、音声認識によって生成された文字列の候補がプルダウンPDによって一覧的に表示される。このプルダウンPDに表示される一覧は、尤度(信頼度)が高い順に上から表示されるため、最も尤度が高い文字列が最上部に表示される。つまり、ここでは、「満たない」および「汚い」の文字列が、認識の候補としてプルダウンPD内に表示される。そして、表示される文字列に対応する数字が選択されると、指定されている低信頼度文字列が選択された文字列と置き換えられる。たとえば、「1」の数字キーが操作されると、「いたない」が「満たない」に置き換えられる。なお、方向キー22dによるカーソル移動と確定キー56gの操作とによる選択であってもよい。
このように、音声認識の候補を一覧的に表示することで、再入力した音声の認識精度が高くなくても、使用者は正しく編集することができる。
なお、プルダウンPDを利用して低信頼度文字列を編集するのは、カーソル指定モードだけに限らず、音声検索モードや音声指定モードでも実行可能である。また、一定値(たとえば40%)以下の文字列はプルダウンPDに表示されない。
続いて、図3(A)−図3(C)に示すサブメニューキー56cが操作された場合について説明する。図7(A)を参照して、機能表示領域52にはウインドウWcが表示され、そのウインドウWc内には、「1.新規保存」、「2.編集内容確認」および「3.信頼度閾値」の3つのサブメニューが表示される。なお、各メニューは、他のメニューを選択する操作と同様に、数字キーなどを操作することで選択することができる。
たとえば、「新規保存」のメニューが選択されると、送信メールのデータをRAM30に保存(記憶)する処理が実行される。また、「編集内容確認」のメニューが選択されると、作成した送信メールの宛先、題名および本文などを同時に確認する画面を表示する処理が実行される。
そして、「信頼度閾値」のメニューが選択されると、低信頼度文字列と判断される閾値を変更するGUIが表示される。つまり、「3」の数字キーが操作されると、図7(B)に示すウインドウWdが表示され、さらにウインドウWdには、「1.高い」、「2.普通」および「3.低い」の閾値メニューが表示される。そして、使用者は、任意の閾値メニューを選択することで、閾値を変化させることができる。たとえば、「高い」が選択されると閾値は70%に設定され、「普通」が選択されると閾値は60%に設定され、「低い」が選択されると閾値は50%に設定される。そして、図7(A),(B)における戻るキー56hが操作されると、サブメニューの処理を終了して、図3(A)などに示す画面に戻る。
なお、信頼度の閾値は、3段階だけに限らず、2段階または4段階以上であってもよい。また、信頼度の閾値は任意の数値で指定されるようにしてあってもよい。また、サブメニューの処理は、送信メールの本文を作成するときだけに限らず、宛先や題名を入力するときでも、実行可能である。
図8は、RAM30のメモリマップを示す図解図である。図8を参照して、RAM30のメモリマップ300には、プログラム記憶領域302およびデータ記憶領域304が含まれる。プログラムおよびデータの一部は、フラッシュメモリ28から一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM30に記憶されてからCPU20などで処理される。
プログラム記憶領域302は、携帯端末10を動作させるためのプログラムを記憶する。携帯端末10を動作させるためのプログラムは、メール機能プログラム310および文書編集プログラム312などから構成される。メール機能プログラム310は、送信メールおよび返信を作成したり、受信メールを表示したりするためのプログラムであり、さらに送信メール作成プログラム310aおよびサブメニュープログラム310bなどから構成されている。送信メール作成プログラム310aは、送信メールの宛先、題名および本文を作成(入力)するためのプログラムであり、サブメニュープログラム310bは、送信メールを保存するためのプログラムである。
また、文書編集プログラム312は、送信メールの本文などを編集するときに実行されるプログラムであり、さらに信頼度閾値設定プログラム312a、任意カーソル編集プログラム312b、音声認識入力プログラム312c、低信頼度部位編集プログラム312d、カーソル指定プログラム312e、音声指定プログラム312f、音声検索プログラム312gおよび変換部位検索プログラム312hから構成されている。
信頼度閾値設定プログラム312aは、使用者によって信頼度の閾値を任意に設定させるためのプログラムである。任意カーソル編集プログラム312bは、カーソルCUaによって決められた位置に基づいて、キー入力または音声入力によって文章を編集、つまり文字列を入力するためのプログラムである。音声認識入力プログラム312cは、音声認識によって文字列を入力するための処理であり、音声入力モードなどで実行されるプログラムである。
低信頼度部位編集プログラム312dは、低信頼度文字列をキー入力または音声入力などによって編集するためのプログラムである。カーソル指定プログラム312eは、低信頼度文字列を編集カーソルCUbによって選択して編集するためのプログラムである。音声指定プログラム312fは、新たに入力した音声と相関の高い部位の文字列を編集するためのプログラムである。音声検索プログラム312gは、新たに入力した音声によって編集カーソルCUbを操作して、低信頼度文字列を編集するためのプログラムである。そして、変換部位検索プログラム312hは、音声指定プログラム312fおよび音声検索プログラム312gのサブルーチンであり、新たに入力された音声に基づいて低信頼度文字列を検索するためのプログラムである。
なお、図示は省略するが、携帯端末10を動作させるためのプログラムは、通話を行うためのプログラム、ネットワークを通じてメールデータを取得するプログラムなども含む。
続いて、図9を参照して、データ記憶領域304には、音声認識バッファ330、入力文字バッファ332が設けられ、さらに、設定信頼度データ334、信頼度テーブルデータ336、低信頼度音声辞書データ338、メールデータ340が記憶されると共に、カーソル指定フラグ342、音声指定フラグ344および音声検索フラグ346が設けられる。
音声認識バッファ330は、音声認識の処理を実行する際に利用されるバッファであり、たとえば、DSP20bによって変換された音声認識用の音声データが一時的に格納される。入力文字バッファ332は、文書編集プログラム312が実行されることで編集(作成)されている文字列を一時的に格納するバッファである。なお、入力文字バッファ332に格納されたデータを利用して、文字列がLCDモニタ26に表示される。設定信頼度データ334は、信頼度閾値設定プログラム312aの処理によって決定した閾値のデータであり、たとえば「60%」や「70%」などを表わす数字列から構成されている。信頼度テーブルデータ336は、図5に示す信頼度テーブルのデータである。
低信頼度音声辞書データ338は、使用者によって入力された音声データのうち、低信頼度文字列に対応する音声データと、その低信頼度文字列文字列とから構成されており、音声指定モードや音声検索モードなどで入力された音声が表わす文字列に類似する文字列を検索するために利用される。メールデータ340は、送信メールの本文(文字列)のデータや、受信メール、送信済みメールおよび未送信メールなどのデータから構成されるデータである。
カーソル指定フラグ342は、カーソル指定モードであるか否かを判断するためのフラグである。たとえば、カーソル指定フラグ342は1ビットのレジスタで構成され、カーソル指定フラグ342がオン(成立)されると、レジスタにはデータ値「1」が設定される。一方、カーソル指定フラグ342がオフ(不成立)されると、レジスタにはデータ値「0」が設定される。また、音声指定フラグ344は、音声指定モードであるか否かを判断するためのフラグである。そして、音声検索フラグ346は、音声検索モードであるか否かを判断するためのフラグである。なお、音声指定フラグ344および音声検索フラグ346の構成は、カーソル指定フラグ342と同じであるため、構成についての詳細な説明は省略する。
また、図示は省略するが、データ記憶領域304には、状態表示領域50に表示する画像や文字列などを表示するためのデータが記憶されると共に、携帯端末10の動作に必要な他のカウンタやフラグも設けられる。
CPU20aは、「Linux(登録商標)」および「REX」などのRTOS(real−time operating system)の制御下で、図10に示す送信メール作成処理、図11に示すサブメニュー処理、図12に示す信頼度閾値設定処理、図13に示す文字編集処理、図14に示す任意カーソル編集処理、図15に示す音声認識入力処理、図16に示す低信頼度部位編集処理、図17に示すカーソル指定処理、図18に示す音声指定処理、図19に示す音声検索処理および図20に示す変換部位検索処理などを含む複数のタスクを並列的に実行する。
図10は、送信メール作成処理を示すフロー図である。たとえば、使用者が送信メールを作成する操作を行うと、CPU20aはステップS1で、終了操作か否かを判断する。つまり、送信メールの作成を終了するための操作か否かを判断する。ステップS1で“YES”であれば、送信メール作成処理を終了し、上位処理であるメール機能処理に戻る。一方、ステップS1で“NO”であれば、ステップS3は送信操作か否かを判断する。つまり、送信メールをネットワークに送信するための操作であるか否かを判断する。ステップS3で“YES”であれば、ステップS5で送信処理を実行し、送信メール作成処理を終了する。つまり、ステップS5では、送信メールのデータをネットワークに送信する。
ステップS3で“NO”であれば、つまり送信操作でなければ、ステップS7でサブメニューの設定か否かを判断する。つまり、キー表示領域54に表示されているサブメニューキー56cが操作されたか否かを判断する。ステップS7で“YES”であれば、つまりサブメニューキー56cが操作されていれば、ステップS9でサブメニュー処理を実行し、ステップS1に戻る。また、ステップS9で実行されるサブメニュー処理については後述するため、ここでの詳細な説明は省略する。一方、ステップS7で“NO”であれば、つまりサブメニューキー56cが操作されていなければ、ステップS11で題名の編集であるか否かを判断する。つまり、送信メールの題名を編集するための操作であるか否かを判断する。
ステップS11で“YES”であれば、つまり題名を編集する操作であれば、ステップS13で文書編集処理を実行し、さらにステップS15で題名を設定する処理した後にステップS1に戻る。一方、ステップS11で“NO”であれば、つまり題名を編集する操作でなければ、ステップS17で本文の編集であるか否かを判断する。つまり、ステップS17では送信メールの本文を編集する操作であるか否かを判断する。ステップS17で“YES”であれば、ステップS13と同様にステップS19で文書編集処理を実行し、さらにステップS21で本文を設定した後に、ステップS1に戻る。一方、ステップS17で“NO”であれば、つまり本文を編集する操作でなければ、ステップS23で宛先の設定であるか否かを判断する。なお、ステップS13またはステップS19で実行される文書編集処理については、図13に示す文書編集処理を示すフロー図を用いて詳細に説明する。
ステップS23で“YES”であれば、つまり宛先を設定する処理であれば、ステップS25で宛先の設定処理を実行し、ステップS1に戻る。一方、ステップS23で“NO”であれば、つまり宛先を設定する操作でなければ、ステップS27でデータの添付か否かを判断する。つまり、送信メールにデータを添付するための操作がされたか否かを判断する。ステップS27で“YES”であれば、つまりデータを添付する操作であれば、ステップS29でデータの添付処理を実行し、ステップS1に戻る。一方、ステップS27で“NO”であれば、つまりデータを添付する操作でなければ、ステップS1に戻る。
図11はステップS9(図10参照)で実行されるサブメニュー処理を示すフロー図である。CPU20aは、ステップS9の処理が実行されると、LCDモニタ26には図7(A)に示すようにウインドウWcが表示され、ステップS41で戻る操作であるか否かを判断する。つまり、戻るキー56hが操作されたか否かを判断する。ステップS41で“YES”であれば、つまり戻るキー56hが操作されれば、サブメニュー処理を終了し、送信メール作成処理に戻る。一方、ステップS41で“NO”であれば、つまり戻るキー56hが操作されなければステップS43で新規保存の操作か否かを判断する。たとえば、「1」の数字キーが操作されたか否かを判断する。ステップS43で“YES”であれば、ステップS45で作成中のメールを保存する処理を実行した後に、ステップS41に戻る。つまり、ステップS45では送信メールを未送信メールとしてRAM30に保存(記憶)させる。
ステップS43で“NO”であれば、つまり新規保存の操作でなければ、ステップS47で編集内容の確認操作であるか否かを判断する。つまり、「2」の数字キーが操作されたか否かを判断する。
ステップS47で“YES”であれば、ステップS49で送信メールの確認表示処理を実行し、ステップS41に戻る。つまり、ステップS49では、送信メールの宛先、題名および本文のそれぞれが同一の画面で確認することが可能な、確認表示の処理を実行する。また、ステップS47で“NO”であれば、ステップS51で信頼度閾値の設定操作か
否かを判断する。つまり、「3」の数字キーが操作されたか否かを判断する。ステップS51で“YES”であれば、ステップS53で信頼度閾値設定処理を実行し、ステップS41に戻る。このステップS53の処理については後述するため、ここでの詳細な説明は省略する。また、ステップS51で“NO”であれば、そのままステップS41に戻る。
なお、サブメニュー処理は送信メールの本文を作成する処理と並列的に実行されてもよく、サブメニューキー56cが表示されている状態であれば、実行できるようにしてあってもよい。
図12は、ステップS53(図11参照)で実行される信頼度閾値設定処理を示すフロー図である。CPU20aはステップS71で信頼度設定画面を表示する。たとえば、図7(B)に示すように、ウインドウWdを表示する。続いて、ステップS73では戻る操作か否かを判断する。つまり、戻るキー56hが操作されたか否かを判断する。ステップS73で“YES”であれば、つまり戻るキー56hが操作されれば、信頼度閾値設定処理を終了して、サブメニュー処理に戻る。一方、ステップS73で“NO”であれば、つまり戻るキー56hが操作されなければ、ステップS75で信頼度の変更操作か否かを判断する。たとえば、「1」〜「3」の数字キーのいずれか1つが操作されたか否かを判断する。ステップS75で“NO”であれば、つまり信頼度の変更操作がされなければステップS73に戻る。一方、ステップS75で信頼度の変更操作がされれば、ステップS77で変更操作に応じて信頼度を設定し、信頼度閾値設定処理を終了する。たとえば、「1」の数字キーが操作されれば信頼度の閾値は70%(高い)に設定され、「2」の数字キーが操作されれば信頼度の閾値は60%(普通)に設定され、「3」の数字キーが操作されれば信頼度の閾値は50%(低い)に設定される。また、設定された信頼度の閾値を示すデータは、設定信頼度データ334としてRAM30に記憶される。
図13はステップS13またはステップS19(図10参照)で実行される文書編集処理を示すフロー図である。CPU20aは、ステップS13またはステップS19の処理が実行されると、ステップS91で完了操作か否かを判断する。つまり、図3(A)などに示す完了キー56bが操作されたか否かを判断する。ステップS91で“YES”であれば、つまり完了キー56bが操作されれば、文書編集処理を終了して、送信メール作成処理に戻る。一方、ステップS91で“NO”であれば、つまり完了キー56bが操作されなければ、低信頼度部位があるか否かを判断する。つまり、信頼度テーブルデータ336を参照して、設定信頼度データ334が示す閾値以下の信頼度が記録されているか否かを判断する。
ステップS93で“NO”であれば、つまり低信頼度部位がなければ、ステップS95で任意カーソル編集処理を実行し、ステップS91に戻る。また、このステップS95の処理は後述するため、ここでの詳細な説明は省略する。また、ステップS93で“YES”であれば、つまり低信頼度部位があれば、ステップS97で低信頼度部位編集処理を実行する。また、このステップS97の処理は後述するため、ここでの詳細な説明は省略する。
続いて、ステップ99では、モードの再選択操作か否かを判断する。つまり、低信頼度文字列が表示されている状態で終了キー56f(図4(A)参照)が操作されたか否かを判断する。ステップS99で“YES”であれば、つまりモードの再選択操作であれば、ステップ97に戻る。一方、ステップS99で“NO”であれば、つまりモードの再選択操作でなければ、ステップS101で任意カーソル編集を行うか否かを判断する。つまり、図4(C)に示すウインドウWbに示される「YES」または「NO」を選択する操作結果によって判断する。ステップS101で“YES”であれば、つまり「YES」が選ばれれば、ステップS95に進む。一方、ステップS101で“NO”であれば、つまり
「NO」が選ばれれば文書編集処理を終了して、送信メール作成処理に戻る。
図14はステップS95(図13参照)で実行される任意カーソル編集処理を示すフロー図である。CPU20aは、ステップS95の処理が実行されると、ステップS111で、確定状態か否かを判断する。つまり、変換されていない平仮名が確定されたか否かを判断する。ステップS111で“YES”であれば、つまり平仮名が変換されて確定されれば、任意カーソル編集処理を終了し、文書編集処理に戻る。一方、ステップS111で“NO”であれば、つまり未確定の文字列が確定されていなければ、ステップS113で、文字列の表示を行う。つまり、入力文字バッファ332に格納されている文字列を読み出して、機能表示領域52に表示する。なお、入力文字バッファ332に文字列が格納されていなければ、カーソルCUaのみが表示される。
続いて、ステップS115では、音声認識操作か否かを判断する。つまり、通常入力モードで、音声入力キー56dが操作されたか否かを判断する。ステップS115で“YES”であれば、つまり音声入力キー56dが操作されれば、ステップS117で音声認識入力処理を実行し、ステップS111に戻る。また、このステップS117の処理は後述するため、ここでの詳細な説明は省略する。
また、ステップS115で“NO”であれば、つまり音声入力キー56dが操作されていなければ、ステップS119で方向キー操作か否かを判断する。つまり、カーソルCUaを移動させるために方向キー22dが操作されたか否かを判断する。なお、機能表示領域52にカーソルCUaのみが表示されている状態では、カーソルCUaの表示位置は変化しない。ステップS119で“YES”であれば、つまり方向キー22dが操作されれば、ステップS121でカーソル移動の処理を実行し、ステップS111に戻る。一方、ステップS119で“NO”であれば、つまり、方向キー22dが操作されていなければ、ステップS123で文字入力操作か否かを判断する。つまり、複数の文字入力キー22eのいずれか1つが操作されたか否かを判断する。
ステップS123で“YES”であれば、つまり文字入力操作であればステップS125で文字の入力処理を実行し、ステップS111に戻る。つまり、ステップS125では、押下された文字キー応じて平仮名を表示し、さらにその表示した平仮名のデータを入力文字バッファ332に格納する。一方、ステップS123で“NO”であれば、つまり文字入力操作でなければステップS127で変換操作か否かを判断する。つまり、未確定の平仮名を変換する操作がされたか否かを判断する。ステップS127で“YES”であれば、つまり変換操作であれば、ステップS129で文字の変換処理を実行する。一方、ステップS127で“NO”であれば、つまり変換操作でなければ、ステップS111に戻る。
図15はステップS117(図14参照)、後述するステップS207(図17参照)または後述するステップS269(図19参照)で実行される音声認識入力処理を示すフロー図である。CPU20aは、ステップS117、ステップS207またはステップS263のいずれかが実行されると、ステップS141で音声が入力されたか否かを判断する。つまり、第2マイク16bに対して音声が入力されたか否かを判断する。ステップS141で“NO”であれば、つまり第2マイク16bに音声が入力されなければ、ステップS141の処理を繰り返し実行する。一方、ステップS141で“YES”であれば、つまり第2マイク16bに対して音声が入力されれば、ステップS143で入力された音声を音声データに変換する。つまり、第2マイク16bに対して入力された音声は、DSP20bによって音声データに変換され、その音声データは音声認識バッファ330に格納される。
続いて、ステップS145では、音声辞書から音声データに対応する文字列を抽出する。つまり、ROM32に記憶されている音声辞書から、音声認識バッファ330に格納されている音声データと対応する参照音声データを特定することで、音声データを文字列に変換する。なお、音声データと対応する参照音声データを特定する手法は、先述した特徴パターンの照合による音声認識の手法または統計的決定理論に基づく音声認識の手法を利用する。
続いて、ステップS147では、抽出した各文字列のそれぞれに対応する信頼度テーブルを作成する。つまり、形態素単位で変換された各文字列と、各文字列のそれぞれに対応する尤度とを、信頼度テーブルデータ336としてRAM30に記憶させる。なお、ステップS147の処理を実行するCPU20aは記録手段として機能する。
続いて、ステップS149では、カーソルCUa(または編集カーソルCUb)の位置に基づいて、抽出した文字列を表示する。つまり、ステップS149では、カーソルCUaが示す文字列に基づいて、変換された各文字列を入力文字バッファ332に格納する。続いて、ステップS151では、低信頼度音声辞書データ338を作成し、音声認識入力処理を終了した後に、メインルーチンの処理に戻る。つまり、ステップS151の処理を実行するCPU20aは、文字列に変換するときに、形態素単位で分割された文字列と対応する各音声データから信頼度が閾値以下の文字列に対応する音声データのみを選出して、選出された音声データと、その選出された音声データに対応する文字列とを低信頼度音声辞書データ338としてRAM30に記憶させる。なお、ステップS151の処理を実行するCPU20aは音声辞書記録手段として機能する。
図16はステップS97(図13参照)で実行される低信頼度部位編集処理を示すフロー図である。CPU20aは、ステップS97の処理が実行されると、ステップS161では、低信頼度の文字列を特定する。つまり、信頼度テーブルデータ336内における閾値以下の文字列を特定する。なお、ステップS161の処理を実行するCPU20aは特定手段として機能する。
続いて、ステップS163では特定された文字列の背景色を変更して表示する。つまり、入力文字バッファ332に格納されている各文字列から、信頼度テーブルにおいて信頼度が閾値以下の文字列を特定し、LCDモニタ26に表示されている画像データを変更する。たとえば、信頼度が閾値以下の文字列が「経済」であれば、入力文字バッファ332に格納されている「経済」の文字列を特定し、その「経済」を表示するための画像データを変更する。続いて、ステップS165では、モード選択のGUIを表示する。たとえば、図3(C)のように、カーソル指定モード、音声指定モード、音声検索モードおよび通常入力モードを数字に対するキーによって選択させるウインドウWaを表示する。なお、ステップS163およびステップS165の処理を実行するCPU20aは編集誘導手段として機能する。
続いて、ステップS167では、カーソル指定モードか否かを判断する。つまり、カーソル指定モードと対応する数字キーが操作されたか否かを判断する。ステップS167で“YES”であれば、つまりカーソル指定モードを選択する操作であれば、カーソル指定フラグ342をオンにし、ステップS169でカーソル指定処理を実行する。さらに、ステップS169の処理が終了すると、カーソル指定フラグ342をオフにし、低信頼度部位編集処理を終了して、文書編集処理に戻る。また、ステップS169の処理は後述するため、ここでの詳細な説明は省略する。
また、ステップS167で“NO”であれば、つまりカーソル指定モードを選択する操作でなければ、ステップS171で音声して音声指定モードか否かを判断する。つまり、
音声指定モードと対応する数字キーが操作されたか否かを判断する。ステップS171で“YES”であれば、つまり音声指定モードを選択する操作がされれば、音声指定フラグ344をオンにし、ステップS173で音声指定処理を実行する。さらに、ステップS173の処理が終了すると、音声指定フラグ344をオフにし、低信頼度部位編集処理を終了する。また、ステップS173の処理は後述するため、ここでの詳細な説明は省略する。
また、ステップS171で“NO”であれば、つまり音声指定モードを選択する操作がされなければ、ステップS175で音声検索モードか否かを判断する。つまり、音声検索モードに対応する数字キーが操作されたか否かを判断する。ステップS175で“YES”であれば、つまり音声検索モードを選択する操作がされれば、音声検索フラグ346をオンにし、ステップS177で音声検索処理を実行する。さらに、ステップS177の処理が終了すると、音声検索フラグ346をオフにし、低信頼度部位編集処理を終了する。また、このステップS177の処理は後述するため、ここでの詳細な説明は省略する。
また、ステップS175で“NO”であれば、つまり音声検索モードを選択する操作がされなければ、ステップS179で通常入力モードか否かを判断する。つまり、通常入力モードを選択するために数字キーが操作されたか否かを判断する。ステップS175で“YES”であれば、つまり通常入力モードが選択されれば、ステップS181で信頼度テーブルを更新し、低信頼度部位編集処理を終了する。つまり、低信頼度テーブルに記録される閾値以下の信頼度を100%に変更する。これにより、使用者は、複数の低信頼度文字列が誤認識されていないと判断すれば、通常入力モードを選択することで、通常の文字入力を再開することができる。また、ステップS179で“NO”であれば、つまり通常入力モードを選択する操作でなければ、ステップS167に戻る。
図17はステップS169(図16参照)で実行されるカーソル指定処理を示すフロー図である。なお、ステップS207の処理については、ステップS117と同様であり、ステップS211−S215の処理については、ステップS125−S129と同様であるため、詳細な説明は省略する。CPU20aは、ステップS169の処理が実行されると、ステップS191で確定操作か否かを判断する。たとえば、図4(A)に示す編集キー56eが長押しされた、あるいは確定キー56gが操作されたか否かを判断する。ステップS191で“NO”であれば、つまり確定操作がされていなければ、ステップS197に進む。一方、ステップS191で“YES”であれば、つまり確定操作がされていれば、ステップS193で信頼度テーブルを更新する。
たとえば、編集カーソルCUbによって選択された文字列の信頼度を100%に変更する。また、編集キー56eまたは確定キー56gが長押しされた場合には、編集カーソルCUbが選択する文字列に関係なく、信頼度テーブルにおける信頼度の列の値を全て100%に変更する。続いて、ステップS195では、低信頼度部位があるか否かを判断する。つまり、信頼テーブルデータ338に、閾値以下の信頼度が記録されているか否かを判断する。ステップS195で“NO”であれば、つまり閾値以下の信頼度が記録されていなければ、カーソル指定処理を終了し、低信頼度部位編集処理に戻る。
また、ステップS195で“YES”であれば、つまり閾値以下の信頼度が記録されていれば、ステップS197で終了操作か否かを判断する。つまり、図4(A)、図4(B)に示す終了キー56fが操作されたか否かを判断する。ステップS197で“YES”であれば、つまり終了キー56fが操作されていれば、カーソル指定処理を終了する。一方、ステップS197で“NO”であれば、つまり終了キー56fが操作されていなければ、ステップS199で方向キー操作か否かを判断する。つまり、方向キー22dが操作されたか否かを判断する。
ステップS199で“YES”であれば、つまり方向キー22dが操作されればステップS201で編集カーソルCUbの表示位置を更新し、ステップS191に戻る。つまり、ステップS201では、信頼度テーブルデータ336を参照し、入力された方向に応じて、他の低信頼度文字列を選択する。たとえば、図3(D)を参照して、「経済」が現在選択されている低信頼度文字列であり、右方向(または下方向)の操作がされると、「経済」の次に記録されている低信頼度文字列、つまり「医術」が編集カーソルCUbによって選択された状態となる。また、「医術」が現在選択されている低信頼度文字列であり、左方向(または上方向)の操作がされると、「医術」の前に記録されている低信頼度文字列、つまり「経済」が編集カーソルCUbによって選択された状態となる。
なお、信頼度テーブルにおいて、最上位に記録されている低信頼度文字列が選択されている状態で、上方向の操作がされた場合には、編集カーソルCUbの表示位置を更新しなくてもよいし、信頼度テーブルの最下位に記録されている信頼度文字列が選択されるようにしてもよい。また、編集カーソルCUbよって選択される低信頼度文字列が機能表示領域52に表示されていない場合には、表示される文字列を更新して、編集カーソルCUbおよび選択された低信頼度文字列が表示されるようにする。
また、ステップS199で“NO”であれば、つまり方向キー22dが操作されていなければ、ステップS203で編集操作か否かを判断する。つまり、編集キー56eが操作されたか否かを判断する。ステップS203で“NO”であればステップS191に戻る。一方、ステップS203で“YES”であれば、ステップS205で音声認識操作か否かを判断する。たとえば、編集キー56eが操作された後に、音声入力の有無を判断する。ステップS205で“YES”であれば、つまり音声認識操作であれば、以降、音声認識モードであることを記憶して、ステップS207で音声認識入力処理を実行した後に、ステップS191に戻る。たとえば、CPU20aは、音声認識モードであることを記憶するために、音声認識モードフラグ(図9では図示せず)をオンにする。
また、ステップS205で“NO”であれば、つまり音声認識操作でなければ、ステップS209で文字入力操作か否かを判断する。たとえば、編集キー56eが操作された後に、文字入力キー22eが操作されたか否かを判断する。ステップS209で“YES”であれば、以降、文字入力モードであることを記憶し、ステップS211で文字の入力処理を実行した後に、ステップS191に戻る。たとえば、CPU20aは文字入力モードであることを記憶するために、文字入力モードフラグ(図9では図示せず)をオンにする。
一方、ステップS209で“NO”であれば、つまり文字入力操作でなければ、ステップS213で変換操作か否かを判断する。ステップS213で“YES”であれば、ステップS215で文字の変換処理を実行して、ステップS191に戻る。一方、ステップS213で“NO”であれば、そのままステップS191に戻る。
なお、ステップS211およびステップS215を実行するCPU20aは文字編集手段として機能する。
図18はステップS173(図16参照)で実行される音声指定処理を示すフロー図である。なお、ステップS231およびステップS233の処理はステップS197およびステップS195の処理と同じであるため、詳細な説明は省略する。CPU20aは、ステップS173の処理が実行されると、ステップS231で、終了操作か否かを判断する。ステップS231で“YES”であれば、音声指定処理を終了し、低信頼度部位編集処理に戻る。一方、ステップS231で“NO”であれば、ステップS233で低信頼度部
位があるか否かを判断する。ステップS233で“NO”であれば、音声指定処理を終了する。
一方、ステップS233で“YES”であれば、ステップS235で方向キー操作か否かを判断する。つまり、方向キー22dが操作されたか否かを判断する。ステップS235で“YES”であれば、つまり方向キー22dが操作されれば、ステップS237で表示のスクロール処理を実行し、ステップS231に戻る。つまり、ステップS237では、入力された方向に応じて、機能表示領域52内に表示される文字列をスクロール(変化)させる。たとえば、下方向の入力がされれば、まだ表示されていない送信メールの本文を表示するように下方向にスクロールする。また、上方向の入力がされれば、すでに表示された送信メールの本文を表示するように上方向にスクロールする。
このように、使用者は、LCDモニタ26に表示される文字列の内容をスクロールさせることで、容易に他の低信頼度文字列を探すことができるようになる。
なお、表示されていない文字列がない場合には、方向キー22dに対する入力がされても、機能表示領52内の表示は変化しない。また、左右方向キーが入力された場合も同様に、機能表示領52内の表示は変化しない。
また、ステップS235で“NO”であれば、つまり方向キー22dが操作されなければ、ステップS239で音声が入力されたか否かを判断する。つまり、第2マイク16bに音声が入力されたか否かを判断する。ステップS239で“YES”であれば、つまり音声が入力されれば、ステップS241で変換部位検索処理を実行した後に、ステップS231に戻る。このステップS241の処理は後述するため、ここでの詳細な説明は省略する。一方、ステップS239で“NO”であれば、つまり音声が入力されなければ、ステップS231に戻る。
図19はステップS177(図16参照)で実行される音声検索処理を示すフロー図である。なお、ステップS251−S257の処理はステップS191−S197の処理と同じであり、ステップS259,S261の処理はステップS235,S237と同じであり、ステップS265の処理はステップS241と同じであり、ステップS269の処理はステップS117またはステップS207と同じであるため、詳細な説明は省略する。
ステップS177の処理が実行されると、CPU20aは、ステップS251で、確定操作か否かを判断する。ステップS251で“NO”であれば、ステップS257に進み、一方、“YES”であれば、ステップS253で信頼度テーブルを更新する。続いて、ステップS255では、低信頼度部位があるか否かを判断し、“NO”であれば音声検索処理を終了して、低信頼度編集処理に戻る。一方、ステップS255で“YES”であれば、ステップS257で、終了操作か否かを判断する。ステップS257で“YES”であれば、音声検索処理を終了し、“NO”であればステップS259で方向キー操作か否かを判断する。
ステップS259で“YES”であれば、ステップS261で表示のスクロール処理を実行して、ステップS251に戻る。一方、ステップS259で“NO”であれば、ステップS263で音声が入力されたか否かを判断する。つまり、第2マイク16bによって、音声が入力されたか否かを判断する。ステップS263で“YES”であれば、つまり音声が入力されれば、ステップS265で変換部位検索処理を実行して、ステップS251に戻る。たとえば、任意の低信頼度文字列を表わす音声が入力されれば、ステップS265の処理が終了すると、任意の低信頼度文字列が編集カーソルCUbによって選択され
た状態となる。
また、ステップS263で“NO”であれば、つまり音声が入力されなければ、ステップS267で入力操作か否かを判断する。たとえば、編集キー56eが操作されたか否かを判断する。ステップS267で“YES”であれば、つまり入力操作がされれば、ステップS269で音声認識入力処理を実行して、ステップS251に戻る。また、ステップS267で“NO”であれば、ステップS251に戻る。たとえば、ステップS269の処理が終了すると、編集キー56eが操作された後に入力された音声が文字列に変換されて、選択されている低信頼度文字列と置き換えられる。
なお、編集キー56eが操作された後には、音声入力ではなく、通常入力によって低信頼度文字列を編集してもよい。つまり、ステップS267で“YES”と判断された後に、S269の代わりに、ステップS205−S215の処理を実行するようにしてもよい。そして、ステップS207,S211,S215の処理が終了した後には、ステップS251に戻るようにする。
図20はステップS241(図18参照)またはステップS265(図19参照)で実行される変換部位検索処理を示すフロー図である。CPU20aは、ステップS241またはステップS265が実行されると、ステップS281で、入力された音声を音声データに変換する。つまり、入力された音声はDSP20aによって音声データに変換される。続いて、ステップS283では、低信頼度音声辞書データ338を読み込む。つまり、低信頼度音声辞書データ338を構成する各音声データを、参照音声データとして読み込む。
続いて、ステップS285では、高相関部位の検索を行う。具体的には、参照音声データと入力された音声データとから、一定時間毎に変化する複数の特徴パターンを取得し、さらに、参照音声データと入力された音声データとのそれぞれの特徴パターンから相関値を算出する。そして、最も大きい相関値と対応する参照音声データが表わす文字列を抽出することで、信頼度テーブルデータ336から、抽出された文字列と一致する低信頼度文字列を検索する。このようにして、本実施例では、類似する文字列を検索するために、相関関数を利用することができる。なお、ステップS283およびステップS285の処理を実行するCPU20aは類似検索手段として機能する。
続いて、ステップS287では、音声検索モードか否かを判断する。つまり、音声検索フラグ346がオンであるか否かを判断する。ステップS287で“YES”であれば、つまり音声検索モードであれば、ステップS289で検索結果に応じて、編集カーソルCUbの表示位置を更新し、変換部位検索処理を終了した後に、音声検索処理に戻る。たとえば、類似する文字列が「医術」であれば、編集カーソルCUbによって「医術」が選択される。このように、再入力された音声の音声認識の結果によらず、使用者が意図する低信頼度文字列を選択することができる。そして、先述したとおり、使用者は、音声認識による文書の作成に都合のいいカーソルの操作を実行することができるようになる。
また、ステップS287で“NO”であれば、つまり音声検索フラグ346がオフであり、かつ音声指定フラグ344がオンであれば、ステップS291で音声辞書から音声データに対応する文字列を抽出する。つまり、ステップS145と同様に、ROM32に記憶された音声辞書から文字列を抽出する。
続いて、ステップS293では、高相関部位に基づいて、抽出した文字列を表示する。つまり、入力文字バッファ332から、ステップS285の処理による検索結果が示す文字列を特定し、音声辞書から抽出された文字列に置き換える。たとえば、検索結果の低信
頼度文字列が「経済」であり、音声辞書から抽出された文字列が「現在」であれば、機能表示領域52では「経済」の文字列が「現在」の文字列に置き換えられる。続いて、ステップS295では、信頼度テーブルを更新し、変換部位検索処理を終了した後に、音声指定処理に戻る。たとえば、ステップS295では、信頼度テーブルに記録される「経済」を「現在」に置き換え、「現在」を音声認識した際に算出された尤度を信頼度として記録する。
なお、ステップS201またはステップS289の処理を実行するCPU20aはカーソル表示手段として機能する。また、ステップS293の処理を実行するCPU20aは置換手段として機能する。さらに、ステップS201、ステップS239およびステップS261の処理を実行するCPU20aはスクロール手段として機能する。
ここで、図6に示すプルダウンPDを利用した文字列の編集について、図21に示す音声認識処理のフロー図を用いて詳細に説明する。なお、ステップS141−S151の処理については、すでに詳細に説明しているため、ここでは詳細な説明を省略し、ステップS311の処理から説明する。
ステップS311では、低信頼度文字列の編集か否かを判断する。つまり、カーソル指定フラグ342、音声指定フラグ344または音声検索フラグ346のいずれかがオンであるか否かを判断する。ステップS311で“NO”であれば、つまり低信頼度文字列の編集でなければ、ステップS145以下の処理を実行する。一方、ステップS311で“YES”であれば、音声辞書から音声データに対応する複数の文字列を抽出する。つまり、尤度が最も高い文字列だけでなく、一定値以上の尤度の文字列を全て抽出する。
続いて、ステップS315では、プルダウンメニューを表示する。つまり、図6に示すプルダウンPDを表示し、そのプルダウンPD内に、抽出した複数の文字列を表示する。なお、ステップS315の処理を実行するCPU20aは一覧表示手段として機能する。続いて、ステップS317では、選択された文字列に対応する信頼度を記録する。つまり、信頼度テーブルに選択された文字列の尤度、つまり信頼度を記録する。なお、信頼度を記録する際には、編集カーソルCUbによって選択されている文字列および対応する信頼度を上書きする。
続いて、ステップS319では、選択された文字列を表示し、音声認識入力処理を終了する。つまり、入力文字バッファ332に格納されている低信頼度文字列を、選択された文字列と置き換える。たとえば、図6を参照して、プルダウンPD内の「満たない」が選択されていれば、「いたない」は「満たない」に置き換えられる。
また、音声検索モードにおいて、類似する文字列を検索するのではなく、新たに音声認識された文字列と一致する低信頼度文字列を検索する処理について、図22を用いて詳細に説明する。なお、ステップS149およびステップS319の処理を実行するCPU20aは音声編集手段として機能する。
図22を参照して、他の実施例では、変換部位検索処理におけるステップS281−S287,S291−S295における処理内容は同じであるため、詳細な説明は省略する。
CPU20aは、ステップS281で入力された音声を音声データに変換し、次にステップS291で音声辞書から音声データに対応する文字列を抽出する。そして、ステップS291の処理が終了すると、ステップS287で音声検索モードか否かを判断する。
ステップS287で“NO”であれば、つまり音声検索モードではなく、音声指定モードあれば、ステップS283,S285,S293およびS295の順に、処理を実行し、変換部位検索処理を終了する。一方、ステップS287で“YES”であれば、つまり音声検索モードであれば、ステップS331で抽出した文字列と一致する低信頼度文字列を検索する。つまり、信頼度テーブルにおける文字列の列から、ステップS291で抽出された文字列を検索する。なお、ステップS331の処理を実行するCPU20aは検索手段として機能する。
続いて、ステップS289では、検索結果に応じて編集カーソルCUbの表示位置を更新する。つまり、ステップS331の処理における検索結果に応じて、編集カーソルCUbの表示位置を更新する。たとえば、新たに入力された音声の認識結果が「経済」であれば、低認識文字列である「経済」が検索結果となる。そして、「経済」が編集カーソルCUbによって選択される。
以上の説明から分かるように、携帯端末10は、使用者の音声を取り込む第2マイク16bを含み、第2マイク16bに入力された音声を音声認識して文字列を生成する。また、音声認識によって文字列を生成する際には、算出される尤度を音声認識の信頼度とし、生成する文字列とその文字列に対応する信頼度とを信頼度テーブルに記録する。そして、信頼度テーブルに基づいて、閾値以下の信頼度である文字列が特定され、特定された低信頼度文字列の背景色は、青色に彩色されて、LCDモニタ26に表示される。
これによって、誤認識文字列の候補が一目で判断できるように表示されるため、使用者は、編集の要否を判断しやすくなり、音声認識を利用して効率よく文章を作成できる。
なお、音声認識における辞書データ(ROM32に記憶される音声辞書および低信頼度音声辞書データを含む)を構成する参照音声データのそれぞれに、尤度を算出する関数(式)が設定されていれば、類似する文字列を検索するために尤度を算出する各関数を利用してもよい。つまり、各関数にそれぞれを識別するための関数IDを設定し、低信頼度文字列の信頼度を算出するために利用した関数IDをそれぞれ記録する。そして、新たに入力された音声を音声認識する際に利用した関数IDを、記録された各関数IDから検索することで、類似する低信頼度文字列を検索することが可能である。
また、音声認識に利用するマイクは、第2マイク16bだけに限らず、第1マイク16aであってもよい。さらに、マイクを備えない携帯端末10であっても、市販のマイクを後付けし、図10−図22に示す各処理を実行可能なプログラムをインストールすることで、本実施例の効果を得られるようにしてもよい。
また、本実施例の文書編集機能は、送信メールの本文を編集するだけに限らす、メモ帳機能などの文字列を入力する機能であれば適用可能である。
また、ウインドウWa−Wdで選択可能な各メニューは、数字キーによって選択するのではなく、メニューを選択するための専用カーソルによって選択されてもよい。
また、携帯端末10の通信方式には、CDMA方式に限らず、W‐CDMA方式、TDMA方式、PHS方式およびGSM(登録商標)方式などを採用してもよい。また、本実施例における携帯端末10のCPU20aによって実行される各処理は、携帯端末10のみに限らず、PDA(Personal Degital Assistant)などの携帯情報端末や、パーソナルコンピュータ(PC)などであってもよい。