import nltk from nltk.stem.snowball import GermanStemmer # import timeit stemmer = GermanStemmer() from nltk.corpus import stopwords import numpy as np import random import os import inspect import tensorflow as tf import tflearn import re import string import fnmatch import os import re import requests from bs4 import BeautifulSoup tf.compat.v1.reset_default_graph() ##print('Ich bin in knn_ae!!!!!!!') import pickle import json import fnmatch import os import inspect def getJsonPath(): path1 = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) path = os.path.join(path1, 'models/chat.json').replace("\\", "/") return path def getJsonPathEnt(): path1 = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) path = os.path.join(path1, 'models/chat.json').replace("\\", "/") return path #########lade json################## with open(getJsonPath(), encoding='UTF-8') as json_data: dialogflow = json.load(json_data) # ##print(dialogflow) ##########Schreibfehler Korrektur from spellchecker import SpellChecker spell = SpellChecker(language='de') spell.word_frequency.load_words \ (["feedback_positiv", '!', '2', 'ab', 'abend', 'abgeben', 'abkürzung', 'adresse', 'adresse_infoorte', 'aktiv', 'alles', 'alt', 'amt', 'an', 'and', 'anmelden', 'ansprechen', 'ansprechpartner', 'antworten', 'are', 'arsch', 'arschgesicht', 'arschloch', 'auf', 'ausfüllen', 'bald', 'beantragen', 'bearbeitungsdauer', 'bedeutet', 'behörde', 'bei', 'bekacktes', 'bekomme', 'bescheid', 'bestellen', 'bezahlen', 'bis', 'bitch', 'blödian', 'brauche', 'brauchen', 'braucht', 'bye', 'ciao', 'dafür', 'dahin', 'dank', 'danke', 'darf', 'das', 'datum', 'dauert', 'dein', 'deine', 'dich', 'dir', 'du', 'e-mail', 'einreichen', 'einsehen', 'email', 'erfüllen', 'erreichbar', 'erreichbarkeit', 'erreichen', 'erzähl', 'erzähle', 'euro', 'existiert', 'fahrerlaubnis', 'fertig', 'fick', 'finde', 'flachzange', 'formulare', 'fotze', 'fragen', 'fresse', 'frida', 'frist', 'fristen', 'fuck', 'führerschein', 'führerscheinantrag', 'führerscheinklasse', 'für', 'geben', 'geboren', 'geburtstag', 'gebühr', 'gehen', 'geholfen', 'geht', 'gehts', 'gelten', 'genehmigung', 'geprüft', 'gesetz', 'gesetzliche', 'gesichtselfmeter', 'geöffnet', 'gibst', 'gibt', 'gott', 'grund', 'grüss', 'grüß', 'gut', 'guten', 'götter', 'göttinnen', 'hallo', 'halt', 'hast', 'hat', 'heißt', 'hello', 'heute', 'hey', 'hi', 'hilfe', 'hilfreich', 'hinblättern', 'hingehen', 'hoch', 'how', 'hurensohn', 'hürden', 'iban', 'ich', 'idiot', 'ihnen', 'ihre', 'in', 'info', 'informationen', 'infos', 'innerhalb', 'internet', 'irgendwas', 'ist', 'jemand', 'jemanden', 'joke', 'kackwurst', 'kann', 'kannst', 'kennst', 'klar', 'kommen', 'kopie', 'kosten', 'kostenlos', 'kostet', 'kriege', 'lang', 'lange', 'leben', 'locker', 'loser', 'lustiges', 'läuft', 'machst', 'macht', 'mal', 'maul', 'mehr', 'melden', 'mitbringen', 'morgen', 'muss', 'münzt', 'müssen', 'nach', 'nachweis', 'name', 'nicht', 'off', 'offen', 'online', 'onlineformular', 'opfer', 'original', 'papiere', 'paragraphen', 'passiert', 'penner', 'personalausweis', 'persönlich', 'privatklage', 'rathaus', 'rauszufinden', 'rechtlich', 'rechtsgrundlage', 'reicht', 'reisepass', 'rund', 'sagt', 'sbw_preamble', 'schauen', 'scheiße', 'schnell', 'schon', 'seelenloser', 'seelsorge', 'seit', 'selbstmord', 'servus', 'sex', 'sichtbar', 'sie', 'spreche', 'sprechen', 'spricht', 'spät', 'steht', 'stelle', 'stellt', 'sterben', 'suizid', 'tag', 'telefon', 'telefonnumer', 'telefonseelsorge', 'teuer', 'toll', 'tschüss', 'tun', 'uhr', 'uhrzeit', 'uhrzeiten', 'umbringen', 'ummelden', 'unterlagen', 'verabschiede', 'verfahren', 'verfahrensablauf', 'verordnung', 'viele', 'vielen', 'vollidiot', 'voraussetzungen', 'vorbeikommen', 'vorzeigen', 'wann', 'warten', 'warum', 'was', 'weit', 'weißt', 'welche', 'welches', 'wellche', 'wem', 'wen', 'wenden', 'wer', 'wichser', 'wie', 'wiedersehen', 'wieviel', 'wissen', 'witz', 'witze', 'wo', 'wochen', 'wofür', 'woher', 'you', 'zeig', 'zeit', 'zimmer', 'zu', 'zuständig', 'zuständige', 'öffnet', 'öffnungszeiten', '17', '18', 'a', 'ab', 'abgenommen', 'abhanden', 'alten', 'and', 'anhängerführerschein', 'auffindbar', 'ausland', 'ausländischer', 'b96', 'be', 'beantragen', 'befristet', 'befristeter', 'beförderung', 'begleitetes', 'begleitung', 'bekommen', 'bf', 'bf17', 'bus', 'c', 'ce', 'deutscher', 'einkassiert', 'entziehung', 'entzogen', 'entzug', 'erlaubnis', 'ersatz', 'ersatzführerschein', 'ersterteilung', 'erweitern', 'erweiterung', 'eu', 'eu-führerschein', 'fahren', 'fahrerlaubnis', 'fahrerlaubnisentzug', 'fahrgastbeförderung', 'finde', 'führerschein', 'führerscheinentzug', 'führerscheinerweiterung', 'führerscheinklasse', 'führerscheintausch', 'führerscheinumtausch', 'führerscheinverlust', 'führerscheinverlängerung', 'gefunden', 'gekommen', 'geändert', 'heirat', 'international', 'internationaler', 'jahren', 'jugendliche', 'karte', 'kartenführerschein', 'klasse', 'lappen', 'mehr', 'minderjährig', 'nachname', 'name', 'namen', 'namensänderung', 'neuer', 'neuerteilung', 'nicht', 'personen', 'personenbeförderung', 'pflichtumtausch', 'scheidung', 'tauschen', 'taxi', 'taxischein', 'umtausch', 'umtauschen', 'verloren', 'verlust', 'verlängern', 'verlängerung', 'wechseln', 'weit', 'wiedererteilung', 'ändern', 'änderung', 'öpnv', 'ab', 'abgelaufen', 'abhanden', 'ablauf', 'ablaufen', 'abzumelden', 'adresse', 'adressen', 'afrika', 'amerika', 'and', 'anschrift', 'anschriftes', 'anschrifts', 'ansprechpartner', 'anzumelden', 'argentinien', 'asien', 'auflösen', 'ausgelaufen', 'aushändigung', 'auskunft', 'ausrauben', 'australien', 'außerhalb', 'bearbeitung', 'bearbeitungsdauer', 'bedingung', 'bedingungen', 'beendet', 'belgien', 'bescheid', 'bezahlen', 'brasilien', 'bulgarien', 'bürgerbüro', 'china', 'dauer', 'dauern', 'dauert', 'deutschland', 'doppelname', 'drillinge', 'dänemark', 'ehe', 'ehename', 'ehenamen', 'einsegnen', 'ersetzen', 'erstmalig', 'estland', 'eu', 'europa', 'europäische', 'fahrausweis', 'fahrberechtigung', 'fahrerlaubnis', 'fahrerlaubnisbehörde', 'familienname', 'fingerabdruck', 'finnland', 'format', 'frankreich', 'frist', 'fristen', 'futschikato', 'führerschein', 'führerscheinbehörde', 'führerscheinstelle', 'führerschien', 'geburtsname', 'gebühr', 'gebühren', 'geheiratet', 'geklaut', 'geschieden', 'gesetz', 'gesetze', 'gesetzliche', 'gestohlen', 'getraut', 'getrennt', 'gewechselt', 'geändert', 'griechenland', 'grund', 'heirat', 'heiraten', 'hinblätern', 'hochzeit', 'hürden', 'indonesien', 'irland', 'italien', 'japan', 'jugendlich', 'kanada', 'kaputt', 'kind', 'kinder', 'kleinkind', 'kopie', 'kosten', 'kostenlos', 'kostet', 'kroatien', 'kuba', 'land', 'lange', 'lebensgemeinschaft', 'lebenspartnerschaft', 'lettland', 'liegen', 'litauen', 'luxemburg', 'läuft', 'malta', 'marokko', 'mexiko', 'motorradführerschein', 'mädchenname', 'münzt', 'nachame', 'nachname', 'nachnamen', 'nachnamens', 'nachweis', 'name', 'namen', 'namenswechsel', 'namensänderung', 'neuseeland', 'nicht', 'nichtgültig', 'nichtmehrgültig', 'nichtmehrverheiratet', 'nichtmehrzusammen', 'nichtverheiratet', 'nichtzusammen', 'niederlande', 'nordamerika', 'original', 'paragraph', 'paragraphen', 'polen', 'portugal', 'rechtlich', 'rechtsgrundlage', 'rechtsgrundlagev', 'rumänien', 'russland', 'scheiden', 'scheidung', 'schweden', 'schwinden', 'slowakei', 'slowenien', 'sohn', 'spanien', 'staaten', 'stehlen', 'stelle', 'südafrika', 'südamerika', 'teuer', 'thailand', 'tochter', 'trauen', 'trauung', 'trennen', 'tschechien', 'tunesien', 'turkei', 'ukraine', 'umzumelden', 'unauffindbar', 'ungarn', 'ungütlig', 'union', 'unterlagen', 'usa', 'veraltet', 'verehelichen', 'vereinigte', 'verfahren', 'verfahrens', 'verfahrensablauf', 'verfallen', 'verjährt', 'verlaufen', 'verlegt', 'verlieren', 'verloben', 'verlobt', 'verloren', 'verlust', 'verlängern', 'verläuft', 'vermisst', 'vermählen', 'verordnung', 'verordnungen', 'verschollen', 'verstorben', 'versunken', 'vietnam', 'voraussetzung', 'voraussetzungen', 'vorschrift', 'vorschriften', 'warten', 'wechseln', 'wegkommen', 'weit', 'wenden', 'wiederholt', 'wohnungsadresse', 'zahlen', 'zuständig', 'zuständige', 'zuständigkeit', 'zwillinge', 'zypern', 'ägypten', 'ändern', 'änderung', 'österreich', 'ablauf', 'and', 'anrufen', 'ansprechpartner', 'ausfüllen', 'aushändigung', 'auskunft', 'bearbeitung', 'bearbeitungsdauer', 'bedingung', 'bedingungen', 'behörde', 'belegen', 'bescheid', 'bezahlen', 'dauer', 'dauern', 'dauert', 'einsehen', 'erfüllen', 'erfüllt', 'fingerabdruck', 'format', 'formulare', 'frist', 'fristen', 'funktion', 'funktionen', 'gebühr', 'gebühren', 'gesetz', 'gesetze', 'gesetzliche', 'grund', 'hinblätern', 'hürden', 'kollege', 'kopie', 'kosten', 'kostenlos', 'kostet', 'kriterien', 'mitbringen', 'münzt', 'nachweis', 'nicht', 'online', 'original', 'paragraph', 'paragraphen', 'persönlich', 'rechtlich', 'rechtsgrundlage', 'rechtsgrundlagev', 'spätestens', 'teuer', 'unterlagen', 'verfahren', 'verfahrens', 'verfahrensablauf', 'verlaufen', 'verläuft', 'verordnung', 'verordnungen', 'voraussetzung', 'voraussetzungen', 'vorschrift', 'vorschriften', 'vorzeigen', 'weit', 'wenden', 'zahlen', 'zeit', 'zeitpunkt', 'zuständig', 'zuständigkeit', 'sbw_oeffnungszeiten_6008813', 'sbw_oeffnungszeiten_348', 'sbw_oeffnungszeiten_6004851', 'sbw_oeffnungszeiten_914', 'sbw_oeffnungszeiten_6004853', 'sbw_oeffnungszeiten_6004855', 'sbw_oeffnungszeiten_6004849', 'sbw_oeffnungszeiten_6004859', 'sbw_oeffnungszeiten_291', 'sbw_oeffnungszeiten_544', 'sbw_oeffnungszeiten_6004857', 'sbw_bearbeitungsdauer_6008813', 'sbw_vertiefendeinformationen_6008813', 'sbw_kosten_6008813', 'sbw_bezugsort_6008813', 'sbw_fristen_6008813', 'sbw_voraussetzungen_6008813', 'sbw_kosten_348', 'sbw_bearbeitungsdauer_348', 'sbw_vertiefendeinformationen_348', 'sbw_sonstiges_348', 'sbw_rechtsgrundlage_348', 'sbw_freigabevermerk_348', 'sbw_formulare_348', 'sbw_prozesse_348', 'sbw_organisationseinheiten_348', 'sbw_verfahrensablauf_6004851', 'sbw_fristen_6004851', 'sbw_unterlagen_6004851', 'sbw_kosten_6004851', 'sbw_bearbeitungsdauer_6004851', 'sbw_vertiefendeinformationen_6004851', 'sbw_sonstiges_6004851', 'sbw_rechtsgrundlage_6004851', 'sbw_freigabevermerk_6004851', 'sbw_zustaendigkeit_6008813', 'sbw_unterlagen_6008813', 'sbw_sonstiges_6008813', 'sbw_voraussetzungen_348', 'sbw_zustaendigkeit_348', 'sbw_bezugsort_348', 'sbw_verfahrensablauf_348', 'sbw_fristen_348', 'sbw_unterlagen_348', 'sbw_preamble_6004851', 'sbw_voraussetzungen_6004851', 'sbw_zustaendigkeit_6004851', 'sbw_bezugsort_6004851', 'sbw_rechtsgrundlage_6008813', 'sbw_freigabevermerk_6008813', 'sbw_preamble_348', 'sbw_organisationseinheiten_6004851', 'sbw_preamble_914', 'sbw_voraussetzungen_914', 'sbw_zustaendigkeit_914', 'sbw_bezugsort_914', 'sbw_fristen_914', 'sbw_verfahrensablauf_914', 'sbw_unterlagen_914', 'sbw_kosten_914', 'sbw_bearbeitungsdauer_914', 'sbw_vertiefendeinformationen_914', 'sbw_sonstiges_914', 'sbw_rechtsgrundlage_914', 'sbw_freigabevermerk_914', 'sbw_formulare_914', 'sbw_prozesse_914', 'sbw_organisationseinheiten_914', 'sbw_formulare_6004851', 'sbw_prozesse_6004851', 'sbw_preamble_6008813', 'sbw_verfahrensablauf_6008813', 'sbw_preamble_6004857', 'sbw_voraussetzungen_6004857', 'sbw_zustaendigkeit_6004857', 'sbw_bezugsort_6004857', 'sbw_verfahrensablauf_6004857', 'sbw_fristen_6004857', 'sbw_unterlagen_6004857', 'sbw_kosten_6004857', 'sbw_bearbeitungsdauer_6004857', 'sbw_vertiefendeinformationen_6004857', 'sbw_sonstiges_6004857', 'sbw_preamble_6004859', 'sbw_voraussetzungen_6004859', 'sbw_zustaendigkeit_6004859', 'sbw_bezugsort_6004859', 'sbw_verfahrensablauf_6004859', 'sbw_fristen_6004859', 'sbw_unterlagen_6004859', 'sbw_kosten_6004859', 'sbw_bearbeitungsdauer_6004859', 'sbw_vertiefendeinformationen_6004859', 'sbw_sonstiges_6004859', 'sbw_rechtsgrundlage_6004859', 'sbw_freigabevermerk_6004859', 'sbw_formulare_6004859', 'sbw_prozesse_6004859', 'sbw_organisationseinheiten_6004859', 'sbw_preamble_291', 'sbw_voraussetzungen_291', 'sbw_zustaendigkeit_291', 'sbw_bezugsort_291', 'sbw_verfahrensablauf_291', 'sbw_fristen_291', 'sbw_unterlagen_291', 'sbw_kosten_291', 'sbw_bearbeitungsdauer_291', 'sbw_vertiefendeinformationen_291', 'sbw_sonstiges_291', 'sbw_rechtsgrundlage_291', 'sbw_freigabevermerk_291', 'sbw_formulare_291', 'sbw_prozesse_291', 'sbw_organisationseinheiten_291', 'sbw_freigabevermerk_6004857', 'sbw_rechtsgrundlage_6004857', 'sbw_formulare_6004857', 'sbw_prozesse_6004857', 'sbw_organisationseinheiten_6004857', 'sbw_preamble_544', 'sbw_voraussetzungen_544', 'sbw_zustaendigkeit_544', 'sbw_bezugsort_544', 'sbw_verfahrensablauf_544', 'sbw_fristen_544', 'sbw_unterlagen_544', 'sbw_kosten_544', 'sbw_bearbeitungsdauer_544', 'sbw_vertiefendeinformationen_544', 'sbw_sonstiges_544', 'sbw_rechtsgrundlage_544', 'sbw_freigabevermerk_544', 'sbw_formulare_544', 'sbw_prozesse_544', 'sbw_organisationseinheiten_544', 'sbw_preamble_6004853', 'sbw_voraussetzungen_6004853', 'sbw_zustaendigkeit_6004853', 'sbw_bezugsort_6004853', 'sbw_verfahrensablauf_6004853', 'sbw_fristen_6004853', 'sbw_unterlagen_6004853', 'sbw_kosten_6004853', 'sbw_bearbeitungsdauer_6004853', 'sbw_vertiefendeinformationen_6004853', 'sbw_sonstiges_6004853', 'sbw_rechtsgrundlage_6004853', 'sbw_freigabevermerk_6004853', 'sbw_formulare_6004853', 'sbw_prozesse_6004853', 'sbw_organisationseinheiten_6004853', 'sbw_preamble_6004855', 'sbw_voraussetzungen_6004855', 'sbw_zustaendigkeit_6004855', 'sbw_bezugsort_6004855', 'sbw_verfahrensablauf_6004855', 'sbw_fristen_6004855', 'sbw_unterlagen_6004855', 'sbw_kosten_6004855', 'sbw_bearbeitungsdauer_6004855', 'sbw_vertiefendeinformationen_6004855', 'sbw_sonstiges_6004855', 'sbw_rechtsgrundlage_6004855', 'sbw_freigabevermerk_6004855', 'sbw_preamble_6004849', 'sbw_voraussetzungen_6004849', 'sbw_zustaendigkeit_6004849', 'sbw_bezugsort_6004849', 'sbw_verfahrensablauf_6004849', 'sbw_fristen_6004849', 'sbw_unterlagen_6004849', 'sbw_kosten_6004849', 'sbw_bearbeitungsdauer_6004849', 'sbw_vertiefendeinformationen_6004849', 'sbw_sonstiges_6004849', 'sbw_rechtsgrundlage_6004849', 'sbw_freigabevermerk_6004849', 'sbw_formulare_6004849', 'sbw_prozesse_6004849', 'sbw_organisationseinheiten_6004849' ]) ################################################### import numpy as np import random import os import inspect def getPath(file): path = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) path = os.path.join(path, file).replace("\\", "/") return path from nltk.tokenize import sent_tokenize #from summarize import summarize # Veranstaltungskalender ############################################## from datetime import timedelta from datetime import date from datetime import datetime def next_weekday(d, weekday): days_ahead = weekday - d.weekday() if days_ahead <= 0: # Target day already happened this week days_ahead += 7 return d + timedelta(days_ahead) def past_weekday(d, weekday): days_ahead = weekday - d.weekday() if days_ahead <= 0: # Target day already happe#######################ned this week days_ahead -= 7 return d + timedelta(days_ahead) def sum_kata(text): print(type(text)) if '
Bitte beachten Sie:
' in text: print('hierkata') text=text.replace('Bitte beachten Sie:
', '') print('textkata', text) if '----------------------------------------------------------------------------------------------
' in text: text=text.replace('----------------------------------------------------------------------------------------------
', '') article_text = BeautifulSoup(text, "html.parser") print('article_text', article_text) print('article_text', type(article_text)) paragraphs = article_text.find_all('p') print('paragraphs', paragraphs) print(type(paragraphs)) anfangtext='' text2 = " " #if len(paragraphs)>1: if len(paragraphs) > 0: anfangtext=paragraphs[0] print('anfangtext', anfangtext) paragraphs.remove(anfangtext) anfangtext=str(anfangtext) print ('anfangtext', anfangtext) print('paragraphs2', paragraphs) #for p in paragraphs: #text2 = text2 + ' ' + '' + p.text + '
' #text2 = re.sub(r"[-]", "", text2) #text2 = text2.replace('Bitte beachten Sie:', '') # print('article_text', article_text) #print('text2', text2) #sum = summarize(text2, sentence_count=1, language='german') #sum = '' + sum + '
' #if anfangtext in sum: #sum=sum #print('sum', sum) #else: #sum = anfangtext + sum anfangtext = re.sub(r"[-]", "", anfangtext) sum = anfangtext print('sum2', sum) return sum #################Wetter######## numbers = "(^a(?=\s)|eins|eine|einen|einer|einem|zwei|drei|vier|fünf|sechs|sieben|acht|neun|zehn|elf|zwölf|dreizehn|vierzehn|fünfzehn|sechszehn|siebzehn|achtzehn|neunzehn|zwanzig|dreizig|vierzig|fünfzig|sechszig|siebzig|achtzig|neunzig|hundert|tausend|1|2|3|4|5|6|7|8|9)" day = "(montag|dienstag|mittwoch|donnerstag|freitag|samstag|sonntag)" week_day = "(montag|dienstag|mittwoch|donnerstag|freitag|samstag|sonntag)" month = "(januar|februar|märz|april|may|june|july|august|september|oktober|november|dezember)" # dmy = "(wochenende|jahr|tag|woche|monat)" dmy = "(jahr|tag|woche|monat)" rel_day = "(heute|gestern|morgen|übermorgen)" exp1 = "(vor|nach|in|im|später|)" exp2 = "(diese|dieses|dieser|diesen|diesem|nächste|nächstes|nächster|nächstem|nächsten|letzte|letztes|letzter|letztem|letzten)" # iso = "\d+[/.]\d+[/.]" iso = "\d+[/.]\d+" iso2 = "\d+[/.]" year = "((?<=\s)\d{4}|^\d{4})" # regxp1 = "((\d+|(" + numbers + "[-\s]?)+) " + dmy + "n? " + exp1 + ")" regxp1 = "((\d+|(" + exp1 + "[-\s]?)+) " + numbers + "n? " + dmy + ")" regxp2 = "(" + exp2 + " (" + dmy + "|" + week_day + "|" + month + "))" regxp8 = "(" + iso2 + " (" + month + "))" date1 = "([012]?[0-9]|3[01])" regxp6 = "(" + date1 + " " + month + ")" # regxp4 = "(" + month + " " + date + "[te]?[,]? " + year + ")" reg1 = re.compile(regxp1, re.IGNORECASE) reg2 = re.compile(regxp2, re.IGNORECASE) #####print(reg2) reg3 = re.compile(rel_day, re.IGNORECASE) reg4 = re.compile(iso) reg5 = re.compile("wochenende") reg9 = re.compile("Wochenende") #####print(reg5) reg6 = re.compile(regxp6, re.IGNORECASE) reg7 = re.compile(day, re.IGNORECASE) reg8 = re.compile(regxp8, re.IGNORECASE) reg10 = re.compile(month, re.IGNORECASE) def extractDate(text): # Initialization timex_found = [] # re.findall() finds all the substring matches, keep only the full # matching string. Captures expressions such as 'number of days' ago, etc. found = reg1.findall(text) #####print('reg1') found = [a[0] for a in found if len(a) > 1] for timex in found: #####print('1. reg1', timex) timex = timex.replace('ein', '1') timex = timex.replace('eine', '1') timex = timex.replace('einen', '1') timex = timex.replace('einer', '1') timex = timex.replace('einem', '1') timex = timex.replace('zwei', '2') timex = timex.replace('drei', '3') timex = timex.replace('vier', '4') timex = timex.replace('fünf', '5') timex = timex.replace('sechs', '6') timex = timex.replace('sieben', '7') timex = timex.replace('acht', '8') timex = timex.replace('neun', '9') timex = timex.replace('zehn', '10') timex = timex.replace('nach', 'in') timex1 = (dateparser.parse('in' + timex)).strftime('%d.%m.%Y') right_now_str = date.today().strftime('%d.%m.%Y') z00 = right_now_str timex_found.append(z00) timex_found.append(timex1) # Variations of this thursday, next year, etc # Variations of month and iso reg8.findall(text) #####print('reg8') found = reg8.findall(text) found = [a[0] for a in found if len(a) > 1] for timex in found: #####print('reg8', timex) timex1 = dateparser.parse(timex).strftime('%d.%m.%Y') z00 = dateparser.parse(timex).strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(timex1) found = reg2.findall(text) #####print('reg2') found = [a[0] for a in found if len(a) > 1] for timex in found: #####print('reg2', timex) if any(c in timex for c in ['nächste']): if any(d in timex for d in ['woche', 'Woche']): glanceweek = timedelta(days=6) #####print(glanceweek) right_now = date.today() next_monday = next_weekday(right_now, 0).strftime('%d.%m.%Y') next_monday_d = next_weekday(right_now, 0) z01 = (next_monday_d + glanceweek) z00 = next_monday z01 = z01.strftime('%d.%m.%Y') if any(d in timex for d in ['tag', 'Tag']): glanceweek = timedelta(days=7) #####print(glanceweek) right_now = date.today() next_monday = right_now.strftime('%d.%m.%Y') z01 = (right_now + glanceweek) z00 = next_monday z01 = z01.strftime('%d.%m.%Y') if any(d in timex for d in ['monat', 'Monat']): timex1 = dateparser.parse('nächsten Monat').strftime('%d.%m.%Y') day2, month2, year2 = timex1.split('.') b = '01.' c = '30.' z00 = b + month2 + '.' + year2 z01 = c + month2 + '.' + year2 if any(d in timex for d in ['montag', 'Montag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 0).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 0).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['dienstag', 'Dienstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 1).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 1).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['mittwoch', 'Mittwoch']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 2).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 2).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['donnerstag', 'Donnerstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 3).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 3).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['freitag', 'Freitag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 4).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 4).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['samstag', 'Samstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 5).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 5).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['sonntag', 'Sonntag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 6).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 6).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(c in timex for c in ['diese']): if any(d in timex for d in ['woche', 'Woche']): right_now = date.today() next_monday = right_now.strftime('%d.%m.%Y') next_monday_d = next_weekday(right_now, 6) z01 = next_monday_d z00 = next_monday z01 = z01.strftime('%d.%m.%Y') if any(d in timex for d in ['monat', 'Monat']): timex1 = dateparser.parse('diesen Monat').strftime('%d.%m.%Y') day2, month2, year2 = timex1.split('.') b = '01.' c = '30.' z00 = dateparser.parse('diesen Monat').strftime('%d.%m.%Y') z01 = c + month2 + '.' + year2 if any(d in timex for d in ['montag', 'Montag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 0).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 0).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['dienstag', 'Dienstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 1).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 1).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['mittwoch', 'Mittwoch']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 2).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 2).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['donnerstag', 'Donnerstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 3).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 3).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['freitag', 'Freitag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 4).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 4).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['samstag', 'Samstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 5).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 5).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['sonntag', 'Sonntag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 6).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 6).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(c in timex for c in ['letzte']): if any(d in timex for d in ['woche', 'Woche']): glanceweek = timedelta(days=6) #####print(glanceweek) right_now = date.today() past_monday = past_weekday(right_now, 0).strftime('%d.%m.%Y') past_monday_d = past_weekday(right_now, 0) z01 = (past_monday_d + glanceweek) z00 = past_monday z01 = z01.strftime('%d.%m.%Y') if 'z00' in locals(): timex_found.append(z00) else: timex_found.append(dateparser.parse('heute').strftime('%d.%m.%Y')) if 'z01' in locals(): timex_found.append(z01) else: timex_found.append(dateparser.parse('heute').strftime('%d.%m.%Y')) found = reg5.findall(text) #####print('reg5') # found = [a[0] for a in found if len(a) > 1] for timex in found: #####print('reg5', timex) if not timex_found == []: timex_found.clear() weekno = date.today().weekday() if weekno < 5: #####print("Weekday") right_now = date.today() next_samstag = next_weekday(right_now, 5) next_sontag = next_weekday(right_now, 6) z00 = next_samstag.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') elif weekno == 5: #####print("Weekday") right_now = date.today() next_sontag = next_weekday(right_now, 6) z00 = right_now.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') else: #####print("Weekday") right_now = date.today() z00 = right_now.strftime('%d.%m.%Y') z01 = right_now.strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(z01) if timex_found == []: weekno = date.today().weekday() if weekno < 5: #####print("Weekday") right_now = date.today() next_samstag = next_weekday(right_now, 5) next_sontag = next_weekday(right_now, 6) z00 = next_samstag.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') elif weekno == 5: #####print("Weekday") right_now = date.today() next_sontag = next_weekday(right_now, 6) z00 = right_now.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') else: #####print("Weekday") right_now = date.today() z00 = right_now.strftime('%d.%m.%Y') z01 = right_now.strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(z01) found = reg9.findall(text) #####print('reg9') # found = [a[0] for a in found if len(a) > 1] for timex in found: #####print('reg9', timex) if not timex_found == []: timex_found.clear() weekno = date.today().weekday() if weekno < 5: #####print("Weekday") right_now = date.today() next_samstag = next_weekday(right_now, 5) next_sontag = next_weekday(right_now, 6) z00 = next_samstag.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') elif weekno == 5: #####print("Weekday") right_now = date.today() next_sontag = next_weekday(right_now, 6) z00 = right_now.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') else: #####print("Weekday") right_now = date.today() z00 = right_now.strftime('%d.%m.%Y') z01 = right_now.strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(z01) if timex_found == []: weekno = date.today().weekday() if weekno < 5: #####print("Weekday") right_now = date.today() next_samstag = next_weekday(right_now, 5) next_sontag = next_weekday(right_now, 6) z00 = next_samstag.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') elif weekno == 5: #####print("Weekday") right_now = date.today() next_sontag = next_weekday(right_now, 6) z00 = right_now.strftime('%d.%m.%Y') z01 = next_sontag.strftime('%d.%m.%Y') else: #####print("Weekday") right_now = date.today() z00 = right_now.strftime('%d.%m.%Y') z01 = right_now.strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(z01) # today, tomorrow, etc found = reg3.findall(text) #####print('reg3') for timex in found: #####print('reg3', timex) if any(d in timex for d in ['übermorgen']): #####print('timex', timex) z00 = dateparser.parse('heute').strftime('%d.%m.%Y') glanceweek = timedelta(days=2) #####print(glanceweek) timex1 = dateparser.parse('heute') z01 = (timex1 + glanceweek) z01 = z01.strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(z01) else: z00 = dateparser.parse(timex).strftime('%d.%m.%Y') z01 = dateparser.parse(timex).strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(z01) # ISO found = reg4.findall(text) #####print('reg4') for timex in found: #####print('reg4', timex) timex1 = dateparser.parse(timex).strftime('%d.%m.%Y') z00 = dateparser.parse(timex).strftime('%d.%m.%Y') #####print(z00) timex_found.append(z00) timex_found.append(timex1) # Dates found = reg6.findall(text) #####print('reg6') found = [a[0] for a in found if len(a) > 1] for timex in found: #####print('reg6', timex) timex1 = dateparser.parse(timex).strftime('%d.%m.%Y') z00 = dateparser.parse(timex).strftime('%d.%m.%Y') timex_found.append(z00) timex_found.append(timex1) found = reg7.findall(text) #####print('reg7') for timex in found: #####print('reg7', timex) if timex_found == []: if any(d in timex for d in ['montag', 'Montag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 0).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 0).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['dienstag', 'Dienstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 1).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 1).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['mittwoch', 'Mittwoch']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 2).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 2).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['donnerstag', 'Donnerstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 3).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 3).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['freitag', 'Freitag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 4).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 4).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['samstag', 'Samstag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 5).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 5).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday if any(d in timex for d in ['sonntag', 'Sonntag']): glanceweek = timedelta(days=7) right_now = date.today() next_monday = next_weekday(right_now, 6).strftime('%d.%m.%Y') next_monday1 = next_weekday(right_now, 6).strftime('%d.%m.%Y') z01 = next_monday1 z00 = next_monday timex_found.append(z00) timex_found.append(z01) found = reg10.findall(text) #####print('reg10') for timex in found: #####print('reg10', timex) if timex_found == []: timex1 = dateparser.parse(timex, settings={'PREFER_DAY_OF_MONTH': 'last'}).strftime('%d.%m.%Y') z00 = dateparser.parse(timex, settings={'PREFER_DAY_OF_MONTH': 'first'}).strftime('%d.%m.%Y') #####print(z00) timex_found.append(z00) timex_found.append(timex1) # Year # found = reg5.findall(text) # for timex in found: # timex_found.append(timex) # Tag only temporal expressions which haven't been tagged. # for timex in timex_found: # text = re.sub(timex + '(?!)', 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if 'sbw_fristen' in i['intent']: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant else: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Keine Angabe
' return ant if i['antwort'][0] == 'keine Angaben': print('hier1!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Es gibt keine Online Anträge.
' return ant if i['antwort'][0] == 'keine
': print('hier1!!!') if 'sbw_kosten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Diese Leistung ist kostenfrei.
' return ant if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Die Bearbeitung erfolgt sofort.
' return ant if 'sbw_fristen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Sie müssen keine Fristen beachten.
' return ant else: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'keine
' return ant if 'sbw_preamble' in i['intent']: text = str(i['antwort'][0]) number_of_sentences = sent_tokenize(text) print('len(number_of_sentences)', len(number_of_sentences)) if len(number_of_sentences) > 2: sum = sum_kata(text) ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + sum + 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + sum +'Weitere Informationen finden Sie im Textfenster
' else: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + i['antwort'][0] voice=ant +'Weitere Informationen finden Sie im Textfenster
' ant1 = ant + ( 'Welche zusätzlichen Informationen möchten Sie ansehen?
Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Kosten finden Sie im Textfenster
' return [ant, voice] if 'sbw_voraussetzungen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Voraussetzungen finden Sie im Textfenster
' return [ant, voice] if 'sbw_fristen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Fristen finden Sie im Textfenster
' return [ant, voice] if 'sbw_oeffnungszeiten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Öffnungszeiten finden Sie im Textfenster
' return [ant, voice] if 'sbw_verfahrensablauf' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Verfahrensablauf finden Sie im Textfenster
' return [ant, voice] if 'sbw_formulare' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Online Formulare finden Sie im Textfenster
' return [ant, voice] if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Bearbeitungsdauer finden Sie im Textfenster
' return [ant, voice] if 'sbw_organisationseinheiten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Zuständige Stelle finden Sie im Textfenster
' return [ant, voice] if 'sbw_unterlagen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice ='Informationen zum Thema Erforderliche Unterlagen finden Sie im Textfenster
' return [ant, voice] else: print('hier2!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + i['antwort'][0] return ant #####print('1') results.pop(0) else: #print('klassifi') stemmed_frage = hilf_entity(frage) if len(named_entity(stemmed_frage)) != 0: frage=pruef_sbw(stemmed_frage) print('fragebearb', frage) results = klassifizieren(frage) print('klassifiresults', results) #print('fragebearb') #print('stemmed_frage=hilf_entity(frage)', stemmed_frage) #####print('13') ###print(results) accurancy = results[0][1] frage_test = "bgfdtgh" #wert_accurancy = klassifizieren(frage_test)[0][1] wert_accurancy = 0.30 print('wert_accurancy', wert_accurancy) print('accurancy', accurancy) #kontextliste = load_kontextliste(userId) # #####print(results[0][0]) while results: for i in dialogflow['dialogflow']: # finde ein intent, das dem ersten Ergebnis entspricht if i['intent'] == results[0][0]: # Setze bei Bedarf Kontext für diese dialog # Überprüfe, ob diese Inetnt kontextbezogen ist if i['intent'] == 'lebenslage_fuehrerschein': ant = i['antwort'] voice='Hier erfahren Sie
Wählen Sie bitte die für Sie richtige Leistung
' return [ant, voice] if i['intent'] == 'sbw_preamble': ##print('frage', frage) entity_sbw = named_entity(stemmed_frage) if len(entity_sbw) > 0: #####print('entity sbw!') context[userId] = {} context[userId] = 'sbw_preamble' entity_sbw = entity_sbw.strip("''") next_intent = context[userId] + '_' + entity_sbw ###print('next_intent_label', next_intent) results = [(next_intent, 1.0)] #####print(results) #####print(results[0][0]) context[userId] = next_intent #####print('context1:', context) while results: for i in dialogflow['antwort_leistungen']: # finde ein intent, das dem ersten Ergebnis entspricht if i['intent'] == results[0][0]: a = i['intent'] b = re.sub('sbw_.*?_', '', a, flags=re.DOTALL) ant = i['antwort'] text = str(i['antwort'][0]) number_of_sentences = sent_tokenize(text) #print('len(number_of_sentences)', len(number_of_sentences)) if not ant: ant= 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
'+ 'Keine Angabe
' else: text=str(i['antwort'][0]) number_of_sentences = sent_tokenize(text) #print('len(number_of_sentences)', len(number_of_sentences)) if len(number_of_sentences)>2: sum = sum_kata(text) ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + sum + 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + sum + 'Weitere Informationen finden Sie im Textfenster
' else: if i['antwort'][0] == 'keine Angaben': print('hier1!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Es gibt keine Online Anträge.
' else: print('hier2!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice=ant+'Weitere Informationen finden Sie im Textfenster
' ant1 = ant + ( 'Welche zusätzlichen Informationen möchten Sie ansehen?
Hier erfahren Sie
Wählen Sie bitte die für Sie richtige Leistung
' return [ant, voice] else: return ('Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?
Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if 'sbw_fristen' in i['intent']: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant else: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if i['antwort'][0] == 'keine Angaben': print('hier1!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Es gibt keine Online Anträge.
' return ant if i['antwort'][0] == 'keine
': print('hier1!!!') if 'sbw_kosten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Diese Leistung ist kostenfrei.
' return ant if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Die Bearbeitung erfolgt sofort.
' return ant if 'sbw_fristen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Sie müssen keine Fristen beachten.
' return ant else: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'keine
' return ant if 'sbw_kosten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Kosten finden Sie im Textfenster
' return [ant, voice] if 'sbw_voraussetzungen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Voraussetzungen finden Sie im Textfenster
' return [ant, voice] if 'sbw_fristen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Fristen finden Sie im Textfenster
' return [ant, voice] if 'sbw_oeffnungszeiten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Öffnungszeiten finden Sie im Textfenster
' return [ant, voice] if 'sbw_verfahrensablauf' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Verfahrensablauf finden Sie im Textfenster
' return [ant, voice] if 'sbw_formulare' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Online Formulare finden Sie im Textfenster
' return [ant, voice] if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Bearbeitungsdauer finden Sie im Textfenster
' return [ant, voice] if 'sbw_organisationseinheiten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Zuständige Stelle finden Sie im Textfenster
' return [ant, voice] if 'sbw_unterlagen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Erforderliche Unterlagen finden Sie im Textfenster
' return [ant, voice] else: print('hier2!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + i['antwort'][ 0] return ant return ant results.pop(0) if len(entity_sbw) == 0: print('keine sbw_entitäterfedferdf!!!') #print('userId', context[userId]) stemmed_frage = frageBearbeitung(frage) if userId in context and 'sbw_' in context[userId]: print('sbw_ in context keine sbw_entitäterfedferdf!!!') frage_neu = pruef_kontext(frage) print('frage_neu', frage_neu) post = pos(frage_neu) print('ueberpruefung_kontext', pos) ###print('frage!', stemmed_frage) if 'fuhrerschein' in stemmed_frage: # print('len(stemmed_frage)', len(stemmed_frage)) results = 'lebenslage_fuehrerschein' print('resultsstemmed_frage_intent', results) for i in dialogflow['dialogflow']: # finde ein intent, das dem ersten Ergebnis entspricht if i['intent'] == results: print('stemmed_frage_intent') ant = i['antwort'] voice = 'Hier erfahren Sie
Wählen Sie bitte die für Sie richtige Leistung
' return [ant, voice] if 'NN' in post: if i['intent'] == 'sbw_oeffnungszeiten': ant = "Informationen zum Thema Öffnungszeiten finden Sie im Textfenster
' return [ant, voice] else: return ('Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?
Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if 'sbw_fristen' in i['intent']: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant else: ant = 'Leider kann ich Ihnen dazu keine Informationen liefern. Bitte wenden Sie sich ans Kfz-Bürgerbüro Offenburg / Führerschein
' return ant if i['antwort'][0] == 'keine Angaben': print('hier1!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Es gibt keine Online Anträge.
' return ant if i['antwort'][0] == 'keine
': print('hier1!!!') if 'sbw_kosten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Diese Leistung ist kostenfrei.
' return ant if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Die Bearbeitung erfolgt sofort.
' return ant if 'sbw_fristen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'Sie müssen keine Fristen beachten.
' return ant else: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + 'keine
' return ant if 'sbw_kosten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Kosten finden Sie im Textfenster
' return [ant, voice] if 'sbw_voraussetzungen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Voraussetzungen finden Sie im Textfenster
' return [ant, voice] if 'sbw_fristen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Fristen finden Sie im Textfenster
' return [ant, voice] if 'sbw_oeffnungszeiten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Öffnungszeiten finden Sie im Textfenster
' return [ant, voice] if 'sbw_verfahrensablauf' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Verfahrensablauf finden Sie im Textfenster
' return [ant, voice] if 'sbw_formulare' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Online Formulare finden Sie im Textfenster
' return [ant, voice] if 'sbw_bearbeitungsdauer' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Bearbeitungsdauer finden Sie im Textfenster
' return [ant, voice] if 'sbw_organisationseinheiten' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Zuständige Stelle finden Sie im Textfenster
' return [ant, voice] if 'sbw_unterlagen' in i['intent']: ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][0] voice = 'Informationen zum Thema Erforderliche Unterlagen finden Sie im Textfenster
' return [ant, voice] else: print('hier2!!!') ant = 'Ich habe folgende Informationen auf dem Portal service-bw für Sie gefunden:
' + \ i['antwort'][ 0] return ant return ant results.pop(0) else: #print('keine sbw_entität und kein kontext!!!!') if i['intent'] == 'sbw_organisationseinheiten' and accurancy > float(wert_accurancy): ant = "Informationen zum Thema Zuständige Stelle finden Sie im Textfenster
' return [ant, voice] if i['intent'] == 'sbw_oeffnungszeiten' and accurancy > float(wert_accurancy): ant = "Informationen zum Thema Öffnungszeiten finden Sie im Textfenster
' return [ant, voice] if 'fuhrerschein' in stemmed_frage: # print('len(stemmed_frage)', len(stemmed_frage)) results = 'lebenslage_fuehrerschein' print('resultsstemmed_frage_intent', results) for i in dialogflow['dialogflow']: # finde ein intent, das dem ersten Ergebnis entspricht if i['intent'] == results: print('stemmed_frage_intent') ant = i['antwort'] voice = 'Hier erfahren Sie
Wählen Sie bitte die für Sie richtige Leistung
' return [ant, voice] else: if 'fuhrerschein' in stemmed_frage: # print('len(stemmed_frage)', len(stemmed_frage)) results = 'lebenslage_fuehrerschein' print('resultsstemmed_frage_intent', results) for i in dialogflow['dialogflow']: # finde ein intent, das dem ersten Ergebnis entspricht if i['intent'] == results: print('stemmed_frage_intent') ant = i['antwort'] voice = 'Hier erfahren Sie
Wählen Sie bitte die für Sie richtige Leistung
' return [ant, voice] else: return ('Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?
Hier erfahren Sie
Wählen Sie bitte die für Sie richtige Leistung
' return [ant, voice] else: return ('Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?
Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?
Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?
Ich bin ein Prototyp, der Ihnen verschiedene Fragen zum Thema Führerschein beantworten kann.
Um Ihnen weiterhelfen zu können, benötige ich genauere Informationen.
Können Sie bitte Ihre Frage anders formulieren?