fix dialog-02-01-01.tsv and create evaluate.py

This commit is contained in:
PawelDopierala 2024-04-28 01:30:56 +02:00
parent 9a33831c4c
commit a9cb38f82a
2 changed files with 29 additions and 7 deletions

View File

@ -1,11 +1,11 @@
role value act
system Witam, jestem systemem dialogowym do rezerwowania pokoi hotelowych. W czym mog<6F> Ci pom<6F>c? welcomemsg()
user Potrzebowa<EFBFBD>bym zarezerwowa<77> pok<6F>j hotelowy w Mediolanie na przysz<73>y tydzie<69>, pon-wt, najlepiej blisko dzielnicy san siro inform(date='next week', place='Mediolan', place.nearby='San Siro')
system Dla ilu os<EFBFBD>b ma by<62> pok<6F>j? request(people)
user Dla jednej osoby, koniecznie z <EFBFBD><EFBFBD>kiem dwuosobowym i klimatyzacj<63> inform(people=1, beds.double=1,extra.airConditioning=true)
system W podanym przez Ciebie terminie znalaz<EFBFBD>em 3-gwiazdkowy Hotel Astoria za 280 z<> za noc. W tej cenie s<> zapewnione <20>niadania. W pokoju jest <20><>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<EFBFBD> w odleg<65>o<EFBFBD>ci 200 metr<74>w od San Siro. inform(extra.distance.SanSiro=0.2)
user Jak wygl<EFBFBD>daj<EFBFBD> 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<EFBFBD>kuje to wszystko bye()
user Ok, dziękuje to wszystko bye()

1 role value act
2 system Witam, jestem systemem dialogowym do rezerwowania pokoi hotelowych. W czym mog� Ci pom�c? welcomemsg()
3 user Potrzebowa�bym zarezerwowa� pok�j hotelowy w Mediolanie na przysz�y tydzie�, pon-wt, najlepiej blisko dzielnicy san siro 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')
4 system Dla ilu os�b ma by� pok�j? Dla ilu osób ma być pokój? request(people)
5 user Dla jednej osoby, koniecznie z ��kiem dwuosobowym i klimatyzacj� Dla jednej osoby, koniecznie z łóżkiem dwuosobowym i klimatyzacją inform(people=1, beds.double=1,extra.airConditioning=true)
6 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. 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')
7 user Jak daleko jest on od Stadio San Siro? request(extra.distance.SanSiro)
8 system Hotel znajduje si� w odleg�o�ci 200 metr�w od San Siro. Hotel znajduje się w odległości 200 metrów od San Siro. inform(extra.distance.SanSiro=0.2)
9 user Jak wygl�daj� godziny doby hotelowej w proponowanym hotelu? Jak wyglądają godziny doby hotelowej w proponowanym hotelu? request(extra.check-in, extra.check-out)
10 system Doba hotelowa trwa od 15:00 do 10:00. inform(extra.check-in=15:00, extra=check.out=10:00)
11 user Ok, dzi�kuje to wszystko Ok, dziękuje to wszystko bye()

22
evaluate.py Normal file
View File

@ -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()