Sommario:

Personal English Trainer - AI Voice Assistant: 15 passaggi
Personal English Trainer - AI Voice Assistant: 15 passaggi

Video: Personal English Trainer - AI Voice Assistant: 15 passaggi

Video: Personal English Trainer - AI Voice Assistant: 15 passaggi
Video: I Discovered The Perfect ChatGPT Prompt Formula 2024, Novembre
Anonim
Personal English Trainer - AI Voice Assistant
Personal English Trainer - AI Voice Assistant

Questo progetto aiuterà gli studenti che si stanno preparando per qualsiasi esame linguistico, dove potranno essere formati interagendo con Snips AI.

Fase 1: Storia

Storia
Storia
Storia
Storia

Perché abbiamo costruito questo?

Dalla mia esperienza personale, ho visto molte persone prepararsi per i vari test linguistici come GRE, TOEFL, IELTS. Hanno bisogno di una persona che li aiuti a memorizzare e comprendere le parole. Generalmente, quando una persona si prepara per tali esami, ha bisogno di una persona che controlli e corregga se commette un errore. Con questa soluzione, possiamo ridurre la manodopera impiegando un assistente vocale.

Passaggio 2: creazione dell'hardware

Costruzione hardware
Costruzione hardware
Costruzione hardware
Costruzione hardware

Prima di tutto, vorrei ringraziare SNIPS e SEEED per aver supportato questo progetto con l'incredibile Snips Voice Interaction Development Kit (Kit Base), mi sono sentito davvero istruttivo nell'usare questa scheda e in grado di realizzare alcuni dei progetti complessi integrati all'interno di un PCB.

Puoi acquistare lo Snips Voice Interaction Base Kit per $115 e Snips Voice Interaction Satellite Kit per $85

Passaggio 3: iniziare con SNIPS

Iniziare con SNIPS
Iniziare con SNIPS
Iniziare con SNIPS
Iniziare con SNIPS
Iniziare con SNIPS
Iniziare con SNIPS

Prima di iniziare, esaminiamo ciò di cui avrai bisogno.

  • Raspberry Pi 3B/B+ (consigliato) o Pi 2 modello B (supportato).
  • Cavo Micro-USB e adattatore di alimentazione Micro-USB per Raspberry Pi.
  • Scheda Micro SD (minimo 8 GB) - Per iniziare è necessario un sistema operativo. Puoi scaricare Raspbian Stretch e utilizzare le guide per Mac OS, Linux e Windows nel sito Web Raspberry Pi.
  • Una tastiera e un mouse USB e un monitor HDMI esterno: consigliamo anche di avere a portata di mano una tastiera e un mouse USB e un monitor HDMI.
  • Connessione Internet (Ethernet o Wi-Fi)

Kit base di interazione vocale Snips

I kit di sviluppo dell'interazione vocale Snips consentono agli utenti di avviare rapidamente lo sviluppo di interfacce vocali e integrare facilmente la piattaforma vocale Snips AI con l'hardware. Gli snip vengono eseguiti sul dispositivo, il che significa che tutti i comandi vocali e i dati vengono elaborati localmente anziché essere inviati al cloud. Questa elaborazione sul dispositivo si traduce in un assistente vocale offline completamente sicuro che mantiene privati i tuoi dati personali, come dovrebbe essere.

Il kit base di interazione vocale ti consente di eseguire l'intera piattaforma vocale Snips AI. Alimentato da un Raspberry Pi 3 Modello B+ e ReSpeaker 2-Mics Pi HAT, è in grado di fungere da altoparlante intelligente per la casa. Insieme al kit viene fornito un altoparlante, un sensore di temperatura e umidità Grove (SHT31), un relè Grove e un pannello forato per appenderlo a una parete o creare un elegante supporto.

Ma non è tutto! Il Voice Interaction Satellite Kit estenderà la tua stazione base per raggiungere ogni stanza della tua casa e ti permetterà di interagire con l'hardware in base a dove impartisci i tuoi comandi!

Questo kit contiene una scheda Raspberry Pi3 B+, ReSpeaker 2-Mics Pi HAT, Grove – Relè, Grove - Sensore di temperatura e umidità (SHT31), altoparlante 6 Ohm 2W, scheda MicroSD, adattatore di alimentazione con connettore Micro USB, cavo Grove x 2, base acrilica pannello.

