Skip to content
/ HELEN Public

MMDAgentの対話シナリオファイル(fstファイル)を編集するための Atom エディタ用拡張パッケージ

License

Notifications You must be signed in to change notification settings

lee-lab/HELEN

Repository files navigation

HELEN - Dialogue Interaction Editor for MMDAgent -

HELEN とは

HELEN は、MMDAgentの対話シナリオファイル(fstファイル)を編集するための Atom エディタ用拡張パッケージです.

MMDAgent公式サイト
fstファイルとは?
Atom公式サイト

HELENでは主に以下の3つの機能を利用することができます.

  • fstファイル編集の補助(対話フローのグラフ表示、認識辞書の自動チェック等)
  • MMDAgent のリアルタイムデバッグ(状態遷移をリアルタイム可視化、任意メッセージの送信)
  • 動作ログによるフィードバック(MMDAgent の動作ログ → 解析 → 対話シナリオにフィードバック表示)

準備

動作環境

HELENを利用するために必要な環境は以下の通りです。

  • Atom・・・Version1.37.0以降をあらかじめインストールしてください
  • Windows10以降・・・リアルタイムデバッグ時に必要
  • マイク・・・MMDAgentの利用に必要です

※リアルタイムデバッグは拡張された専用のMMDAgent(同梱)を使うため、現在は Windows10 のみサポートしています。
※Windows以外の環境でもAtomが動作する環境であればリアルタイムデバッグ以外の機能は利用可能です.

インストール手順

  1. HELENをダウンロードして(約270MB) Atomのpackagesディレクトリ以下に展開します.デフォルトはWindowsでは C:\Users***.atom\packages以下です。zip をダウンロード・展開するか、直接 git clone してください。
  2. Atomを起動します
  3. Atomの Packages メニュー内に "HELEN" が表示されていることを確認します
  4. 準備完了です

HELEN用ウィンドウを開く

Atomで fstファイルを開いた状態で以下の操作のどちらかを行うことで、その fst に対するHELEN用ウィンドウを右ペーンに開けます。。

  • メニューの Packages → HELEN → Open HELEN Window
  • Ctrl + Alt + shift + g

HELEN用ウィンドウは("1 DialogueBuilder") のような名前になっています。複数の fst を編集する場合、カレントの切り替えでは自動的に切り替わりませんので、fstのバッファごとに個別にHELEN用ウィンドウを作成してください。

Draw Graph

機能1:fstファイルの編集補助

グラフ描画

FSTをグラフィカルに表示するには、HELEN用ウィンドウの MAKE_GRAPHボタンを押します。

  • 状態あるいは遷移の上にカーソルを置くと内容がポップアップ表示されます
  • 同一状態間に複数の遷移がある場合は1つにまとめて表示されます。
  • 状態をクリックすると、対応する fst の行へジャンプできます。
  • fst ファイルを変更した場合、保存時にグラフが自動更新されます
  • グラフが大きい場合は「BIG」「SMALL」ボタンで拡大・縮小できます.

Draw Graph

フィールドの桁揃え

fst のバッファ上で Insert TAB: Ctrl + Alt + shift + t を実行することで、fstのフィールドごとに自動的桁揃えが行えます。

Insert Tab

認識辞書のチェック

checkDictionary: *Ctrl + Alt + shift + d* は音声認識辞書の自動チェックです。 fst 中で音声認識結果として捉える単語 (RECOG_EVENT_STOP の引数) の各引数について、内蔵の音声認識用辞書をチェックし、辞書にない未知語を強調表示します. 強調された単語は単語辞書に追加するようにしましょう.

check Dictionary

機能2:MMDAgent のリアルタイムデバッグ

この機能を利用するためには,以下の動作が必要になります.

リアルタイムデバッグの準備

  1. MMDAgentのコンテンツを作成します.
  2. 手順1で作成したコンテンツのディレクトリ内にあるmdfファイルをドラッグします
  3. 手順2でドラッグしたmdfファイルを,ダウンロードしたディレクトリ内にあるtools/mmdagent_exe/MMDAgent.exeにドロップします
  4. MMDAgentが起動します
  5. 手順1~4までの動作を行ったときと同じpcでAtomを起動します
  6. Atom上で作成したコンテンツのfstファイルを開きます
  7. (Ctrl + Alt + shift + g ) を入力してグラフ描画タブを開くと準備完了です

注意事項

  • MMDAgentのコンテンツ作成についてはこちら公式サイトからサンプルコンテンツをダウンロードすることも可能です.
  • 現在この機能はWindowsでのみ利用可能です.
  • 手順3で使用するファイルは,MMDAgent公式サイトで公開されているMMDAgent.exeファイルではなく,HELENに同梱されている専用の MMDAgent.exeファイルが必要です.
  • 一定時間起動し続けると不具合が発生することがあります.その際はエディタとMMDAgentをリロード(shift + r )してください.

状態遷移のリアルタイム可視化

MMDAgentを起動したら,最初に下記の text Following のチェックマークをONにすることでフォローモードを起動できます.
(上手く機能しない場合はもう一度MAKE_GRAPHボタンをクリックしてグラフを更新してください.)
起動中のMMDAgentの対話シナリオの現在状態番号が随時読み取られ、対応するエディタ上のfstの状態が強調表示されます。 Follow mode

現在状態はグラフ上でオレンジ色で表示されます。現在状態はMMDAgentの動作をリアルタイムに反映して移動していきます(下図の赤枠)。 チェックマークをOFFにすると動作を停止します。 Debug

任意メッセージの送信

以下の赤い四角で囲まれた部分にMMDAgentのコマンドを入力して右の「SEND_MESSAGE」をクリックすることで、起動中のMMDAgentに対して任意メッセージの送信が行えます。 Send Command

機能3:動作ログによるフィードバック

HELENでは,MMDAgentの動作ログから抽出した状態滞在時間等の情報を重ねて表示することができます。 これにより、実際の利用状況をフィードバックしながらFSTを編集することができます。

本機能は下記の学会で発表する予定の機能です:

森 雅希、李 晃伸.「音声対話コンテンツ循環環境を実現するための対話シナリオのプロファイル自動収集およびフィードバック

動作ログは MMDAgent の標準出力を保存する方法のほか、Pocket MMDAgent を用いてサーバ経由で取得することも可能です。 ログの作成方法やサーバの仕様など詳細はこちらをご覧ください.

準備

  1. MMDAgentのコンテンツを作成します.
  2. MMDAgent を動作させ、動作ログを記録します。記録の方法はいくつかあります。
  • MMDAgent の .mdf ファイルに log_file=ファイル名 を記述すると、動作ログがそのファイルに記録されます
  • Pocket MMDAgentの機能を用いてサーバにログをアップロードする
  1. 適当なディレクトリを作成し、動作ログをそこに置きます。拡張子は .txt としてください。また動作ログ以外の .txt を置かないでください。
  2. HELENを解凍してできたディレクトリ内にあるtools/log_server/make_profile.pyを、3. のディレクトリにコピーします
    1. でコピーした先のディレクトリに移動し,./make_profile.py を実行します。
  3. 解析結果のプロファイルが 「MMDAgent.profile」 というファイルに保存されます。これを、作成したコンテンツのfstファイルがある場所と同じディレクトリに移します。
  4. MMDAgent.profileの「MMDAgent」の部分を「***.fst」の***と同じ名前にします
  5. 準備完了です

注意事項

  • pythonのバージョンは3.7.3で確認しています

機能一覧

手順1~8までの処理の後,HELENのビューアを更新すると以下のような強調表示が可能となります Profile show
また,グラフ上の各状態をクリックするとその状態での利用状況を表示させることができます
認識単語はその状態で認識された単語が表示されます
Profile data

プロファイル表示の凡例

Profile show ex

Licence

MIT

Author

Akinobu LeeMasaki MoriYuuki Yabusaki at Nagoya Institie of Technology, Japan.

About

MMDAgentの対話シナリオファイル(fstファイル)を編集するための Atom エディタ用拡張パッケージ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published