Skip to content

ICARUS (Interactive CitAtion Recommendation with User-centered System) recommends academic papers that may be helpful for researchers to refer to and perhaps cite them in their own paper.

Notifications You must be signed in to change notification settings

brightjade/ICARUS

Repository files navigation

ICARUS (Interactive CitAtion Recommendation with User-centered System)

project-overview

This project was done while taking a CS492E course (Human-AI Interaction) at KAIST.

Project Demo

Project Summary

With a substantial number of papers released every year, researchers are having a difficult time trying to find papers related to their own writing. We propose ICARUS (Interactive CitAtion Recommendation with User-centered System), which recommends academic papers that may be helpful for researchers to refer to and perhaps cite them in their own paper. The unique approach of ICARUS is that users can interactively explore semantically similar papers via 2D projection and refine the recommendations based on their own taste.

Libraries and Frameworks

Project Structure

The project structure is as follows:

  • web/ : contains all of frontend files

    • components/ : contains all React components
      • CategorySelection.tsx : a radio group component for selecting paper categories
      • Citation.tsx : an interactive container for storing citations of all added papers
      • Input.tsx : an input box for the user query
      • InteractiveChart.js : an interactive scatterplot displaying query and recommended papers
      • PaperDetail.tsx : an interactive container for storing metadata of the selected paper
      • PaperList.tsx : an interactive recommendation list
    • pages/ : contains all webpages
      • index.tsx : the first and main page
    • stores/ : contains and maintains states used in the React application
      • PaperStore.tsx : states regarding papers
      • UIStore.tsx : states regarding the general UI
  • api/ : contains all of backend logic

    • recommend.py
      • extract_topk_papers() : Given a query from the user input and the user-selected K, it embeds the query using Sentence-BERT (Reimers et al.) and compute cosine similarities against paper embeddings from the arXiv dataset. Then, it outputs top K most similar papers for recommendation.
      • extract_topk_papers_with_added_vectors() : Given vectors, it computes the average of the vectors to create a new query and compute cosine similarities against other paper embeddings. Then, it outputs top K most similar papers for recommendation.
  • app.py : declares all implemented APIs and runs the Flask application.

About

ICARUS (Interactive CitAtion Recommendation with User-centered System) recommends academic papers that may be helpful for researchers to refer to and perhaps cite them in their own paper.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •