File size: 2,189 Bytes
514343b
4fd42f1
 
 
 
 
 
 
 
 
514343b
843aeb0
 
9983408
 
843aeb0
44264ed
 
88993fe
9983408
418bd7c
 
88993fe
44264ed
e838b9b
 
 
 
 
b3c3404
1716434
b3c3404
418bd7c
b3c3404
20efea7
b3c3404
20efea7
b3c3404
 
 
 
 
e838b9b
 
 
1716434
 
 
 
e838b9b
cd6e5f0
 
 
 
 
e838b9b
88993fe
e838b9b
 
418bd7c
 
 
fee5ced
88993fe
 
c996dc1
fee5ced
 
ea052a5
5241bce
a4967e1
fee5ced
b1d589a
20efea7
68b6bdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

''' To-do

Create a side bar to compare two or upload CSV

In the second tab, allow them to compare all CSV files


'''

import streamlit as st
from transformers import pipeline
from textblob import TextBlob
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity

model = SentenceTransformer('paraphrase-xlm-r-multilingual-v1')

sentences = []
     
# Streamlit interface
      
st.title("Sentence Similarity")

sidebar_selectbox = st.sidebar.selectbox(
    "What would you like to work with?",
    ("Compare two sentences", "Bulk upload and mark")
)

# Streamlit form elements (default to "Compare two sentences")

if sidebar_selectbox == "Compare two sentences":

       st.subheader("Compare the similarity between two sentences")
       
       with st.form("submission_form", clear_on_submit=False):
       
              sentence_1 = st.text_input("Sentence 1 input")
              
              sentence_2 = st.text_input("Sentence 2 input")
              
              submit_button_compare = st.form_submit_button("Compare Sentences")


if sidebar_selectbox == "Bulk upload and mark":

       st.subheader("Bulk compare similarity of sentences")
       
       with st.form("bulk_submission_form", clear_on_submit=False):

              sentence_1 = st.text_input("Sentence 1 input")
              
              sentence_2 = st.text_input("Sentence 2 input")
              
              submit_button_compare = st.form_submit_button("Compare Sentences")


# If submit_button_compare clicked
if submit_button_compare:

       # Perform calculations
       
       # Append input sentences to 'sentences' list
       sentences.append(sentence_1)
       sentences.append(sentence_2)
       
       # Create embeddings for both sentences
       sentence_embeddings = model.encode(sentences)
       
       cos_sim = cosine_similarity(sentence_embeddings[0].reshape(1, -1), sentence_embeddings[1].reshape(1, -1))[0][0]
       cos_sim = round(cos_sim * 100) # Convert to percentage and round-off
      
              
       st.write('Similarity between {} and {} is {}%'.format(sentence_1,
              sentence_2, cos_sim))