2.8 KiB
2.8 KiB
import re
name = 'Marek Suski'
def system(text):
akt_usera = nlu(text)
print(akt_usera)
stan = dst(akt_usera)
print(stan)
akt_systemu = dialogue_policy(stan)
print(akt_systemu)
system_msg = nlg(akt_systemu)
print('System: ' + system_msg)
def nlu(text):
text = text.lower()
x = re.search("[a-z]+ masz na imię?", text)
y = re.search("[a-z]+ się nazywasz?", text)
if x != None or y != None:
akt = 'request(imie)'
return akt
def dst(akt):
if akt == 'request(imie)':
state = 'need imie'
return state
def dialogue_policy(state):
state = state.split()
print('state: ', state)
if state[0] == 'need':
system_act = 'inform' + '(' + state[1] + ')'
return system_act
def nlg(act):
if act == 'inform(imie)':
return name
while True:
user_input = input('Ty:')
system(user_input)
Ty: jak się nazywasz?
request(imie) need imie state: ['need', 'imie'] inform(imie) System: Marek Suski