An advanced Word Sense Disambiguation (WSD) system that combines the Lesk algorithm with BERT embeddings for improved accuracy in determining word meanings from context.
Try the live demo: https://gkc55-nlp-wsd.hf.space/
- Enhanced Lesk Algorithm: Improved version of the traditional Lesk algorithm
- BERT Integration: Uses BERT embeddings for better context understanding
- Interactive Web Interface: User-friendly Flask-based web application
- Real-time Feedback System: Learn from user corrections to improve accuracy
- Context-Aware Processing: Considers surrounding words with proximity weighting
- Multiple Sense Support: Handles words with multiple meanings effectively
- Input Processing: Analyzes text to identify ambiguous words
- Context Extraction: Extracts and weights context words based on proximity
- Sense Comparison: Compares each possible word sense with the context
- BERT Similarity: Uses BERT embeddings to calculate semantic similarity
- Sense Selection: Selects the most appropriate sense based on combined scores
- User Feedback: Learns from user corrections to improve future results
- Backend: Flask, Python 3.9
- NLP: NLTK, BERT Transformers
- Frontend: HTML, CSS, JavaScript, Bootstrap 5
- Deployment: Docker, Hugging Face Spaces
- Python 3.9+
- pip (Python package manager)
- Docker (for containerization)
- Clone the repository:
git clone https://github.com/Gunjankumar55/LESK_BERT_WSD.git
cd LESK_BERT_WSD- Install dependencies:
pip install -r requirements.txt- Run the application:
python app.py- Access the web interface at
http://localhost:5000
Contributions are welcome! Please feel free to submit a Pull Request.
Gunjankumar Choudhari
- GitHub: @Gunjankumar55
- LinkedIn: Gunjankumar Choudhari
- Portfolio: Gunjan Portfolio