forked from s151636/Generic_DialogSystem
added evaluate.py file
This commit is contained in:
parent
b27bb2e0f9
commit
c6513b6060
BIN
__pycache__/example_nlu.cpython-310.pyc
Normal file
BIN
__pycache__/example_nlu.cpython-310.pyc
Normal file
Binary file not shown.
43
evaluate.py
Normal file
43
evaluate.py
Normal file
@ -0,0 +1,43 @@
|
||||
import csv
|
||||
import example_nlu as en
|
||||
|
||||
rows = []
|
||||
|
||||
|
||||
def readData():
|
||||
ii = [5, 6, 7, 8]
|
||||
jj = [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
|
||||
kk = [1, 2]
|
||||
|
||||
for i in ii:
|
||||
for j in jj:
|
||||
for k in kk:
|
||||
try:
|
||||
if j < 10:
|
||||
with open(f'./data/dialog-0{i}-0{j}-0{k}.tsv', 'r') as read_obj:
|
||||
csv_reader = csv.reader(read_obj, delimiter='\t')
|
||||
for row in csv_reader:
|
||||
if 'user' in row[0]:
|
||||
rows.append(row[1])
|
||||
else:
|
||||
with open(f'./data/dialog-0{i}-{j}-0{k}.tsv', 'r') as read_obj:
|
||||
csv_reader = csv.reader(read_obj, delimiter='\t')
|
||||
for row in csv_reader:
|
||||
if 'user' in row[0]:
|
||||
rows.append(row[1])
|
||||
except:
|
||||
pass
|
||||
|
||||
if __name__ == "__main__":
|
||||
readData()
|
||||
#l = en.predict('Kup cztery wody')
|
||||
#print(l)
|
||||
|
||||
good = 0
|
||||
|
||||
for r in rows:
|
||||
l = en.predict(str(r))
|
||||
if l != []:
|
||||
good += 1
|
||||
|
||||
print(f'Accuracy: {good/len(rows)*100}%')
|
@ -33,20 +33,21 @@ def nlu(utterance):
|
||||
return {'act': 'null', 'slots': []}
|
||||
|
||||
|
||||
def predict(utterance):
|
||||
utterance = utterance.lower()
|
||||
punctuation = '''!;:/?,.'''
|
||||
|
||||
utterance = 'jakie, napoje gazowane'.lower()
|
||||
|
||||
punctuation = '''!;:/?,.'''
|
||||
|
||||
for i in utterance:
|
||||
if i in punctuation:
|
||||
utterance = utterance.replace(i, "")
|
||||
for i in utterance:
|
||||
if i in punctuation:
|
||||
utterance = utterance.replace(i, "")
|
||||
|
||||
|
||||
matched = book_grammar.find_matching_rules(utterance)
|
||||
matched = book_grammar.find_matching_rules(utterance)
|
||||
nlu(utterance)
|
||||
|
||||
print(matched)
|
||||
try:
|
||||
print(get_dialog_act(matched[0]))
|
||||
except:
|
||||
pass
|
||||
|
||||
nlu(utterance)
|
||||
|
||||
print(get_dialog_act(matched[0]))
|
||||
return matched
|
@ -2,7 +2,7 @@
|
||||
|
||||
grammar zakupyOnline;
|
||||
|
||||
public <command> = [<greeting> {hello}] [<polite>] <commandType>{commandType} <item>{product} [<rest> {rest}] [<bye> {bye}];
|
||||
public <command> = [<greeting> {hello}] [<polite>] <commandType>{commandType} [<item>{product}] [<rest> {rest}] [<bye> {bye}];
|
||||
|
||||
<commandType> = (<buyCommand> | <cartCommand> | <filterCommand> | <questionCommand> | <searchCommand> | <helpCommand> | <accountCommand> | <paymentCommand> | <shippingCommand> | <returnCommand> | <promoCommand> | <storeCommand> | <serviceCommand> | <affOrNegCommand>);
|
||||
|
||||
@ -14,7 +14,7 @@ public <command> = [<greeting> {hello}] [<polite>] <commandType>{commandType} <i
|
||||
|
||||
<greeting> = (dzień dobry | cześć | witaj);
|
||||
|
||||
<bye> = (do widzenia | cześć | pa);
|
||||
<bye> = (do widzenia | cześć | pa | dziekuję);
|
||||
|
||||
<cartCommand> = (dodaj | usuń | edytuj | zaktualizuj | zobacz | anuluj | potwierdź);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user