CoolFace
Apppublic

Trinath052004/ai-language-learning-assistant

sourceHugging Faceupdated 1y agoView on Hugging Face
1likes
App README

šŸ—£ļø Indian Language Learning Assistant

An AI-powered Streamlit application designed to help users learn and practice Indian languages through word meaning exercises. The app generates English questions about word meanings and allows users to respond in their native Indian language through both text and voice input.

🌟 Features

  • —Multi-language Support: Supports 13 major Indian languages
  • —AI-Generated Questions: Automatic generation of word meaning questions in English
  • —Dual Input Methods: Text and voice input capabilities
  • —Local Data Storage: All responses are stored locally for privacy
  • —Progress Tracking: View your learning progress and previous responses
  • —User-Friendly Interface: Clean, intuitive Streamlit interface
  • —Open Source: Built with open-source AI models

🌐 Supported Languages

The application supports the following Indian languages:

  • —Hindi (ą¤¹ą¤æą¤Øą„ą¤¦ą„€)
  • —Bengali (বাংলা)
  • —Telugu (తెలుగు)
  • —Marathi (ą¤®ą¤°ą¤¾ą¤ ą„€)
  • —Tamil (ą®¤ą®®ą®æą®“ąÆ)
  • —Gujarati (ąŖ—ą«ąŖœąŖ°ąŖ¾ąŖ¤ą«€)
  • —Urdu (اردو)
  • —Kannada (ą²•ą²Øą³ą²Øą²”)
  • —Malayalam (ą“®ą“²ą“Æą“¾ą“³ą“‚)
  • —Odia (ଓଔ଼ିଆ)
  • —Punjabi (ąØŖą©°ąØœąØ¾ąØ¬ą©€)
  • —Assamese (অসমীয়া)
  • —Sanskrit (ą¤øą¤‚ą¤øą„ą¤•ą„ƒą¤¤)

šŸš€ Quick Start

Prerequisites

  • —Python 3.8 or higher
  • —pip package manager

Installation

  1. 1.Clone the repository:
bash
   git clone https://github.com/yourusername/indian-language-learning-assistant.git
   cd indian-language-learning-assistant
  1. 1.Install dependencies:
bash
   pip install -r requirements.txt
  1. 1.Run the application:
bash
   streamlit run app.py
  1. 1.Open your browser: Navigate to http://localhost:8501

For Hugging Face Spaces

This app is ready to deploy on Hugging Face Spaces:

  1. 1.Upload all files to your Hugging Face Space repository
  2. 2.Set the Space type to "Streamlit"
  3. 3.The app will automatically deploy

šŸ“ Project Structure

indian-language-learning-assistant/
ā”œā”€ā”€ app.py                  # Main Streamlit application
ā”œā”€ā”€ requirements.txt        # Python dependencies
ā”œā”€ā”€ README.md              # Project documentation
ā”œā”€ā”€ CONTRIBUTING.md        # Contribution guidelines
ā”œā”€ā”€ CHANGELOG.md           # Version history
ā”œā”€ā”€ LICENSE               # MIT License
ā”œā”€ā”€ REPORT.md             # Technical report
ā”œā”€ā”€ user_responses/        # Local storage directory (auto-created)
│   ā”œā”€ā”€ response_*.json   # User text responses
│   └── audio_*.wav       # User audio responses
└── assets/               # Static assets (if any)

šŸŽÆ How to Use

  1. 1.Select Language: Choose your native Indian language from the dropdown in the sidebar
  2. 2.Generate Question: Click "Generate New Question" to get an AI-generated word meaning question in English
  3. 3.Provide Response:
  4. 4.Text: Type your explanation of the word meaning in your selected language
  5. 5.Voice: Click the microphone button to record your spoken response
  6. 6.Submit: Click "Submit Response" to save your answer locally
  7. 7.Track Progress: View your previous responses and learning statistics

šŸ› ļø Technical Details

AI Backend

  • —Text Generation: Uses Microsoft's DialoGPT-medium model for question generation
  • —Audio Processing: Handles audio recording and storage using SoundFile
  • —Language Support: Implements language codes following ISO 639-1 standards

Data Storage

  • —Local Storage: All user data is stored locally in JSON and WAV formats
  • —Privacy-First: No data is sent to external servers
  • —Structured Format: Responses include metadata like timestamp, language, and question context

Dependencies

  • —Streamlit: Web application framework
  • —Transformers: Hugging Face transformers library for AI models
  • —SoundFile: Audio file handling
  • —audio-recorder-streamlit: Audio recording component

šŸ”§ Configuration

Environment Variables

No environment variables are required for basic functionality. The app works out of the box.

Customization

  • —Add Languages: Modify the INDIAN_LANGUAGES dictionary in app.py
  • —Change Models: Update the model loading function to use different AI models
  • —Modify Questions: Customize the word list or implement more sophisticated question generation

šŸ“Š Features in Detail

AI Question Generation

  • —Automatically generates diverse word meaning questions
  • —Focuses on common vocabulary for practical learning
  • —Questions are always in English for consistency

Multi-modal Input

  • —Text Input: Large text area for detailed written responses
  • —Voice Recording: One-click audio recording with visual feedback
  • —Dual Submission: Users can provide both text and voice responses

Progress Tracking

  • —Response Counter: Tracks total number of responses
  • —Language Distribution: Shows usage statistics across different languages
  • —Historical View: Access to previous responses with timestamps

Local Data Management

  • —JSON Storage: Structured storage of text responses with metadata
  • —Audio Files: WAV format audio storage with unique identifiers
  • —File Organization: Timestamp-based file naming for easy management

šŸ¤ Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on:

  • —Reporting bugs
  • —Suggesting features
  • —Submitting pull requests
  • —Code style guidelines

šŸ“ˆ Roadmap

  • —[ ] Advanced AI models for better question generation
  • —[ ] Speech-to-text functionality for audio analysis
  • —[ ] Multi-user support with user profiles
  • —[ ] Export functionality for learning data
  • —[ ] Integration with more Indian languages
  • —[ ] Difficulty levels and adaptive learning
  • —[ ] Community features and shared learning

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

šŸ™‹ā€ā™‚ļø Support

For support, questions, or feedback:

  • —Create an issue on GitHub
  • —Check the REPORT.md for technical details
  • —Review the CHANGELOG.md for version updates

šŸŽ‰ Acknowledgments

  • —Hugging Face for providing open-source AI models
  • —Streamlit team for the excellent web framework
  • —The Indian language community for inspiration and feedback
  • —Contributors and users who help improve the application

Made with ā¤ļø for Indian language learners