JAWS DAYS 2018のX-Techセッションは教育×TECH
AI英会話アプリ「TerraTalk」のHeroku+AWS活用法
2018年05月09日 07時00分更新
JAWS DAYS 2018のX-Techセッションに登壇したジョイズ代表取締役CEOの柿原祥之さんは、AIを活用したスピーキング学習アプリ「TerraTalk(テラトーク)」の概要とシステムについて語った。
英会話をリアルタイムにコーチングしてくれる「TerraTalk」
ジョイズが開発している「TerraTalk(テラトーク)」はAIを活用した英会話学習アプリになる。実装としては音声合成・認識の技術を使った音声チャットボットで、さまざまなシーンで英語のロールプレイが用意されており、会話を行なうと自動的に採点してくれる。柿原さんの「たとえば『旅行の入国審査』といったシーンであれば、係員役をアプリが担当し、ユーザーは旅行者のつもりで質問に答えるといった流れになる」という説明であれば、イメージもしやすいだろう。
アプリは個人ユーザー向けに提供されているが、学校や企業研修の需要に対応したシナリオも増やしているという。ソフトウェアエンジニアコースも用意されており、仕様の議論やコードレビューなど、エンジニアしか使わないようなシナリオも用意されている。「ネイティブのソフトウェアエンジニアを採用して、作りました。インフラ屋と折衝では80番ポート以外のポートを開けてほしいと依頼するのですが、本当に必要なのかとめっちゃ粘ってくるので、気をつけてください(笑)」(柿原さん)とのことで、エンジニアであれば試す価値ありだ。
ユーザーの音声の一部はバックエンドで解析され、リアルタイムにコーチングが行なわれる。ユーザーの苦手な発音を集めたドリルを作成してくれるので特訓に最適だ。こうしたコーチングはユーザーの学習活動ログや音声データを収集し、英語力を推定し、これに教材や課題データをかけあわせてフィードバックを行なっているという。「重要なのは英語力を推論する部分。英語力がある程度わかれば、トレーニングをパーソナライズするのはそれほど大変ではない」と柿原さんは語る。
言語処理システムでのHeroku+AWSの使い分け
スタートアップのジョイズの場合、少ないリソースで、採用や組織作り、アプリ・技術開発、事業開発などを同時に行なわなければならない。やることを絞り込む中で、開発に関しては、アーキテクチャは可能な限りシンプルにし、運用や継続開発もとにかく負荷がかからないようにする必要があった。
こうした経緯で、アプリ開発はHerokuに大きくオフロードしており、可能な限り(Herokuの)WebプロセスとWorkerプロセスを用い、大事なところでAWSを用いている。「S3にはユーザーの音声データを置き、Lambdaには音声系の前処理を任せている」(柿原さん)。
音声合成はAmazon Pollyを使っている。柿原さんは「非常に安価で、XMLで細かい制御ができるので使い勝手がいい。この1~2年でニューラルネットワークの技術が進化しているので、品質向上が楽しみ」と高く評価。細かいチューニングも可能なAmazon Pollyのおかげで、アメリカ、イギリス、オーストラリアなど各国の英語なまりにも対応できているという。
言語モデルや係り受け解析を行なうパーサーなど、言語処理特有の各種サブシステムはAmazon EC2を採用。メモリやディスク、プロセッサーなどの要件がそれぞれ異なり、Pythonの言語仕様としてマルチコアにスケールしにくいため、HerokuのWebプロセスではなく、EC2を使っているという。
学校での利用を前提に今後はブラウザでの利用も視野に
後半はTerraTalkの設計思想をより深く突っ込む。TerraTalkの場合、前述の通り個別のミッションをクリアするという目的があるので、会話の遷移があらかじめ決まっている。そのため重要なのは、ユーザーの発話に対して、どのトリガに進むかの判定が重要になるという。無理な遷移をすると、そもそも会話が成り立たないからだ。そのため、設計としては可能な限り、対話の状態をクライアント側で保持しつつ、ステートレスなHTTPでやりとりできるように設計しているという。
発音の評価は音声認識に使う「音響モデル」を改造することで実現しているが、TerraTalkの場合、クライアント側のスマホ側で動作させているという。「当初、サーバー側でやるか、スマホ側で動かすか迷った。でも、昨今のスマホはメモリが潤沢なので、十分動かせると踏んだ。レスポンスもよいし、インフラの負荷も小さいのでいい判断だった」と柿原さんは振り返る。
最近では英検の面接対策や教科書の会話の宿題など学校でのニーズが高まっており、ブラウザ対応が必要になってきたという。「iPadを導入しているところも多いが、Windowsマシンは多いし、ChromeBookを検討しているところも現れた。こうなるとクライアントでやっていた発音評価をサーバー側に移さないといけないのかなと思っている」(柿原さん)とのことで、サーバーサイドの構成を悩む日々が続きそうだという。音声認識やAIをフル活用した最新サービスの舞台裏について学べる貴重なセッションだった。
この連載の記事
-
第26回
デジタル
コロナ禍で社会インフラとなった保育園 ルクミーはこうして支えている -
第25回
デジタル
オンライン診療の規制緩和にいち早く対応したMICINの新機能開発 -
第24回
デジタル
「Cariot」のリアルタイム性を強化するKinesis、Lambda、DynamoDBの整え方 -
第23回
デジタル
Timers、POL、PIAZZAなどがビジネスと技術を語る第10回X-Tech JAWS -
第22回
デジタル
メンヘラ彼女向けのサービスを1週間で開発させられた話 -
第21回
デジタル
教育市場を盛り上げる「AWS EdStart」と「AWS Educate」 -
第20回
デジタル
AIで時事クイズと高校野球の戦評記事を作ってみた -
第19回
デジタル
おやつのサブスク「snaq.me」でのLambda活用術 -
第18回
デジタル
X-Tech JAWSで聞いたナビタイム、Resola、千のAWSの使いこなし -
第17回
デジタル
契約書のレビューを支援するLegalForce、CTOと事業開発担当が語る -
第16回
デジタル
「SQL書きたい」のリクエストにukkaのエンジニアはどう応えたのか? - この連載の一覧へ