Skip to content

Learning tool using knowledge graphs - HackMIT 2024

Notifications You must be signed in to change notification settings

hayliepedersen/ideastruct-hackmit

 
 

Repository files navigation

IdeaStruct

Overview

IdeaStruct utilizes knowledge graphs as a powerful tool for collecting, representing, and summarizing various forms of input data. The idea revolves around creating a structured graph where diverse data points are modeled as nodes, and the relationships between them are represented by edges. The central node acts as a summary point, collecting and aggregating the input data from the other nodes. IdeaStruct simplifies the interpretation, analysis, and understanding of complex, interconnected information.

alt text

alt text

Development Process

  1. Ideation

    • Brainstormed ideas leveraging team members' skills
    • Decided to integrate ML with a full-stack web app
    • Chose to focus on knowledge graphs based on HackMIT challenges
  2. Planning & Research

    • Explored resources on knowledge graphs and visualization
    • Discussed tech stack options (graph libraries, databases, frameworks)
    • Outlined basic project architecture
  3. Development

    • Set up project structure and environment
    • Implemented core backend for knowledge graph management
    • Developed frontend interface with graph visualization
    • Integrated ML components for graph analysis
  4. Challenges

    • Optimized graph rendering for large datasets
    • Ensured data consistency between frontend and backend
    • Implemented effective search within the knowledge graph
  5. Testing & Refinement

    • Conducted basic unit and integration tests
    • Gathered quick user feedback on UI/UX
    • Made iterative improvements based on testing
  6. Documentation

    • Created brief API documentation and user guide
    • Prepared a concise presentation for demo

Throughout the process, we held regular check-ins to discuss progress and overcome obstacles, making the most of time constraints alotted by HackMIT.

Technical Details

IdeaStruct is a Flask-based web application that leverages AI to generate and query a dynamic knowledge graph. It integrates OpenAI's GPT models for natural language processing, with a flexible backend supporting both Neo4j and in-memory graph databases. The application features a modular architecture with a custom integration manager for extensibility. On the frontend, it uses Cytoscape.js for interactive graph visualization. Key functionalities include AI-driven entity and relationship extraction, conditional data addition to prevent duplicates, and URL scraping for automated data ingestion.

Meet the team!

Marmik Chaudhari

Who?! A second-year undergraduate student studying computer science and math at Penn State.

Passionate About: Painting, programming, playing the guitar, and reading

Idhant Gulati

Who?! A second-year undergraduate student studying computer science at Penn State.

Passionate About: Music, badminton, and robotics

Haylie Pedersen

Who?! A second-year undergraduate student studying computer science with a concentration in software at Northeastern University.

Passionate About: Coffee, reading, web development, and sleeping :)

Vivek Patel

Who?! A second-year undergraduate student studying computer science at Penn State.

Passionate About: Music, basketball, food, and Netlfix

About

Learning tool using knowledge graphs - HackMIT 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 81.2%
  • JavaScript 12.3%
  • CSS 4.3%
  • HTML 2.2%