JP2005309327A - 音声合成装置 - Google Patents
音声合成装置 Download PDFInfo
- Publication number
- JP2005309327A JP2005309327A JP2004129987A JP2004129987A JP2005309327A JP 2005309327 A JP2005309327 A JP 2005309327A JP 2004129987 A JP2004129987 A JP 2004129987A JP 2004129987 A JP2004129987 A JP 2004129987A JP 2005309327 A JP2005309327 A JP 2005309327A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- reading
- ruby
- equivalent
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 解析用辞書に登録されていない読みにも対応して不要な読み上げを回避することができるとともに、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる音声合成装置を得ることを目的とする。
【解決手段】 ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、そのルビ相当文字列の読みとの一致判定を行う。これにより、解析用辞書2に登録されていない読みにも対応して不要な読み上げを回避することができるとともに、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる。
【選択図】 図1
【解決手段】 ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、そのルビ相当文字列の読みとの一致判定を行う。これにより、解析用辞書2に登録されていない読みにも対応して不要な読み上げを回避することができるとともに、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる。
【選択図】 図1
Description
この発明は、日本語のテキストの合成音を生成して、音声出力する音声合成装置に関するものである。
従来の音声合成装置は、テキストの中に括弧付の文字列が含まれている場合、その括弧に囲まれている部分の文字列の読みが、その直前の文字列(開き括弧“(”の直前の文字列)の読みを表しているか否かを判定する。
即ち、テキストから括弧に囲まれている部分の文字列を抽出し、その抽出した文字列の読みと、その直前の文字列の辞書引きの読みとを照合して、読みが一致しているか否かを判定する。
即ち、テキストから括弧に囲まれている部分の文字列を抽出し、その抽出した文字列の読みと、その直前の文字列の辞書引きの読みとを照合して、読みが一致しているか否かを判定する。
そして、音声合成装置は、解析用辞書の中に、括弧に囲まれている部分の文字列の読みと一致する直前の文字列の読みが存在する場合、括弧に囲まれている部分の文字列が直前の文字列のルビであると判断し、その直前の文字列の読みとして、括弧に囲まれている部分の文字列の読みを採用し、括弧に囲まれている部分の文字列を読み飛ばすようにする。
一方、解析用辞書の中に、括弧に囲まれている部分の文字列の読みと一致する直前の文字列の読みが存在しない場合、括弧に囲まれている部分の文字列は直前の文字列のルビではないと判断し、直前の文字列を読んでから、括弧に囲まれている部分の文字列も読むようにする。
一方、解析用辞書の中に、括弧に囲まれている部分の文字列の読みと一致する直前の文字列の読みが存在しない場合、括弧に囲まれている部分の文字列は直前の文字列のルビではないと判断し、直前の文字列を読んでから、括弧に囲まれている部分の文字列も読むようにする。
例えば、「これは流行(はやり)の歌です」というテキストを音声合成する場合、解析用辞書に「見出し:流行、読み:ハヤリ」と、「見出し:流行、読み:リューコー」が登録されていれば、括弧に囲まれている部分の文字列(はやり)の読み“ハヤリ”と一致する直前の文字列(流行)の読み“ハヤリ”が解析用辞書に存在するため、「コレワ ハヤリノ ウタ'デス」と読み上げるようにする。ただし、「'」は、アクセント位置を示している。
一方、解析用辞書には「見出し:流行、読み:ハヤリ」が登録されておらず、「見出し:流行、読み:リューコー」のみが登録されていれば、括弧に囲まれている部分の文字列(はやり)の読み“ハヤリ”と一致する直前の文字列(流行)の読み“ハヤリ”が解析用辞書に存在しないため、「コレワ リューコー ハヤリノ ウタ'デス」と読み上げるようにする(例えば、特許文献1参照)。
一方、解析用辞書には「見出し:流行、読み:ハヤリ」が登録されておらず、「見出し:流行、読み:リューコー」のみが登録されていれば、括弧に囲まれている部分の文字列(はやり)の読み“ハヤリ”と一致する直前の文字列(流行)の読み“ハヤリ”が解析用辞書に存在しないため、「コレワ リューコー ハヤリノ ウタ'デス」と読み上げるようにする(例えば、特許文献1参照)。
なお、上記の音声合成装置の他に、括弧に囲まれている部分の文字列に一致する文字列が解析用辞書に登録されている場合、括弧に囲まれている部分の文字列の読みと、その直前の文字列の読みとが一致するか否かに拘わらず、括弧に囲まれている部分の文字列がルビであると判断し、括弧に囲まれている部分の文字列を読み飛ばすようにしている音声合成装置が以下の特許文献2に開示されている。
例えば、「これは流行(はやり)の歌です」というテキストを音声合成する場合において、解析用辞書に「見出し:流行、読み:ハヤリ」が登録されていない場合でも、解析用辞書の見出しとして「見出し:流行」が存在すれば、括弧に囲まれている部分の文字列(はやり)がルビであると判断し、「コレワ ハヤリノ ウタ'デス」と読み上げるようにする。
例えば、「これは流行(はやり)の歌です」というテキストを音声合成する場合において、解析用辞書に「見出し:流行、読み:ハヤリ」が登録されていない場合でも、解析用辞書の見出しとして「見出し:流行」が存在すれば、括弧に囲まれている部分の文字列(はやり)がルビであると判断し、「コレワ ハヤリノ ウタ'デス」と読み上げるようにする。
従来の音声合成装置は以上のように構成されているので、括弧に囲まれている部分の文字列の読みと一致する直前の文字列の読みが解析用辞書に存在するとき、括弧に囲まれている部分の文字列が直前の文字列のルビであると判断するようにすれば、直前の文字列の読みが複数通り存在する場合や、当て字であるような場合でも、テキストの作成者が意図する通りにテキストを読み上げることができる。しかし、人名や固有名詞などの読み方は数限りなく存在するため、その全てを解析用辞書に登録することは困難であり、解析用辞書に登録されていない読みには対応することができず、括弧に囲まれている部分の文字列をルビとして取り扱うことができない場合が多々生じる課題があった。
なお、括弧に囲まれている部分の文字列に一致する文字列が解析用辞書に存在する場合、括弧に囲まれている部分の文字列の読みと、その直前の文字列の読みとが一致するか否かに拘わらず、括弧に囲まれている部分の文字列がルビであると判断する場合、例えば、名前の後に括弧書きされる「人物の所属組織情報」や「人物の国籍情報」などの補足情報等もルビとして扱われるため、本来読み上げるべき人名の一部が、勝手に組織情報や国名に置き換わって読み上げられてしまうなどの課題があった。
なお、括弧に囲まれている部分の文字列に一致する文字列が解析用辞書に存在する場合、括弧に囲まれている部分の文字列の読みと、その直前の文字列の読みとが一致するか否かに拘わらず、括弧に囲まれている部分の文字列がルビであると判断する場合、例えば、名前の後に括弧書きされる「人物の所属組織情報」や「人物の国籍情報」などの補足情報等もルビとして扱われるため、本来読み上げるべき人名の一部が、勝手に組織情報や国名に置き換わって読み上げられてしまうなどの課題があった。
この発明は上記のような課題を解決するためになされたもので、解析用辞書に登録されていない読みにも対応して不要な読み上げを回避することができるとともに、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる音声合成装置を得ることを目的とする。
この発明に係る音声合成装置は、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、そのルビ相当文字列の読みとの一致判定を行うようにしたものである。
この発明によれば、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、そのルビ相当文字列の読みとの一致判定を行うように構成したので、解析用辞書に登録されていない読みにも対応して不要な読み上げを回避することができるとともに、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1による音声合成装置を示す構成図であり、図において、制御部1はテキストを入力してから合成音を生成するまでの一連の処理を制御する。
解析用辞書2は単語辞書3と文字読み辞書4から構成されている。単語辞書3はテキストから単語を切り出す際に参照され、単語の見だし、読み、品詞、モーラ数及びアクセント型などの情報を格納している。文字読み辞書4は単語辞書3に登録されていない文字の読みを確認する際に参照され、文字の読み、モーラ数及びアクセント型などの情報を格納している。
図1はこの発明の実施の形態1による音声合成装置を示す構成図であり、図において、制御部1はテキストを入力してから合成音を生成するまでの一連の処理を制御する。
解析用辞書2は単語辞書3と文字読み辞書4から構成されている。単語辞書3はテキストから単語を切り出す際に参照され、単語の見だし、読み、品詞、モーラ数及びアクセント型などの情報を格納している。文字読み辞書4は単語辞書3に登録されていない文字の読みを確認する際に参照され、文字の読み、モーラ数及びアクセント型などの情報を格納している。
テキスト解析部5は音声合成対象のテキストを入力すると、単語辞書3を参照しながらテキストの形態素解析を実施することにより、テキストから最適な形態素列を見つけて、音声合成の発声単位であるアクセント句や読みを決定するとともに、アクセント位置や前後のアクセント句間の関係を決定する。また、テキスト解析部5はテキストからルビの可能性があるルビ相当文字列(例えば、括弧に囲まれている部分の文字列)を抽出する。
なお、テキスト解析部5は文字列抽出手段を構成しており、テキスト解析部5はテキストの形態素解析を実施する際、コスト最小法、最長一致法、文節数最小法などの既知の形態素解析アルゴリズムを利用する。例えば、首藤公昭、吉村賢治「日本語の構造とその解析」、情報処理Vol.27,No.8,pp.947〜954,1986には、既知の形態素解析アルゴリズムが開示されている。
なお、テキスト解析部5は文字列抽出手段を構成しており、テキスト解析部5はテキストの形態素解析を実施する際、コスト最小法、最長一致法、文節数最小法などの既知の形態素解析アルゴリズムを利用する。例えば、首藤公昭、吉村賢治「日本語の構造とその解析」、情報処理Vol.27,No.8,pp.947〜954,1986には、既知の形態素解析アルゴリズムが開示されている。
拡張読み照合部6はテキスト解析部5により抽出されたルビ相当文字列の読みに一致する直前の文字列(ルビ開始位置よりも前に位置する文字列)を抽出して形態素候補を生成する。ただし、拡張読み照合部6はルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、ルビ相当文字列の読みとの一致判定を行う。即ち、拡張読み照合部6では、ルビ相当文字列の読みと直前の文字列の読みで一致判定された場合のみ形態素候補を生成する。そのとき、生成する形態素候補は、直前の文字列の一致開始位置からルビ相当文字列の終了位置までの読みをルビ相当文字列の読みとする。なお、拡張読み照合部6は照合手段を構成している。
韻律情報生成部7はテキスト解析部5の決定内容(アクセント句、読み、アクセント位置、アクセント句間の関係)にしたがって合成音の作成に必要な韻律情報(F0と各音素の継続時間長)を生成する。
規則合成部8は韻律情報生成部7により生成された韻律情報にしたがって合成音を生成する。
なお、韻律情報生成部7及び規則合成部8から合成音生成手段が構成されている。
規則合成部8は韻律情報生成部7により生成された韻律情報にしたがって合成音を生成する。
なお、韻律情報生成部7及び規則合成部8から合成音生成手段が構成されている。
図2はこの発明の実施の形態1による音声合成装置の処理内容を示すフローチャートであり、図3は拡張読み照合部6の処理内容を示すフローチャートである。
また、図4は単語辞書3に登録されている単語の一例を示す説明図であり、図5は文字読み辞書4に登録されている文字の一例を示す説明図である。
また、図4は単語辞書3に登録されている単語の一例を示す説明図であり、図5は文字読み辞書4に登録されている文字の一例を示す説明図である。
次に動作について説明する。
ここでは、図6に示すようなテキスト「脱北(だっぽく)した男の故郷(ふるさと)は、飢餓に苦しんでいた。」を入力するものとして説明する。
また、以下の説明では、ルビ開始記号が“(”、ルビ終了記号が“)”であるものとして説明する。
さらに、単語辞書3には、[見出し、読み]=[故郷、コキョー]が登録されているが、[故郷、フルサト]や、[脱北、ダッポク]は登録されていないものとする。
また、単語辞書3には、[脱、ダツ]、[北、キタ]、[男、オトコ]や[飢餓、キガ]が登録されているものとする。
ここでは、図6に示すようなテキスト「脱北(だっぽく)した男の故郷(ふるさと)は、飢餓に苦しんでいた。」を入力するものとして説明する。
また、以下の説明では、ルビ開始記号が“(”、ルビ終了記号が“)”であるものとして説明する。
さらに、単語辞書3には、[見出し、読み]=[故郷、コキョー]が登録されているが、[故郷、フルサト]や、[脱北、ダッポク]は登録されていないものとする。
また、単語辞書3には、[脱、ダツ]、[北、キタ]、[男、オトコ]や[飢餓、キガ]が登録されているものとする。
テキスト解析部5は、図6に示すようなテキストを入力すると、現在の処理位置にある文字が文末であるか否かを判定する(ステップST1)。ただし、テキストを入力した直後では、現在の処理位置は文頭の文字“脱”であるので、現在の処理位置にある文字は文末ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字が文末ではないと判定すると、現在の処理位置にある文字がルビ開始記号であるか否かを判定する(ステップST2)。
テキストを入力した直後では、現在の処理位置にある文字が“脱”であるので、ルビ開始記号“(”ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字が文末ではないと判定すると、現在の処理位置にある文字がルビ開始記号であるか否かを判定する(ステップST2)。
テキストを入力した直後では、現在の処理位置にある文字が“脱”であるので、ルビ開始記号“(”ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字がルビ開始記号ではないと判定すると、現在の処理位置から始まる文字列と部分一致する辞書見出しを形態素候補に追加する(ステップST3)。
即ち、単語辞書3及び文字読み辞書4から辞書引きを実施して、「脱北(だっぽく)・・・」の先頭からの部分文字列に一致する辞書見出しを形態素候補として形態素候補リストに追加する。
単語辞書3には、上述したように、「脱北、ダッポク」が登録されていないが、単語辞書3には[脱、ダツ]が登録されているので、図7に示すように、[脱、ダツ]の形態素候補が生成される。
即ち、単語辞書3及び文字読み辞書4から辞書引きを実施して、「脱北(だっぽく)・・・」の先頭からの部分文字列に一致する辞書見出しを形態素候補として形態素候補リストに追加する。
単語辞書3には、上述したように、「脱北、ダッポク」が登録されていないが、単語辞書3には[脱、ダツ]が登録されているので、図7に示すように、[脱、ダツ]の形態素候補が生成される。
テキスト解析部5は、現在の処理位置から始まる文字列と部分一致する辞書見出しを形態素候補に追加すると、現在の処理位置を1文字後ろに移動して(ステップST4)、ステップST1の処理に移行する。
即ち、現在の処理位置を“北”に移動して(ステップST4)、ステップST1の処理に移行する。
即ち、現在の処理位置を“北”に移動して(ステップST4)、ステップST1の処理に移行する。
テキスト解析部5は、ステップST1の処理に移行すると、前回と同様に、現在の処理位置にある文字が文末であるか否かを判定する(ステップST1)。ここでは、現在の処理位置にある文字が“北”であるので、現在の処理位置にある文字は文末ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字が文末ではないと判定すると、前回と同様に、現在の処理位置にある文字がルビ開始記号であるか否かを判定する(ステップST2)。
ここでは、現在の処理位置にある文字が“北”であるので、ルビ開始記号“(”ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字が文末ではないと判定すると、前回と同様に、現在の処理位置にある文字がルビ開始記号であるか否かを判定する(ステップST2)。
ここでは、現在の処理位置にある文字が“北”であるので、ルビ開始記号“(”ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字がルビ開始記号ではないと判定すると、前回と同様に、現在の処理位置から始まる文字列と部分一致する辞書見出しを形態素候補に追加する(ステップST3)。
即ち、単語辞書3及び文字読み辞書4から辞書引きを実施して、「北(だっぽく)・・・」の先頭からの部分文字列に一致する辞書見出しを形態素候補として形態素候補リストに追加する。
単語辞書3には[北、キタ]が登録されているので、図7に示すように、[北、キタ]の形態素候補が生成される。
即ち、単語辞書3及び文字読み辞書4から辞書引きを実施して、「北(だっぽく)・・・」の先頭からの部分文字列に一致する辞書見出しを形態素候補として形態素候補リストに追加する。
単語辞書3には[北、キタ]が登録されているので、図7に示すように、[北、キタ]の形態素候補が生成される。
テキスト解析部5は、現在の処理位置から始まる文字列と部分一致する辞書見出しを形態素候補に追加すると、現在の処理位置を1文字後ろに移動して(ステップST4)、ステップST1の処理に移行する。
即ち、現在の処理位置を“(”に移動(ステップST4)して、ステップST1の処理に移行する。
即ち、現在の処理位置を“(”に移動(ステップST4)して、ステップST1の処理に移行する。
テキスト解析部5は、ステップST1の処理に移行すると、前回と同様に、現在の処理位置にある文字が文末であるか否かを判定する(ステップST1)。ここでは、現在の処理位置にある文字が“(”であるので、現在の処理位置にある文字は文末ではないと判定する。
テキスト解析部5は、現在の処理位置にある文字が文末ではないと判定すると、前回と同様に、現在の処理位置にある文字がルビ開始記号であるか否かを判定する(ステップST2)。
ここでは、現在の処理位置にある文字が“(”であるので、ルビ開始記号“(”であると判定する。
テキスト解析部5は、現在の処理位置にある文字が文末ではないと判定すると、前回と同様に、現在の処理位置にある文字がルビ開始記号であるか否かを判定する(ステップST2)。
ここでは、現在の処理位置にある文字が“(”であるので、ルビ開始記号“(”であると判定する。
テキスト解析部5は、現在の処理位置にある文字がルビ開始記号であると判定すると、現在の処理位置以降に、ルビ終了記号“)”が存在するか否かを判定する(ステップST5)。
図6の例では、文字列“だっぽく”の後ろに“)”があるので、ルビ終了記号“)”が存在すると判定する。
図6の例では、文字列“だっぽく”の後ろに“)”があるので、ルビ終了記号“)”が存在すると判定する。
テキスト解析部5は、現在の処理位置以降に、ルビ終了記号“)”が存在すると判定すると、ルビ開始記号“(”とルビ終了記号“)”に囲まれている部分の文字列“だっぽく”を抽出する。
そして、テキスト解析部5は、その抽出した文字列が平仮名で記述されているか否かを判定し、その文字列が平仮名で記述されていれば、ルビの可能性があると判断する(ステップST6)。
この例では、その抽出した文字列が平仮名で記述されているので、ルビの可能性があると判断し、その抽出した文字列をルビ相当文字列として拡張読み照合部6に出力する。
そして、テキスト解析部5は、その抽出した文字列が平仮名で記述されているか否かを判定し、その文字列が平仮名で記述されていれば、ルビの可能性があると判断する(ステップST6)。
この例では、その抽出した文字列が平仮名で記述されているので、ルビの可能性があると判断し、その抽出した文字列をルビ相当文字列として拡張読み照合部6に出力する。
拡張読み照合部6は、テキスト解析部5からルビ相当文字列“だっぽく”を受けると、そのルビ相当文字列の読みに一致する直前の文字列(ルビ開始位置よりも前に位置する文字列)が存在するか否かを判定する(ステップST7)。
即ち、拡張読み照合部6は、ルビ開始文字“(”の直前から前方に伸ばした文字列の中で、ルビ相当文字列“だっぽく”に一致する見出しを有する文字列が存在するか否かを判定する。
即ち、拡張読み照合部6は、ルビ開始文字“(”の直前から前方に伸ばした文字列の中で、ルビ相当文字列“だっぽく”に一致する見出しを有する文字列が存在するか否かを判定する。
具体的には次の通りである(図3を参照)。
拡張読み照合部6は、テキスト解析部5からルビ相当文字列“だっぽく”を受けると、ルビ相当文字列と、直前の文字列との対応をとるため、処理位置を設定する(ステップST31)。
即ち、拡張読み照合部6は、「脱北(だっぽく)した・・・」の部分が処理対象である場合、見出し現在位置を“北”、ルビ現在位置を“く”に設定する。
拡張読み照合部6は、テキスト解析部5からルビ相当文字列“だっぽく”を受けると、ルビ相当文字列と、直前の文字列との対応をとるため、処理位置を設定する(ステップST31)。
即ち、拡張読み照合部6は、「脱北(だっぽく)した・・・」の部分が処理対象である場合、見出し現在位置を“北”、ルビ現在位置を“く”に設定する。
拡張読み照合部6は、上記のようにして処理位置を設定すると、文字列の存在を判定するに先立って、図8に示すように、該当見出し、辞書読み及び該当読みの全ての長さが0(NULL)の部分一致データを部分一致中間リストに追加する(ステップST32)。
次に、拡張読み照合部6は、図8の部分一致中間リストが空であるか否かを判定する(ステップST33)。この段階では、(NULL)の部分一致データが存在するので、空ではないと判定する。
次に、拡張読み照合部6は、図8の部分一致中間リストが空であるか否かを判定する(ステップST33)。この段階では、(NULL)の部分一致データが存在するので、空ではないと判定する。
拡張読み照合部6は、部分一致中間リストが空ではないと判定すると、その部分一致中間リストから部分一致データを1つ選択し、その部分一致データを部分一致中間リスト中から削除する(ステップST34)。
この段階では、(NULL)の部分一致データのみが存在するので、(NULL)の部分一致データを選択する。部分一致中間リスト中から(NULL)の部分一致データを削除することにより、その部分一致中間リストは空になる。
この段階では、(NULL)の部分一致データのみが存在するので、(NULL)の部分一致データを選択する。部分一致中間リスト中から(NULL)の部分一致データを削除することにより、その部分一致中間リストは空になる。
次に、拡張読み照合部6は、見出し現在位置である“北”から前方に一致する単語辞書の見出しを検索する。
即ち、図2のステップST3において、形態素候補が形態素候補リストに追加されているので、形態素候補リストを参照して、文字列の最後が“北”である形態素候補を検索する(図7を参照)。
図2のステップST3では、[北、キタ]の形態素候補が形態素候補リストに追加されているので、前方に一致する単語辞書の見出しとして、[北、キタ]が検索される。
即ち、図2のステップST3において、形態素候補が形態素候補リストに追加されているので、形態素候補リストを参照して、文字列の最後が“北”である形態素候補を検索する(図7を参照)。
図2のステップST3では、[北、キタ]の形態素候補が形態素候補リストに追加されているので、前方に一致する単語辞書の見出しとして、[北、キタ]が検索される。
拡張読み照合部6は、上記のようにして、[北、キタ]を検索すると、その読み“キタ”がルビ現在位置である“く”から前方の部分文字列と一致するか否かを判定して、一致すれば、読みの一致範囲を拡張することができると判断する(ステップST35)。
例えば、“北”の読み「キタ」と、前方の部分文字列の読み「ポク」を比較しても両者が一致しないので、読みの一致範囲を拡張することができないと判断する。
例えば、“北”の読み「キタ」と、前方の部分文字列の読み「ポク」を比較しても両者が一致しないので、読みの一致範囲を拡張することができないと判断する。
上記のようにして、読みの一致範囲を拡張することができないと判断する場合、以下の処理を実施して、読みの一致範囲を拡張することができるか否かを再度判定する。
即ち、拡張読み照合部6は、文字読み辞書4を参照して、“北”の読みを抽出する。
文字読み辞書4には、“北”の読みとして、「ホク」、「ハク」、「キタ」、「ニ」及び「ニゲル」が登録されているので、「ホク」、「ハク」、「キタ」、「ニ」及び「ニゲル」を抽出する。
即ち、拡張読み照合部6は、文字読み辞書4を参照して、“北”の読みを抽出する。
文字読み辞書4には、“北”の読みとして、「ホク」、「ハク」、「キタ」、「ニ」及び「ニゲル」が登録されているので、「ホク」、「ハク」、「キタ」、「ニ」及び「ニゲル」を抽出する。
拡張読み照合部6は、「ホク」、「ハク」、「キタ」、「ニ」、「ニゲル」の中に、ルビ相当文字列の読み“ダッポク”と部分一致する読みが存在しているか否かを判定する。
拡張読み照合部6は、これらの中には部分一致する読みが存在しないので、これらの読みを濁音化、半濁音化又は促音化して、ルビ相当文字列の読み“ダッポク”と部分一致する読みが存在か否かを判定する。
この例では、「ホク」を半濁音化して「ポク」にすると、ルビ相当文字列の読み“ダッポク”と部分一致することが判明する。
拡張読み照合部6は、読みを濁音化、半濁音化又は促音化することにより、ルビ相当文字列の読み“ダッポク”と部分一致することが判明した場合には、読みの一致範囲を拡張することができると判断する(ステップST35)。
拡張読み照合部6は、これらの中には部分一致する読みが存在しないので、これらの読みを濁音化、半濁音化又は促音化して、ルビ相当文字列の読み“ダッポク”と部分一致する読みが存在か否かを判定する。
この例では、「ホク」を半濁音化して「ポク」にすると、ルビ相当文字列の読み“ダッポク”と部分一致することが判明する。
拡張読み照合部6は、読みを濁音化、半濁音化又は促音化することにより、ルビ相当文字列の読み“ダッポク”と部分一致することが判明した場合には、読みの一致範囲を拡張することができると判断する(ステップST35)。
拡張読み照合部6は、読みの一致範囲を拡張することができると判断すると、該当見出しが“北”、辞書読みが“ホク”、該当読みが“ポク”の部分一致データの後方に、先に選択した(NULL)の部分一致データを接続する。
ただし、(NULL)の部分一致データは、該当見出し、辞書読み及び該当読みの全ての長さが0であるため、接続完了後の部分一致データの該当見出しは“北”、辞書読みは“ホク”、該当読みは“ポク”になる。
そして、拡張読み照合部6は、接続完了後の部分一致データの該当読み“ポク”が、ルビ相当文字列の読み“ダッポク”の全体と一致しているか否かを判定する(ステップST36)。
この例では、半濁音化された部分の読み「ポク」が一致するだけであるため、全体とは一致していないと判断する。
ただし、(NULL)の部分一致データは、該当見出し、辞書読み及び該当読みの全ての長さが0であるため、接続完了後の部分一致データの該当見出しは“北”、辞書読みは“ホク”、該当読みは“ポク”になる。
そして、拡張読み照合部6は、接続完了後の部分一致データの該当読み“ポク”が、ルビ相当文字列の読み“ダッポク”の全体と一致しているか否かを判定する(ステップST36)。
この例では、半濁音化された部分の読み「ポク」が一致するだけであるため、全体とは一致していないと判断する。
拡張読み照合部6は、ルビ相当文字列の読み“ダッポク”の全体と一致していないと判断すると、図9に示すように、接続完了後の部分一致データ[北、ホク、ポク]を部分一致中間リストに追加し(ステップST37)、ステップST33の処理に移行する。
次に、拡張読み照合部6は、ステップST33の処理に戻ると、前回と同様に、部分一致中間リストが空であるか否かを判定する(ステップST33)。この段階では、部分一致データ[北、ホク、ポク]が存在するので、空ではないと判定する。
拡張読み照合部6は、部分一致中間リストが空ではないと判定すると、その部分一致中間リストから部分一致データ[北、ホク、ポク]を1つ選択し、その部分一致データ[北、ホク、ポク]を部分一致中間リスト中から削除する(ステップST34)。
部分一致中間リスト中から部分一致データ[北、ホク、ポク]を削除することにより、その部分一致中間リストは空になる。
部分一致中間リスト中から部分一致データ[北、ホク、ポク]を削除することにより、その部分一致中間リストは空になる。
次に、拡張読み照合部6は、見出し現在位置である“脱”から前方に一致する単語辞書の見出しを検索する。
即ち、図2のステップST3において、形態素候補が形態素候補リストに追加されているので、形態素候補リストを参照して、文字列の最後が“脱”である形態素候補を検索する(図7を参照)。
図2のステップST3では、[脱、ダツ]の形態素候補が形態素候補リストに追加されているので、前方に一致する単語辞書の見出しとして、[脱、ダツ]が検索される。
即ち、図2のステップST3において、形態素候補が形態素候補リストに追加されているので、形態素候補リストを参照して、文字列の最後が“脱”である形態素候補を検索する(図7を参照)。
図2のステップST3では、[脱、ダツ]の形態素候補が形態素候補リストに追加されているので、前方に一致する単語辞書の見出しとして、[脱、ダツ]が検索される。
拡張読み照合部6は、上記のようにして、[脱、ダツ]を検索すると、その読み“ダツ”がルビ現在位置である“つ”から前方の部分文字列と一致するか否かを判定して、一致すれば、読みの一致範囲を拡張することができると判断する(ステップST35)。
例えば、“脱”の読み「ダツ」と、前方の部分文字列の読み「ダッ」を比較しても両者が一致しないので、読みの一致範囲を拡張することができないと判断する。
例えば、“脱”の読み「ダツ」と、前方の部分文字列の読み「ダッ」を比較しても両者が一致しないので、読みの一致範囲を拡張することができないと判断する。
上記のようにして、読みの一致範囲を拡張することができないと判断する場合、以下の処理を実施して、読みの一致範囲を拡張することができるか否かを再度判定する。
即ち、拡張読み照合部6は、文字読み辞書4を参照して、“脱”の読みを抽出する。
文字読み辞書4には、“脱”の読みとして、「ダツ」、「タイ」、「タツ」、「ヌ」、「ヌグ」、「ヌゲル」及び「ヌケル」が登録されているので、「ダツ」、「タイ」、「タツ」、「ヌ」、「ヌグ」、「ヌゲル」及び「ヌケル」を抽出する。
即ち、拡張読み照合部6は、文字読み辞書4を参照して、“脱”の読みを抽出する。
文字読み辞書4には、“脱”の読みとして、「ダツ」、「タイ」、「タツ」、「ヌ」、「ヌグ」、「ヌゲル」及び「ヌケル」が登録されているので、「ダツ」、「タイ」、「タツ」、「ヌ」、「ヌグ」、「ヌゲル」及び「ヌケル」を抽出する。
拡張読み照合部6は、「ダツ」、「タイ」、「タツ」、「ヌ」、「ヌグ」、「ヌゲル」、「ヌケル」の中に、ルビ相当文字列の読み“ダッポク”と部分一致する読みが存在しているか否かを判定する。
拡張読み照合部6は、これらの中には部分一致する読みが存在しないので、これらの読みを濁音化、半濁音化又は促音化して、ルビ相当文字列の読み“ダッポク”と部分一致する読みが存在か否かを判定する。
この例では、「ダツ」を促音化して「ダッ」にすると、ルビ相当文字列の読み“ダッポク”と部分一致することが判明する。
拡張読み照合部6は、読みを濁音化、半濁音化又は促音化することにより、ルビ相当文字列の読み“ダッポク”と部分一致することが判明した場合には、読みの一致範囲を拡張することができると判断する(ステップST35)。
拡張読み照合部6は、これらの中には部分一致する読みが存在しないので、これらの読みを濁音化、半濁音化又は促音化して、ルビ相当文字列の読み“ダッポク”と部分一致する読みが存在か否かを判定する。
この例では、「ダツ」を促音化して「ダッ」にすると、ルビ相当文字列の読み“ダッポク”と部分一致することが判明する。
拡張読み照合部6は、読みを濁音化、半濁音化又は促音化することにより、ルビ相当文字列の読み“ダッポク”と部分一致することが判明した場合には、読みの一致範囲を拡張することができると判断する(ステップST35)。
拡張読み照合部6は、読みの一致範囲を拡張することができると判断すると、該当見出しが“脱”、辞書読みが“ダツ”、該当読みが“ダッ”の部分一致データの後方に、先に選択した部分一致データ、即ち、該当見出しが“北”、辞書読みが“ホク”、該当読みが“ポク”の部分一致データを接続する。
接続完了後の部分一致データの該当見出しは“脱北”、辞書読みは“ダツホク”、該当読みは“ダッホク”になる。
そして、拡張読み照合部6は、接続完了後の部分一致データの該当読み“ダッポク”が、ルビ相当文字列の読み“ダッポク”の全体と一致しているか否かを判定する(ステップST36)。
この例では、両者の読みが一致していると判断する。
接続完了後の部分一致データの該当見出しは“脱北”、辞書読みは“ダツホク”、該当読みは“ダッホク”になる。
そして、拡張読み照合部6は、接続完了後の部分一致データの該当読み“ダッポク”が、ルビ相当文字列の読み“ダッポク”の全体と一致しているか否かを判定する(ステップST36)。
この例では、両者の読みが一致していると判断する。
拡張読み照合部6は、ルビ相当文字列の読み“ダッポク”の全体と一致していると判断すると、図10に示すように、見出しとルビの組として、“脱北”と“ダッポク”をルビリストに追加し(ステップST38)、ステップST33の処理に移行する。
ここでは、「ダツ」を促音化して「ダッ」にするものについて示したが、「タツ」を濁音化してから促音化して、「ダッ」にしてもよい。
この場合も、見出しとルビの組として、“脱北”と“ダッポク”をルビリストに追加することになる。
ここでは、「ダツ」を促音化して「ダッ」にするものについて示したが、「タツ」を濁音化してから促音化して、「ダッ」にしてもよい。
この場合も、見出しとルビの組として、“脱北”と“ダッポク”をルビリストに追加することになる。
次に、拡張読み照合部6は、ステップST33の処理に戻ると、前回と同様に、部分一致中間リストが空であるか否かを判定する(ステップST33)。この段階では、部分一致データが存在していないので、空であると判定する。ステップST34で、部分一致中間リスト中から部分一致データ[北、ホク、ポク]を削除したのち、ステップST37の処理に移行していないので、部分一致データが存在していない。
拡張読み照合部6は、部分一致中間リストが空であると判定すると、図10のルビリストから見出しとルビの組として、“脱北”と“ダッポク”を抽出する(ステップST39)。
これにより、拡張読み照合部6は、ルビ相当文字列である“だっぽく”が、直前の文字列である“脱北”のルビであると判断する。
これにより、拡張読み照合部6は、ルビ相当文字列である“だっぽく”が、直前の文字列である“脱北”のルビであると判断する。
テキスト解析部5は、拡張読み照合部6が図3の処理を実施して、直前の文字列である“脱北”の見出しがルビ相当文字列である“だっぽく”と一致していると判断すると、形態素候補を生成して形態素候補リストに追加する(ステップST8)。
ここでは、見出しが「脱北(だっぽく)」、読みが「だっぽく」、品詞が「サ変名詞」、アクセントが「0型」であるルビ付の形態素候補が生成される。アクセントの与え方については後述する。
ここでは、見出しが「脱北(だっぽく)」、読みが「だっぽく」、品詞が「サ変名詞」、アクセントが「0型」であるルビ付の形態素候補が生成される。アクセントの与え方については後述する。
テキスト解析部5は、ルビ付の形態素候補を生成すると、形態素候補リストから、先に追加した“脱北”の部分文字列を見出しとする形態素候補、即ち、[脱、ダツ]の形態素候補と、[北、キタ]の形態素候補とを削除する(ステップST9)。
そして、テキスト解析部5は、現在の処理位置をルビ終了記号の文字に移し(ステップST10)、さらに、ステップST4で、現在の処理位置をルビ終了記号の次の文字に移してから、ステップST1の処理に戻る。
そして、テキスト解析部5は、現在の処理位置をルビ終了記号の文字に移し(ステップST10)、さらに、ステップST4で、現在の処理位置をルビ終了記号の次の文字に移してから、ステップST1の処理に戻る。
テキスト解析部5及び拡張読み照合部6は、現在の処理位置が文末に移行するまで、ステップST1〜ST10の処理を繰り返し実施することにより、[脱北(だっぽく)、ダッポク]、[した、シタ]、[男、オトコ]、[故郷(ふるさと)、フルサト]の形態素候補が生成される(図7を参照)。
ただし、ルビ相当文字列である“ふるさと”は、その直前の文字列“故郷”のルビであると判断されるので、“故郷”の部分文字列を見出しとする形態素候補、即ち、[郷、サト]、[郷、フルサト]、[故郷、コキョー]の形態素候補は削除される。
また、[故郷(ふるさと)、フルサト]のルビ付の形態素候補の他に、[郷(ふるさと)、フルサト]もルビ付の形態素候補として生成されるが、以降の処理の簡素化を図るため、文字長が長い[故郷(ふるさと)、フルサト]の形態素候補が残されて、[郷(ふるさと)、フルサト]の形態素候補が削除される。
ただし、ルビ相当文字列である“ふるさと”は、その直前の文字列“故郷”のルビであると判断されるので、“故郷”の部分文字列を見出しとする形態素候補、即ち、[郷、サト]、[郷、フルサト]、[故郷、コキョー]の形態素候補は削除される。
また、[故郷(ふるさと)、フルサト]のルビ付の形態素候補の他に、[郷(ふるさと)、フルサト]もルビ付の形態素候補として生成されるが、以降の処理の簡素化を図るため、文字長が長い[故郷(ふるさと)、フルサト]の形態素候補が残されて、[郷(ふるさと)、フルサト]の形態素候補が削除される。
テキスト解析部5は、現在の処理位置が文末に移行すると、各単語に接続可能な活用語尾や、付属語を接続した形態素候補を生成して、最適な形態素列を選択する(ステップST11)。最適な形態素列は、例えば、公知技術であるコスト最小法を実施することにより選択することができる(図6の上から3行目の文字列を参照)。
また、テキスト解析部5は、最適な形態素列を選択すると、発声の単位であるアクセント句、読み、アクセントの位置を決定するとともに、文構造などの情報を生成する。
また、テキスト解析部5は、最適な形態素列を選択すると、発声の単位であるアクセント句、読み、アクセントの位置を決定するとともに、文構造などの情報を生成する。
韻律情報生成部7は、テキスト解析部5がアクセント句や読み等を決定すると、言語的に得られる韻律情報(F0と各音素の継続時間長)を生成する(ステップST12)。
即ち、韻律情報生成部7は、テキスト解析部5の解析結果として、[脱北(だっぽく)、ダッポク]や[故郷(ふるさと)、フルサト]などのルビ付の形態素候補が形態素列として選択されるので、テキストからルビの直前の文字列“脱北”、“故郷”を除外した読みに対する韻律情報を生成する。
規則合成部8は、韻律情報生成部7が韻律情報を生成すると、その韻律情報にしたがって合成音を生成する。
即ち、韻律情報生成部7は、テキスト解析部5の解析結果として、[脱北(だっぽく)、ダッポク]や[故郷(ふるさと)、フルサト]などのルビ付の形態素候補が形態素列として選択されるので、テキストからルビの直前の文字列“脱北”、“故郷”を除外した読みに対する韻律情報を生成する。
規則合成部8は、韻律情報生成部7が韻律情報を生成すると、その韻律情報にしたがって合成音を生成する。
ここで、テキスト解析部5は、形態素候補の品詞やアクセントを以下の順番に適用し、最初に適合したものを採用するものとする。
(1)単語辞書3に該当する単語があれば、その単語のアクセントを与える。
(2)濁音化、半濁音化や促音化を実施した単語には、濁音化、半濁音化や促音化を実施する前の単語のアクセントを与える
(3)仮名見出しで一致する単語のアクセントを与える
(4)(1)から(3)に一致しない場合にはデフォルトのアクセント(例えば、平板のアクセント)を与える
例えば、[故郷、フルサト]の場合、(1)と(2)には該当しないが、図4の単語辞書3に[ふるさと、フルサト]が登録されているので、(3)に該当し、“故郷”の読みが“フル'サト”になり、品詞が“普通名詞”になる。
また、[脱北、ダッポク]の場合、(1)と(2)と(3)に該当しないので、デフォルトのアクセントである「0型」のアクセントになり、品詞が“サ変名詞”になる。
(1)単語辞書3に該当する単語があれば、その単語のアクセントを与える。
(2)濁音化、半濁音化や促音化を実施した単語には、濁音化、半濁音化や促音化を実施する前の単語のアクセントを与える
(3)仮名見出しで一致する単語のアクセントを与える
(4)(1)から(3)に一致しない場合にはデフォルトのアクセント(例えば、平板のアクセント)を与える
例えば、[故郷、フルサト]の場合、(1)と(2)には該当しないが、図4の単語辞書3に[ふるさと、フルサト]が登録されているので、(3)に該当し、“故郷”の読みが“フル'サト”になり、品詞が“普通名詞”になる。
また、[脱北、ダッポク]の場合、(1)と(2)と(3)に該当しないので、デフォルトのアクセントである「0型」のアクセントになり、品詞が“サ変名詞”になる。
以上で明らかなように、この実施の形態1によれば、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、そのルビ相当文字列の読みとの一致判定を行うように構成したので、解析用辞書2に登録されていない読みにも対応して不要な読み上げを回避することができるとともに、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる効果を奏する。
また、この実施の形態1によれば、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを濁音化又は半濁音化して、ルビ相当文字列の読みとの一致判定を行うように構成したので、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合でも、ルビ相当文字列をルビとして取り扱うことができる効果を奏する。
また、この実施の形態1によれば、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列を促音化して、ルビ相当文字列の読みとの一致判定を行うように構成したので、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合でも、ルビ相当文字列をルビとして取り扱うことができる効果を奏する。
さらに、この実施の形態1によれば、読みの一致判定を実施して、読みが一致する直前の文字列を複数検出すると、複数の直前の文字列の中から最長の文字列を選択するように構成したので、例えば、最適な形態素列を選択する際の処理の簡素化を図ることができる効果を奏する。
また、この実施の形態1によれば、変形後の直前の文字列の読みがルビ相当文字列の読みと一致する場合、ルビ相当文字列のアクセントとして、変形前の直前の文字列のアクセントを使用するように構成したので、直前の文字列の読みを変形しても、適正なアクセントを与えることができる効果を奏する。
なお、この実施の形態1では、ルビ開始記号が“(”、ルビ終了記号が“)”であるものについて示したが、ルビ区間を明確に示すことが可能な文字コードであれば、これに限るものでないことは言うまでもない。
また、この実施の形態1では、括弧に囲まれた部分の文字列が平仮名であれば、ルビ相当文字列であると判断するものについて示したが、これに限るものではなく、例えば、括弧に囲まれた部分の文字列がカタカナや、アルファベットによるローマ字表記であれば、ルビ相当文字列であると判断するようにしてもよい。
また、この実施の形態1では、括弧に囲まれた部分の文字列が平仮名であれば、ルビ相当文字列であると判断するものについて示したが、これに限るものではなく、例えば、括弧に囲まれた部分の文字列がカタカナや、アルファベットによるローマ字表記であれば、ルビ相当文字列であると判断するようにしてもよい。
実施の形態2.
上記実施の形態1では、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、拡張読み照合部6が直前の文字列の読みを濁音化、半濁音化又は促音化するものについて示したが、拡張読み照合部6が一部の読みの不一致を許容して、ルビ相当文字列の読みと直前の文字列の読みとの一致判定を行うようにしてもよい。
具体的には次の通りである。
上記実施の形態1では、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、拡張読み照合部6が直前の文字列の読みを濁音化、半濁音化又は促音化するものについて示したが、拡張読み照合部6が一部の読みの不一致を許容して、ルビ相当文字列の読みと直前の文字列の読みとの一致判定を行うようにしてもよい。
具体的には次の通りである。
図12は文字読み辞書4に登録されている文字の一例を示す説明図である。
ここでは、読みの中で1音節分の読みが異なる場合や、冗長な読みがある場合でも、一致を認定する方法について説明する。
例えば、図11に示すようなテキスト「ペンション舞留優夢(ぶるゆむ)へ是非お越しください。」が入力された場合、上記実施の形態1と同様にして、テキストからルビ相当文字列として“ぶるゆむ”が抽出される。
ここでは、読みの中で1音節分の読みが異なる場合や、冗長な読みがある場合でも、一致を認定する方法について説明する。
例えば、図11に示すようなテキスト「ペンション舞留優夢(ぶるゆむ)へ是非お越しください。」が入力された場合、上記実施の形態1と同様にして、テキストからルビ相当文字列として“ぶるゆむ”が抽出される。
拡張読み照合部6は、図12の文字読み辞書4を参照して、「ペンション舞留優夢」の文字列の後方部分から、読みが“ぶるゆむ”と一致する部分の抽出を試みて、部分一致データ[夢、ム、ム]と部分一致データ[夢、ユメ、ユム]を生成する(図13を参照)。
ここで、部分一致データ[夢、ム、ム]は、読みがルビ相当文字列の“む”と完全に一致しているが、部分一致データ[夢、ユメ、ユム]は、読みがルビ相当文字列の“ゆむ”と1文字異なっている。
ここで、部分一致データ[夢、ム、ム]は、読みがルビ相当文字列の“む”と完全に一致しているが、部分一致データ[夢、ユメ、ユム]は、読みがルビ相当文字列の“ゆむ”と1文字異なっている。
次に、拡張読み照合部6は、「優」の読み“ユウ”又は“ウ”を部分一致データの読みに接続する。
即ち、「優」の読み“ユウ”を部分一致データ[夢、ム、ム]に接続して、部分一致データ[優夢、ユウム、ユム]を生成し、「優」の読み“ウ”を部分一致データ[夢、ム、ム]に接続して、部分一致データ[優夢、ウム、ユム]を生成する。
ただし、部分一致データ[夢、ユメ、ユム]は、既に1文字異なっており、「優」の読み“ユウ”又は“ウ”を接続すると、文字の相違数が許容範囲の1文字を超えてしまうので、「優」の読み“ユウ”又は“ウ”を接続することができない。
なお、部分一致データ[夢、ム、ム]と部分一致データ[夢、ユメ、ユム]は、上記実施の形態1と同様に、部分一致中間リスト中から削除される。
即ち、「優」の読み“ユウ”を部分一致データ[夢、ム、ム]に接続して、部分一致データ[優夢、ユウム、ユム]を生成し、「優」の読み“ウ”を部分一致データ[夢、ム、ム]に接続して、部分一致データ[優夢、ウム、ユム]を生成する。
ただし、部分一致データ[夢、ユメ、ユム]は、既に1文字異なっており、「優」の読み“ユウ”又は“ウ”を接続すると、文字の相違数が許容範囲の1文字を超えてしまうので、「優」の読み“ユウ”又は“ウ”を接続することができない。
なお、部分一致データ[夢、ム、ム]と部分一致データ[夢、ユメ、ユム]は、上記実施の形態1と同様に、部分一致中間リスト中から削除される。
次に、拡張読み照合部6は、「留」の読み“ル”を部分一致データの読みに接続する。
即ち、「留」の読み“ル”を部分一致データ[優夢、ユウム、ユム]に接続して、部分一致データ[留優夢、ルユウム、ルユム]を生成し、「留」の読み“ル”を部分一致データ[優夢、ウム、ユム]に接続して、部分一致データ[留優夢、ルウム、ルユム]を生成する。
「留」の読み“ル”を部分一致データ[優夢、ユウム、ユム]や部分一致データ[優夢、ウム、ユム]に接続しても、文字の相違数が許容範囲の1文字であるため、「留」の読み“ル”を接続することができる。
なお、部分一致データ[優夢、ユウム、ユム]と部分一致データ[優夢、ウム、ユム]は、上記実施の形態1と同様に、部分一致中間リスト中から削除される。
即ち、「留」の読み“ル”を部分一致データ[優夢、ユウム、ユム]に接続して、部分一致データ[留優夢、ルユウム、ルユム]を生成し、「留」の読み“ル”を部分一致データ[優夢、ウム、ユム]に接続して、部分一致データ[留優夢、ルウム、ルユム]を生成する。
「留」の読み“ル”を部分一致データ[優夢、ユウム、ユム]や部分一致データ[優夢、ウム、ユム]に接続しても、文字の相違数が許容範囲の1文字であるため、「留」の読み“ル”を接続することができる。
なお、部分一致データ[優夢、ユウム、ユム]と部分一致データ[優夢、ウム、ユム]は、上記実施の形態1と同様に、部分一致中間リスト中から削除される。
次に、拡張読み照合部6は、「舞」の読み“ブ”を部分一致データの読みに接続する。
即ち、「舞」の読み“ブ”を部分一致データ[留優夢、ルユウム、ルユム]に接続して、部分一致データ[舞留優夢、ブルユウム、ブルユム]を生成し、「舞」の読み“ブ”を部分一致データ[留優夢、ルウム、ルユム]に接続して、部分一致データ[舞留優夢、ブルウム、ブルユム]を生成する。
「舞」の読み“ブ”を部分一致データ[留優夢、ルユウム、ルユム]や部分一致データ[留優夢、ルウム、ルユム]に接続しても、文字の相違数が許容範囲の1文字であるため、「舞」の読み“ブ”を接続することができる。
なお、部分一致データ[留優夢、ルユウム、ルユム]と部分一致データ[留優夢、ルウム、ルユム]は、上記実施の形態1と同様に、部分一致中間リスト中から削除される。
即ち、「舞」の読み“ブ”を部分一致データ[留優夢、ルユウム、ルユム]に接続して、部分一致データ[舞留優夢、ブルユウム、ブルユム]を生成し、「舞」の読み“ブ”を部分一致データ[留優夢、ルウム、ルユム]に接続して、部分一致データ[舞留優夢、ブルウム、ブルユム]を生成する。
「舞」の読み“ブ”を部分一致データ[留優夢、ルユウム、ルユム]や部分一致データ[留優夢、ルウム、ルユム]に接続しても、文字の相違数が許容範囲の1文字であるため、「舞」の読み“ブ”を接続することができる。
なお、部分一致データ[留優夢、ルユウム、ルユム]と部分一致データ[留優夢、ルウム、ルユム]は、上記実施の形態1と同様に、部分一致中間リスト中から削除される。
拡張読み照合部6は、上記のようにして、部分一致データ[舞留優夢、ブルユウム、ブルユム]と、部分一致データ[舞留優夢、ブルウム、ブルユム]を生成すると、それらの部分一致データの該当読みが、ルビ相当文字列“ぶるゆむ”と一致するので、ルビ相当文字列である“ぶるゆむ”が、直前の文字列である“舞留優夢”のルビであると判断する。
以下の処理は、上記実施の形態1と同様であるため説明を省略する。
以下の処理は、上記実施の形態1と同様であるため説明を省略する。
以上で明らかなように、この実施の形態2によれば、拡張読み照合部6が一部の読みの不一致を許容して、ルビ相当文字列の読みと直前の文字列の読みとの一致判定を行うように構成したので、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合でも、ルビ相当文字列をルビとして取り扱うことができる効果を奏する。
実施の形態3.
上記実施の形態1,2では、直前の文字列の読みを変形し、変形後の読みがルビ相当文字列の読みと一致すれば、ルビ相当文字列をルビとして取り扱うものについて示したが、ルビ相当文字列と一致する固有名詞が解析用辞書2に登録されていれば、ルビ相当文字列をルビとして取り扱わないようにしてもよい。
上記実施の形態1,2では、直前の文字列の読みを変形し、変形後の読みがルビ相当文字列の読みと一致すれば、ルビ相当文字列をルビとして取り扱うものについて示したが、ルビ相当文字列と一致する固有名詞が解析用辞書2に登録されていれば、ルビ相当文字列をルビとして取り扱わないようにしてもよい。
即ち、拡張読み照合部6がルビ相当文字列を辞書引きして、ルビ相当文字列が例えば企業名や地名などの固有名詞と一致する場合、ルビ相当文字列がルビではなく、直前の文字列の補足説明等である可能性が高いので、ルビ相当文字列をルビとして取り扱わないようにする。
即ち、テキスト解析部5から、直前の文字列の形態素と、ルビ相当文字列の形態素が渡ってくるので、韻律情報生成部7は、直前の文字列とルビ相当文字列を含むテキストの韻律情報を生成する。
即ち、テキスト解析部5から、直前の文字列の形態素と、ルビ相当文字列の形態素が渡ってくるので、韻律情報生成部7は、直前の文字列とルビ相当文字列を含むテキストの韻律情報を生成する。
以上で明らかなように、この実施の形態3によれば、直前の文字列の読みがルビ相当文字列の読みと一致しても、ルビ相当文字列と一致する固有名詞が解析用辞書2に登録されていれば、ルビ相当文字列をルビとして取り扱わないように構成したので、テキストの作成者の意図しない過剰なルビの取扱いを防止することができる効果を奏する。
実施の形態4.
上記実施の形態1〜3では、特に言及していないが、拡張読み照合部6が直前の文字列の読みを変形し、変形後の読みがルビ相当文字列の読みと一致すると判断すると、変形後の読みを単語辞書3に登録するようにしてもよい。
これにより、以後、同一の見出し文字列が文中に含まれている場合、単語辞書3を参照することにより、見出しに対応するルビの指定読みを認識して、合成音を生成することができるようになる。
上記実施の形態1〜3では、特に言及していないが、拡張読み照合部6が直前の文字列の読みを変形し、変形後の読みがルビ相当文字列の読みと一致すると判断すると、変形後の読みを単語辞書3に登録するようにしてもよい。
これにより、以後、同一の見出し文字列が文中に含まれている場合、単語辞書3を参照することにより、見出しに対応するルビの指定読みを認識して、合成音を生成することができるようになる。
1 制御部、2 解析用辞書、3 単語辞書、4 文字読み辞書、5 テキスト解析部(文字列抽出手段)、6 拡張読み照合部(照合手段)、7 韻律情報生成部(合成音生成手段)、8 規則合成部(合成音生成手段)。
Claims (9)
- テキストの形態素解析を実施して、そのテキストからルビの可能性があるルビ相当文字列を抽出する文字列抽出手段と、解析用辞書を参照して、上記文字列抽出手段により抽出されたルビ相当文字列の読みが、そのルビ相当文字列の直前の文字列の読みと一致するか否かを判定する照合手段と、上記照合手段の判定結果が読みの一致を示す場合、そのテキストから直前の文字列を除外して、ルビ相当文字列を含むテキストの合成音を生成し、上記照合手段の判定結果が読みの不一致を示す場合、直前の文字列とルビ相当文字列を含むテキストの合成音を生成する合成音生成手段とを備えた音声合成装置において、上記照合手段は、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを変形して、ルビ相当文字列の読みとの一致判定を行うことを特徴とする音声合成装置。
- 照合手段は、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列の読みを濁音化又は半濁音化して、ルビ相当文字列の読みとの一致判定を行うことを特徴とする請求項1記載の音声合成装置。
- 照合手段は、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、直前の文字列を促音化して、ルビ相当文字列の読みとの一致判定を行うことを特徴とする請求項1記載の音声合成装置。
- 照合手段は、読みの一致判定を実施して、読みが一致する直前の文字列を複数検出すると、複数の直前の文字列の中から最長の文字列を選択することを特徴とする請求項2または請求項3記載の音声合成装置。
- 照合手段は、変形後の直前の文字列の読みがルビ相当文字列の読みと一致する場合、ルビ相当文字列のアクセントとして、変形前の直前の文字列のアクセントを使用することを特徴とする請求項1から請求項4のうちのいずれか1項記載の音声合成装置。
- 照合手段は、ルビ相当文字列の読みと直前の文字列の読みが一致しない場合、一部の読みの不一致を許容して、ルビ相当文字列の読みと直前の文字列の読みとの一致判定を行うことを特徴とする請求項1記載の音声合成装置。
- 照合手段は、ルビ相当文字列と一致する固有名詞が解析用辞書に登録されていれば、ルビ相当文字列をルビとして取り扱わないことを特徴とする請求項1から請求項6のうちのいずれか1項記載の音声合成装置。
- 照合手段は、変形後の直前の文字列の読みがルビ相当文字列の読みと一致する場合、変形後の読みを解析用辞書に登録することを特徴とする請求項1から請求項6のうちのいずれか1項記載の音声合成装置。
- 文字列抽出手段は、コスト最小法を利用して、テキストの形態素解析を実施することを特徴とする請求項1から請求項8のうちのいずれか1項記載の音声合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004129987A JP2005309327A (ja) | 2004-04-26 | 2004-04-26 | 音声合成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004129987A JP2005309327A (ja) | 2004-04-26 | 2004-04-26 | 音声合成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005309327A true JP2005309327A (ja) | 2005-11-04 |
Family
ID=35438145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004129987A Pending JP2005309327A (ja) | 2004-04-26 | 2004-04-26 | 音声合成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005309327A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010039277A (ja) * | 2008-08-06 | 2010-02-18 | Mitsubishi Electric Corp | 音声合成装置 |
JP2018169434A (ja) * | 2017-03-29 | 2018-11-01 | 富士通株式会社 | 音声合成装置、音声合成方法及び音声合成システムならびに音声合成用コンピュータプログラム |
CN112562637A (zh) * | 2019-09-25 | 2021-03-26 | 北京中关村科金技术有限公司 | 拼接语音音频的方法、装置以及存储介质 |
-
2004
- 2004-04-26 JP JP2004129987A patent/JP2005309327A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010039277A (ja) * | 2008-08-06 | 2010-02-18 | Mitsubishi Electric Corp | 音声合成装置 |
JP2018169434A (ja) * | 2017-03-29 | 2018-11-01 | 富士通株式会社 | 音声合成装置、音声合成方法及び音声合成システムならびに音声合成用コンピュータプログラム |
CN112562637A (zh) * | 2019-09-25 | 2021-03-26 | 北京中关村科金技术有限公司 | 拼接语音音频的方法、装置以及存储介质 |
CN112562637B (zh) * | 2019-09-25 | 2024-02-06 | 北京中关村科金技术有限公司 | 拼接语音音频的方法、装置以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6442524B1 (en) | Analyzing inflectional morphology in a spoken language translation system | |
US6278968B1 (en) | Method and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation system | |
US6356865B1 (en) | Method and apparatus for performing spoken language translation | |
US6266642B1 (en) | Method and portable apparatus for performing spoken language translation | |
US6282507B1 (en) | Method and apparatus for interactive source language expression recognition and alternative hypothesis presentation and selection | |
US6223150B1 (en) | Method and apparatus for parsing in a spoken language translation system | |
US6243669B1 (en) | Method and apparatus for providing syntactic analysis and data structure for translation knowledge in example-based language translation | |
US6076060A (en) | Computer method and apparatus for translating text to sound | |
JP2007220045A (ja) | コミュニケーション支援装置、コミュニケーション支援方法およびコミュニケーション支援プログラム | |
JP2002091492A (ja) | 音声補完方法、装置および記録媒体 | |
JP2002149643A (ja) | 日本語の表意文字の読み方を予測する方法 | |
JP2005309327A (ja) | 音声合成装置 | |
JP2007086404A (ja) | 音声合成装置 | |
JP3589972B2 (ja) | 音声合成装置 | |
JP3762300B2 (ja) | テキスト入力処理装置及び方法並びにプログラム | |
JP2008243222A (ja) | コミュニケーション支援装置、コミュニケーション支援方法およびコミュニケーション支援プログラム | |
JP3573889B2 (ja) | 音声出力装置 | |
JP4140248B2 (ja) | データベース検索装置 | |
JPH0634175B2 (ja) | 文章読上げ装置 | |
JPH09120296A (ja) | 音声認識装置および方法、辞書作成装置および方法、情報記憶媒体 | |
JP3344793B2 (ja) | かな漢字変換装置 | |
JP2021128222A (ja) | 情報処理装置及びプログラム | |
JP2006098552A (ja) | 音声情報生成装置、音声情報生成プログラム及び音声情報生成方法 | |
WO2000045289A1 (en) | A method and apparatus for example-based spoken language translation with examples having grades of specificity | |
JP3280729B2 (ja) | 発音記号作成装置 |