## Inspiration

With the ubiquitous and readily available ML/AI turnkey solutions, the major bottlenecks of data analytics lay in the consistency and validity of datasets.
**This project aims to enable a labeller to be consistent with both their fellow labellers and their past self while seeing the live class distribution of the dataset.**

## What it does

The UI allows a user to annotate datapoints from a predefined list of labels while seeing the distribution of labels this particular datapoint has been previously assigned by another annotator. The project also leverages AWS' BlazingText service to suggest labels of incoming datapoints from models that are being retrained and redeployed as it collects more labelled information. Furthermore, the user will also see the top N similar data-points (using Overlap Coefficient Similarity) and their corresponding labels.

In theory, this added information will motivate the annotator to remain consistent when labelling data points and also to be aware of the labels that other annotators have assigned to a datapoint.

## How we built it

The project utilises Google's Firestore realtime database with AWS Sagemaker to streamline the creation and deployment of text classification models.
For the front-end we used Express.js, Node.js and CanvasJS to create the dynamic graphs. For the backend we used Python, AWS Sagemaker, Google's Firestore and several NLP libraries such as SpaCy and Gensim. We leveraged the realtime functionality of Firestore to trigger functions (via listeners) in both the front-end and back-end. After K detected changes in the database, a new BlazingText model is trained, deployed and used for inference for the current unlabeled datapoints, with the pertinent changes being shown on the dashboard

## Challenges we ran into

The initial set-up of SageMaker was a major timesink, the constant permission errors when trying to create instances and assign roles were very frustrating. Additionally, our limited knowledge of front-end tools made the process of creating dynamic content challenging and time-consuming.

## Accomplishments that we're proud of

We actually got the ML models to be deployed and predict our unlabelled data in a pretty timely fashion using a fixed number of triggers from Firebase.

## What we learned

Clear and effective communication is super important when designing the architecture of technical projects. There were numerous times where two team members were vouching for the same structure but the lack of clarity lead to an apparent disparity.
We also realized Firebase is pretty cool.

## What's next for LabelLearn

Creating more interactive UI, optimizing the performance, have more sophisticated text similarity measures.
## Inspiration

The intricate nature of diagnosing and treating diseases, combined with the burdensome process of managing patient data, drove us to develop a solution that harnesses the power of AI. Our goal was to simplify and expedite healthcare decision-making while maintaining the highest standards of patient privacy.

## What it does

Percival automates data entry by seamlessly accepting inputs from various sources, including text, speech-to-text transcripts, and PDFs. It anonymizes patient information, organizes it into medical forms, and compares it against a secure vector database of similar cases. This allows us to provide doctors with potential diagnoses and tailored treatment recommendations for various diseases.

## How we use K-means clustering?

To enhance the effectiveness of our recommendation system, we implemented a K-means clustering model using Databricks Open Source within our vector database. This model analyzes the symptoms and medical histories of patients to identify clusters of similar cases. By grouping patients with similar profiles, we can quickly retrieve relevant data that reflects shared symptoms and outcomes.

When a new patient record is entered, our system evaluates their symptoms and matches them against existing clusters in the database. This process allows us to provide doctors with recommendations that are not only data-driven but also highly relevant to the patient's unique situation. By leveraging the power of K-means clustering, we ensure that our recommendations are grounded in real-world patient data, improving the accuracy of diagnoses and treatment plans.

## How we built it

We employed a combination of technologies to bring Percival to life: Flask for server endpoint management, Cloudflare D1 for secure backend storage of user data and authentication, OpenAI Whisper for converting speech to text, the OpenAI API for populating PDF forms, Next.js for crafting a dynamic frontend experience, and finally Databricks Open-source for the K-means clustering to identify similar patients.

## Challenges we ran into

While integrating speech-to-text capabilities, we faced numerous hurdles, particularly in ensuring the accurate conversion of doctors' verbal notes into structured data for medical forms. The task required overcoming technical challenges in merging Next.js with speech input and effectively parsing the output from the Whisper model.

## Accomplishments that we're proud of

We successfully integrated diverse technologies to create a cohesive and user-friendly platform. We take pride in Percival's ability to transform doctors' verbal notes into structured medical forms while ensuring complete data anonymization. Our achievement in combining Whisper’s speech-to-text capabilities with OpenAI's language models to automate diagnosis recommendations represents a significant advancement. Additionally, establishing a secure vector database for comparing anonymized patient data to provide treatment suggestions marks a crucial milestone in enhancing the efficiency and accuracy of healthcare tools.

## What we learned

The development journey taught us invaluable lessons about securely and efficiently handling sensitive healthcare data. We gained insights into the challenges of working with speech-to-text models in a medical context, especially when managing diverse and large inputs. Furthermore, we recognized the importance of balancing automation with human oversight, particularly in making critical healthcare diagnoses and treatment decisions.

## What's next for Percival

Looking ahead, we plan to broaden Percival's capabilities to diagnose a wider range of diseases beyond AIDS. Our focus will be on enhancing AI models to address more complex cases, incorporating multiple languages into our speech-to-text feature for global accessibility, and introducing real-time data processing from wearable devices and medical equipment. We also aim to refine our vector database to improve the speed and accuracy of patient-to-case comparisons, empowering doctors to make more informed and timely decisions.
## Inspiration

The increasing frequency and intensity of hurricanes and other natural calamities inspired us to build a system that could provide timely and accurate predictions, helping communities prepare and respond more effectively. We wanted to leverage machine learning and real-time data tracking to create a tool that can forecast not just hurricanes but a variety of topological disturbances like cyclones, gale winds, and more.

## What it does

The system predicts and tracks hurricane activities and other weather-related disturbances in real time, using machine learning to analyze data such as wind speed, pressure, and proximity to land. It provides early warnings and alerts, allowing at-risk regions to prepare for potential disasters. The tool also includes bot assistance, which delivers real-time notifications and updates to users.

## How we built it

We used data from NOAA, IBTrACS, and the NCDC Storm Events Database, combined with real-time data from APIs like Google Earth. Machine learning models like Random Forest were used to predict weather disturbances. We integrated the system with Flask for a web-based interface and APIs for real-time updates. The entire model was built with Python, leveraging libraries like pandas, scikit-learn, and geopy for data processing and analysis.

## Challenges we ran into

One of the biggest challenges was dealing with inconsistencies and missing data in historical datasets. Integrating real-time data with older datasets required significant preprocessing. Managing large datasets and ensuring efficient data manipulation without performance bottlenecks was another hurdle. Additionally, handling class imbalances in multi-class prediction proved to be challenging for some machine learning models.

## Accomplishments that we're proud of

We successfully built a robust prediction system that can forecast not only hurricanes but a wide range of weather disturbances. Achieving high model accuracy and recall, especially for minority classes, was a significant accomplishment. Integrating real-time data and creating a user-friendly alert system with bot assistance is another feature we’re proud of.

## What we learned

We learned how to efficiently handle and manipulate large, complex datasets, as well as how to tackle class imbalance issues in multi-class prediction. Our team gained valuable experience in integrating machine learning models into real-time systems and ensuring that predictions remain accurate and up-to-date.

## What's next for Pre-Hurricane Alarm

We plan to expand the system’s capabilities to cover more geographic regions and incorporate additional types of environmental data, such as satellite imagery and ocean temperature data. We also aim to enhance the bot assistance feature, making it more interactive and responsive to user needs.