Grammar extension
This commit is contained in:
parent
d1758cfcef
commit
2f91de8a22
11
book.jsgf
11
book.jsgf
@ -6,13 +6,12 @@ public <hello> = <hej_siema> <who_are_you> | witam system | dzien dobry | czesc
|
|||||||
|
|
||||||
public <welcomemsg> = czesc jestem agentem dialogowym przyjmujacym zamowienia w restauracji moge doradzic ci w wyborze odpowiedniej pozycji z menu w czym moge ci pomoc ;
|
public <welcomemsg> = czesc jestem agentem dialogowym przyjmujacym zamowienia w restauracji moge doradzic ci w wyborze odpowiedniej pozycji z menu w czym moge ci pomoc ;
|
||||||
|
|
||||||
public <ack> = potwierdzam | tak | tak potwierdzam | tak to wszystko | to poprosze | super to zatem wszystko | oki | to odbiore ;
|
public <ack> = potwierdzam | tak | tak potwierdzam | tak to wszystko | to poprosze | super to zatem wszystko | oki | to odbiore | wszystko jest ok dziekuje;
|
||||||
|
|
||||||
<hej_siema> = hej | siema | czesc | witam ;
|
<hej_siema> = hej | siema | czesc | witam ;
|
||||||
|
|
||||||
<who_are_you> = w czym mozesz mi pomoc | w czym mi mozesz pomoc | jakim botem jestes | czym sie zajmujesz ;
|
<who_are_you> = w czym mozesz mi pomoc | w czym mi mozesz pomoc | jakim botem jestes | czym sie zajmujesz ;
|
||||||
|
|
||||||
|
|
||||||
public <rezerwuj> = chcialbym zarezerwowac stolik <dzien_rezerwacji> <godzina_rezerwacji> <liczba_osob> ;
|
public <rezerwuj> = chcialbym zarezerwowac stolik <dzien_rezerwacji> <godzina_rezerwacji> <liczba_osob> ;
|
||||||
|
|
||||||
<dzien_rezerwacji> = (na | w) <dzien> {day};
|
<dzien_rezerwacji> = (na | w) <dzien> {day};
|
||||||
@ -30,3 +29,11 @@ public <rezerwuj> = chcialbym zarezerwowac stolik <dzien_rezerwacji> <godzina_re
|
|||||||
<liczba_osob> = (na | dla) <liczba> {size} osob;
|
<liczba_osob> = (na | dla) <liczba> {size} osob;
|
||||||
|
|
||||||
<liczba> = dwie | dwoch | trzy | trzech | cztery | czterech | piec | pieciu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
|
<liczba> = dwie | dwoch | trzy | trzech | cztery | czterech | piec | pieciu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
|
||||||
|
|
||||||
|
public <platnosc> = [zaplace] <metoda_platnosci> {payment_method} | poprosze <metoda_platnosci>;
|
||||||
|
|
||||||
|
<metoda_platnosci> = (karta | gotowka | blikiem) [<miejsce_platnosci>] ;
|
||||||
|
|
||||||
|
<miejsce_platnosci> = (na miejscu | przy odbiorze | z gory);
|
||||||
|
|
||||||
|
public <bye> = (dobrze nie moge sie juz doczekac | do widzenia | dziekuje milego dnia);
|
13
evaluate.py
13
evaluate.py
@ -1,6 +1,15 @@
|
|||||||
import os
|
import os
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
import jsgf
|
import jsgf
|
||||||
|
from unidecode import unidecode
|
||||||
|
import string
|
||||||
|
|
||||||
|
|
||||||
|
def decode_prompt(prompt):
|
||||||
|
prompt_decoded = unidecode(prompt)
|
||||||
|
translator = str.maketrans('', '', string.punctuation)
|
||||||
|
prompt_decoded = prompt_decoded.translate(translator)
|
||||||
|
return prompt_decoded
|
||||||
|
|
||||||
grammar = jsgf.parse_grammar_file('book.jsgf')
|
grammar = jsgf.parse_grammar_file('book.jsgf')
|
||||||
data_files = []
|
data_files = []
|
||||||
@ -23,8 +32,10 @@ for df in data_files:
|
|||||||
user_speech_rows = df[df['agent'] == "user"]
|
user_speech_rows = df[df['agent'] == "user"]
|
||||||
user_speeches = user_speech_rows["message"]
|
user_speeches = user_speech_rows["message"]
|
||||||
entries_count = len(user_speeches)
|
entries_count = len(user_speeches)
|
||||||
|
|
||||||
|
|
||||||
parsed = user_speeches.apply(
|
parsed = user_speeches.apply(
|
||||||
lambda x: bool(grammar.find_matching_rules(x)))
|
lambda x: bool(grammar.find_matching_rules(decode_prompt(x))))
|
||||||
true_count = parsed.sum()
|
true_count = parsed.sum()
|
||||||
false_count = len(parsed) - true_count
|
false_count = len(parsed) - true_count
|
||||||
recognized += true_count
|
recognized += true_count
|
||||||
|
Loading…
Reference in New Issue
Block a user