Table des matières:
- Étape 1: Descriere Funcțională
- Étape 2: Composant
- Étape 3: Matériel
- Étape 4: Logiciel
- Étape 5: Mettre en œuvre
- Étape 6: Utiliser
Vidéo: Sistem De Conversație Bazat Pe Inteligență Artificială: 6 Étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Auteur: Stanut Nicolae-Radu
Groupe: 333AB
Remarque: 8
Étape 1: Descriere Funcțională
În 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, în 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 practic identică cu Amazon Alexa. De exemplu acest 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 in limba engleză.
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 procese, de exemplu aprinderea și stingerea unor lumini, oprirea unei prize. Desigur, doar dacă API-ul Amazon va permite aceste lucruri.
Sursa poză:
Étape 2: Composant
Pentru realizarea proiectului am avut nevoie de următoarele componente:
-
Framboise PI 3 B+
Acest mini computer est créé par proiectului, rulează o verisune modificată de Linux Debian pe un processeur ARM. De asemenea, acest model dispune și de wi-fi, conexiunea la internet fiind absolut necesară pentru motoarele de text-în-vorbire i vorbire-în-text
-
Caméra PS Eye
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ă
-
Boîteă portableă
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 feux + LED
-
Caserolă
Carcasa proiectului, o caserolă de sarmale:D
Étape 3: Matériel
După ce am adunat componentele, am trecut la implementare, schema este una foarte simplă. Boxa portabilă se conectează la portul USB pentru alimentare și la portul jack pentru playback, camera/microfonul se conectează doar la portul USB prin care comunică cu computer-ul. Am mai adăugat în schemă și led-ul conectat la pin-ul 17 cu rezistorul, pentru comanda de lumină. Nimic complique.
Étape 4: Logiciel
Arhitectura acestui proiect présupune un "creier" care să preia comenzi de la utilizator(voce), să transform datele intr-un format accesibil lui(text) și să le redea răspunsul sau confirmarea unei acțiuni înapoi(voce). Pentru acestea a fost nevoie de 3 servicii séparé:
- Un moteur 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 moteur Text-to-Speech (TTS), pentru a transmite utilizatorului răspunsurile sau confirmările 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 un timp mai de răspuns Google având unul dintre cele mai bune motoare STT.
Pentru feedback-ul oferit utilizatorului (TTS-ul) am ales un motor offline, deoarece acesta nu este foarte mare consumator de resurse și nici nu este la fel de sensibil precum STT-ul. Sintetizarea vocii este făcuta de Festival Speech Synthesis System, care 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 platformă Open Source, disponibilă pe GitHub la link-ul: https://github.com/jasperproject/jasper-client. Aceasta face legătura dintre toate serviciile descrise mai sus i ia decizii în funcție de input-ul utilizatorului. Este compatibilă cu Raspberry PI, fiind scrisă în Python. Am ales această soluție in detrimentul celor Cloud datorită modularității, platforma permite 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 procédural, am optat pentru această variantă in detrimentul sistemelor 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, limitază capacitatea de convorbire, dar oferă un cadru potrivit pentru un asistent digital, acesta fiind și scopul proiectului.
Étape 5: Mettre en œuvre
- Suis instalat sistemul de operare Raspbian pe cardul microSD
- Suis conectat appareil photo i difuzorul la Framboise
- Suis configurat sistemul de operare, după care am instalat toate bibliotecile și serviciile necesare, urmând toți pașii din acest ghid:
- Suis creat și instalat module adiționale pentru a extinde funcționalitatea sistemului
Étape 6: Utiliser
Din lipsa unui monitor am configurat dispozitivul să se conecteze la o rețea wireless predefinită, controlul dispozitivului realizându-se prin SSH. Jasper permite două tipuri de interacțiune:
- Prin terminal (texte) - la rularea comenzii jasper_cli
- Prin voce - la rularea comenzii jaspe
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 comenzile cunoscute se numără:
- DEFINE + cuvânt - întoarce definiția din dicționar a cuvântului respectiv
- QUI, QUOI, COMBIEN, COMBIEN, QUEL ÂGE + 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 - spune o glumă
- LUMOS/NOX - aprinde/stinge LED-ul atașat
- anecdotes
- FILMS - informații despre filme (imdb)
- ACTUALITÉS - cité tiri
In modul voce, deschis la presentre comenzii "jasper" in linia de comandă, dispozitivul se pune în modul de așteptare, acesta fiind trezit la auzirea unui cuvânt-cheie. În cazul de față cuvâtul cheie este "Jasper". După ce dispozitivul a auzit cuvântul cheie, acesta intră în modul de ascultare, putând să primească comenzi exact ca și în modul text. După executarea comenzii, dispozitivul intră din nou în așteptare până la o nouă trezire a sa.
Conseillé:
Comment fabriquer une antenne double biquade 4G LTE en quelques étapes faciles : 3 étapes
Comment créer une antenne double biquade 4G LTE Étapes faciles : La plupart du temps, je n'ai pas une bonne force de signal pour mes travaux quotidiens. Donc. Je recherche et essaye différents types d'antenne mais ne fonctionne pas. Après une perte de temps, j'ai trouvé une antenne que j'espère fabriquer et tester, car ce n'est pas un principe de construction
Sistem De Cartografiere a Retelelor LoRaWAN : 4 étapes
Sistem De Cartografiere a Retelelor LoRaWAN: In cadrul acestui program s-a dorit realizarea unui sistem de cartografiere a retelelor LoRaWAN.Ce este LoRa? LoRa este o tehnologie care pune la dipozitia dezvoltatorilor de solutii inteligente o transmisie de raza lunga si securizata a datelor, cu
Sistem De Cartografiere a Rețelelor WiFi : 14 étapes
Sistem De Cartografiere a Rețelelor WiFi: Cartografierea retelelor WiFi este procedeul prin care se doreste gasirea retelelor WiFi, iar apoi localizarea acestora cu ajutorul GPS-ului. In urma cartografierii se pot obtine informatii despre retelele WiFi existente cum ar fi: numarul acestora
Sistem De Monitorizare a Nivelului De Poluare (Arduino Uno): 9 étapes
Sistem De Monitorizare a Nivelului De Poluare (Arduino Uno): Proiectul consta in realizarea unui dispozitiv ce afiseaza diferiti parametrii de mediu (temperatura, umiditate, nivelul de particule din atmosfera, cantitatea de compusi organici volatili date) si trimite ace platform sunt realiza
Sistem De Apertura/cierre Con Contraseña : 4 étapes
Sistem De Apertura/cierre Con Contraseña : 1. Primeramente disculpen la calidad de las imágenes y los inconvenientes adicionales notengo el equipo para la calidad de las imágenes y no se preocupen por el cableado que se ve por un esquema El primer debe tener el ID