natural language genrator vol 1 #8

Merged
s444409 merged 1 commits from feature/natural_language_genrator into master 2022-06-08 11:51:22 +02:00
5 changed files with 65 additions and 15 deletions

View File

@ -4,4 +4,4 @@ grammar bye;
public <bye> = <words_bye>;
<words_bye> = do widzenia | do zobaczenia | bye;
<words_bye> = do widzenia | do zobaczenia | bye | zegnaj;

View File

@ -0,0 +1,7 @@
#JSGF V1.0 UTF-8 pl;
grammar number;
public <number_zapytanie> = [ostatnich] <liczba> {liczba};
<liczba> = (dwa | dwoch | dwojki | dwojki) | (trzy | trzech | trojki ) | (cztery | czterech) | (piec | pieciu ) | (szesc | szesciu ) | (siedem | siedmiu) | (osiem | osmiu) | (dziewiec | dziewieciu );

View File

@ -0,0 +1,7 @@
#JSGF V1.0 UTF-8 pl;
grammar repo;
public <repo_zapytanie> = <repozytoria> {repozytoria};
<repozytoria> = gra - kolko i krzyzyk | zajęcia ai | projekt - sklep | super_stronka_internetowa | nazwarepozytorium | pizza | zajecia;

View File

@ -44,18 +44,20 @@ def nlu(utterance):
#result = nlu('w czym możesz mi pomóc')
#result = nlu('jakie są nowe pull requesty')
#result = nlu('ile jest nowych pull requestów')
#result = nlu('ile jest nowych pull requestow')
#result = nlu('pokaż mi nowe pow z lipca')
#result = nlu('przedstaw mi nowe issues z trzech miesiecy w Zajęcia AI')
#esult = nlu('siemanko')
#result = nlu('bye')
#result = nlu('siemanko')
#result = nlu('zegnaj')
#result = nlu('pokaż mi testy od lutego w Zajęcia AI')
#result = nlu('wyświetl mi test w sierpniu w Projekt - sklep')
#result = nlu('powiedz co nowego na moim repozytorium Zajęcia AI')
#result = nlu('wyświetl mi trzy nowe powiadomienia w lutym')
#esult = nlu('przedstaw nowe pull requesty')
#result = nlu('przedstaw nowe pull requesty')
#result = nlu('z ostatnich trzech miesiecy')
#result = nlu('ostatnich czterech')
#print(result)

View File

@ -1,25 +1,59 @@
from taktyka_dialogu import Questions
import random
welcome = 'Witaj!'
unknown = "Nie rozumiem."
end = "Żegnaj!"
help = "Obsługuję przekazywanie informacji z systemu GitHub - repozytoria, pull requesty, issue, powiadomienia."
welcome = ['Witaj!',
"Cześć",
"Hello",
"Hej",
"Dzień dobry",
"Hey"]
unknown = ["Nie rozumiem.",
"Ubierz to w inne słowa.",
"Nie wiem co masz na myśli.",
"Powiedz to innymi słowami",
"Powiedz co chciałbyś uzyskać"]
bye = ["Żegnaj!",
"Do zobaczenia",
"Do widzenia",
"Miłego dnia",
"Do widzenia i miłego dnia"
"Narazie"]
help = ["Obsługuję przekazywanie informacji z systemu GitHub - repozytoria, pull requesty, issue, powiadomienia."]
#todo dodać więcej odpowiedzi
time = ["Z jakiego czasu?", "Z jakiego okresu?", "Podaj z jakiego przedziału czasowego"]
repo = ["Z jakiego repozytorium", "Wskaż repozytorium", "Podaj z jakiego repozytorium chciałbyć otrzymać informacje", "Określ repozytorium"]
howmany = ["Ile ostatnich elemntów chcesz zobaczyć?", "Ile ostatnich elmentów wyświetlić?", "Ile ostatnich elemnetów pokazać?"]
#error_time = ["Podano nie prawidłowy czas, popraw ramy czasowe", "Czas jest nie prawidłowy, podaj ponownie", "Podaj przedział czasowy jeszcze raz"]
#error_repo = ["Podano nieprawidłową nazwę repozytorium", "Podaj ponownie nazwę repozytorium, ponieważ podania nie prawidłową"]
#todo generator powinien przyjmować zwrotkę z taktyki dialogu
def generator_jezyka_nautalnego(frame, question, state):
if question != Questions.NONE:
#ask additional questions
if question == Questions.TIME:
print("Z jakiego czasu?")
print(random.choice(time))
if question == Questions.REPO:
print(random.choice(repo))
"""
if question == Questions.HOWMANY:
print(random.choice(howmany))
"""
else:
#dont ask questions
if frame['act'] == "hello":
print(welcome)
print(random.choice(welcome))
elif frame['act'] == "bye":
print(end)
print(random.choice(bye))
elif frame['act'] == "pomoc":
print(help)
print(random.choice(help))
else:
print(unknown)
print(random.choice(unknown))