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")