A comprehensive AI-powered platform for English language learners to improve reading comprehension and speaking skills through personalized feedback, intelligent vocabulary management, and data-driven insights.
The Interactive English Learning application leverages cutting-edge AI technologies to create an adaptive learning environment that simulates real-world language usage scenarios. By combining large language models, speech recognition, and cognitive science principles, the system provides personalized guidance, detailed feedback, and systematic vocabulary development.
- AI-Generated Comprehension Questions: Practice with dynamically created questions based on any text passage
- Multi-dimensional Feedback: Receive detailed assessment on accuracy, completeness, clarity, and language quality
- Speech-to-Text Capabilities: Practice verbal responses with advanced transcription technology
- Intelligent Vocabulary Management: Build vocabulary with AI-generated definitions and examples
- Spaced Repetition System: Optimize vocabulary retention through scientifically-proven review scheduling
- Personalized Learning Analytics: Get data-driven insights and tailored recommendations for improvement
- Python 3.8 or higher
- MongoDB (local or cloud instance)
- OpenAI API key
-
Clone the repository: git clone https://github.com/SiyuSun341/English_Learning_Project.git cd interactive-english-learning
-
Create and activate a virtual environment: python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies: pip install -r requirements.txt
-
Create a
.env
file in the project root with the following variables: OPENAI_API_KEY=your_openai_api_key MONGODB_URI=your_mongodb_connection_string -
Run the application: streamlit run app.py
interactive-english-learning/
├── app.py # Main application entry point
├── requirements.txt # Project dependencies
├── README.md # Project documentation
├── .env # Environment variables (create this file)
├── static/ # Static assets
│ └── audio/ # Audio resources
├── utils/ # Utility modules
│ ├── init.py
│ ├── auth.py # Authentication functionality
│ ├── database.py # Database operations
│ ├── language_model.py # AI language model interactions
│ ├── speech_input.py # Speech recording functionality
│ └── speech_to_text.py # Speech transcription
└── venv/ # Virtual environment (create this directory)
- On first visit, click "Register" to create a new account
- Provide a username, email, and secure password
- After registration, you'll be automatically logged in
- For subsequent visits, use the login form with your credentials
- Navigate to the "Practice Reading" section
- Use the default passage or paste your own English text
- Select the number of questions to generate (1-5)
- Click "Generate Questions" to create AI-powered comprehension questions
- Answer each question in the text area or using voice input
- Submit your answer to receive detailed feedback
- Navigate between questions using the "Previous" and "Next" buttons
- When answering questions, you have two voice input options:
- Use the microphone tab to record directly in your browser
- Use the upload tab to submit a pre-recorded audio file (.wav or .mp3)
- After recording or uploading, the system will transcribe your speech
- Review the transcription and click "Use this transcription" to set it as your answer
- Navigate to the "Vocabulary Notebook" section
- Use the "Add New Word" tab to manually add vocabulary
- When practicing reading, select text and click "Add to Vocabulary" to add words directly from passages
- Review your vocabulary list in the "My Vocabulary" tab
- Use the "Words Due for Review" tab to practice words scheduled for review
- Filter words by review count to focus on specific learning stages
- Mark words as reviewed individually or in batches
- Navigate to the "Learning History" section
- View your past learning sessions in the "Session History" tab
- Explore detailed statistics in the "Learning Analytics" tab:
- Score progress over time
- Performance by learning dimension
- Vocabulary growth
- Activity patterns
- Review personalized insights and recommendations tailored to your learning patterns
- Follow the suggested study plan and metacognitive strategies
- Frontend: Streamlit
- Backend: Python
- Database: MongoDB
- AI Services:
- OpenAI GPT models for question generation and answer analysis
- OpenAI Whisper for speech recognition
- Data Visualization: Plotly
- Data Processing: Pandas
- Authentication: Bcrypt
- ✅ Core reading comprehension functionality
- ✅ Speech-to-text integration
- ✅ User authentication and data persistence
- ✅ Enhanced feedback system
- ✅ Vocabulary notebook feature
- ✅ Spaced repetition review system
- ✅ Comprehensive learning analytics
- Mobile application development
- Community and social learning features
- Content recommendation system
- Support for additional languages
- Integration with external language resources
- Siyu (Suzy) Sun
- Yuling (Winnie) Wang
This project is licensed under the MIT License - see the LICENSE file for details.