Hlasoví asistenti sú v dnešnej dobe veľmi rozšírení. Vo firmách, ale aj v domácnostiach si našli svoje uplatnenie. Pri vyhľadávaní informácii i vykonávaní rôznorodých činností pri IoT sú veľmi užitočními asistentami.
Naša práca pri hlasových asistentoch je vytvorenie takého hlasového asistenta, ktorý dokáže komunikovať s používateľom v slovenskom jazyku, pričom sa dokáže pomocou doplňovacích otázok učiť a zodpovedať aj na nové otázky/dopyty.
Vytvárame "bota" - asistenta, ktorý sa tak sa stáva plnohodnotným asistentom pri každodennej práci používateľa.
Všetci členovia sú študenti STU FIIT.
Rozhodnutie o používaných nástrojoch pri tímovom projekte. Rozdelenie úloh pre výskum ohľadom technológii, ktoré sa na projekte použijú. Taktiež sme začali skúmať existujúce technológie, ktoré by nám umožnili prácu pri ďalšom vývoji.
Rozdelenie taskov pre vytvorenie základnych modulov a napojenie na Google Speech API recognition. Prototypovanie WebRTC, Skype API a Skype for Bussiness API. Prepojenie jednotlivých modulov.
Dohodli sme sa productownerom na architektúre - Klient v node.js a react.js napojený na server pomocou websocketu. Server pozostáva z NLP a AI modulu, kde middleware komunikácia ide cez WebRTCServer - P2P discovery server. Samotné moduly na servery budú poprepájané pomocou Kafky.
Kvôli neúspechu z minulého šprintu sme sa rozhodli prenechať dokončenie modulov na tento šprint. Namiesto typescriptu sme sa rozhodli pre React.JS s javascriptom, dokončili sme pre neho metodiky a tiež sfinišovali server. V pláne je aj vytvorenie CI pre klienta aj server. Následne chcem urobiť prieskum TensorFlow a tiež vytvoriť DB štruktúru pre našu bázu znalostí.
Aj napriek veľkému úsiliu naša práca v tíme nebola ideálna a museli sme zamakať. Bolo potrebné začať rozoberať neurónové siete a pomali si zistovať, aké konfigurácie by pre nás boli výhodné. Neúspech zaznamenávania hlasu na klientovi znamenal premiestnenie nahrávania a streamovania na Google Speech API na server. Bolo potrebné dokončiť logovacie moduly či modul na logovanie AI činnosti. Takisto sme sa rozhodli vytvoriť základ pre knowledge base.
AI modul sme napojili na KB a otestovali celú integráciu. Zhodnotili sme, že musíme vylepšiť jednotlivé moduly - refaktor a odchytávanie chýb. Doplnili sme dokumentáciu pre odovzdanie a následne aj naplánovali prácu pre ďalší intenzívny jednotýždňový šprint.
Začali sme s neurónkami - jednoduchá klasifikácia, kde skúšame použiť dataset vtipov. Zrefaktorovali sme jednotlivé moduly, použili logovanie, lepší try/catch a zrýchlili sme celý proces. Ďalší šprint sme naplánovali rekurentné neurónky + LSTM a tiež CI pri merge requestoch, vylepšenie klienta a nájsť lepší dataset.
Pokračovali sme s neurónkami, pričom sme sa sústredili na Rekurentné neurónové siete a encoder-decoder. Následne sme sa tiež snažili vytvoriť si vlastný dataset, ktorý by nám mohol byť užitočný pri práci s neurónkami, keďže sme si neboli istý, či budeme mať nejaký dataset k dispozícii. Tiež sme urobili zálohu servera.
Vytvorili sme GUI nástroj pre prácu s našou databázou, ktorý slúžil ako databázový admin nad týmto datasetom. Tiež sme pofixovali nejaké minor bugy a vytvorili CI pre merge requesty, či prechádzajú testy.
Náš klient si prešiel refaktorom ako funkčným tak aj vizuálnym a vyzerá omnoho lepšie. Takisto sme vytvorili základ pre chatbotta, keďže kvôli tomu, že nemáme žiaden dataset k dispozícii, sme sa rozhodli použiť alternatívny spôsob pomocou chatbotta a full text searchu s pomocou NLP.
Zlepšili sme Full Text Search, NLP modul, oddelili sme logiku volania API skriptov tak, aby sa dali jednoducho meniť a používať pomocou admina na dataset, ktorý sa predtým vytvoril. Vytvorili sme scenáre beta testovanie a dokončili sme dokumentáciu.