ADD: Dialog improvements
This commit is contained in:
parent
b857f69754
commit
d8749b5659
71
main.py
71
main.py
@ -77,6 +77,71 @@ def act_ack() -> str:
|
||||
return random.choice(["W czymś jeszcze mogę pomóc?", "Co mogę jeszcze zrobić"])
|
||||
|
||||
|
||||
def act_inform(sentence: str) -> str:
|
||||
if is_in_sentence(sentence, "dostępna"):
|
||||
return random.choice(
|
||||
[
|
||||
"Wskazana przez Ciebie pozycja niestety nie jest dostępna",
|
||||
"Ksiązką, o którą pytasz jest aktualnie dostępna",
|
||||
]
|
||||
)
|
||||
elif is_in_sentence(sentence, "wydawcy", "wydawca", "wydawnictwo", "wydawnictwa"):
|
||||
return random.choice(
|
||||
[
|
||||
"Książka tego wydawcy jest dostępna",
|
||||
"Książka tego wydawcy nie jest dostępna",
|
||||
"Nie znaleziono wydawcy o tej nazwie",
|
||||
]
|
||||
)
|
||||
elif is_in_sentence(sentence, "autor", "autora", "autorstwa"):
|
||||
return random.choice(
|
||||
[
|
||||
"Książka tego autora nie jest dostępna",
|
||||
"Książki tego autora są dostępne w bibliotece",
|
||||
"Nie znaleziono autora o tym imieniu i nazwisku"
|
||||
]
|
||||
)
|
||||
elif is_in_sentence(sentence, "godziny", "otwarta", "czynna", "otwarcie"):
|
||||
return "Biblioteka jest otwarta w dni robocze w godzinach 8-16"
|
||||
elif is_in_sentence(sentence, "lokalizacja", "lokalicazji", "adres", "ulica", "placówka"):
|
||||
return "Biblioteka znajduje się na ul. Targowej 10 w Poznaniu"
|
||||
elif is_in_sentence(
|
||||
sentence,
|
||||
"dni", "dzień",
|
||||
"niedziela", "niedziele", "niedzielę",
|
||||
"święta", "święto"
|
||||
):
|
||||
return "Biblioteka otwarta jest jedynie w dni robocze. Godziny otwarcia: 8-16"
|
||||
elif is_in_sentence(sentence, "numer telefonu", "kontakt", "numer kontaltowy", "telefon"):
|
||||
return "Numer kontaktowy: 123 456 789"
|
||||
elif is_in_sentence(
|
||||
sentence,
|
||||
"wydarzenie", "wydarzenia",
|
||||
"atrakcja", "atrakcje",
|
||||
"spotkanie", "spotkania"
|
||||
):
|
||||
return random.choice(
|
||||
[
|
||||
"W najbliższy poniedziałek odbędzie się Dzień młodego czytelnika",
|
||||
"Dzień fantastyki trwać będzie przez cały najbliższy weekend",
|
||||
"Dzień promowania czytelnictwa to najbliższe wydarzenie (najbliższa sobota)",
|
||||
"Obecnie nie ma żadnych zaplanowanych wydarzeń",
|
||||
]
|
||||
)
|
||||
return "Niestety nie zrozumiałem? Jakich informacji szukasz?"
|
||||
|
||||
|
||||
def act_affirm() -> str:
|
||||
return random.choice(
|
||||
[
|
||||
"Zgadza się",
|
||||
"Tak",
|
||||
"Tak zgadza się",
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
|
||||
def answer(sentence: str) -> str:
|
||||
nlu_match = nlu.match(sentence)
|
||||
act, slots = nlu_match["act"], nlu_match["slots"]
|
||||
@ -94,9 +159,13 @@ def answer(sentence: str) -> str:
|
||||
return act_confirm(sentence, slots)
|
||||
elif act == "ack":
|
||||
return act_ack()
|
||||
elif act == "inform":
|
||||
return act_inform(sentence)
|
||||
elif act == "affirm":
|
||||
return act_affirm(sentence, slots)
|
||||
return "Nie rozumiem pytania lub nie posiadamy takiej książki"
|
||||
|
||||
|
||||
while True:
|
||||
sentence = input("Wiadomość użytkowniak: ")
|
||||
sentence = input("Wiadomość użytkownika: ")
|
||||
print(answer(sentence))
|
||||
|
Loading…
Reference in New Issue
Block a user