Cov txheej txheem:

Sistem De Conversație Bazat Pe Inteligență Artificială: 6 Cov Kauj Ruam
Sistem De Conversație Bazat Pe Inteligență Artificială: 6 Cov Kauj Ruam

Video: Sistem De Conversație Bazat Pe Inteligență Artificială: 6 Cov Kauj Ruam

Video: Sistem De Conversație Bazat Pe Inteligență Artificială: 6 Cov Kauj Ruam
Video: I like IT - Sistemul bazat pe inteligența artificială care poate genera teste de evaluare 2024, Hlis ntuj nqeg
Anonim
Sistem De Conversație Bazat Pe Inteligență Artificială
Sistem De Conversație Bazat Pe Inteligență Artificială

Tus sau: Stanut Nicolae-Radu

Pes: 333 AB

Nqe: 8

Kauj Ruam 1: Piav qhia cov haujlwm

Kev piav qhia Funcțional
Kev piav qhia Funcțional

Nyob rau hauv lub hauv paus ntsiab lus ntawm kev ua haujlwm thiab kev ua haujlwm

asistenților inteligenți pentru casă de tipul Google Assistant Amazoni Amazon Alexa, tus siv lub lauj kaub thiab lub suab lus hu ua aparatului, iar acesta va răspunde sau los ntawm lub ntsej muag o anumită acțiune, thiab 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 huab Amazon, saib xyuas da-inteligență”sistemului.

Folosind serviciul de cloud și inteligențăne artificialță de la Amazon, ua raws li cov lus pom zoo thiab kev lom zem pract xyaum ua yam ntxwv zoo ib yam li Amazon Alexa. Ua piv txwv zoo tshaj li muaj poov xab 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.

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 piv txwv aprinderea thiab stingerea unor lumini, oprirea unei nqi zog. Txawm li cas los xij, API-ul Amazon thiab tau tso cai aceste lucruri.

Sursa poză:

Kauj ruam 2: Componente

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

  1. Raspberry PI 3 B+

    Acest mini computer este creierul proiectului, rulează o verisune modificată de Linux Debian pe un procesor ARM. Tsis tas li ntawd, tus qauv zoo tshaj tawm ntawm Wi-nkaus, txuas rau hauv internet txuas ncaj qha necesară pentru motoarele de text-în-vorbire și vorbire-în-text

  2. PS Lub Koob Yees Duab

    Pe post microfon ("urechea proiectului") am ales o cameră destinată consolei Chaw Ua Si 3 deoarece dispune de un microfon puternic cu 4 canale, fiind mai ieftină decât o cameră web obișnuită

  3. Lub thawv ntim khoom

    Pentru a transmite informația către utilizator a fost nevoie de un difuzor, kuv ua raws li lub boxă cu fir primită de la un prieten

  4. 2 hluav taws + LED
  5. Caserol cov

    Carcasa proiectului, los caserolă de sarmale: D

Kauj ruam 3: Kho vajtse

Kho vajtse
Kho vajtse

După ce yog adunat tivthaiv, kuv 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 scn schemă și led-ul conectat la pin-ul 17 cu rezistorul, pentru comanda de lumină. Nyiam complicat.

Kauj ruam 4: Software

Arhitectura acestui proiect presupune un "creier" care să preia comenzi de la utilizator (voce), nws hloov pauv cov ntaub ntawv î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 cais:

  1. Un motor Speech-to-Text (STT), pentru a prelua datele de intrare (cov ntaub ntawv xa tawm ntawm kev siv tus neeg siv vorbire)
  2. Un sistem de inteligențăn artificială, pentru a lua decizii și rezolva probleme
  3. Tsis siv lub tshuab Text-to-Speech (TTS), ua kom siv tau cov cuab yeej siv tau zoo tshaj plaws los ntawm kev lees paub

Pentru STT yog folosit API-ul de la Google, denumit Google Speech API, kev saib xyuas tsis pub dawb, tsis yog los ntawm kev ntsuas kev sib tham ntawm tus lej lossis tus lej mică de erori, ntau yam ntawm tus lej txwv. Am ales acest API datorită faptului că această parte a sistemului este cea mai sensibilă la erori cei 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, los ntawm qhov tseeb aii o precizie mai mare, dar și un timp de run Google având unul dintre cele mai bune motoare STT.

Pentru tawm tswv yim-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, saib xyuas ester oferit gratuitia 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 npog.

Liantul dintre STT thiab TTS, precum thiab partea "iteligentă" este platforma denumită Jasper. O platformă Open Source, faib tawm rau GitHub la link-ul: https://github.com/jasperproject/jasper-client. Aceasta ntsej muag legătura dintre toate serviciile descrise mai sus și ia decizii funn funcție de input-ul utilizatorului. Este compatibilă cu Raspberry PI, fiind scrisă Pyn Python. Am ales această soluție detn detrimentul celor Cloud datorită modularității, platforma tso cai 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 txheej txheem, kuv xaiv pentru această variantă detn detrimentul sistemelor de tip Tshuab Kawm (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 tsis siv digital, acesta fiind și scopul proiectului.

Kauj ruam 5: Siv

  1. Kuv tau teeb tsa lub tshuab ua haujlwm Raspbian pe cardul microSD
  2. Kuv txuas lub koob yees duab ntawm difuzorul la Raspberry
  3. Kuv tau teeb tsa lub tshuab ua haujlwm, după saib xyuas kuv tau teeb tsa cov ntaub ntawv thiab cov kev pabcuam uas xav tau, urmând toți pașii din acest ghid:
  4. Kuv yog tus tsim thiab teeb tsa tus qauv adiționale pentru rau kev ua haujlwm txuas ntxiv kev ua haujlwm

Kauj ruam 6: Siv

Image
Image
Siv
Siv
Siv
Siv

Nyem rau ntawm lub mloog pob ntseg un configurat dispozitivul să se conecteze la o rețea wireless predefinită, controlul dispozitivului realizându-se prin SSH. Jasper tso cai rau ob lub ntsiab lus ntawm interacțiune:

  1. Prin davhlau ya nyob twg (ntawv nyeem) - la rularea comenzii jasper_cli
  2. Prin voce - la rularea comenzii jasper

Din simplify 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. Ua raws li cov lus qhia hauv qab no:

  • DEFINE + cuvânt - ontoarce definiția din dicționar a cuvântului hwm
  • LEEJ TWG, YUAV UA LI CAS, YUAV UA LI CAS, YUAV UA LI CAS, QHOV QAB QAB + Cuvânt - folosește API -ul wolframalpha pentru a răspunde la rentrebă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
  • TRIVIA
  • MOVIES - cov ntaub ntawv tshaj tawm cov yeeb yaj kiab (imdb)
  • XOV XWM - citește știri

Nyob rau hauv modul voce, deschis la introducere comenzii "jasper" hauv linia de comandă, dispozitivul se pune hauv modul de așteptare, acesta fiind trezit la auzirea unui cuvânt-cheie. Nyob rau hauv cazul de față cuvâtul cheie este "Jasper". După ce dispozitivul a auzit cuvântul cheie, acesta intră în modul de ascultare, tso thiab să primească comenzi pes tsawg și în modul text. După executarea comenzii, dispozitivul intră din nou șnptptare până la o nouă trezire a sa.

Pom zoo: