トピックアウトライン
Moodle(ムードル)
国内大学でトップのシェアを持ち(https://axies.jp/ja/ict の2015年度調査結果)、世界230カ国に1億人超のユーザがいると推定されるオープンソースLMS(Learning Management System)。オンライン教育を実施するためのプラットフォームとして代表的なものの一つ。GPLでの配布。
VUI (Voice User Interface)とは
- VUI : 音声を使用してコンピュータやデバイスを制御できるヒューマンコンピュータインターフェイス最近、実用性が高くなり、とても身近に:
- Siri, Google Assistant のようなスマートフォン操作
- Amazon Echo, Google Home のようなスマートスピーカー
- テキスト入力に対して、音声入力の利点 (Pearl、2016) は:
- スピード (テキスト入力より速い)
- ハンズフリーで使用 (何かで手がふさがっていても大丈夫)
- 直感的 (普通にしゃべるだけ)
- 共感、気持ち (声はテキストメッセージよりも多くの情報を伝える)
Moodle小テスト機能とスマートスピーカーの連携
皆さんお持ちのスマホ等に Google Assistant アプリがインストールされていれば、「OK Google, ムードル小テストにつないで。」と呼びかけて試すことができます。 In the case of English locale, say "OK Google, Talk to Moodle Quiz." to use this action.
Amazon Echo の場合は「Moodle小テスト」スキルを有効にしてから、「アレクサ, ムードル小テストを開いて。」と呼びかけて試すことができます。 In the case of English locale, say "Alexa, Open Moodle Quiz." to use this skill after you enable the Moodle Quiz skill.
(Actions on Google, Amazon Alexa で承認済み。日本語ロケールと英語ロケールに対応。デモコマンドなので、ユーザの排他処理してません)
商用スマートスピーカーを音声UIとして用いる場合の懸念
図: スマートスピーカーを用いてMoodleの機能を利用する際のデータのやり取り
- 上の図において、「Actions on Googleサービス」や「Amazon Alexaサービス」の箇所は、各社が運営管理しているプロプライエタリなクラウドサービス。
- 基本的にブラックボックスであって、どのような基準や仕組みで処理が行われているのかは、ユーザに非公開。
- ユーザの発話データが、各社のプロプライエタリなクラウドサービス上に一旦送られ処理されることが必要であるため、その依存関係を問題視する向きもある。
- オープンソースソフトウェアだけを用いて、各種サービスやシステムがVUIと連携するエコシステムの構築ができないか?
Mycroft とは
- https://mycroft.ai/
- オープンソースソフトウェアを基本とする音声アシスタント。
- Linux (Ubuntu/Debian, Arch, Fedora) 上で簡単にインストールでき、Raspberry Pi上でもインストールできる。
- (WindowsやMacOS上では、 VirtualBoxを用いてUbuntu Linuxをインストールし、その上で動作させる。)
- Mycroftを動作させる専用のスマートスピーカーも発売されている。
図: Ubuntu 19.10 上で動作する Mycroft
画面下部に、ユーザ発話の認識結果(水色)とそれに対する反応(黄色)(音声合成で発せられる)が示されている専用のスマー トスピーカーも発売されている
Mycroft の特徴
Mycroftのドキュメントによれば、種々の商用の音声アシスタントと比較して、Mycroftには以下のような利点がある:
- 仕組みがブラックボックスではなく、オープンソースであるため、中で何が行われているのかが明らかである
- ユーザのプライバシーを尊重し、発話が記録されるかどうかはユーザが選択できる
- 様々なプラットフォームやハードウェアで動作させることができる
- 動作が軽いので、非力なハードウェアでも利用できる
- 活発で親切なコミュニティがある
Mycroftの構成
以下の6モジュールから構成されている:
- ウェイクワード検出
- 音声認識 (Speech to Text)
- インテントパーサ (どの処理を呼び出すかを判断する)
- 音声合成 (Text to Speech)
- ミドルウェア (Mycroft コア および Mycroft ホーム)
- Mycroft スキル
- いくつかの要素は、デフォルトのエンジンとは違うものに交換して動作させる設定が可能。
- 例えば、音声合成のエンジンは、デフォルトではMimicだが、Google TTSエンジンを用いることも可能。
- なお、音声認識の部分は、現時点では Google STTが用いられている。(オープンソースのエンジンも開発が進められている。)
- ミドルウェアの一部である Mycroftホームは、MycroftAI社によって管理運営されているサービス。
- 公開されているソースを用い、ユーザ自身で Mycroft ホームに相当するサービスをセットアップすることも可能。
- つまり、Mycroftホームに依存せずにMycroft音声アシスタントを動作させることも可能。
- デフォルトの言語は英語だが、それ以外に6言語に対応。(日本語での動作は 2020年6月時点では未サポート)
Mycroft スキルの開発
- Mycroft音声アシスタント用の様々なスキルが、Mycroft AI社やコミュニティによって開発され公開されている
- Mycroftスキルを独自開発する方法としては、まず、mycroft-msk create というコマンドを実行し、対話的に聞かれる項目(スキル名、発話パターン、スキルの説明、作者名、スキルのカテゴリ、タグなど)を入力する。
- これによって、スキルの最低限の枠組みが作成されるので、__init__.py や locale フォルダ内のファイルを適宜編集し、所望の機能を追加。
- 今回開発したMoodle小テスト受験用 Mycroft スキルは、Moodleサイトへの接続は Moodle web services API を用いて行っている(そのため、Moodle本体のカスタマイズ等は不要)。
- 受験した小テストの履歴は、通常通りMoodleサイトに保存され、後で各ユーザが確認することも可能。
まとめ
- 本研究で開発した Mycroftのスキルによって、Moodleの小テスト受験をMycroftの音声UI上で行うことが可能となった。
- 今後、Mycroftの開発がさらに進められ、音声認識の部分も含め、特定のプロプライエタリなサービスに依存しなくとも音声UIが実現できるようになれば、本スキルは、各種サービス・システムと音声UIが連携するオープンなエコシステム構築の一例にもなる。
- 今後、本スキルの一般公開や、Mycroft の日本語対応などを進めて行く予定である。