https://github.com/cafelabai/centr-seek

https://github.com/cafelabai/centr-seek

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cafelabai
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 11.6 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

centr-seek-revised

This project is an extension of a Faculty Assistance in Data Science (FADS) project, CEnTR*SEEK, and will explore and identify approaches to three critical questions/tasks that are foundational for a machine learning-based approach:

  1. How can unstructured texts from diverse sources be processed to create optimal input data for machine learning algorithms in the context of community engaged research projects?
  2. Which machine learning classification techniques provide the best balance between accuracy and interpretability for categorizing community engaged research projects?
  3. What database schema and data storage strategies best facilitate the interoperability, transparency, and scalability of community engaged research project attributes?

By exploring these questions, efforts for identifying and categorizing community engaged and public scholarship will be enhanced.

Approach:

Overview

This project implements a PDF classification pipeline using a Retrieval-Augmented Generation (RAG) approach. The process involves: - Extracting and preprocessing text from PDF documents - Chunking and embedding sentence data - Storing and retrieving vectors using Qdrant - Classifying document type using a Large Language Model (LLM) like ChatGPT or Groq


Libraries and Tools Used

| Tool | Purpose | |--------------------|---------------------------------------------------| | PyMuPDF | PDF text extraction | | spaCy + Sentencier | Sentence segmentation and chunking | | SentenceTransformers | Embedding sentence chunks using transformer models | | Qdrant | Vector storage and retrieval | | OpenAI GPT / Groq | Final document classification using LLM |


Step-by-Step Workflow (Summary)

  1. Text Extraction: PDF content is extracted using PyMuPDF, ensuring accurate parsing of structured and unstructured data.

  2. Sentence Segmentation: The extracted text is segmented into logical sentences using spaCy and Sentencier, preparing it for effective chunking.

  3. Embedding: Sentence chunks are transformed into dense vector representations using pre-trained SentenceTransformer models.

  4. Vector Storage: These embeddings are stored in a Qdrant vector database for fast similarity search and retrieval.

  5. Top-K Retrieval: At classification time, a query is embedded and matched against stored vectors to retrieve the top-k most relevant sentence chunks.

6. LLM Classification: The retrieved content is provided as context to a Large Language Model (e.g., ChatGPT or Groq), which identifies the type of document.

Future Improvements

  • Metadata filtering (e.g., filename, page number)
  • Multi-label classification support
  • Fine-tuning a classification model on labeled chunks

Owner

  • Name: CAFE Lab
  • Login: cafelabai
  • Kind: organization
  • Location: United States of America

Community AI For Education Lab @ IUI

GitHub Events

Total
  • Watch event: 1
  • Delete event: 1
  • Push event: 8
  • Pull request event: 2
  • Create event: 2
Last Year
  • Watch event: 1
  • Delete event: 1
  • Push event: 8
  • Pull request event: 2
  • Create event: 2