

# https://www.globalsino.com/ICs/
# The nearest/most similar lyrics of a sentence to a CSV file


import pandas as pd
import numpy as np
from scipy import spatial
from sentence_transformers import SentenceTransformer
 
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')


df=pd.read_csv(r"C:\GlobalSino20230219\ICsSupport\Similarity.csv")
df.head(3)

df=df.assign(embeddings=df['City'].apply(lambda x: model.encode(x)))
df.head(3)

def Nearst_lyrics(theInput):
    data=df.copy()
    inp_vector=model.encode(theInput)
    s=data['embeddings'].apply(lambda x: 1 - spatial.distance.cosine(x, inp_vector) )
    data=data.assign(similarity=s)
    return(data.sort_values('similarity',ascending=False).head(10))

print(Nearst_lyrics("New York"))



