This is a text summarizing tool written in Python

Overview

Summarize

Written by: Ling Li Ya

This is a text summarizing tool written in Python.

User Guide

Some things to note:

  • The application is accessible here.
  • However, due to limited free-tier server resources, the application may crash, so it is advisable that you run this project locally.
  • You might not be able to run the abstractive models after reaching a character limit in HuggingFace Accelerated Inference API. Therefore, it is advisable that you use the Notebooks for replicating our results in the documentation.
  • Note that you might not be able to run Pegasus on the notebook successfully due to the amount of resources required, so it is advisable that you run only the Pegasus model through the application interface.

To run the project locally, please refer to the guide below.

Setup Tutorial Video (Windows)

SummarizeLocalSetup.mp4

for the detailed steps in word, refer to sections below

1. Downloading the project

Either download the .zip file in Google Classroom from our GitHub. image

Then unzip the .zip file. You will see the file summarize-main. image

2. Install prerequisites

You need Python and Node.js installed. Open up command prompt (cmd) and type in the code below.

To check whether Python is installed:

$ python

You will see this is it is installed. Note that your version might be different.
image

Type exit() to exit the Python shell if it is installed.

To check whether Node.js is installed:

$ node

You will see this is it is installed. Note that your version might be different.
image

Otherwise, download Python and/or Node.js here. Run the installer and follow its instructions. Verify your installation.

3. Install project Python dependencies

Double click on summarize-main. Single click on the summarize folder, hold down your shift key, and right click on the folder. Select Open PowerShell window here. image

A PowerShell window will pop up. Then right click on the Makefile in the file explorer and open it with Notepad. image

Something like this will pop up: image

These are the commands to install all the project Python dependencies. Simply copy the command and paste them in the PowerShell window. If you encounter this warning message: image

Simply retype the command with an additional flag pip install -r requirements.txt --use-feature-in-tree-build. Then let it run. image

4. Install our summarize library

We have made our application into a Python library and you need to install it with the command below: image

5. Run the backend server

Be sure that you select the command under the server-dev instead of server-prod. image

6. Prepare the frontend client

Open up another PowerShell window this time by holding shift and right clicking the server folder.

After you have installed Node.js, run the following command to install pnpm.

$ npm install -g pnpm

After installing pnpm, type cd client to go into the client folder in the new PowerShell window.

Then return to your Notepad and run the command pnpm i in the PowerShell window. It will take 10 - 20 seconds to install. image

7. Run the frontend client

Run this command in the PowerShell window to launch the application on localhost:3333 image

You will see this: image

8. Adding API token

To use BART, T5 and Pegasus, you need an API token. We will private message you an API token because it is not supposed to be public.


At the summarize-main project root, right click on an empty space to add a new .txt named .env. image

Click on yes for this warning: image

Open the .env file in Notepad. Type in HUGGING_FACE_API_TOKEN_={your_api_token}. It will look something like this: image

Save the file then refresh the Summarize web application page. image

You will be able to use the models now.

Code folders

  • summarize - The python library for all the algorithm
  • server - The backend server using FastAPI
  • client - The frontend app using Vue3

Misc folders

  • notebooks - A folder to keep all our jupyter notebooks testground
  • data - A folder to keep all datasets needed to train or test the algorithm
  • docs - Keep our documentation files
Owner
Marcus Lee
Currently studying Software Engineering at TARUC, Kuala Lumpur. Mainly code in TypeScript, Golang, Python, Java Interested in Backend & Fullstack Dev.
Marcus Lee
A program that looks through entered text and replaces certain commands with mathematical symbols

TextToSymbolConverter A program that looks through entered text and replaces certain commands with mathematical symbols Example: Syntax: Enter text in

1 Jan 02, 2022
A Python library that provides an easy way to identify devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings.

Python User Agents user_agents is a Python library that provides an easy way to identify/detect devices like mobile phones, tablets and their capabili

Selwin Ong 1.3k Dec 22, 2022
Search for terms(word / table / field name or any) under Snowflake schema names

snowflake-search-terms-in-ddl-views Search for terms(word / table / field name or any) under Snowflake schema names Version : 1.0v How to use ? Run th

