Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
from sentence_transformers import SentenceTransformer, util | |
def load_model(): | |
return SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2') | |
model = load_model() | |
secret_word = "нос" | |
secred_embedding = model.encode(secret_word) | |
if 'words' not in st.session_state: | |
st.session_state['words'] = [] | |
st.write('Try to guess a secret word by semantic similarity') | |
word = st.text_input("Input a word") | |
used_words = [w for w, s in st.session_state['words']] | |
if st.button("Guess") or word: | |
if word not in used_words: | |
word_embedding = model.encode(word) | |
similarity = util.pytorch_cos_sim(secred_embedding, word_embedding).cpu().numpy()[0][0] | |
st.session_state['words'].append((word, similarity)) | |
words_df = pd.DataFrame( | |
st.session_state['words'], | |
columns=["word", "similarity"] | |
).sort_values(by=["similarity"], ascending=False) | |
st.dataframe(words_df) | |