|
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':[], |
|
} |
|
for e in pipe(text): |
|
res_dict['Word'].append(e['token_str']) |
|
res_dict['Score'].append(e['score']) |
|
return res_dict |
|
|
|
st.title("Predict Next Word") |
|
st.write("Expand your query by leveraging various models") |
|
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) |
|
|
|
chart_data = pd.DataFrame( |
|
np.random.randn(50, 3), |
|
columns=["a", "b", "c"]) |
|
|
|
st.bar_chart(chart_data) |
|
|
|
|
|
|
|
|
|
|