発音辞書仕様

発音辞書仕様(PLS)はW3C勧告であり、音声ブラウジングアプリケーションにおける音声認識エンジンと音声合成エンジンの両方において、発音情報の相互運用可能な仕様を実現するように設計されています。この言語は、開発者にとって使いやすく、国際的な利用に耐えうる正確な発音情報の仕様をサポートするように設計されています。

この言語では、標準的な発音アルファベット、または必要に応じてベンダー固有のアルファベットを用いて、単語または句に対して1つ以上の発音を指定できます。発音はPLS文書にまとめられており、音声認識文法仕様(SRGS)や音声合成マークアップ言語(SSML)などの他のマークアップ言語から参照できます。

使用法

PLS ドキュメントの例を次に示します。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "en-US" > <lexeme> <grapheme> judgement </grapheme> <phoneme> ˈdʒʌdʒ.mənt </phoneme> <!-- IPA文字列は、 "ˈdʒʌdʒ.mənt" です --> </lexeme> <lexeme> <grapheme> fiancé </grapheme> <grapheme> fiance </grapheme> <phoneme> fiˈɒns.eɪ </phoneme> <!-- IPA 文字列は、 "fiˈɒns.eɪ" です --> <phoneme> ˌfiː.ɑːnˈseɪ </phoneme> <!-- IPA 文字列は、 "ˌfiː.ɑːnˈseɪ" です --> </lexeme> </lexicon>

これは、次のSSML 1.0ドキュメントに示すように、 TTS を改善するために使用できます。

<?xml version="1.0" encoding="UTF-8"?> <speak version= "1.0" xmlns= "http://www.w3.org/2001/10/synthesis" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2001/10/synthesis  http://www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang= "en-US" > <lexicon uri = "http://www.example.org/lexicon_defined_above.xml" /> <p>婚約者の意見では、ラスベガスがハネムーンに最適な場所だそうです。 私はベニスの方が好みで、ベネチアンカジノは妥協案として 受け入れられないと答えました。</p> </speak>

また、次のSRGS 1.0文法 でASR を改善することもできます。

<?xml version="1.0" encoding="UTF-8"?> <grammar version= "1.0" xmlns= "http://www.w3.org/2001/06/grammar" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2001/06/grammar  http://www.w3.org/TR/speech-grammar/grammar.xsd" xml:lang= "en-US" root= "movies" mode= "voice" > < lexicon uri= "http://www.example.org/lexicon_defined_above.xml" /> <rule id= "movies" scope= "public" > <one-of> <item>ターミネーター2 :審判の日</item> <item>マイ・ビッグ・ファット・オブノクシャス・フィアンセ</item> <item>冥王星の審判の日</item> </one-of> </rule> </grammar>

一般的な使用例

同じ綴りで複数の発音がある

ASRシステムでは、言語内の発音のバリエーションに対応するために、同じ単語やフレーズに複数の発音を利用するのが一般的です。発音辞書言語では、複数の発音は、同じ<lexeme>要素内の複数の<phoneme>(または<alias>)要素によって表されます。

次の例では、「Newton」という単語には 2 つの発音が可能です。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "en-GB" > <lexeme> <grapheme> Newton </grapheme> <phoneme> ˈnjuːtən </phoneme> <!-- IPA文字列は "ˈnjuːtən" --> <phoneme> ˈnuːtən </phoneme> <!-- IPA 文字列: "ˈnuːtən" --> </lexeme> </lexicon>

複数の綴り

状況によっては、同じ単語や句に対して複数の代替テキスト表現が存在します。これは様々な理由により発生する可能性があります。詳細はPLSのセクション4.5を参照してください。これらは(同音異義語ではなく)同じ意味を持つ表現であるため、複数のグラフィムを含む単一の<lexeme>要素を使用して表現することが推奨されます。

複数の綴り方の簡単な例を 2 つ示します。英語の単語の代替スペルと日本語の単語の複数の表記です。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "en-US" > <!-- 代替スペルの処理方法を示す英語エントリ --> <lexeme> <grapheme> colour </grapheme> <grapheme> color </grapheme> <phoneme> ˈkʌlər </phoneme> <!-- IPA文字列は「ˈkʌlər」です --> </lexeme> </lexicon><?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "ja" > <!-- 複数の表記体系がどのように扱われるかを示す日本語のエントリ ローマ字、漢字、ひらがなの正書法 --> <lexeme> <grapheme> nihongo </grapheme> <grapheme>日本語</grapheme> <grapheme>にほんご</grapheme> <phoneme> ɲihoŋɡo </phoneme> <!-- IPA文字列は: "ɲihoŋɡo" --> </lexeme> </lexicon>

同音異義語

ほとんどの言語には同音異義語(発音は同じだが意味が異なる(場合によっては綴りも異なる)単語)があります。例えば「seed」と「cede」などです。これらは異なる語彙素として表現することが推奨されます。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "en-US" > <lexeme> <grapheme> cede </grapheme> <phoneme> siːd </phoneme> <!-- IPA文字列は: "siːd" --> </lexeme> <lexeme> <grapheme> seed </grapheme> <phoneme> siːd </phoneme> <!-- IPA文字列は「siːd」です --> </lexeme> </lexicon>

同音異義語

ほとんどの言語には、意味は異なるが同じ綴り(場合によっては発音も異なる)の単語があり、これらは同綴異義語と呼ばれます。たとえば、英語のbass(魚)という単語とbass(音楽)という単語は、綴りは同じですが、意味と発音が異なります。これらの単語は、role属性の異なる値で区別される別々の<lexeme>要素を使用して表すことが推奨されていますが(PLS 1.0のセクション4.4を参照)、発音辞書の作成者が2つの単語を区別したくない場合は、同じ<lexeme>要素内で代替発音として表すこともできます。後者の場合、TTSプロセッサは最初の転写と2番目の転写をいつ適用するかを区別できません。

この例では、同音異義語「bass」の発音を示します。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "en-US" > <lexeme> <grapheme> bass </grapheme> <phoneme> bæs </phoneme> <!-- IPA文字列は: bæs --> <phoneme> beɪs </phoneme> <!-- IPA文字列は次のとおりです: beɪs --> </lexeme> </lexicon>

英語には、著者の好みに応じて同音異義語として扱うことも、別の発音として扱うこともできる名詞と動詞の組み合わせが数多く存在することに注意してください。例としては、「refuse」という名詞と動詞の組み合わせと「address」という名詞と動詞の組み合わせが挙げられます。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" xmlns:mypos= "http://www.example.org/my_pos_namespace" alphabet= "ipa" xml:lang= "en-US" > <lexeme role= "mypos:verb" > <grapheme> refuse </grapheme> <phoneme> rɪˈfjuːz </phoneme> <!-- IPA 文字列は: "rɪˈfjuːz" --> </lexeme> <lexeme role= "mypos:noun" > <grapheme> refuse </grapheme> <phoneme> ˈrɛfjuːs </phoneme> <!-- IPA 文字列は: "ˈrɛfjuːs" --> </lexeme> </lexicon>

正書法による発音

一部の単語やフレーズでは、発音を他の綴りのシーケンスとして迅速かつ容易に表現できます。開発者は言語知識を必要とせず、既に利用可能な発音を利用できます。他の綴りの発音を表現するには、<alias>要素を使用できます。

この機能は、頭字語の拡張を処理するのに非常に役立ちます。

<?xml version="1.0" encoding="UTF-8"?> <lexicon version= "1.0" xmlns= "http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2005/01/pronunciation-lexicon  http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd" alphabet= "ipa" xml:lang= "en-US" > <!-- 頭字語展開 --> <lexeme> <grapheme> W3C </grapheme> <alias> World Wide Web Consortium </alias> </lexeme> <!-- 数値表現 --> <lexeme> <grapheme> 101 </grapheme> <alias> one hundred and one </alias> </lexeme> <!-- 粗い発音メカニズム --> <lexeme> <grapheme> Thailand </grapheme> <alias> tie land </alias> </lexeme> <!-- 粗い発音メカニズムと頭字語の展開 --> <lexeme> <grapheme> BBC 1 </grapheme> <alias> be be sea one </alias> </lexeme> </lexicon>

現状と将来

  • PLS 1.0 は、2008 年 10 月 14 日に W3C 勧告の地位に達しました。

参照

参考文献