File size: 2,597 Bytes
0ca4cb9 083d7ab 23a7611 1cb85d9 429266e 000cb34 75bf09d 23a7611 083d7ab b22b7fe 083d7ab 1cb85d9 75bf09d 083d7ab 1bdad80 083d7ab 9891614 2c2d4de 73ac073 429266e 2c2d4de 1cb85d9 8255586 21b7bc1 8255586 33717c9 11cb5d4 083d7ab |
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 44 45 46 47 48 49 |
import streamlit as st
from transformers import T5ForConditionalGeneration, T5TokenizerFast, T5Config
st.session_state
if 'textbox' not in st.session_state:
st.session_state['textbox'] = ""
@st.cache(allow_output_mutation=True, suppress_st_warning=True)
def load_model():
model_name = "north/demo-deuncaser-base"
config = T5Config.from_pretrained(model_name)
model = T5ForConditionalGeneration.from_pretrained(model_name,config=config)
tokenizer = T5TokenizerFast.from_pretrained(model_name)
return (model, tokenizer)
def deuncase(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)
def uncase():
st.session_state['textbox'] = st.session_state['textbox'].lower()
st.title("DeUnCaser")
st.sidebar.write("This web app adds spaces, punctation and capitalisation back into the text.")
st.sidebar.write("You can use the examples below, but too really test the effect of the model: Write or copy text from the Internet, and then manually remove spaces, puctation, cases etc. Try to restore the text.")
option = st.sidebar.selectbox(
"Examples:",
("Vi bruker ikke tegnsetting eller store bokstaver når vi prater. Vi slår også sammen ord, og i praksis er dermed heller ikke mellomrom meningsbærende. Prøv å fjerne tegnsetting, store bokstaver og mellomrom fra dette avsnittet. Se om den nye North-T5-modellen greier å sette sammen til et nytt meningsbærende avsnitt.","tirsdag var travel for ukrainas president volodymyr zelenskyj på morgenen tok han imot polens statsminister mateusz morawiecki","tirsdagvartravelforukrainaspresidentvolodymyrzelenskyjpåkveldentokhanimotpolensstatsministermateuszmorawiecki","deterikkelettåholderedepåstoreogsmåbokstavermanmåforeksempelhuskestorforbokstavnårmanskriveromkrimhalvøyamenkunbrukelitenforbokstavnårmanhenvisertilenkrimroman","detteerenlitendemosomerlagetavperegilkummervoldhanerenforskersomtidligerejobbetvednasjonalbiblioteketimoirana", "sentpå60talletvardetfaktisknoensomkalteungensinperegilkummervoldidagerdetikkelengersåvanligåbrukedobbeltnavninorgehvasynesduomdet"))
st.button('Uncase', on_click=uncase)
text = st.text_area(f"",max_chars=1000,key="textbox")
run = st.button('Run DeUnCaser')
if run:
model, tokenizer = load_model()
translated_text = deuncase(model, tokenizer, text)
st.write(translated_text[0] if translated_text else "Unknown Error Translating Text")
|