Giter Club home page Giter Club logo

capstone18-deeppapers2recommend's Introduction

DeepPapers2Recommend

This application can be used to search for and get recommendations for papers accepted at various recent top CS conferences and workshops. The conferences represented include ICLR (2017, 2018), ICML (2018), and NIPS (2016, 2017, 2018). The workshops represented include ICLR (2017, 2018), some of ICML (2018), and NIPS (2018). A total of 2707 papers are represented as of this version.

The front-end is implemented using Flask. All recommendation processing is done using Gensim. Data is collected by scraping data from webpages using BeautifulSoup (bs4).

Dependencies

This application uses Python3.

You will need flask, gensim, scipy, numpy, scikit-learn, and bs4 (if you want to update the database). These can be setup using pip manually or using the command below.

pip install -r requirements.txt

AWS Deployement

The current version of the application is available here. The website is hosted using AWS Elastic Beanstalk.

Steps to Run Application Locally

The repo has a pickle file (paperdata.pkl) which can be directly used. If you would like to create or update the database, run the following:

python save_raw_data.py

Then, to run a command line version of the recommendation tool, run the following:

python recommend.py

To run the GUI which is created using Flask, run the following in Linux:

export FLASK_APP=flaskr
export FLASK_ENV=development //Optional, to enable debug mode
flask run

In Windows, run the following:

set FLASK_APP=flaskr
set FLASK_ENV=development //Optional, to enable debug mode
flask run

Now, navigate to the address/port indicated by flask and append it with /search. For example, if the address/port is 127.0.0.1:5000, navigate to 127.0.0.1:5000/search.

For all search queries, the default maximum papers displayed is 10. This can be modified by adding a GET parameter limit=<your limit> to the link. For example, assuming the query was machine learning, the URL could be 127.0.0.1:5000/search?q=machine+learning&limit=50.

The default maximum recommendations shown is also 10. Thus, a similar procedure exists for the recommendation page (which would be 127.0.0.1:5000/recommend), where adding a limit=<your limit> GET parameter to the URL will adjust the amount of recommendations shown.

capstone18-deeppapers2recommend's People

Contributors

qiyanjun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.