Igal Emona 1 Dec 15, 2021
This is REST-API for Indonesian Text Summarization using Non-Negative Matrix Factorization for the algorithm to summarize documents and FastAPI for the framework.

Indonesian Text Summarization Using FastAPI This is REST-API for Indonesian Text Summarization using Non-Negative Matrix Factorization for the algorit

Viqi Nurhaqiqi 2 Nov 03, 2022
Returns unicode slugs

Python Slugify A Python slugify application that handles unicode. Overview Best attempt to create slugs from unicode strings while keeping it DRY. Not

Val Neekman 1.3k Jan 04, 2023
Little python script + dictionary to help solve Wordle puzzles

Wordle Solver Little python script + dictionary to help solve Wordle puzzles Usage Usage: ./wordlesolver.py [letters in word] [letters not in word] [p

Luke Stephens (hakluke) 4 Jul 24, 2022
Repository containing the code for An-Gocair text normaliser

Scottish Gaelic Text Normaliser The following project contains the code and resources for the Scottish Gaelic text normalisation project. The repo can

3 Jun 28, 2022
A Python app which can convert normal text to Handwritten text.

Text to HandWritten Text ✍️ Converter Watch Tutorial for this project Usage:- Clone my repository. Open CMD in working directory. Run following comman

Kushal Bhavsar 5 Dec 11, 2022
Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.

TextDistance TextDistance -- python library for comparing distance between two or more sequences by many algorithms. Features: 30+ algorithms Pure pyt

Life4 3k Jan 02, 2023
Export solved codewars kata challenges to a text file.

Codewars Kata Exporter Note:this is not totally my work.i've edited the project to make more easier and faster for me.you can find the original work h

Oussama Ben Sassi 4 Aug 13, 2021
Implementation of hashids (http://hashids.org) in Python. Compatible with Python 2 and Python 3

hashids for Python 2.7 & 3 A python port of the JavaScript hashids implementation. It generates YouTube-like hashes from one or many numbers. Use hash

David Aurelio 1.4k Jan 02, 2023
WorldCloud Orçamento de Estado 2022

World Cloud Orçamento de Estado 2022 What it does This script creates a worldcloud, masked on a image, from a txt file How to run it? Install all libr

Jorge Gomes 2 Oct 12, 2021
从flomo导出的笔记中生成词云

flomo-word-cloud 从flomo导出的笔记中生成词云 如何使用? 将本项目克隆到你的电脑上,使用如下的命令,安装所需python库 pip install -r requirements.txt 在项目里新建一个file文件夹,把所有从flomo导出的html文件放入其中 运行main

Hannnk 9 Dec 30, 2022
Making simplex testing clean and simple

Making Simplex Project Testing - Clean and Simple What does this repo do? It organizes the python stack for the coding project What do I need to do in

Mohit Mahajan 1 Jan 30, 2022
Free & simple way to encipher text

VenSipher VenSipher is a free medium through which text can be enciphered. It can convert any text into an unrecognizable secret text that can only be

3 Jan 28, 2022
An extension to detect if the articles content match its title.

Clickbait Detector An extension to detect if the articles content match its title. This was developed in a period of 24-hours in a hackathon called 'H

Arvind Krishna 5 Jul 26, 2022
Python flexible slugify function

awesome-slugify Python flexible slugify function PyPi: https://pypi.python.org/pypi/awesome-slugify Github: https://github.com/dimka665/awesome-slugif

Dmitry Voronin 471 Dec 20, 2022
Utility for Text Normalisation or Inverse Normalisation

Text Processor Text Normalisation or Inverse Normalisation for Indonesian, e.g. measurements "123 kg" - "seratus dua puluh tiga kilogram" Currency/Mo

Cahya Wirawan 2 Aug 11, 2022
BaseCrack is a tool written in Python that can decode all alphanumeric base encoding schemes.

BaseCrack Decoder For Base Encoding Schemes BaseCrack is a tool written in Python that can decode all alphanumeric base encoding schemes. This tool ca

Mufeed VH 383 Dec 27, 2022
Answer some questions and get your brawler csvs ready!

BRAWL-STARS-V11-BRAWLER-MAKER-TOOL Answer some questions and get your brawler csvs ready! HOW TO RUN on android: Install pydroid3 from playstore, and

9 Jan 07, 2023