AI回答評価システム

AI/ML

概要

AI Answer Evaluation Systemは、音声とテキストの両方を入力として受け取り、自然言語処理(NLP)を活用して学生の回答を自動評価するプロジェクトです。音声入力はOpenAIのWhisperでテキスト化され、得られた文を基に概念抽出やSentence-BERTによる意味的類似度評価を行います。キーワード一致に頼らず、概念や文意の一致を重視するため、部分的な表現差や言い換えにも強い評価が可能です。教育用途の自動採点やフィードバック生成のプロトタイプとして構成されています。

GitHub

リポジトリの統計情報

  • スター数: 15
  • フォーク数: 0
  • ウォッチャー数: 15
  • コミット数: 2
  • ファイル数: 7
  • メインの言語: HTML

主な特徴

  • マルチモーダル対応:音声(Whisper)とテキストの両方を評価可能
  • 意味的類似度評価:Sentence-BERTを用いた文レベルの意味比較
  • 概念ベースの採点:キーワード中心ではない概念抽出に基づく評価
  • プロトタイプ実装:フロントはHTML、backendディレクトリに処理ロジックを格納

技術的なポイント

本プロジェクトの中核は「入力の正規化」と「意味的評価」の二段階です。まず音声入力がある場合はOpenAI Whisper等の高精度なSpeech-to-Textモデルで文字列化し、不要ノイズや句読点の正規化を行って下流処理へ渡します。テキストが得られた段階で概念抽出(キーフレーズ抽出、依存構造解析、固有表現抽出など)を実施し、回答のコアとなるトピックや重要語を特定します。これにより表現の揺らぎ(言い換えや語順の相違)をある程度吸収できます。

次に意味的類似度の評価フェーズでは、Sentence-BERTなどの事前学習済み埋め込みモデルで回答文と模範解答(あるいは期待されるポイント)をベクトル化し、コサイン類似度などでスコアリングします。単純な語レベル一致よりも文意レベルでの一致を測れるため、部分点付与や曖昧回答の扱いが柔軟になります。実装上は閾値や重み付け(概念一致の重み vs. 埋め込み類似度の重み)を調整するルールベースの採点器と組み合わせるのが一般的です。

さらに、マルチモーダルでは音声の特徴(話速や発話の自信度)をサイドチャネルとして利用し、口頭試験の評価基準(発話の流暢さ、発音の明瞭さ)を拡張することも可能です。実装面ではフロントエンドがHTML主体で、バックエンドがAPI経由でWhisperや埋め込み計算を呼び出す構成が想定されます。注意点としては、音声→テキストの誤変換が評価に与える影響、模範解答の多様性(複数の正答表現の取扱い)、およびプライバシーやデータ保存に関する方針を明確にする必要があります。現状のリポジトリはプロトタイプ段階でファイル数・コミット数が少ないため、実運用にはより詳細なテスト、評価セット、エンドツーエンドの検証が必要です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • AI Project Ideas.html: file
  • AI Project Ideas_files: dir
  • README.md: file
  • backend: dir

…他 2 ファイル

READMEから読み取れる構成イメージ:

  • フロントエンド(HTML)で入力フォームや音声アップロードを提供
  • backendディレクトリに音声処理/NLP処理のスクリプトやAPIエンドポイントが格納されている想定
  • 外部ライブラリとしてOpenAI WhisperやSentence-BERTが利用される方針 (ただし現状コミット数が少なく、具体的な実装コードは限定的)

まとめ

教育向け自動採点の有望なプロトタイプだが、実用化には拡張と評価が必要。

リポジトリ情報:

READMEの抜粋:

🎓 AI Answer Evaluation System

Multimodal Human-Like Automated Grading using NLP & Whisper


🚀 Overview

The AI Answer Evaluation System is a multimodal intelligent grading platform that evaluates both text and spoken student answers using advanced Natural Language Processing techniques.

Unlike traditional keyword-based grading systems, this project uses:

  • 🧠 Concept extraction
  • 📊 Semantic similarity (Sentence-BERT)
  • 🎙️ Speech-to-text conversion (OpenAI Whisper)