word_generator / app.py
Wootang01's picture
Duplicate from bhavyapandya/Next-Word-Prediction
03aea74
raw
history blame
1.25 kB
import gradio as gr
import numpy as np
from tensorflow import keras
import tensorflow as tf
import pickle
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.sequence import pad_sequences
pickle_open = open("tokenizer.pkl","rb")
tokenizer = pickle.load(pickle_open)
model = load_model("model.h5")
pickle_open.close()
def predict(text):
example = tokenizer.texts_to_sequences([text])
example = pad_sequences(example, maxlen=2)
prediction = model.predict(np.array(example))
predictions = []
sorted_ = np.sort(prediction[0])[::-1]
for i in sorted_[:5]:
predictions.append(np.where(prediction[0] == i)[0])
predicted_words = []
reverse_word_map = dict(map(reversed, tokenizer.word_index.items()))
for i in predictions:
predicted_words.append(reverse_word_map[i[0]])
return predicted_words
input_text = gr.inputs.Textbox(lines=1, placeholder="Enter sentence or word here...")
output_text = gr.outputs.Textbox()
title = "Next Word Prediction"
description = "Enter some text or sentence or word and get the next 5 possible autocompletion words"
gr.Interface(fn=predict, inputs=input_text, outputs=output_text, title=title, description=description).launch()