File size: 1,838 Bytes
b92edeb 90a6c0e b92edeb de46fb6 690e0ae 0d285d4 90a6c0e de46fb6 b92edeb de46fb6 b92edeb de46fb6 b92edeb 473bbe2 b92edeb 1bd38b7 34959a7 bde9608 bf61b24 b92edeb bde9608 b92edeb e49320d b92edeb e49320d b92edeb de46fb6 e49320d 9cfd42f b92edeb |
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 |
import streamlit as st
from transformers import T5ForConditionalGeneration, T5TokenizerFast, T5Config
@st.cache(allow_output_mutation=True, suppress_st_warning=True)
def load_model():
model_name = "north/demo-nynorsk-base"
config = T5Config.from_pretrained(model_name)
#Debug
#st.text(config)
#st.text("north/demo-nynorsk-base")
model = T5ForConditionalGeneration.from_pretrained(model_name,config=config)
tokenizer = T5TokenizerFast.from_pretrained(model_name)
return (model, tokenizer)
def translate_to_nynorsk(model, tokenizer, text):
encoded_txt = tokenizer(text, return_tensors="pt")
generated_tokens = model.generate(
**encoded_txt
)
return tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
st.title("Bokmål To Nynorsk")
expander = st.sidebar.expander("About")
expander.write("This web app allows you to translate a text in Norwegian Bokmål to Norwegian Nynorsk.")
option = st.sidebar.selectbox(
'Examples:',
('Loven har også som formål å sikre et arbeidsmiljø som gir grunnlag for en helsefremmende og meningsfylt arbeidssituasjon, og bidra til et inkluderende arbeidsliv.','En av de vanskeligste oppgavene når man oversetter fra bokmål til nynorsk, er å passe på at man bruker riktige pronomen. Man kan for eksempel si at man eier en bil og at den er rød.', 'Alle søknader behandles konfidensielt.', 'Kommunens nettsider henviser til kommunens vedtak.'))
text = st.text_area(f"Bokmål text: ",max_chars=1000, value=option)
run = st.button('Run Nynorsk Translation')
if run:
model, tokenizer = load_model()
translated_text = translate_to_nynorsk(model, tokenizer, text)
st.text("Nynorsk Translation: ")
st.write(translated_text[0] if translated_text else "Unknown Error Translating Text")
|