|
import streamlit as st |
|
import transformers |
|
from transformers import pipeline |
|
from transformers import AutoTokenizer, AutoModelForMaskedLM |
|
import pandas as pd |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained("moussaKam/AraBART", padding= True, truncation=True, max_length=128) |
|
model = AutoModelForMaskedLM.from_pretrained("moussaKam/AraBART") |
|
|
|
|
|
def next_word(text, pipe): |
|
res_dict= { |
|
'Word':[], |
|
'Score':[], |
|
} |
|
res=pipe(text) |
|
for e in res: |
|
res_dict['Word'].append(e['token_str']) |
|
res_dict['Score'].append(e['score']) |
|
return res_dict |
|
|
|
st.title("Predict Next Word") |
|
st.write("Use our model to expand your query based on the DB content") |
|
default_value = "التاريخ هو تحليل و" |
|
|
|
sent = st.text_area("Text", default_value, height = 30) |
|
sent += ' <mask>' |
|
|
|
pipe = pipeline("fill-mask", tokenizer = tokenizer, model = model) |
|
dict_next_words = next_word(sent, pipe) |
|
df = pd.DataFrame.from_dict(dict_next_words) |
|
df.reset_index(drop=True, inplace=True) |
|
st.table(df) |