Spaces:
Runtime error
Runtime error
Greg Thompson
commited on
Commit
•
71befd1
1
Parent(s):
2051ea9
Update nlu evaluation with basic intent classification using fuzzy comparison
Browse files- app.py +2 -2
- mathtext_fastapi/data/text2int_results.csv +104 -91
- mathtext_fastapi/nlu.py +84 -8
- requirements.txt +3 -1
- scripts/make_request.py +2 -2
app.py
CHANGED
@@ -97,8 +97,8 @@ async def evaluate_user_message_with_nlu_api(request: Request):
|
|
97 |
|
98 |
Output
|
99 |
- int_data_dict or sent_data_dict: dict - the type of NLU run and result
|
100 |
-
{'type':'integer', 'data': '8'}
|
101 |
-
{'type':'sentiment', 'data': 'negative'}
|
102 |
"""
|
103 |
data_dict = await request.json()
|
104 |
message_data = data_dict.get('message_data', '')
|
|
|
97 |
|
98 |
Output
|
99 |
- int_data_dict or sent_data_dict: dict - the type of NLU run and result
|
100 |
+
{'type':'integer', 'data': '8', 'confidence': 0}
|
101 |
+
{'type':'sentiment', 'data': 'negative', 'confidence': 0.99}
|
102 |
"""
|
103 |
data_dict = await request.json()
|
104 |
message_data = data_dict.get('message_data', '')
|
mathtext_fastapi/data/text2int_results.csv
CHANGED
@@ -1,92 +1,105 @@
|
|
1 |
input,output,text2int,score
|
2 |
-
notanumber,32202,32202,True
|
3 |
-
this is not a number,32202,32202,True
|
4 |
-
fourteen,14,14,True
|
5 |
-
forteen,14,14,True
|
6 |
-
one thousand four hundred ninety two,1492,1492,True
|
7 |
-
one thousand ninety two,1092,1092,True
|
8 |
-
Fourteen Hundred Ninety-Two,1492,1492,True
|
9 |
-
Fourteen Hundred,1400,1400,True
|
10 |
-
Ninety nine,99,99,True
|
11 |
-
fifteen thousand five hundred-sixty,15560,15560,True
|
12 |
-
three hundred fifty,350,350,True
|
13 |
-
one nine eight five,1985,1985,True
|
14 |
-
nineteen eighty-five,1985,1605,False
|
15 |
-
oh one,1,1,True
|
16 |
-
six oh 1,601,601,True
|
17 |
-
sex,6,6,True
|
18 |
-
six,6,6,True
|
19 |
-
eight oh,80,8,False
|
20 |
-
eighty,80,80,True
|
21 |
-
ate,8,1,False
|
22 |
-
double eight,88,
|
23 |
-
eight three seven five three O nine,8375309,8375329,False
|
24 |
-
eight three seven five three oh nine,8375309,8375309,True
|
25 |
-
eight three seven five three zero nine,8375309,8375309,True
|
26 |
-
eight three seven five three oh ni-ee-ine,8375309,
|
27 |
-
two eight,28,16,False
|
28 |
-
seven oh eleven,7011,77,False
|
29 |
-
seven elevens,77,77,True
|
30 |
-
seven eleven,711,77,False
|
31 |
-
ninety nine oh five,9905,149,False
|
32 |
-
seven 0 seven 0 seven 0 seven,7070707,7070707,True
|
33 |
-
123 hundred,123000,223,False
|
34 |
-
5 o 5,505,525,False
|
35 |
-
15 o 5,1505,22,False
|
36 |
-
15-o 5,1505,22,False
|
37 |
-
15 o-5,1505,22,False
|
38 |
-
911-thousand,911000,911000,True
|
39 |
-
twenty-two twenty-two,2222,44,False
|
40 |
-
twenty-two twenty-twos,484,44,False
|
41 |
-
four eighty four,484,404,False
|
42 |
-
four eighties,320,72,False
|
43 |
-
four eighties and nine nineties,1130,243,False
|
44 |
-
ninety nine hundred and seventy seven,9977,276,False
|
45 |
-
seven thousands,7000,7000,True
|
46 |
-
2 hundreds,200,200,True
|
47 |
-
99 thousands and one,99001,99001,True
|
48 |
-
"forty-five thousand, seven hundred and nine",45709,1161,False
|
49 |
-
eighty eight hundred eighty,8880,268,False
|
50 |
-
a hundred hundred,10000,
|
51 |
-
a hundred thousand,100000,
|
52 |
-
a hundred million,100000000,
|
53 |
-
nineteen ninety nine,1999,1809,False
|
54 |
-
forteen twenty seven,1427,307,False
|
55 |
-
seventeen-thousand and seventy two,17072,17072,True
|
56 |
-
two hundred and nine,209,209,True
|
57 |
-
two thousand ten,2010,2010,True
|
58 |
-
two thousand and ten,2010,2010,True
|
59 |
-
twelve million,12000000,12000000,True
|
60 |
-
8 billion,8000000000,8000000000,True
|
61 |
-
twenty ten,2010,2010,True
|
62 |
-
thirty-two hundred,3200,3200,True
|
63 |
-
nine,9,9,True
|
64 |
-
forty two,42,42,True
|
65 |
-
1 2 three,123,123,True
|
66 |
-
fourtean,14,14,True
|
67 |
-
one tousand four hundred ninty two,1492,1492,True
|
68 |
-
Furteen Hundrd Ninety-Too,1492,1492,True
|
69 |
-
forrteen,14,14,True
|
70 |
-
sevnteen-thosand and seventy two,17072,17072,True
|
71 |
-
ninety nine hundred ad seventy seven,9977,
|
72 |
-
seven thusands,7000,7000,True
|
73 |
-
2 hunreds,200,200,True
|
74 |
-
99 tousands and one,99001,99001,True
|
75 |
-
eighty ate hundred eighty,8880,261,False
|
76 |
-
fourteen Hundred,1400,1400,True
|
77 |
-
8 Bilion,8000000000,8000000,False
|
78 |
-
one million three thousand one,1003001,1003001,True
|
79 |
-
four million nine thousand seven,4009007,4009007,True
|
80 |
-
two million five hundred thousand,2500000,2001500,False
|
81 |
-
two tousand ten,2010,2010,True
|
82 |
-
two thousand teen,2010,2007,False
|
83 |
-
tvelve milion,12000000,12000000,True
|
84 |
-
tventy ten,2010,2010,True
|
85 |
-
tirty-twoo hunred,3200,3200,True
|
86 |
-
sevn thoosands,7000,7000,True
|
87 |
-
five,5,5,True
|
88 |
-
ten,10,10,True
|
89 |
-
one two three and ten,12310,51,False
|
90 |
-
ONE MILLion three hunded and fiv,1000305,1000305,True
|
91 |
-
"50,500 and six",50506,50506,True
|
92 |
-
one_million_and_five,1000005,1000005,True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
input,output,text2int,score
|
2 |
+
notanumber,32202.0,32202.0,True
|
3 |
+
this is not a number,32202.0,32202.0,True
|
4 |
+
fourteen,14.0,14.0,True
|
5 |
+
forteen,14.0,14.0,True
|
6 |
+
one thousand four hundred ninety two,1492.0,1492.0,True
|
7 |
+
one thousand ninety two,1092.0,1092.0,True
|
8 |
+
Fourteen Hundred Ninety-Two,1492.0,1492.0,True
|
9 |
+
Fourteen Hundred,1400.0,1400.0,True
|
10 |
+
Ninety nine,99.0,99.0,True
|
11 |
+
fifteen thousand five hundred-sixty,15560.0,15560.0,True
|
12 |
+
three hundred fifty,350.0,350.0,True
|
13 |
+
one nine eight five,1985.0,1985.0,True
|
14 |
+
nineteen eighty-five,1985.0,1605.0,False
|
15 |
+
oh one,1.0,1.0,True
|
16 |
+
six oh 1,601.0,601.0,True
|
17 |
+
sex,6.0,6.0,True
|
18 |
+
six,6.0,6.0,True
|
19 |
+
eight oh,80.0,8.0,False
|
20 |
+
eighty,80.0,80.0,True
|
21 |
+
ate,8.0,1.0,False
|
22 |
+
double eight,88.0,8.0,False
|
23 |
+
eight three seven five three O nine,8375309.0,8375329.0,False
|
24 |
+
eight three seven five three oh nine,8375309.0,8375309.0,True
|
25 |
+
eight three seven five three zero nine,8375309.0,8375309.0,True
|
26 |
+
eight three seven five three oh ni-ee-ine,8375309.0,837530619.0,False
|
27 |
+
two eight,28.0,16.0,False
|
28 |
+
seven oh eleven,7011.0,77.0,False
|
29 |
+
seven elevens,77.0,77.0,True
|
30 |
+
seven eleven,711.0,77.0,False
|
31 |
+
ninety nine oh five,9905.0,149.0,False
|
32 |
+
seven 0 seven 0 seven 0 seven,7070707.0,7070707.0,True
|
33 |
+
123 hundred,123000.0,223.0,False
|
34 |
+
5 o 5,505.0,525.0,False
|
35 |
+
15 o 5,1505.0,22.0,False
|
36 |
+
15-o 5,1505.0,22.0,False
|
37 |
+
15 o-5,1505.0,22.0,False
|
38 |
+
911-thousand,911000.0,911000.0,True
|
39 |
+
twenty-two twenty-two,2222.0,44.0,False
|
40 |
+
twenty-two twenty-twos,484.0,44.0,False
|
41 |
+
four eighty four,484.0,404.0,False
|
42 |
+
four eighties,320.0,72.0,False
|
43 |
+
four eighties and nine nineties,1130.0,243.0,False
|
44 |
+
ninety nine hundred and seventy seven,9977.0,276.0,False
|
45 |
+
seven thousands,7000.0,7000.0,True
|
46 |
+
2 hundreds,200.0,200.0,True
|
47 |
+
99 thousands and one,99001.0,99001.0,True
|
48 |
+
"forty-five thousand, seven hundred and nine",45709.0,1161.0,False
|
49 |
+
eighty eight hundred eighty,8880.0,268.0,False
|
50 |
+
a hundred hundred,10000.0,100.0,False
|
51 |
+
a hundred thousand,100000.0,100.0,False
|
52 |
+
a hundred million,100000000.0,100.0,False
|
53 |
+
nineteen ninety nine,1999.0,1809.0,False
|
54 |
+
forteen twenty seven,1427.0,307.0,False
|
55 |
+
seventeen-thousand and seventy two,17072.0,17072.0,True
|
56 |
+
two hundred and nine,209.0,209.0,True
|
57 |
+
two thousand ten,2010.0,2010.0,True
|
58 |
+
two thousand and ten,2010.0,2010.0,True
|
59 |
+
twelve million,12000000.0,12000000.0,True
|
60 |
+
8 billion,8000000000.0,8000000000.0,True
|
61 |
+
twenty ten,2010.0,2010.0,True
|
62 |
+
thirty-two hundred,3200.0,3200.0,True
|
63 |
+
nine,9.0,9.0,True
|
64 |
+
forty two,42.0,42.0,True
|
65 |
+
1 2 three,123.0,123.0,True
|
66 |
+
fourtean,14.0,14.0,True
|
67 |
+
one tousand four hundred ninty two,1492.0,1492.0,True
|
68 |
+
Furteen Hundrd Ninety-Too,1492.0,1492.0,True
|
69 |
+
forrteen,14.0,14.0,True
|
70 |
+
sevnteen-thosand and seventy two,17072.0,17072.0,True
|
71 |
+
ninety nine hundred ad seventy seven,9977.0,90.0,False
|
72 |
+
seven thusands,7000.0,7000.0,True
|
73 |
+
2 hunreds,200.0,200.0,True
|
74 |
+
99 tousands and one,99001.0,99001.0,True
|
75 |
+
eighty ate hundred eighty,8880.0,261.0,False
|
76 |
+
fourteen Hundred,1400.0,1400.0,True
|
77 |
+
8 Bilion,8000000000.0,8000000.0,False
|
78 |
+
one million three thousand one,1003001.0,1003001.0,True
|
79 |
+
four million nine thousand seven,4009007.0,4009007.0,True
|
80 |
+
two million five hundred thousand,2500000.0,2001500.0,False
|
81 |
+
two tousand ten,2010.0,2010.0,True
|
82 |
+
two thousand teen,2010.0,2007.0,False
|
83 |
+
tvelve milion,12000000.0,12000000.0,True
|
84 |
+
tventy ten,2010.0,2010.0,True
|
85 |
+
tirty-twoo hunred,3200.0,3200.0,True
|
86 |
+
sevn thoosands,7000.0,7000.0,True
|
87 |
+
five,5.0,5.0,True
|
88 |
+
ten,10.0,10.0,True
|
89 |
+
one two three and ten,12310.0,51.0,False
|
90 |
+
ONE MILLion three hunded and fiv,1000305.0,1000305.0,True
|
91 |
+
"50,500 and six",50506.0,50506.0,True
|
92 |
+
one_million_and_five,1000005.0,1000005.0,True
|
93 |
+
2.0,2.0,2.0,True
|
94 |
+
4.5,4.5,4.5,True
|
95 |
+
12345.001,12345.001,12345.001,True
|
96 |
+
7..0,7.0,7.0,True
|
97 |
+
0.06,0.06,0.06,True
|
98 |
+
"0,25",0.25,25.0,False
|
99 |
+
o.45,0.45,32202.0,False
|
100 |
+
0.1.2,0.12,32202.0,False
|
101 |
+
0.00009,9e-05,9e-05,True
|
102 |
+
0.01.,0.01,0.01,True
|
103 |
+
I don't know 8,8.0,8.0,True
|
104 |
+
"You're wrong it's not 20, it's 45",45.0,20.0,False
|
105 |
+
I don't understand why it's 19,19.0,19.0,True
|
mathtext_fastapi/nlu.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
from mathtext_fastapi.logging import prepare_message_data_for_logging
|
2 |
from mathtext.sentiment import sentiment
|
3 |
from mathtext.text2int import text2int
|
@@ -8,27 +9,41 @@ def build_nlu_response_object(type, data, confidence):
|
|
8 |
""" Turns nlu results into an object to send back to Turn.io
|
9 |
Inputs
|
10 |
- type: str - the type of nlu run (integer or sentiment-analysis)
|
11 |
-
- data: str - the student message
|
12 |
- confidence: - the nlu confidence score (sentiment) or '' (integer)
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
"""
|
14 |
return {'type': type, 'data': data, 'confidence': confidence}
|
15 |
|
16 |
|
17 |
-
def test_for_float_or_int(message_data, message_text):
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
|
24 |
|
25 |
def test_for_number_sequence(message_text_arr, message_data, message_text):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
nlu_response = {}
|
27 |
if all(ele.isdigit() for ele in message_text_arr):
|
28 |
nlu_response = build_nlu_response_object(
|
29 |
'integer',
|
30 |
','.join(message_text_arr),
|
31 |
-
|
32 |
)
|
33 |
prepare_message_data_for_logging(message_data, nlu_response)
|
34 |
return nlu_response
|
@@ -42,6 +57,9 @@ def run_text2int_on_each_list_item(message_text_arr):
|
|
42 |
|
43 |
Output
|
44 |
- student_response_arr: list - a set of integers (32202 for error code)
|
|
|
|
|
|
|
45 |
"""
|
46 |
student_response_arr = []
|
47 |
for student_response in message_text_arr:
|
@@ -51,12 +69,63 @@ def run_text2int_on_each_list_item(message_text_arr):
|
|
51 |
|
52 |
|
53 |
def run_sentiment_analysis(message_text):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
# TODO: Add intent labelling here
|
55 |
# TODO: Add logic to determine whether intent labeling or sentiment analysis is more appropriate (probably default to intent labeling)
|
56 |
return sentiment(message_text)
|
57 |
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
def evaluate_message_with_nlu(message_data):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
# Keeps system working with two different inputs - full and filtered @event object
|
61 |
try:
|
62 |
message_text = message_data['message_body']
|
@@ -76,6 +145,13 @@ def evaluate_message_with_nlu(message_data):
|
|
76 |
number_api_resp = text2int(message_text.lower())
|
77 |
|
78 |
if number_api_resp == 32202:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
sentiment_api_resp = sentiment(message_text)
|
80 |
nlu_response = build_nlu_response_object(
|
81 |
'sentiment',
|
|
|
1 |
+
from fuzzywuzzy import fuzz
|
2 |
from mathtext_fastapi.logging import prepare_message_data_for_logging
|
3 |
from mathtext.sentiment import sentiment
|
4 |
from mathtext.text2int import text2int
|
|
|
9 |
""" Turns nlu results into an object to send back to Turn.io
|
10 |
Inputs
|
11 |
- type: str - the type of nlu run (integer or sentiment-analysis)
|
12 |
+
- data: str/int - the student message
|
13 |
- confidence: - the nlu confidence score (sentiment) or '' (integer)
|
14 |
+
|
15 |
+
>>> build_nlu_response_object('integer', 8, 0)
|
16 |
+
{'type': 'integer', 'data': 8, 'confidence': 0}
|
17 |
+
|
18 |
+
>>> build_nlu_response_object('sentiment', 'POSITIVE', 0.99)
|
19 |
+
{'type': 'sentiment', 'data': 'POSITIVE', 'confidence': 0.99}
|
20 |
"""
|
21 |
return {'type': type, 'data': data, 'confidence': confidence}
|
22 |
|
23 |
|
24 |
+
# def test_for_float_or_int(message_data, message_text):
|
25 |
+
# nlu_response = {}
|
26 |
+
# if type(message_text) == int or type(message_text) == float:
|
27 |
+
# nlu_response = build_nlu_response_object('integer', message_text, '')
|
28 |
+
# prepare_message_data_for_logging(message_data, nlu_response)
|
29 |
+
# return nlu_response
|
30 |
|
31 |
|
32 |
def test_for_number_sequence(message_text_arr, message_data, message_text):
|
33 |
+
""" Determines if the student's message is a sequence of numbers
|
34 |
+
|
35 |
+
>>> test_for_number_sequence(['1','2','3'], {"author_id": "57787919091", "author_type": "OWNER", "contact_uuid": "df78gsdf78df", "message_body": "I am tired", "message_direction": "inbound", "message_id": "dfgha789789ag9ga", "message_inserted_at": "2023-01-10T02:37:28.487319Z", "message_updated_at": "2023-01-10T02:37:28.487319Z"}, '1, 2, 3')
|
36 |
+
{'type': 'integer', 'data': '1,2,3', 'confidence': 0}
|
37 |
+
|
38 |
+
>>> test_for_number_sequence(['a','b','c'], {"author_id": "57787919091", "author_type": "OWNER", "contact_uuid": "df78gsdf78df", "message_body": "I am tired", "message_direction": "inbound", "message_id": "dfgha789789ag9ga", "message_inserted_at": "2023-01-10T02:37:28.487319Z", "message_updated_at": "2023-01-10T02:37:28.487319Z"}, 'a, b, c')
|
39 |
+
{}
|
40 |
+
"""
|
41 |
nlu_response = {}
|
42 |
if all(ele.isdigit() for ele in message_text_arr):
|
43 |
nlu_response = build_nlu_response_object(
|
44 |
'integer',
|
45 |
','.join(message_text_arr),
|
46 |
+
0
|
47 |
)
|
48 |
prepare_message_data_for_logging(message_data, nlu_response)
|
49 |
return nlu_response
|
|
|
57 |
|
58 |
Output
|
59 |
- student_response_arr: list - a set of integers (32202 for error code)
|
60 |
+
|
61 |
+
>>> run_text2int_on_each_list_item(['1','2','3'])
|
62 |
+
[1, 2, 3]
|
63 |
"""
|
64 |
student_response_arr = []
|
65 |
for student_response in message_text_arr:
|
|
|
69 |
|
70 |
|
71 |
def run_sentiment_analysis(message_text):
|
72 |
+
""" Evaluates the sentiment of a student message
|
73 |
+
|
74 |
+
>>> run_sentiment_analysis("I am tired")
|
75 |
+
[{'label': 'NEGATIVE', 'score': 0.9997807145118713}]
|
76 |
+
|
77 |
+
>>> run_sentiment_analysis("I am full of joy")
|
78 |
+
[{'label': 'POSITIVE', 'score': 0.999882698059082}]
|
79 |
+
"""
|
80 |
# TODO: Add intent labelling here
|
81 |
# TODO: Add logic to determine whether intent labeling or sentiment analysis is more appropriate (probably default to intent labeling)
|
82 |
return sentiment(message_text)
|
83 |
|
84 |
|
85 |
+
def run_intent_classification(message_text):
|
86 |
+
""" Process a student's message using basic fuzzy text comparison
|
87 |
+
|
88 |
+
>>> run_intent_classification("exit")
|
89 |
+
{'type': 'intent', 'data': 'exit', 'confidence': 1.0}
|
90 |
+
>>> run_intent_classification("exi")
|
91 |
+
{'type': 'intent', 'data': 'exit', 'confidence': 0.86}
|
92 |
+
>>> run_intent_classification("eas")
|
93 |
+
{'type': 'intent', 'data': '', 'confidence': 0}
|
94 |
+
>>> run_intent_classification("hard")
|
95 |
+
{'type': 'intent', 'data': '', 'confidence': 0}
|
96 |
+
>>> run_intent_classification("hardier")
|
97 |
+
{'type': 'intent', 'data': 'harder', 'confidence': 0.92}
|
98 |
+
"""
|
99 |
+
label = ''
|
100 |
+
ratio = 0
|
101 |
+
nlu_response = {'type': 'intent', 'data': label, 'confidence': ratio}
|
102 |
+
commands = [
|
103 |
+
'easier',
|
104 |
+
'exit',
|
105 |
+
'harder',
|
106 |
+
'hint',
|
107 |
+
'next'
|
108 |
+
'stop',
|
109 |
+
]
|
110 |
+
|
111 |
+
for command in commands:
|
112 |
+
ratio = fuzz.ratio(command, message_text.lower())
|
113 |
+
if ratio > 80:
|
114 |
+
nlu_response['data'] = command
|
115 |
+
nlu_response['confidence'] = ratio / 100
|
116 |
+
|
117 |
+
return nlu_response
|
118 |
+
|
119 |
+
|
120 |
def evaluate_message_with_nlu(message_data):
|
121 |
+
""" Process a student's message using NLU functions and send the result
|
122 |
+
|
123 |
+
>>> evaluate_message_with_nlu({"author_id": "57787919091", "author_type": "OWNER", "contact_uuid": "df78gsdf78df", "message_body": "8", "message_direction": "inbound", "message_id": "dfgha789789ag9ga", "message_inserted_at": "2023-01-10T02:37:28.487319Z", "message_updated_at": "2023-01-10T02:37:28.487319Z"})
|
124 |
+
{'type': 'integer', 'data': 8, 'confidence': 0}
|
125 |
+
|
126 |
+
>>> evaluate_message_with_nlu({"author_id": "57787919091", "author_type": "OWNER", "contact_uuid": "df78gsdf78df", "message_body": "I am tired", "message_direction": "inbound", "message_id": "dfgha789789ag9ga", "message_inserted_at": "2023-01-10T02:37:28.487319Z", "message_updated_at": "2023-01-10T02:37:28.487319Z"})
|
127 |
+
{'type': 'sentiment', 'data': 'NEGATIVE', 'confidence': 0.9997807145118713}
|
128 |
+
"""
|
129 |
# Keeps system working with two different inputs - full and filtered @event object
|
130 |
try:
|
131 |
message_text = message_data['message_body']
|
|
|
145 |
number_api_resp = text2int(message_text.lower())
|
146 |
|
147 |
if number_api_resp == 32202:
|
148 |
+
print("MESSAGE TEXT")
|
149 |
+
print(message_text)
|
150 |
+
print("============")
|
151 |
+
intent_api_response = run_intent_classification(message_text)
|
152 |
+
if intent_api_response['data']:
|
153 |
+
return intent_api_response
|
154 |
+
|
155 |
sentiment_api_resp = sentiment(message_text)
|
156 |
nlu_response = build_nlu_response_object(
|
157 |
'sentiment',
|
requirements.txt
CHANGED
@@ -1,9 +1,11 @@
|
|
1 |
dill
|
2 |
-
en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.4.1/en_core_web_sm-3.4.1-py3-none-any.whl
|
|
|
3 |
jsonpickle
|
4 |
mathtext @ git+https://gitlab.com/tangibleai/community/mathtext@main
|
5 |
fastapi==0.74.*
|
6 |
pydantic==1.10.*
|
|
|
7 |
requests==2.27.*
|
8 |
sentencepiece==0.1.*
|
9 |
supabase
|
|
|
1 |
dill
|
2 |
+
en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.4.1/en_core_web_sm-3.4.1-py3-none-any.whl
|
3 |
+
fuzzywuzzy
|
4 |
jsonpickle
|
5 |
mathtext @ git+https://gitlab.com/tangibleai/community/mathtext@main
|
6 |
fastapi==0.74.*
|
7 |
pydantic==1.10.*
|
8 |
+
python-Levenshtein
|
9 |
requests==2.27.*
|
10 |
sentencepiece==0.1.*
|
11 |
supabase
|
scripts/make_request.py
CHANGED
@@ -58,8 +58,8 @@ def run_simulated_request(endpoint, sample_answer, context=None):
|
|
58 |
print(request)
|
59 |
|
60 |
|
61 |
-
|
62 |
-
|
63 |
run_simulated_request('nlu', 'test message')
|
64 |
run_simulated_request('nlu', 'eight')
|
65 |
run_simulated_request('nlu', 'is it 8')
|
|
|
58 |
print(request)
|
59 |
|
60 |
|
61 |
+
run_simulated_request('sentiment-analysis', 'I reject it')
|
62 |
+
run_simulated_request('text2int', 'seven thousand nine hundred fifty seven')
|
63 |
run_simulated_request('nlu', 'test message')
|
64 |
run_simulated_request('nlu', 'eight')
|
65 |
run_simulated_request('nlu', 'is it 8')
|