import spacy
import streamlit as st
import pickle
# Load vocab file
@st.cache(allow_output_mutation=True)
def load_model():
nlp = spacy.load("en_core_web_lg")
return nlp
# Determines input types
st.title('Similarity script')
word = st.text_input('Enter word:')
# Blog list
blogs = ['sampleface.co.uk', 'cultrface.co.uk', 'logicface.co.uk', 'playrface.co.uk', 'distantarcade.co.uk']
list_of_blogs = st.radio("Select the corresponding blog", blogs)
# Load pickle files
with open(f'{list_of_blogs}_tags_pickle', 'rb') as f:
blog_pickle = pickle.load(f)
words_list = blog_pickle['Tag'].tolist()
submit = st.button('Submit')
if submit:
nlp = load_model()
# Compare similarities between titles
word_to_compare_1 = nlp(word)
st.write(word_to_compare_1)
st.subheader('Related tags')
for w in words_list:
word_to_compare_2 = nlp(w)
if word_to_compare_1.similarity(word_to_compare_2) > 0.6 and word != w:
st.write(f'{word_to_compare_2} ({round(word_to_compare_1.similarity(word_to_compare_2), 4)*100}%)')