(57)【要約】【課題】  明確に文意が伝達される文章の読上げを可能とする文字列処理装置を提案する。【解決手段】  文字列処理装置において、読上情報処理部２０５は表記文字列２０２に対して、指定された範囲の文字列の読み方に関する情報である読上情報２０３を付与したり、付与された読上情報を修正したり、削除したりする編集処理を行ない、記憶領域２０１に記憶させる。制御情報処理部２０６は、表記文字列２０２の読上順序を制御する制御情報２０４を該表記文字列２０２に挿入し、記憶領域２０１に記憶させる。音声合成部２０８は、表記文字列２０２に付与された読上情報２０３に基づき、制御情報２０４で制御される読上順序にしたがって読上げ用の情報を生成し、音声再生装置２１４から読上げが実行される。【選択図】        図２
2006098991.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の文字列の中の、範囲を指定する範囲指定手段と、
前記指定された範囲の文字列に対して、前記文字列の読み方と、前記文字列との関連とを表わす情報である読上情報を付与する読上情報付与手段と、
前記指定された範囲の文字列に付与されている読上情報を修正する読上情報修正手段とを備える、文字列処理装置。
【請求項２】
前記読上情報付与手段は、前記指定された範囲の文字列に対して、前記指定された範囲にない、指示された文字列の読み方を表わす情報である読上情報を付与する、請求項１に記載の文字列処理装置。
【請求項３】
前記読上情報に基づいて、前記処理対象の文字列を読上げるための情報を生成する生成手段をさらに備える、請求項１または２に記載の文字列処理装置。
【請求項４】
前記処理対象の文字列の中の、位置を指定する位置指定手段と、
前記指定された位置に、前記処理対象の文字列の読上順序を制御する制御情報を挿入する制御情報挿入手段をさらに備える、請求項１〜３のいずれかに記載の文字列処理装置。
【請求項５】
前記生成手段は、前記読上情報と前記制御情報とに基づいて、前記処理対象の文字列を読上げるための情報を生成する、請求項４に記載の文字列処理装置。
【請求項６】
処理対象の文字列の中の、範囲を指定する範囲指定ステップと、
前記指定された範囲の文字列に対して、前記文字列の読み方と、前記文字列との関連とを表わす情報である読上情報を付与する読上情報付与ステップと、
前記指定された範囲の文字列に付与されている読上情報を修正する読上情報修正ステップとを備える、文字列処理方法。
【請求項７】
前記読上情報付与ステップは、前記指定された範囲の文字列に対して、前記指定された範囲にない、指示された文字列の読み方を表わす情報である読上情報を付与する、請求項６に記載の文字列処理方法。
【請求項８】
前記読上情報に基づいて、前記処理対象の文字列を読上げるための情報を生成する生成ステップをさらに備える、請求項６または７に記載の文字列処理方法。
【請求項９】
前記処理対象の文字列の中の、位置を指定する位置指定ステップと、
前記指定された位置に、前記処理対象の文字列の読上順序を制御する制御情報を挿入する制御情報挿入ステップをさらに備える、請求項６〜８のいずれかに記載の文字列処理方法。
【請求項１０】
前記生成ステップは、前記読上情報と前記制御情報とに基づいて、前記処理対象の文字列を読上げるための情報を生成する、請求項９に記載の文字列処理方法。
【請求項１１】
文字列処理をコンピュータに実行させるプログラムであって、
処理対象の文字列の中の、範囲を指定する範囲指定ステップと、
前記指定された範囲の文字列に対して、前記文字列の読み方と、前記文字列との関連とを表わす情報である読上情報を付与する読上情報付与ステップと、
前記指定された範囲の文字列に付与されている読上情報を修正する読上情報修正ステップとを実行させる、文字列処理プログラム。
【請求項１２】
請求項１１に記載の文字列処理プログラムを記録した、コンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は文字列処理装置、文字列処理方法、文字列処理プログラム、および文字列処理プログラムを記録した記録媒体に関し、特に、文字列データをテキスト文書および音声で出力する文字列処理装置、文字列処理方法、文字列処理プログラム、および文字列処理プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年、情報機器の高性能化が進み、情報機器を用いて文章を好みの形に整形して表示したり、文章を読上げたりすることが簡単にできる環境が整いつつある。
【０００３】
元来、このような情報機器である文字列処理装置においては、表示用と読上げ用とに異なる文章を用いており、表示と読上げとを同期して行なうことができなかったが、昨今の情報機器では、表示用の文章を読上げに利用することで、表示と読上げとを同期して行なうことが可能となった。
【０００４】
ただし、たとえば処理対象の文章が日本語の文章である場合、表示用文章には一般的には漢字や仮名が混在して含まれ、さらに、漢字には複数の読み方が存在するものが多数ある。そのため、文字列処理装置においては、文字とその読み方とが１対１で対応するとは限らず、表示される文字をそのまま読上げることができない場合が多いという問題があった。
【０００５】
そこで、この問題を解決するための方法として、文字列処理装置においては、処理対象の文章に対して文字列処理を行なうことで、そのまま読めない文字について適切な読み方を取得し、読上げに利用する方法が採用される。具体的には、まず、処理対象の文章の形態素解析を実行し、得られた単語およびその品詞情報をキーに読上げ情報辞書を検索し、単語に相当する文字列の読み方情報を取得する。文字列処理装置においてかかる文字列処理を行なうことで、表示用に作成された、必ずしも発音と一致しない文章を適切に読上げることが可能となる。
【０００６】
ただし、文字列処理においては、一般的には新語や固有名詞の処理が難しく、すべての読み方を取得することができるとは限らないという問題があった。そこで、特許文献１は、この問題を解決するための方法として、処理対象の文章に特殊な読み方をする特殊単語が含まれる場合、該単語に予め読み方情報を付加する文字列処理方法を提案している。
【０００７】
すなわち、特許文献１で提案されている文字列処理方法を実行する音声合成装置は、特殊な読み方をする単語に、予め読み方を記述したタグを付加し、読上げの際、タグ情報が付加された単語については、指定された読み方で読上げる。
【０００８】
また、特許文献１では、同じ読み方をする同じ単語が複数回登場する中で、たとえば１度だけ異なる読み方をするような場合にも対応可能な文字列処理方法も提案されている。
【０００９】
すなわち、特許文献１で提案されている文字列処理方法を実行する音声合成装置は、同じ読み方をする同じ単語のうち、最初に登場する単語について標準的な読み方を指定するタグを追加し、以降、特別に読み方が指定されていない同じ単語については、該タグによって指定された標準的な読み方を採用する。
【００１０】
また、文字列処理装置においては、通常の文字列処理を行なった場合であっても、表示用文章において補足情報等に用いられる括弧で囲まれた部分について、括弧の意味を把握することができずに、正しい読み方情報を得ることができないという問題があった。
【００１１】
そこで、特許文献２は、この問題を解決するための方法として、文章に含まれる括弧で囲まれた部分を読飛ばす文章読上げ方法を提案している。
【００１２】
すなわち、特許文献２では、第１の文章読上げ方法として、読上げ対象の文章から、括弧および引用符データを検出し、検出された括弧または引用符で括られた文章データを読上げ対象から除外する方法を提案している。
【００１３】
また、特許文献２では、第２の文章読上げ方法として、読上げ対象の文章に含まれる括弧または引用符データのうち、予め読上げ対象から除外する括弧または引用符データを設定し、読上げ時には指定された括弧もしくは引用符データを読上げ対象から除外する方法、または利用者が指定した括弧もしくは引用符データを読上げ対象から除外する方法を提案している。
【００１４】
また、特許文献２では、第３の文章読上げ方法として、読上げ対象の文章から括弧および引用符データを検出し、検出された括弧または引用符で括られた文章データの読み方と、該括弧または引用符の直前の文章データの読み方とが一致する場合、該括弧または引用符で括られた文章データを読上げ対象から除外する方法を提案している。
【００１５】
また、特許文献２では、第４の文章読上げ方法として、読上げ対象の文章から括弧および引用符データを検出し、検出された括弧または引用符で括られた文章データが英字である場合、該文章データの直前の該括弧または引用符を「えいごでは」という文章データに置換え、該括弧または引用符で括られた文章データの前に「えいごでは」を追加した形で読上げる方法を提案している。
【特許文献１】特開平９−２５８７６３号公報
【特許文献２】特開平８−２２１０９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、特許文献１で提案されている文字列処理方法を採用した場合、特殊な読み方をする特殊単語であってタグ情報が付加された単語に関しては、従来の文字列処理装置で発生していた、辞書にない語は読めないといった問題や、一意に決定できない語は読誤る可能性があるといった問題は解消されるが、このような文字列処理方法であっても、一般的には、結果が１００％正しいことは保証されないので、必ずしも正しい読み方が得られるとは限らない。また、一般的には、文字列処理は計算機資源の消費が大きく、文字列処理装置が限られた資源しかもたない環境においては、読上げ自体が不可能となる場合があるという問題がある。
【００１７】
また、特許文献２で提案されている文章読上げ方法では、上述のような問題は発生しないが、文章中の括弧内の文章データを読飛ばすことによって情報が欠落するため、意味がわかりにくくなることや意味が通じなくなることや、場合によっては間違った意味となることもあるという問題がある。
【００１８】
たとえば、「ＳＡＲＳ（新型肺炎）」と表記される文章は、「しんがたはいえんさーず」、「しんがたはいえんであるさーず」、または「さーずというしんがたはいえん」等のように、括弧内の文章データの読上げに加えて、文章データの順序を入替えたり、「という」等の文章データを補完したり、文章データの順序を入替えた上に「である」等の文章データを補完したりすることで、より自然な日本語となって、わかりやすい。しかしながら、特許文献２で提案されている文章読上げ方法が採用された場合の読み方は、単に「さーず」となり、文章中の括弧内の文章データが読飛ばされて情報が欠落し、かえって解り難くなってしまう場合もある。
【００１９】
またたとえば、第２従来技術の方法では、「時間：１０：００〜１１：３０（受付：９：４０〜）」と表記される文章は、特許文献２で提案されている文章読上げ方法が採用された場合には、括弧内が省略されて「じかんじゅうじれいふんじゅういちじさんじっぷん」との読み方となり、「９時４０分受付け開始」という情報が欠落してしまう。
【００２０】
またたとえば、「リレーショナルデータベース（ＲＤＢ）」と表記される文章の読み方は、正しくは、「りれーしょなるでーたべーす、りゃくしてあーるでぃーびー」、または「いっぱんてきにあーるでぃーびーとしょうりゃくしてよばれるりれーしょなるでーたべーす」などであるのに対し、特許文献２で提案されている文章読上げ方法が採用された場合、「りれーしょなるでーたべーす、えいごではあーるでぃーびー」との読み方となる。つまり、この場合、「ＲＤＢ」は略称であって、厳密には英語ではなく、むしろ「リレーショナルデータベース」の方が英語であるため、「えいごでは」を補完して読上げることで誤った読み方となってしまう。
【００２１】
本発明では、上記の問題に鑑み、限られた資源においても、明確に文意が伝達される文章の読上げを可能とし、さらに、読上げ用いた文章と同じ文章を表示用に用いることができる文字列処理装置、文字列処理方法、文字列処理プログラム、および文字列処理プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記目的を達成するために、本発明のある局面に従うと、文字列処理装置は、処理対象の文字列の中の、範囲を指定する範囲指定手段と、指定された範囲の文字列に対して、該文字列の読み方と、該文字列との関連とを表わす情報である読上情報を付与する読上情報付与手段と、指定された範囲の文字列に付与されている読上情報を修正する読上情報修正手段とを備える。
【００２３】
また、読上情報付与手段は、指定された範囲の文字列に対して、指定された範囲にない、指示された文字列の読み方を表わす情報である読上情報を付与することが好ましい。
【００２４】
また、文字列処理装置は、読上情報に基づいて、処理対象の文字列を読上げるための情報を生成する生成手段をさらに備えることが好ましい。
【００２５】
また、文字列処理装置は、処理対象の文字列の中の、位置を指定する位置指定手段と、指定された位置に、処理対象の文字列の読上順序を制御する制御情報を挿入する制御情報挿入手段をさらに備えることが好ましい。
【００２６】
さらに、生成手段は、読上情報と制御情報とに基づいて、処理対象の文字列を読上げるための情報を生成することが好ましい。
【００２７】
本発明の他の局面に従うと、文字列処理方法は、処理対象の文字列の中の、範囲を指定する範囲指定ステップと、指定された範囲の文字列に対して、該文字列の読み方と、該文字列との関連とを表わす情報である読上情報を付与する読上情報付与ステップと、指定された範囲の文字列に付与されている読上情報を修正する読上情報修正ステップとを備える。
【００２８】
また、読上情報付与ステップは、指定された範囲の文字列に対して、指定された範囲にない、指示された文字列の読み方を表わす情報である読上情報を付与することが好ましい。
【００２９】
また、文字列処理方法は、読上情報に基づいて、処理対象の文字列を読上げるための情報を生成する生成ステップをさらに備えることが好ましい。
【００３０】
また、文字列処理方法は、処理対象の文字列の中の、位置を指定する位置指定ステップと、指定された位置に、処理対象の文字列の読上順序を制御する制御情報を挿入する制御情報挿入ステップをさらに備えることが好ましい。
【００３１】
さらに、生成ステップは、読上情報と制御情報とに基づいて、処理対象の文字列を読上げるための情報を生成することが好ましい。
【００３２】
本発明のさらに他の局面に従うと、文字列処理プログラムは、文字列処理をコンピュータに実行させるプログラムであって、処理対象の文字列の中の、範囲を指定する範囲指定ステップと、指定された範囲の文字列に対して、該文字列の読み方と、該文字列との関連とを表わす情報である読上情報を付与する読上情報付与ステップと、指定された範囲の文字列に付与されている読上情報を修正する読上情報修正ステップとを実行させる。
【００３３】
本発明のさらに他の局面に従うと、記録媒体はコンピュータ読取可能な記録媒体であって、上述の文字列処理プログラムを記録する。
【発明を実施するための最良の形態】
【００３４】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００３５】
図１は、本実施の形態にかかる文字列処理装置のハードウエア構成を示すブロック図である。
【００３６】
図１を参照して、本実施の形態にかかる文字列処理装置は、文字列処理装置全体の制御を行なうＣＰＵ（Central Processing Unit）１１と、ＣＰＵ１１において実行されるプログラムなどを記録するＲＯＭ（Read Only Memory）１２と、処理対象となる文字列などを記録し、ＣＰＵ１１においてプログラムを実行する際の一時的な作業領域ともなるＲＡＭ（Random Access Memory）１３と、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）やＤＶＤ−ＲＯＭ（Digital Video Disc‐Read Only Memory）などの記録媒体２１から文字列やプログラムを読取る記録媒体読取部１４と、操作キーなどの入力装置で構成されて、ユーザの操作入力を受付ける操作入力部１５と、ディスプレイやスピーカなどの出力装置で構成されて、文字列の表示や音声出力を行なう情報出力部１６とを含んで構成され、それらはバス１７によって接続される。
【００３７】
図１に示される文字列処理装置のハードウエア構成は一般的なパーソナルコンピュータのハードウエア構成と同様であって、本実施の形態にかかる文字列処理装置をパーソナルコンピュータで実現した場合を示している。しかしながら、本実施の形態にかかる文字列処理装置は、図１に示されるように、複数の装置が相互に接続されて実現されてもよいし、パーソナルコンピュータ以外の、たとえば携帯電話装置、ＰＤＡ（Personal Digital Assistants）、テレビジョン受像機、ファクシミリ装置、冷蔵庫や洗濯機などのいわゆる家庭電化製品、およびそれらの装置の一部などで実現されてもよく、その場合、図１に示されるハードウエア構成に加えて、または図１に示されるハードウエア構成の少なくとも一部の構成に替えて、それらの装置に必要な他の構成が含まれてもよい。
【００３８】
図２は、本実施の形態にかかる文字列処理装置における、文字列処理に関する機能構成の具体例を示すブロック図である。図２に示される各機能は、ＣＰＵ１１がＲＯＭ１２などに記憶されるプログラムを実行して図１に示される各部を制御することによって発揮される機能である。
【００３９】
図２を参照して、本実施の形態にかかる文字列処理装置は、操作入力部１５に該当する操作端末２１６からの操作入力に応じて文字列処理装置全体を制御する制御部２１５と、表記文字列２０２、読上情報２０３、および制御情報２０４を記憶する記憶領域２０１と、記憶領域２０１に記憶される読上情報に対する処理を行なう読上情報処理部２０５と、記憶領域２０１に記憶される制御情報に対する処理を行なう制御情報処理部２０６と、記憶領域２０１に記憶される情報から画像データを生成しビデオＲＡＭ２１０に出力する画像生成部２０７と、記憶領域２０１に記憶される情報から音声データを生成し音声キュー２１３に出力する音声合成部２０８と、画像データを情報出力部１６に該当する画像表示装置２１１において表示する制御を行なう描画制御部２０９と、音声データを情報出力部１６に該当する音声再生装置２１４において出力する制御を行なう音声再生制御部２１２とを含んで構成される。
【００４０】
記憶領域２０１は、表記文字列２０２、読上情報２０３、および制御情報２０４を記憶する。表記文字列２０２は表示装置２１１において文字列を表示するための情報であり、読上情報２０３は表記文字列２０２の読上げに必要な情報であって読み方に関する情報であり、制御情報２０４は表記文字列２０２の読上げに必要な情報であって、読上順序を決定するための表記文字列２０２上の位置を指定する情報である。
【００４１】
図２において、表記文字列２０２、読上情報２０３、および制御情報２０４は分離された形式で示されているが、実際の記憶領域２０１内部でのこれらの情報のデータ形式は、簡単な処理で分離可能であるならば、分離されてない一体となった形式で記憶されていてもよい。
【００４２】
制御部２１５は、読上情報処理部２０５と制御情報処理部２０６と画像生成部２０７と音声合成部２０８と描画制御部２０９と音声再生制御部２１２とに接続され、操作端末２１６から入力される操作信号に応じて、それらを制御する制御信号を送出する。
【００４３】
読上情報処理部２０５は、記憶領域２０１に接続されて、制御部２１５からの制御信号にしたがって、表記文字列２０２の読み方に関する情報である読上情報２０３を生成し、表記文字列２０２に付加して記憶領域２０１に記憶する。また、制御部２１５からの制御信号にしたがって、記憶領域２０１に記憶されている読上情報２０３を修正、削除するなどの、読上情報２０３に対する処理を行なう。
【００４４】
読上情報処理部２０６は、記憶領域２０１に接続されて、制御部２１５からの制御信号にしたがって、表記文字列２０２の読上げ順に関する情報である制御情報２０４を生成し、表記文字列２０２に付加して記憶領域２０１に記憶する。また、制御部２１５からの制御信号にしたがって、記憶領域２０１に記憶されている制御情報２０４を修正、削除するなどの、制御情報２０４に対する処理を行なう。
【００４５】
音声合成部２０８は、記憶領域２０１と音声キュー２１３とに接続され、制御部２１５からの制御信号にしたがって、記憶領域２０１に記憶されている読上情報２０３および制御情報２０４を用いて、読上対象である表記文字列２０２の読上音声データである波形データを生成し、音声キュー２１３に送出する。
【００４６】
音声再生制御部２１２は、音声キュー２１３と音声再生装置２１４とに接続され、制御部２１５からの制御信号にしたがって、音声キュー２１３から音声データを読出し、音声再生装置２１４から出力するよう制御する。
【００４７】
画像生成部２０７は、記憶領域２０１とビデオＲＡＭ２１０とに接続され、制御部２１５からの制御信号にしたがって、記憶領域２０１に記憶されている表記文字列２０２を用いて表記文字列画像データを生成し、ビデオＲＡＭ２１０に送出する。
【００４８】
描画制御部２０９は、ビデオＲＡＭ２１０と表示装置２１１とに接続され、制御部２１５からの制御信号にしたがって、ビデオＲＡＭ２１０から画像データを読出し、表示装置２１１から出力するよう制御する。
【００４９】
音声再生制御部２１２での制御と描画制御部２０９との制御とが同時に実行されることで、音声再生装置２１４からの読上げと同期して表示装置２１１での表示を行なうことができる。
【００５０】
図３のフローチャートを用いて、本実施の形態にかかる文字列処理装置における文字列処理について説明する。図３のフローチャートに示される文字列処理は、文字列処理装置のＣＰＵ１１がＲＯＭ１２等に記憶されるプログラムを読出して図１に示される各部を制御し、図２に示される各機能を発揮させることで実現される処理である。
【００５１】
図３を参照して、始めに、文字列処理装置が起動されると、記憶領域２０１に記憶されている表記文字列２０２と読上情報２０３と制御情報２０４とが画像生成部２０７によって読出されて画像データが生成され、描画制御部２０９によって、それらの情報が表示装置２１１に表示される（Ｓ３０１）。
【００５２】
そして、操作端末２１６からのユーザの指示入力を待機する状態となる（Ｓ３０２）。制御部２１５は、操作端末２１６からの操作信号を解析し、ユーザ指示を判断する。
【００５３】
ユーザからの指示入力が表記文字列２０２を修正等、表記文字列２０２に対する編集処理の指示である場合（Ｓ３０２でＹＥＳ、Ｓ３０３でＹＥＳ）、制御部２１５は、図２には示されない表記文字列２０２に対する処理を行なう機能に対して制御信号を送出し、表記文字列２０２の編集を実行させる（Ｓ３０４）。なお、ステップＳ３０４での表記文字列２０２に対する編集処理は、一般的な文字列処理装置における編集方法を採用した処理であって、本発明において限定されるものではない。
【００５４】
そして、ステップＳ３０４での表記文字列２０２の編集処理が終了すると、処理がステップＳ３０１に戻り、処理後の表記文字列２０２と読上情報２０３と制御情報２０４とが表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００５５】
ユーザからの指示入力が読上情報２０３を編集するために表記文字列２０２における所定範囲を指定する指示である場合には（Ｓ３０５でＹＥＳ）、読上情報処理部２０５において、読上情報２０３のうち、該当する範囲の読上情報を編集する処理が実行される（Ｓ３０６）。ステップＳ３０６における読上情報２０３の編集処理については、後にサブルーチンを挙げて説明する。
【００５６】
そして、ステップＳ３０６での読上情報２０３の編集処理が終了すると、処理がステップＳ３０１に戻り、処理後の表記文字列２０２と読上情報２０３と制御情報２０４とが表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００５７】
ユーザからの指示入力が制御情報２０４を編集するために表記文字列２０２における所定位置を指定する指示である場合には（Ｓ３０７でＹＥＳ）、制御情報処理部２０６において、制御情報２０４のうち、該当する位置の制御情報を編集する処理が実行される（Ｓ３０８）。ステップＳ３０８における制御情報２０４の編集処理についても、後にサブルーチンを挙げて説明する。
【００５８】
そして、ステップＳ３０８での制御情報２０４の編集処理が終了すると、処理がステップＳ３０１に戻り、処理後の表記文字列２０２と読上情報２０３と制御情報２０４とが表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００５９】
ユーザからの指示入力が表記文字列２０２の表示の指示である場合（Ｓ３０９でＹＥＳ）、描画制御部２０９において表記文字列２０２を表示装置２１１で表示する文字列描画処理が実行される（Ｓ３１０）。ステップＳ３１０における表記文字列２０２の描画処理についても、後にサブルーチンを挙げて説明する。
【００６０】
そして、ステップＳ３１０において表記文字列２０２が表示装置２１１に表示された後、処理がステップＳ３０１に戻り、処理後の表記文字列２０２と読上情報２０３と制御情報２０４とが表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００６１】
ユーザからの指示入力が表記文字列２０２を読上げる指示である場合（Ｓ３１１でＹＥＳ）、音声再生制御部２１２において表記文字列２０２を音声再生装置２１４から読上げる音声出力処理が実行される（Ｓ３１２）。ステップＳ３１２における表記文字列２０２の音声出力処理についても、後にサブルーチンを挙げて説明する。
【００６２】
そして、ステップＳ３１２において表記文字列２０２が読上げられた後、処理がステップＳ３０１に戻り、処理後の表記文字列２０２と読上情報２０３と制御情報２０４とが表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００６３】
ユーザからの指示入力が処理の終了である場合（Ｓ３１３でＹＥＳ）、一連の処理が終了する。
【００６４】
図４のフローチャートを用いて、上述のステップＳ３０６における読上情報編集処理について説明する。
【００６５】
図４を参照して、始めに、読上情報２０３のうち、ステップＳ３０５で指定された表記文字列２０２の範囲に該当する読上情報を表記文字列２０２と共に表示装置２１１に表示され（Ｓ４０１）、操作端末２１６からのユーザの指示入力を待機する状態となる（Ｓ４０２）。
【００６６】
ユーザからの指示入力が、読上情報２０３を編集する表記文字列２０２の範囲をステップＳ４０１で表示された中からさらに指定する指示である場合（Ｓ４０２でＹＥＳ、Ｓ４０３でＹＥＳ）、処理対象とする範囲が変更されて（Ｓ４０４）、処理がステップＳ４０１に戻り、変更後の指定された表記文字列２０２の範囲に該当する読上情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００６７】
ユーザからの指示入力が、指定された表記文字列２０２の範囲の読み方を新たに追加する指示、つまり指定された表記文字列２０２の範囲の読上情報を読上情報２０３に追加する指示である場合（Ｓ４０５でＹＥＳ）、読上情報処理部２０５において、表記文字列２０２の指定された範囲の読み方に関する読上情報が生成され、読上情報２０３に追加される（Ｓ４０６）。ステップＳ４０６では、操作端末２１６から入力された読み方を表わす情報に基づいて新たな読上情報が生成されてもよいし、図２に示されない辞書機能を備える場合には、該辞書機能によって、該当する範囲の読み方の候補が抽出されて表示装置２１１に選択可能に表示され、操作端末２１６からの選択を受付けて新たな読上情報が生成されてもよい。
【００６８】
ステップＳ４０６の処理が終了すると、処理がステップＳ４０１に戻り、新たに追加された、指定された表記文字列２０２の範囲に該当する読上情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００６９】
ユーザからの指示入力が、指定された表記文字列２０２の範囲の読み方を修正する指示、つまり読上情報２０３のうちの指定された表記文字列２０２の範囲の読上情報を修正する指示である場合（Ｓ４０７でＹＥＳ）、読上情報処理部２０５において、読上情報２０３のうちの指定された範囲の読上情報が修正される（Ｓ４０８）。ステップＳ４０８では、操作端末２１６から入力された読み方の修正内容を表わす情報に基づいて読上情報が修正されてもよいし、図２に示されない辞書機能を備える場合には、該辞書機能によって、該当する範囲の異なる読み方の候補が抽出されて表示装置２１１に選択可能に表示され、操作端末２１６からの選択を受付けて読上情報が修正されてもよい。
【００７０】
ステップＳ４０８の処理が終了すると、処理がステップＳ４０１に戻り、修正後の指定された表記文字列２０２の範囲に該当する読上情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００７１】
ユーザからの指示入力が、指定された表記文字列２０２の範囲を読飛ばす、または平仮名、片仮名のまま読ませるために読み方を削除する指示、つまり読上情報２０３のうちの指定された表記文字列２０２の範囲の読上情報を削除する指示である場合（Ｓ４０９でＹＥＳ）、読上情報処理部２０５において、読上情報２０３のうちの指定された範囲の読上情報が削除される（Ｓ４１０）。
【００７２】
ステップＳ４１０の処理が終了すると、処理がステップＳ４０１に戻り、読上情報が削除された表記文字列２０２が表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００７３】
ユーザからの指示入力が、読上情報編集処理の終了である場合（Ｓ４１１でＹＥＳ）、一連の処理が終了し、読上情報２０３に編集結果が反映されて記憶領域２０１に記憶され（Ｓ４１２）、図３のメインルーチンに処理が戻る。
【００７４】
ユーザからの指示入力が、読上情報編集処理の中断である場合には（Ｓ４１１でＮＯ、Ｓ４１３でＹＥＳ）、読上情報編集処理での変更は破棄され、図３のメインルーチンに処理が戻る。
【００７５】
ユーザからの指示入力が上述以外の入力である場合は、何も行なわずに、処理がステップＳ４０１に戻り、読上情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００７６】
図５のフローチャートを用いて、上述のステップＳ３０８における制御情報編集処理について説明する。
【００７７】
図５を参照して、始めに、制御情報２０４のうち、ステップＳ３０７で指定された表記文字列２０２上の所定位置にポインタが設定され（Ｓ５０１）、制御情報２０４のうちのその位置に設定されている制御情報が表記文字列２０２と共に表示装置２１１に表示されて（Ｓ５０２）、操作端末２１６からのユーザの指示入力を待機する状態となる（Ｓ５０３）。
【００７８】
ユーザからの指示入力が、制御情報２０４を編集する表記文字列２０２上の位置であるポインタ位置をステップＳ５０２で表示された位置からさらに移動させる指示である場合（Ｓ５０３でＹＥＳ、Ｓ５０４でＹＥＳ）、指定された位置にポインタが再設定されて（Ｓ５０５）、処理がステップＳ５０２に戻り、変更後のポインタ位置に制御情報が設定されている場合には、表記文字列２０２と共にその制御情報が表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００７９】
ユーザからの指示入力が、指定されたポインタ位置に制御情報を新たに追加する指示である場合（Ｓ５０６でＹＥＳ）、制御情報処理部２０６において、指定されたポイント位置に新たな制御情報が生成され、表記文字列２０２の指定位置に挿入される（Ｓ５０７）。ステップＳ５０７では、操作端末２１６から入力された制御内容に基づいて新たな制御情報を生成するなどの方法が挙げられる。
【００８０】
ステップＳ５０７の処理が終了すると、処理がステップＳ５０２に戻り、新たに挿入された制御情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００８１】
ユーザからの指示入力が、制御情報２０４のうち、指定されたポインタ位置に設定されている制御情報を削除する指示である場合（Ｓ５０８でＹＥＳ）、制御情報処理部２０６において、指定されたポイント位置に設定されている制御情報が削除される（Ｓ５０９）。
【００８２】
ステップＳ５０９の処理が終了すると、処理がステップＳ５０２に戻り、制御情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００８３】
ユーザからの指示入力が、制御情報編集処理の終了である場合（Ｓ５１０でＹＥＳ）、一連の処理が終了し、制御情報２０４に編集結果が反映されて記憶領域２０１に記憶され（Ｓ５１１）、図３のメインルーチンに処理が戻る。
【００８４】
ユーザからの指示入力が、制御情報編集処理の中断である場合には（Ｓ５１０でＮＯ、Ｓ５１２でＹＥＳ）、制御情報編集処理での変更は破棄され、図３のメインルーチンに処理が戻る。
【００８５】
ユーザからの指示入力が上述以外の入力である場合は、何も行なわずに、処理がステップＳ５０２に戻り、制御情報が表記文字列２０２と共に表示装置２１１に表示され、再び、操作端末２１６からの指示入力を待機する状態となる。
【００８６】
図６のフローチャートを用いて、上述のステップＳ３１０における表記文字列描画処理について説明する。
【００８７】
上述のステップＳ３０９において表記文字列２０２の描画が指示されると、画像生成部２０７において、記憶領域２０１の中から表記文字列２０２が抽出されて（Ｓ６０１）、画像データに変換される（Ｓ６０２）。そして、画像データはビデオＲＡＭ２１０に書込まれ（Ｓ６０３）、描画制御部２０９によって、表示装置２１１に表示される（Ｓ６０４）。
【００８８】
図７のフローチャートを用いて、上述のステップＳ３１２における音声出力処理について説明する。
【００８９】
上述のステップＳ３１１において表記文字列２０２の読上げが指示されると、音声合成部２０８において、記憶領域２０１の中から表記文字列２０２の読上情報２０３と制御情報２０４とが抽出されて（Ｓ７０１）、これらの情報に基づいて表記文字列２０２全体の読み方を表わす情報が生成され、波形データである音声データに変換される（Ｓ７０２）。そして、音声データは音声キュー２１３に入力され（Ｓ７０３）、音声再生制御部２１２によって、音声再生装置２１４から出力される（Ｓ７０４）。
【００９０】
以降、記憶領域２０１に記憶される表記文字列２０２、読上情報２０３、および制御情報２０４の具体例を用いて、本実施の形態にかかる文字列処理装置における文字列処理について具体的な説明を行なう。
【００９１】
本実施の形態において、記憶領域２０１内部で、表記文字列２０２、読上情報２０３、および制御情報２０４のデータ形式は分離可能な一体となったデータ形式であるものとする。
【００９２】
具体的には、表記文字列２０２は、分離可能に一体に記述されているデータのうちの、通常の文字列の記述部分であるものとする。
【００９３】
読上情報２０３は、分離可能に一体に記述されているデータのうちの、記号「＜＄」と記号「＄＞」とで囲まれた記述部分であるものとし、具体的には、図８に示される記述形式で記述される部分であるものとする。
【００９４】
すなわち、図８を参照して、表記文字列２０２のうち、平仮名での記述部分と片仮名での記述部分とは、そのまま読上情報２０３としても用いるものとする。
【００９５】
たとえば、図９の記述例１に示されるように、表記文字列２０２が平仮名での記述部分と片仮名での記述部分とから構成される文字列「イントラネットでおねがいします」であるとき、該記述がそのままの読上情報２０３として用いられ、ステップＳ３１２においては、「いんとらねっとでおねがいします」との読上げが実行される。
【００９６】
表記文字列２０２のうち漢字や記号等の記述部分はそのまま読上情報２０３として用いることができない。そこで、該記述部分について、「＜＄Ａ（文字列）；Ｂ（数字）＄＞」なる記述形式の読上情報２０３が生成され、表記文字列２０２の該当記述部分の直前に挿入される。
【００９７】
記述形式「＜＄Ａ（文字列）；Ｂ（数字）＄＞」である読上情報２０３は、読み方を表わす文字列「Ａ」と、表記文字列２０２との関連情報である数字「Ｂ」とから構成されて、以降に続く表記文字列２０２の数字「Ｂ」分の文字の読み方が文字列「Ａ」であることを表わす。このように、読上情報が、読み方を表わす文字とその読み方をする表記文字列中の文字数とを対にして含むことで、表記文字列と読み方に関する情報とが関連付けられる。なお、読上情報２０３は、読み方を表わしている表記文字列２０２中の文字（または文字列）との対応が明らかであれば、その記述形式は上述の形式や以降に具体例が示される形式には限定されない。
【００９８】
たとえば、図９の記述例２に示されるように、表記文字列２０２が漢字の記述で構成される文字列「日本語」であるとき、記述部分はそのまま読上情報２０３として用いることができずに、ステップＳ３１２での読上げが実行されない。
【００９９】
そこで、上述のステップＳ３０５において、表示装置２１１に表示された表記文字列２０２「日本語」の全範囲が指定されて、上述のステップＳ４０５で読上情報の追加（新規作成）の指示を受付け、上述のステップＳ４０６では「＜＄にほんご；３＄＞」である読上情報２０３が生成されて表記文字列２０２「日本語」に追加され、記憶領域２０１には「＜＄にほんご；３＄＞日本語」と記述されたデータが記憶される。
【０１００】
なお、上述のステップＳ４０５では読上情報の追加が指示されたとき、文字列処理装置が図２に示されない辞書機能を備える場合には、該辞書機能によって文字列「日本語」の読み方の候補が抽出されて表示装置２１１に選択可能に表示され、操作端末２１６からの選択を受付けて、ステップＳ４０６で読上情報２０３「＜＄にほんご；３＄＞」が生成されてもよい。また、上述のステップＳ４０５で読み方「にほんご」の入力と共に読上情報の追加の指示を操作端末２１６から受付けて、ステップＳ４０６で読上情報２０３「＜＄にほんご；３＄＞」が生成されてもよい。
【０１０１】
このような読上情報２０３が生成されることで、ステップＳ３１２で読上げが指示された場合、ステップＳ７０１においてデータ「＜＄にほんご；３＄＞日本語」から読上情報２０３「＜＄にほんご；３＄＞」が抽出されて、ステップＳ７０２で波形データである音声データに変換され、ステップＳ７０４において「にほんご」との読上げが実行される。
【０１０２】
また、図９の記述例３に示されるように、表記文字列２０２が漢字の記述部分と平仮名の記述部分とから構成される文字列「日本語を学習する」であるとき、平仮名の記述部分である文字「を」と文字列「する」とはそのまま読上情報として用いられるが、漢字の記述部分である文字列「日本語」と文字列「学習」とはそのまま読上情報２０３として用いることができずに、ステップＳ３１２において、該文字列全体の読上げが実行されない。
【０１０３】
そこで、表記文字列２０２「日本語を学習する」のうち、文字列「日本語」，「学習」の各範囲についての上述の処理が繰返されることで、上述のステップＳ４０６では読上情報２０３「＜＄にほんご；３＄＞」，「＜＄がくしゅう；２＄＞」が生成されて表記文字列２０２「日本語を学習する」に追加され、記憶領域２０１には「＜＄にほんご；３＄＞日本語を＜＄がくしゅう；２＄＞学習する」と記述されたデータが記憶される。
【０１０４】
このような読上情報２０３が生成されることで、ステップＳ３１２で読上げが指示された場合、ステップＳ７０１において、データ「＜＄にほんご；３＄＞日本語を＜＄がくしゅう；２＄＞学習する」から、読上情報２０３「＜＄にほんご；３＄＞」，「を」，「＜＄がくしゅう；２＄＞」，「する」が抽出されて、ステップＳ７０２で音声データに変換され、ステップＳ７０４において「にほんごをがくしゅうする」との読上げが実行される。
【０１０５】
また、上述のステップＳ３０９で表示が指示された場合には、ステップＳ６０１において、データ「＜＄にほんご；３＄＞日本語を＜＄がくしゅう；２＄＞学習する」から、読上情報２０３「＜＄にほんご；３＄＞」，「＜＄がくしゅう；２＄＞」を除いた表記文字列２０２が抽出されて、ステップＳ６０２で画像データに変換され、ステップＳ６０４において、表示装置２１１に、表記文字列２０２「日本語を学習する」が表示される。
【０１０６】
また、図９の記述例４に示されるように、表記文字列２０２が記号の記述部分と数字の記述部分と漢字の記述部分とから構成される文字列「１２／２５（木）」であるときにも、各記述部分はそのまま読上情報２０３として用いることができずに、ステップＳ３１２において読上げが実行されない。
【０１０７】
このような表記文字列２０２のうち、文字列「１２」，「２５」，「木」の各範囲について、通常の読み方の指示を受付けて上述の処理が繰返されることで、上述のステップＳ４０６では、読上情報２０３「＜＄じゅうに；２＄＞」，「＜＄にじゅうご；２＄＞」，「＜＄もく；１＄＞」が生成されて表記文字列２０２「１２／２５（木）」に追加され、記憶領域２０１には「＜＄じゅうに；２＄＞１２／＜＄にじゅうご；２＄＞２５（＜＄もく；１＄＞木）」と記述されたデータが記憶される。
【０１０８】
しかしながら、このような読上情報２０３が生成された場合、ステップＳ７０４では「じゅうににじゅうごもく」との読上げが実行され、不自然で明確に文意が伝達されない。そこで、読み方を自然にして明確に文意を伝達するために、記述例３に示される表記文字列２０２の場合、さらに、文字列「１２」，「２５」，「木」について、各々、表記文字列２０２に含まれない「がつ」，「にち」，「ようび」なる読み方を補完することが好ましい。
【０１０９】
この場合、上述のステップＳ３０５で、表記文字列２０２「１２／２５（木）」のうち、文字列「１２」，「２５」，「木」の各範囲が指定されステップＳ４０７で上述の読上情報の修正の指示を受付け、上述のステップＳ４０８では、操作端末２１６からの入力に基づいて、上述の読上情報２０３「＜＄じゅうに；２＄＞」，「＜＄にじゅうご；２＄＞」，「＜＄もく；１＄＞」を読上情報２０３「＜＄じゅうに．がつ；２＄＞」，「＜＄にじゅうご．にち；２＄＞」，「＜＄もく．ようび；１＄＞」に修正する処理が実行される。そして、生成された読上情報２０３が表記文字列２０２「１２／２５（木）」に追加され、記憶領域２０１には「＜＄じゅうに．がつ；２＄＞１２／＜＄にじゅうご．にち；２＄＞２５（＜＄もく．ようび；１＄＞木）」と記述されたデータが記憶される。
【０１１０】
上述の記述形式「＜＄Ａ（文字列）．Ｃ（文字列）；Ｂ（数字）＄＞」である読上情報２０３は、読み方を表わす文字列「Ａ」と、読み方を表わす文字列「Ｃ」と、表記文字列２０２との関連情報である数字「Ｂ」とから構成されて、以降に続く表記文字列２０２の数字「Ｂ」分の文字の読み方が文字列「Ａ」であり、さらに、表記文字列２０２との関連情報と対応付けられていない文字列「Ｃ」である読み方が文字列「Ａ」である読み方に補完されることを表わす。
【０１１１】
ステップＳ４０８では、操作端末２１６から補完するべき文字列「Ｃ」の入力を受付けて、ステップＳ３０５で指定された範囲の読上情報「＜＄Ａ（文字列）；Ｂ（数字）＄＞」に、かかる文字列を補完して「＜＄Ａ（文字列）．Ｃ（文字列）；Ｂ（数字）＄＞」なる読上情報に修正する処理が実行される。
【０１１２】
このように読上情報２０３が修正されることで、ステップＳ３１２で読上げが指示された場合、ステップＳ７０１において、データ「＜＄じゅうに．がつ；２＄＞１２／＜＄にじゅうご．にち；２＄＞２５（＜＄もく．ようび；１＄＞木）」から、読上情報２０３「＜＄じゅうに．がつ；２＄＞」，「＜＄にじゅうご．にち；２＄＞」，「＜＄もく．ようび；１＄＞」が抽出されて、ステップＳ７０２で音声データに変換され、ステップＳ７０４において「じゅうにがつにじゅうごにちもくようび」との読上げが実行される。つまり、このように読上情報２０３が修正されることで、表記文字列の読み方が自然になり、明確に文意を伝達することが可能になる。
【０１１３】
また、上述のステップＳ３０９に表示が指示された場合には、ステップＳ６０１において、データ「＜＄じゅうに．がつ；２＄＞１２／＜＄にじゅうご．にち；２＄＞２５（＜＄もく．ようび；１＄＞木）」から、読上情報２０３「＜＄じゅうに．がつ；２＄＞」，「＜＄にじゅうご．にち；２＄＞」，「＜＄もく．ようび；１＄＞」を除いた表記文字列２０２「１２／２５（木）」が抽出されて、ステップＳ６０２で画像データに変換され、ステップＳ６０４において、表示装置２１１に、表記文字列２０２「１２／２５（木）」が表示される。つまり、このように読上情報２０３が含まれたデータが生成されることで、読上げと表示とに同じデータを用いることが可能になり、限られた資源しか備えられていない文字列処理装置であっても、文字列処理が可能になる。
【０１１４】
なお、図９の記述例５についても、上述の記述例４に対する読上情報の追加処理および修正処理と同様の処理が実行されることが好ましい。
【０１１５】
また、表記文字列２０２が図９の記述例６に示されるような片仮名の記述部分と記号の記述部分とアルファベットの記述部分とから構成される文字列「リレーショナルデータベース（ＲＤＢ）」であるときにも、アルファベットの記述部分はそのまま読上情報２０３として用いることができずに、ステップＳ３１２において該文字列全体の読上げが実行されない。
【０１１６】
このような表記文字列２０２に対して、通常の読み方の指示を受付けて上述の処理と同様の処理が読上情報の追加（新規作成）処理が実行されると、読上情報２０３「＜＄あーるでぃーびー；３＄＞」が生成され、記憶領域２０１に「リレーショナルデータベース（＜＄あーるでぃーびー；３＄＞ＲＤＢ）」と記述されたデータが記憶される。
【０１１７】
しかしながら、このような読上情報２０３が生成された場合、ステップＳ７０４では「りれーしょなるでーたべーす、あーるでぃーびー」との読上げが実行され、不自然で明確に文意が伝達されない。そこで、表記文字列２０２に含まれない「りゃくして」なる読み方を追加するために、上述のステップＳ３０５で、表記文字列２０２「リレーショナルデータベース（ＲＤＢ）」のうち、文字列「ＲＤＢ」の範囲が指定されてステップＳ４０６で読上情報の追加の指示を受付け、上述のステップＳ４０６では、操作端末２１６からの入力に基づいて、新たな読上情報２０３「＜＄りゃくして＄＞」をその直前の位置に追加する処理が実行されることが好ましい。
【０１１８】
この処理が実行されることで、新たに生成された読上情報２０３が表記文字列２０２に追加され、記憶領域２０１には「リレーショナルデータベース（＜＄りゃくして＄＞＜＄あーるでぃーびー；３＄＞ＲＤＢ）」と記述されたデータが記憶される。
【０１１９】
上述の記述形式「＜＄Ａ（文字列）＄＞」である読上情報２０３は、表記文字列２０２との関連情報と対応付けられていない、読み方を表わす文字列「Ａ」から構成されて、表記文字列２０２に存在しない、その部分に適当な文字の文字列「Ａ」である読み方が追加されることを表わす。つまり、表記文字列２０２に表記されていない文字の読み方であることを表わしている。
【０１２０】
ステップＳ４０６では、操作端末２１６から追加するべき文字列「Ａ」の入力を受付けて、ステップＳ３０５で指定された表記文字列２０２中の所定範囲の文字列の直後に、かかる文字列である読み方を追加するための読上情報「＜＄Ａ（文字列）＄＞」を追加する処理が実行される。
【０１２１】
なお、上述の文字列「Ａ」のような、表記文字列２０２中に該読み方と関連付けられる文字が存在しない、自然な読み方とするために追加された読み方については、関連付けられる文字が表記文字列２０２中に存在しないことがわかるような記述であれば、その記述形式は上述の形式には限定されない。
【０１２２】
このように新たな読上情報が追加されることで、ステップＳ３１２で読上げが指示された場合、ステップＳ７０１において、データ「リレーショナルデータベース（＜＄りゃくして＄＞＜＄あーるでぃーびー；３＄＞ＲＤＢ）」から、読上情報２０３「リレーショナルデータベース」，「＜＄りゃくして＄＞」，「＜＄あーるでぃーびー；３＄＞」が抽出されて、ステップＳ７０２で音声データに変換され、ステップＳ７０４において「りれーしょなるでーたべーす、りゃくしてあーるでぃーびー」との読上げが実行される。つまり、このように新たな読上情報が追加されることで、表記文字列の読み方が自然になり、明確に文意を伝達することが可能になる。
【０１２３】
制御情報２０４は、分離可能に一体に記述されているデータのうちの、記号「＜＃」と記号「＃＞」とで囲まれた記述部分であるものとし、具体的には、図１０に示される記述形式で記述される部分であるものとする。ここで、各制御情報には、固有の識別情報であるラベルが割振られているものとする。
【０１２４】
すなわち、図１０を参照して、「＜＃Ｄ（文字）＃＞」なる記述形式の制御情報は、表記文字列２０２上のその位置に、ラベル「Ｄ」で表わされる制御情報Ｄが設定されていることを表わす。
【０１２５】
たとえば、図９の記述例７に示されるように、表記文字列２０２が文字列「新たにＳＡＲＳ（新型肺炎）が見つかりました」であるとき、通常の読み方の指示を受付けて上述の読上情報の編集（新規追加）処理が実行されると、「＜＄あら；１＄＞新たに＜＄さーず；４＄＞ＳＡＲＳ（＜＄しんがた；２＄＞新型＜＄はいえん；２＄＞肺炎）が＜＄み；１＄＞見つかりました」と記述されたデータが生成されて記憶領域２０１に記憶される。
【０１２６】
しかしながら、このような読上情報２０３が追加されたデータについてステップＳ３１２で音声出力処理が実行されると、ステップＳ７０４では「あらたにさーずしんがたはいえんがみつかりました」と音声出力され、読上順序が不自然なために明確に文意が伝達されない。そこで、読上順序を自然にして明確に文意を伝達するために、上述のステップＳ３０７で、表記文字列２０２のうち、順方向に読上げを行なった際にジャンプするジャンプ元の位置である文字列「ＳＡＲＳ」の直前の位置の指定と、ステップＳ５０６で、制御情報の追加の指示とを受付け、ステップＳ５０７で、指定されたジャンプ元の位置に、新たな制御情報「＜＃ａ：ｂ＃＞」を追加する処理が実行されることが好ましい。同様の処理が繰返されて、さらに、文字列「新型」の直前の位置と文字「が」の直前の位置とに、新たな制御情報「＜＃ｂ：ｃ＃＞」，「＜＃ｃ：ａ＃＞」を追加する処理が実行されることが好ましい。
【０１２７】
この処理が実行されることで、新たに生成された制御情報２０４が表記文字列２０２に追加され、記憶領域２０１には、「＜＄あら；１＄＞新たに＜＃ａ：ｂ＃＞＜＄さーず；４＄＞ＳＡＲＳ＜＃ｂ：ｃ＃＞（＜＄しんがた；２＄＞新型＜＄はいえん；２＄＞肺炎）＜＃ｃ：ａ＃＞が＜＄み；１＄＞見つかりました」と記述されたデータが記憶される。
【０１２８】
上述の記述形式「＜＃Ｄ（文字）：Ｅ（文字）＃＞」である制御情報２０４は、その位置に設定される制御情報を表わすラベル「Ｄ」と、この位置からのジャンプ先として該当する位置に設定される制御情報を表わすラベル「Ｅ」とから構成されて、その位置にラベル「Ｄ」で表わされる制御情報Ｄが設定され、表記文字列２０２を順方向に読み進めてこの記述位置に到達したときにラベル「Ｅ」で表わされる制御情報Ｅが設定されている位置までジャンプするという読上順序を表わす。
【０１２９】
具体的には、上述の制御情報２０４は、
１．先頭からラベル「ａ」で表わされる制御情報ａまで読み進める、
２．制御情報ａに到達するとでラベル「ｂ」で表わされる制御情報ｂにジャンプする、
３．制御情報ｂからラベル「ｃ」で表わされる制御情報ｃまで読み進める、
４．制御情報ｃに到達すると制御情報ａにジャンプする、
５．制御情報ａから制御情報ｂまで読み進める、
６．制御情報ｂに到達すると制御情報ｃにジャンプする、
７．制御情報ｃから最後まで読み進める、
という表記文字列２０２の読上順序を表わしている。
【０１３０】
ステップＳ５０６では、操作端末２１６から、追加する制御情報に付与するラベル名である文字列「Ｄ」と、ジャンプ先に指定する制御情報のラベル名である文字列「Ｅ」との入力を受付けて、ステップＳ３０５で指定されたジャンプ元である表記文字列２０２中の所定範囲の文字列の直後に、制御情報「＜＃Ｄ（文字）：Ｅ（文字）＃＞」を追加する処理が実行される。
【０１３１】
なお、上述のステップＳ５０６では、制御情報の挿入が指示されたとき、ラベル名の文字列を入力するかわりに、自動的に生成された文字列を追加する制御情報のラベル名として使用してもよく、明示的にラベルを指定した場合は指定したラベルを用い、指定がなければ自動的に生成された文字列を使用してもよい。また、上述のステップＳ５０６で、ジャンプ先のポインタ位置を指定することでジャンプ先ラベルを入力してもよい。その際、指定したジャンプ先に制御情報が存在しない場合、新たにジャンプ先に制御情報を挿入してもかまわない。この方法を用いると、上述の例の制御情報を挿入するためのひとつの方法は、
１．ステップＳ５０４にて、ａの位置にポインタを設定する、
２．ステップＳ５０６にて、ａの位置に制御情報を挿入する、
ここのラベル文字列として「ａ」を指定する、
３．「ａ」からのジャンプ先として、ｂの位置を指定する、
４．ｂの位置には制御情報が存在しないので、ｂの位置に制御情報が挿入される、
ここのラベル文字列として「ｂ」を指定する、
５．「ｂ」からのジャンプ先として、ｃの位置を指定する、
６．ｃの位置には制御情報が存在しないので、ｃの位置に制御情報が挿入される、
ここのラベル文字列として「ｃ」を指定する、
７．「ｃ」からのジャンプ先として、ａの位置を指定する、
ａの位置にはラベル「ａ」がつけられた制御情報が存在するので、ジャンプ先として、ラベル「ａ」がつけられた制御情報の位置が指定される、
である。こうすることで、３つの制御情報＜＃ａ：ｂ＃＞、＜＃ｂ：ｃ＃＞、＜＃ｃ：ａ＃＞を挿入することができる。
【０１３２】
上述の例においては、第１の制御情報（制御情報ａ）が表わすジャンプ先の第２の制御情報（制御情報ｂ）に、さらにジャンプ先の第３の制御情報（制御情報ｃ）が表わされているが、第１の制御情報（制御情報ａ）から第２の制御情報（制御情報ｂ）にジャンプした場合、次のジャンプ先である第３の制御情報（制御情報ｃ）にはジャンプせず、第２の制御情報（制御情報ｂ）から読上げるものとする。
【０１３３】
このように新たな制御情報が追加されることで、ステップＳ３１２で読上げが指示された場合、ステップＳ７０１において、データ「＜＄あら；１＄＞新たに＜＃ａ：ｂ＃＞＜＄さーず；４＄＞ＳＡＲＳ＜＃ｂ：ｃ＃＞（＜＄しんがた；２＄＞新型＜＄はいえん；２＄＞肺炎）＜＃ｃ：ａ＃＞が＜＄み；１＄＞見つかりました」から、読上情報２０３「＜＄あら；１＄＞」，「たに」，「＜＄さーず；４＄＞」，「＜＄しんがた；２＄＞」，「＜＄はいえん；２＄＞」，「が」，「＜＄み；１＄＞」，「つかりました」と、制御情報２０４「＜＃ａ：ｂ＃＞」，「＜＃ｂ：ｃ＃＞」，「＜＃ｃ：ａ＃＞」とが抽出されて、ステップＳ７０２で、その制御情報２０４にしたがった音声データに変換され、ステップＳ７０４において「あらたにしんがたはいえんさーずがみつかりました」との読上げが実行される。つまり、このような制御情報が追加されることで表記文字列の読上順序が変更されて読み方が自然になり、明確に文意を伝達することが可能になる。
【０１３４】
たとえば、表記文字列２０２が、図９の記述例８に示されるような文字列「日時：１２／２５（木）」に対して、通常の読み方の指示を受付けて上述の読上情報の編集（新規追加）処理が実行されると、「＜＄にちじ．は；２＄＞日時：＜＄じゅうに．がつ；２＄＞１２／＜＄にじゅうご．にち；２＄＞２５（＜＄もく．ようび；１＄＞木）＜＄です；０＄＞」と記述されたデータが生成されて記憶領域２０１に記憶される。
【０１３５】
このような読上情報２０３が追加されることで、ステップＳ７０４で「にちじは、じゅうにがつにじゅうごにちくようびです」と音声出力され、明確に文意を伝達させることが可能であるが、さらに、上述の表記文字列２０２のうち、日時を示す文字列の読上げを複数回繰返すことで、より明確に文意を伝達させることが可能となる。
【０１３６】
この場合、上述のステップＳ３０７で、読上げを繰返す位置として文字列「木）」の直後の位置と、繰返す回数とが指定されて、ステップＳ５０６で制御情報の追加の指示を受付け、ステップＳ５０７では、かかる位置に読上げを繰返させるための制御情報を追加する処理が実行されることが好ましい。
【０１３７】
この処理が実行されることで、新たな制御情報「＜＃ｂ：２＊ａ＃＞」が表記文字列２０２に追加され、記憶領域２０１には「＜＄にちじ．は；２＄＞日時：＜＄じゅうに．がつ；２＄＞１２／＜＄にじゅうご．にち；２＄＞２５（＜＄もく．ようび；１＄＞木）＜＃ｂ：２＊ａ＃＞＜＄です；０＄＞」と記述されたデータが記憶される。
【０１３８】
上述の記述形式「＜＃Ｄ（文字）：Ｆ（数字）＊Ｅ（文字）＃＞」である制御情報２０４は、その位置に設定される制御情報を表わすラベル「Ｄ」と、この位置からのジャンプ先として該当する位置に設定される制御情報を表わすラベル「Ｅ」と、ジャンプを行なう回数を表わす数字「Ｆ」とから構成されて、表記文字列２０２を順方向に読み進めてこの記述位置に到達したときに、ラベル「Ｅ」で表わされる制御情報Ｅが設定されている位置までジャンプすることを、数字「Ｆ」で指定される回数繰返し、数字「Ｆ」で指定される回数繰返した後に、表記文字列２０２を順方向に読み進める、という読上順序を表わす。
【０１３９】
具体的には、上述の制御情報２０４は、
１．先頭からラベル「ｂ」で表わされる制御情報ｂまで読み進める、
２．制御情報ｂに到達するとでラベル「ａ」で表わされる制御情報ａにジャンプする、
３．制御情報ａから最後まで読み進める、
という表記文字列２０２の読上順序を表わしている。
【０１４０】
ステップＳ５０６では、操作端末２１６から追加する制御情報に付与するラベル名である文字列「Ｄ」と、ジャンプ先に指定する制御情報のラベル名である文字列「Ｅ」と、ジャンプを行なう回数である数字「Ｆ」との入力を受付けて、ステップＳ３０５で指定されたジャンプ元である表記文字列２０２中の所定範囲の文字列の直後に、制御情報「＜＃Ｄ（文字）：Ｆ（数字）＊Ｅ（文字）＃＞」を追加する処理が実行される。
【０１４１】
なお、上述のステップＳ５０６では、制御情報の挿入が指示されたとき、ラベル名の文字列を入力するかわりに、自動的に生成された文字列を追加する制御情報のラベル名として使用してもよく、明示的にラベルを指定した場合は指定したラベルを用い、指定がなければ自動的に生成された文字列を使用してもよい。また、上述のステップＳ５０６で、ジャンプ先のポインタ位置を指定することでジャンプ先ラベルを入力してもよい。その際、指定したジャンプ先に制御情報が存在しない場合、新たにジャンプ先に制御情報を挿入してもかまわない。この方法を用いると、上述の例の制御情報を挿入するためのひとつの方法は、
１．ステップＳ５０４にて、ｂの位置にポインタを設定する、
２．ステップＳ５０６にて、ｂの位置に制御情報を挿入する、
ここのラベル文字列として「ｂ」を指定する、
３．「ｂ」からのジャンプ先として、ａの位置を指定する、
４．ａの位置には制御情報が存在しないので、ａの位置に制御情報が挿入される、
ここのラベル文字列として「ａ」を指定する、
５．「ｂ」から「ａ」へジャンプする回数「２」を指定する、
である。上記「３」「４」と「５」の順序は逆でもかまわない。こうすることで、２つの制御情報＜＃ａ＃＞、＜＃ｂ：２＊ａ＃＞を挿入することができる。
【０１４２】
上述の例においては、２度目に制御情報ｂに到達した時点で指定された繰返し回数に達するため、制御情報ａにジャンプしない。
【０１４３】
このように新たな制御情報が追加されることで、ステップＳ３１２で読上げが指示された場合、ステップＳ７０１において、データ「＜＄にちじ．は；２＄＞日時：＜＃ａ＃＞＜＄じゅうに．がつ；２＄＞１２／＜＄にじゅうご．にち；２＄＞２５（＜＄もく．ようび；１＄＞木）＜＃ｂ：２＊ａ＃＞＜＄です；０＄＞」から、読上情報２０３「＜＄にちじ．は；２＄＞」，「＜＄じゅうに．がつ；２＄＞」，「＜＄にじゅうご．にち；２＄＞」，「＜＄もく．ようび；１＄＞」，「＜＄です；０＄＞と、制御情報２０４「＜＃ａ＃＞」，「＜＃ｂ：２＊ａ＃＞」とが抽出されて、ステップＳ７０２で、その制御情報２０４にしたがった音声データに変換され、ステップＳ７０４において「にちじは、じゅうにがつにじゅうごにちもくようび、じゅうにがつにじゅうごにちもくようびです」との読上げが実行される。つまり、このような制御情報が追加されることで表記文字列のうちの指定された範囲の読上げが、指定回数繰返されて、より明確に文意を伝達することが可能になる。
【０１４４】
以上のように、本実施の形態にかかる文字列処理装置は、任意の文字列に対して読上情報を付加し、制御情報を埋込む。そして、読上情報と制御情報とから表記文字列の読上げを実行する。特に、ディジタルコンテンツとして文書データの配布や配信を行なう際などに、読上結果に高い精度が求められることが多く、そのような際に、人手で、読上情報の付加や修正を行なうときに、本実施の形態にかかる文字列処理装置が特に有効に活用され得る。
【０１４５】
さらに、上述の文字列処理装置で実行される文字列処理方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１４６】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１４７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１４８】
【図１】本実施の形態にかかる文字列処理装置のハードウエア構成を示すブロック図である。
【図２】本実施の形態にかかる文字列処理装置における、文字列処理に関する機能構成の具体例を示すブロック図である。
【図３】本実施の形態にかかる文字列処理装置における文字列処理を示すフローチャートである。
【図４】ステップＳ３０６における読上情報編集処理を示すフローチャートである。
【図５】ステップＳ３０８における制御情報編集処理を示すフローチャートである。
【図６】ステップＳ３１０における表記文字列描画処理を示すフローチャートである。
【図７】ステップＳ３１２における音声出力処理を示すフローチャートである。
【図８】読上情報２０３の記述形式の具体例を示す図である。
【図９】データの記述と表記文字列２０２と読み方との具体例を示す図である。
【図１０】制御情報２０４の記述形式の具体例を示す図である。
【符号の説明】
【０１４９】
１１  ＣＰＵ、１２  ＲＯＭ、１３  ＲＡＭ、１４  記録媒体読取部、１５  操作入力部、１６  情報出力部、２１  記録媒体、２０１  記憶領域、２０２  表記文字列、２０３  読上情報、２０４  制御情報、２０５  読上情報処理部、２０６  制御情報処理部、２０７  画像生成部、２０８  音声合成部、２０９  描画制御部、２１０  ビデオＲＡＭ、２１１  表示装置、２１２  音声再生制御部、２１３  音声キュー、２１４  音声再生装置、２１５  制御部、２１６  操作端末。
【図１】
2006098991.tif 000003
【図２】
2006098991.tif 000004
【図３】
2006098991.tif 000005
【図４】
2006098991.tif 000006
【図５】
2006098991.tif 000007
【図６】
2006098991.tif 000008
【図７】
2006098991.tif 000009
【図８】
2006098991.tif 000010
【図９】
2006098991.tif 000011
【図１０】
2006098991.tif 000012