| import streamlit |
| import pandas as pd |
| |
| from transformers import pipeline |
| import streamlit as st |
|
|
| def app(): |
| st.title("Text Summarization ๐ค") |
|
|
| st.markdown("This is a Web application that Summarizes Text ๐") |
| upload_file = st.file_uploader('Upload a file containing Text data') |
| button = st.button("Summarize") |
|
|
| st.cache(allow_output_mutation=True) |
| def facebook_bart_model(): |
| summarizer = pipeline("summarization", model="facebook/bart-large-cnn") |
| return summarizer |
| summarizer= facebook_bart_model() |
|
|
| def text_summarizer(text): |
| a = summarizer(text, max_length=150, min_length=30, do_sample=False) |
| return a[0]['summary_text'] |
|
|
|
|
| |
| if upload_file is not None and button: |
| st.success("Summarizing Text, Please wait...") |
| |
|
|
| |
| df = pd.read_csv(upload_file) |
|
|
| |
|
|
| df1 = df.copy() |
| df1['summarized_text'] = df1['Dialog'].apply(text_summarizer) |
|
|
| df2 = df1[['Name','summarized_text']] |
| st.write(df2.head(5)) |
|
|
| @st.cache |
| def convert_df(dataframe): |
| return dataframe.to_csv().encode('utf-8') |
|
|
| csv = convert_df(df2) |
| st.download_button(label="Download CSV", data=csv, file_name='summarized_output.csv', mime='text/csv') |
|
|
|
|
| |
|
|
|
|
|
|
| if __name__ == "__main__": |
| app() |
|
|