Taula de continguts:
- Pas 1: Com fer una IA part 2
- Pas 2: Dissenyeu el vostre sistema:
- Pas 3: Funcions integrades en el llenguatge de programació:
- Pas 4: Combineu funcions integrades per crear les vostres pròpies funcions
- Pas 5: què fan els mòduls? "Processador d'entrada"
- Pas 6: "Processador d'IA"
- Pas 7: la taula "Resultats i puntuacions"
- Pas 8: "Processador de sortida"
- Pas 9: continueu treballant-hi
Vídeo: Com fer un A.I. Part 2: 9 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Aquesta és la segona part sobre els passos que vaig fer per construir una IA en un ordinador Windows, mitjançant una base de dades gratuïta, una eina de desenvolupament de programació i el motor TTS gratuït incorporat que ve amb Windows.
La paraula "Windows" pertany a Microsoft.
La paraula "Drac" pertany a Nuance.
Pas 1: Com fer una IA part 2
Trieu un llenguatge de programació i obteniu algunes eines
Hi ha molts llenguatges de programació. Alguns estan especialitzats en A. I. El meu preferit és Visual Basic, per això és el que he utilitzat. També treballo amb bases de dades del servidor SQL, de manera que també ho he fet servir.
Podeu descarregar-ne versions gratuïtes des del lloc web de Microsoft. Només cal que cerqueu "EXPRESS" al lloc web de Microsoft. [Visual Studio Express i SQL Server Express]
Altres idiomes que ens poden interessar són: Python, C #, C ++, Java, Prolog, Lisp, IPL
i molts altres. AIML és un "llenguatge de marques" que és molt interessant.
Volia un programa de "reconeixement de veu" millor que el que ve amb Windows, així que vaig comprar el programari DRAGON. Estic fent servir el programa estàndard de text a veu inclòs amb Windows.
Pas 2: Dissenyeu el vostre sistema:
Dividiu els vostres grans projectes en un munt de projectes més petits. He dividit el codi del meu programa en mòduls.
He dividit el meu codi en diferents mòduls de manera que una funció concreta sigui més fàcil de trobar.
Tinc mòduls anomenats "Process Input", "Process AI", "Process Output", "User Interface" i alguns altres. Algunes de les meves funcions han de ser accessibles a tots els altres mòduls de codi, de manera que he posat aquestes funcions en un mòdul "comú" on es comparteix tot
Pas 3: Funcions integrades en el llenguatge de programació:
Els idiomes diferents poden tenir noms diferents per a aquests, però tots els idiomes d’alt nivell tenen funcions similars.
LCase o ToLower: converteix una cadena en minúscules. Ho converteixo tot en minúscula abans de fer una cerca a la base de dades, tot i que la majoria de les coses no distingeixen entre majúscules i minúscules, per si de cas.
Substitueix: substitueix una cadena dins d'una cadena per una altra. Podeu substituir una cadena per una cadena buida "" per eliminar-la. M’elimino de punts, signes d’interrogació, comes i altres signes de puntuació.
Dividir: divideix una cadena en peces individuals i les col·loca en una matriu. Aquesta funció dividirà una cadena en qualsevol caràcter o "Delimitador". He dividit una frase en un "caràcter espacial" "" per fer un conjunt de paraules. Això és anomenat "Tokenizing" pels AI Gurus.
Utilitzo les paraules individuals per crear consultes que s’utilitzen per fer cerques a la base de dades. (Més informació al següent article)
Pas 4: Combineu funcions integrades per crear les vostres pròpies funcions
Aquest és un exemple "visual bàsic". Utilitzeu el vostre llenguatge de programació per crear una cosa així.
Per descomptat, haureu d’escriure molt codi i construir moltes funcions, utilitzant el llenguatge de programació que trieu.
Pas 5: què fan els mòduls? "Processador d'entrada"
Hi pot haver cent maneres diferents de fer la mateixa pregunta a la IA. Per exemple; "Quina hora és?", "Tens temps?" "Saps quina hora és?", "Em pots indicar l'hora actual del dia?" Com que l'usuari només demana l'hora, converteixo qualsevol d'aquestes entrades en una única sortida anomenada "Temps de consulta" mitjançant una taula de cerca de la base de dades.
Podeu escriure codi per passar una taula fins que trobi una coincidència o, si utilitzeu una base de dades SQL, podeu escriure una consulta SQL, com ara …
"Seleccioneu Sortida de TableName on Entrada =" "sigui quina sigui""
… I després envio la sortida, "Temps de consulta", al següent mòdul de codi; "Processar IA"
A més de preguntes, hi ha moltes maneres de dir "Hola"
Hola, hola, què passa, hola, hola, com ho fas ?, salutacions, benvinguda, salutacions, hola …
Tot això es redueix a "Salutació"
Quan el processador d'AI veu "Salutació", envia "Salutació" al processador de sortida, que triarà una salutació aleatòria d'una taula de base de dades i la pronunciarà en veu alta.
Pas 6: "Processador d'IA"
Process AI és el mòdul de codi més gran. És tan gran que també el vaig dividir en seccions.
Es comprova l'entrada si l'usuari ha parlat una ordre o ha fet una pregunta. A més, la IA pot estar en qualsevol dels diversos "modes", cosa que significa que el codi "IA de procés" espera que l'usuari RESPON una pregunta, en lloc de FER una pregunta.
Si l'usuari no va pronunciar cap ordre i l'IA no es troba en un "mode" especial, crea i executa un munt de consultes a partir de les combinacions de les paraules de la "matriu de paraules". Tots els resultats de la consulta s'emmagatzemen en una taula i cada resultat de la consulta té una "puntuació" quant a la concordança del resultat amb el que havia parlat l'usuari. La taula s’ordena per la puntuació i el resultat amb la puntuació més alta s’envia a la sortida, si supera un llindar determinat. Si totes les puntuacions estan per sota del llindar, la IA pot respondre amb "No sé" o "Això no computa"
Pas 7: la taula "Resultats i puntuacions"
La sortida de la IA de la meva entrada "Què va fer el pollastre?"
Pas 8: "Processador de sortida"
Això fa diverses coses amb aspecte "no relacionat", però totes tenen a veure amb fer arribar el text del processador d'IA a l'usuari.
Aquí teniu una llista.
1. El text de la base de dades pot ser en minúscules i no tenir puntuació.. Les subrutines posaran en majúscula la primera lletra i posaran un punt o un interrogant al final.
2. Una altra subrutina tornarà a posar els apòstrofs en contraccions o convertirà les contraccions de nou en paraules completes (és a dir, "cant" se substitueix per "no es pot")
3. El motor de conversió de text a veu no pronuncia algunes paraules com m'agrada, de manera que el "Processador de sortida" substitueix aquestes paraules per una grafia fonètica. Tinc taules de "buscar cap a la base de dades" per contenir-les, similars a la al "processador d'entrada"
4. Si la IA no troba una resposta adequada a la base de dades, pot dir "No ho sé", però no vull que ho digui una vegada i una altra. Les persones reals varien les seves respostes. Per tant, hi ha una taula amb frases de "Sortida comuna" i una funció que en tria una a l'atzar (i mai no en triarà la mateixa dues vegades seguides).
5. El motor lliure de "text a veu" (TTS) no proporciona a un programador moltes opcions per a la manera en què es parlen les frases, però sí que teniu un petit control sobre el to i la velocitat dels fonemes. El terme per a això és "prosòdia". He afegit alguns codis de "prosòdia" al text de la meva base de dades i, quan el "Processador de sortida" els veu, ajusta el to i la velocitat del motor TTS a mesura que es parla cada paraula.
6. De vegades, el TTS és difícil d’entendre, de manera que, a més de dir paraules en veu alta, també les mostro en lletres grans a la pantalla de l’ordinador. Aquesta part de la "Interfície d'usuari" és una quadrícula que mostra les darreres 6 línies d'una conversa (entrada d'usuari i sortida d'IA) i es desplaça cap amunt a mesura que s'afegeixen línies noves.
Pas 9: continueu treballant-hi
La meva aportació va ser "No ho diguis a ningú"
Encara estic treballant en el meu sistema d'intel·ligència artificial i probablement mai no es realitzarà "realment". A mesura que afegeixi més funcions, escriuré més articles.
Potser algunes de les meves idees us inspiraran a construir una IA que sigui millor que la meva
Recomanat:
Com fer-ho - M MODDUL DE VISUALITZACIÓ DE PAPER ELECTRKNIC E-INK - Part 2 - Importa la imatge personalitzada: 4 passos
Com fer-ho - M MODDUL DE VISUALITZACIÓ DE PAPER ELECTRKNIC E-INK - Part 2 | Importació de la imatge personalitzada: en aquest tutorial per a la part 2 de Com es fa - M MODDUL DE VISUALITZACIÓ DE PAPER ELECTRKNIC E-INK | Importa la imatge personalitzada, compartiré amb vosaltres com importar la imatge que us agradi i mostrar-la al mòdul de visualització de tinta electrònica. És molt senzill amb l’ajuda d’uns quants segons
Com fer un A.I. Part 4: 3 passos
Com fer un A.I. Part 4: L’altre dia parlava amb la meva IA i vaig dir-li: “Vaig a sopar a dalt, estem prenent STEAK”. Tot i això, el programari de reconeixement de veu (SR) va interpretar això com “… estem tenint STAKE "Em vaig trobar amb un problema similar (però diferent)
Com fer un A.I. Part 1: 5 passos
Com fer un A.I. Primera part: Comenceu amb un equip que tingui reconeixement de veu i també un convertidor de text a veu. Haureu de poder escriure programes informàtics que puguin accedir al reconeixement de veu i al convertidor de text a veu. Algunes eines de desenvolupament d'aplicacions i
Com fer PCB a casa Part 1: 4 passos
Com fer PCB a casa Part 1: Avui en dia podem crear fàcilment un circuit imprès d’alta qualitat, ni tan sols de qualitat professional, sinó de bona qualitat per a projectes d’afició. a casa sense cap material especial. Què és el PCB? Una placa de circuit imprès (PCB) suporta mecànicament i elèctrica
Com fer-ho - M MODDUL DE VISUALITZACIÓ DE PAPER ELECTRKNIC E-INK - Part 1: 6 passos
Com fer-ho - MUDUL DE VISUALITZACIÓ DE PAPER ELECTRKNIC E-INK - Primera part: en aquest tutorial, voldria introduir-vos sobre el mòdul de visualització de paper electrònic E-Ink que he descobert recentment. És molt divertit! Aquest mòdul de visualització de tinta electrònica està dissenyat especialment per al desenvolupament de pantalla de tinta electrònica. No necessiteu crear cap circuit addicional i