Fasi di assemblaggio: (Contenuto da SNIPS) L'immagine seguente è la panoramica delle parti di assemblaggio.

Qui le parti di montaggio sono montate sul pannello di base.

Quindi, tutte le parti elettroniche sono montate sulla scheda.

Quindi montare la copertura protettiva in acrilico sulla parte superiore del Grove -Relay.

Queste 2 parti vengono utilizzate per trasformare il Kit in un supporto da tavolo.

Finalmente sei pronto per giocare con Snips.

Il kit prevede due modalità di posizionamento. Può essere posizionato su una superficie orizzontale come un supporto o può essere appeso a una parete utilizzando fili o filo. Si prega di fare attenzione con il relè quando il kit è acceso poiché la tensione di lavoro sarà alta.

NOTA: abbiamo anche uno Snips Voice Interaction Satellite Kit che ha un Raspberry Pi zero al posto del Raspberry Pi 3B+

Passaggio 4: interfaccia con Snips AI (progetto di base)

Image
Image
Interfacciamento con Snips AI (Project AI)
Interfacciamento con Snips AI (Project AI)
  • Alimentare il kit tramite l'adattatore di alimentazione predefinito nel kit o utilizzare un adattatore CC 5V-2A con un connettore Micro USB.
  • Il prossimo passo è installare l'assistente Snips nel Raspberry Pi. Per risparmiare tempo di configurazione, la scheda MicroSD nel kit è stata lampeggiata con l'immagine del sistema completamente funzionante, il che significa che l'assistente Snips è pronto per le tue parole trigger.
  • Ti consigliamo vivamente di studiare la guida all'installazione passo passo visitando: https://docs.snips.ai/getting-started/quick-start… e imparare lo strumento sam nella riga di comando.
  • Attiva l'assistente dicendo "Hey-snips" e segui il comando:

Di seguito puoi trovare il video dell'esempio preinstallato nel kit base Snips Voice Interaction.

Passaggio 5: interfaccia con Snips AI (Project AI)

Quindi è così che funziona. Innanzitutto, usiamo la hotword per avviare il riconoscimento Snips. Comprende la frase utilizzando Snips NLU e determina l'intento. Successivamente, utilizzando l'intento, estrai rispettivamente gli slot. Con il codice azione, programmiamo la risposta dell'IA con i rispettivi slot.

Passaggio 6: creazione di app e intenzioni

Creazione di app e intenzioni
Creazione di app e intenzioni
Creazione di app e intenzioni
Creazione di app e intenzioni
Creazione di app e intenzioni
Creazione di app e intenzioni
  • Crea un assistente. Nel mio caso, avevo creato un assistente con un nome JARVIS e con una hotword JARVIS.
  • Crea un'applicazione personalizzata o, per i principianti, usa l'applicazione dalla libreria.
  • Avevo creato un'applicazione con il nome Words
  • Crea un intento e inizia ad addestrare l'IA. Questo gioca un ruolo importante nel rendere robusta la tua intelligenza artificiale. Allenalo con tutti gli input possibili.
  • Crea uno slot per identificare le parole. Posiziona lo slot sulla frase prevista della frase. Per il mio esempio, Givenword è il nome dello slot ed è evidenziato in blu.
  • Una volta fatto, il tuo ASR personalizzato sarà pronto. Prova con gli input. Troviamo la risposta alla tua destra, sotto l'assistente. Questo ti dà l'estrazione del valore non elaborato, del nome dell'intento e dello slot.
  • Definisci gli slot con più esempi come indicato di seguito
  • Infine, distribuisci il tuo assistente per sperimentare la tua intelligenza artificiale personalizzata.

Passaggio 7: masterizza Raspbian sulla scheda SD

Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD
Masterizza Raspbian sulla scheda SD

Raspbian è la distribuzione Linux preferita in esecuzione su Raspberry Pi. In questa guida utilizzeremo la versione Lite, ma può essere utilizzata anche la versione Desktop (che viene fornita con un ambiente grafico).

  • Scarica Etcher e installalo.
  • Collega un lettore di schede SD con la scheda SD all'interno.
  • Apri Etcher e seleziona dal tuo disco rigido il file Raspberry Pi.img o.zip che desideri scrivere sulla scheda SD
  • Seleziona la scheda SD su cui desideri scrivere la tua immagine.
  • Rivedi le tue selezioni e fai clic su "Flash!" per iniziare a scrivere dati sulla scheda SD

