3 Galatea DM の仕様

3.1 対話記述言語の構成要素

Galatea DMが実装しているVoiceXML要素は,以下の機能から構成される.

VXML2.0
W3C VoiceXML 2.0 (http://www.w3.org/TR/voicexml20/)準拠の要素名や属性名の主要な機能を実装した.
SRGS1.0
音声認識文法はW3C Speech Recognition Grammar Specification 1.0のXML形式で用いられる記述に対応し(http://www.w3.org/TR/speech-grammar/),さらにGalatea SRMモジュールで導入したtoken要素のphoneme属性に対応した.また、情報処理学会試行標準として標準化中の「音声認識読み記号」をtoken要素のsym属性によって記述できる。
JEIDA-62-2000
音声合成に関してはVoiceXMLに加えてGalatea SSMモジュールが実装しているJEIDA-62-2000音声合成マークアップを使用できる.
Galatea
Galatea FSMモジュールに対応した顔表情などの制御のため,独自に<emotion>要素および<native>要素を実装した.
ECMAScript
<script>要素の内容,<assign>要素のcond属性,<value>要素のexpr属性などにおいてはECMAScript式が記述可能である(http://www.ecma-international.org/publications/standards/ECMA-262.HTM).

機能の詳細な実装状況は、第2部「文法リファレンス」に示している.

3.2 音声認識文法の仕様

メニューおよびフォーム要素における音声認識文法(<grammar>)は,VoiceXML 1.0仕様書で使用されているJava Speech Grammarではなく,<token>要素を含む<rule>要素を<grammar>要素内に列挙する記法に対応している.

<grammar>要素は一部Galatea DMの独自仕様となっている.

<token>要素にphoneme属性があるある場合はそれをJulianの音素列(セミコロン区切り)と見なす.sym属性がある場合はその値を「音声認識読み記号」と見なし,Galatea DMがphoneme形式に変換してSRMに送る.sym属性の記述方法はtests/recogsym.vxmlを参照すること.

<grammar>要素の使用例を以下に示す.

List 3.2.1 menu要素におけるgrammarの使用例
<menu>
<prompt>もう一度聞きたいですか?</prompt>
 <choice next="#kani">
  <grammar> <rule> <token sym="はい">はい</token> </rule> </grammar>
 </choice>
 <choice next="#end">
  <grammar> <rule> <token sym="いいえ">いいえ</token> </rule> </grammar>
 </choice>
 <nomatch>
  はい、または、いいえ、でお答えください。
  <reprompt/>
 </nomatch>
</menu>
List 3.2.2 form要素におけるgrammarの使用例
<form>
 <field name="place">
  <prompt> 場所をどうぞ。</prompt>
  <grammar>
   <rule><token sym="とうきょう">東京</token></rule>
   <rule><token sym="きょうと">京都</token></rule>
  </grammar>
  <filled>
   <prompt><value expr="place"/>ですね。</prompt>
  </filled>
 </field>
</form>

ただし,以下のような記述には未対応である.

<one-of>
  <item><token sym="とうきょう">東京</token></item>
  <item><token sym="きょうと">京都</token></item>
</one-of>

3.3 Galatea DM の制約

以下の場合には,Galatea DMは処理を強制終了することや,対話を停止することがある.