Sadržaj:
- Korak 1: Kako napraviti AI dio 2
- Korak 2: Dizajnirajte svoj sustav:
- Korak 3: Funkcije ugrađene u programski jezik:
- Korak 4: Kombinirajte ugrađene funkcije za stvaranje vlastitih funkcija
- Korak 5: Što rade moduli? "Ulazni procesor"
- Korak 6: "AI procesor"
- Korak 7: Tablica "izlaz i rezultati"
- Korak 8: "Izlazni procesor"
- Korak 9: Nastavite raditi na tome
Video: Kako napraviti A.I. Dio 2: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Ovo je drugi dio o koracima koje sam poduzeo za izgradnju umjetne inteligencije na Windows računalu, koristeći besplatnu bazu podataka, alat za razvoj programiranja i besplatni ugrađeni TTS motor koji dolazi s Windowsima.
Riječ "Windows" pripada Microsoftu.
Riječ "Zmaj" pripada Nuanceu.
Korak 1: Kako napraviti AI dio 2
Odaberite programski jezik i nabavite neke alate
Postoji mnogo programskih jezika. Neki su specijalizirani za A. I. Najdraži mi je Visual Basic pa sam to i koristio. Radim i s bazama podataka SQL poslužitelja pa sam i to koristio.
Možete preuzeti besplatne verzije ovih verzija s Microsoftove web stranice. Samo potražite “EXPRESS” na Microsoftovoj web stranici. [Visual Studio Express i SQL server Express]
Drugi jezici koje biste željeli su nam: Python, C#, C ++, Java, Prolog, Lisp, IPL
i mnogi drugi. AIML je "jezik označavanja" koji je vrlo zanimljiv.
Htio sam bolji program za "prepoznavanje govora" od onog koji dolazi s Windowsima, pa sam kupio softver DRAGON. Koristim standardni program za pretvaranje teksta u govor koji je isporučen sa sustavom Windows.
Korak 2: Dizajnirajte svoj sustav:
Podijelite svoje velike projekte u hrpu manjih projekata. Svoj programski kod podijelio sam na module.
Podijelio sam svoj kôd na različite module tako da je određenu funkciju lakše pronaći.
Imam module pod nazivom „Unos procesa“, „Procesna inteligencija“, „Izlaz procesa“, „Korisničko sučelje“i nekoliko drugih. Neke od mojih funkcija moraju biti dostupne svim ostalim kodnim modulima, pa sam te funkcije stavio u "zajednički" modul gdje se sve dijeli
Korak 3: Funkcije ugrađene u programski jezik:
Različiti jezici mogu imati različite nazive za ove jezike, ali svi jezici na visokoj razini imaju slične funkcije.
LCase ili ToLower: Pretvara niz u sva mala slova. Prije pretraživanja baze podataka sve pretvaram u mala slova-iako je većina stvari "ne razlikuju velika i mala slova"-Za svaki slučaj.
Zamijeni: Zamijenite niz unutar niza u drugi niz. Možete zamijeniti niz praznim nizom "" da biste ga se riješili. Riješim se točaka, upitnika, zareza i drugih znakova interpunkcije.
Split: Razdvaja niz na pojedinačne dijelove i stavlja ih u niz. Ova funkcija će podijeliti niz na bilo koji znak ili "Razdjelnik". Rečenicu sam podijelio na "razmaknicu" "" kako bih napravio niz riječi. AI gurui to zovu "Tokeniziranje".
Koristim pojedinačne riječi za izradu upita koji se koriste za pretraživanje baze podataka. (Više o tome u mom sljedećem članku)
Korak 4: Kombinirajte ugrađene funkcije za stvaranje vlastitih funkcija
Ovo je "osnovni vizualni" primjer. Upotrijebite svoj programski jezik da biste izgradili nešto poput ovoga.
Naravno, morat ćete napisati mnogo koda i izgraditi mnoge funkcije, koristeći programski jezik po svom izboru.
Korak 5: Što rade moduli? "Ulazni procesor"
Možda postoji stotinu različitih načina da AI postavite isto pitanje. Na primjer; "Koliko je sati?", "Imate li vremena?" "Znate li koliko je sati?", "Možete li mi reći trenutno doba dana?" Budući da korisnik samo traži vrijeme, pretvaram bilo koji od ovih ulaza u jedan izlaz pod nazivom "Vrijeme upita" koristeći tablicu "traženje" baze podataka.
Možete pisati kôd za petlju kroz tablicu dok ne pronađe podudaranje, ili ako koristite SQL bazu podataka, možete napisati SQL upit, poput …
"Odaberite izlaz iz TableName gdje je Input =" "svejedno""
… I onda šaljem izlaz, "Query Time", u sljedeći kodni modul; "Procesna umjetna inteligencija"
Osim pitanja, postoji mnogo načina da kažete "Zdravo"
Bok, zdravo, što ima, hej, hola, kako si ?, pozdrav, dobrodošao, pozdrav, pozdrav …
Sve se to svodi na "Pozdrav"
Kada AI procesor vidi "Greeting", šalje "Greeting" izlaznom procesoru, koji će izabrati nasumični pozdrav iz tablice baze podataka i izgovoriti ga naglas.
Korak 6: "AI procesor"
Procesna umjetna inteligencija najveći je kodni modul. Toliko je velik da sam ga podijelio i u odjeljke.
Unos se provjerava da li je korisnik izgovorio naredbu ili postavio pitanje. Također, umjetna inteligencija može biti u bilo kojem od nekoliko “načina”, što znači da kod “procesna umjetna inteligencija” očekuje da korisnik ODGOVORI na pitanje, umjesto da postavi pitanje.
Ako korisnik nije izgovorio naredbu, a umjetna inteligencija nije u posebnom "načinu rada", tada gradi i izvršava hrpu upita, iz kombinacija riječi u "nizu riječi". Svi rezultati upita pohranjeni su u tablici, a svaki rezultat upita dobiva "ocjenu" koliko se rezultat podudara s onim što je korisnik rekao. Tablica je razvrstana po bodovima, a rezultat s najvišom ocjenom šalje se na izlaz, ako prelazi određeni prag. Ako su svi bodovi ispod praga, umjetna inteligencija može odgovoriti sa "ne znam" ili "to se ne računa"
Korak 7: Tablica "izlaz i rezultati"
Rezultat umjetne inteligencije iz mog unosa "Što je kokoš učinila?"
Korak 8: "Izlazni procesor"
To čini nekoliko stvari koje nisu povezane, ali sve imaju veze s prenosom teksta iz AI procesora do korisnika.
Ovdje je popis.
1. Tekst iz baze podataka može biti malim slovima i bez interpunkcije.. Podprogrami će veliko slovo napisati velikim početnim slovom, a na kraju staviti točku ili upitnik.
2. Druga potprogram vratit će apostrofe u kontrakcije ili pretvoriti kontrakcije u pune riječi (tj. "Cant" se zamjenjuje sa "can not")
3. Stroj za pretvaranje teksta u govor ne izgovara neke riječi onako kako mi se sviđa, pa "Output Processor" zamjenjuje te riječi fonetskim pravopisom. Imam tablice "potražite" bazu podataka da ih držim, slično onoj u "ulaznom procesoru"
4. Ako umjetna inteligencija ne pronađe odgovarajući odgovor u bazi podataka, može reći "ne znam", ali ne želim da to ponavlja iznova i iznova. Pravi ljudi razlikuju svoje odgovore. Dakle, postoji tablica s izrazima "Uobičajeni izlaz" i funkcija koja nasumično odabire jednu (i nikada neće odabrati istu dva puta zaredom.)
5. Besplatni mehanizam za pretvaranje teksta u govor (TTS) ne daje programeru mnogo mogućnosti za način izgovora rečenica, ali imate malo kontrole nad visinom tona i brzinom fonema. Izraz za to je "prozodija". Dodao sam neke "prozodijske" kodove u tekst u svojoj bazi podataka, a kada ih "Output Processor" vidi, prilagođava visinu i brzinu u TTS stroju kako se izgovara svaka riječ.
6. Ponekad je TTS jednostavno teško razumjeti, pa osim što izgovaram riječi naglas, prikazujem ih i velikim slovima na zaslonu računala. Ovaj dio "Korisničkog sučelja" rešetka je koja prikazuje posljednjih 6 redaka razgovora (korisnički unos i AI izlaz) i pomiče se prema gore dodavanjem novih redaka.
Korak 9: Nastavite raditi na tome
Moj unos je bio "Ne govori nikome"
Još uvijek radim na svom AI sustavu i vjerojatno to nikada neće biti dovršeno. Kako budem dodavao više značajki, pisat ću i više članaka.
Možda će vas neke od mojih ideja inspirirati da napravite AI koja je bolja od moje
Preporučeni:
LED snapper: vjerojatno najosnovniji dio testne opreme koju možete napraviti: 3 koraka
LED Snapper: Vjerojatno najosnovniji dio testne opreme koju možete napraviti: Dopustite mi da vam predstavim LED Snapper. Jednostavan, ali izuzetno koristan dio ispitne opreme koju možete izgraditi kako biste lakše otklonili greške u svojim projektima elektronike. LED Snapper je tiskana ploča otvorenog koda koja vam omogućuje jednostavno dodavanje de
Uradi sam Kako napraviti sat koji izgleda lijepo - StickC - Jednostavno za napraviti: 8 koraka
Uradi sam Kako napraviti sat sa lijepim izgledom - StickC - Jednostavno za napraviti: U ovom ćemo vodiču naučiti kako programirati ESP32 M5Stack StickC s Arduino IDE -om i Visuinom za prikaz vremena na LCD -u te također postaviti vrijeme pomoću tipki StickC
Kako napraviti A.I. Dio 4: 3 koraka
Kako napraviti A.I. Četvrti dio: Neki dan sam razgovarao sa svojim AI -om i rekao sam toit, "Idem gore na večeru, imamo STEAK". Međutim, softver za prepoznavanje govora (SR) to je protumačio kao "… imamo STAKE”Naletio sam na slično (ali različito) problematično uho
Kako napraviti A.I. Dio 1: 5 koraka
Kako napraviti A.I. 1. dio: Počnite s računalom koje ima prepoznavanje govora, a također i pretvarač teksta u govor. Morat ćete moći pisati računalne programe koji mogu pristupiti prepoznavanju govora i pretvaraču teksta u govor. Neki alati za razvoj aplikacija i
Kako napraviti PCB kod kuće Dio 1: 4 koraka
Kako napraviti PCB kod kuće 1. dio: Danas lako možemo stvoriti visokokvalitetni tiskani krug, čak ni profesionalne kvalitete, ali dobre kvalitete za hobi projekte. kod kuće bez ikakvog posebnog materijala. Što je PCB? Tiskana ploča (PCB) mehanički podržava i električno