File size: 875 Bytes
c22dcfd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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


import pickle
from tensorflow.keras.models import load_model
from scipy import spatial
import gradio as gr

model = load_model('word2vec_65_epochs.h5')
model.pop()
with open('text_to_seq.pkl', 'rb') as f:
    tokenizer = pickle.load(f)
with open('inference_dict_for_word2vec.pkl', 'rb') as f:
    inference_dict = pickle.load(f)


def get_answer(text):
    similarities = []
    ans = []
    seq = tokenizer.texts_to_sequences([text])
    pred = model.predict(seq)
    for j,i in enumerate(model.layers[0].get_weights()[0]):
        similarities.append([(1 - spatial.distance.cosine(pred[0], i)),j])
    similarities = sorted(similarities,key=lambda x: x[0],reverse=True)
    for i in range(10):
        ans.append((inference_dict[similarities[i][1]],similarities[i][0]))
    return f"{ans}"

demo = gr.Interface(fn=get_answer, inputs="text", outputs="label")
demo.launch()