言語学習アプリDuolingoがどう機械学習を活用しているか
Duolingoは、AIベースの言語学習プラットフォームを提供している。Duolingoは、フランス語やタミル語からハワイ語やナバホ語などの絶滅危惧種の言語まで、32以上の言語コースを提供しており、3億人以上のユーザーに利用されている。
ゲーム化言語学習の代名詞ともいえる、ピッツバーグを拠点とする新興企業のDuolingoは、コロナ流行の最中の今年3月に世界的に新規ユーザーが101%増加し、最速の成長期を迎えた。単に自分の手に多くの時間を持っている人から、パンデミックの学校の間に追いつこうとしている学生まで、このアプリは大きな恩恵を与えている。
Duolingoは、AIベースの言語学習プラットフォームを提供している。Duolingoは、フランス語やタミル語からハワイ語やナバホ語などの絶滅危惧種の言語まで、32以上の言語コースを提供しており、3億人以上のユーザーに利用されている。
Duolingoの特徴は、ポイント制のリワードシステムにより学習体験をゲーム化し、ユーザーの学習意欲を高め、習熟度に合わせて学習を進めていくというパーソナライズされた学習アプローチにある。米国務省によると、フランス語やイタリア語のような1つの言語を学ぶのに600時間かかると言われている。Duolingoは、1日わずか15分でこれを実現したいと考えている。
ユーザーは、DuolingoのAI駆動のアダプティブ・プレースメント・テストから始める。テストの各問題や課題は、前の問題と、それが正しかったか間違っていたかに基づいて、順応的に選択されている。
「単語の難易度、文法、テストでの提示の仕方など、すべてが正確な構成を選ぶための役割を果たしているので、ユーザーが5分以内にどこからコースを始めるべきなのかをよく理解することができる」とDuolingoのWill Monroeはブログ記事で記述している。
言語レッスンは、間隔をおいた反復と呼ばれる概念を用いて、ユーザーが個人に合わせたタスクをより長い間隔で練習できるように設計されており、短期間で詰め込むよりも効果的であることが証明されている。
あなたが上達するにつれて、さまざまな方法でコンテンツと対話していくことができる。例えば、カリキュラムに含まれる各単語について、Duolingoは、その単語を何回見たか、何回正解したか、どのような方法で正解したか、練習してからどのくらい経ったかを記録している。
背後にある機械学習
このAIを可能にするために、Duolingoでは自然言語処理のためのディープラーニングアルゴリズムを使用して、ユーザーのログデータを分析し、ユーザーが答えを正解する可能性を予測することができる。これらの予測は、適応学習テストと学習アプリのコンテンツの両方をパーソナライズするための基礎となる。
しかし、最初はそうではなかった。同社は2009年にカーネギーメロン大学(CMU)の翻訳プロジェクト「Monolingo」からスタートした。ウィキペディアの記事やニュースサイトの記事などの文書を翻訳してもらうことで、ユーザーに外国語を教えることを目的としていた。当時、Monolingo(そして初期のDuolingoも)は、より伝統的な認知科学のアルゴリズムを使用していた。例えば、ベースラインアルゴリズムでは、厳選されたパラメータを使用していたため、必ずしも実際のデータから学習しているわけではなかった。Duolingoの研究者がユーザーを対象に様々なアプローチをA/Bテストした結果、ターゲットとするパーソナライゼーションのレベルに応じて、より洗練されたカスタマイズされた機械学習モデルが必要であることが明らかになった。
Duolingoは、これらのカスタムアルゴリズム(非ネイティブの音声認識から自動スコアリングのための分類まで)を開発するために、Amazon Web Services(AWS)上のPyTorchディープラーニングフレームワークを使用している。これらのディープラーニングモデルは、Amazon EC2 P3の高性能GPUインスタンスを使用してトレーニングされ、本番環境に導入される。モデルが毎日3億以上の予測を行うためには、問題に応じて一度に10万から3000万のデータポイントを使用することもあるため、訓練にはスピードとスケーラビリティが不可欠だ。
機械学習のためのデータパイプラインの管理にはAmazon DynamoDB、一時的なストレージとしてAmazon EMRとAmazon EBS、恒久的なストレージとしてAmazon S3、そして定期的なバッチ予測のための計算を行うためにSparkを使用している。
また、Duolingoはアプリケーションに命を吹き込むために、ディープラーニングを搭載したテキスト音声合成ツール「Amazon Polly」を使用し、テストや多数のコースに音声を与えている。
同社はこれらのディープラーニングツールを利用することで、予測精度とユーザーのエンゲージメントの両方に改善が見られたという。Duolingoを利用して2日目に戻ってきたユーザーの数は、すぐに12パーセント改善した。
Duolingoチームは、テストのセキュリティ、不正行為の検出、生体認証、文脈の理解のためのモデルを模索しながら、ディープラーニングを使った新たな可能性のテストを続けている。
学習の「強度計」
Duolingoはレッスンをテーマ別、または文法的に関連するスキルに整理している。また、第二外国語を学習している人なら誰でも知っていることだが、時間が経つにつれて学んだことを徐々に忘れてしまうことがある。そのため、Duolingoでは、各スキルの記憶力を把握するために強度計を使用している。
スキルを終了するとすぐに、そのスキルの強さのメーターは通常フル(金色のアイコンがある)になる。しかし、メーターが半分になったら、練習の時間です。スキルを選択して自分の最も弱い単語を確認し、自分のためだけに作られたカスタム練習セッションで強化することができる。
では、この強度計はどのように機能するのだろうか。
「学生モデル」と忘却曲線
Duolingoの中核をなすのは、これまでに教えたすべての単語の統計情報を追跡する「学生モデル」だ。例えば、どのくらいの頻度で単語を見たか、正しく覚えているかなどだ。Duolingoは、これらの統計を使って、あなたがいつでも任意の単語を覚えている可能性がどれくらいあるかを予測している。最初は頻繁に練習する必要がありますが、単語が長期記憶に定着してくると、ペースを落として新しいスキルに集中することができる。
Duolingoのアプローチはスペーシング効果に基づいている。これに関連する発見として、ラグ効果というものがある。これらの考え方は、ドイツの心理学者ヘルマン・エビングハウスが忘却曲線という概念を提唱した1885年にまでさかのぼる。
人々は長年にわたって様々なトリックを試してきた。1960年代に、ポール・ピムスラーという言語学者が、彼の言語学習プログラムで使用していた半減期の記憶スケジュールを発表した(最初の練習から5秒後、25秒後、2分後、10分後など)。しかし、これはすべての単語に共通する固定された硬直したスケジュールであり、個人的に適応することはできない。
1970年代には、セバスチャン・ライトナーというポップ心理学者が、フラッシュカードを使った学習のために、より適応性の高いシステムを提案した。あるバージョンのシステムでは、正しく覚えるたびに半減期が2倍になり、不正解のたびに半減期が半分になるというもの。これはより良いアイデアのように思えますが、実際には、2012年にDuolingoが最初に立ち上げたときに、強度計の電源に使われていたものだ。
参考文献
- Burr Settles. "How we learn how you learn". Duolingo Blog. DECEMBER 14, 2016.
- Will Monroe. "How machine learning helps Duolingo prioritize course improvements". DECEMBER 16, 2019.
Photo by Duolingo.