Índice:

Sistem De Conversație Bazat Pe Inteligență Artificială: 6 etapas
Sistem De Conversație Bazat Pe Inteligență Artificială: 6 etapas

Vídeo: Sistem De Conversație Bazat Pe Inteligență Artificială: 6 etapas

Vídeo: Sistem De Conversație Bazat Pe Inteligență Artificială: 6 etapas
Vídeo: Cum poate fi distrusă omenirea de către inteligența artificială😱 2024, Novembro
Anonim
Sistem De Conversație Bazat Pe Inteligență Artificială
Sistem De Conversație Bazat Pe Inteligență Artificială

Autor: Stanut Nicolae-Radu

Grupa: 333AB

Nota: 8

Etapa 1: Descriere Funcțională

Descriere Funcțională
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 ou funcționalitate prática 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 în totalitate de Amazon, iar comenzile dispozitivului se dau în 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 award. Desigur, doar data API-ul Amazon va permite aceste lucruri.

Sursa poză:

Etapa 2: Componente

Componente Pentru realizarea proiectului am avut nevoie de următoarele:

  1. Framboesa PI 3 B +

    Este mini computador é criado para criar, regras ou modificações verificadas do Linux Debian para um processador ARM. De asemenea, acest model dispune și de wi-fi, conexiunea la internet fiind absolut necesară pentru motoarele de text-in-vorbire și vorbire-în-text

  2. PS Eye Camera

    Pe post microfon ("urechea proiectului") am ales ou cameră destinatari consolei Play Station 3 deoarece dispune de un microfon puternic cu 4 canale, find mai ieftină decât o cameră web obișnuită

  3. Boxă portabilă

    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

  4. 2 fogo + LED
  5. Caserolă

    Carcasa proiectului, o caserolă de sarmale: D

Etapa 3: Hardware

Hardware
Hardware

După ce am adunat componentele, am trecut la implementare, schema este una foarte simplă. Boxa portabilă se conecta a portul USB para alimentar și portul jack para playback, camera / microfonul se conecta doar la portul USB prin care comunică com o computador-ul. Am mai adăugat în schemă și led-ul conectat la pin-ul 17 cu rezistorul, pentru comanda de lumină. Nimic complicat.

Etapa 4: Software

Arhitectura acestui proiect pressupune un "creier" care să preia comenzi de la utilizator (voce), să transforme datele într-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 separa:

  1. Un motor Speech-to-Text (STT), pentru a prelua datele de intrare (informațiile transmise de utilizator prin vorbire)
  2. Un sistem de inteligență artificială, pentru a lua decizii și a rezolva probleme
  3. Un motor Text-to-Speech (TTS), para uma transmite utilizatorului răspunsurile sau confirmările acțiunilor

Pentru STT am folosit API-ul do Google, denumit Google Speech API, care este gratuit, oferecer ou calitate mare a conversiei și ou 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 computador (putere de procesare, spațiu de stocare, memorie), folosirea unui serviciu offline este exclusă, așa că am optat pentru un serviciu Cloud, oferecer și o precizie mai mare, dar și un timp de răspuns bun, 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 do Festival Speech Synthesis System, cuidado este oferit gratuit sub o liceță de tipul MIT. Vocea este é um usuário robótico, dar vários 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 coversii.

Liantul dintre STT și TTS, precum și partea "iteligentă" este platforma denumită Jasper. A plataforma Open Source, disponível no GitHub no 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 compatível com Raspberry PI, encontre a leitura em Python. Am ales această soluție em detrimentul celor Cloud datorită modularității, platforma permite folosirea oricărui serviciu STT e TTS, dar și definirea oricărei acțiuni folosind limbajul de programa Python.

Sistemul de inteligență artificială este unul procedural, am optat pentru această variantă în 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, limitează capacitatea de convorbire, dar oferă un cadru potrivit pentru un asistent digital, acesta fiind și scopul proiectului.

Etapa 5: Implementar

  1. Am instalat sistemul de operare Raspbian pe cardul microSD
  2. Am conectat camera și difuzorul la Raspberry
  3. Am configurat sistemul de operare, după care am instalat toate bibliotecile și serviciile necesare, urmând toți pașii din acest ghid:
  4. Am creat și instalat module adiționale pentru a extinde funcționalitatea sistemului

Etapa 6: Utilizar

Image
Image
Utilizar
Utilizar
Utilizar
Utilizar

Din lipsa unui monitor am configurat dispozitivul să se conectar la ou rețea wireless predefinită, controlul dispozitivului realizându-se prin SSH. Jasper permite două tipuri de interacțiune:

  1. Terminal prin (texto) - la rularea comenzii jasper_cli
  2. 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
  • QUEM, O QUÊ, QUANTO, QUANTO, QUANTO VELHO + 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
  • PIADA - spune o glumă
  • LUMOS / NOX - aprinde / stinge LED-ul atașat
  • TRIVIA
  • FILMES - informații despre filme (imdb)
  • NOTÍCIAS - citește știri

În modul voce, deschis la introducere comenzii "jasper" în 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 ou nouă trezire a sa.

Recomendado: