streamlit>=1.30 pandas>=2.0 numpy>=1.24 scikit-learn>=1.3 plotly>=5.18 sentence-transformers>=2.5 requests>=2.31 openpyxl>=3.1 # Approach 1 — WordNet concept lookups (optional, auto-downloads corpus at runtime) nltk>=3.8 # Approach 2 — semantic aspect discovery (optional; torch already pulled by sentence-transformers) fastopic>=0.0.5 # Approach 2 — OpenAI-compatible client for optional local-LLM label refinement openai>=1.30