Sadržaj:
- Korak 1: Kako napraviti AI dio 2
- Korak 2: Dizajnirajte svoj sistem:
- Korak 3: Funkcije ugrađene u programski jezik:
- Korak 4: Kombinirajte ugrađene funkcije za stvaranje vlastitih funkcija
- Korak 5: Šta rade moduli? "Ulazni procesor"
- Korak 6: "AI procesor"
- Korak 7: Tabela "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 izmjena: 2024-01-30 08:04
Ovo je drugi dio o koracima koje sam poduzeo za izgradnju umjetne inteligencije na Windows računaru, koristeći besplatnu bazu podataka, alat za razvoj programiranja i besplatni ugrađeni TTS motor koji dolazi s Windows -om.
Riječ "Windows" pripada Microsoftu.
Reč "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. Moj omiljeni je Visual Basic, pa sam to i koristio. Radim i sa bazama podataka SQL servera, 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 da nam pošaljete su: 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 sistem:
Podijelite svoje velike projekte u gomilu manjih projekata. Podijelio sam svoj programski kod 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, ali svi jezici na visokom nivou imaju slične funkcije.
LCase ili ToLower: Pretvara niz u sva mala slova. Pretvaram sve u mala slova prije pretraživanja baze podataka-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 tačaka, upitnika, zareza i drugih znakova interpunkcije.
Podijeli: Razdvaja niz na pojedinačne dijelove i stavlja ih u niz. Ova funkcija će podijeliti niz na bilo koji znak ili "Razdjelnik". Podijelio sam rečenicu na "razmaknicu" "" da napravim 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 "vizualni osnovni" primjer. Upotrijebite svoj programski jezik da napravite nešto poput ovoga.
Naravno, morat ćete napisati mnogo koda i izgraditi mnoge funkcije, koristeći programski jezik po vašem izboru.
Korak 5: Šta 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 =" "šta god""
… I onda šaljem izlaz, “Query Time”, u sljedeći kodni modul; "Proces AI"
Osim pitanja, postoji mnogo načina da kažete "Zdravo"
Zdravo, zdravo, šta ima, hej, hola, kako si ?, pozdrav, dobrodošlica, 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 inteligencija je najveći kodni modul. Toliko je velik da sam ga podijelio i na 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 "modu", 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 sortirana prema rezultatu, a rezultat s najvišom ocjenom šalje se na izlaz, ako prelazi određeni prag. Ako su svi bodovi ispod praga, AI može odgovoriti sa "ne znam" ili "to se ne računa"
Korak 7: Tabela "izlaz i rezultati"
Rezultat AI -a iz mog unosa "Šta je uradila piletina?"
Korak 8: "Izlazni procesor"
Ovo čini nekoliko stvari koje nisu povezane, ali sve imaju veze s prenosom teksta iz AI procesora do korisnika.
Evo liste.
1. Tekst iz baze podataka može biti malim slovima i bez interpunkcije.. Podprogrami će pisati veliko slovo velikim slovima, a na kraju će staviti točku ili upitnik.
2. Druga potprogram vratit će apostrofe u kontrakcije ili pretvoriti kontrakcije u potpune riječi (tj. "Cant" se zamjenjuje sa "can not")
3. Mašina za pretvaranje teksta u govor ne izgovara neke riječi onako kako ja volim, pa "Output Processor" zamjenjuje te riječi fonetskim pravopisom. Imam tablice za "traženje" baze podataka za držanje ovih, slično onoj u "ulaznom procesoru"
4. Ako AI 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 pretvaranja teksta u govor (TTS) ne daje programerima 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 mehanizmu 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 ekranu računara. Ovaj dio "Korisničkog sučelja" je rešetka 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 sistemu umjetne inteligencije, i to vjerovatno nikada neće biti istinski „završeno“. Kako budem dodavao više funkcija, pisat ću i više članaka.
Možda će vas neke od mojih ideja inspirirati da napravite AI koja je bolja od moje
Preporučuje se:
Uradi sam Kako napraviti sat koji izgleda lijepo - StickC - Jednostavno za napraviti: 8 koraka
Uradi sam Kako napraviti sat sa lijepim izgledom - StickC - Lako 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 podesiti vrijeme pomoću tipki StickC
Kako napraviti A.I. Dio 4: 3 koraka
Kako napraviti A.I. Četvrti dio: Neki dan sam razgovarao sa svojom AI, 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čunarom koji ima prepoznavanje govora i pretvarač teksta u govor. Morat ćete moći pisati računarske 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: U današnje vrijeme lako možemo stvoriti visokokvalitetno tiskano kolo, čak ni profesionalne kvalitete, ali dobre kvalitete za hobi projekte. kod kuće bez ikakvog posebnog materijala. Šta je štampana ploča? Štampana ploča (PCB) mehanički podržava i električna
Kako napraviti kalendar djeda i baka & Spomenar (čak i ako ne znate kako napraviti spomenar): 8 koraka (sa slikama)
Kako napraviti kalendar djeda i baka & Spomenar (čak i ako ne znate kako se bilježiti): Ovo je vrlo ekonomičan (i cijenjen!) Praznični poklon za bake i djedove. Ove sam godine napravio 5 kalendara za manje od 7 dolara svaki. Materijali: 12 sjajnih fotografija vašeg djeteta, djece, nećaka, nećaka, pasa, mačaka ili druge rodbine12 različitih komada