Connetti il dispositivo alla tua rete

  • Abilita l'accesso SSH aggiungendo un file vuoto ssh, ancora una volta posizionato nella radice del volume di avvio sulla tua scheda SD.
  • Inserisci la scheda SD nel Raspberry Pi. Si avvierà in circa 20 secondi. Ora dovresti avere accesso SSH al tuo Raspberry Pi. Per impostazione predefinita, il suo nome host sarà raspberrypi.local. Sul tuo computer, apri una finestra di terminale e digita quanto segue:

ssh [email protected]

La password predefinita è lampone

Passaggio 8: installa la piattaforma Snips

Installa la piattaforma Snips
Installa la piattaforma Snips
Installa la piattaforma Snips
Installa la piattaforma Snips
Installa la piattaforma Snips
Installa la piattaforma Snips

Se non l'hai già fatto, installa Sam Command Line Interface sul tuo computer. Apri una finestra di terminale e inserisci:

sudo npm install -g snips-samor npm install -g snips-sam //Windows

Trova il tuo Raspberry Pi sulla rete eseguendo:

dispositivi sam

Quindi, stabilire una connessione al dispositivo. Ti verranno richiesti il nome utente e la password del dispositivo (il valore predefinito è rispettivamente pi e raspberry):

Sam Connect

Ora siamo pronti per installare la piattaforma Snips sul Raspberry Pi. Inserisci il comando:

sam inizia

Passaggio 9: configurare l'hardware

Configura l'hardware
Configura l'hardware
Configura l'hardware
Configura l'hardware

Sam fornisce alcuni comandi per impostare e configurare facilmente i componenti hardware. In questa sezione, imposteremo un altoparlante e un microfono. A seconda della configurazione, è necessario eseguire alcune configurazioni personalizzate.

sam setup audio

Prova l'altoparlante

Per verificare che l'altoparlante funzioni, eseguire

sam test speaker

Se tutto funziona bene, dovresti sentire sul tuo altoparlante una voce che dice alcune parole. Configura il microfono Puoi controllare che il tuo microfono funzioni:

Sam prova il microfono

Supponendo che tu abbia un altoparlante, se riesci a sentire chiaramente ciò che hai appena detto, puoi andare avanti senza ulteriori configurazioni del microfono.

Una volta che sei soddisfatto del funzionamento della configurazione hardware, sei pronto per passare al passaggio successivo, in cui distribuirai il tuo primo assistente.

Passaggio 10: importazione del modello AI dalla console

Importazione del modello AI dalla console
Importazione del modello AI dalla console

Dopo aver creato il tuo assistente dai passaggi precedenti, accedi alla console dalla finestra del terminale eseguendo:

accesso sam

Ti verrà chiesto di inserire le credenziali di Snips Console.

Quindi, installa l'assistente:

assistente di installazione di Sam

Se hai creato più assistenti nella Console, ti verrà chiesto di scegliere quale installare da un elenco.

Passaggio 11: gestore e codice azione

Affinché il Raspberry Pi risponda, dovremo scrivere del codice gestore. Questo è un codice che viene eseguito quando si verifica un determinato evento sulla piattaforma Snips, ad esempio quando è stato rilevato un intento.

Hai vari metodi per creare Handler a seconda del funzionamento.

Crea una cartella sul tuo computer in cui vuoi memorizzare il tuo codice gestore. Dalla finestra del terminale, passa a quella directory e inserisci:

npm init

Questo creerà un file chiamato package.json che contiene la descrizione del tuo progetto, le dipendenze e altro. Quindi, aggiungi la dipendenza del pacchetto mqtt:

npm install mqtt --save

Ora, crea un file chiamato index.js e incolla il seguente codice, sostituendo la variabile hostname con il nome host del tuo Raspberry Pi (se differisce dal raspberrypi predefinito):

var mqtt = require('mqtt');

