research-chat-bot-

It is a Research bot where it takes the pdf files as input and analysis and gives the desired solutions

https://github.com/joy2004/research-chat-bot-

Science Score: 31.0%

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

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

Repository

It is a Research bot where it takes the pdf files as input and analysis and gives the desired solutions

Basic Info
  • Host: GitHub
  • Owner: JOY2004
  • Language: Python
  • Default Branch: main
  • Size: 13.7 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

Research-chat-bot-Research Assistant AI

Overview

The Research Assistant AI is a tool built with Streamlit to support researchers in analyzing research papers. With this app, users can upload PDF files or paste text content from research articles, and perform tasks like citation extraction, semantic search, question answering, summarization, and finding related papers. Powered by Google Generative AI, the application provides robust natural language processing capabilities to enhance research workflows.

Features Upload & Analyze Papers: Users can upload PDF research papers or paste content directly into the app for analysis.

Citation Extraction: Automatically extracts and formats citations from research papers.

Semantic Search: Perform advanced semantic searches across the uploaded research papers.

Ask Questions: Ask specific questions about the paper's content and receive AI-generated responses.

Paper Summarization: Generate concise summaries of research articles.

Find Related Papers: Get suggestions for related research papers based on content analysis.

Prerequisites Python 3.10 or higher Google API Key for Google Generative AI Installation Clone the Repository:

Set Up a Virtual Environment:

Copy code python -m venv venv source venv/bin/activate # On Windows, use venv\Scripts\activate Install Dependencies:

Copy code pip install -r requirements.txt

Configuration

Configure Your Google API Key:

Obtain an API key from the Google Cloud Platform and add it to your environment.

Running the Application

Launch the Streamlit Application:

Copy code streamlit run app.py

Access the App: Open your browser and go to http://localhost:8501 to begin using the application.

Code Structure

app.py: Main entry point for the Streamlit app, managing the core functionality and layout.

ui_layout.py: Functions that set up the sidebar and main page layout for a user-friendly interface.

analysis.py: Houses functions for research paper analysis, comparison, and summarization.

pdf_utils.py: Utility functions to extract text from uploaded PDF files.

citation.py: Functions for citation extraction and formatting.

semantic_search.py: Functions enabling semantic search and text highlighting.

reference_management.py: Reference management functions, with support for tools like Zotero.

Owner

  • Name: Radix_Joy
  • Login: JOY2004
  • Kind: user

The Art Of Doing Nothing

Citation (citation.py)

from typing import List
import re

def extract_citations(text: str) -> List[dict]:
    # Simple regex-based citation extraction
    citations = re.findall(r'\((?:[^()]*\d{4}[^()]*)\)', text)
    
    # Convert extracted citations to a list of dictionaries
    return [{"raw": citation} for citation in citations]

def format_citation(citation: dict, style: str = 'apa') -> str:
    raw_citation = citation.get("raw", "")
    
    if style.lower() == 'apa':
        return f"APA Style: {raw_citation}"
    elif style.lower() == 'mla':
        return f"MLA Style: {raw_citation}"
    elif style.lower() == 'chicago':
        return f"Chicago Style: {raw_citation}"
    else:
        return f"Unknown Style: {raw_citation}"

GitHub Events

Total
  • Push event: 1
  • Create event: 2
Last Year
  • Push event: 1
  • Create event: 2

Dependencies

requirements.txt pypi
  • PyPDF2 *
  • google-generativeai *
  • pandas *
  • pyzotero *
  • scikit-learn *
  • streamlit *