リリースノート

Galatea Toolkit for Linux (2009-09)

by Takuya Nishimoto (nishimoto atmark m.ieice.org)

2003年8月にリリースされた Galatea for Linux IPA 最終版 (galatea-linux-ipa) からの主な変更点は以下のとおりです。

プラットフォーム

  • 対象プラットフォームは Ubuntu Linux 8.4 以降 (32bit Desktop) になりました。
    • ただしディストリビューションに依存すると思われる機能は使っていません。
  • Ubuntu Linux を対象とした .deb 形式のインストーラを作成しました。
    • パッケージ : galatea-ja-chasen, galatea-ja-chaone, galatea-ja-unidic, galatea-engine, galatea-dialog
    • インストール先
      • /usr/local/{galatea-ja-morph,galatea-engine,galatea-dialog}
      • /usr/local/bin/galatea-{runner,generate}
    • ライセンス : フリーソフト版のリリース準備を進めています。
  • Galatea Dialog Studio が使用する Java 環境は OpenJDK 6 になりました。
    • JavaScript エンジンは /usr/share/java/js.jar を使用します。変更可能です。

エンジン

runner およびプロジェクト機能

  • 従来の galatea コマンドは galatea-runner となりました。
  • ホームディレクトリ直下の .galatea ディレクトリのみに一時ファイルを書き込むようになりました。
  • runner は起動時に雛形ファイルから各エンジンの設定ファイルを動的に生成します。
  • プロジェクトを生成する galatea-generate コマンドを導入しました。
    • 今後、拡張・改良される予定です。
  • skel ディレクトリ下の雛形ファイルは ERB 形式で ruby 言語の埋め込みが可能です。
    • システム設定 (galatea.yml) とプロジェクト設定 (project.yml) で指定された値を利用して設定ファイルが動的に生成されます。 つまり設定ファイル・雛形ファイル・runner が Model-View-Controller の関係になっています。
    • galatea.yml および project.yml も ERB 形式で ruby 言語の埋め込みが可能です。 ERB で評価された結果を用いて、雛形ファイルからの設定ファイル生成が行われます。
  • runner および generate は ruby1.8 の標準ライブラリのみを使用します。
    • ruby1.9 系でも動作確認済ですが、初期状態では ruby1.8 を使用します。

Galatea Dialog Studio

  • IPA 最終版で CPU が高負荷になっていた不具合は修正されました。
    • sourceforge.jp では galatea-linux-ipa の galatea-linux-v3.0a / gdm-src-1.0.1 です。
  • DS が AgentManager 配下のサブモジュールとして実装されました。
    • IPA 最終版では DialogManager が Perl 版 AgentManager を起動していました。 現在の実装では DS は標準入出力によって Galatea プロトコルで通信する Galatea サブモジュールの一つ(モジュール名はDM)であり、AgentManager が DS を起動しています。
    • この変更に伴って DialogManager のメジャーバージョンを 1.x から 2.x に変更しました。
  • Linux 版 DialogManager はバージョン 2.2 から Galatea Dialog Studio (DS) に名称を変更しました。
    • 非公式ですが Windows XP での動作も確認しています。
  • DSが各サブモジュールと標準入出力で通信するか、DS からプロセスを起動するか、といったシステム構成は、 容易に切り替えることができます。
    • 非公式 Windows 対応モードでは、DS がすべてのサブモジュールのプロセスを起動します。
  • HTTP でドキュメントを取得するプロトコルで cookie に対応しました。
    • Java 6 の機能を使用しています。
    • これにより cookie でセッション管理する PHP や Ruby on Rails などとの互換性が高まりました。
  • DS は多機能な GUI を導入しました。
    • システムの状態確認、内部処理ログの選択的表示などが可能です。
  • 現在の DS は SRM の Perl ラッパーを使用していません。 julius は DS から直接起動され、DS と julius はソケットで通信します。 また、音声認識の XML 文法は内部で Julius (Julian) 形式に変換され mkdfa によって変換されます。 これらの機能は Windows 環境でも同等に動作します。 なお SRM 以外のモジュールは従来どおり AgentManager によって起動されます。
  • IPA 最終版から XML 音声認識文法のサポートが改善されています。
    • IPA 最終版では Julius(Julian) 文法と直接対応する記述が可能でしたが、 現在は one-of などのサポートが強化されています。 また item タグで slot や value などの属性が使用可能です。
    • Julius 文法に関する機能は単体で利用できます。 istc-galatea-dialog/files/tests/grammar/ にサンプルがあります。
  • VoiceXML の audio タグに対応するオーディオ出力は JavaSound を使用しています。

サブモジュール

  • AM-MCL は Ruby で再実装されました。
    • FSM と SSM の統一的モデル切り替えなど、出力系の制御機能が追加されています。
  • 頭と顔の自然な動きを実現するために、以下のモジュールが追加されました。
    • FS-MCL : 複数の種類のエージェントの顔や背景の種類,連続的な動きなどを情報を管理するサブモジュールです。(Javaで実装)
      • FSM が提供する顔の自律運動機能は使用していません。
    • PAR : 音声合成の出力開始と同期して,複数のコマンドを逐次実行するサブモジュールです。(Rubyで実装)
      • VoiceXML からは all-of タグで利用できます。
    • DIM : ユーザとエージェントの発話状態に応じてまばたきやアイコンタクトの制御を行うためのモジュールです。(Rubyで実装)

JapaneseIndex に戻る