--- title: Manifesto Explainer with LLM Enhancement emoji: 📈 colorFrom: blue colorTo: red sdk: gradio app_file: app.py pinned: true --- # Manifesto Explainer with LLM Enhancement This application analyzes political manifestos using advanced NLP and LLM techniques. It provides various insights including word frequency analysis, sentiment analysis, word clouds, and AI-generated summaries. ## Features - **AI-Generated Summary**: Uses Groq's LLaMA 3 model to generate concise summaries of manifestos - **Enhanced Relevant Words Analysis**: Combines traditional frequency analysis with TF-IDF to find the most relevant topics - **Context-Based Search**: Find specific terms within the manifesto with surrounding context - **Visualizations**: - Word Cloud: Visual representation of the most frequent words - Sentiment Analysis: Analysis of positive, negative, and neutral sentiments - Subjectivity Analysis: Analysis of subjective vs. objective content - Frequency Distribution: Distribution of word frequencies - Dispersion Plot: Visual representation of word occurrences throughout the text ## Setup 1. Install the required dependencies: ``` pip install -r requirements.txt ``` 2. Set up your Groq API key: - Rename the `.env.example` file to `.env` - Add your Groq API key to the `.env` file: ``` GROQ_API_KEY=your_groq_api_key_here ``` - You can get a Groq API key by signing up at [https://console.groq.com/](https://console.groq.com/) 3. Run the application: ``` python app.py ``` 4. Open the application in your web browser at the URL displayed in the terminal (typically http://127.0.0.1:7860) ## Usage 1. Upload a PDF file containing a political manifesto 2. Enter a search term to find specific mentions in the manifesto 3. Click "Analyze Manifesto" to process the document 4. View the results in the different tabs: - **Summary**: AI-generated summary of the manifesto - **Search Results**: Occurrences of your search term with context - **Key Topics**: Most relevant topics identified using LLM-enhanced analysis - **Visualizations**: Various visualizations of the manifesto content ## Example Manifestos The application comes with example manifestos in the `Example` folder: - AAP Manifesto 2019 - BJP Manifesto 2019 - Congress Manifesto 2019 ## Note If the Groq API key is not set up correctly, the summarization feature will be disabled, but all other features will continue to work. ## Configuration `title`: _string_ Display title for the Space `emoji`: _string_ Space emoji (emoji-only character allowed) `colorFrom`: _string_ Color for Thumbnail gradient (red, yellow, green, blue, indigo, purple, pink, gray) `colorTo`: _string_ Color for Thumbnail gradient (red, yellow, green, blue, indigo, purple, pink, gray) `sdk`: _string_ Can be either `gradio` or `streamlit` `sdk_version` : _string_ Only applicable for `streamlit` SDK. See [doc](https://hf.co/docs/hub/spaces) for more info on supported versions. `app_file`: _string_ Path to your main application file (which contains either `gradio` or `streamlit` Python code). Path is relative to the root of the repository. `pinned`: _boolean_ Whether the Space stays on top of your list.