koal / app.py
koalsky's picture
Update app.py
bb60e85
import streamlit as st
from transformers import (
AutoModelForSeq2SeqLM,
AutoModelForTokenClassification,
AutoTokenizer)
#忽略报错
#warnings.filterwarnings("ignore")
tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
extractive_summary = AutoModelForSeq2SeqLM.from_pretrained("facebook/bart-large-cnn")
tag_model = AutoModelForTokenClassification.from_pretrained("dbmdz/bert-large-cased-finetuned-conll03-english")
#def summarize(text):
# input_ids = tokenizer.encode(text, return_tensors="pt")
# output = extractive_summary.generate(input_ids)
# return tokenizer.decode(output[0])
def summarize(text):
input_ids = tokenizer.encode(text, return_tensors="pt")
output = extractive_summary.generate(input_ids, max_new_tokens=4096)
return tokenizer.decode(output[0])
def tag(text):
input_ids = tokenizer.encode(text, return_tensors="pt")
#output = tag_model(input_ids)
#return [(t.word, t.tag_id) for t in tag_model.config.id2label]
output = tag_model(input_ids)[0]
return [(output.words[i], output.labels[i]) for i in range(len(output.words))]
def optimize(text):
# content optimization ...
return optimized_text
st.title("NLP Demo")
text = st.text_area("Input text:", "Enter text here")
if st.button("Summarize"):
summary = summarize(text)
st.write(summary)
if st.button("Tag"):
tags = tag(text)
st.write(tags)
if st.button("Optimize"):
optimized_text = optimize(text)
st.write(optimized_text)