Coder Social home page Coder Social logo

shortify's Introduction

shortify

Get an article gist under a minute.

For Shortify documentation, click here

๐Ÿ“ƒ Table of Content

โšก๏ธ Introduction

Shortify is a web application that is designed with a key point in mind i.e., to save user's time. It uses a Natural Language Processing (NLP) technique called BERT summarization extraction to provide the user a gist/summary of any article whatsover. The clientside of the application uses React.js whereas the backend is designed in Flask, a python framework.

๐ŸŽฏ Features

At the moment, Shortify provides following features to its users

  • Percentage of text option that allows the user to control how much of the original text they want in the summary.
  • User can paste any article inside the application.
  • Instead of copy-pasting an article, the user can also paste the article's URL.

๐Ÿš€ Demo

Demo of Shortify

๐Ÿ™Œ Motivation

There are a couple of reasons why we decided to build this web application. One of them is to save the readers time. Students who just want to go through a chapter can paste the entire chapter in this application and can get an overview. People who don't have time to read the entire article because of their busy schedule can use this application to get a gist of what they are reading.

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Technologies

We made use of the following technologies for this project.

๐ŸŒ React.js

As mentioned earlier, the clientside of the application is using React.js. It is a JavaScript frontend library developed by the folks at Facebook Inc. For writing the code, we made use of the following React.js practices:

  • Controlled Components for state management
  • Functional Components (Recommended by Facebook)
  • React.js hooks for making API requests and dealing with the state

๐Ÿ’ฅ Flask

We chose to work with Flask because of the NLP model we used was written in python. The overall architecture is as simple as it gets. To make the clientside and backend talk, we wrote a route that was taking the content or the URL from the frontend and then sending the summarize content as response.

๐Ÿ“ฆ BERT Model

In this project we're using an NLP model (BERT). This model utilizes the HuggingFace Pytorch transformers library to run extractive summarizations. This works by first embedding the sentences, then running a clustering algorithm, finding the sentences that are closest to the cluster's centroids. This library also uses coreference techniques, utilizing the Neural Coref library to resolve words in summaries that need more context.

๐Ÿ’ป Contributors

This project is designed and developed by following folks:

๐Ÿ”‘ License

  • MIT

shortify's People

Contributors

msaaddev avatar aniats avatar aneeshkodali avatar

Stargazers

Kaptian Core avatar Rami Majdoub avatar Hajer M avatar Jatin Dehmiwal avatar Afzal Ansari avatar Arlyn avatar Luke Tainton avatar Garima Singh avatar  avatar

Watchers

Jonathan Gottfried avatar James Cloos avatar  avatar  avatar  avatar

Forkers

afzal442 msaaddev

shortify's Issues

Couldn't fetch data

When the user tries to fetch summarize data from the backend, they need to refresh the page at least once to avail the other option.

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.