新感覚英語学習ツール「Polyphra」
※ 第2回 AI Agent Hackathon with Google Cloud のために作ったブラウザ拡張です
※ この文章はClaude Sonnetが生成したものを人間が書き直したものです
※ Chrome Web Store で公開中 link
※ Github: github release 。ここはソースコードと拡張機能ストア用のzipビルドがあります(ストアレビューに提出したものと同じビルドです)
はじめに
英語学習において、実用的な表現を身につけるにはどうすればいいか、悩んだことはありませんか?
辞書や教科書的な表現は基本型で間違いではないけど、本で見たけど使ううシナリオがないと簡単に忘れてしまいます。
それよりドラマのセリフのような印象的なフレーズは記憶に残りやすいものの、こちらも本来の文脈にあったもので、覚えても使うシナリオが日常にあるかとは限りません。
そもそもに辞書でもドラマでも、個体に合わせたものではなくて、自分の知識の不足をちょうど埋めるようなことは期待できません。
今回のハッカソンで開発した「Polyphra」は、この発想から来た英語学習ツールです。自分の選択した文言を印象的でドラマチックな表現に言い換えて、読み上げることで、指向性がよくて記憶に残る効率的な英語学習を実現します。
プロジェクトの概要
対象ユーザーと課題
対象ユーザー:
- 中級〜上級の英語学習者
- より自然で印象的な英語表現を身につけたい人
- 自分の足りないところに意識して、アクティブに埋めようとする人
- 従来の学習方法に飽き・限界を感じている人
- ビジネスシーンで説得力のある英語を話したい人
解決したい課題:
- 指向性のある内容:自分の選んだ内容の言い換えを学習資料にするため、自分の知識の隙間を埋めることが可能
- 記憶に残らない学習内容:教科書的な表現は平凡で記憶に定着しにくい
- アウトプット練習の不足:読解中心の学習で、実際に「話す」練習が不十分
- 表現力の乏しさ:基本的な語彙のみで、より洗練された表現を知らない
- 学習の継続困難:単調な学習方法により、モチベーション維持が困難
ソリューションと特徴
Polyphraの解決策:
- 印象的な表現への変換機能
- 普通の英文を「キャラ性が強いスタイル」の印象的な表現に自動変換
- 洗練された表現を積極的に活用
- 音声クローニング技術
- 特徴的な話し方を再現した音声で、記憶への定着を促進
- 聴覚的な印象も加えることで、より強い記憶として残る
- もちろん自分も声出して読んでみると効果プラスにつながる
- ブラウザ拡張
- Webページ上のテキストを直接選択して変換可能
- 日常的なブラウジング中に自然に学習機会を創出
- 科学的根拠に基づく設計
- アウトプット重視の学習理論を実装
- 記憶に残りやすい「印象的な体験」を意図的に創出
デモ動画
実際の動作をご覧ください: youtube
科学的根拠
アウトプット仮説の重要性
言語習得研究において、Merrill Swain (1985, 1995) の「アウトプット仮説」は重要な理論的基盤となっています。この仮説によると、言語学習者は以下の理由でアウトプット(話す・書く)練習が不可欠です:
- 気づき機能(Noticing Function):アウトプットを試みることで、自分の言語知識の穴に気づく
- 仮説検証機能(Hypothesis Testing Function):学習者が言語ルールについての仮説を実際に試す機会を提供
- メタ言語的機能(Metalinguistic Function):言語について考え、分析する機会を創出
記憶と感情の関係
神経科学研究により、感情的に印象深い体験は長期記憶により定着しやすいことが証明されています(McGaugh, 2004)。扁桃体が活性化されると、海馬での記憶形成が促進され、より強固な記憶として保存されます。
Polyphra は、この科学的知見を活用し、「ドラマチックで印象的な表現」を通じて感情的なインパクトを与え、記憶定着を促進します。
システムアーキテクチャ
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Browser │ │ API Server │ │ External APIs │
│ Extension │ │ (CloudRun) │ │ │
│ │ │ │ │ │
│ ┌─────────────┐ │ │ ┌──────────────┐ │ │ ┌─────────────┐ │
│ │ Content │ │───▶│ │ FastAPI │ │───▶│ │ Google │ │
│ │ Script │ │ │ │ Server │ │ │ │ Vertex AI │ │
│ │ │ │ │ │ │ │ │ │ (LLM) │ │
│ │ ┌─────────┐ │ │ │ └──────────────┘ │ │ └─────────────┘ │
│ │ │ │ │ │ │ │ │ │
│ │ │ UI │ │ │ │ ┌──────────────┐ │ │ ┌─────────────┐ │
│ │ └─────────┘ │ │ │ │ Paraphrase │ │ │ │ Minimax │ │
│ └─────────────┘ │ │ │ Engine │ │◀───│ │ TTS & │ │
│ │ │ └──────────────┘ │ │ │Voice Clone │ │
│ Built with: │ │ │ │ └─────────────┘ │
│ - WXT │ │ Built with: │ │ │
│ - TypeScript │ │ - Python │ │ │
│ - PrimeReact │ │ - FastAPI │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
技術スタック詳細
ブラウザ拡張機能:
- WXT: 現代的なブラウザ拡張開発フレームワーク
- TypeScript: 型安全性を確保し、開発効率を向上
- PrimeReact: 洗練されたUIコンポーネントライブラリ
APIサーバー:
- Python + FastAPI: 高性能で開発しやすいAPI構築
- Google Cloud Run: サーバーレスでスケーラブルな実行環境
外部API連携:
- Google Cloud Vertex AI: 高品質な言語モデルによるテキスト変換
- Minimax API: リアルな音声クローニングとTTS機能
主要機能
1. テキスト変換機能
- ブラウザ拡張を入れた状態でWebページ上の任意のテキストを選択すると、「Rephrase with Polyphra」のポップアップが近くに出ます。このボタン押すとメインUIが起動し、英語文に変換されます。
変換例:
- 元の文:「I think this is a good idea.」
- 変換後:「Let me tell you, this is absolutely tremendous, perhaps the most spectacular idea you've ever witnessed!」
2. 音声読み上げ機能
変換されたテキストを、特徴的な話し方で読み上げます。視覚的な学習に加えて、聴覚的な記憶も強化します。
開発の背景と工夫
技術的チャレンジ
- 自然な表現変換の実現
- 単純な単語置換ではなく、文脈を理解した自然な変換
- プロンプトエンジニアリングによる高品質な出力
- ブラウザ拡張の制約克服
- セキュリティ制約下でのスムーズなAPI連携
- 様々なWebサイトでの安定動作
UX設計の工夫
- 直感的な操作: 普段UIが隠れていて、クリック一つで変換開始
- 非侵入的な設計: 既存のWebページ体験を損なわない。具体的に言うとページ本来のスタイルとコンフリクトしないよう、Polyphra自体のUIはすべてshadow domで隔離される
今後の展開
短期的な改善計画
- Chrome Web Store承認
- 現在審査中の拡張機能の公開
- ユーザーフィードバックの収集と改善
- 表現バリエーションの拡充
- 複数のキャラクター風表現への対応
- ユーザーの好みに応じたカスタマイズ機能
長期的なビジョン
- 多言語対応
- 他言語学習への応用
- 文化的特徴を反映した表現変換
- 学習効果の測定
- 記憶定着率の科学的測定
- 個人最適化された学習体験の提供
まとめ
Polyphra は、従来の英語学習の課題を解決する革新的なアプローチです。科学的根拠に基づいた設計により、記憶に残りやすく、実用的な英語表現の習得を支援します。
印象的な表現を通じた学習は、単なる語学習得を超えて、コミュニケーション能力全体の向上にも寄与します。説得力のある表現を身につけることで、ビジネスシーンでもより効果的なコミュニケーションが可能になるでしょう。
今回のハッカソンを通じて、アイデアから実装まで短期間で形にすることができました。今後もユーザーフィードバックを基に改善を重ね、より多くの英語学習者に価値を提供していきたいと考えています。
Discussion
自分も英語の表現力を改善したくてツールを作成しています。
覚える語彙を能動的に選択するアプローチが似ていて親近感を持ちました ☺️