nlg data
This commit is contained in:
parent
47dcf1fcae
commit
471ad1809b
20629
nlg_data.csv
Normal file
20629
nlg_data.csv
Normal file
File diff suppressed because it is too large
Load Diff
111
nlg_data_generator.py
Normal file
111
nlg_data_generator.py
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
import pandas as pd
|
||||||
|
import random
|
||||||
|
|
||||||
|
|
||||||
|
addresses = ["ulica Zielona 15", "ulica Czerwona 20", "ulica Niebieska 30", "ulica Biala 5", "ulica Czarna 10", "ulica Fioletowa 25", "ulica Pomaranczowa 35", "ulica Zolta 40", "ulica Rozowa 45", "ulica Szara 50", "ulica Brzowa 55", "ulica Srebrna 60", "ulica Zlota 65", "ulica Platynowa 70", "ulica Miedziana 75", "ulica Niklowa 80", "ulica Aluminium 85", "ulica Stalowa 90", "ulica Zelazna 95", "ulica Miedziana 100"]
|
||||||
|
payment_methods = ["karta kredytowa", "gotowka", "blik", "przelew", "google pay"]
|
||||||
|
dishes = ["spaghetti", "pierogi", "schabowy", "pizza", "burger", "tatar", "poledwica", "tiramisu", "zrazy", "pyzy", "placki", "makaron", "zupa", "ryba", "cole", "tiramisu", "zupa grzybowa", "stek", "soki", "napoj"]
|
||||||
|
times = ["8:00", "12:00", "18:00", "20:00", "10:00", "dziesiata", "dziewiata", "osma", "siodma", "szosta", "czwarta", "trzecia", "druga", "pierwsza", "poludnie", "polnoc", "wschod", "zachod", "poludniowy wschod", "poludniowy zachod", "polnocny wschod", "polnocny zachod", "rano", "wieczor", "noc", "popoludnie", "przedpoludnie", "po poludniu", "po polnocy", "przed polnoca", "przed poludniem"]
|
||||||
|
portion_sizes = ["mala", "srednia", "duza", "gigantyczna", "mini"]
|
||||||
|
price = ["10", "50", "100", "150", "tanio", "drogo"]
|
||||||
|
ingredient = ["mieso", "mleko", "jajka", "maka", "cukier", "sol", "pieprz", "oliwa", "maslo", "ser", "warzywa", "owoce", "ryz", "makaron", "zupa", "ryba", "sos", "przyprawy", "soki", "napoje", "alkohol", "kawa", "herbata", "deser", "ciasto", "chleb", "pasta", "sos", "danie", "potrawa", "zupa", "salatka", "kanapka", "tost", "jajecznica", "omlet", "placki", "pierogi", "schabowy", "kotlet", "kotlet schabowy", "kotlet mielony", "kotlet z kurczaka", "kotlet z indyka", "kotlet z ryby", "kotlet z warzyw", "kotlet ziemniaczany", "kotlet z kaszy", "kotlet z makaronu", "kotlet z ziemniakow", "kotlet z ryzu"]
|
||||||
|
allergy = ["gluten", "laktoza", "jajka", "orzechy", "soja", "ryby", "skorupiaki", "mleko", "seler", "gorczyca", "sezam", "siarczyny", "lubin", "migdaly", "orzechy laskowe", "orzechy wloskie", "orzechy nerkowca", "orzechy ziemne", "orzechy brazylijskie", "orzechy makadamia", "orzechy pecan", "orzechy pistacjowe", "orzechy kasztanowe", "orzechy pinii", "orzechy arachidowe", "orzechy ziemne", "orzechy brazylijskie", "orzechy makadamia", "orzechy pecan", "orzechy pistacjowe", "orzechy kasztanowe", "orzechy pinii", "orzechy arachidowe", "orzechy ziemne", "orzechy brazylijskie", "orzechy makadamia", "orzechy pecan"]
|
||||||
|
|
||||||
|
def create_ref(slot, value):
|
||||||
|
ref_templates = {
|
||||||
|
"address": [
|
||||||
|
f"Zamowienie zostanie dostarczone na {value}.",
|
||||||
|
f"Niestety nie dostarczamy na {value}.",
|
||||||
|
f"Oczywiscie, dostarczymy na {value}.",
|
||||||
|
f"Dostawa mozliwa na {value}.",
|
||||||
|
f"Nie dostarczamy na {value}."
|
||||||
|
],
|
||||||
|
"payment_method": [
|
||||||
|
f"Akceptujemy platnosc {value}.",
|
||||||
|
f"Nie akceptujemy platnosci {value}.",
|
||||||
|
f"Mozesz placic {value}.",
|
||||||
|
f"Platnosc {value} jest mozliwa.",
|
||||||
|
f"Nie obslugujemy platnosci {value}."
|
||||||
|
],
|
||||||
|
"dish": [
|
||||||
|
f"Specjalnoscia jest {value}.",
|
||||||
|
f"Nie mamy w ofercie {value}.",
|
||||||
|
f"Zapraszamy na {value}.",
|
||||||
|
f"{value} jest dostepne.",
|
||||||
|
f"Nie mamy {value} w menu."
|
||||||
|
],
|
||||||
|
"time": [
|
||||||
|
f"Godzina otwarcia to {value}.",
|
||||||
|
f"Nieczynne o {value}.",
|
||||||
|
f"Zapraszamy o {value}.",
|
||||||
|
f"Otwarte od {value}.",
|
||||||
|
f"Zamkniete o {value}."
|
||||||
|
],
|
||||||
|
"portion_size": [
|
||||||
|
f"Dostepne porcje: {value}.",
|
||||||
|
f"Brak porcji {value}.",
|
||||||
|
f"Dostepne porcje: {value}.",
|
||||||
|
f"Porcja {value} jest dostepna.",
|
||||||
|
f"Nie mamy porcji {value}."
|
||||||
|
],
|
||||||
|
"price": [
|
||||||
|
f"Cena to {value}.",
|
||||||
|
f"Nie mamy ceny {value}.",
|
||||||
|
f"Mozesz kupic za {value}.",
|
||||||
|
f"Cena wynosi {value}.",
|
||||||
|
],
|
||||||
|
"ingredient": [
|
||||||
|
f"Składnik to {value}.",
|
||||||
|
f"Nie mamy składnika {value}.",
|
||||||
|
f"Zawiera {value}.",
|
||||||
|
f"Składnik {value} jest dostępny.",
|
||||||
|
],
|
||||||
|
"allergy": [
|
||||||
|
f"Zawiera alergen {value}.",
|
||||||
|
f"Nie zawiera alergenu {value}.",
|
||||||
|
f"Ostrzeżenie: alergen {value}.",
|
||||||
|
f"Produkt wolny od alergenu {value}.",
|
||||||
|
f"Nie mamy informacji o alergenie {value}."
|
||||||
|
]
|
||||||
|
}
|
||||||
|
return ref_templates[slot]
|
||||||
|
|
||||||
|
slots_data = {
|
||||||
|
"address": addresses,
|
||||||
|
"payment_method": payment_methods,
|
||||||
|
"dish": dishes,
|
||||||
|
"time": times,
|
||||||
|
"portion_size": portion_sizes,
|
||||||
|
"price": price,
|
||||||
|
"ingredient": ingredient,
|
||||||
|
"allergy": allergy
|
||||||
|
}
|
||||||
|
|
||||||
|
data = []
|
||||||
|
|
||||||
|
def remove_duplicates(list_of_dicts):
|
||||||
|
list_of_tuples = [tuple(sorted(d.items())) for d in list_of_dicts]
|
||||||
|
unique_tuples = set(list_of_tuples)
|
||||||
|
unique_dicts = [dict(t) for t in unique_tuples]
|
||||||
|
|
||||||
|
return unique_dicts
|
||||||
|
|
||||||
|
def generate_sample(num_slots):
|
||||||
|
selected_slots = random.sample(slots_data.keys(), num_slots)
|
||||||
|
mr_list = []
|
||||||
|
ref_list = []
|
||||||
|
for slot in selected_slots:
|
||||||
|
value = random.choice(slots_data[slot])
|
||||||
|
mr_list.append(f"{slot}[{value}]")
|
||||||
|
ref_list.append(random.choice(create_ref(slot, value)))
|
||||||
|
if len(mr_list) == 1:
|
||||||
|
return {"mr": repr(mr_list[0]), "ref": ref_list[0]}
|
||||||
|
else:
|
||||||
|
return {"mr": ", ".join(mr_list), "ref": " ".join(ref_list)}
|
||||||
|
|
||||||
|
for num_slots in range(0, 6):
|
||||||
|
for _ in range(5000):
|
||||||
|
data.append(generate_sample(num_slots))
|
||||||
|
|
||||||
|
df = pd.DataFrame(remove_duplicates(data))
|
||||||
|
df.to_csv('nlg_data.csv', index=False)
|
256
nlg_train.ipynb
Normal file
256
nlg_train.ipynb
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user