This commit is contained in:
Bartosz 2021-06-15 09:22:02 +02:00
parent f84d9fc20a
commit 3aa43e2361
2 changed files with 66 additions and 6 deletions

View File

@ -4,12 +4,17 @@ grammar request;
public <wypozyczenie1> = wypożyczenie książki <books> {books}*;
public <wypozyczenie2> = interesuje mnie wypożyczenie <books> {books}*;
public <wypozyczenie3> = chciałbym wypożyczyć <books> {books}*;
public <wypozyczenie4> = chciałbym wypożyczyć <books> {books} <authors> {authors}*;
public <wypozyczenie5> = chciałabym wypożyczyć <books> {books}*;
public <wypozyczenie6> = chciałabym wypożyczyć <books> {books} <authors> {authors}*;
public <wypozyczenie7> = interesuje mnie wypożyczenie <books> {books} <authors> {authors}*;
public <wypozyczenie8> = interesuje mnie wypożyczenie <books> {books}*;
public <wypozyczenie3> = interesuje mnie wypożyczenie książkę <books> {books}*;
public <wypozyczenie4> = chciałbym wypożyczyć <books> {books}*;
public <wypozyczenie5> = chciałbym wypożyczyć <books> {books} <authors> {authors}*;
public <wypozyczenie6> = chciałabym wypożyczyć <books> {books}*;
public <wypozyczenie7> = chciałabym wypożyczyć <books> {books} <authors> {authors}*;
public <wypozyczenie8> = chciałabym wypożyczyć książkę <books> {books}*;
public <wypozyczenie9> = chciałabym wypożyczyć książkę <books> {books} <authors> {authors}*;
public <wypozyczenie10> = interesuje mnie wypożyczenie <books> {books} <authors> {authors}*;
public <wypozyczenie11> = interesuje mnie wypożyczenie <books> {books}*;
public <wypozyczenie12> = interesuje mnie wypożyczenie książkę <books> {books} <authors> {authors}*;
public <wypozyczenie13> = interesuje mnie wypożyczenie książkę <books> {books}*;
public <status1> = Czy książka <books> {books} jest dostępna*;
public <status2> = Czy książka <books> {books} <authors> {authors} jest dostępna*;

55
main.py Normal file
View File

@ -0,0 +1,55 @@
from Modules import NLU
import random
nlu = NLU()
def answer(sentence):
nlu_match = nlu.match(sentence)
act, slots = nlu_match['act'], nlu_match['slots']
if act == 'hello':
return random.choice(['Dzień dobry, witam w interaktywnej bibliotece', 'Witam w interaktywnej biblitece',
'Dzień dobry, w czym mogę pomóc?', 'Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc?'])
if act == 'bye':
return random.choice(['Do zobaczenia', 'Dziękuję i życzę miłej lektury', 'Do widzenia'])
if act == 'request':
if 'wypożyczyć' in sentence or 'interesuje' in sentence or 'wypożyczenie' in sentence:
for slot in slots:
return f'Książka {slot[1]} została dla Ciebie zapisana i czeka na odbiór'
return 'Niestety nie mamy tej książki'
elif 'oddać' in sentence or 'zwrócić' in sentence:
return f'Proszę przynieść książkę/i do naszej biblioteki'
elif 'rezerwacja' in sentence or 'zarezerwować' in sentence or 'rezerwacji' in sentence:
s = 'Książka '
for slot in slots:
s += slot[1] + ' '
if slots:
s+= 'została zarezerwowana'
return s
return 'Nie mamy tej książki, więc nie da się jej zarezerwować'
elif 'biblioteka' in sentence or 'otwarta' in sentence:
return 'Biblioteka jest otwarta od poniedziałku do soboty w godzinach 8-20, bez świąt'
elif 'karta' in sentence or 'biblioteczna' in sentence or 'założyć' in sentence:
return """Założyć kartę biblioteczną można przez naszą stronę www.biblioteka.pl,
karta przyjdzie pocztą a opłata to 5 .
Również można odebrać w naszej bibliotece od poniedziałku do soboty w godzinach 8-20"""
elif 'zgubiłem' in sentece or 'zgubiłam' in sentence or 'zniszczyłam' in sentence or 'zniszczyłem':
return 'W razie zgubienia lub zniszczenia karty należy przyjść do biblioteki w celu jej zablokowania.'
if act == 'thankyou':
return random.choice(['Proszę!', 'Nie ma za co', 'Po to tutaj jestem!'])
if act == 'negate':
return 'Akcja została cofnięta'
if act == 'confirm':
if slots:
if 'wypożyczona' in sentence:
return f'Książka {slots[0][1]} została wypożyczona'
elif 'zarezerwowana' in sentence:
return f'Książka {slots[0][1]} została zarezerwowana'
if act == 'ack':
return random.choice(['W czymś jeszcze mogę pomóc?', 'Co mogę jeszcze zrobić'])
return 'Nie rozumiem pytania lub nie posiadamy takiej książki'
while True:
sentence = input('Wiadomość użytkowniak: ')
print(answer(sentence))