var hostname = "mqtt://raspberrypi.local"; var client = mqtt.connect(hostname); client.on('connect', function () { console.log("[Snips Log] Connected to MQTT broker " + hostname); client.subscribe('hermes/#'); }); client.on('message', function (topic, message) { if (topic === "hermes/asr/startListening") { onListeningStateChanged(true); } else if (topic === "hermes/asr/stopListening") { onListeningStateChanged(false); } else if (topic.match(/hermes\/hotword\/.+\/detected/g) !== null) { onHotwordDetected() } else if (topic.match(/hermes\ /intent\/.+/g) !== null) { onIntentDetected(JSON.parse(message)); } }); function onIntentDetected(intent) { console.log("[Snips Log] Intento rilevato: " + JSON.stringify(intent)); } function onHotwordDetected() { console.log("[Snips Log] Hotword rilevata"); } function onListeningStateChanged(ascolto) { console.log("[Snips Log] " + (ascolto ? "Start": "Stop") + "ascolto"); }

Esegui questo codice usando Node:

nodo index.js

Dovresti vedere un messaggio di connessione riuscita al broker Snips MQTT. Come prima, esegui un'interazione vocale con il tuo Raspberry Pi:

Ehi Snips, che tempo fa a Chennai?

Dovresti vedere i log in aggiornamento:

[Snips Log] Connesso al broker MQTT mqtt://raspberrypi.local

[Snips Log] Hotword rilevata [Snips Log] Avvia ascolto [Snips Log] Interrompi ascolto [Snips Log] Intento rilevato: {"sessionId":"c84b5aa5-3f14-4218-975e-8872b9217933", "customData":null, "siteId ": "default", "input":"che tempo fa a Chennai", "intent":{"intentName":"searchWeatherForecast", "probability":0.73845243}, "slots":[{"rawValue":" chennai", "value":{"kind":"Custom", "value":"Chennai"}, "range":{"start":44, "end":53}, "entity":"locality", "slotName":"forecast_locality"}]}

Passaggio 12: risoluzione dei problemi

Elimina l'assistente precedente, se presente

$ sudo rm -rf /usr/share/snips/assistant/

Per cambiare la directory nell'Assistente

cd /var/lib/snips/skills/

Per clonare il contenuto del repository in locale

git clone

Per eseguire lo script setup.sh

./setup.sh

Attiva l'ambiente virtuale

fonte venv/bin/activate

Esegui il codice azione

./action-.py

Per dare il permesso allo script Python

chmod +x azione-.py

Passaggio 13: allegato

Allegato
Allegato
Allegato
Allegato
Allegato
Allegato
  • Avevo usato un involucro classificato IP per questo progetto
  • Innanzitutto, ho realizzato i fori necessari per montare i circuiti e gli slot per il cavo di alimentazione e il cavo HDMI.
  • Quindi ho posizionato tutto il Raspberry Pi all'interno del contenitore e l'ho avvitato saldamente.
  • Ho fatto una piccola apertura per l'altoparlante e il microfono e l'ho coperta usando un piccolo pezzo di foglio acrilico.
  • Collega saldamente l'altoparlante al cappello ReSpeaker.
  • Infine, tutte le viti sono montate saldamente e il cavo di alimentazione viene inserito tramite uno slot.
  • Ecco come appare finalmente l'IA:D

Passaggio 14: funzionamento dell'IA

Image
Image
Il funzionamento dell'AI
Il funzionamento dell'AI
Il funzionamento dell'AI
Il funzionamento dell'AI

Puoi trovare i dati che vengono monitorati usando Snips-watch

Ora è l'ora dello spettacolo. Ho iniziato a creare con Simple Greetings AI. Dai un'occhiata al suo funzionamento.

Il Trainer AI è stato programmato per parole limitate. Questo è estendibile con piccole modifiche. Questo aiuta gli Studenti a memorizzare il significato più velocemente rispetto al metodo tradizionale.

Gentile attenzione: questo progetto è formato per circa 25 parole. Può essere ulteriormente ampliato apportando piccole modifiche al codice d'azione.

Puoi trovare gli script di azione sul mio repository Github allegato.

Repo del progetto per Greetings AI -

Repo del progetto per Trainer AI -

Link alla mia applicazione:

L'intera configurazione costa circa $ 115 che possono essere acquistati da SNIPS e questa soluzione è molto economica ed efficace rispetto ai metodi tradizionali. Circa più di 100.000 test sono stati effettuati in India e questo prodotto sarà il miglior integratore per chi prende GRE.

Metti un pollice in su se ti è stato davvero d'aiuto e segui il mio canale per progetti interessanti.:) Condividi questo video se ti va. Felice di esserti iscritto: https://console.snips.ai/store/en/skill_xBKlxnE5K… Grazie per aver letto!

Consigliato: