【注意】 このドキュメントは、W3CのPronunciation Lexicon Specification (PLS) Version 1.0 W3C Recommendation 14 October 2008の和訳です。
このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。
First Update: 2012年4月18日
このドキュメントに対する正誤表を参照してください。いくつかの規範的な修正が含まれているかもしれません。
翻訳版も参照してください。
Copyright © 2008 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
この項は、このドキュメントの公開時のステータスについて記述しています。他のドキュメントがこのドキュメントに取って代わることがありえます。現行のW3Cの刊行物およびこの技術報告の最新の改訂版のリストは、http://www.w3.org/TR/のW3C技術報告インデックスにあります。
これは、「発音辞書仕様(PLS)バージョン1.0」の勧告です。音声読み上げブラウザ・アクティビティの一部である音声読み上げブラウザ・ワーキンググループによって作成されました。
コメントはwww-voice@w3.org(アーカイブ)で歓迎されます。W3Cメーリング・リストおよびアーカイブ利用ガイドラインを参照してください。
PLS 1.0の設計は広くレビューされており(コメントの処理を参照)、ワーキンググループの技術要件を満たしています。実装のリストは、関連するテスト・スイートとともにPLS 1.0実装報告に含まれています。ワーキンググループは、コメントに応じて2008年8月18日の勧告案に少しの編集上の変更を行いました。勧告案の変更については付録Dに記述しています。
2項 発音文字では、発音文字を指定するためのalphabet
属性の正当な値について記述しています。ワーキンググループは、「ipa」以外の発音文字を使用できるように、IANAに発音文字レジストリの作成を要請しています。レジストリの場所は、レジストリが利用可能になれば、http://www.w3.org/2001/10/synthesisで提供される予定です。PLS仕様の将来のバージョンでは、alphabet
属性でこのレジストリの値を用いることが認められるかもしれません。
このドキュメントは、W3Cメンバー、ソフトウェア開発者、他のW3Cグループ、および他の利害関係者によりレビューされ、W3C勧告として管理者の協賛を得ました。これは確定済みドキュメントであり、参考資料として用いたり、別のドキュメントで引用することができます。勧告の作成におけるW3C の役割は、仕様に注意を引き付け、広範囲な開発を促進することです。これによってウェブの機能性および相互運用性が増強されます。
このドキュメントは、2004年2月5日のW3C特許方針の下で活動しているグループによって作成されました。W3Cは、このグループの成果物に関連するあらゆる特許の開示の公開リストを維持し、このページには特許の開示に関する指示も含まれています。不可欠な請求権(Essential Claim(s))を含んでいると思われる特許に関して実際に知っている人は、W3C特許方針の6項に従って情報を開示しなければなりません。
このドキュメント本体の項は、特別の定めのない限り規範的です。このドキュメントの付録は、特別に明示されていない限り参考情報です。
<lexicon>
要素<meta>
要素<metadata>
要素<lexeme>
要素<grapheme>
要素<phoneme>
要素<alias>
要素<example>
要素この項は参考情報です。
発音に関する正確な仕様は、音声アプリケーションの成功にとって非常に重要です。ほとんどの自動音声認識(ASR)エンジンやText-To-Speech(TTS)エンジンは、多くの単語や語句の発音情報を有する広範で品質の高い辞書を内部的に提供します。アプリケーションが使用する単語や語句の適用範囲を最大限に保証するためには、アプリケーション固有の発音が必要かもしれません。例えば、これは、姓や商号のような固有名詞に必要でありえます。
発音辞書仕様(PLS)は、ASRエンジンとTTSエンジンの両方に対し、相互運用可能な発音情報の仕様を実現することを目指しています。この言語は、国際的に利用できるように、発音情報に関する正確な仕様をサポートするとともに、開発者が容易に使用できることを目指しています。
この言語により、標準的な発音文字を用いて、または、必要に応じてベンダー独自の文字を用いて、単語や語句に対し1つ以上の発音を指定することが可能となります。発音は、音声認識文法仕様[SRGS]や音声合成マークアップ言語[SSML]のような、他のマークアップ言語から参照可能なPLSドキュメントへとまとめられます。
最も一般的な意味で、辞書は単なる単語や語句のリストであり、そのリスト内の項目に関連付けられた情報を含んでいる可能性もあります。このドキュメントは、「辞書」という用語を「発音辞書」という特定の意味でのみ使用します。この特定のドキュメントでは、「辞書」は、単語(または短い語句)、その記述表現、ASRエンジンやTTSエンジンによる使用に適した発音の間のマッピングを意味します。発音辞書は音声読み上げブラウザに役立つだけではありません。障害者に対するアクセシビリティやあらゆるユーザに対するより大きなユーザビリティをサポートするためのメカニズムとしても有効であることが判明しています。発音辞書は、マルチモーダル・インターフェースをサポートするスクリーン・リーダやユーザ・エージェントで有効に使われます。
TTSエンジンは、入力されたコンテンツ(SSMLのような、テキストかマークアップのどちらか)を音声に変換することを目的としています。この作業には、次のいくつかの処理ステップが含まれています。
これらの処理レベルでSSML要素を用いて作業を行うことで、ユーザはSSMLでTTSの動作を制御し強化できます(詳細は[SSML]を参照)。
PLSは、SSMLの<lexicon>
要素で参照されるドキュメントの標準形式となることを目指しています([SSML]の3.1.4項を参照)。
下記はシンプルなSSMLドキュメントの例です。米語で読み上げられるイタリア映画のタイトルと監督名が含まれています。
<?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"> The title of the movie is: "La vita è bella" (Life is beautiful), which is directed by Roberto Benigni. </speak>
正確に発音してもらうために、イタリア語のタイトルと監督名の発音が、SSMLドキュメント内に記述されているかもしれません。
<?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"> The title of the movie is: <phoneme alphabet="ipa" ph="ˈlɑ ˈviːɾə ˈʔeɪ ˈbɛlə">"La vita è bella"</phoneme> <!-- The IPA pronunciation is: "ˈlɑ ˈviːɾə ˈʔeɪ ˈbɛlə" --> (Life is beautiful), which is directed by <phoneme alphabet="ipa" ph="ɹəˈbɛːɹɾoʊ bɛˈniːnji">Roberto Benigni.</phoneme> <!-- The IPA pronunciation is: "ɹəˈbɛːɹɾoʊ bɛˈniːnji" --> </speak>
PLSを用いると、すべての発音を外部PLSドキュメントとして分離し、SSMLの<lexicon>
要素で参照できます([SSML]の3.1.4項を参照)。
<?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.com/movie_lexicon.pls"/> The title of the movie is: "La vita è bella" (Life is beautiful), which is directed by Roberto Benigni. </speak>
参照する辞書は、次のようなものでありえます。
<?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>La vita è<!-- same as: è --> bella</grapheme> <phoneme>ˈlɑ ˈviːɾə ˈʔeɪ ˈbɛlə</phoneme> <!-- IPA string is: "ˈlɑ ˈviːɾə ˈʔeɪ ˈbɛlə" --> </lexeme> <lexeme> <grapheme>Roberto</grapheme> <phoneme>ɹəˈbɛːɹɾoʊ</phoneme> <!-- IPA string is: "ɹəˈbɛːɹɾoʊ" --> </lexeme> <lexeme> <grapheme>Benigni</grapheme> <phoneme>bɛˈniːnji<!-- IPA string is: "bɛˈniːnji" --></phoneme> </lexeme> </lexicon>
PLSエンジンは、外部PLSドキュメントを読み込み、SSMLドキュメントの処理中に、ユーザに気付かれることなく発音を適用するでしょう。アプリケーションに、複数の別々のPLSドキュメントを含み、アプリケーショ内の異なる場所で用いることができます。[SSML]の3.1.4項では、SSMLドキュメントで参照した複数の辞書ドキュメントの使用方法について記述しています。
多くのプラットフォーム、ブラウザ、テキスト・エディタの組み合わせが、Unicodeのテキストを正確に切り貼りできない場合には、発音をIPA記号の数値文字参照(XML 1.0[XML10]またはXML 1.1[XML11]の文字参照および実体参照に関する4.1項を参照)で入力できます。しかし、常に数値文字参照よりもIPA記号のUTF-8表現を優先して使用すべきです。このドキュメントでは、IPA記号のUTF-8表現の表示に関する潜在的な問題を克服するために、数値文字参照を用いた発音の例もコメント内に表示しています。
ASRエンジンは、オーディオ信号を、認識された単語列または発言の意味を表す意味表現に変換します(意味解釈の標準的な定義に関しては、音声認識の意味的解釈(Semantic Interpretation for Speech Recognition)[SISR]を参照)。
ASR文法は、ASRが認識する可能性のある単語や語句を記述して、ASRのパフォーマンスを改善するために使用します。SRGSは、ASR文法の標準的な定義です(詳細は[SRGS]を参照)。
ASRプロセッサにPLSを用いれば、単語や語句に対して複数の発音が可能となり、さらに頭字語の展開や略語の展開のような限定的なテキストの正規化も行えます。
SRGS文法規則内の書記素にPLSエントリーを適用し、認識可能な音素に変換します。ASRとTTSの両方に用いるPLSドキュメントについては、下記の例と1.3項の例を参照してください。
PLSには、口述筆記システムや制約のないASRに対するものなどの、他の使用方法があるかもしれませんが、この仕様の範囲外でしょう。
下記は、「マサチューセッツ州ボストン」または「フロリダ州マイアミ」などの文の認識を可能とする非常にシンプルなSRGS文法です。
<?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="city_state" mode="voice"> <rule id="city" scope="public"> <one-of> <item>Boston</item> <item>Miami</item> <item>Fargo</item> </one-of> </rule> <rule id="state" scope="public"> <one-of> <item>Florida</item> <item>North Dakota</item> <item>Massachusetts</item> </one-of> </rule> <rule id="city_state" scope="public"> <ruleref uri="#city"/> <ruleref uri="#state"/> </rule> </grammar>
SRGS文法が発音辞書を参照している場合、その文法に基づいた多数の単語の発音によって、様々な読み上げ形式が提供できるようになります。下記は、同じ文法で外部PLSドキュメントを参照した場合です。
<?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="city_state" mode="voice"> <lexicon uri="http://www.example.com/city_lexicon.pls"/> <rule id="city" scope="public"> <one-of> <item>Boston</item> <item>Miami</item> <item>Fargo</item> </one-of> </rule> <rule id="state" scope="public"> <one-of> <item>Florida</item> <item>North Dakota</item> <item>Massachusetts</item> </one-of> </rule> <rule id="city_state" scope="public"> <ruleref uri="#city"/> <ruleref uri="#state"/> </rule> </grammar>
SRGS文法が複数のPLSドキュメントを参照するかもしれないことにも注意してください。
VoiceXML 2.0アプリケーション([VXML])には、TTS用のASRとSSMLのプロンプト用のSRGS文法が含まれています。SRGSとSSMLの両方にPLSを導入すると、VoiceXMLアプリケーションに直接影響が生じるでしょう。
VoiceXMLアプリケーションでも1.1項と1.2項で述べた利点を利用できます。アプリケーションは、相互作用の異なるポイントにおいて複数のコンテキストのPLSドキュメントを使用できますが、同じPLSドキュメントを、ASRを改善するためにSRGSで、また、TTSを改善するために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>judgment</grapheme> <grapheme>judgement</grapheme> <phoneme>ˈdʒʌdʒ.mənt</phoneme> <!-- IPA string is: "ˈdʒʌdʒ.mənt" --> </lexeme> <lexeme> <grapheme>fiance</grapheme> <grapheme>fiance</grapheme> <phoneme>fiˈɒns.eɪ</phoneme> <!-- IPA string is: "fiˈɒns.eɪ" --> <phoneme>ˌfiː.ɑːnˈseɪ</phoneme> <!-- IPA string is: "ˌfiː.ɑːnˈseɪ" --> </lexeme> </lexicon>
これは、次のSSMLドキュメントで示しているように、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.com/lexicon_defined_above.xml"/> <p> In the judgement of my fiance, Las Vegas is the best place for a honeymoon. I replied that I preferred Venice and didn't think the Venetian casino was an acceptable compromise.<\p> </speak>
一方で、次のようにSRGS文法の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.com/lexicon_defined_above.xml"/> <rule id="movies" scope="public"> <one-of> <item>Terminator 2: Judgment Day</item> <item>My Big Fat Obnoxious Fiance</item> <item>Pluto's Judgement Day</item> </one-of> </rule> </grammar>
現在の仕様では、要件ドキュメント[REQS]に記述されている主な機能を重点的に扱っています。最も複雑な機能については、この仕様の将来の改定に先送りされました。例えば、記述しなかった複雑な機能の一部には、発音に関連する形態素、構文、意味に関する情報(語幹、単語間の意味上のリンク、発音統計など)の紹介などがあります。これらの機能の多くは、1つ以上の発音辞書内の語彙素を参照するRDF[RDF-XMLSYNTAX]を用いて指定できます。
anyURI
プリミティブであると定義されています。参考までに、[RFC3986]と[RFC2732]は、構造、フォーマットやURIの使用について理解するのに役立つかもしれません。IRI([RFC3987]を参照)が上記のURIの定義の範囲内で認められていることに注意してください。音素/音標文字は、発音を指定するために使用します。文字とは、この文脈では、1つ以上の人間の言語の音を表すための記号の集合を指します。PLS仕様では、発音文字は、alphabet
属性で指定します(この属性の使用に関する詳細は、4.1項と4.6項を参照)。alphabet
属性に有効な値は、「ipa
」(次の段落を参照)と、「x-organization
」または「x-organization-alphabet
」という形式のベンダーが定義した文字列のみです。例えば、電子情報技術産業協会[JEITA]は、自身の音素文字[JEIDAALPHABET]に対し「x-jeita
」「x-jeita-2000
」のような文字の使用を促進したいと思うかもしれません。別の例は、「x-sampa
」[X-SAMPA](国際音標文字[IPA]の全文字領域をカバーするためのSAMPA音標文字[SAMPA]の拡張)でしょう。
適合PLSプロセッサは、alphabet
属性の値として「ipa
」をサポートしなければなりません(MUST)。これは、PLSプロセッサが国際音声学会[IPA]が開発したUnicodeによる音声文字の表現をサポートしなければならない(MUST)ことを意味します。この文字集合では、母音記号と子音記号の包括的な集合に加え、音節区切り記号、多数の発音区別符号、強勢記号、字句声調記号、イントネーション・マーカーなどをサポートしています。この文字については、正当な音声/音素の値は、[IPAHNDBK]の付録2で指定されている値の文字列です。IPA転写では、読みやすさのために空白(発音には影響しない)を記述できることに注意してください。IPAからUnicodeへのマッピングの参考情報の表は、[IPAUNICODE1]と[IPAUNICODE2]にあります。すべてのIPA文字がUnicodeで利用できるとは限らないことに注意してください。この文字をサポートしているプロセッサの場合、
IPA文字には、実装者が影響を受けるかもしれない特徴があることに注意してください。例えば、同等、撤回、廃止されたIPA記号などで、詳細は、[IPAHNDBK]の付録2を参照してください。
言語の音素を表すためにIPA記号を用いる際に、音素の表示にどの異音記号を選択するかには、曖昧さがありえます。これが、同一の言語用に作成されている辞書の間に矛盾をもたらす可能性があることに注意してください。
現在、盲目や弱視の人が、IPA記号が含まれている辞書を即座に読んだり情報の相互作用を行う方法はありません。実装者がそのような相互作用を可能にするツールを提供することが期待されます。
正当な発音辞書(PLS)仕様には、XML 1.0[XML10]またはXML 1.1[XML11]の2.8項にある正当なXMLプロローグがなければなりません(MUST)。XMLプロローグの次にルートの<lexicon>
要素が来ます。この要素の詳細については、4.1項を参照してください。
<lexicon>
要素は、PLS名前空間を指定しなければなりません(MUST)。これは、xmlns
属性または接頭辞「xmlns」を持つ属性の宣言により達成できます。詳細については、XMLの名前空間の2項(XML 1.0[XML-NS10]の名前空間またはXML 1.1[XML-NS11]の名前空間)を参照してください。xmlns
属性を単独で用いた場合、それが出現する要素と任意の子要素にデフォルトの名前空間が設定されることに注意してください。PLSの名前空間は、「http://www.w3.org/2005/01/pronunciation-lexicon
」と定義されています。
XMLスキーマ パート1:構造 第2版[XML-SCHEMA-1]の2.6.3項のxsi:schemaLocation
属性を用いて、<lexicon>
要素でPLSスキーマ(付録Aを参照)の位置も示すことを推奨します(RECOMMENDED)。
下記は、正当な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">
この項では、この仕様の適合規則を列挙しています。
特別に示していない限り、この仕様のすべての項は規範的です。この仕様の参考情報部分は、項の中の「参考情報」というラベルで識別できます。
PLS仕様では、個々の適合要件や検証可能なステートメントは、命令文のステートメントで識別できます。このドキュメントの「しなければならない(MUST)」「してはならない(MUST NOT)」「必須である/要求される(REQUIRED)」「することになる(SHALL)」「することはない(SHALL NOT)」「すべきである/する必要がある(SHOULD)」「すべきでない/する必要がない(SHOULD NOT)」「推奨される(RECOMMENDED)」「することができる/してもよい(MAY)」「選択できる/任意である(OPTIONAL)」というキーワードは、[RFC2119]で記述されているように解釈されるべきです。ただし、この仕様では、読みやすさのために、これらの用語をすべて大文字で表しているとは限りません。
次の両方の条件を満たしている場合、ドキュメントは、適合発音辞書仕様ドキュメントです。
<lexicon>
ルート要素を有するこのドキュメント(発音辞書仕様)で記述している仕様に従っている。この仕様やこれらの適合基準は、PLSドキュメントのいかなる側面に対してもサイズの制限を定めません。属性値の要素数、文字のデータ量、文字数に上限値はありません。
PLS名前空間は、XML勧告の名前空間に従った他のXML名前空間(XML 1.0[XML-NS10]の名前空間またはXML 1.1[XML-NS11]の名前空間)と共に使用することもできます(MAY)。W3Cによる取り組みにより、将来的には、複数の名前空間を含むドキュメントの適合性を指定する方法が出現するでしょう。
適合発音辞書仕様プロセッサは、適合発音辞書仕様ドキュメントを解析し処理できなければなりません(MUST)。
適合発音辞書仕様プロセッサでは、XMLパーザは、XML 1.0[XML10]またはXML 1.1[XML11]のどちらかで定義されているすべてのXML構成子を解析し処理できなければならず(MUST)、対応するXML仕様の名前空間(XML 1.0[XML-NS10]の名前空間またはXML 1.1[XML-NS11]の名前空間)に準拠します。
適合発音辞書仕様プロセッサは、適合非検証プロセッサに関し、XML 1.0またはXML 1.1の要件に準拠しなければなりません(MUST)。
適合発音辞書仕様プロセッサは、このドキュメントで記述されているとおりに、正確に個々のマークアップ要素のセマンティクスを理解し適用しなければなりません(MUST)。
適合発音辞書仕様プロセッサは、自然(人間の)言語を扱うために、次の要件を満たさなければなりません(MUST)
xml:lang
属性(<lexicon>
要素の)を有する適合発音辞書仕様ドキュメントでは、プロセッサが適合プロセッサであるためには、その言語で遭遇したかのようにすべてのテキストをうまく解析し処理することが必須です(REQUIRED)。xml:lang
属性(<lexicon>
要素の)を有する適合発音辞書仕様ドキュメントを解析する場合、ホスティング環境に通知すべきです(SHOULD)。適合発音辞書仕様プロセッサが、この仕様で宣言されていない要素や属性に遭遇したり、この仕様が禁止している場所でそのような要素や属性が発生した場合には、プロセッサは次を選択できます(MAY)。
このドキュメントで明記している場合を除き、ASRとTTSに対する音響構造(モデル、波形など)としての発音表現の性能に関する適合要求はありません。
発音辞書のマークアップ言語は、次の要素と属性で構成されます。
要素 | 属性 | 説明 |
---|---|---|
<lexicon> |
version xml:base xmlns xml:lang alphabet |
PLSのルート要素 |
<meta> |
name http-equiv content |
メタデータが含まれている要素 |
<metadata> |
メタデータが含まれている要素 | |
<lexeme> |
xml:id role |
1つの字句エントリー用コンテナ要素 |
<grapheme> |
語彙素の綴り法に関する情報が含まれている。 | |
<phoneme> |
prefer alphabet |
語彙素の発音情報が含まれている。 |
<alias> |
prefer |
頭字語の展開および綴り法の代替が含まれている。 |
<example> |
語彙素の使用例が含まれている。 |
<lexicon>
要素発音辞書マークアップ言語のルート要素は、<lexicon>
要素です。この要素は、PLS言語の他のすべての要素のコンテナです。<lexicon>
要素には、0以上の<meta>
要素が含まれていなければならず(MUST)、その次に任意の(OPTIONAL)<metadata>
が続き、その次に0以上の<lexeme>
要素が続きます。<lexeme>
要素のないPLSドキュメントは、将来の字句エントリーの代替として有用かもしれないことに注意してください。
<lexicon>
要素には、PLSドキュメントで用いられるデフォルトの発音文字を示すalphabet
属性を指定しなければなりません(MUST)。alphabet
属性の値については、2項で記述しています。<phoneme>
要素を用いると、任意の語彙素でデフォルトの発音文字を上書きできます(MAY)。
version
属性は、ドキュメントに用いる仕様のバージョンを示す必須の(REQUIRED)属性で、「1.0
」という値でなければなりません(MUST)。
必須の(REQUIRED)xml:lang
属性により、発音辞書に適した言語の識別が可能となります。IETFのBest Current Practice 47[BCP47]は、xml:lang
属性の値に関する規範的な参照です。
xml:lang
が、PLSドキュメントの全体に対し、1つの一意の言語を指定することに注意してください。これは、多言語のSRGS[SRGS]やSSML[SSML]のドキュメントを作成する性能を制限するものではありません。そのようなドキュメントは、異なる言語で記述されている可能性のある複数の発音辞書を参照できます。
PLSの名前空間URIは、「"http://www.w3.org/2005/01/pronunciation-lexicon"
」です。すべてのPLSマークアップは、XML 1.0[XML-NS10]の名前空間またはXML 1.1[XML-NS11]の名前空間のいずれかで記述された名前空間宣言を用いて、PLS名前空間に関連付けなければなりません(MUST)。これは、例えば、この仕様の例で示しているとおり、<lexicon>
要素にxmlns
属性を宣言すれば達成できます。
PLSドキュメントには、[XML-BASE]で定義されているxml:base
属性を含むことができます(MAY)。HTML 4.01の仕様[HTML]にあるとおり、これが、ドキュメント内のすべての相対参照が基底とするURIであることに注意してください。
このバージョンの仕様では、潜在的にメタデータの内容のみに相対URIを使用できることに注意してください。
「トマト」という単語とその発音に関するシンプルな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>tomato</grapheme> <phoneme>təmei̥ɾou̥</phoneme> <!-- IPA string is: "təmei̥ɾou̥" --> </lexeme> </lexicon>
<meta>
要素<metadata>
要素と<meta>
要素は、ドキュメントに関する情報を置くことができるコンテナです。<metadata>
要素は、メタデータ・スキーマを用いて、<meta>
よりも汎用的でより強力なメタデータ情報の処理が可能になります。
<meta>
要素は、宣言されたmetaプロパティーに文字列を関連付けるか、http-equiv
contentを宣言します。name
属性かhttp-equiv
属性のいずれかが必須です(REQUIRED)。name
属性とhttp-equiv
属性の両方を提供するのはエラーです。content
属性も必須です(REQUIRED)。「seeAlso
」は、この仕様で定義されている唯一の<meta>
プロパティーです。これは、コンテンツに関する付加的なメタデータ情報を提供する資源を指定するために用いられます。このプロパティーは、「RDF語彙記述言語1.0: RDFスキーマ」[RDF-SCHEMA]の5.4.1項の「seeAlso
」プロパティーでモデル化されています。http-equiv
属性は、HTTPでドキュメントを検索する場合に特に重要となります。推奨されるHTTPヘッダ情報の提供方法は、HTTPヘッダ・フィールドを用いるというものですが、SSMLドキュメントの作成者が、HTTPヘッダ・フィールドの設定により元サーバにあるドキュメントに関連付けることができないような場合には(例えば、キャッシュ制御情報)、http-equiv
contentを使用できます(MAY)。HTTPサーバとキャッシュがPLSドキュメントの<meta>
の内容を検査する必要はなく、したがって、それ以外の場合にHTTPサーバとキャッシュが送信するヘッダの値を無効することに注意してください。
<meta>
要素は空要素です。
この項は、HTML 4.01仕様[HTML]の<meta>
記述に倣ってモデル化されています。名前/コンテンツのモデルは、メタデータを含めるという、より良い方法に置き換えられたという事実にもかかわらず(例えば、XHTML 2.0[XHTML2]の20.6項を参照)、また、XHTMLメディア・タイプ[XHTML-MTYPES]の3.3項では、http-equiv
指示子が推奨されなくなったという事実にもかかわらず、ワーキンググループは、Speech Interface Framework(VoiceXML、SSML、SRGS、CCXML)の最初のバージョンにおける他の仕様との互換性のためにこれを保持することに決めました。フレームワークの将来のバージョンでは、より最新のメタデータ・スキームと整合性を持つことになるでしょう。
下記は、どのようにPLSドキュメントに<meta>
要素を記述すれば、付加的なメタデータ情報を提供する資源を指定できるかの例です。
<?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"> <meta http-equiv="Cache-Control" content="no-cache"/> <meta name="seeAlso" content="http://example.com/my-pls-metadata.xml"/> <!-- If lexemes are to be added to this lexicon, they start below --> </lexicon>
<metadata>
要素<metadata>
要素は、メタデータのマークアップを用いてドキュメントに関する情報を置くことができるコンテナです。<metadata>
要素の内容を処理するソフトウェアの挙動に関しては、この仕様では述べていません。したがって、この仕様を実装しているソフトウェアは、自由にその内容を無視できます。
<metadata>
では、どのメタデータのマークアップでも使用できますが、RDF/XML構文[RDF-XMLSYNTAX]を、Dublin Core Metadata Initiative[DC]が定義している汎用的なメタデータ・プロパティー(例えば、Title(タイトル)、Creator(作成者)、Subject(主題)、Description(内容記述)、Rights(権利関係)など)と併せて使用することを推奨します(RECOMMENDED)。
次の例は、タイトル、内容記述、日付などの一般的なドキュメント情報を記述する「ダブリン・コア・メタデータ要素セット、バージョン1.1」[DC-ES]を用いて、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"> <metadata> <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc = "http://purl.org/dc/elements/1.1/"> <!-- Metadata about the PLS document --> <rdf:Description rdf:about="" dc:title="Pronunciation lexicon for W3C terms" dc:description="Common pronunciations for many W3C acronyms and abbreviations, i.e. I18N or WAI" dc:publisher="W3C" dc:date="2005-11-29" dc:rights="Copyright 2002 W3C" dc:format="application/pls+xml"> <dc:creator>The W3C Voice Browser Working Group</dc:creator> </rdf:Description> </rdf:RDF> </metadata> <!-- If lexemes are to be added to this lexicon, they start below --> </lexicon>
<lexeme>
要素<lexeme>
要素は、字句エントリー用のコンテナで、複数の綴り法と複数の発音情報を含むことができます(MAY)。
<lexeme>
要素には、1つ以上の<grapheme>
要素、1つ以上の発音(<phoneme>
要素または<alias>
要素のどちらか、または両方の組み合わせによる)および0以上の<example>
要素が含まれます。<lexeme>
要素の子要素は、任意の順に出現可能です(MAY)が、その順序が複数の発音の処理に影響を及ぼしえることに注意してください(4.9項を参照)。
<lexeme>
要素には、任意の(OPTIONAL)xml:id
[XML-ID]属性があり、これによって、この要素を他のドキュメントから参照(例えば、フラグメント識別子やXPointer[XPOINTER]によって)可能となります。例えば、開発者は、メタデータ(品詞または単語の関係の部分など)を語彙素に関連付けるために外部のRDFステートメント[RDF-CONC]を使用できます。
<lexeme>
要素は、その値として、XML(使用されているXMLのバージョンにより1.0[XML-NS10]または1.1[XML-NS11])の名前空間の4項で定義されている1つ以上の空白で区切られたQNamesをとる任意の(OPTIONAL)role
属性を持ちます。
role
属性は、綴り法に最も適した発音の選択に役立つ追加情報を記述します。主な用途は、綴りは同じだけれども発音方法が異なる単語を区別することです(同綴異義語を参照。また、5.5項も参照)。role
属性の属性コンテンツ内のQNameは、記述されている<lexeme>
要素の範囲内の名前空間宣言を用いて展開名に展開されます。したがって、各QNameにより、指定された名前空間内の特定の項目への参照が可能となります。下記の2番目の例では、role属性内の「claws:VVI
」というQNameは、「http://www.example.com/claws7tags」という名前空間の「VVI」という項目に展開されます。この仕組みによって、品詞の定義済みタクソノミーが指定された名前空間URIでドキュメント化されているとの想定に基づいて、そのタクソノミーを参照できるようになります。
語彙素が2つあるイタリア語の発音辞書。そのうちの1つは、英語と同じ意味と発音を持つ単語として技術的な議論においてしばしば使用される「file」という外来語です。これは、「queue(列)」を意味する「fila」の複数形である「ファイル」という同綴異義の名詞とは違います。「file」に対するこのユーザ固有の発音が、任意のシステム定義の発音より優先されることに注意してください。
<?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="it"> <lexeme> <grapheme>file</grapheme> <phoneme>faɪl</phoneme> <!-- This is the pronunciation of the loan word "file" in Italian. IPA string is: "faɪl" --> </lexeme> <lexeme> <grapheme>EU</grapheme> <alias>Unione Europea <!-- This is a substitution of the European Union acronym in Italian language. --></alias> </lexeme> </lexicon>
下記は、「read」という単語の発音辞書の例です。
<?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:claws="http://www.example.com/claws7tags" alphabet="ipa" xml:lang="en"> <lexeme role="claws:VVI claws:VV0 claws:NN1"> <!-- verb infinitive, verb present tense, singular noun --> <grapheme>read</grapheme> <phoneme>riːd<!-- same as riːd --></phoneme> </lexeme> <lexeme role="claws:VVN claws:VVD"> <!-- verb past participle, verb past tense --> <grapheme>read</grapheme> <phoneme>red</phoneme> </lexeme> </lexicon>
role
属性が修飾付きの値(この例では、UCREL CLAWS7タグ集合の品詞)に基づいて、「read」という単語の不定詞形・現在形の動詞および単数名詞の発音と、過去形・過去分詞形の発音と区別することに注意してください。
下記は、上記の辞書を参照しており、さらに、role
属性を用いてダイアログ内の「read」という単語の適切な発音を選択する方法を示す拡張要素を含んでいるドキュメントの例です。
<?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" xmlns:myssml="http://www.example.com/ssml_extensions" xmlns:claws="http://www.example.com/claws7tags" xml:lang="en"> <lexicon uri="http://www.example.com/lexicon.pls" type="application/pls+xml"/> <voice gender="female" age="3"> Can you <myssml:token role="claws:VVI">read</myssml:token> this book to me? </voice> <voice gender="male" age="43"> I've already <myssml:token role="claws:VVN">read</myssml:token> it three times! </voice> </speak>
また、下記は、SSML 1.1[SSML-11]を用いた、中国語の例です。
<?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:claws="http://www.example.com/claws7tags" alphabet="x-myorganization-pinyin" xml:lang="zh-CN"> <lexeme role="claws:VV0"> <!-- base form of lexical verb --> <grapheme>处</grapheme> <phoneme>chu3</phoneme> <!-- pinyin string is: "chǔ" in 处罚 处置 --> </lexeme> <lexeme role="claws:NN"> <!-- common noun, neutral for number --> <grapheme>处</grapheme> <phoneme>chu4</phoneme> <!-- pinyin string is: "chù" in 处所 妙处 --> </lexeme> </lexicon>
下記は、上記の辞書を参照しており、さらに、role
属性を用いてダイアログ内の「处」という中国語の単語の適切な発音を選択する方法を示すドキュメントの例です。
<?xml version="1.0" encoding="UTF-8"?> <speak version="1.1" 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" xmlns:claws="http://www.example.com/claws7tags" xml:lang="zh-CN"> <lexicon uri="http://www.example.com/lexicon.pls" type="application/pls+xml" xml:id="mylex"/> <lookup ref="mylex"> 他这个人很不好相<w role="claws:VV0">处</w>。 此<w role="claws:NN">处</w>不准照相。 </lookup> </speak>
SRGS 1.0[SRGS]とSSML 1.0[SSML]の仕様は、現時点では、role
属性に基づく選択メカニズムをサポートしていません。これらの仕様の将来のバージョンでは、role
属性に基づく適切な発音の選択が可能になると予想されます。
<grapheme>
要素<lexeme>
には、少なくとも1つの<grapheme>
要素が含まれています。<grapheme>
要素には、<lexeme>
の綴り法を記述したテキストが含まれています。
<grapheme>
要素には、「character」という子の情報項目が含まれていなければなりません(MUST)。<grapheme>
要素には、任意の名前空間の「element」という子の情報項目、つまり、PLSまたは外部の名前空間が含まれていてはなりません(MUST NOT)。
より複雑な状況では、同じ単語や語句に別のテキスト表現があることもありえ、これは、様々な理由で発生する可能性があります。例えば、次のようなケースがあります。
上記のバリエーションへの対応として発音情報を複製する必要性を排除するために、<lexeme>
要素に複数の<grapheme>
要素を記述して、基底の綴り法やあらゆるバリエーションを定義することができます(MAY)。<lexeme>
内で付与されているすべての発音が、<lexeme>
内のあらゆる<grapheme>
に適用されることに注意してください。
1つの書記素と1つの発音の例です。
<?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>Sepulveda</grapheme> <phoneme>səˈpʌlvɪdə</phoneme> <!-- IPA string is: "səˈpʌlvɪdə" --> </lexeme> </lexicon>
もう1つは、1つの字句エントリーに複数の記述形式がある例で、最初の綴り法では「ローマ字」の綴り法にラテン文字を用い、2番目では「漢字」の綴り法を用い、3番目では「平仮名」の綴り法を用いています。
<?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="jp"> <lexeme> <grapheme>nihongo<!-- "Romaji" --></grapheme> <grapheme>日本語<!-- "Kanji" --></grapheme> <grapheme>にほんご<!-- "Hiragana" --></grapheme> <phoneme>ɲihoŋo <!-- IPA string is: "ɲihoŋo" --></phoneme> </lexeme> </lexicon>
<phoneme>
要素<lexeme>
には、1つ以上の<phoneme>
要素を含むことができます(MAY)。<phoneme>
要素には、<lexeme>
の発音方法を記述したテキストが含まれます。
<phoneme>
要素には「character」という子の情報項目が含まれていなければなりません(MUST)。<phoneme>
要素には、任意の名前空間の「element」という子の情報項目、つまり、PLSまたは外部の名前空間が含まれていてはなりません(MUST NOT)。
<phoneme>
要素は、alphabet
属性を持つことができ(MAY)、それは、この<phoneme>
要素のみに用いられる発音文字を示します。デフォルトの発音文字については、4.1項を参照してください。alphabet
属性用の正当な値は、2項で記述しています。
prefer
は、任意の(OPTIONAL)属性で、値が「true
」の場合には、音声合成エンジンが使用しなければならない(MUST)発音を示します。複数の発音に「true
」という値を持つprefer
がある場合にどのような挙動が求められるかに関しては、4.9項を参照してください。可能な値は、「true
」か「false
」です。デフォルト値は「false
」です。
preferのメカニズムは、<phoneme>
と<alias>
の両方の要素を範囲としています。4.9項は、ASRとTTSに対してPLSで複数の発音を指定する方法を記述しており、4.9.3項で多くの例を挙げています。
字句エントリーに対する複数の発音
<?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>huge</grapheme> <phoneme prefer="true">hjuːdʒ</phoneme> <!-- IPA string is: "hjuːdʒ" --> <phoneme>juːdʒ</phoneme> <!-- IPA string is: "juːdʒ" --> </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="en-US"> <lexeme> <grapheme>theater</grapheme> <grapheme>theatre</grapheme> <phoneme prefer="true">ˈθɪətər</phoneme> <!-- IPA string is: "ˈθɪətər" --> <phoneme>ˈθiːjətər</phoneme> <!-- IPA string is: "ˈθiːjətər" --> </lexeme> </lexicon>
発音文字を独自のものに変更する<phoneme>
の例です。
<?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>color</grapheme> <phoneme>ˈkʌlər</phoneme> <!-- IPA string is: "ˈkʌlər" --> </lexeme> <lexeme> <grapheme>XYZ</grapheme> <phoneme alphabet="x-example-alphabet">XYZ</phoneme> <!-- The above pronunciation is given in a proprietary alphabet called: "x-example-alphabet" --> </lexeme> </lexicon>
<alias>
要素<lexeme>
要素には、必要に応じて頭字語や略語の発音を他の綴り法や他の代替方法で示すために用いる1つ以上の<alias>
要素を含むことができます(MAY)。下記および4.9.3項の例を参照してください。
<alias>
要素には、「character」という子の情報項目が含まれていなければなりません(MUST)。<alias>
要素には、任意の名前空間の「element」の子の情報項目、つまり、PLSまたは外部の名前空間が含まれていてはなりません(MUST NOT)。
<lexeme>
要素には、<alias>
要素と<phoneme>
要素の両方が存在しえます(MAY)。著者が発音を明確に制御したい場合には、<alias>
要素ではなく<phoneme>
要素を使用できます。
<alias>
要素には、<phoneme>
要素のprefer
属性に似た任意の(OPTIONAL)prefer
属性があります。prefer
属性の規範的記述に関しては、4.6項を参照してください。
<alias>
要素コンテンツの発音は、PLSドキュメント内の構成書記素の<phoneme>
要素で記述されている発音を用い、構成書記素の<alias>
要素上のPLSドキュメントへのアクセスを再帰的に呼び出すことなく、プロセッサが生成しなければなりません(MUST)。プロセッサは、辞書の外部にある書記素の発音を決定するのと同じプロセスで残りの<alias>
要素コンテンツの発音を決定すべきです(SHOULD)。
<?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> </lexicon>
次の例は、<alias>
要素と<phoneme>
要素の組み合わせを示しています。提示している頭字語「GNU」には、2つの発音しかありません。<alias>
の再帰が許されていないため、<alias>
要素で表現されている「Unix」の発音が<alias>
要素コンテンツの「GNU」の発音の一部として用いられないことに注意してください。プロセッサは、<phoneme>
要素で記述されている「GNU」と「Unix」の発音を用いて「GNU is Not Unix」の発音を生成します。
<?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>GNU</grapheme> <alias><!-- be careful about recursion here -->GNU is Not Unix</alias> <phoneme>gəˈnuː</phoneme> <!-- IPA string is: "gəˈnuː" --> </lexeme> <lexeme> <grapheme>Unix</grapheme> <grapheme>UNIX</grapheme> <alias>a multiplexed information and computing service</alias> <phoneme>ˈjuːnɪks</phoneme> <!-- IPA string is: "ˈjuːnɪks" --> </lexeme> </lexicon>
<example>
要素<example>
要素には、この語彙素の存在について説明した例文が含まれています。exampleは明示的にマーク付けされるため、発音辞書ドキュメントの回帰試験や生成に自動ツールを使用できます。
<example>
要素には、「character」の子の情報項目が含まれていなければなりません(MUST)。<example>
要素には、任意の名前空間の「element」子の情報項目、つまり、PLSまたは外部の名前空間が含まれていてはなりません( MUST NOT)。
1つの<lexeme>
要素に対し、0、1または多数の <example>
要素を付与できます(MAY)。
<?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>lead</grapheme> <phoneme>led</phoneme> <example>My feet were as heavy as lead.<!-- possible comment --></example> </lexeme> <lexeme> <grapheme>lead</grapheme> <phoneme>liːd</phoneme> <!-- IPA string is: "liːd" --> <example>The guide once again took the lead.</example> </lexeme> </lexicon>
この項では、ASRとTTSに対してPLSドキュメントで指定されている複数の発音の処理について記述しています。
ある<lexeme>
に対し複数の発音が指定されている(<phoneme>
要素または<alias>
要素のどちらか、または両方の組み合わせによって)場合、ASRプロセッサは、それぞれを<grapheme>
に対する有効な発音と見なさなければなりません(MUST)。4.9.3項の例2とそれ以下の例を参照してください。
複数の<lexeme>
に同じ<grapheme>
が含まれている場合、すべての関連する発音(role
属性を用いた関連する発音の選択に関しては、4.4項の議論を参照)は、ドキュメント順に集められるでしょう。そして、ASRプロセッサは、それらすべてが<grapheme>
に対して有効な発音であると見なさなければなりません(MUST)。4.9.3項の例7と例8を参照してください。
ある<lexeme>
に複数の発音が指定されている(<phoneme>
要素または<alias>
要素のどちらか、または両方の組み合わせによって)場合、TTSプロセッサには、「true
」という値を持つprefer
属性があるドキュメント順において最初の発音を使用しなければなりません(MUST)。「true
」という値を持つprefer
がある発音がない場合、TTSプロセッサが発音の選択方法を有するようにドキュメント化されていなければ(その場合には、プロセッサは、発音のうちのどれか1つを使用しなければならない(MUST))、TTSプロセッサは、ドキュメント順において最初の発音を使用しなければなりません(MUST)。4.9.3項の例2とそれ以下の例を参照してください。
複数の<lexeme>
に同じ<grapheme>
が含まれている場合、すべての関連する発音(role
属性を用いた関連する発音の選択に関しては、4.4項の議論を参照)は、ドキュメント順に集められるでしょう。そして、TTSプロセッサは、「true
」という値を持つprefer
属性があるドキュメント順において最初の発音を使用しなければなりません(MUST)。関連する発音に「true
」という値を持つprefer
がない場合、TTSプロセッサが発音の選択方法を有するようにドキュメント化されていなければ(その場合には、プロセッサは、関連する発音のうちのどれか1つを使用しなければならない(MUST))、TTSプロセッサはドキュメント順において最初の発音を使用しなければなりません(MUST)。4.9.3項の例7と例8を参照してください。
TTSプロセッサには、複数の発音から自動的に選択可能な、言語に依存した内部メカニズムがあるかもしれないことに注意してください。4.9.3項の例9を参照してください。
この項は参考情報です。
次の例は、複数の発音に関する最も一般的な例について説明することを目的としています。ASRとTTSの両方の挙動について記述しています。
次の例では、発音は1つのみです。ASRとTTSの両方のプロセッサがこれを使用するでしょう。
<?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>bead</grapheme> <phoneme>biːd</phoneme> <!-- IPA string is: "biːd" --> </lexeme> </lexicon>
次の例には、2つの発音があります。ASRプロセッサは両方の発音を認識し、TTSプロセッサは1つのみを使用するでしょう。発音に「true
」という値を持つprefer
がないため、プロセッサに別の対応策が記述されていなければ、プロセッサは最初の発音を使用するでしょう(ドキュメント順において最初の発音であるため)。
<?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>read</grapheme> <phoneme>red</phoneme> <phoneme>riːd</phoneme> <!-- IPA string is: "riːd" --> </lexeme> </lexicon>
次の例には、2つの発音があります。ASRプロセッサは両方の発音を認識し、TTSプロセッサは2番目の発音のみを使用するでしょう(「true
」という値を持つprefer
があるため)。
<?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>lead</grapheme> <phoneme>led</phoneme> <phoneme prefer="true">liːd</phoneme> <!-- IPA string is: "liːd" --> </lexeme> </lexicon>
次の例では、「read」には2つの発音があります。最初の発音は、その直下で定義されている「red」の別名という形で指定されています。ASRプロセッサは両方の発音を認識し、TTSプロセッサは1つのみを使用するでしょう。発音に「true
」という値を持つprefer
がないため、プロセッサに別の対応策が記述されていなければ、プロセッサは、最初の発音を使用するでしょう(ドキュメント順において最初の発音であるため)。この例では、別名は辞書の終わりのほうにある語彙素を指していますが、一般的に、この順序は適切ではありません。
<?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>read</grapheme> <alias>red</alias> <phoneme>riːd</phoneme> <!-- IPA string is: "riːd" --> </lexeme> <lexeme> <grapheme>red</grapheme> <phoneme>red</phoneme> </lexeme> </lexicon>
次の例では、「lead」には2つの発音があります。両方に「true
」という値を持つprefer
があります。ASRプロセッサは両方の発音を認識し、TTSプロセッサは最初の発音のみを使用するでしょう(「true
」という値を持つprefer
があるドキュメント順において最初の発音であるため)。
<?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>lead</grapheme> <alias prefer="true">led</alias> <phoneme prefer="true">liːd</phoneme> <!-- IPA string is: "liːd" --> </lexeme> <lexeme> <grapheme>led</grapheme> <phoneme>led</phoneme> </lexeme> </lexicon>
次の例では、「lead」には2つの発音があります。ASRプロセッサは両方の発音を認識し、TTSプロセッサは2番目の発音のみを使用するでしょう(「true
」という値を持つprefer
があるため)。「led」という「lead」の別名エントリーが別名の発音の優先設定を継承しないことに注意してください。
<?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>lead</grapheme> <alias>led</alias> <phoneme prefer="true">liːd</phoneme> <!-- IPA string is: "liːd" --> </lexeme> <lexeme> <grapheme>led</grapheme> <phoneme prefer="true">led</phoneme> </lexeme> </lexicon>
次の例では、「lead」には2つの異なるエントリーが辞書内にあります。ASRプロセッサはここで示している両方の発音を認識し、TTSプロセッサは1つのみを認識するでしょう。発音に「true
」という値を持つprefer
がないため、プロセッサに別の対応策が記述されていなければ、プロセッサは「led」という発音を使用するでしょう(ドキュメント順において最初の発音であるため)。
<?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>lead</grapheme> <phoneme>led</phoneme> </lexeme> <lexeme> <grapheme>lead</grapheme> <phoneme>liːd</phoneme> <!-- IPA string is: "liːd" --> </lexeme> </lexicon>
次の例では、同じ辞書ドキュメント内の2つの異なる語彙素エントリーのそれぞれに2つの発音があります。ASRプロセッサはここで示している両方の発音を認識し、TTSプロセッサは「liːd」という発音のみを認識するでしょう(「true
」という値を持つprefer
があるドキュメント順において最初の発音であるため)。
<?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>lead</grapheme> <alias>led</alias> <phoneme prefer="true">liːd</phoneme> <!-- IPA string is: "liːd" --> </lexeme> <lexeme> <grapheme>lead</grapheme> <phoneme prefer="true">led</phoneme> <phoneme>liːd</phoneme> <!-- IPA string is: "liːd" --> </lexeme> </lexicon>
次のフランス語の例では、「1」には3つの発音があります。最後の2つの発音は、その直下で定義されている「une」の別名という形で指定されています。ASRプロセッサはここで示している3つの発音をすべて認識し、プロセッサに別段の記述がない場合には、TTSプロセッサは「un」という発音のみを認識するでしょう。TTSプロセッサが、複数の発音のどちらかを自動的に選択できるように記述されている場合には、「un」か「une」という別名のどちらかを(文法上の文脈により)選択するでしょう。「une」という別名を選択すれば、「yn」という発音が使用されるでしょう(「true
」という値を持つprefer
があるため)。
<?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="fr"> <lexeme> <grapheme>1</grapheme> <alias>un</alias> <alias>une</alias> </lexeme> <lexeme> <grapheme>une</grapheme> <phoneme prefer="true">yn</phoneme> <phoneme>ynə</phoneme> <!-- IPA string is: "ynə" --> </lexeme> </lexicon>
この項は参考情報です。
発音辞書言語を用いると、最もシンプルな形で綴り法(テキスト表現)を発音( 音声/音素表現)に関連付けることができます。通常、発音辞書ドキュメントには、複数のエントリーが含まれています。したがって、例えば、「Newton」や「Scahill」のような固有名詞の発音を指定するためのマークアップは次のようになるでしょう。
<?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 string is: "ˈnjuːtən" --> </lexeme> <lexeme> <grapheme>Scahill</grapheme> <phoneme>ˈskɑhɪl</phoneme> <!-- IPA string is: "ˈskɑhɪl" --> </lexeme> </lexicon>
この例では、<lexicon>
というルート要素は、「Newton」、「Scahill」という単語に対して2つの語彙素が含まれています。それぞれの<lexeme>
は、綴り法と発音表現のエントリーから成る合成要素です。2つの<lexeme>
要素には、それぞれ、綴り法のテキストが含まれている1つの<grapheme>
要素と発音が含まれている1つの<phoneme>
要素が存在しています。この場合、<lexicon>
要素のalphabet
属性の値が「ipa
」であるため、すべての発音に国際音標文字[IPA]が用いられています。
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 string is: "ˈnjuːtən" --> <phoneme>ˈnuːtən</phoneme> <!-- IPA string is: "ˈnuːtən" --> </lexeme> </lexicon>
利用可能な複数の発音から1つのみを選択する必要がある場合には(例えば、発音辞書が音声合成システムで用いられている場合など)、優先する発音を示すために<phoneme>
要素のprefer
属性を使用できます。
同じ単語や語句に対して複数の別のテキスト表現が存在している場合もあります。これは、様々な理由で発生する可能性があります。詳細は、4.5項を参照してください。これらは同じ意味を持つ表現(同音異義語の反対に)であるため、複数の書記素が含まれる1つの<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"> <!-- English entry showing how alternative spellings are handled --> <lexeme> <grapheme>colour</grapheme> <grapheme>color</grapheme> <phoneme>ˈkʌlər</phoneme> <!-- IPA string is: "ˈ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="jp"> <!-- Japanese entry showing how multiple writing systems are handled romaji, kanji and hiragana orthographies --> <lexeme> <grapheme>nihongo</grapheme> <grapheme>日本語</grapheme> <grapheme>にほんご</grapheme> <phoneme>ɲihoŋo</phoneme> <!-- IPA string is: "ɲihoŋo" --> </lexeme> </lexicon>
発音は、完全に同じではなく、部分的に一致している場合がありえます。例えば、「Smyth」および「Smith」という英語の名前には1つの共通する発音がありますが、「Smyth」には、自身にのみ適合する発音があります。したがって、複数の<lexeme>
要素を用いて、これを表現する必要があります。
<?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>Smyth</grapheme> <grapheme>Smith</grapheme> <phoneme>smɪθ/phoneme> <!-- IPA string is: "smɪθ" --> </lexeme> <lexeme> <grapheme>Smyth</grapheme> <phoneme>smaɪð</phoneme> <!-- IPA string is: "smaɪð" --> </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 string is: "siːd" --> </lexeme> <lexeme> <grapheme>seed</grapheme> <phoneme>siːd</phoneme> <!-- IPA string is: "siːd" --> </lexeme> </lexicon>
ほとんどの言語には、同綴異義語と呼ばれる、意味は異なるけれども同じ綴りの(また、発音が異なる場合もある)単語があります。例えば、英語のbass(魚の)という単語とbass(音楽の)という単語は、綴りは同じですが意味と発音は異なります。これらの単語は、異なる値のrole
属性で区別される別々の<lexeme>
要素を用いて表すことを推奨しますが、発音辞書の作成者が2つの単語を区別したくなければ、シンプルに、同じ<lexeme>
要素内の別の発音として表現できます(4.4項を参照)。後者の場合には、TTSプロセッサは、1番目と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 string is: bæs --> <phoneme>beɪs</phoneme> <!-- IPA string is: beɪs --> </lexeme> </lexicon>
英語には、作成者の設定次第で、同綴異義語か別の発音かのどちらとしても扱える名詞―動詞のペアの例が多く存在していることに注意してください。下記は「refuse」の名詞/動詞と「address」の名詞/動詞の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" xmlns:mypos="http://www.example.com/my_pos_namespace" alphabet="ipa" xml:lang="en-US"> <lexeme role="mypos:verb"> <grapheme>refuse</grapheme> <phoneme>rɪˈfjuːz</phoneme> <!-- IPA string is: "rɪˈfjuːz" --> </lexeme> <lexeme role="mypos:noun"> <grapheme>refuse</grapheme> <phoneme>ˈrefjuːs</phoneme> <!-- IPA string is: "ˈrefjuː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"> <!-- Acronym expansion --> <lexeme> <grapheme>W3C</grapheme> <alias>World Wide Web Consortium</alias> </lexeme> <!-- number representation --> <lexeme> <grapheme>101</grapheme> <alias>one hundred and one</alias> </lexeme> <!-- crude pronunciation mechanism --> <lexeme> <grapheme>Thailand</grapheme> <alias>tie land</alias> </lexeme> <!-- crude pronunciation mechanism and acronym expansion --> <lexeme> <grapheme>BBC 1</grapheme> <alias>be be sea one</alias> </lexeme> </lexicon>
この仕様をより良いものにするために、アイデア、コメント、フィードバックおよび実装経験を提供してくださった貢献者は次の方々です(アルファベット順に記述)。
編集者は、有用なコメントに対し、WAIとWAI/PF、I18NとMMIのW3Cグループに感謝を表します。
この仕様は、次の方々の協力によって作成されました(アルファベット順に記述)。
この項は規範的です。
PLSドキュメントを検証するために使用できるスキーマが2つあります。
スキーマの最新バージョンは、以下にあります。
"http://www.w3.org/TR/pronunciation-lexicon/pls.xsd"
"http://www.w3.org/TR/pronunciation-lexicon/pls.rng"
安定性のために、日付が付与されている下記のURIを用いることを推奨します(RECOMMENDED)。
"http://www.w3.org/TR/2008/PR-pronunciation-lexicon-20081014/pls.xsd"
"http://www.w3.org/TR/2008/PR-pronunciation-lexicon-20081014/pls.rng"
この項は規範的です。
発音辞書仕様に関連するメディア・タイプは「application/pls+xm
」で、ファイル名の拡張子は[RFC4267]で定義されている「.pls
」です。
この項は参考情報です。
PLSドキュメントを用いる読み上げアプリケーションには、適切な字句の内容を検索できるメカニズムが必要です。最もシンプルなケースでは、アプリケーションは正確に入力データと一致する内容を持つ<grapheme>
要素を得るためにPLSドキュメントを検索し、対応する語彙素をすべて検索するでしょう。しかし、一般に、字句の内容の検索はそれほど簡単ではありません。完全一致が何で構成されるか、また、矛盾する複数の一致が当てはまる可能性がある場合にはどの語彙素を検索すべきかを定義する必要があります。
ここで、適切な字句の内容を検索する方法の例を紹介します。
<grapheme>
要素と一致させるために、「do」と「n't」に明示的にトークン化できます。<grapheme>
要素を有する語彙素の検索を優先すべきです。したがって、「they'll」と入力された場合、「they」という語彙素よりも「they'll」という語彙素が優先されるべきです。ここで概説したアプローチは、主に英語における必要事項を念頭に置いて作成されており、他の言語の特定の要件に合わせて修正すべきです。
PLSドキュメントを用いるアプリケーションは、字句の内容を検索する際に採用するアプローチを記述することを推奨します。
次の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>New York</grapheme> <alias>NY</alias> </lexeme> <lexeme> <grapheme>York City</grapheme> <alias>YC</alias> </lexeme> </lexicon>
上記のアプローチを用いる場合、「New York City」を「New YC」ではなく「NY City」として処理すべきです。
この項は参考情報です。