Spaces:
Runtime error
Runtime error
| # -*- coding: utf-8 -*- | |
| """Untitled11.ipynb | |
| Automatically generated by Colaboratory. | |
| Original file is located at | |
| https://colab.research.google.com/drive/1Y2vv_pZ5nKXKLrXrmsSu6z8hz6ncjWOz | |
| """ | |
| import streamlit as st | |
| from transformers import BartForConditionalGeneration, BartTokenizer | |
| import nltk | |
| from nltk.corpus import stopwords | |
| from nltk.tokenize import word_tokenize | |
| from wordcloud import WordCloud | |
| import matplotlib.pyplot as plt | |
| from nltk.probability import FreqDist | |
| nltk.download('punkt') | |
| nltk.download('stopwords') | |
| st.title("NLP Text Analyzer") | |
| user_input = st.text_area("Enter your text:", "Type here...") | |
| if user_input: | |
| st.header("Summary:") | |
| # Load pre-trained BART model and tokenizer | |
| model = BartForConditionalGeneration.from_pretrained('facebook/bart-large-cnn') | |
| tokenizer = BartTokenizer.from_pretrained('facebook/bart-large-cnn') | |
| # Tokenize the input text | |
| inputs = tokenizer.encode("summarize: " + user_input, return_tensors="pt", max_length=1024, truncation=True) | |
| # Generate the summary | |
| summary_ids = model.generate(inputs, max_length=150, min_length=40, length_penalty=2.0, num_beams=4, early_stopping=True) | |
| summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True) | |
| st.write(summary) | |
| # Your previous code for creating the Word Cloud plot | |
| st.header("Word Cloud:") | |
| wordcloud = WordCloud(stopwords=set(stopwords.words('english')), background_color='white').generate(user_input) | |
| plt.figure(figsize=(8, 6)) # Adjust the figsize as needed | |
| plt.imshow(wordcloud, interpolation='bilinear') | |
| plt.axis("off") | |
| # Display the Word Cloud plot using st.pyplot() with the explicit figure object | |
| st.pyplot(plt.gcf()) | |
| st.header("Most Common Words:") | |
| words = word_tokenize(user_input) # Tokenize the user input text | |
| fdist = nltk.FreqDist(words) | |
| most_common_words = fdist.most_common(10) | |
| # Prepare data for tabular format | |
| data = { | |
| "Word": [word[0] for word in most_common_words], | |
| "Frequency": [word[1] for word in most_common_words] | |
| } | |
| # Display as a table | |
| st.table(data) |