Inspiration
The idea for this project was inspired by the complexity of language and the need to group words that share deep semantic connections. We wanted to create a system that could help in language-based games, chatbots, and recommendation systems by automatically clustering similar words. The goal was to bridge the gap between simple keyword matches and more sophisticated semantic analysis.
What it does
Connections AI groups words based on their semantic similarity, using GloVe embeddings to measure the closeness of meanings. It intelligently builds groups of words that share strong contextual relevance, dynamically adjusting for guesses that are "one word away" from correctness. This approach enables it to find meaning-based clusters, which are useful in a variety of NLP tasks.
How we built it
We utilized pre-trained GloVe embeddings and applied cosine similarity to measure the closeness between word vectors. The model begins with a basic similarity grouping and then adjusts based on contextual relevance. If a group is close but not fully correct, the model re-evaluates and suggests alternative word substitutions. This was implemented in Python, using libraries like numpy and sklearn for embeddings and similarity calculations.
Challenges we ran into
One of the main challenges was handling words not found in the GloVe embeddings and ensuring that random vectors didn’t affect the grouping quality. Another challenge was dynamically adjusting groups when the “one away” condition applied, as it required careful filtering to maintain accuracy without overfitting to specific words.
Accomplishments that we're proud of
We’re proud of creating a robust model that accurately groups words by meaning and handles tricky edge cases with fallback logic. The model’s ability to adapt based on similarity and error patterns has proven effective, allowing it to deliver contextually relevant groupings.
What we learned
Through this project, we learned the intricacies of word embeddings and the importance of balancing flexibility with accuracy. Building dynamic grouping algorithms for words revealed the importance of similarity metrics and pre-trained embeddings in creating meaningful clusters.
What's next for Connections AI
Next, we aim to expand Connections AI to support multiple languages and add support for more complex, hierarchical clustering. Additionally, we plan to fine-tune the model on more specific datasets to improve accuracy for specialized applications like customer support or educational tools.
Built With
- bart-large-mli
- flask
- natural-language-processing
- transformers
Log in or sign up for Devpost to join the conversation.