A comprehensive text analysis application that combines readability assessment with AI-powered summarization and paraphrasing using state-of-the-art models.
- Flesch-Kincaid Score: Measures text difficulty (higher = easier)
- Gunning Fog Index: Measures complexity (lower = simpler)
- SMOG Index: Estimates grade level needed
- Sentence Distribution: Classifies sentences as Beginner/Intermediate/Advanced
- Multiple Models: PEGASUS, FLAN-T5, and BART
- Length Options: Short (~50 words), Medium (~150 words), Long (~300 words)
- ROUGE Evaluation: Automatic quality assessment with precision, recall, and F1 scores
- Multiple Models: FLAN-T5 and BART for paraphrasing
- Complexity Levels: Simplified, Standard, Enhanced, Academic
- Paraphrasing Levels: Sentence, Paragraph, and Full Text
- Semantic Similarity: Automatic quality assessment using sentence transformers
- Side-by-Side Comparison: Original vs paraphrased text display
- Text Files: TXT, CSV, Excel (XLSX/XLS), PDF
- User Management: Registration, login, profile management
- File Storage: Secure database storage with metadata
- Double-click
install_dependencies.bat - Wait for installation to complete (includes NLTK data download)
- Run the application:
streamlit run app.py
# Install all required packages
pip install -r requirements.txt
# Download NLTK data
python download_nltk_data.py
# Or install individually
pip install rouge-score accelerate sentence-transformers transformersIf you encounter issues with AI dependencies, the application will still work with:
- Readability analysis
- Text statistics
- File upload and storage
- Start the application:
streamlit run app.py - Register/Login: Create an account or sign in
- Upload a document: Drag and drop TXT, CSV, Excel, or PDF files
- Analyze text: Use the tabs to explore different analyses
- Generate summaries: Choose model and length for AI summarization
- Paraphrase text: Select model, complexity level, and paraphrasing level
- PEGASUS: Excellent for news articles and factual content
- FLAN-T5: Versatile and accurate for various text types
- BART: Great for general text summarization
- FLAN-T5: Good for general paraphrasing with prompt engineering
- BART: Good for creative rewording and style changes
- Flesch-Kincaid: 70+ (easy), 50-70 (moderate), <50 (difficult)
- Gunning Fog: ≤8 (simple), 8-12 (moderate), ≥13 (complex)
- SMOG Index: ≤8 (elementary), 9-12 (high school), >12 (college)
- Simplified: Uses simpler vocabulary and shorter sentences
- Standard: Maintains original complexity level
- Enhanced: Uses more sophisticated vocabulary and complex structures
- Academic: Formal academic style with advanced terminology
If you see "AI features are not available":
- Run
pip install rouge-score accelerate sentence-transformers - Restart the application
If you see "Resource punkt_tab not found":
- Run
python download_nltk_data.py - Or manually run:
python -c "import nltk; nltk.download('punkt'); nltk.download('punkt_tab')" - Restart the application
- Models are downloaded automatically on first use
- Ensure stable internet connection for initial download
- GPU acceleration is used if available, falls back to CPU
- Framework: Streamlit
- Database: SQLite
- AI Models: Hugging Face Transformers
- Evaluation: ROUGE Score, Sentence Transformers
- Authentication: JWT tokens with bcrypt hashing
This project is for educational and research purposes.