How kurmamadhav/smart-lexicon-suite works
Smart Lexicon Suite is a desktop dictionary and text-analytics app. Users search for a word to get cached or live definitions, optionally translated; or submit a paragraph for sentiment, readability, keyword analysis, and translation. The main runtime is concentrated in app1.py, so several components share that path. The README documents capabilities beyond the sampled excerpts; links to unsampled runtime details are omitted.
Main entry points: app1.py Text analysis · dictionary_cache.db Dictionary cache · seed_db.py WordNet seeding · seed_translations.py Offline translation seeding
Components 22
Desktop interface
- Tabbed GUI
app1.py - Dictionary search
app1.py - Text analysis
app1.py - Network status check
app1.py
Dictionary data
- Definition lookup
app1.py - Cache lookup
app1.py - Cache updates
app1.py - Dictionary cache
dictionary_cache.db - Live translation
app1.py - WordNet seeding
seed_db.py - Offline translation seeding
seed_translations.py
Text analytics
- Text tokenization
app1.py - Keyword extraction
app1.py - Sentiment scoring
app1.py - Readability scoring
app1.py - Paragraph translation
app1.py
Other components
- User
- Free Dictionary API
- Google Translator
- NLTK WordNet
- Argos Translate
- NLTK resources
Connections 27
- User → Tabbed GUI: uses
- Tabbed GUI → Dictionary search: submits search
- Dictionary search → Definition lookup: starts lookup
- Definition lookup → Cache lookup: checks cache
- Cache lookup → Dictionary cache: reads
- Definition lookup → Free Dictionary API: queries fallback
- Definition lookup → Live translation: translates definitions
- Live translation → Google Translator: translates
- Definition lookup → Cache updates: stores results
- Cache updates → Dictionary cache: writes
- Dictionary search → Tabbed GUI: displays results
- WordNet seeding → NLTK WordNet: reads lexicon
- WordNet seeding → Dictionary cache: writes definitions
- Offline translation seeding → Dictionary cache: reads and writes
- Offline translation seeding → Argos Translate: translates offline
- Tabbed GUI → Text analysis: submits paragraph
- Text analysis → Text tokenization: tokenizes text
- Text tokenization → NLTK resources: uses tokenizers
- Text analysis → Keyword extraction: extracts keywords
- Keyword extraction → NLTK resources: uses stopwords
- Text analysis → Sentiment scoring: scores tone
- Sentiment scoring → NLTK resources: uses VADER
- Text analysis → Readability scoring: scores readability
- Text analysis → Paragraph translation: translates paragraph
- Paragraph translation → Google Translator: translates
- Text analysis → Tabbed GUI: displays report
- Tabbed GUI → Network status check: starts monitoring