このページの本文へ

業界を知り、業界をつなぐX-Tech JAWS 第9回

JAWS DAYS 2018のX-Techセッションは教育×TECH

AI英会話アプリ「TerraTalk」のHeroku+AWS活用法

2018年05月09日 07時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

JAWS DAYS 2018のX-Techセッションに登壇したジョイズ代表取締役CEOの柿原祥之さんは、AIを活用したスピーキング学習アプリ「TerraTalk(テラトーク)」の概要とシステムについて語った。

英会話をリアルタイムにコーチングしてくれる「TerraTalk」

 ジョイズが開発している「TerraTalk(テラトーク)」はAIを活用した英会話学習アプリになる。実装としては音声合成・認識の技術を使った音声チャットボットで、さまざまなシーンで英語のロールプレイが用意されており、会話を行なうと自動的に採点してくれる。柿原さんの「たとえば『旅行の入国審査』といったシーンであれば、係員役をアプリが担当し、ユーザーは旅行者のつもりで質問に答えるといった流れになる」という説明であれば、イメージもしやすいだろう。

ジョイズ代表取締役CEOの柿原祥之さん

 アプリは個人ユーザー向けに提供されているが、学校や企業研修の需要に対応したシナリオも増やしているという。ソフトウェアエンジニアコースも用意されており、仕様の議論やコードレビューなど、エンジニアしか使わないようなシナリオも用意されている。「ネイティブのソフトウェアエンジニアを採用して、作りました。インフラ屋と折衝では80番ポート以外のポートを開けてほしいと依頼するのですが、本当に必要なのかとめっちゃ粘ってくるので、気をつけてください(笑)」(柿原さん)とのことで、エンジニアであれば試す価値ありだ。

 ユーザーの音声の一部はバックエンドで解析され、リアルタイムにコーチングが行なわれる。ユーザーの苦手な発音を集めたドリルを作成してくれるので特訓に最適だ。こうしたコーチングはユーザーの学習活動ログや音声データを収集し、英語力を推定し、これに教材や課題データをかけあわせてフィードバックを行なっているという。「重要なのは英語力を推論する部分。英語力がある程度わかれば、トレーニングをパーソナライズするのはそれほど大変ではない」と柿原さんは語る。

コーチング機能のフロー

言語処理システムでのHeroku+AWSの使い分け

 スタートアップのジョイズの場合、少ないリソースで、採用や組織作り、アプリ・技術開発、事業開発などを同時に行なわなければならない。やることを絞り込む中で、開発に関しては、アーキテクチャは可能な限りシンプルにし、運用や継続開発もとにかく負荷がかからないようにする必要があった。

 こうした経緯で、アプリ開発はHerokuに大きくオフロードしており、可能な限り(Herokuの)WebプロセスとWorkerプロセスを用い、大事なところでAWSを用いている。「S3にはユーザーの音声データを置き、Lambdaには音声系の前処理を任せている」(柿原さん)。

基本はHerokuに大きくオフロードしつつ、AWSも最大限活用

 音声合成はAmazon Pollyを使っている。柿原さんは「非常に安価で、XMLで細かい制御ができるので使い勝手がいい。この1~2年でニューラルネットワークの技術が進化しているので、品質向上が楽しみ」と高く評価。細かいチューニングも可能なAmazon Pollyのおかげで、アメリカ、イギリス、オーストラリアなど各国の英語なまりにも対応できているという。

 言語モデルや係り受け解析を行なうパーサーなど、言語処理特有の各種サブシステムはAmazon EC2を採用。メモリやディスク、プロセッサーなどの要件がそれぞれ異なり、Pythonの言語仕様としてマルチコアにスケールしにくいため、HerokuのWebプロセスではなく、EC2を使っているという。

学校での利用を前提に今後はブラウザでの利用も視野に

 後半はTerraTalkの設計思想をより深く突っ込む。TerraTalkの場合、前述の通り個別のミッションをクリアするという目的があるので、会話の遷移があらかじめ決まっている。そのため重要なのは、ユーザーの発話に対して、どのトリガに進むかの判定が重要になるという。無理な遷移をすると、そもそも会話が成り立たないからだ。そのため、設計としては可能な限り、対話の状態をクライアント側で保持しつつ、ステートレスなHTTPでやりとりできるように設計しているという。

会話の遷移によって、どのトリガに進むかが重要

 発音の評価は音声認識に使う「音響モデル」を改造することで実現しているが、TerraTalkの場合、クライアント側のスマホ側で動作させているという。「当初、サーバー側でやるか、スマホ側で動かすか迷った。でも、昨今のスマホはメモリが潤沢なので、十分動かせると踏んだ。レスポンスもよいし、インフラの負荷も小さいのでいい判断だった」と柿原さんは振り返る。

 最近では英検の面接対策や教科書の会話の宿題など学校でのニーズが高まっており、ブラウザ対応が必要になってきたという。「iPadを導入しているところも多いが、Windowsマシンは多いし、ChromeBookを検討しているところも現れた。こうなるとクライアントでやっていた発音評価をサーバー側に移さないといけないのかなと思っている」(柿原さん)とのことで、サーバーサイドの構成を悩む日々が続きそうだという。音声認識やAIをフル活用した最新サービスの舞台裏について学べる貴重なセッションだった。

■関連サイト

カテゴリートップへ

この連載の記事