From a9cb38f82aa0f02337874129fa3cdfe66057cd58 Mon Sep 17 00:00:00 2001 From: PawelDopierala Date: Sun, 28 Apr 2024 01:30:56 +0200 Subject: [PATCH] fix dialog-02-01-01.tsv and create evaluate.py --- data/dialog-02-01-01.tsv | 14 +++++++------- evaluate.py | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 evaluate.py diff --git a/data/dialog-02-01-01.tsv b/data/dialog-02-01-01.tsv index 698e229..febe19e 100644 --- a/data/dialog-02-01-01.tsv +++ b/data/dialog-02-01-01.tsv @@ -1,11 +1,11 @@ role value act system Witam, jestem systemem dialogowym do rezerwowania pokoi hotelowych. W czym mog� Ci pom�c? welcomemsg() -user Potrzebowa�bym zarezerwowa� pok�j hotelowy w Mediolanie na przysz�y tydzie�, pon-wt, najlepiej blisko dzielnicy san siro inform(date='next week', place='Mediolan', place.nearby='San Siro') -system Dla ilu os�b ma by� pok�j? request(people) -user Dla jednej osoby, koniecznie z ��kiem dwuosobowym i klimatyzacj� inform(people=1, beds.double=1,extra.airConditioning=true) -system W podanym przez Ciebie terminie znalaz�em 3-gwiazdkowy Hotel Astoria za 280 z� za noc. W tej cenie s� zapewnione �niadania. W pokoju jest ��ko 2-osobowe i klimatyzacja. inform(price=280, stars=3,extra.breakfastIncluded=true, extra.airConditioning=true, beds.double=2)&offer(hotel='Hotel Astoria') +user Potrzebowałbym zarezerwować pokój hotelowy w Mediolanie na przyszły tydzień, pon-wt, najlepiej blisko dzielnicy san siro inform(date='next week', place='Mediolan', place.nearby='San Siro') +system Dla ilu osób ma być pokój? request(people) +user Dla jednej osoby, koniecznie z łóżkiem dwuosobowym i klimatyzacją inform(people=1, beds.double=1,extra.airConditioning=true) +system W podanym przez Ciebie terminie znalazłem 3-gwiazdkowy Hotel Astoria za 280 zł za noc. W tej cenie są zapewnione śniadania. W pokoju jest łóżko 2-osobowe i klimatyzacja. inform(price=280, stars=3,extra.breakfastIncluded=true, extra.airConditioning=true, beds.double=2)&offer(hotel='Hotel Astoria') user Jak daleko jest on od Stadio San Siro? request(extra.distance.SanSiro) -system Hotel znajduje si� w odleg�o�ci 200 metr�w od San Siro. inform(extra.distance.SanSiro=0.2) -user Jak wygl�daj� godziny doby hotelowej w proponowanym hotelu? request(extra.check-in, extra.check-out) +system Hotel znajduje się w odległości 200 metrów od San Siro. inform(extra.distance.SanSiro=0.2) +user Jak wyglądają godziny doby hotelowej w proponowanym hotelu? request(extra.check-in, extra.check-out) system Doba hotelowa trwa od 15:00 do 10:00. inform(extra.check-in=15:00, extra=check.out=10:00) -user Ok, dzi�kuje to wszystko bye() +user Ok, dziękuje to wszystko bye() diff --git a/evaluate.py b/evaluate.py new file mode 100644 index 0000000..41afdc0 --- /dev/null +++ b/evaluate.py @@ -0,0 +1,22 @@ +import os +import pandas as pd +from NaturalLanguageAnalyzer import NaturalLanguageAnalyzer + +data_directory = 'data' + +file_list = os.listdir(data_directory) +dfs = [] +for file_name in file_list: + file_path = os.path.join(data_directory, file_name) + df = pd.read_csv(file_path, sep='\t', encoding='utf-8') + df_user = df[df['role'] == 'user'].drop('role', axis=1) + dfs.append(df_user) + +combined_df = pd.concat(dfs, ignore_index=True) + +for text, act in zip(combined_df["value"].values, combined_df["act"].values): + nla = NaturalLanguageAnalyzer() + user_act = nla.process(text) + print(user_act) + print(act) + print()