-
Notifications
You must be signed in to change notification settings - Fork 5
/
test_nlu.py
37 lines (27 loc) · 963 Bytes
/
test_nlu.py
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
import logging
import re
import pprint
from nlu import NaturalLanguageUnderstander
from nlu.messages import YesNoMessage, SearchMessage, SystemMessage
from itertools import islice
LIMIT = 4 # How many messages to test
def main():
logger = logging.getLogger()
confidence_threshold = .5
nlu = NaturalLanguageUnderstander(confidence_threshold, logger)
# Register the NLU messages we want
nlu.register_message(YesNoMessage)
nlu.register_message(SearchMessage)
nlu.register_message(SystemMessage)
fil = open('INGREDIENTS.txt', 'r')
# Skip comments and empty lines
input_messages = (l.strip() for l in fil if not re.search('^\s*($|#)', l))
for line in islice(input_messages, 0, LIMIT):
messages = nlu.parse_input(line)
print line
for message in messages:
print message.__class__
print pprint.pformat(message.frame)
print
if __name__ == '__main__':
main()