ceejaytheanalyst commited on
Commit
f1f67b1
·
verified ·
1 Parent(s): 8623431

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -14
app.py CHANGED
@@ -11,24 +11,18 @@ import numpy as np
11
  model = SentenceTransformer('all-MiniLM-L6-v2')
12
  sentence_embed = pd.read_csv('Reference_file.csv')
13
 
14
- #st.write(sentence_embed.head(5))
15
-
16
- # Function to compute cosine similarity
17
- def cosine_similarity(v1, v2):
18
- """Compute cosine similarity between two vectors."""
19
- return np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))
20
 
21
- # Backend function for mapping
22
  def mapping_code(user_input):
23
- emb1 = model.encode(user_input)
24
  similarities = []
25
- for sentence_emb in sentence_embed['embeds']:
26
- sentence_emb = np.array(sentence_emb)
27
- similarity = cosine_similarity(sentence_emb, emb1)
28
  similarities.append(similarity)
29
 
30
  # Combine similarity scores with 'code' and 'description'
31
- result = list(zip(sentence_embed['SBS Code'], sentence_embed['Long Description'], similarities))
32
 
33
  # Sort results by similarity scores
34
  result.sort(key=lambda x: x[2], reverse=True)
@@ -40,7 +34,6 @@ def mapping_code(user_input):
40
  top_5_results.append({"Code": code, "Description": description, "Similarity Score": similarity_score})
41
  return top_5_results
42
 
43
-
44
  # Streamlit frontend interface
45
  def main():
46
  st.title("CPT Description Mapping")
@@ -62,4 +55,4 @@ def main():
62
  st.write(f"{i}. Code: {result['Code']}, Description: {result['Description']}, Similarity Score: {result['Similarity Score']:.4f}")
63
 
64
  if __name__ == "__main__":
65
- main()
 
11
  model = SentenceTransformer('all-MiniLM-L6-v2')
12
  sentence_embed = pd.read_csv('Reference_file.csv')
13
 
14
+ import streamlit as st
 
 
 
 
 
15
 
16
+ # Define the function for mapping code
17
  def mapping_code(user_input):
18
+ emb1 = model.encode(user_input.lower())
19
  similarities = []
20
+ for sentence_embed in sentences['embeds']:
21
+ similarity = util.cos_sim(sentence_embed, emb1)
 
22
  similarities.append(similarity)
23
 
24
  # Combine similarity scores with 'code' and 'description'
25
+ result = list(zip(sentences['SBS Code'], sentences['Long Description'], similarities))
26
 
27
  # Sort results by similarity scores
28
  result.sort(key=lambda x: x[2], reverse=True)
 
34
  top_5_results.append({"Code": code, "Description": description, "Similarity Score": similarity_score})
35
  return top_5_results
36
 
 
37
  # Streamlit frontend interface
38
  def main():
39
  st.title("CPT Description Mapping")
 
55
  st.write(f"{i}. Code: {result['Code']}, Description: {result['Description']}, Similarity Score: {result['Similarity Score']:.4f}")
56
 
57
  if __name__ == "__main__":
58
+ main()