File size: 1,092 Bytes
ea90e06
e683309
ea90e06
 
a09216c
caa1fd8
a09216c
ea90e06
 
c59a4f8
ea90e06
fa1c92c
ea90e06
 
454fde7
 
ea90e06
 
 
454fde7
 
ea90e06
 
 
fa1c92c
ea90e06
 
454fde7
ea90e06
 
caa1fd8
ea90e06
a09216c
caa1fd8
c871b03
cd7dcf3
 
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
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")

#@st.cache
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("Expand your query by leveraging various models")
default_value = "التاريخ هو تحليل و"
# sent is the the variable holding the user's input
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.dataframe(df.style.highlight_max(axis=0))
#st.table(df)