@@ -98,13 +98,14 @@ def response_compare(self, input_string, intent_class):
98
98
99
99
word_list = new_list
100
100
word_list_2 = new_bag
101
+ overall_word_list = word_list + word_list_2
101
102
102
103
for word in word_list_2 :
103
104
if word in word_list :
104
- similarity += 1 / ( len ( word_list ) + len ( word_list_2 ))
105
+ similarity += 1
105
106
106
107
if similarity > highest_similarity :
107
- similarity_percentage = similarity * 100
108
+ similarity_percentage = similarity / ( len ( overall_word_list ) + len ( word_list_2 ))
108
109
highest_similarity = similarity
109
110
most_similar_response = response
110
111
@@ -146,46 +147,3 @@ def stem_list(self, input_list):
146
147
stemmed_words .append (stemmed_word )
147
148
148
149
return stemmed_words
149
-
150
- def output_compare (self , output ):
151
- highest_similarity = 0
152
- most_similar_pattern = None
153
- similarity_percentage = 0
154
-
155
- for intent_class in self .intents ["intents" ]:
156
- overall_word_list = []
157
- similarity = 0
158
-
159
- for pattern in intent_class ["patterns" ]:
160
- word_list = []
161
- pattern_lower = pattern .lower ()
162
- word_list = self .transform (pattern_lower )
163
- overall_word_list .append (word_list )
164
- new_list = []
165
- new_bag = []
166
-
167
- for word in word_list :
168
- new_list .append (word )
169
-
170
- word_list_2 = output
171
- for word in word_list_2 :
172
- new_bag .append (word )
173
-
174
- word_list = new_list
175
- word_list_2 = new_bag
176
-
177
- for word in word_list_2 :
178
- if word in word_list :
179
- similarity += 1
180
-
181
- if similarity > highest_similarity :
182
- similarity_percentage = similarity / (len (overall_word_list ) + len (word_list_2 ))
183
- highest_similarity = similarity
184
- most_similar_pattern = intent_class
185
-
186
- print (f"Similarity: { similarity_percentage :.2%} " )
187
-
188
- if most_similar_pattern :
189
- return most_similar_pattern
190
- else :
191
- raise ValueError ("No matching intent class found." )
0 commit comments