(57)【要約】【課題】音声合成装置で利用される単語辞書に単語の適切な表音文字列を登録できる単語辞書登録用コンピュータプログラムを提供する。【解決手段】単語辞書登録用コンピュータプログラムは、単語辞書に登録しようとする単語の読み仮名のうち、その単語の漢字仮名表記に含まれる何れの漢字の単漢字辞書に登録された読み仮名とも一致しない仮名に対応する漢字を、その仮名の前または後の仮名に対応する漢字に基づいて特定することで、単語の読み仮名に含まれる全ての仮名をその単語の漢字仮名表記に含まれる漢字の何れかに対応付け、登録しようとする単語の読み仮名と漢字の対応関係に基づいて、その単語の読み仮名に含まれる、長音化可能な母音の並びが同じ漢字に対応すると判断される場合に、その母音の並びを長音に変換することで、登録しようとする単語の表音文字列を生成することをコンピュータに実行させる命令を有する。【選択図】図８
2014202823.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータから合成音声信号を生成するために利用される、単語の漢字仮名表記と該単語の発音を表す表音文字列とが登録される単語辞書に単語を登録するための単語辞書登録用コンピュータプログラムであって、
前記単語辞書に登録しようとする単語の読み仮名のうち、当該単語の漢字仮名表記に含まれる何れの漢字の単漢字辞書に登録された読み仮名とも一致しない仮名に対応する漢字を、当該仮名の前または後の仮名に対応する漢字に基づいて特定することで、当該単語の読み仮名に含まれる全ての仮名を当該単語の漢字仮名表記に含まれる漢字の何れかに対応付ける単漢字不一致処理を実行し、
前記登録しようとする単語の読み仮名と漢字の対応関係に基づいて、当該単語の読み仮名に含まれる、長音化可能な母音の並びが同じ漢字に対応すると判断される場合に、当該母音の並びを長音に変換することで、前記登録しようとする単語の前記表音文字列を生成し、
前記登録しようとする単語の前記表音文字列を当該単語の漢字仮名表記とともに前記単語辞書に登録する、
ことをコンピュータに実行させるための単語辞書登録用コンピュータプログラム。
【請求項２】
前記単語辞書に登録しようとする単語の読み仮名に含まれる仮名のうち、当該単語の漢字仮名表記に含まれる漢字の前記単漢字辞書に登録された読み仮名と一致する仮名を、当該漢字と対応付けることをコンピュータに実行させ、前記単語の読み仮名に含まれる仮名の何れかが前記単語の漢字仮名表記に含まれる何れの漢字にも対応しない場合に前記単漢字不一致処理をコンピュータに実行させる、請求項１に記載の単語辞書登録用コンピュータプログラム。
【請求項３】
前記単漢字不一致処理を実行することは、動的計画法に従って、前記単語の読み仮名と、前記単語の漢字仮名表記に含まれる漢字の順序に従った各漢字の前記単漢字辞書に登録された読み仮名の配列との差が最小となるように、前記単語の読み仮名のうちの前記単語の漢字仮名表記に含まれる何れの漢字にも対応しない仮名を、当該仮名の前または後の仮名に対応する漢字に対応付ける、請求項１または２に記載の単語辞書登録用コンピュータプログラム。
【請求項４】
前記単漢字不一致処理を実行することは、前記単語の先頭の漢字から順に、当該漢字の前記単漢字辞書に登録された読み仮名と前記単語の読み仮名のうちの一致する部分を検出し、かつ、前記単語の最後尾の漢字から順に、当該漢字の前記単漢字辞書に登録された読み仮名と前記単語の読み仮名のうちの一致する部分を検出することで、前記単語の読み仮名のうちの前記単語の漢字仮名表記に含まれる何れの漢字にも対応しない仮名を特定し、当該特定された仮名を、当該仮名の前の仮名に対応する漢字に対応付ける、請求項１または２に記載の単語辞書登録用コンピュータプログラム。
【請求項５】
単語の漢字仮名表記と該単語の発音を表す表音文字列とを登録する単語辞書を利用して、テキストデータから合成音声信号を生成する音声合成装置であって、
漢字ごとに、該漢字の表記と読み仮名とが登録された単漢字辞書を記憶する記憶部と、
前記単語辞書に登録しようとする単語の漢字仮名表記と読み仮名を取得する入力部と、
前記登録しようとする単語の読み仮名のうち、当該単語の漢字仮名表記に含まれる何れの漢字の前記単漢字辞書に登録された読み仮名とも一致しない仮名に対応する漢字を、当該仮名の前または後の仮名に対応する漢字に基づいて特定することで、当該単語の読み仮名に含まれる全ての仮名を当該単語の漢字仮名表記に含まれる漢字の何れかに対応付ける単漢字不一致処理部と、
前記登録しようとする単語の読み仮名と漢字の対応関係に基づいて、当該単語の読み仮名に含まれる、長音化可能な母音の並びが同じ漢字に対応すると判断される場合に、当該母音の並びを長音に変換することで、前記登録しようとする単語の前記表音文字列を生成する長音変換部と、
前記登録しようとする単語の前記表音文字列を当該単語の漢字仮名表記とともに前記単語辞書に登録する登録部と、
を有する音声合成装置。
【請求項６】
テキストデータから合成音声信号を生成するために利用される、単語の漢字仮名表記と該単語の発音を表す表音文字列とが登録される単語辞書に単語を登録する方法であって、
前記単語辞書に登録しようとする単語の漢字仮名表記と読み仮名を取得し、
プロセッサが、前記登録しようとする単語の読み仮名のうち、当該単語の漢字仮名表記に含まれる何れの漢字の単漢字辞書に登録された読み仮名とも一致しない仮名に対応する漢字を、当該仮名の前または後の仮名に対応する漢字に基づいて特定することで、当該単語の読み仮名に含まれる全ての仮名を当該単語の漢字仮名表記に含まれる漢字の何れかに対応付け、
前記プロセッサが、前記登録しようとする単語の読み仮名と漢字の対応関係に基づいて、当該単語の読み仮名に含まれる、長音化可能な母音の並びが同じ漢字に対応すると判断した場合に、当該母音の並びを長音に変換することで、前記登録しようとする単語の前記表音文字列を生成し、
前記プロセッサが、前記登録しようとする単語の前記表音文字列を当該単語の漢字仮名表記とともに前記単語辞書に登録する、
ことを含む単語辞書登録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、テキストデータから音声信号を合成する音声合成装置及びその音声合成装置で利用される単語辞書の登録方法及び単語辞書登録用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、音声を自動合成する音声合成技術が開発されている。音声合成技術は、短時間で所望の音声を作成できるというメリットを有するため、これまで予め録音されたプロのナレータによる音声を用いていたアプリケーションの中には、このような音声合成技術を採用したものもある。特に、商業施設における案内放送、ハイウェイラジオ、ハイウェイテレホンまたは天気予報の放送など、短い時間間隔で提供する情報が更新されるアプリケーションでは、上記のメリットを持つ音声合成技術が有用である。
【０００３】
合成したい音声信号を生成するために、音声合成装置には、例えば、キーボードなどを介して漢字仮名交じりのテキストデータが入力される。そして音声合成装置は、そのテキストデータに対して、単語を漢字と仮名で表した漢字仮名表記とその単語の発音を表す表音文字列などを登録した単語辞書を利用して、形態素解析または係り受け解析といった言語処理を行う。そして音声合成装置は、その言語処理によって、テキストデータの表音文字列と、その表音文字列にアクセント位置、アクセントの強弱あるいは抑揚の大小といった韻律を表す韻律記号を付した中間表記を生成する。そして音声合成装置は、その中間表記に基づいて、合成音声信号を生成する。
【０００４】
日常で使用される単語は日々変化するので、全ての単語を予め単語辞書に登録することは事実上不可能である。そこで、入力テキストデータの終端に至った際にいままで抽出された未知語を一括してユーザに伝え、その未知語とユーザにより入力されたその未知語についての情報を単語辞書に登録する技術が提案されている（例えば、特許文献１を参照）。
【０００５】
しかし、漢字には複数の読み方があり、また、単語によってその単語の漢字仮名表記に含まれる漢字の読み方は異なる。場合によっては、登録しようとする単語の漢字仮名表記に含まれる漢字の読みが、その漢字が単独で用いられるときの読みとは異なることがある。そのため、上記の技術では、登録しようとする単語の表音文字列が正しく生成されないおそれがあった。
また、１文字毎の読み及び対応する表記の有無の情報を登録した文字情報記憶手段に、入力された文字列の正式住所データの読みに対応する表記がない場合の派生ルールを参照して異表記住所を派生する技術が提案されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２４４４９１号公報
【特許文献２】特開２００６−４０６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２に開示された技術は、音声合成用の表音文字列を生成するものではないので、単語の読み自体は入力された読みそのものとなる。そのため、単語の読み仮名と適切な表音文字列が異なる場合には、適切な表音文字列が単語辞書に登録されない。
【０００８】
そこで本明細書は、一つの側面として、音声合成装置で利用される単語辞書に単語の適切な表音文字列を登録できる単語辞書登録用コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、テキストデータから合成音声信号を生成するために利用される、単語の漢字仮名表記とその単語の発音を表す表音文字列とが登録される単語辞書に単語を登録するための単語辞書登録用コンピュータプログラムが提供される。このコンピュータプログラムは、単語辞書に登録しようとする単語の読み仮名のうち、その単語の漢字仮名表記に含まれる何れの漢字の単漢字辞書に登録された読み仮名とも一致しない仮名に対応する漢字を、その仮名の前または後の仮名に対応する漢字に基づいて特定することで、単語の読み仮名に含まれる全ての仮名をその単語の漢字仮名表記に含まれる漢字の何れかに対応付ける単漢字不一致処理を実行し、登録しようとする単語の読み仮名と漢字の対応関係に基づいてその単語の読み仮名に含まれる、長音化可能な母音の並びが同じ漢字に対応と判断される場合に、その母音の並びを長音に変換することで、登録しようとする単語の表音文字列を生成し、登録しようとする単語の表音文字列をその単語の漢字仮名表記とともに単語辞書に登録することをコンピュータに実行させる命令を有する。
【００１０】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１１】
本明細書に開示された単語辞書登録用コンピュータプログラムは、音声合成装置で利用される単語辞書に単語の適切な表音文字列を登録できる。
【図面の簡単な説明】
【００１２】
【図１】単語の漢字仮名表記及び読み仮名と、単語辞書に登録される表音文字列の関係の一例を示す図である。
【図２】一つの実施形態による音声合成装置の概略構成図である。
【図３】一つの実施形態による音声合成装置が有する処理部の機能ブロック図である。
【図４】単漢字辞書の一例を示す図である。
【図５】動的計画法を用いた単語の読み仮名と各漢字の読みとの対応付けの一例を示す図である。
【図６】動的計画法を用いた単語の読み仮名と各漢字の読みとの対応付けの他の一例を示す図である。
【図７】長音変換処理の動作フローチャートである。
【図８】単語登録処理の動作フローチャートである。
【発明を実施するための形態】
【００１３】
以下、図を参照しつつ、一つの実施形態による音声合成装置について説明する。
最初に、図１を参照しつつ、単語の漢字仮名表記及び読み仮名と、単語辞書に登録される表音文字列の関係を説明する。図１において、表１００は、単語を漢字と仮名で表記した漢字仮名表記と読み仮名の関係を表しており、表１１０は、表１００に示された各単語の漢字仮名表記と単語の発音を表す表音文字列の関係を表している。なお、読み仮名と表音文字列との区別を分かり易くするために、本明細書では、読み仮名を平仮名で表し、表音文字列を片仮名で表す。また、以下では、漢字仮名表記を、単に表記と呼ぶ。
【００１４】
単語辞書に登録される単語の表音文字列は、合成音声における実際のその単語の発音を表している。そのため、同じ単語に対しても、読み仮名と表音文字列が異なることがある。特に、表音文字列では、特定の母音の並びが長音に変換される。例えば、図１では、単語「豆腐」の読み仮名が「とうふ」であるのに対し、表音文字列では、母音の並び「おう」が長音に変換されて「トーフ」となる。また、単語「映画」の読み仮名が「えいが」であるのに対し、表音文字列では、母音の並び「えい」が長音に変換されて「エーガ」となる。一般に、長音化が可能な母音の並びは、「ああ」、「いい」、「うう」、「ええ」、「おお」、「おう」及び「えい」の７種類である。
【００１５】
しかし、単語中にこれらの母音の並びが含まれていても、その並びを長音化すると不自然な発音となるために長音化されないことがある。例えば、図１の例では、単語「瀬戸内」には、長音化が可能な母音の並び「おう」が含まれているものの、その並びは長音化されず、表音文字列も読み仮名と同じ「セトウチ」となる。同様に、単語「要石」にも、長音化が可能な母音の並び「えい」が含まれているが、その並びは長音化されず、表音文字列も読み仮名と同じ「カナメイシ」となる。
長音化可能な母音の並びが実際に長音化されるか否かは、その母音の並びが一つの漢字の読みに含まれるか、あるいは、複数の漢字の読みに跨っているかに依存する。すなわち、上記の例の単語「瀬戸内」のように、長音化可能な母音の並びが、漢字「戸（と）」と漢字「内（うち）」に跨っている場合には、その母音の並びは長音化されない。一方、単語「豆腐」のように、長音化可能な母音の並びが、一つの漢字「豆（とう）」に対応する場合には、その母音の並びは長音化される。
したがって、単語を単語辞書に登録する際、長音化可能な母音の並びを実際に長音化するか否かを判定するためには、読み仮名に含まれる各モーラが、どの漢字に対応するかを調べることが重要である。
【００１６】
ここで、単語を登録するために、漢字ごとの表記と読み仮名の関係を表す単漢字辞書が利用される。例えば、単漢字辞書では、漢字「豆」について、その読み仮名として「まめ」と「とう」が対応付けられている。そのため、単語「豆腐」を単語辞書に登録する際、その単語の表記に含まれる漢字「豆」について単漢字辞書を参照すれば、単語「豆腐」の読み仮名「とうふ」のうちの「とう」が対応付けられているので、読み仮名「とう」は、漢字「豆」に対応することが分かる。このように、単漢字辞書を参照して、単語の表記に含まれる漢字ごとに、単語の読み仮名との対応を調べることで、各モーラがどの漢字の読みに含まれるかが分かる。
【００１７】
しかし、単語によっては、漢字そのものの読みとは異なる読み方をする漢字が含まれたり、単語内のどの漢字にも含まれない読み仮名が含まれることがある。例えば、地名である単語「和歌浦」の読み仮名は「わかのうら」であり、その読み仮名には、単語「和歌浦」のどの漢字の読みでもない仮名「の」が含まれている。また、地名または船の種類などを表す単語「安宅」は、「あたけ」と読まれることがある。しかし、単語「安宅」に含まれる漢字「安」、「宅」そのものの読みをどのように組み合わせても、「あたけ」とはならない。
【００１８】
このように、単語の読み仮名が、その単語の表記に含まれる各漢字の読みの組み合わせで表現できない場合には、単漢字辞書を参照しても、その単語の各モーラがどの漢字の読みに含まれるのかを特定することは困難である。その結果として、そのような単語については、読み仮名から表音文字列に自動的に変換することは困難である。例えば、上記の例の単語「和歌浦」には、読み仮名の「のう」の部分に長音化可能な母音の並び「おう」が含まれる。しかし、仮名「の」がどの漢字の読みに含まれるのかが不明であるために、音声合成装置は、その母音の並びを誤って長音化することにより、表音文字列を「ワカノーラ」としてしまうおそれがある。
【００１９】
そこで、本実施形態による音声合成装置は、単語を単語辞書に登録する際、その単語の読み仮名に含まれる仮名のうち、その単語の表記に含まれる何れの漢字の読み仮名とも一致しない仮名に対応する漢字を、その前後の仮名に対応する漢字から特定する。そしてこの音声合成装置は、読み仮名と漢字の対応関係に基づいて、長音化可能な母音の並びを実際に長音化するか否か判定する。
【００２０】
図２は、一つの実施形態による音声合成装置の概略構成図である。本実施形態では、音声合成装置１は、入力部２と、記憶部３と、処理部４と、出力部５とを有する。
【００２１】
入力部２は、合成音声の原文であり、漢字仮名交じり文であるテキストデータを取得する。また入力部２は、単語辞書に登録しようとする単語の表記及び読み仮名を取得する。そのために、入力部２は、例えば、キーボードを有する。また、入力部２は、マウスなどのポインティングデバイスとそのポインティングデバイスにより指示される入力すべき文字などを表示するディスプレイとを有する。あるいは、入力部２は、タッチパネルディスプレイを有してもよい。
さらにまた、入力部２は、テキストデータ、または単語の表記及び読み仮名を通信ネットワークを介して音声合成装置１と接続された他の機器から取得してもよい。この場合、入力部２は、音声合成装置１を通信ネットワークに接続するためのインターフェース回路を有する。
そして入力部２は、入力されたテキストデータ、または単語の表記及び読み仮名を処理部４へ渡す。
【００２２】
記憶部３は、例えば、半導体メモリ回路、磁気記憶装置または光記憶装置のうちの少なくとも一つを有する。そして記憶部３は、処理部４で用いられる各種コンピュータプログラム、音声合成処理または単語登録処理に用いられる各種のデータを記憶する。
記憶部３は、音声合成処理に用いられるデータとして、例えば、韻律モデルと、音声波形辞書を記憶する。さらに記憶部３は、言語処理に用いられるデータとして、テキストデータ中に出現すると想定される様々な単語について、その単語の表記及び表音文字列が登録された単語辞書を記憶する。なお、単語辞書には、登録された各単語の品詞情報及び活用形などがさらに登録されてもよい。さらに、記憶部３は、単語を単語辞書に登録する際に参照される、漢字ごとの表記と読み仮名との対応関係を表す単漢字辞書を記憶する。
【００２３】
出力部５は、処理部４から受け取った合成音声信号をスピーカ６へ出力する。そのために、出力部５は、例えば、スピーカ６を音声合成装置１と接続するためのオーディオインターフェース回路を有する。
また出力部５は、合成音声信号を、通信ネットワークを介して音声合成装置１と接続された他の装置へ出力してもよい。この場合、出力部５は、その通信ネットワークに音声合成装置１と接続するためのインターフェース回路を有する。なお、入力部２も通信ネットワークを介してテキストデータを取得する場合、入力部２と出力部５は一体化されていてもよい。
【００２４】
処理部４は、一つまたは複数のプロセッサと、メモリ回路と、周辺回路とを有する。そして処理部４は、入力されたテキストデータに基づいて、合成音声信号を作成する。
図３は、処理部４の機能ブロック図である。処理部４は、言語処理部１０と、音声合成部１１と、辞書登録部１２とを有する。
処理部４が有するこれらの各部は、例えば、処理部４が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、処理部４が有するこれらの各部は、その各部の機能を実現する一つの集積回路として音声合成装置１に実装されてもよい。
【００２５】
言語処理部１０は、入力された、漢字仮名交じり文であるテキストデータに対応する表音文字列を生成し、さらにその表音文字列に基づいて中間表記を生成する。ここで、中間表記とは、表音文字列に、韻律を表す韻律記号が追加されたものである。韻律記号には、例えば、「アクセント位置」、「アクセント強弱」、「音程高低」、「抑揚大小」、「話速緩急」、「音量大小」及び「区切り」を表現する記号が含まれる。したがって、中間表記から韻律記号を除いたものは、表音文字列と一致する。
【００２６】
言語処理部１０は、入力されたテキストデータから中間表記を生成するために、記憶部３に記憶されている単語辞書を読み込む。そして言語処理部１０は、例えば、その単語辞書を用いて、テキストデータに対して形態素解析及び係り受け解析を行って、テキストデータ中に出現する各単語の順序及び読み、アクセントの位置及び区切りの位置を決定する。
【００２７】
言語処理部１０は、形態素解析として、例えば、動的計画法を用いる方法を利用できる。また言語処理部１０は、係り受け解析として、例えば、先読みＬＲパーザまたはＬＬ法といった構文解析の手法を利用できる。そして言語処理部１０は、各単語の順序、読み、アクセントの位置及び区切りの位置に応じて中間表記を作成する。
言語処理部１０は、生成した中間表記を記憶部３に一時的に記憶する。
【００２８】
音声合成部１１は、入力されたテキストデータの中間表記に基づいて合成音声信号を作成する。
【００２９】
音声合成部１１は、中間表記に基づいて、合成音声信号を生成する際の目標韻律を生成する。そのために、音声合成部１１は、記憶部３から複数の韻律モデルを読み込む。この韻律モデルは、声を高くする位置及び声を低くする位置などを時間順に表したものである。そして音声合成部１１は、複数の韻律モデルのうち、中間表記に示されたアクセントの位置などに最も一致する韻律モデルを選択する。そして音声合成部１１は、選択した韻律モデル及び合成パラメータに従って、中間表記に対して声が高くなる位置あるいは声が低くなる位置、声の抑揚、ピッチなどを設定することにより、目標韻律を作成する。目標韻律は、音声波形を決定する単位となる音素ごとに、音素の長さ及びピッチ周波数を含む。なお、音素は、例えば、一つの母音あるいは一つの子音とすることができる。
【００３０】
音声合成部１１は、生成した目標韻律に従って、例えば、音素接続方式またはコーパスベース方式によって合成音声信号を作成する。
例えば、音声合成部１１は、音素ごとに、目標韻律の音素長及びピッチ周波数に最も近い音声波形を、例えばパターンマッチングにより音声波形辞書に登録されている複数の音声波形の中から選択する。そのために、音声合成部１１は、記憶部３から音声波形辞書を読み込む。音声波形辞書は、複数の音声波形及び各音声波形の識別番号を記録する。また音声波形は、例えば、一人以上のナレータが様々なテキストを読み上げた様々な音声を録音した音声信号から、音素単位で取り出された波形信号である。
さらに、音声合成部１１は、音素ごとに選択された音声波形を目標韻律に沿って接続できるようにするため、それら選択された音声波形と目標韻律に示された対応する音素の波形パターンとのずれ量を、波形変換情報として算出してもよい。
音声合成部１１は、音素ごとに選択された音声波形の識別番号を含む波形生成情報を作成する。波形生成情報は、波形変換情報をさらに含んでもよい。
【００３１】
音声合成部１１は、波形生成情報に含まれる各音素の音声波形の識別番号に対応する音声波形信号を記憶部３から読み込む。そして音声合成部１１は、各音声波形信号を連続的に接続することにより、合成音声信号を作成する。なお、波形生成情報に波形変換情報が含まれている場合、音声合成部１１は、各音声波形信号を、対応する音素について求められた波形変換情報に従って補正して音声波形信号を連続的に接続することにより、合成音声信号を作成する。
音声合成部１１は、合成音声信号を出力部５へ出力する。
【００３２】
辞書登録部１２は、例えば、入力部２を介して入力された登録対象の単語の表記と読み仮名に基づいて、その単語の読みに含まれる長音化可能な母音の並びを長音化するか否かを決定した上でその単語の表音文字列を生成する。そして辞書登録部１２は、その単語の表記を表音文字列とともに単語辞書に登録する。そのために、辞書登録部１２は、単漢字分割判定部２１と、単漢字不一致処理部２２と、長音変換部２３と、登録部２４とを有する。
【００３３】
単漢字分割判定部２１は、登録対象の単語の読み仮名が、その単語の表記に含まれる漢字の単漢字辞書に登録された読み仮名の組み合わせとなっているか否かを判定する。そのために、単漢字分割判定部２１は、登録対象の単語の表記に含まれる先頭の漢字から順に、単漢字辞書に登録されたその漢字の読み仮名とその単語の読み仮名とを比較する。そして単漢字分割判定部２１は、その単語の読み仮名に含まれるそれぞれの仮名のうち、漢字の読み仮名と一致するものを、その漢字に対応付ける。単語の読み仮名に含まれる全ての仮名が、その単語の表記に含まれる漢字の何れかに対応付けられた場合、登録対象の単語の読み仮名は、その単語の表記に含まれる漢字の単漢字辞書に登録された読み仮名の組み合わせとなっている。この場合、単語の読みに含まれる各モーラがどの漢字に対応するかも明らかなので、長音変換部２３は、長音化可能な母音の並びを実際に長音化できるか否かの判定も直ちに行える。そこで、単漢字分割判定部２１は、単語の読み仮名に含まれる各仮名と漢字の対応関係を長音変換部２３へ通知する。
【００３４】
一方、単語の読み仮名に含まれる仮名の何れか一つでも、その単語の表記に含まれる漢字の何れにも対応付けられない場合、その単語の読み仮名では、その単語の表記に含まれる漢字の単漢字辞書に登録された読み仮名とは異なる読み仮名が使用されている。この場合、長音変換部２３は、そのままでは長音化可能な母音の並びを実際に長音化できるか否か判定できない。そこで単漢字分割判定部２１は、登録対象の単語の表記と読み仮名を単漢字不一致処理部２２へ通知する。
【００３５】
図４は、単漢字辞書の一例を示す図である。単漢字辞書４００には、漢字ごとに、その漢字の１種類以上の一般的な読みが登録されている。例えば、漢字「安」については、その読みとして、「あん」と「やす」が登録されている。また、漢字「石」については、その読みとして、「いし」と「せき」が登録されている。
【００３６】
例えば、登録対象の単語として「瀬戸内」が入力された場合、単漢字分割判定部２１は、単漢字辞書４００を参照することにより、先頭の漢字「瀬」の読み仮名「せ」と単語の読み仮名「せとうち」の先頭の仮名「せ」が一致することが分かる。そのため、単漢字分割判定部２１は、単語の読み仮名のうちの先頭の仮名「せ」を、その単語の先頭の漢字「瀬」に対応付ける。
次に、単漢字分割判定部２１は、単語「瀬戸内」のうちの次の漢字「戸」について、単漢字辞書４００を参照する。すると、単漢字分割判定部２１は、その漢字の読み「と」と「こ」のうちの「と」が、その単語の読み仮名「せとうち」のうち、漢字との対応付けが済んでいない仮名の先頭の「と」と一致することが分かる。そのため、単漢字分割判定部２１は、単語の読み仮名のうちの２番目の仮名「と」を、その単語の２番目の漢字「戸」に対応付ける。同様に、単漢字分割判定部２１は、単語「瀬戸内」の読み仮名のうちの仮名「うち」を、その単語の最後の漢字「内」に対応付ける。このように、単語「瀬戸内」については、その読み仮名に含まれる全ての仮名がその単語の表記に含まれる何れかの漢字に対応付けられる。そのため、単漢字分割判定部２１は、単語の読み仮名「せとうち」に含まれる各仮名と漢字「瀬」「戸」「内」の対応関係を長音変換部２３へ通知する。
【００３７】
一方、登録対象の単語として「和歌浦」が入力されたとする。この場合、単漢字分割判定部２１は、単漢字辞書４００を参照することにより、先頭及び２番目の漢字「和」「歌」の読み仮名「わ」「か」と単語の読み仮名「わかのうら」の仮名「わ」「か」がそれぞれ一致することが分かる。そのため、単漢字分割判定部２１は、単語の読み仮名のうちの仮名「わ」「か」を、その単語の表記に含まれる漢字「和」「歌」にそれぞれ対応付ける。しかし、その単語の読み仮名のうち、対応付けの済んでいない先頭の仮名「の」は、その単語の表記に含まれる対応付けの済んでいない漢字「浦」の読み仮名と一致しない。そのため、単漢字分割判定部２１は、単漢字辞書に登録されている漢字の読み仮名だけでは、単語「和歌浦」に含まれる読み仮名全てを、その単語の表記に含まれる漢字に対応付けられない。そこでこの例では、単漢字分割判定部２１は、単語の表記「和歌浦」と読み仮名「わかのうら」を単漢字不一致処理部２２へ通知する。
【００３８】
また、表記が「安宅一丁目」で読み仮名が「あたけいっちょうめ」である単語が登録対象として入力されたとする。この場合、単語の表記に含まれる漢字「安」「宅」の読み仮名と、単語の読み仮名に含まれる「あたけ」が一致しない。そのため、単漢字分割判定部２１は、単漢字辞書に登録されている漢字の読み仮名だけでは、単語「安宅一丁目」に含まれる読み仮名全てを、その単語の表記に含まれる漢字に対応付けられない。そこでこの例でも、単漢字分割判定部２１は、単語の表記「安宅一丁目」と読み仮名「あたけいっちょうめ」を単漢字不一致処理部２２へ通知する。
【００３９】
単漢字不一致処理部２２は、登録対象の単語の読み仮名のうち、単漢字辞書に登録されている漢字の読み仮名と一致しない仮名に対応する漢字を、その前または後の仮名に対応する、その単語の表記に含まれる漢字に基づいて特定する。そのために、本実施形態では、単漢字不一致処理部２２は、動的計画法を利用する。
【００４０】
図５は、動的計画法を用いた単語の読み仮名と各漢字の読みとの対応付けの一例を示す図である。この例では、登録対象の単語「安宅一丁目」の読み仮名「あたけいっちょうめ」が、横方向に、左から順に並べられる。また、その単語の表記に含まれる各漢字の読み仮名が、縦方向に、かつ、先頭の漢字が一番下に位置するように配列される。そして縦方向、横方向とも、読み仮名をモーラごとに区切ることで、単語の読み仮名のモーラと、単語の表記に含まれる漢字の読み仮名のモーラの組み合わせごとにマス目が形成される。そしてそれぞれのマス目には、そのマス目の縦方向のモーラと横方向のモーラが一致する場合、'0'が書き込まれ、一方、一致しない場合には、ペナルティー値として'1'が書き込まれる。
【００４１】
単漢字不一致処理部２２は、左下端のマス目から、右上端のマス目までの経路ごとに、その経路が通る各マス目の値の合計を、その経路のペナルティー値として算出する。そして単漢字不一致処理部２２は、ペナルティー値が最小となる経路を特定する。すなわち、単漢字不一致処理部２２は、単語の読み仮名と、単語の表記に含まれる漢字の順序に従った各漢字の単漢字辞書に登録された読み仮名の配列の差が最小となるように、各漢字の単漢字辞書に登録された読み仮名に対応しない仮名の漢字への対応付けを行う。例えば、図５に示された例では、矢印で示された経路５００のペナルティー値が最小となる。
そして単漢字不一致処理部２２は、ペナルティー値が最小となる経路に従って、単語の読み仮名に含まれる各仮名を、その単語の表記に含まれる漢字に対応付ける。図５の例では、経路５００に従うと、単語の読み仮名「あたけいっちょうめ」のうち、仮名「いっ」、「ちょう」、「め」が、それぞれ、漢字「一」、「丁」、「目」に対応付けられる。そして漢字の読み仮名と一致しない部分である「あたけ」について、対応付けの済んだ漢字「一丁目」よりも前の漢字「安」「宅」のうち、先頭の仮名「あ」が漢字「安」に対応付けられ、仮名「たけ」が漢字「宅」に対応付けられる。
【００４２】
図６は、動的計画法を用いた単語の読み仮名と各漢字の読みとの対応付けの他の一例を示す図である。この例では、登録対象の単語「和歌浦」について、実線の矢印で示された経路６００のペナルティー値と点線の矢印で示された経路６０１のペナルティー値が等しく、かつ、最小となる。経路６００と経路６０１とでは、仮名「の」が、漢字「歌」に対応するか、漢字「浦」に対応するかで異なっている。このように、単語の表記に含まれる連続する二つの漢字のそれぞれの読み仮名の間に、それらの漢字の読み仮名とは異なる仮名が挿入されている場合、二つの経路のペナルティー値が最小となる。このような場合、母音の並びを長音化するか否かの観点では、挿入されている仮名を前の漢字と対応付けた方が、その単語の実際の発音と整合する。そこでこの実施形態では、単漢字不一致処理部２２は、二つの漢字の読み仮名の間に挿入された仮名を前側の仮名に対応する漢字に対応付ける。すなわち、単漢字不一致処理部２２は、ペナルティー値が等しい複数の経路のうち、最も下側の経路を選択する。したがって、図６に示された例では、単漢字不一致処理部２２は、経路６００を選択し、単語の読み仮名「わ」「かの」「うら」を、それぞれ、漢字「和」「歌」「浦」に対応付ける。
【００４３】
なお、対象となる単語の表記に含まれる漢字に複数の読み仮名がある場合、単漢字不一致処理部２２は、読み仮名ごとに並列に、上記のような経路を探索すればよい。例えば、図５の例では、漢字「安」には「あん」という読み仮名の他に、「やす」という読み仮名もある。そこで単漢字不一致処理部２２は、「あん」と並列に、「やす」についても、単語の読み仮名「あたけいっちょうめ」と対応させたマス目を設け、それらのマス目を通る経路のペナルティー値も計算すればよい。
また、読み仮名の配列は、上記の例に限られない。例えば、単漢字不一致処理部２２は、単語の表記に含まれる各漢字の読み仮名を上から順に並べ、左上端のマス目から右下端のマス目までの経路のペナルティー値を算出してもよい。
【００４４】
変形例によれば、単漢字不一致処理部２２は、動的計画法を用いる代わりに、単語の読み仮名のうち、登録対象の単語の先頭の漢字から順に漢字の読み仮名と一致する部分を検出する。さらに単漢字不一致処理部２２は、単語の最後尾の漢字からも順番に漢字の読み仮名と単語の読み仮名を比較して、単語の読み仮名のうちの登録対象の表記に含まれる漢字の読み仮名と一致する部分を検出する。これにより、単漢字不一致処理部２２は、単語の読み仮名のうち、どの漢字の読み仮名とも一致しない仮名を特定する。そして単漢字不一致処理部２２は、一致しない仮名を、その直前の仮名が対応付けられている漢字に対応付ける。
【００４５】
例えば、上記の例のように、登録対象となる単語の表記が「和歌浦」で読み仮名が「わかのうら」であるとする。この場合、単語の先頭の漢字から順に、その漢字の読み仮名と単語の読み仮名を比較して一致する仮名を特定することで、漢字「和」「歌」と仮名「わ」「か」が対応付けられる。また、単語の最後尾の漢字から順に、その漢字の読み仮名と単語の読み仮名を比較して一致する仮名を特定することで、漢字「浦」と仮名「うら」が対応付けられる。そして最後に、単語の読み仮名のうち、仮名「の」だけがどの漢字にも対応付けられずに残る。そこで単漢字不一致処理部２２は、その仮名「の」を、直前の仮名「か」が対応づけられている漢字「歌」に対応付ける。
【００４６】
この変形例によれば、単漢字不一致処理部２２は、動的マッチングを用いるよりも単語の読み仮名を漢字に対応付けるための演算量を削減できる。
あるいはまた、単漢字不一致処理部２２は、最初に、上記の変形例のように、単語の先頭と最後尾からそれぞれ順に漢字の読み仮名と単語の読み仮名を対応付ける処理を行ってもよい。そして、複数の仮名が漢字と対応付けられなかった場合に、単漢字不一致処理部２２は、動的マッチングにより読み仮名と漢字の対応付けを行ってもよい。これにより、単漢字不一致処理部２２は、「和歌浦」のように、読み仮名中で一つの仮名のみが漢字の読みと一致しない場合の演算量を削減しつつ、「安宅一丁目」のように、複数の仮名が漢字の読みと一致しない場合でも、読み仮名と漢字を適切に対応付けられる。
【００４７】
単漢字不一致処理部２２は、単語の読み仮名に含まれる各仮名と漢字の対応関係を長音変換部２３へ通知する。
【００４８】
長音変換部２３は、単語の読み仮名に含まれる、長音化可能な母音の並びを抽出する。そして長音変換部２３は、単語の読み仮名と漢字の対応関係に基づいて、その母音の並びが同じ漢字に対応付けられているか否か判定する。そしてその母音の並びが同じ漢字に対応付けられている場合に、長音変換部２３は、その母音の並びを長音化することで、単語の表音文字列を生成する。
【００４９】
図７は、長音化変換処理の動作フローチャートを示す図である。長音変換部２３は、単語の読み仮名に含まれるモーラの総数Nを求める（ステップＳ１０１）。長音変換部２３は、注目するモーラの先頭からの順序iを1に設定する（ステップＳ１０２）。なお、モーラの総数Nが1の場合、長音化される仮名は存在しないので、長音変換部２３は、直ちに長音変換処理を終了してもよい。
【００５０】
長音変換部２３は、単語の読み仮名のうちのi番目のモーラと(i+1)番目のモーラが長音化可能な母音の並びを含むか否か判定する（ステップＳ１０３）。i番目のモーラと(i+1)番目のモーラが長音化可能な母音の並びを含む場合（ステップＳ１０３−Ｙｅｓ）、長音変換部２３は、i番目のモーラと(i+1)番目のモーラが同じ漢字に対応するか否か判定する（ステップＳ１０４）。そしてi番目のモーラと(i+1)番目のモーラが同じ漢字に対応付けられている場合（ステップＳ１０４−Ｙｅｓ）、長音変換部２３は、(i+1)番目のモーラに相当する仮名を長音記号に変換する（ステップＳ１０５）。
【００５１】
ステップＳ１０５の後、またはステップＳ１０４にてi番目のモーラと(i+1)番目のモーラがそれぞれ別の漢字に対応する場合（ステップＳ１０４−Ｎｏ）、長音変換部２３は、(i+1)がモーラの総数Nよりも小さいか否か判定する（ステップＳ１０６）。同様に、ステップＳ１０３にてi番目のモーラと(i+1)番目のモーラが長音化可能な母音の並びを含まない場合も（ステップＳ１０３−Ｎｏ）、長音変換部２３は、(i+1)がモーラの総数Nよりも小さいか否か判定する（ステップＳ１０６）。
【００５２】
(i+1)がモーラの総数Nよりも小さければ（ステップＳ１０６−Ｙｅｓ）、長音変換部２３は、iを1インクリメントし（ステップＳ１０７）、ステップＳ１０３以降の処理を繰り返す。一方、(i+1)がモーラの総数N以上であれば（ステップＳ１０６−Ｎｏ）、長音変換部２３は、長音変換処理を終了する。
【００５３】
長音変換部２３は、単語の読み仮名に対する長音変換処理後に得られた文字列を、単語の表記とともに登録部２４に渡す。
【００５４】
登録部２４は、得られた文字列を表音文字列として、単語の表記ととともに単語辞書に登録する。
【００５５】
図８は、音声合成装置１の辞書登録部１２により実行される、単語登録処理の動作フローチャートである。辞書登録部１２は、登録対象の単語ごとに、以下の動作フローチャートに従って単語登録処理を実行する。
【００５６】
辞書登録部１２の単漢字分割判定部２１は、単漢字辞書を参照して、登録対象の単語の読み仮名と漢字の対応付けを実行する（ステップＳ２０１）。そして単漢字分割判定部２１は、読み仮名に含まれる全ての仮名を、単語中の何れかの漢字に対応付けられたか否か判定する（ステップＳ２０２）。
【００５７】
読み仮名に含まれる仮名の何れかが単語中のどの漢字にも対応付けられなかった場合（ステップＳ２０２−Ｎｏ）、単漢字分割判定部２１は、その単語の表記と読み仮名を辞書登録部１２の単漢字不一致処理部２２へ通知する。そして単漢字不一致処理部２２は、登録対象の単語の読み仮名のうち、辞書登録された漢字の読み仮名と一致しない仮名に対応する漢字を、前後の仮名に対応する漢字に基づいて特定する（ステップＳ２０３）。そして単漢字不一致処理部２２は、読み仮名と漢字の対応関係を辞書登録部１２の長音変換部２３へ通知する。
【００５８】
一方、ステップＳ２０２にて、読み仮名に含まれる全ての仮名を単語中の何れかの漢字に対応付けられた場合（ステップＳ２０２−Ｙｅｓ）、単漢字分割判定部２１は、読み仮名と漢字の対応関係を長音変換部２３へ通知する。
【００５９】
長音変換部２３は、読み仮名と漢字の対応関係が通知されると、その対応関係に基づいて、登録対象の単語の読み仮名に対する長音変換処理を実行する（ステップＳ２０４）。そして長音変換部２３は、単語の読み仮名に対する長音変換処理後に得られた文字列を、単語の表記とともに辞書登録部１２の登録部２４に渡す。
登録部２４は、長音変換処理により得られた文字列を表音文字列として、単語の表記ととともに単語辞書に登録する（ステップＳ２０５）。その後、辞書登録部１２は、辞書登録処理を終了する。
【００６０】
以上に説明してきたように、この音声合成装置は、単語辞書に単語を登録する際、その単語の読み仮名から自動的に表音文字列を生成する。その際、この音声合成装置は、登録対象の単語の読み仮名に含まれる仮名のうち、その単語の表記に含まれる何れの漢字の読み仮名とも一致しない仮名に対応する漢字を、その前または後の仮名に対応する漢字に基づいて特定する。そのため、この音声合成装置は、長音変換可能な母音の並びが単語の読み仮名に含まれる場合に、その母音の並びが同じ漢字に対応付けられているか否かが分かるので、その母音の並びを実際に長音に変換するか否かを適切に判断できる。
【００６１】
変形例によれば、単漢字分割判定部２１は省略されてもよい。この場合には、辞書登録部１２は、登録しようとする全ての単語に対して単漢字不一致処理部２２の処理を実行することで、その単語の読み仮名に含まれる各仮名をその単語の何れかの漢字に対応付ける。
【００６２】
さらに、上記の各実施形態による音声合成装置の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体、例えば、磁気記録媒体、光記録媒体または半導体メモリに記録された形で提供されてもよい。
【００６３】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００６４】
１    音声合成装置
２    入力部
３    記憶部
４    処理部
５    出力部
６    スピーカ
１０    言語処理部
１１    音声合成部
１２    辞書登録部
２１    単漢字分割判定部
２２    単漢字不一致処理部
２３    長音変換部
２４    登録部
【図１】
2014202823.tif 000003
【図２】
2014202823.tif 000004
【図３】
2014202823.tif 000005
【図４】
2014202823.tif 000006
【図５】
2014202823.tif 000007
【図６】
2014202823.tif 000008
【図７】
2014202823.tif 000009
【図８】
2014202823.tif 000010