Spaces:
Sleeping
Sleeping
# import the module | |
import streamlit as st | |
from transformers import pipeline | |
#This function accepts the masked text like: "How are [MASK]" | |
# and feeds this text to the model and prints the output in which [MASK] is filled with the appropriate word. | |
def print_the_mask(text): | |
#Import the model | |
model = pipeline(task="fill-mask", | |
model="MUmairAB/bert-based-MaskedLM") | |
#Apply the model | |
model_out = model("I want to [MASK]") | |
#First sort the list of dictionaries according to the score | |
model_out = sorted(model_out, key=lambda x: x['score'],reverse=True) | |
for sub_dict in model_out: | |
print(sub_dict["sequence"]) | |
#The main function that will be executed when this file is executed | |
def main(): | |
# Set the title | |
st.title("Masked Language Model App") | |
st.write("Created by: [Umair Akram](https://www.linkedin.com/in/m-umair01/)") | |
h1 = "This App uses a fine-tuned DistilBERT-Base-Uncased Masked Language Model to predict the missed word in a sentence." | |
st.subheader(h1) | |
st.write("Its code and other interesting projects are available on my [website](https://mumairab.github.io/)") | |
h2 = "Enter your text and put \"[MASK]\" at the word which you want to predict, as shown in the following example: How are [MASK]" | |
st.write(h2) | |
text = st.text_input(label="Enter your text here:", | |
value="Type here ...") | |
if(st.button('Submit')): | |
# Perform the input validation | |
if "[MASK]" not in text: | |
st.write("You did not enter \"[MASK]\" in the text. Please write your text again!") | |
else: | |
print_the_mask(text) | |
#Call the main function | |
if __name__ == "__main__": | |
#Launch the Gradio interface | |
main() |