File size: 2,346 Bytes
a89dbc2
 
 
 
 
 
 
 
 
 
eceecf1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a89dbc2
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
title: Summarizer Bart
emoji: 💻
colorFrom: blue
colorTo: gray
sdk: streamlit
sdk_version: 1.29.0
app_file: app.py
pinned: false
---
# NLP Text Analyzer

This project is a Python-based Natural Language Processing (NLP) Text Analyzer that uses Streamlit for the user interface and leverages Hugging Face's `transformers` library to perform text summarization using the BART model, visualize word clouds, and display the most common words in a given text.

## Overview

The NLP Text Analyzer consists of the following functionalities:

- **Text Summarization**: Utilizes the BART model from Hugging Face's `transformers` library to generate a summary of the user-provided text.
- **Word Cloud Generation**: Generates a word cloud visualization based on the input text.
- **Most Common Words**: Displays the top 10 most common words and their frequencies in the input text.

## Libraries Used

- `streamlit`: Used for building the web-based user interface.
- `transformers` (from Hugging Face): Provides pre-trained models for NLP tasks. Specifically, the `BartForConditionalGeneration` and `BartTokenizer` are used for text summarization.
- `nltk`: Utilized for text processing tasks like tokenization and frequency analysis.
- `wordcloud`: Enables the creation of word cloud visualizations.
- `matplotlib`: Used for plotting word cloud and other visualizations.

## Usage

### Setup

1. Install the necessary Python dependencies listed in `requirements.txt`.
2. Run the Streamlit app locally using the command: `streamlit run your_script.py`.

### Functionality

1. **Text Input**: Enter your text in the provided text area.
2. **Summary**: Displays a summary of the input text using the BART model.
3. **Word Cloud**: Shows a visual representation of word frequency in the input text.
4. **Most Common Words**: Provides a table showing the top 10 most common words and their frequencies.

## Collab Notebook
Access the Colab notebook used for development [here](https://colab.research.google.com/drive/1Y2vv_pZ5nKXKLrXrmsSu6z8hz6ncjWOz#scrollTo=y5-24_9jLdT2).

## Acknowledgments
- The project utilizes the power of Hugging Face's `transformers` library for NLP tasks.
- The word cloud visualization is created using the `wordcloud` library.

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference