import os #os.system('pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.9/index.html') import transformers import streamlit as st from transformers import AutoTokenizer, AutoModelWithLMHead from transformers import pipeline sentiment_tokenizer = AutoTokenizer.from_pretrained("mrm8488/t5-base-finetuned-imdb-sentiment") def load_text_gen_model(): generator = pipeline("text-generation", model="gpt2-medium") return generator @st.cache def get_sentiment_model(): sentiment_model = AutoModelWithLMHead.from_pretrained("mrm8488/t5-base-finetuned-imdb-sentiment") return sentiment_model def get_summarizer_model(): summarizer = pipeline("summarization", model="facebook/bart-large-cnn") return summarizer def get_sentiment(text): input_ids = sentiment_tokenizer .encode(text + '', return_tensors='pt') output = sentiment_extractor.generate(input_ids=input_ids,max_length=2) dec = [sentiment_tokenizer.decode(ids) for ids in output] label = dec[0] return label def get_qa_model(): model_name = "deepset/roberta-base-squad2" qa_pipeline = pipeline('question-answering', model=model_name, tokenizer=model_name) return qa_pipeline sentiment_extractor = get_sentiment_model() summarizer = get_summarizer_model() answer_generator = get_qa_model() st.header("Review Analyzer") #action = st.sidebar.selectbox("Pick an Action", ["Analyse a Review","Generate an Article","Create an Image"]) #if action == "Analyse a Review": st.subheader("Paste/write a review here..") review = st.text_area("") if review: start_sentiment_analysis = st.button("Get the Sentiment of the Review") start_summarizing = st.button("Summarize the review") start_topic_extraction = st.button("Find the key topic") if start_sentiment_analysis: sentiment = get_sentiment(review) st.write(sentiment) if start_summarizing: summary = summarizer(review, max_length=130, min_length=30, do_sample=False) st.write(summary) if start_topic_extraction: QA_input = {'question': 'what is the review about?', 'context': review} answer = answer_generator(QA_input) st.write(answer)