ระบบการสนทนา Bazat Pe Inteligență Artificială: 6 Steps
ระบบการสนทนา Bazat Pe Inteligență Artificială: 6 Steps
Anonim
ระบบการสนทนา Bazat Pe Inteligență Artificială
ระบบการสนทนา Bazat Pe Inteligență Artificială

ผู้เขียน: สตานุต นิโคไล-ราดู

กลุ่ม: 333AB

หมายเหตุ:8

ขั้นตอนที่ 1: อธิบาย Funcțională

คำอธิบาย Funcțională
คำอธิบาย Funcțională

În principiu ระบบ va fi asemănător

ผู้ช่วยอัจฉริยะ หรือผู้ช่วยส่วนตัว Google Assistant și Amazon Alexa, การใช้งาน pot da comenzi vocale aparatului, iar acesta va răspunde sau va face o anumită acțiune, în funcție de cerințele utilizator Creierul acetui ทำงานบน Raspberry pi 3, ใช้งานเครือข่าย Wi-Fi, ทำงานผ่านระบบคลาวด์, ระบบคลาวด์ Amazon, ดูแลระบบ

บริการคลาวด์ și inteligență artificială de la Amazon, acest dispozitiv va avea o funcționalitate practic identică cu Amazon Alexa. แบบอย่างของผู้ช่วย 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.

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, ตัวอย่าง apriinderea și stingerea unor lumini, oprirea unei Prize Desigur, doar dacă API-ul Amazon va อนุญาต aceste lucruri.

เนื้อหาเพิ่มเติม:

ขั้นตอนที่ 2: ส่วนประกอบ

Pentru realizarea proiectului am avut nevoie de următoarele องค์ประกอบ:

  1. ราสเบอร์รี่ PI 3 B+

    คอมพิวเตอร์ขนาดเล็ก Acet este creierul proiectului, rulează o verisune modificată de Linux Debian pe un procesor ARM. เดอ asemenea, acet model dispune și de wi-fi, conexiunea la internet fiind absolut necesară pentru motoarele de text-în-vorbire și vorbire-în-text

  2. PS Eye Camera

    Pe post microfon ("urechea proiectului") กำลังใช้ o กล้อง destinată consolei Play Station 3 เลิกใช้งาน microfon puternic cu 4 canale, fiind mai ieftină decât o cameră web obișnuită

  3. บ็อกซา พอร์ทาบิเญ่

    เพนตรู a ส่งข้อมูล ข้อมูล ผู้ใช้ ใช้ ลบ nevoie de un difuzor, อยู่ o boxă cu fir primită de la un prieten

  4. 2 ไฟ + LED
  5. คาเซโรลา

    Carcasa proiectului หรือ caserolă de sarmale:D

ขั้นตอนที่ 3: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์

După ce am adunat componentele, am trecut la implementare, สคีมา este una foarte simplă. กล่องพอร์ตสำหรับเชื่อมต่อพอร์ต USB การเชื่อมต่อพอร์ต USB ช่องเสียบแจ็ค 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 ลูกบาศ์ก rezistorul, pentru comanda de lumină. นิมิกซ้อน.

ขั้นตอนที่ 4: ซอฟต์แวร์

Arhitectura acestui proiect presupune 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țiunivo (ข้อความ) Pentru acestea a fost nevoie de 3 servicii แยกกัน:

  1. Un motor Speech-to-Text (STT), pentru a prelua datele de intrare (ข้อมูลการส่งสัญญาณของผู้ใช้งานปริ๊น vorbire)
  2. Un sistem de inteligență artificială, pentru a lua decizii și a rezolva ปัญหา
  3. Un motor Text-to-Speech (TTS), pentru a ส่งสัญญาณ utilizatorului răspunsurile sau Confirmările acțiunilor

Pentru STT am folosit API-ul de la Google, denumit Google Speech API, ดูแล este gratuit, จากที่อื่น 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 sistmului 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), flosirea unui serviciu offline este exclusă, așa că am optat pentru un serviciu Cloud, oferind și o precizie maii mare, bunt dar ș Google având unul dintre cele mai bune motoare STT.

Pentru feedback-ul oferit utilizatorului (TTS-ul) กำลังใช้งานออฟไลน์อยู่, 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, ดูแล 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 ออฟไลน์ Avantajul său față de serviciile ออนไลน์ 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. เพิ่มเติม O platformă โอเพ่นซอร์ส, disponibilă pe GitHub la link-ul: https://github.com/jasperproject/jasper-client Acesta 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 în 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

ระบบของ inteligență artificială este unul procedural, am optat pentru această varietyă în detrimentul ระบบการเรียนรู้ของเครื่อง (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.

ขั้นตอนที่ 5: Implementare

  1. กำลังติดตั้งระบบการทำงาน Raspbian pe cardul microSD
  2. Am conectat กล้อง și difuzorul la Raspberry
  3. กำลังกำหนดค่า sistmul de operare, după care am instalat toate bibliotecile și serviciile necesare, urmând toți pașii din acest ghid:
  4. กำลังสร้าง și ติดตั้งโมดูล adiționale pentru a extinde funcționalitatea sitemului

ขั้นตอนที่ 6: Utilizare

Image
Image
ใช้ประโยชน์
ใช้ประโยชน์
ใช้ประโยชน์
ใช้ประโยชน์

Din lipa unui monitor am configurat dispozitivul să se conecteze la o rețea wireless predefinită, ควบคุม dispozitivului realizându-se prin SSH แจสเปอร์อนุญาต două tipuri de interacțiune:

  1. ปรินเทอร์มินัล(ข้อความ) - la rularea comenzii jasper_cli
  2. Prin voce - la rularea comenzii แจสเปอร์

ดิน simplitate voi începe Demonstrarea funcționalității prin intermediul terminalului. La rularea comenzii jasper_cli va fi afișat un mesaj de întâmpinare, เอียร์ Jasper este gata să primească comenzi. พิมพ์ comenzile cunoscute se numără:

  • DEFINE + cuvânt - întoarce definiția din dicționar a cuvântului ตามลำดับ
  • WHO, WHAT, HOW MUCH, HOW MANY, HOW OLD + 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
  • โจ๊ก - spune o glumă
  • LUMOS/NOX - aprinde/stinge LED-ul atașat
  • TRIVIA
  • ภาพยนตร์ - ข้อมูล despre ภาพยนตร์ (imdb)
  • ข่าว - citește știri

În modul voce, deschis la Introductionre comenzii "แจสเปอร์" î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 "แจสเปอร์" După ce dispozitivul a auzit cuvântul cheie, acesta intră în modul de ascultare, putând să primească comenzi ที่แน่นอน ca și în โมดูลข้อความ După executarea comenzii, dispozitivul intră din nou în așteptare până la o nouă trezire a sa. ดูปา executarea comenzii

แนะนำ: