Sommario:
Video: Come creare un'intelligenza artificiale Parte 4: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
L'altro giorno stavo parlando con la mia intelligenza artificiale e ho detto di
it, “Sto andando di sopra a cena, stiamo mangiando BISTECCA”.
Tuttavia, il software di riconoscimento vocale (SR) ha interpretato questo come "… stiamo avendo STAKE"
Mi sono imbattuto in un problema simile (ma diverso) prima quando stavo parlando di una fotografia e ho detto la parola "IMMAGINE". Il software SR ha interpretato questo come "PITCHER"
La soluzione a questo problema era una semplice riqualificazione del software SR. (O forse la mia pronuncia)
Ma quando dico le parole STEAK o STAKE, le pronuncio esattamente allo stesso modo, e riqualificare il software SR non aiuta in casi come questo.
Passo 1:
Un'idea per risolvere il “problema omonimo”.
Devo guardare la parola "nel contesto" per determinare quale ortografia usare. Il cervello umano lo fa abbastanza facilmente e tu non sai nemmeno che lo stai facendo.
Ciò significa che vengono esaminate altre parole in una frase e il tuo cervello decide quale ortografia sembra migliore. Ora, come posso farlo nel codice?
La mia IA programma analizza una frase in un array di singole parole utilizzando la funzione "Split" di Visual Basic (VB). [MyArray = Split(InputSentence, ““)]
Ogni parola nell'array può essere controllata per vedere se è un possibile omonimo cercando in una tabella di database contenente un elenco di omonimi.
Ovviamente, creare un'altra tabella significa che dovremo riempirla di dati e dovremo anche essere in grado di mantenere i dati nella tabella.
Una subroutine di autoapprendimento può essere costruita in seguito per scansionare un mucchio di testo, cercare parole nella mia tabella omonima e catturare altre parole "contestuali". Hmmmmm, forse sono necessari più tavoli…
Scrivere questi "Instructables" mi aiuta a "ragionare" una soluzione a una sfida di programmazione.
Passo 2:
Struttura della tabella HomonymContext
La mia prima idea era una tabella contenente parole, ortografie alternative e parole "contestuali". L'idea era di cercare una frase contenente un omonimo, per altre parole che danno il "contesto", in modo che il programma possa determinare quale ortografia usare. La tabella contiene anche una colonna denominata "WordDef" per contenere la definizione della parola, che è più per l'essere umano che mantiene la tabella rispetto all'A. I. codice.
Per cercare ogni parola, posso usare il codice VB e il codice SQL come…
Per ogni parola in MyArray
Query = "Seleziona parola da tblHomonynContext dove parola = '" & parola & "'"
se questa query restituisce un risultato, allora la parola è omonima
Prossimo
Questo è solo uno pseudo codice a questo punto - non ho ancora scritto il codice esatto, o capito tutti i dettagli. Ma sentiti libero di prendere la mia idea e implementarla usando il tuo linguaggio di programmazione preferito.
Passaggio 3:
Se la tua frase di input contiene un omonimo, ora puoi
esegui il codice VB che controllerà le altre parole nella tua frase, con le parole di contesto nei risultati della query.
Puoi anche fare tutto questo in una stored procedure SQL, che potrebbe essere eseguita più velocemente.
La funzione VB “InStr()” restituirà un numero maggiore di zero, se una stringa è contenuta all'interno di un'altra stringa, oppure restituirà zero, se la stringa NON è contenuta nell'altra.
Instr() restituisce effettivamente la posizione della stringa contenuta. Se vuoi solo sapere se String1 contiene String2, puoi usare codice come "If InStr(String1, String2) > 0 …"
Dovrai creare questo codice nel tuo linguaggio di programmazione preferito.
La tabella HomonymContext non è un ottimo design. Ha molti dati ripetuti e questo è considerato "non normalizzato" dai progettisti di database. Un modo migliore per implementare questa funzionalità sarebbe utilizzare due tabelle, in una relazione padre-figlio. Una tabella (The Parent) conterrebbe un elenco di omonimi, le loro definizioni e anche un ID di riga. Questo ID riga viene utilizzato come chiave per la "tabella figlio" che conterrebbe le parole e le relative parole di contesto.
Questo sarebbe più facile da interrogare (e da mantenere) rispetto al mio progetto originale.
Consigliato:
Intelligenza artificiale e riconoscimento delle immagini con HuskyLens: 6 passaggi (con immagini)
Intelligenza artificiale e riconoscimento delle immagini con HuskyLens: Ehi, come va, ragazzi! Akarsh qui da CETech. In questo progetto, daremo un'occhiata all'HuskyLens di DFRobot. È un modulo fotocamera basato sull'intelligenza artificiale in grado di eseguire diverse operazioni di intelligenza artificiale come Face Recognitio
L'intelligenza artificiale nel robot labirinto LEGO EV3: 13 passaggi
AI in LEGO EV3 Robot Maze-Driving: questo è un robot semplice e autonomo con una certa intelligenza artificiale. È progettato per esplorare un labirinto e quando viene riposto all'ingresso, per guidare fino all'uscita ed evitare i vicoli ciechi. È molto più complicato del mio progetto precedente, ma
Come creare un'intelligenza artificiale Parte 2: 9 passaggi
Come creare un'intelligenza artificiale Parte 2: Questa è la parte 2 sui passaggi che ho eseguito per creare un'intelligenza artificiale su un computer Windows, utilizzando un database gratuito, uno strumento di sviluppo della programmazione e il motore TTS integrato gratuito fornito con Windows. La parola "Windows" appartiene a Microsoft.La parola "Dra
Come creare un'intelligenza artificiale Parte 1: 5 passaggi
Come creare un'intelligenza artificiale Parte 1: Inizia con un computer che ha il riconoscimento vocale e anche un convertitore da testo a voce. Dovrai essere in grado di scrivere programmi per computer in grado di accedere al riconoscimento vocale e al convertitore da testo a voce. Alcuni strumenti di sviluppo di applicazioni e
Come condurre un workshop pratico sull'intelligenza artificiale di LA Makerspace: 10 passaggi (con immagini)
Come condurre un workshop pratico sull'intelligenza artificiale di LA Makerspace: in LA Makerspace, un'organizzazione no-profit, ci concentriamo sull'insegnamento di una preziosa formazione pratica su STEAM per incoraggiare la prossima generazione, in particolare coloro che sono sottorappresentati e con risorse insufficienti, a essere responsabilizzati Maker, shaper e driver di domani. Facciamo questo