1 / 20

実習:音声対話

実習:音声対話. 担当:西本卓也(東京大学) 2009 年 8 月 nishi@hil.t.u-tokyo.ac.jp. 演習の流れ. 音声入出力に関する準備 ヘッドセットマイク 対話マネージャの基本操作 サンプル対話の実行 対話シナリオの変更・拡張 VXML ファイルのコピー・編集・実行 片付け(必須) 一時ファイルの消去. ヘッドセットの準備. ヘッドセットマイクの接続 音量の設定 [ 音量コントロール ] 赤帽子 - [ サウンドとビデオ ] にある 音声の取り込みテスト $ wavesurfer. 実習:手順1.

Download Presentation

実習:音声対話

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 実習:音声対話 担当:西本卓也(東京大学) 2009年8月 nishi@hil.t.u-tokyo.ac.jp

  2. 演習の流れ • 音声入出力に関する準備 • ヘッドセットマイク • 対話マネージャの基本操作 • サンプル対話の実行 • 対話シナリオの変更・拡張 • VXMLファイルのコピー・編集・実行 • 片付け(必須) • 一時ファイルの消去

  3. ヘッドセットの準備 • ヘッドセットマイクの接続 • 音量の設定 • [音量コントロール] • 赤帽子 - [サウンドとビデオ] にある • 音声の取り込みテスト • $ wavesurfer

  4. 実習:手順1 • Galatea Dialog Studioの実行 • $ cd /n/media/sp/galatea/DM • $ ./galatea tests/vxml/form.vxml • 対話例は後述(マイクOFFのまま) • 終了(メニューからは終了できない) • ターミナルにフォーカス指定して Ctrl+C

  5. Dialog Studioの操作(1) • アドレスボックス / [Go] • 実行中のファイル名または URL を表示 • ファイル名などを入力して [Go] を押すと、指定された対話を開始 • 実行中の対話があれば終了して実行 • [Validate] • ファイル内容の文法などをチェック • ただし実行時エラーはチェックできない • 実行中の対話に影響を与えない

  6. Dialog Studioの操作(2) • [Pause] • 実行中の対話を一時中断・再開 • 発話中の場合は、現在出力中の音声などを出力し終えてから待機 • 注意:すぐに止まらないことがある • [Run] • 中断中の対話の再開

  7. Dialog Studioの操作(3) • [File] - [Open Local File...] • ダイアログからファイルを指定して実行 • [Face] - [AgentEnable]/[AgentDisable] • エージェントを一時的に表示・非表示 • [Face] - [Texture]/[Wireframe]/... • エージェントの表示方法を切替 • [Mask] • 顔と声を同時に切替える • 制約:組み合わせは固定

  8. Dialog Studioの操作(4) • [Auto] - [AutoMove ON/OFF] • 顔の制御を実行・停止 • [Auto] - [AutoGaze ON/OFF] • 視線の制御を実行・停止 • [Auto] - [EmotionSpeak ON/OFF] • 感情切替による声の制御を有効化・無効化 • [Expression] • 感情を切替(AutoMove ONにて有効)

  9. Dialog Studioの操作(5) • [Demo] - [Nod]/[Say Hello] • うなずく動作や音声合成のデモ • [Demo] - [Demo1]/[Demo2] • 定義済み対話デモ • 内容を閲覧するには • 新しいターミナルを開いて... • $ less tests/vxml/kani.vxml • $ less tests/vxml/form.vxml

  10. 実習:手順2 • マイクをONにする • アドレスボックスを確認 • /n/media/sp/galatea/DM/tests/vxml/form.vxml • [Go]を押して対話

  11. 実習:手順3 • 対話例(form.vxml) • ガラティアカフェにようこそ • テイクアウトですか? • 「はい」「いいえ」 • お飲み物は何になさいますか? • 「コーヒー」「紅茶」 • 参考:「コーヒーのホット」なども受理可能 • ホットとアイスのどちらがいいですか? • 「ホット」「アイス」

  12. 実習:手順4 • ファイルの実行(演習課題1) • $ ./galatea tests/vxml/ticket.vxml • 修正するための準備(演習課題2・3) • $ cd tests/vxml • $ mkdir ~/dm • $ cp ticket.vxml ~/dm/ticket2.vxml • $ chmod 755 ~/dm/ticket2.vxml • $ cp ticket.vxml ~/dm/ticket3.vxml • $ chmod 755 ~/dm/ticket3.vxml

  13. 実習:手順5 • 演習課題1=ticket.vxml(元ファイル) • 動作確認(さまざまな駅名や枚数で) • grammar要素の確認 • 演習課題2=ticket2.vxml(コピー) • 席種を尋ねる対話とその確認対話を追加 • グリーン車、指定席、自由席 • 演習課題3=ticket3.vxml(コピー) • 出発駅と到着駅が同じでないようにチェック

  14. 実習:手順6 • ticket2.vxmlの編集(3も同様) • $ gedit • geditの文字コード設定 • [編集] - [Preferences] → [保存] • 可能な場合は元のファイルのエンコーディング(s) • 可能な場合は現在のロケール(r) • 修正したファイルの実行 • $ ./galatea ~/dm/ticket2.vxml

  15. 注意事項(1) • 日本語入力 • [Shift]+[スペース]で切替 • XMLの規則(HTMLより厳しい) • タグの入れ子構造 • 大文字小文字、全角半角の区別 • 属性の値は""で囲む • [Validate]で確認できる

  16. 注意事項(2) • XMLを読みやすくするために • <!-- と --> ではさまれた部分はコメント • ただし入れ子にはできない • 改行や空行・字下げは自由に行ってよい • Dialog Studioが不正終了したら • 不要プロセスが残る場合がある • 不要プロセスの消去: $ ./fin

  17. ヒント • field要素のname属性と一致させるもの • token要素のslot属性(grammar) • value要素のexpr属性(prompt) • 出力の<prompt>要素を省略できない場合 • <field>の中で用いる場合 • 属性指定:<prompt bargein="false">など • 読み上げ方を指定する要素を含む場合 • GalateaTalk(JEIDA)およびW3Cに準拠

  18. 演習課題2の回答例 <!-- 演習2:field "num" の後に追加 --> <field name="type"> <prompt>席種をどうぞ</prompt> <grammar version="1.0" root="#seat"> <rule id="seat"> <one-of> <item> <token sym="ぐりーんしゃ" slot="type"> グリーン車 </token> </item> <item> <token sym="していせき" slot="type"> 指定席 </token> </item> <item> <token sym="じゆうせき" slot="type"> 自由席 </token> </item> </one-of> </rule> </grammar> </field> <field name="confirm"> <prompt> <value expr="source"/>駅から <value expr="dest"/>駅まで <value expr="type"/>を <!-- 演習2:この行を追加 --> <value expr="num"/>枚ですね。 よろしいですか </prompt>

  19. 演習課題3の回答例 <filled> <!-- 演習3:filledに追加(ここから) --> <if cond="source == dest"> 不適切な入力です。 <clear namelist="source dest"/> </if> <!-- 追加(ここまで) --> <if cond="confirm == 'y'"> 御購入ありがとうございました。 <else/> もうしわけありません。最初からやりなおして下さい。 <clear/> </if> </filled>

  20. 実習:手順7(最後) • ログアウトする前に実行してください • プロセスの終了 • $ ./fin • 一時ファイルの消去 • $ ./deltmp • シャットダウンしてください • ヘッドセットを回収します

More Related