Merge pull request 'natural language genrator vol 1' (#8) from feature/natural_language_genrator into master

Reviewed-on: #8
This commit is contained in:
Marcin Kostrzewski 2022-06-08 11:51:21 +02:00
commit b8061a5254
5 changed files with 65 additions and 15 deletions

View File

@ -4,4 +4,4 @@ grammar bye;
public <bye> = <words_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('w czym możesz mi pomóc')
#result = nlu('jakie są nowe pull requesty') #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('pokaż mi nowe pow z lipca')
#result = nlu('przedstaw mi nowe issues z trzech miesiecy w Zajęcia AI') #result = nlu('przedstaw mi nowe issues z trzech miesiecy w Zajęcia AI')
#esult = nlu('siemanko') #result = nlu('siemanko')
#result = nlu('bye') #result = nlu('zegnaj')
#result = nlu('pokaż mi testy od lutego w Zajęcia AI') #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') #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) #print(result)

View File

@ -1,25 +1,59 @@
from taktyka_dialogu import Questions from taktyka_dialogu import Questions
import random
welcome = 'Witaj!' welcome = ['Witaj!',
unknown = "Nie rozumiem." "Cześć",
end = "Żegnaj!" "Hello",
help = "Obsługuję przekazywanie informacji z systemu GitHub - repozytoria, pull requesty, issue, powiadomienia." "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 #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 #todo generator powinien przyjmować zwrotkę z taktyki dialogu
def generator_jezyka_nautalnego(frame, question, state): def generator_jezyka_nautalnego(frame, question, state):
if question != Questions.NONE: if question != Questions.NONE:
#ask additional questions #ask additional questions
if question == Questions.TIME: 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: else:
#dont ask questions #dont ask questions
if frame['act'] == "hello": if frame['act'] == "hello":
print(welcome) print(random.choice(welcome))
elif frame['act'] == "bye": elif frame['act'] == "bye":
print(end) print(random.choice(bye))
elif frame['act'] == "pomoc": elif frame['act'] == "pomoc":
print(help) print(random.choice(help))
else: else:
print(unknown) print(random.choice(unknown))