Skip to content

Build a streamlined, AI-powered application for market analysis or sentiment tracking, showcasing skills in data handling, AI integration, and professional-grade application development.

Notifications You must be signed in to change notification settings

jrichardson-sol/AI-data-analysis-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Market Analysis & Sentiment Tracking App

Overview

The Market Analysis & Sentiment Tracking App is a Streamlit-powered application designed to help businesses analyze market sentiment. Using advanced AI models, it processes textual data (e.g., customer reviews, tweets) to generate actionable insights through sentiment analysis, visualizations, and automated reporting.


Features

  • Data Collection:
    • Import data from CSV files or APIs.
  • AI-Powered Sentiment Analysis:
    • Leverages HuggingFace Transformers for real-time sentiment analysis.
  • Dynamic Visualizations:
    • Visualize sentiment distributions with intuitive bar charts.
  • Automated Reporting:
    • Generate professional PDF reports summarizing the analysis.
  • User-Friendly Interface:
    • Streamlit-powered app for non-technical users.

Technologies Used

  • Python (Core Programming Language)
  • Libraries:
    • streamlit: Frontend for the interactive app
    • transformers: Sentiment analysis (HuggingFace)
    • matplotlib: Visualization
    • fpdf: PDF reporting
    • pandas: Data handling and processing
    • requests: API integration
  • Docker:
    • Containerization for easy deployment and reproducibility

Getting Started

Prerequisites

  • Python 3.9 or later
  • Docker (optional, for containerized deployment)

Installation

  1. Clone the Repository:

    git clone https://github.com/your-username/your-repository-name.git
    cd your-repository-name
  2. Set Up a Virtual Environment:

    python -m venv venv
    source venv/bin/activate   # On Windows: venv\Scripts\activate
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Set API Keys:

    • Create a .env file or update config.py with your API keys.
    • Example .env:
      TWITTER_API_KEY=your-twitter-api-key
      OTHER_API_KEY=your-other-api-key
  5. Run the App:

    streamlit run main.py
    • Access the app at http://localhost:8501.

Usage

Step 1: Upload Data

  • Upload a CSV file with a column named text (e.g., customer reviews, tweets).

Step 2: Analyze Sentiment

  • The app will analyze each text entry and classify it as POSITIVE, NEGATIVE, or NEUTRAL.

Step 3: Visualize Results

  • View the sentiment distribution as a bar chart.

Step 4: Generate Reports

  • Click "Generate PDF Report" to create a professional summary of the results.

Docker Deployment (Optional)

Build and Run with Docker

  1. Build the Docker Image:

    docker build -t market-analysis-app .
  2. Run the Docker Container:

    docker run -p 8080:8080 market-analysis-app
  3. Access the App:

    • Open http://localhost:8080 in your browser.

File Structure

.
├── src/
│   ├── config.py                # Configuration (API keys, paths)
│   ├── data_collection.py       # Data collection and preprocessing
│   ├── ai_processing.py         # Sentiment analysis using AI
│   ├── visualization.py         # Visualization (bar charts)
│   └── reporting.py             # PDF report generation
├── data/                        # Data folder (CSV files)
├── reports/                     # Generated PDF reports
├── main.py                      # Streamlit app
├── requirements.txt             # Dependencies
├── Dockerfile                   # Docker configuration
├── README.md                    # Project documentation

Future Improvements

  • Advanced AI Features:
    • Topic modeling with BERTopic.
  • Additional Visualizations:
    • Word clouds, trend charts, etc.
  • API Integration:
    • Enable real-time data collection from social media or other platforms.
  • Authentication:
    • Secure access for multiple users.

Contributing

Contributions are welcome! If you'd like to improve this project, please:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature-name
  3. Submit a pull request.

License

This project is licensed under the MIT License.


Contact

For questions or suggestions, feel free to reach out:

  • Your Name:
  • GitHub:

About

Build a streamlined, AI-powered application for market analysis or sentiment tracking, showcasing skills in data handling, AI integration, and professional-grade application development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages