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
Aml - anti-money laundering

Anti-money laundering Dedect relationship between A and E by tracing through payments with similar amounts and identifying payment chains. For example

3 Nov 21, 2022
A non-validating SQL parser module for Python

python-sqlparse - Parse SQL statements sqlparse is a non-validating SQL parser for Python. It provides support for parsing, splitting and formatting S

Andi Albrecht 3.1k Jan 04, 2023
REST API for sentence tokenization and embedding using Multilingual Universal Sentence Encoder.

MUSE stands for Multilingual Universal Sentence Encoder - multilingual extension (supports 16 languages) of Universal Sentence Encoder (USE).

Dani El-Ayyass 47 Sep 05, 2022
"Complexity" of Flags of the countries of the world

"Complexity" of Flags of the countries of the world Flags (png) from: https://flagcdn.com/w2560.zip https://flagpedia.net/download/images run: chmod +

Alexander Lelchuk 1 Feb 10, 2022
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
Goblin-sim - Procedural fantasy world generator

goblin-sim This project is an attempt to create a procedural goblin fantasy worl

3 May 18, 2022
Convert English text to IPA using the toPhonetic

Installation: Windows python -m pip install text2ipa macOS sudo pip3 install text2ipa Linux pip install text2ipa Features Convert English text to I

Joseph Quang 3 Jun 14, 2022
Amazing GitHub Template - Sane defaults for your next project!

🚀 Useful README.md, LICENSE, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, GitHub Issues and Pull Requests and Actions templates to jumpstart your projects.

276 Jan 01, 2023
知乎评论区词云分析

zhihu-comment-wordcloud 知乎评论区词云分析 起源于:如何看待知乎问题“男生真的很不能接受彩礼吗?”的一个回答下评论数超8万条,创单个回答下评论数新记录? 项目代码说明 2.download_comment.py 下载全量评论 2.word_cloud_by_dt 生成词云 2

李国宝 10 Sep 26, 2022
Map Reduce Wordcount in Python using gRPC

This project is implemented in Python using gRPC. The input files are given in .txt format and the word count operation is performed.

Divija 4 Dec 05, 2022
Paranoid text spacing in Python

pangu.py Paranoid text spacing for good readability, to automatically insert whitespace between CJK (Chinese, Japanese, Korean) and half-width charact

Vinta Chen 194 Nov 19, 2022
Skype export archive to text converter for python

Skype export archive to text converter This software utility extracts chat logs

Roland Pihlakas open source projects 2 Jun 30, 2022
一个可以可以统计群组用户发言,并且能将聊天内容生成词云的机器人

当前版本 v2.2 更新维护日志 更新维护日志 有问题请加群组反馈 Telegram 交流反馈群组 点击加入 演示 配置要求 内存:1G以上 安装方法 使用 Docker 安装 Docker官方安装

机器人总动员 117 Dec 29, 2022
🍋 A Python package to process food

Pyfood is a simple Python package to process food, in different languages. Pyfood's ambition is to be the go-to library to deal with food, recipes, on

Local Seasonal 8 Apr 04, 2022
This project is a small tool for processing url-containing texts delivered by HUAWEI Share on Windows.

hwshare_helper This project is a small tool for handling url-containing texts delivered by HUAWEI Share on Windows. config Before use, please install

1 Jan 19, 2022
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
Simple python program to auto credit your code, text, book, whatever!

Credit Simple python program to auto credit your code, text, book, whatever! Setup First change credit_text to whatever text you would like to credit

Hashm 1 Jan 29, 2022
pydantic-i18n is an extension to support an i18n for the pydantic error messages.

pydantic-i18n is an extension to support an i18n for the pydantic error messages

Boardpack 48 Dec 21, 2022
Phone Number formatting for PlaySMS Platform - BulkSMS Platform

BulkSMS-Number-Formatting Phone Number formatting for PlaySMS Platform - BulkSMS Platform. Phone Number Formatting for PlaySMS Phonebook Service This

Edwin Senunyeme 1 Nov 08, 2021