Inhaltsverzeichnis:
- Schritt 1: Funktionsbeschreibung
- Schritt 2: Komponenten
- Schritt 3: Hardware
- Schritt 4: Software
- Schritt 5: Implementieren
- Schritt 6: Verwenden
Video: Sistem De Conversație Bazat Pe Inteligență Artificială - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Autor: Stanut Nicolae-Radu
Gruppe: 333AB
Anmerkung:8
Schritt 1: Funktionsbeschreibung
In principiu sistemul va fi asemănător
asistenților inteligenți pentru casă de tipul Google Assistant i Amazon Alexa, utilizatorii pot da comenzi vocale aparatului, iar acesta va răspunde sau va face o anumită acțiune, in funcție de cerințele utilizatorului. Creierul acestui dispozitiv va fi un Raspberry pi 3, datorită faptului că dispune de Wi-Fi, acest lucru permițând conectarea la serviciul cloud Amazon, care va da „inteligență” sistemului.
Folosind serviciul de cloud i inteligență Artificială de la Amazon, Acest dispozitiv va avea o funcționalitate practice identisch mit Amazon Alexa. De exemplu aest asistent virtual poate prezenta starea meteo, poate ține minte notițe, poate pune alarme, dar din păcate(sau fericire?), aceste lucruri depind in totalitate de Amazon, iar comenzile dispozitivului se dau înăba.
Ca și obiectiv secundar, voi încerca să integrez limba română astfel încât asistentul să poată înțelege și comenzi și de la persoane necunoscătoare de limba engleză. Alt obiectiv secundar ar fi ca asistentul să ajute la automatizarea unor processe, de exemplu aprinderea și stingerea unor lumini, oprerea unei Prize. Desigur, doar dacă API-ul Amazon va allowe aceste lucruri.
Sursa poză:
Schritt 2: Komponenten
Pentru realizarea proiectului am avut nevoie de următoarele Komponente:
-
Himbeer PI 3 B+
Acest Mini-Computer ist creierul proiectului, Regeln oder verisune Modifikationen von Linux Debian für einen ARM-Prozessor. De asemenea, acest model dispune i de wi-fi, conexiunea la internet fiind absolut notwendig pentru motoarele de text-în-vorbire și vorbire-în-text
- PS Eye-Kamera
Pe post microfon ("urechea proiectului") am ales o cameră destinată consolei Play Station 3 deoarece dispune de un microfon puternic cu 4 canale, fiind mai ieftină decât o cameră web obișnuită
-
Boxă tragbară
Pentru a transmite informația către utilizator a fost nevoie de un difuzor, am folosit o boxă cu fir primită de la un prieten
- 2 Feuer + LED
-
Caserolă
Carcasa proiectului, o caserolă de sarmale:D
Schritt 3: Hardware
După ce am adunat componentele, am trecut la implementare, schema este una foarte simplă. Portabile Box mit Anschluss an Portul USB Pentru Alimentare oder Portul Jack Pentru Playback, Kamera/Mikrofon mit Anschluss an Portul USB Prin Care Comunică cu Computer-ul. Am mai adăugat in schema și led-ul conectat la pin-ul 17 cu rezistorul, pentru comanda de lumină. Nimic kompliziert.
Schritt 4: Software
Arhitectura acestui proiect presupune un "creier" care să preia comenzi de la utilizator (voce), să transforme datele într-un format accessibil lui (Text) i să le redea răspunsul sau Confirmarea unei acțiuni înapoi(Pentru acestea a fost nevoie de 3 servicii getrennt:
- Un motor Speech-to-Text (STT), pentru a prelua datele de intrare (informațiile transmise de utilizator prin vorbire)
- Un sistem de inteligență Artificială, pentru a lua decizii și a rezolva probleme
- Un motorische Text-to-Speech (TTS), pentrue und sende utilizatorului răspunsurile sau Confirmrile acțiunilor
Pentru STT am folosit API-ul de la Google, denumit Google Speech API, Care este gratuit, oferă o calitate mare a conversiei și o rată mică de erori, dar oferă și un număr limitat de apeluri. Am ales acest API datorită faptului că această parte a sistemului este cea mai sensibilă la erori și cea mai supusă la perturbații. Datorită limitărilor Hardware impuse de computer (putere de procesare, spațiu de stocare, memorie), folosirea unui serviciu offline este exclusă, așa că am optat pentru un serviciu Cloud, oferind și o precizie mai mare, dar și bună unstimp de mai Google având unul dintre cele mai bune motoare STT.
Pentru feedback-ul oferit utilizatorului (TTS-ul) bin ales un motor offline, deoarece acesta nu est foarte mare consumator de resurse i nici nu est la fel de sensibil precum STT-ul. Sintetizarea vocii este făcuta de Festival Speech Synthesis System, este oferit gratuit sub o liceță de tipul MIT. Vocea este una ușor robotică, dar mult mai inteligibilă față de eSpeak, alt motor TTS offline. Avantajul său față de serviciile online este că nu are niciun fel de limitare la numărul de coverii.
Liantul dintre STT și TTS, precum și partea "iteligentă" este platforma denumită Jasper. O Plattformă Open Source, verfügbar auf GitHub la link-ul: https://github.com/jasperproject/jasper-client. Aceasta face legătura dintre toate serviciile descrise mai sus i ia decizii in funcție de input-ul utilizatorului. Es ist kompatibel mit Raspberry PI, finden Sie in Python. Am ales această soluție in etrimentul celor Cloud Datorită modularității, Plattform erlaubt folosirea oricărui serviciu STT i TTS, dar i definirea oricărei acțiuni folosind limbajul de programare Python.
Sistemul de inteligență Artificială este unul prozedural, am optat pentru această Abwechslungă in nachteiliger sitemelor de tip Machine Learning (Chatbot) din cauză că cele din urmă au un caracter nedeterminist. Natura platformei Jasper, fiind bazată pe comenzi și acțiuni predefinite, limitează capacitatea de convorbire, dar oferă un cadru potrivit pentru un asistent digital, acesta fiind și scopul proiectului.
Schritt 5: Implementieren
- Am instalat sistemul de operare Raspbian pe cardul microSD
- Bin conectat camera și difuzorul la Raspberry
- Am configurat sistemul de operare, după care am instalat toate bibliotecile și serviciile necesare, urmând toți pașii din acest ghid:
- Bin creat și instalat module adiționale pentru a extinde funcționalitatea sistemului
Schritt 6: Verwenden
Din lipsa unui monitor is configurat dispozitivul să se conecteze la o rețea wireless predefinită, controlul dispozitivului realizându-se prin SSH. Jaspis Permite două tipuri de interacțiune:
- Prin terminal(text) - la rularea comenzii jasper_cli
- Prin voce - la rularea comenzii jaspis
Din simplitate voi începe demonstrarea funcționalității prin intermediul terminalului. La rularea comenzii jasper_cli va fi afișat un mesaj de ntâmpinare, iar Jasper este gata să primească comenzi. Printre comenzil cunoscute se numără:
- DEFINE + cuvânt - întoarce definiția din dicționar a cuvântului respiv
- WER, WAS, WIE VIEL, WIE VIELE, WIE ALT + cuvânt - folosește API-ul wolframalpha pentru a răspunde la întrebări generale
- WIKI - folosește API-ul de la wikipedia pentru a oferi informații despre diferite noțiuni
- JOKE - spine o düster
- LUMOS/NOX - aprinde/stachel LED-ul atașat
- TRIVIA
- FILME - informații despre filme (imdb)
- NACHRICHTEN - citește știri
In modul voce, desschis la introvertre comenzii "jaspis" in linia de comandă, dispozitivul se pune in modul de așteptare, acesta fiind trezit la auzirea unui cuvânt-cheie. In cazul de față cuvâtul cheie este "Jasper". După ce dispozitivul a auzit cuvântul cheie, acesta intră in modul de ascultare, putând să primească comenzi genau ca și in modul text. După executarea comenzii, dispozitivul intră din nou n așteptare până la o nouă trezire a sa.