Inspiration

  • オンライン英会話を利用して英会話の習得を目指したい人は増えている(体感)
    • 英語が喋れるとカッコいい
  • ただ、やればやるほど英会話力が伸びるのは最初だけ
    • レッスンを取るだけで満足してしまう
    • 自分が持つボキャブラリの範囲から出られない
  • ある程度コミュニケーションが取れるようになると先生側も会話を楽しんでしまって、ほとんど指摘されることが無くなってしまう(実体験)
    • "ある程度の英語力"ではビジネスレベルには至れないので、"ある程度の英語力"の壁を超えるには復習することが重要
  • 昨今のオンライン英会話ではレッスン後の会話音声データがダウンロード可能
    • 但し音声データしかないので、自分のリスニング力が高くないといくら聞き返しても何を言っているかわからない
    • 自分の声を何度も聞くのは結構ツライ
  • 復習に使えるのはわかるが、聞き返す以外に具体的に何をすればいいかよくわからない
    • LLMを使って文字起こしをすれば、音声データと文字データの併用で復習用の教材が作れるのではないかと考え、今回のアプリ制作に至った
    • 個人的に欲しかったというモチベーションが特に強かった

What it does

  • オンライン英会話利用者向けの復習用アプリケーション
    • Geminiを活用した音声データの文字起こし
    • 文字起こしデータの分析
    • Geminiを活用して会話を分析し、文法の誤りや言い回しの提案

How we built it

  • Frontend
    • Vue.jsとTypescriptを利用して構築
    • Firebaseを利用して認証機能も実装しているため、複数ユーザーが利用可能
  • Backend
    • PythonでFlaskを利用してREST APIを構築
    • Geminiを利用する処理や文字データの処理を行う
  • Infra
    • FrontendはFirebase Hostにデプロイ
    • BackendはCloud Runにデプロイ
    • 音声データの格納はCloud Storage
    • 文字起こし・分析データの格納はFirestore

Challenges we ran into

  • 文字起こしにSpeech To Textの活用を考えたがコストがネックになった
    • Geminiが音声解析できることを思い出し、Geminiを使ってみたところかなり精度が良かった
    • ほとんどの場合で先生と生徒の声を聞き分けることができる
    • 更にSpeech To Textと比較してコストが段違いで安かったのでGemini利用になった

Accomplishments that we're proud of

  • 英会話レッスンの音声を文字起こして、チャット形式で可視化したこと
  • 英会話データの分析機能を搭載したこと

What we learned

  • LLMを活用すればハッカソンは一人でも完走できる
    • アイディア出しからアプリの実装まで全てLLMを活用して一人で完走できた
  • フロントエンドやバックエンドに関してある程度知っていれば、あとはLLMにお任せでコードが書けてしまう
    • 実際に、自分が業務で専門としている領域はDevOps・クラウドインフラ
  • ITエンジニアにとってLLMはゲームチェンジャー、というか本当に身の振り方を考えないと仕事無くなるなーと実感できた
    • コードが書けるだけのエンジニアは価値が無くなってしまうので、LLMと協業して機能や品質を高めたり、ビジネス側のニーズに答えられるドメイン知識が大切だと思った
  • Geminiがかなり使いやすい
    • 音声データやテキストデータどちらもプロンプトと一緒にほいっと投げるだけで所望の内容を生成してくれるため、実装の躓きがほとんどなかった

What's next for English Conversation Transcriber

  • 英会話以外のデータがアップロードされたときの対応
    • 音声データかどうかはチェックしているが、音声データの中身がオンライン英会話のデータかどうかは識別できていない
    • ランダムにサンプリングしてGeminiを利用して識別するなどの対応が必要
  • 会話の傾向を分析
    • 頻度の高い文法間違い、会話における構文の使用頻度、副詞・形容詞のボキャブラリを分析
  • 宿題機能の実装
    • 会話の傾向から次はこの構文を使ってみましょう、この単語を使ってみましょう、例題を作ってみましょうなどを提案
  • Text to Speechを活用した音声データの提供

Appendix

Built With

Share this project:

Updates