以下に、本願に開示する音声合成装置、音声合成方法及びコンピュータプログラムを、各実施形態を示す図面に基づいて詳述する。
(実施形態1)
以下に、実施形態1に係る音声合成装置について説明する。図1は実施形態1の音声合成装置の構成例を示すブロック図である。本実施形態1の音声合成装置10は、例えば公知のパーソナルコンピュータである。本実施形態1の音声合成装置10は、本願に開示するコンピュータプログラムをパーソナルコンピュータに読み取らせ、パーソナルコンピュータのCPU(Central Processing Unit)等に実行させることによって、本願に開示する音声合成装置を実現する。なお、等価な働きをするハードウェアによって本願に開示する音声合成装置を実現してもよい。
本実施形態1に係る音声合成装置10は、制御部1、記憶部2、操作部3、表示部4、音声出力部5、通信部6等を備える。これらのハードウェア各部はそれぞれバス1aを介して相互に接続されている。
制御部1は、CPU又はMPU(Micro Processor Unit)等である。制御部1は、所定のタイミングに従って、記憶部2に予め記憶してある制御プログラムを適宜実行する。また、制御部1は、上述したハードウェア各部の動作を制御する。
記憶部2は、音声合成装置10として動作するために必要な種々の制御プログラム、ユーザに対して各種の情報を通知するための画面情報及び音声情報等を予め格納している。また、記憶部2は、テキストデータ、形態素辞書2a、詳細読み辞書2b、アクセント辞書2c、韻律辞書2d、波形辞書2e等を記憶している。
操作部3は、キーボード及びマウス等であり、ユーザが音声合成装置10を操作するために必要な各種の操作キーを備えている。ユーザにより各操作キーが操作された場合、操作部3は操作された操作キーに対応した制御信号を制御部1へ送出する。制御部1は操作部3から取得した制御信号に対応した処理を実行する。
表示部4は、液晶ディスプレイ又はCRT(Cathode Ray Tube)ディスプレイ等である。表示部4は、制御部1からの指示に従って、音声合成装置10の動作状態、操作部3を介して入力された情報、ユーザに対して通知すべき情報等を表示する。
音声出力部5は、音声増幅回路及びスピーカ等を備えている。音声出力部5は、記憶部2に記憶された音声情報に基づく音声を出力する。
通信部6は、インターネット又はLAN(Local Area Network)等のネットワーク(図示せず)に接続するためのインタフェースである。
本実施形態1の音声合成装置10は、電子メールの送受信機能、ウェブ閲覧機能を有する。具体的には、音声合成装置10は、記憶部2に、ネットワークを介して電子メールの送受信を行なうためのメーラー、ネットワーク上で公開されているウェブページを閲覧するためのブラウザ等を記憶している。よって、制御部1がメーラーを実行することによって、音声合成装置10は、ネットワークを介して外部の装置と電子メールの送受信を行なう。また、制御部1がブラウザを実行することによって、音声合成装置10は、ネットワークを介してウェブサーバからウェブページを取得する。
なお、制御部1は、外部の装置との間で送受信した電子メールの情報を、記憶部2に予め用意されているメールフォルダ(テキスト記憶部)20に逐次蓄積する。電子メールの情報は、例えば、電子メールの送受信日時、件名及び本文等を含む。また、制御部1は、ウェブサーバから取得したウェブページの情報を、ウェブページのアクセス履歴として、記憶部2に予め用意されているウェブ閲覧ログフォルダ(テキスト記憶部)21に逐次蓄積する。ウェブページの情報は、例えば、閲覧日時及びURL(Uniform Resource Locator)等を含む。
本実施形態1の音声合成装置10において、記憶部2に記憶してある形態素辞書2a、詳細読み辞書2b、アクセント辞書2c、韻律辞書2d、波形辞書2eは、予め記憶部2に格納されていなくてもよい。例えば、音声合成装置10が、ネットワークを介して外部の装置から各種辞書をダウンロードして記憶部2に格納させてもよい。また、音声合成装置10が外部メモリに記憶してあるデータの読み出しが可能なドライブ(図示せず)を備える場合には、外部メモリに記憶された各辞書をドライブによって読み出して記憶部2に格納させてもよい。
詳細については図示しないが、形態素辞書2aには、複数の形態素について、表記、品詞及び読みがそれぞれ対応付けて格納されている。なお、各形態素の品詞は、必ずしも形態素辞書2aに格納されている必要はない。
図2は詳細読み辞書2bの格納内容を示す模式図である。図2に示すように、詳細読み辞書(漢字辞書)2bには、複数の漢字のそれぞれを示す漢字情報と、各漢字に対して設定された詳細読み情報とがそれぞれ対応付けて格納されている。図2に示した詳細読み辞書2bは、漢字情報として、各漢字の表記を格納しているが、各漢字を識別できる情報であれば表記に限らない。
詳細読み情報は、各漢字の詳細読みを行なう際に各漢字を説明するための説明情報である。図2に示した詳細読み辞書2bは、詳細読み情報として、各漢字を含む熟語によって各漢字を説明する情報を格納しているが、各漢字を一意に説明できる情報であれば熟語を用いる構成に限らない。なお、図2に示した詳細読み辞書2bは、詳細読み情報として、各詳細読み情報の表記を格納している。具体的には、漢字「平」に対して詳細読み情報「平板の平」が格納されている。しかし、詳細読み辞書2bに格納される詳細読み情報は、各詳細読み情報を示す情報であれば表記に限らず、例えば各詳細読み情報の読みでもよい。
詳細読み辞書2bには、音声合成装置10が扱う全ての漢字に対する詳細読み情報が予め格納されているものとする。なお、本実施形態1の音声合成装置10は、詳細読み辞書2bに格納されている詳細読み情報を変更できる。
詳細については図示しないが、アクセント辞書2cには、複数の形態素について、表記、読み及びアクセント型がそれぞれ対応付けて格納されている。アクセント型は、例えば、各形態素に含まれるモーラ数とアクセント位置とを示しており、具体的には、1モーラ0型、3モーラ1型等と表される。なお、アクセント辞書2cに各形態素の品詞が格納されていてもよい。
また、詳細については図示しないが、韻律辞書2dには、複数のアクセント型と、各アクセント型に対応する韻律とがそれぞれ対応付けて格納されている。韻律は、例えば、音素長のデータ及びピッチパターンのデータ等を含む。
更に、詳細については図示しないが、波形辞書2eには、複数の音素(音素列)を含む文章に対応して各音声の波形群が格納されている。
以下に、本実施形態1の音声合成装置10において、制御部1が記憶部2に格納してある制御プログラムを実行することによって実現される各機能について説明する。図3は実施形態1の音声合成装置10の機能構成例を示す機能ブロック図である。本実施形態1の音声合成装置10において、制御部1は、記憶部2に記憶してある制御プログラムを実行することによって、形態素解析部11、詳細読み情報付加部12、表音文字列生成部13、韻律生成部14、波形生成部15、詳細読み辞書更新部16等の各機能を実現する。なお、以下では、音声合成装置10が「平維盛は、有能な人物だった。」のテキストデータから合成音声を生成する処理を例に説明する。
形態素解析部11は、合成音声を生成すべきテキストデータを記憶部2から読み出し、形態素辞書2aの格納内容に基づいて、読み出したテキストデータを形態素に分割する。具体的には、形態素解析部11は、テキストデータ「平維盛は、有能な人物だった。」を、形態素「平維盛(未知語)・は・有能な・人物・だった」に分割する。なお、「平維盛」は、形態素辞書2aに登録されていないものとする。従って、形態素解析部11は、「平維盛」に(未知語)を付加して未知語として扱う。形態素解析部11は、分割した各形態素を詳細読み情報付加部12へ送出する。
詳細読み情報付加部12は、形態素解析部11によって分割された形態素を取得した場合、取得した形態素に未知語が含まれるか否かを判断する。具体的には、詳細読み情報付加部12は、形態素解析部11から取得した各形態素に、「(未知語)」が付加された形態素があるか否かを判断する。未知語があると判断した場合、詳細読み情報付加部12は、未知語(形態素)に含まれる各漢字に対応する詳細読み情報を詳細読み辞書2bから読み出す。
ここでは、詳細読み情報付加部12は、漢字「平」に対応する詳細読み情報「平板の平」、漢字「維」に対応する詳細読み情報「維持の維」、漢字「盛」に対応する詳細読み情報「盛大の盛」をそれぞれ読み出す。そして、詳細読み情報付加部(付加部)12は、未知語に含まれる各漢字に、詳細読み辞書2bから読み出した詳細読み情報を付加する。
ここで、詳細読み情報付加部12は、各漢字に詳細読み情報を付加する際に、詳細読み情報を形態素に分割して付加する。なお、本実施形態1の詳細読み情報は、各漢字を含む熟語(例えば、平板、維持、盛大)に、「の」を付加した後、各漢字(平、維、盛)を付加した情報であるので、「の」の前後で分割することによって形態素に分割できる。従って、詳細読み情報付加部12は、形態素「平維盛(未知語)・は・有能な・人物・だった」から、形態素「平(平板・の・平)維(維持・の・維)盛(盛大・の・盛)・は・有能な・人物・だった」を生成する。
詳細読み情報付加部12は、未知語に含まれる各漢字に詳細読み情報を付加した形態素を表音文字列生成部13へ送出する。なお、詳細読み情報付加部12は、形態素解析部11から取得した形態素に未知語が含まれないと判断した場合、何も行なわずに、形態素解析部11から取得した形態素を表音文字列生成部13へ転送する。
表音文字列生成部(アクセント型付与部)13は、詳細読み情報付加部12から取得した形態素のそれぞれにアクセント型を付与して表音文字列を生成する。具体的には、表音文字列生成部13は、取得した形態素のそれぞれをアクセント辞書2cから検索し、各形態素のアクセント型をアクセント辞書2cから読み出し、読み出したアクセント型を各形態素に付与する。なお、表音文字列生成部13は、詳細読み情報が付加された形態素については、詳細読み情報に含まれる各形態素にアクセント型を付与する。
従って、表音文字列生成部13は、形態素「平(平板・の・平)維(維持・の・維)盛(盛大・の・盛)・は・有能な・人物・だった」から、表音文字列「ヘーバン(4モーラ0型)・ノ(1モーラ0型)・ヘー(2モーラ1型)・イジ(2モーラ1型)・ノ(1モーラ0型)・イ(1モーラ0型)・セーダイ(4モーラ0型)・ノ(1モーラ0型)・セー(2モーラ1型)・ワ(1モーラ0型)・ユーノーナ(5モーラ0型)・ジンブツ(4モーラ1型)・ダッタ(3モーラ0型)」を生成する。なお、表音文字列生成部13は、生成した表音文字列を韻律生成部14へ送出する。
韻律生成部14は、表音文字列生成部13から取得した表音文字列に含まれる各形態素のアクセント型に対応する韻律を韻律辞書2dから読み出し、読み出した韻律を順次連結することによって、表音文字列に対する韻律を生成する。韻律生成部14は、生成した韻律を波形生成部15へ送出する。
波形生成部(合成音声生成部)15は、韻律生成部14から取得した韻律を、波形辞書2eの格納内容に基づいて音声波形に変換して合成音声を生成する。具体的には、波形生成部15は、韻律生成部14から取得した韻律における各形態素に対応する音声波形を波形辞書2eから抽出し、抽出した音声波形と韻律とに基づいて合成音声を生成する。なお、波形生成部15によって生成された合成音声は、記憶部2に一旦記憶された後、制御部1の制御に従って音声出力部5へ送出され、音声出力部5から音声出力される。
詳細読み辞書更新部(更新部)16は、詳細読み辞書2bに格納されている詳細読み情報を更新する。図4は実施形態1の詳細読み辞書更新部16の機能構成例を示す機能ブロック図である。詳細読み辞書更新部16は、タイマ161、更新チェック部162、テキスト収集部163、形態素解析部164、頻度算出部165、単語選択部166、詳細読み情報生成部167、辞書更新部168の各機能を有する。
タイマ161は、所定時間を計時し、所定時間が経過する都度、その旨を更新チェック部162に通知する。
更新チェック部(検知部)162は、タイマ161から所定時間の経過を通知される都度、記憶部2内のメールフォルダ20に格納された電子メールの情報、又はウェブ閲覧ログフォルダ21に格納されたウェブページの情報が更新されたか否かをチェックする。例えば、更新チェック部162は、前回のチェック時にチェックした電子メールの送受信日時を記憶部2に格納しておき、格納した送受信日時よりも後の送受信日時の電子メールの情報がメールフォルダ20に格納されているか否かを検知する。また、更新チェック部162は、前回のチェック時にチェックしたウェブページの閲覧日時を記憶部2に格納しておき、格納した閲覧日時よりも後の閲覧日時のウェブページの情報がウェブ閲覧ログフォルダ21に格納されているか否かを検知する。
更新チェック部162は、メールフォルダ20に格納された電子メールの情報、又はウェブ閲覧ログフォルダ21に格納されたウェブページの情報が更新されたことを検知した場合、その旨をテキスト収集部163に通知する。なお、更新チェック部162は、前回のチェック時に記憶部2に格納した電子メールの送受信日時及びウェブページの閲覧日時をテキスト収集部163に通知すると共に、今回チェックした電子メールの送受信日時及びウェブページの閲覧日時を記憶部2に格納する。
テキスト収集部(収集部)163は、更新チェック部162から電子メールの送受信日時及びウェブページの閲覧日時を取得した場合、取得した電子メールの送受信日時よりも後の送受信日時の電子メールの本文をメールフォルダ20から収集する。なお、テキスト収集部163は、電子メールの本文の情報だけでなく、電子メールに関してメールフォルダ20に格納してある全ての情報を読み出してもよい。
また、テキスト収集部163は、取得したウェブページの閲覧日時よりも後の閲覧日時のウェブページのURLをウェブ閲覧ログフォルダ21から読み出す。テキスト収集部(収集部)163は、ウェブ閲覧ログフォルダ21から読み出したURLで示されるウェブページを、通信部6を介してネットワークから収集する。テキスト収集部163は、収集した電子メールの本文及びウェブページを形態素解析部164へ送出する。
形態素解析部164は、形態素辞書2aの格納内容に基づいて、テキスト収集部163から取得した電子メールの本文及びウェブページ(テキストデータ)を形態素に分割する。形態素解析部164は、分割した各形態素を頻度算出部165へ送出する。
頻度算出部(抽出部、計数部)165は、詳細読み辞書2bに格納されている各漢字について、各漢字を含む形態素(単語)を、形態素解析部164から取得した形態素から抽出し、抽出した各形態素の出現回数(出現頻度)を計数する。具体的には、頻度算出部165は、詳細読み辞書2bに格納されている漢字のうちの1つを読み出し、読み出した漢字を含む形態素を、形態素解析部164から取得した形態素から抽出し、抽出した各形態素の出現回数を計数する。頻度算出部165は、出現回数の多い順に、出現回数及び形態素を所定数(例えば5個、10個等)だけ単語選択部166へ送出する。
頻度算出部165は、詳細読み辞書2bに格納されている全ての漢字について、このような処理を行なう。なお、詳細読み辞書2bから読み出した漢字を含む形態素が、形態素解析部164から取得した形態素に含まれていない場合、頻度算出部165は、この漢字に対しては何も行なわない。
単語選択部(選択部)166は、頻度算出部165から取得した所定数の形態素及び各形態素の出現回数に基づいて、各形態素に含まれる漢字に対する詳細読み情報を生成するための単語(形態素)を選択する。本実施形態1の単語選択部166は、出現回数が最多の形態素を選択する。単語選択部166は、選択した形態素を詳細読み情報生成部167へ送出する。
詳細読み情報生成部(生成部)167は、単語選択部166から取得した形態素に基づいて、各漢字を説明するための詳細読み情報(説明情報)を生成する。例えば、漢字「平」を含む形態素のうちで出現回数が最多の形態素が「平行」であった場合、詳細読み情報生成部167は、形態素「平行」と漢字「平」とに基づいて、詳細読み情報「平行の平」を生成する。なお、詳細読み辞書2bに詳細読み情報の読みが格納されている場合は、詳細読み情報生成部167は、生成した詳細読み情報の読み(表音文字列)を、形態素辞書2aの格納内容に基づいて生成する。詳細読み情報生成部167は、生成した詳細読み情報を対応する漢字と共に辞書更新部168へ送出する。
辞書更新部168は、詳細読み情報生成部167から詳細読み情報及び漢字を取得した場合、取得した漢字に対して詳細読み辞書2bに格納してある詳細読み情報を、詳細読み情報生成部167から取得した詳細読み情報に更新する。
頻度算出部165、単語選択部166、詳細読み情報生成部167及び辞書更新部168は、詳細読み辞書2bに格納されている各漢字に対してそれぞれ上述した処理を行なう。これにより、音声合成装置10は、詳細読み辞書2bに格納されている全ての漢字に対する詳細読み情報を適宜更新できる。本実施形態1の音声合成装置10では、ユーザが送受信した電子メールの情報、又はユーザが閲覧したウェブページに含まれる単語(形態素)を用いて生成した詳細読み情報が詳細読み辞書2bに格納される。従って、このような詳細読み辞書2bを用いて各漢字の詳細読みを行なった場合、ユーザに馴染みのある詳細読み情報を用いることができるので、ユーザに分かり易い詳細読みが可能となる。
以下に、本実施形態1の音声合成装置10による詳細読み辞書2bの更新処理についてフローチャートに基づいて詳述する。図5は実施形態1の詳細読み辞書2bの更新処理の手順を示すフローチャートである。なお、以下の処理は、音声合成装置10の記憶部2に格納されている制御プログラムに従って制御部1によって実行される。
音声合成装置10の制御部1は、所定時間を計時し、所定時間が経過したか否かを判断し(S1)、所定時間が経過していないと判断した場合(S1:NO)、所定時間が経過するまで待機する。制御部1は、所定時間が経過したと判断した場合(S1:YES)、メールフォルダ20に格納された電子メールの情報、又はウェブ閲覧ログフォルダ21に格納されたウェブページの情報が更新されたか否かを判断する(S2)。
制御部1は、電子メールの情報及びウェブページの情報が更新されていないと判断した場合(S2:NO)、ステップS1に処理を戻し、所定時間が経過するまで待機する。電子メールの情報又はウェブページの情報が更新されたと判断した場合(S2:YES)、制御部1は、更新されたテキストデータを収集する(S3)。具体的には、制御部1は、ユーザが新たに送受信した電子メールの本文をメールフォルダ20から収集し、ユーザが新たに閲覧したウェブページのURLをウェブ閲覧ログフォルダ21から読み出す。なお、制御部1は、ウェブ閲覧ログフォルダ21から読み出したURLで示されるウェブページを、通信部6を介してネットワークから収集する。
制御部1は、収集したテキストデータを、形態素辞書2aの格納内容に基づいて形態素に分割する(S4)。制御部1は、詳細読み辞書2bに格納されている漢字のうちの1つを読み出し(S5)、読み出した漢字を含む形態素毎に、収集したテキストデータを分割した形態素における出現回数を算出する(S6)。制御部1は、詳細読み辞書2bから読み出した漢字を含む形態素が、収集したテキストデータを分割した形態素に含まれていたか否かを判断する(S7)。詳細読み辞書2bから読み出した漢字を含む形態素がないと判断した場合(S7:NO)、制御部1はステップS11に処理を移行する。
詳細読み辞書2bから読み出した漢字を含む形態素があると判断した場合(S7:YES)、制御部1は、ステップS6で算出した出現回数が最多の形態素を特定する(S8)。制御部1は、特定した形態素に基づいて、ステップS5で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S9)。例えば、制御部1は、ステップS5で詳細読み辞書2bから読み出した漢字「平」に対してステップS8で形態素「平行」を特定した場合、詳細読み情報「平行の平」を生成する。
制御部1は、生成した詳細読み情報に基づいて、詳細読み辞書2bを更新する(S10)。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したか否かを判断しており(S11)、読み出していないと判断した場合(S11:NO)、ステップS5に処理を戻す。制御部1は、詳細読み辞書2bに格納されている漢字のうちで、まだ処理されていない1つを読み出し(S5)、読み出した漢字に対して、ステップS6〜S10の処理を行なう。
制御部1は、詳細読み辞書2bに格納してある全ての漢字に対して上述した処理を行なうまで、ステップS5〜S11の処理を繰り返す。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したと判断した場合(S11:YES)、上述した処理を終了する。
上述した処理により、本実施形態1の音声合成装置10は、ユーザが扱うテキストデータに含まれる単語(形態素)を用いて生成した詳細読み情報を詳細読み辞書2bに格納できる。従って、このような詳細読み辞書2bを用いて各漢字の詳細読みを行なった場合、ユーザに馴染みのある詳細読み情報を用いるので、ユーザに分かり易い詳細読みを実現できる。
本実施形態1の音声合成装置10は、ユーザが扱うテキストデータとして、電子メール及びウェブページの情報に基づいて詳細読み辞書2bを更新していた。このほかに、音声合成装置10は、例えば、ユーザから任意のテキストデータを指定され、指定されたテキストデータに基づいて詳細読み辞書2bの更新処理を行なってもよい。また、音声合成装置10は、ユーザから指定された任意のテキストデータが更新されたか否かを検知しておき、更新される都度、詳細読み辞書2bの更新処理を行なってもよい。更に、詳細読み辞書2bの更新処理のみを、外部のサーバに実行させ、音声合成装置10は、サーバによって更新された詳細読み辞書2bを取得して記憶部2に記憶させてもよい。
本実施形態1の音声合成装置10は、ユーザが扱うテキストデータにおいて、詳細読み辞書2bに格納してある各漢字を含む形態素の出現回数が最多の形態素を用いて、各漢字の詳細読み情報を生成していた。更に、音声合成装置10は、詳細読み辞書2bの更新処理を行なう際に逐次計数する各形態素の出現回数を蓄積しておき、出現回数の総数が最多の形態素を用いて各漢字の詳細読み情報を生成してもよい。
本実施形態1の音声読み上げ装置10は、合成音声を生成する処理対象のテキストデータ中に、形態素辞書2aに登録されていない単語(未知語)が含まれる場合、この未知語に対して詳細読みを行なっていた。このほかに、音声合成装置10は、例えば、合成音声を生成する処理対象のテキストデータにおいて、ユーザから詳細読みを行なう領域の指定を受け付け、指定された領域に含まれる全ての漢字に対して詳細読みを行なってもよい。
(実施形態2)
以下に、実施形態2に係る音声合成装置について説明する。なお、本実施形態2の音声合成装置は、上述した実施形態1の音声合成装置10と同様の構成によって実現できるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1の音声合成装置10は、ユーザが扱うテキストデータにおいて出現回数が最多の形態素(単語)を用いて各漢字に対する詳細読み情報を生成していた。本実施形態2の音声合成装置10は、出現回数が最多の形態素(単語)に同音異義語がある場合、この形態素に同義語を付加してこの形態素を説明しつつ、この形態素を用いて各漢字に対する詳細読み情報を生成する。
本実施形態2の音声合成装置10は、図1に示した構成のほかに、記憶部2に、同音異義語辞書22及び同義語辞書23を格納している。図6は同音異義語辞書22及び同義語辞書23の格納内容を示す模式図である。図6(a)に示すように、同音異義語辞書22には、読み(厳密には音読み)が同じで意味が異なる単語、即ち同音異義語がそれぞれ対応付けて格納されている。例えば、同音異義語辞書22には、「完了」と「官僚」とが対応付けて格納されている。同音異義語辞書22の格納内容は、予め格納されていてもよいし、ユーザによって任意に更新されてもよい。
図6(b)に示すように、同義語辞書(シソーラス)23には、意味が同じ又は類似する単語、即ち同義語がそれぞれ対応付けて格納されている。例えば、同義語辞書23には、「完了」及び「終了」、「官僚」及び「役人」がそれぞれ対応付けて格納されている。同義語辞書23の格納内容も、予め格納されていてもよいし、ユーザによって任意に更新されてもよい。
本実施形態2の音声合成装置10において、制御部1は、記憶部2に記憶してある制御プログラムを実行することによって、図3及び図4に示した各機能を実現する。ただし、本実施形態2の音声合成装置10においては、単語選択部166による処理が、上述した実施形態1の単語選択部166による処理とは異なる。
図7は実施形態2の詳細読み辞書更新部16の機能構成例を示す機能ブロック図である。本実施形態2の単語選択部166は、頻度算出部165から取得した所定数の形態素及び各形態素の出現回数に基づいて、出現回数が最多の形態素を選択する。単語選択部(判断部)166は、出現回数が最多の形態素を選択した場合、同音異義語辞書22の格納内容に基づいて、選択した形態素に同音異義語があるか否かを判断する。
単語選択部(同義語取得部)166は、選択した形態素に同音異義語があると判断した場合、選択した形態素の同義語を同義語辞書23から1つ読み出す。単語選択部166は、選択した形態素の同義語を同義語辞書23から読み出した場合、選択した形態素及び同義語辞書23から読み出した同義語を詳細読み情報生成部167へ送出する。なお、選択した形態素に同音異義語がないと判断した場合、単語選択部166は、実施形態1と同様に、選択した形態素のみを詳細読み情報生成部167へ送出する。
本実施形態2の詳細読み情報生成部167は、単語選択部166から形態素のみを取得した場合、実施形態1と同様の方法によって、各漢字を説明するための詳細読み情報を生成する。例えば、漢字「平」を含む形態素のうちで出現回数が最多の形態素が「平行」であった場合、詳細読み情報生成部167は、詳細読み情報「平行の平」を生成する。
詳細読み情報生成部167は、単語選択部166から形態素及び同義語を取得した場合、取得した形態素及び同義語に基づいて、各漢字を説明するための詳細読み情報(説明情報)を生成する。例えば、漢字「完」を含む形態素のうちで出現回数が最多の形態素が「完了」であった場合、単語選択部166は、形態素「完了」の同義語「終了」を同義語辞書23から読み出す。この場合、詳細読み情報生成部167は、漢字「完」に対する詳細読み情報「終了の完了の完」を生成する。
また、例えば、漢字「官」を含む形態素のうちで出現回数が最多の形態素が「官僚」であった場合、単語選択部166は、形態素「官僚」の同義語「役人」を同義語辞書23から読み出す。この場合、詳細読み情報生成部167は、漢字「官」に対する詳細読み情報「役人の官僚の官」を生成する。詳細読み情報生成部167は、生成した詳細読み情報を対応する漢字と共に辞書更新部168へ送出する。
これにより、本実施形態2の音声合成装置10は、詳細読み辞書2bに格納される詳細読み情報を生成するために選択した単語(形態素)に同音異義語がある場合に、この単語の意味を明確にした詳細読み情報を生成できる。
以下に、本実施形態2の音声合成装置10による詳細読み辞書2bの更新処理についてフローチャートに基づいて詳述する。図8及び図9は実施形態2の詳細読み辞書2bの更新処理の手順を示すフローチャートである。なお、以下の処理は、音声合成装置10の記憶部2に格納されている制御プログラムに従って制御部1によって実行される。
図8及び図9中のステップS21からS28までの処理は、上述した実施形態1で説明した図5中のステップS1からS8までの処理と同一であるので、説明を省略する。
本実施形態2の音声合成装置10において、制御部1は、ステップS28で特定した形態素に同音異義語があるか否かを、同音異義語辞書22の格納内容に基づいて判断する(S29)。
制御部1は、同音異義語があると判断した場合(S29:YES)、ステップS28で特定した形態素の同義語を同義語辞書23から読み出す(S30)。制御部1は、ステップS28で特定した形態素と、同義語辞書23から読み出した同義語とに基づいて、ステップS25で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S31)。例えば、制御部1は、ステップS25で読み出した漢字「完」に対してステップS28で形態素「完了」を特定し、ステップS30で形態素「完了」の同義語「終了」を読み出した場合、詳細読み情報「終了の完了の完」を生成する。
一方、同音異義語がないと判断した場合(S29:NO)、制御部1は、ステップS30の処理をスキップし、ステップS28で特定した形態素に基づいて、ステップS25で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S31)。
制御部1は、生成した詳細読み情報に基づいて、詳細読み辞書2bを更新する(S32)。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したか否かを判断しており(S33)、読み出していないと判断した場合(S33:NO)、ステップS25に処理を戻す。制御部1は、詳細読み辞書2bに格納されている漢字のうちで、まだ処理されていない1つを読み出し(S25)、読み出した漢字に対して、ステップS26〜S32の処理を行なう。
制御部1は、詳細読み辞書2bに格納してある全ての漢字に対して上述した処理を行なうまで、ステップS25〜S33の処理を繰り返す。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したと判断した場合(S33:YES)、上述した処理を終了する。
上述した処理により、本実施形態2の音声合成装置10は、詳細読み辞書2bに格納される詳細読み情報を生成するために選択した単語(形態素)に同音異義語がある場合に、この単語の同義語によって、この単語の意味を明確にした詳細読み情報を生成できる。従って、このような詳細読み情報が格納された詳細読み辞書2bを用いて各漢字の詳細読みを行なった場合、同音異義語によってユーザに誤解を与えず、ユーザがより理解し易い詳細読みが可能となる。
本実施形態2の音声合成装置10は、ユーザが扱うテキストデータにおいて出現回数が最多の形態素を用い、この形態素に同音異義語がある場合にはこの形態素の同義語も用いて詳細読み情報を生成していた。このほかに、音声合成装置10は、例えば、出現回数は最多ではないが、同音異義語を有さない形態素を優先的に選択し、この形態素を用いて詳細読み情報を生成してもよい。この場合、詳細読み情報に含まれる形態素に同音異義語がないので、同音異義語によってユーザに誤解を与えることを確実に防止した詳細読みが可能となる。
(実施形態3)
以下に、実施形態3に係る音声合成装置について説明する。なお、本実施形態3の音声合成装置は、上述した実施形態1の音声合成装置10と同様の構成によって実現できるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1の音声合成装置10は、ユーザが扱うテキストデータにおいて出現回数が最多の形態素(単語)を用いて各漢字に対する詳細読み情報を生成していた。本実施形態3の音声合成装置10は、各単語が一般的に使用される頻度を予め計数しておき、出現回数が最多の形態素(単語)の使用頻度が所定値以上であれば、この形態素を用いて各漢字に対する詳細読み情報を生成する。
本実施形態3の音声合成装置10は、図1に示した構成のほかに、記憶部2に一般使用頻度情報DB24を格納している。詳細については図示しないが、一般使用頻度情報DB(使用頻度記憶部)24には、複数の形態素(単語)のそれぞれに対して、各形態素が一般的に使用される頻度が対応付けて記憶されている。一般使用頻度情報DB24は、例えば、日本語の大規模なテキストコーパスにおける各形態素の出現頻度を算出することによって生成される。なお、算出した各形態素の出現頻度を所定の基準値に基づいて正規化した値を一般使用頻度情報DB24に格納しておくことにより、各形態素の一般的な使用頻度としてもよい。
本実施形態3の音声合成装置10において、制御部1は、記憶部2に記憶してある制御プログラムを実行することによって、図3及び図4に示した各機能を実現する。ただし、本実施形態3の音声合成装置10においては、単語選択部166による処理が、上述した実施形態1の単語選択部166による処理とは異なる。
図10は実施形態3の詳細読み辞書更新部16の機能構成例を示す機能ブロック図である。本実施形態3の単語選択部166は、頻度算出部165から取得した所定数の形態素及び各形態素の出現回数に基づいて、出現回数が最多の形態素を選択する。単語選択部(使用頻度取得部)166は、出現回数が最多の形態素を選択した場合、選択した形態素(単語)の一般的な使用頻度を一般使用頻度情報DB24から読み出す。
単語選択部166は、一般使用頻度情報DB24から読み出した使用頻度が所定値以上であるか否かを判断し、所定値以上であると判断した場合、選択した形態素を詳細読み情報生成部167へ送出する。一方、一般使用頻度情報DB24から読み出した使用頻度が所定値未満であると判断した場合、単語選択部166は、頻度算出部165から取得した所定数の形態素及び各形態素の出現回数に基づいて、出現回数が次に多い形態素を選択する。そして、単語選択部166は、選択した形態素の一般的な使用頻度を一般使用頻度情報DB24から読み出し、読み出した使用頻度が所定値以上であるか否かを判断する。
単語選択部166は、一般的な使用頻度が所定値以上の形態素のうちで、頻度算出部165によって計数された出現回数が最多の形態素を選択するまで、上述した処理を繰り返す。そして、単語選択部166は、一般的な使用頻度が所定値以上であり、頻度算出部165によって計数された出現回数が最多の形態素を選択した場合、この形態素を詳細読み情報生成部167へ送出する。
本実施形態3の詳細読み情報生成部167は、単語選択部166から形態素を取得した場合、実施形態1と同様の方法によって、各漢字を説明するための詳細読み情報を生成する。例えば、漢字「平」を含む形態素のうちで出現回数が最多の形態素が「平行」であった場合、詳細読み情報生成部167は、詳細読み情報「平行の平」を生成する。
これにより、本実施形態3の音声合成装置10は、詳細読み辞書2bに格納される詳細読み情報を生成するために選択した単語(形態素)の一般的な使用頻度が所定値以上であれば、この単語を用いた詳細読み情報を生成する。即ち、ユーザが扱うテキストデータにおける出現回数が多い形態素であっても、一般的な使用頻度が少ない場合は、詳細読み情報の生成には用いない。よって、一般的に使用されにくい単語を用いた詳細読み情報が詳細読み辞書2bに格納されることを防止できる。
以下に、本実施形態3の音声合成装置10による詳細読み辞書2bの更新処理についてフローチャートに基づいて詳述する。図11及び図12は実施形態3の詳細読み辞書2bの更新処理の手順を示すフローチャートである。なお、以下の処理は、音声合成装置10の記憶部2に格納されている制御プログラムに従って制御部1によって実行される。
図11及び図12中のステップS41からS48までの処理は、上述した実施形態1で説明した図5中のステップS1からS8までの処理と同一であるので、説明を省略する。
本実施形態3の音声合成装置10において、制御部1は、ステップS48で特定した形態素の一般的な使用頻度を一般使用頻度情報DB24から読み出す(S49)。
制御部1は、一般使用頻度情報DB24から読み出した使用頻度が所定値以上であるか否かを判断し(S50)、所定値未満であると判断した場合(S50:NO)、ステップS47に処理を戻す。制御部1は、ステップS45で詳細読み辞書2bから読み出した漢字を含む形態素のうちで、まだ処理されていない形態素があるか否かを判断する(S47)。まだ処理されていない形態素があると判断した場合(S47:YES)、制御部1は、まだ処理されていない形態素のうちで、ステップS46で算出した出現回数が最多の形態素を特定する(S48)
制御部1は、特定した形態素の一般的な使用頻度を一般使用頻度情報DB24から読み出し(S49)、読み出した使用頻度が所定値以上であるか否かを判断する(S50)。制御部1は、特定した形態素の一般的な使用頻度が所定値以上であると判断するまで、ステップS47〜S50の処理を繰り返す。なお、制御部1は、まだ処理されていない形態素がないと判断した場合(S47:NO)、ステップS53に処理を移行する。
ステップS49で読み出した使用頻度が所定値以上であると判断した場合(S50:YES)、制御部1は、ステップS48で特定した形態素に基づいて、ステップS45で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S51)。制御部1は、生成した詳細読み情報に基づいて、詳細読み辞書2bを更新する(S52)。
制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したか否かを判断しており(S53)、読み出していないと判断した場合(S53:NO)、ステップS45に処理を戻す。制御部1は、詳細読み辞書2bに格納されている漢字のうちで、まだ処理されていない1つを読み出し(S45)、読み出した漢字に対して、ステップS46〜S52の処理を行なう。
制御部1は、詳細読み辞書2bに格納してある全ての漢字に対して上述した処理を行なうまで、ステップS45〜S53の処理を繰り返す。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したと判断した場合(S53:YES)、上述した処理を終了する。
上述した処理により、本実施形態3の音声合成装置10は、詳細読み辞書2bに格納される詳細読み情報を生成するために選択した単語(形態素)の一般的な使用頻度が所定値以上である場合に、この単語を用いた詳細読み情報を生成できる。従って、本実施形態3の音声合成装置10は、一般的に使用される単語を用いた詳細読み情報を詳細読み辞書2bに格納できる。よって、ユーザに馴染みのある単語であり、且つ、一般的に使用される単語を用いた詳細読みが可能となり、ユーザが理解し易い詳細読みを実現できる。
本実施形態3は、上述した実施形態1の変形例として説明したが、上述した実施形態2の構成にも適用することができる。具体的には、ユーザが扱うテキストデータにおける出現回数が多く、一般的な使用頻度が所定数以上である形態素を特定し、特定した形態素に同音異義語があれば、この形態素の同義語も用いた詳細読み情報を生成してもよい。
(実施形態4)
以下に、実施形態4に係る音声合成装置について説明する。なお、本実施形態4の音声合成装置は、上述した実施形態1の音声合成装置10と同様の構成によって実現できるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1の音声合成装置10は、ユーザが扱うテキストデータにおいて出現回数が最多の形態素(単語)を用いて各漢字に対する詳細読み情報を生成していた。本実施形態4の音声合成装置10は、ユーザが扱うテキストデータにおける出現回数が多く、詳細読み情報を付与する各漢字を音読みする形態素と、各漢字を訓読みする形態素との両方を用いて詳細読み情報を生成する。
本実施形態4の音声合成装置10は、図1に示した構成のほかに、記憶部2に音訓読み辞書25を格納している。詳細については図示しないが、音訓読み辞書(読み辞書)25には、複数の漢字の音読み及び訓読みが対応付けて記憶されている。
本実施形態4の音声合成装置10において、制御部1は、記憶部2に記憶してある制御プログラムを実行することによって、図3及び図4に示した各機能を実現する。ただし、本実施形態4の音声合成装置10においては、単語選択部166による処理が、上述した実施形態1の単語選択部166による処理とは異なる。
図13は実施形態4の詳細読み辞書更新部16の機能構成例を示す機能ブロック図である。本実施形態4の単語選択部166は、頻度算出部165から取得した所定数の形態素及び各形態素の出現回数に基づいて、出現回数が最多の形態素を選択する。単語選択部(読み判定部)166は、出現回数が最多の形態素を選択した場合、音訓読み辞書25の格納内容に基づいて、選択した形態素(単語)中の、詳細読み情報を付与したい漢字が音読みされているか、訓読みされているかを判定する。
例えば、漢字「花」に対して形態素「花瓶」が選択されていた場合、単語選択部166は、選択した形態素「花瓶」中の漢字「花」が音読みされていると判定する。また、例えば、漢字「花」に対して形態素「花束」が選択されていた場合、単語選択部166は、選択した形態素「花束」中の漢字「花」が訓読みされていると判定する。
詳細読み情報を付与したい漢字が音読みされていると判定した場合、単語選択部166は、頻度算出部165から取得した形態素及び各形態素の出現回数に基づいて、漢字が訓読みされている形態素のうちで、出現回数が最多の形態素を選択する。一方、詳細読み情報を付与したい漢字が訓読みされていると判定した場合、単語選択部166は、頻度算出部165から取得した形態素及び各形態素の出現回数に基づいて、漢字が音読みされている形態素のうちで、出現回数が最多の形態素を選択する。
単語選択部166は、漢字が音読みされている形態素及び漢字が訓読みされている形態素をそれぞれ特定できた場合、特定した2つの形態素を詳細読み情報生成部167へ送出する。なお、漢字が音読みされている形態素及び漢字が訓読みされている形態素の一方しか特定できなかった場合、単語選択部166は、特定した1つの形態素を詳細読み情報生成部167へ送出する。
本実施形態4の詳細読み情報生成部167は、単語選択部166から1つの形態素を取得した場合、実施形態1と同様の方法によって、各漢字を説明するための詳細読み情報を生成する。
詳細読み情報生成部167は、単語選択部166から2つの形態素を取得した場合、取得した2つの形態素に基づいて、各漢字を説明するための詳細読み情報(説明情報)を生成する。例えば、漢字「花」を含む形態素のうちで漢字「花」を音読みし、出現回数が最多の形態素が「花瓶」であり、漢字「花」を含む形態素のうちで漢字「花」を訓読みし、出現回数が最多の形態素が「花束」であった場合がある。この場合、詳細読み情報生成部167は、例えば、漢字「花」に対する詳細読み情報「花瓶の花 または 花束の花」を生成する。なお、詳細読み情報は、このような例に限られない。詳細読み情報生成部167は、生成した詳細読み情報を対応する漢字と共に辞書更新部168へ送出する。
これにより、本実施形態4の音声合成装置10は、詳細読み情報を付与したい漢字を含み、該漢字が音読みされている単語(形態素)及び該漢字が訓読みされている単語(形態素)を用いた詳細読み情報を生成する。よって、各漢字を説明するための詳細読み情報に、各漢字を音読みした例と、各漢字を訓読みした例とを含めることができる。
以下に、本実施形態4の音声合成装置10による詳細読み辞書2bの更新処理についてフローチャートに基づいて詳述する。図14及び図15は実施形態4の詳細読み辞書2bの更新処理の手順を示すフローチャートである。なお、以下の処理は、音声合成装置10の記憶部2に格納されている制御プログラムに従って制御部1によって実行される。
図14及び図15中のステップS61からS68までの処理は、上述した実施形態1で説明した図5中のステップS1からS8までの処理と同一であるので、説明を省略する。
本実施形態4の音声合成装置10において、制御部1は、ステップS68で特定した形態素において、ステップS65で読み出した漢字が音読みされているか否かを判断する(S69)。
音読みされていると判断した場合(S69:YES)、制御部1は、ステップS66で算出した出現回数に基づいて、ステップS65で読み出した漢字が訓読みされている形態素のうちで、出現回数が最多の形態素を選択する(S70)。一方、訓読みされていると判断した場合(S69:NO)、制御部1は、ステップS66で算出した出現回数に基づいて、ステップS65で読み出した漢字が音読みされている形態素のうちで、出現回数が最多の形態素を選択する(S71)。
制御部1は、ステップS70で漢字が訓読みされている形態素を選択できたか否か、又は、ステップS71で漢字が音読みされている形態素を選択できたか否かを判断する(S72)。選択できたと判断した場合(S72:YES)、制御部1は、ステップS68で特定した形態素と、ステップS70又はS71で選択した形態素とに基づいて、ステップS65で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S73)。
例えば、制御部1は、ステップS65で詳細読み辞書2bから読み出した漢字「花」に対してステップS68で形態素「花瓶」を特定し、ステップS70で形態素「花束」を選択した場合、詳細読み情報「花瓶の花 または 花束の花」を生成する。また、制御部1は、ステップS65で詳細読み辞書2bから読み出した漢字「花」に対してステップS68で形態素「花束」を特定し、ステップS70で形態素「花瓶」を選択した場合、詳細読み情報「花束の花 または 花瓶の花」を生成する。
一方、ステップS70で漢字が訓読みされている形態素を選択できなかった場合、又は、ステップS71で漢字が音読みされている形態素を選択できなかった場合(S72:NO)、制御部1は、ステップS68で特定した形態素に基づいて、ステップS65で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S74)。
制御部1は、生成した詳細読み情報に基づいて、詳細読み辞書2bを更新する(S75)。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したか否かを判断しており(S76)、読み出していないと判断した場合(S76:NO)、ステップS65に処理を戻す。制御部1は、詳細読み辞書2bに格納されている漢字のうちで、まだ処理されていない1つを読み出し(S65)、読み出した漢字に対して、ステップS66〜S75の処理を行なう。
制御部1は、詳細読み辞書2bに格納してある全ての漢字に対して上述した処理を行なうまで、ステップS65〜S76の処理を繰り返す。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したと判断した場合(S76:YES)、上述した処理を終了する。
上述した処理により、本実施形態4の音声合成装置10は、詳細読み情報を付与したい漢字を含み、該漢字が音読みされている形態素及び該漢字が訓読みされている形態素を用いた詳細読み情報を生成できる。従って、本実施形態4の音声合成装置10は、各漢字を音読みした例と各漢字を訓読みした例とが各漢字に対する詳細読み情報に含まれるので、ユーザが理解し易い詳細読みを実現できる。
本実施形態4は、上述した実施形態1の変形例として説明したが、上述した実施形態2,3の構成にも適用することができる。
(実施形態5)
以下に、実施形態5に係る音声合成装置について説明する。なお、本実施形態5の音声合成装置は、上述した実施形態1の音声合成装置10と同様の構成によって実現できるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1の音声合成装置10は、ユーザが扱うテキストデータにおいて、詳細読み辞書2bに記憶してある各漢字を含む形態素の出現回数を計数し、出現回数が最多の形態素(単語)を用いて各漢字に対する詳細読み情報を生成していた。本実施形態5の音声合成装置10は、詳細読み辞書2bに記憶してある各漢字を含む形態素だけでなく、詳細読み辞書2bに記憶してある各漢字を日本語訳に含む英単語の出現回数も計数する。そして、本実施形態5の音声合成装置10は、出現回数が最多の形態素又は英単語を用いて各漢字に対する詳細読み情報を生成する。
本実施形態5の音声合成装置10は、図1に示した構成のほかに、記憶部2に英単語辞書26を格納している。図16は英単語辞書26の格納内容を示す模式図である。図16に示すように、英単語辞書(英和辞書)26には、複数の英単語について、綴り、読み及び日本語訳が対応付けて記憶されている。英単語辞書26の格納内容は、予め格納されていてもよいし、ユーザによって任意に更新されてもよい。
本実施形態5の音声合成装置10において、制御部1は、記憶部2に記憶してある制御プログラムを実行することによって、図3及び図4に示した各機能を実現する。ただし、本実施形態5の音声合成装置10においては、頻度算出部165による処理が、上述した実施形態1の頻度算出部165による処理とは異なる。
図17は実施形態5の詳細読み辞書更新部16の機能構成例を示す機能ブロック図である。本実施形態5の頻度算出部(読出部)165は、英単語辞書26に格納されている英単語のうちで、詳細読み辞書2bに格納されている各漢字を日本語訳に含む英単語を読み出す。そして、頻度算出部165は、詳細読み辞書2bに格納されている各漢字を含む形態素と、英単語辞書26から読み出した英単語を含む形態素とを、形態素解析部164から取得した形態素から抽出する。また、頻度算出部165は、抽出した各形態素の出現回数を計数する。
具体的には、頻度算出部165は、詳細読み辞書2bに格納されている漢字のうちの1つを読み出し、読み出した漢字を日本語訳に含む英単語を英単語辞書26から読み出す。そして、頻度算出部165は、詳細読み辞書2bから読み出した漢字を含む形態素と、英単語辞書26から読み出した英単語を含む形態素とを、形態素解析部164から取得した形態素から抽出し、抽出した各形態素の出現回数を計数する。頻度算出部165は、出現回数の多い順に、出現回数及び形態素を所定数(例えば5個、10個等)だけ単語選択部166へ送出する。
単語選択部166は、頻度算出部165から取得した所定数の形態素及び各形態素の出現回数に基づいて、出現回数が最多の形態素を選択する。なお、本実施形態5では、単語選択部166は、出現回数が最多の形態素として、英単語を含む形態素を選択する場合もある。単語選択部166は、選択した形態素を詳細読み情報生成部167へ送出する。
詳細読み情報生成部167は、単語選択部166から取得した形態素に基づいて、各漢字を説明するための詳細読み情報(説明情報)を生成する。なお、漢字「花」を含む形態素のうちで出現回数が最多の形態素が「flower」であった場合、詳細読み情報生成部167は、形態素「flower」と漢字「花」とに基づいて、詳細読み情報「flowerの花」を生成する。また、漢字「鼻」を含む形態素のうちで出現回数が最多の形態素が「nose」であった場合、詳細読み情報生成部167は、形態素「nose」と漢字「鼻」とに基づいて、詳細読み情報「noseの鼻」を生成する。詳細読み情報生成部167は、生成した詳細読み情報を対応する漢字と共に辞書更新部168へ送出する。
これにより、本実施形態5の音声合成装置10は、詳細読み情報を付与したい漢字を日本語訳に含む英単語を用いた詳細読み情報を生成できる。よって、各漢字を含む熟語よりも、各漢字を日本語訳に含む英単語の方をよく使用するユーザに対しては、英単語を用いた詳細読みが可能となる。
以下に、本実施形態5の音声合成装置10による詳細読み辞書2bの更新処理についてフローチャートに基づいて詳述する。図18及び図19は実施形態5の詳細読み辞書2bの更新処理の手順を示すフローチャートである。なお、以下の処理は、音声合成装置10の記憶部2に格納されている制御プログラムに従って制御部1によって実行される。
図18中のステップS81からS85までの処理は、上述した実施形態1で説明した図5中のステップS1からS5までの処理と同一であるので、説明を省略する。
本実施形態5の音声合成装置10において、制御部1は、ステップS85で読み出した漢字を日本語訳に含む英単語を英単語辞書26から読み出す(S86)。
制御部1は、ステップS85で読み出した漢字を含む形態素及びステップS86で読み出した英単語を含む形態素毎に、収集したテキストデータを分割した形態素における出現回数を算出する(S87)。制御部1は、詳細読み辞書2bから読み出した漢字を含む形態素、又は英単語辞書26から読み出した英単語を含む形態素が、収集したテキストデータを分割した形態素に含まれていたか否かを判断する(S88)。
詳細読み辞書2bから読み出した漢字を含む形態素、及び英単語辞書26から読み出した英単語を含む形態素がないと判断した場合(S88:NO)、制御部1はステップS92に処理を移行する。詳細読み辞書2bから読み出した漢字を含む形態素、又は英単語辞書26から読み出した英単語を含む形態素があると判断した場合(S88:YES)、制御部1は、ステップS87で算出した出現回数が最多の形態素を特定する(S89)。
制御部1は、特定した形態素に基づいて、ステップS85で詳細読み辞書2bから読み出した漢字に対する詳細読み情報を生成する(S90)。例えば、制御部1は、ステップS85で詳細読み辞書2bから読み出した漢字「花」に対してステップS89で形態素「flower」を特定した場合、詳細読み情報「flowerの花」を生成する。
制御部1は、生成した詳細読み情報に基づいて、詳細読み辞書2bを更新する(S91)。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したか否かを判断しており(S92)、読み出していないと判断した場合(S92:NO)、ステップS85に処理を戻す。制御部1は、詳細読み辞書2bに格納されている漢字のうちで、まだ処理されていない1つを読み出し(S85)、読み出した漢字に対して、ステップS86〜S91の処理を行なう。
制御部1は、詳細読み辞書2bに格納してある全ての漢字に対して上述した処理を行なうまで、ステップS85〜S92の処理を繰り返す。制御部1は、詳細読み辞書2bに格納してある全ての漢字を読み出したと判断した場合(S92:YES)、上述した処理を終了する。
上述した処理により、本実施形態5の音声合成装置10は、詳細読み情報を付与したい漢字を日本語訳に含む英単語を用いた詳細読み情報を生成できる。よって、各漢字を含む熟語よりも、各漢字を日本語訳に含む英単語の使用頻度が多いユーザに対しては、英単語を用いた詳細読みを行なうことができる。従って、例えば、英文の電子メールを頻繁に送受信するユーザ、又は英文のウェブページを頻繁に閲覧するユーザに対して、英単語を用いた詳細読みを行なうことにより、ユーザがより理解し易い詳細読みを実現できる。
(実施形態6)
以下に、実施形態6に係る音声合成装置について説明する。図20は実施形態6の音声合成装置の構成例を示すブロック図である。本実施形態6の音声合成装置10は、図1に示したハードウェア各部のほかに外部記憶装置7を備える。外部記憶装置7は、例えば、CD−ROMドライブ又はDVDドライブ等であり、CD−ROM又はDVD−ROM等である記録媒体7aから、記録媒体7aに格納されたデータを読み出す。
記録媒体7aは、上述の各実施形態で説明した音声合成装置10として動作するために必要な制御プログラムを記録している。外部記憶装置7は、記録媒体7aから制御プログラムを読み出して記憶部2に格納させる。制御部1は、記憶部2に格納された制御プログラムを順次実行し、これにより、本実施形態6の音声合成装置10は、上述の各実施形態で説明した音声合成装置10と同様の動作を行なう。
記録媒体7aとしては、CD−ROM又はDVD−ROMのほかに、フレキシブルディスク、メモリカード、USB(Universal Serial Bus)メモリ等、各種の記録媒体を用いることができる。また、音声合成装置10は、上述の各実施形態で説明した音声合成装置10として動作するために必要な制御プログラムを、ネットワークを介してダウンロードして記憶部2に格納させてもよい。
以上の実施形態1〜6を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
テキストデータを入力して合成音声を生成する音声合成装置において、
複数の漢字のそれぞれを示す情報と、各漢字を説明するための説明情報とを対応付けて記憶する漢字辞書と、
テキストデータを入力して、各漢字を説明するための説明情報を生成する生成部と、
該生成部が生成した説明情報に基づいて、前記漢字辞書に各漢字に対応付けて記憶してある説明情報を更新する更新部と、
前記テキストデータを形態素に分割する形態素解析部と、
該形態素解析部が分割した形態素に含まれる漢字に、前記漢字辞書に記憶してある説明情報を付加する付加部と、
該付加部が説明情報を付加した形態素のそれぞれにアクセント型を付与するアクセント型付与部と、
該アクセント型付与部が付与したアクセント型に基づいて、前記形態素に対応する韻律を生成する韻律生成部と、
該韻律生成部が生成した韻律に基づいて合成音声を生成する合成音声生成部と
を備える音声合成装置。
(付記2)
前記テキストデータを収集する収集部と、
該収集部が収集したテキストデータから、前記漢字辞書に記憶してある各漢字を含む単語をそれぞれ抽出する抽出部と、
該抽出部が抽出した各単語の出現回数を計数する計数部と、
該計数部が計数した出現回数が多い単語を、前記抽出部が抽出した単語から選択する選択部とを備え、
前記生成部は、前記選択部が選択した単語に基づいて、各漢字を説明するための説明情報を生成する付記1に記載の音声合成装置。
(付記3)
同音異義語を記憶する同音異義語辞書と、
同義語を記憶する同義語辞書と、
前記同音異義語辞書に基づいて、前記選択部が選択した単語に同音異義語があるか否かを判断する判断部と、
該判断部によって同音異義語があると判断された場合、前記単語の同義語を前記同義語辞書から取得する同義語取得部とを備え、
前記生成部は、前記選択部が選択した単語及び前記同義語取得部が取得した同義語に基づいて、各漢字を説明するための説明情報を生成する付記2に記載の音声合成装置。
(付記4)
複数の単語のそれぞれに対する使用頻度を記憶する使用頻度記憶部と、
前記選択部が選択した単語の使用頻度を前記使用頻度記憶部から取得する使用頻度取得部とを備え、
前記生成部は、前記使用頻度取得部が取得した使用頻度が所定値以上である場合に、前記選択部が選択した単語に基づいて、各漢字を説明するための説明情報を生成する付記2に記載の音声合成装置。
(付記5)
各漢字の音読み及び訓読みを記憶した読み辞書と、
該読み辞書に基づいて、前記選択部が選択した単語に含まれる前記漢字が音読みされているか訓読みされているかを判定する読み判定部と、
該読み判定部が音読み又は訓読みされていると判定した場合、前記計数部が計数した出現回数が多く、前記漢字が訓読み又は音読みされている単語を、前記抽出部が抽出した単語から選択する単語選択部とを備え、
前記生成部は、前記選択部が選択した単語及び前記単語選択部が選択した単語に基づいて、各漢字を説明するための説明情報を生成する付記2に記載の音声合成装置。
(付記6)
複数の英単語のそれぞれと、各英単語の日本語訳とを対応付けて記憶する英和辞書と、
該英和辞書に記憶してある英単語から、前記漢字辞書に記憶してある各漢字を日本語訳に含む英単語を読み出す読出部とを備え、
前記抽出部は、前記収集部が収集したテキストデータから、前記読出部が読み出した英単語を抽出する付記2に記載の音声合成装置。
(付記7)
前記所定のテキストデータを記憶するテキスト記憶部と、
該テキスト記憶部に記憶してあるテキストデータが更新されたことを検知する検知部とを備え、
前記収集部は、前記検知部が前記テキストデータの更新を検知した場合に、更新されたテキストデータを前記テキスト記憶部から収集する付記2から6までのいずれかひとつに記載の音声合成装置。
(付記8)
前記所定のテキストデータは、電子メールデータ及び/又はウェブページを含む付記1から7までのいずれかひとつに記載の音声合成装置。
(付記9)
形態素を示す情報を記憶する形態素辞書を備え、
前記形態素解析部は、前記形態素辞書の記憶内容に基づいて、テキストデータを形態素に分割し、
前記付加部は、前記形態素辞書に記憶されていない形態素に含まれる漢字に、前記漢字辞書に記憶してある説明情報を付加する付記1から8までのいずれかひとつに記載の音声合成装置。
(付記10)
テキストデータに含まれる各漢字に、各漢字を説明するための説明情報を付加する指示を受け付ける受付部を備え、
前記付加部は、前記形態素解析部が解析した形態素に含まれる漢字のうちで、前記受付部が説明情報を付加する指示を受け付けた漢字に、前記漢字辞書に記憶してある説明情報を付加する付記1から8までのいずれかひとつに記載の音声合成装置。
(付記11)
コンピュータによってテキストデータを入力して合成音声を生成する音声合成方法であって、
コンピュータが、
テキストデータを入力して、複数の漢字のそれぞれを説明するための説明情報を生成するステップと、
生成した説明情報に基づいて、各漢字を示す情報及び各漢字を説明するための説明情報を対応付けて記憶する漢字辞書を更新するステップと、
前記テキストデータを形態素に分割するステップと、
該分割した形態素に含まれる漢字に、前記漢字辞書に記憶してある前記漢字に対応する説明情報を付加するステップと、
該説明情報を付加した形態素のそれぞれにアクセント型を付与するステップと、
前記形態素に付与したアクセント型に基づいて、前記形態素に対応する韻律を生成するステップと、
該生成した韻律に基づいて合成音声を生成するステップと
を含むステップを実行する音声合成方法。
(付記12)
コンピュータに、テキストデータを入力して合成音声を生成させるためのコンピュータプログラムにおいて、
コンピュータに、
テキストデータを入力して、複数の漢字のそれぞれを説明するための説明情報を生成するステップと、
生成した説明情報に基づいて、各漢字を示す情報及び各漢字を説明するための説明情報を対応付けて記憶する漢字辞書を更新するステップと、
前記テキストデータを形態素に分割するステップと、
該分割した形態素に含まれる漢字に、前記漢字辞書に記憶してある前記漢字に対応する説明情報を付加するステップと、
該説明情報を付加した形態素のそれぞれにアクセント型を付与するステップと、
前記形態素に付与したアクセント型に基づいて、前記形態素に対応する韻律を生成するステップと、
該生成した韻律に基づいて合成音声を生成するステップと
を実行させるためのコンピュータプログラム。