Call for Code 2021
Gaia - Gaia: Your Environment News Curator Gaia: a chrome extension that curates environmental news of a company
Explore the docs »
View Demo on YouTube · Report Bug · Request Feature
Table of Contents
About The Project
Gaia is a chrome extension which curates environment news of a brand. After installing the extension, you can highlight a word containing the company name or a brand name and then you get news affiliated with it.
They can keep you updated on the environmental impact of a certain brand. Gaia helps you become a wiser consumer because you can keep tabs on these brands' impact. Gaia supports consumers, specifically internet users, to be more aware of these companies’ environmental issues.
Built With
- IBM Cloud Natural Language Understanding
- IBM Cloud Foundry
- IBM Cloudant
- IBM Function
- IBM Object Storage
Data Source
Getting Started
To use the production version of Gaia, install Gaia Chrome Extension to use it directly on your Chrome browser.
Get this extension for free: pending, awaiting review
To get a local copy up and running follow these simple steps.
Prerequisites
- Python 3.7
- Have Docker installed on your machine. Guide on installing Docker: Ubuntu, Mac or Windows
- (Recommended for running scripts) Have
pip
installed on your machine. More details.
Installation
- Clone the repo
git clone https://github.com/JawaBaliIBM/Gaia.git
- Create a Python virtual environment, and activate it
virtualenv env source env/bin/activate
- Install the required Python packages defined in requirements.txt
pip install -r requrements.txt
- To run the API, prepare the
server
directory with Docker Composedocker-compose up -d
- Run the server
python manage.py runserver
Run Gaia Web Extension on Your Local
- After cloning the repository, open chrome browser.
- At the top right, click and then More tools and then Extensions.
- Make sure your Developer turned on.
- Click Load Unpacked Button
- Choose
web-extension
on cloned repository. - You have web extension run locally on your browser.
Standalone Scripts
Several standalone scripts are available for news scraping and model training purposes.
- guardian_scrapping_script.py - A script to scrape The Guardian news as a JSON file. The JSON format follows the data returned by The Guardian News API.
- file_uploader.py - A helper script to upload file objects to IBM Cloud Object Storage.
- nlp/train_sentiment.py - A script to train a custom sentiment model in IBM Cloud NLU. More guide on IBM Cloud NLU Custom Sentiment Model.
To run the scripts with Python, you can follow the steps below:
- Create a Python virtual environment, and activate it
virtualenv env source env/bin/activate
- Install the required Python packages defined in requirements.txt
pip install -r requirements.txt
- Run the necessary scripts
python <file_name>.py
Infrastructure
Gaia Chrome Extension communicates with Gaia API to retrieve news related to a brand.
Gaia API uses IBM Cloud Function to curate news from The Guardian Open Platform daily, saves them in a form of JSON file saved in IBM Object Storage, and posts a request to analyze the named-entities and sentiment about the article.
Gaia API uses a pre-trained entity model and a custom sentiment model on top of IBM Cloud NLU. The custom sentiment model is trained on approximately 250 data points, using news extracted from The Guardian Open Platform. The brand and article information is saved in IBM Cloudant.
Roadmap
See the open issues for a list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the Apache 2.0 License. See LICENSE
for more information.
About The Team
JavaBali Team
Fellita Candini - canfelli25 - [email protected]
May Iffah - mayiffah - [email protected]
Nur Intan Alatas - Nurintaaan - [email protected]
Valentina Artari - valentinakania - [email protected]
Project Link: Gaia