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}%)')
Powered by Codespace