Zadanie z Makietami
This commit is contained in:
parent
072fea1fda
commit
65a0278ea9
72
Makiety.py
Normal file
72
Makiety.py
Normal file
@ -0,0 +1,72 @@
|
||||
"""
|
||||
Przykład
|
||||
user: Cześć, jak masz na imię?
|
||||
system: Witaj, nazywam się Dia.
|
||||
"""
|
||||
|
||||
|
||||
class NLU: #Natural Language Understanding
|
||||
"""
|
||||
Moduł odpowiedzialny za analizę tekstu. W wyniku jego działania tekstowa reprezentacja wypowiedzi użytkownika zostaje zamieniona na jej reprezentację semantyczną, najczęściej w postaci ramy.
|
||||
|
||||
Wejście: Tekst
|
||||
|
||||
Wyjście: Akt użytkownika (rama)
|
||||
"""
|
||||
def Analizuj(self, text):
|
||||
#Analiza Tekstu wprowadzonego przez użytkownika i zamiana na akt (rama)
|
||||
print("Analiza Tekstu: " + text)
|
||||
akt = "(greetings()&request(name))"
|
||||
print("Akt to: " + akt)
|
||||
#przerobienie na wektor
|
||||
rama = [[1],[1,0]] #1 wektor to greetings, a 2 wektor to request z argumentem "name"
|
||||
print("Zamiana na: ")
|
||||
print(rama)
|
||||
|
||||
return rama
|
||||
|
||||
class DST: #Dialogue State Tracker
|
||||
"""
|
||||
Moduł odpowiedzialny za śledzenie stanu dialogu. Przechowuje informacje o tym jakie dane zostały uzyskane od użytkownika w toku prowadzonej konwersacji.
|
||||
|
||||
Wejście: Akt użytkownika (rama)
|
||||
|
||||
Wyjście: Reprezentacja stanu dialogu (rama)
|
||||
"""
|
||||
frame_List= []
|
||||
|
||||
def Przechowuj(self, rama):
|
||||
#Dodanie nowego aktu do listy
|
||||
print("\nDodanie do listy nowej ramy: ")
|
||||
print(rama)
|
||||
self.frame_List.append(rama)
|
||||
|
||||
def Przekaz(self):
|
||||
print("Przekazanie dalej listy ram: ")
|
||||
print(frame_List)
|
||||
return self.frame_list
|
||||
|
||||
class DP:
|
||||
"""
|
||||
Moduł decydujący o wyborze kolejnego aktu, który ma podjąć system prowadząc rozmowę.
|
||||
|
||||
Wejście: Reprezentacja stanu dialogu (rama)
|
||||
|
||||
Wyjście: Akt systemu (rama)
|
||||
"""
|
||||
|
||||
def ObierzTaktyke(self, Frame_List):
|
||||
#Obieranie taktyki na podstawie aktów usera. Bardzo ważna jest kolejność dodawanych do Frame_List wartości.
|
||||
return akt_rama
|
||||
|
||||
class NLG:
|
||||
"""
|
||||
Moduł, który tworzy reprezentację tekstową aktu systemowego wybranego przez taktykę dialogu.
|
||||
|
||||
Wejście: Akt systemu (rama)
|
||||
|
||||
Wyjście: Tekst
|
||||
"""
|
||||
def ChangeToText(self, akt_rama):
|
||||
#Funkcja zamieniająca akt systemu na tekst rozumiany przez użytkownika.
|
||||
return text
|
Loading…
Reference in New Issue
Block a user