Obsah:
- Krok 1: Jak vyrobit AI, část 2
- Krok 2: Navrhněte svůj systém:
- Krok 3: Funkce, které jsou integrovány do programovacího jazyka:
- Krok 4: Zkombinujte vestavěné funkce a vytvořte si vlastní funkce
- Krok 5: Co moduly dělají? "Vstupní procesor"
- Krok 6: „Procesor AI“
- Krok 7: Tabulka „Výstup a skóre“
- Krok 8: „Výstupní procesor“
- Krok 9: Pokračujte v práci
Video: Jak si vyrobit A.I. Část 2: 9 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Toto je část 2 o krocích, které jsem podnikl při vytváření AI na počítači se systémem Windows, pomocí bezplatné databáze, nástroje pro vývoj programování a bezplatného integrovaného enginu TTS, který je součástí systému Windows.
Slovo „Windows“patří společnosti Microsoft.
Slovo „drak“patří Nuance.
Krok 1: Jak vyrobit AI, část 2
Vyberte si programovací jazyk a získejte nějaké nástroje
Programovacích jazyků je mnoho. Některé jsou specializované pro A. I. Můj oblíbený je Visual Basic, takže jsem ho použil. Pracuji také s databázemi serveru SQL, takže jsem to také použil.
Jejich bezplatné verze si můžete stáhnout z webu Microsoft. Stačí vyhledat „EXPRESS“na webových stránkách společnosti Microsoft. [Visual Studio Express a SQL server Express]
Další jazyky, které pro nás možná budete chtít, jsou: Python, C#, C ++, Java, Prolog, Lisp, IPL
a mnoho dalších. AIML je „značkovací jazyk“, který je velmi zajímavý.
Chtěl jsem lepší program „rozpoznávání řeči“než ten, který je dodáván s Windows, tak jsem si koupil software DRAGON. Používám standardní program „Převod textu na řeč“, který byl dodán se systémem Windows.
Krok 2: Navrhněte svůj systém:
Rozdělte své velké projekty na spoustu menších projektů. Rozdělil jsem svůj programový kód do modulů.
Rozdělil jsem svůj kód do různých modulů, aby bylo možné konkrétní funkci snáze najít.
Mám moduly s názvem „Process Input“, „Process AI“, „Process Output“, „User Interface“a několik dalších. Některé z mých funkcí musí být přístupné všem ostatním modulům kódu, proto jsem tyto funkce vložil do „společného“modulu, kde je vše sdíleno
Krok 3: Funkce, které jsou integrovány do programovacího jazyka:
Různé jazyky mohou mít různé názvy, ale všechny jazyky na vysoké úrovni mají podobné funkce.
LCase nebo ToLower: Převede řetězec na všechna malá písmena. Před vyhledáváním v databázi převádím vše na malá písmena-i když většina věcí nerozlišuje velká a malá písmena-jen pro případ.
Nahradit: Nahradí řetězec uvnitř řetězce jiným řetězcem. Chcete -li se toho zbavit, můžete řetězec nahradit prázdným řetězcem „“. Zbavuji se teček, otazníků, čárek a dalších interpunkčních znamének.
Rozdělit: Rozdělí řetězec na jednotlivé kousky a umístí je do pole. Tato funkce rozdělí řetězec na libovolný znak nebo „Oddělovač“. Rozdělil jsem větu na „vesmírný znak“„“, abych vytvořil řadu slov. Toto je nazýváno „Tokenizací“AI Guru.
Jednotlivá slova používám k vytváření dotazů používaných k prohledávání databáze. (Více o tom v mém dalším článku)
Krok 4: Zkombinujte vestavěné funkce a vytvořte si vlastní funkce
Toto je příklad „vizuálního základu“. K vytvoření něčeho takového použijte svůj programovací jazyk.
Samozřejmě budete muset napsat spoustu kódu a vytvořit mnoho funkcí pomocí programovacího jazyka, který si vyberete.
Krok 5: Co moduly dělají? "Vstupní procesor"
Mohlo by existovat sto různých způsobů, jak položit AI stejnou otázku. Například; "Kolik je hodin?", "Máte čas?" "Víš, kolik je hodin?", "Můžeš mi říct aktuální denní dobu?" Protože uživatel pouze žádá o čas, převedu jakýkoli z těchto vstupů na jeden výstup s názvem „Čas dotazu“pomocí tabulky „vyhledat“databázi.
Můžete psát kód a procházet tabulkou, dokud nenajde shodu, nebo pokud používáte databázi SQL, můžete napsat dotaz SQL, jako …
"Vyberte výstup z TableName, kde Input =" "cokoli""
… A pak odešlu výstup „Query Time“do dalšího modulu kódu; „Procesní AI“
Kromě otázek existuje mnoho způsobů, jak říci „ahoj“
Ahoj, ahoj, co se děje, ahoj, jak se máš ?, pozdravy, uvítání, pozdravy, ahoj…
Všechny tyto položky jsou redukovány na „pozdrav“
Když procesor AI uvidí „Pozdrav“, odešle „Pozdrav“výstupnímu procesoru, který vybere náhodný pozdrav z databázové tabulky a vysloví jej nahlas.
Krok 6: „Procesor AI“
Process AI je největší modul kódu. Je tak velký, že jsem ho také rozdělil na sekce.
Vstup je zkontrolován, aby se zjistilo, zda uživatel vyslovil příkaz nebo položil otázku. AI může být také v kterémkoli z několika „režimů“, což znamená, že kód „Procesní AI“očekává, že uživatel ODPOVÍDÁ na otázku, místo NA KLADENÍ otázky.
Pokud uživatel nevyslovil příkaz a AI není ve speciálním „režimu“, vytvoří a provede spoustu dotazů z kombinací slov v „poli slov“. Všechny výsledky dotazu jsou uloženy v tabulce a každému výsledku dotazu je přiřazeno „skóre“, do jaké míry se výsledek shoduje s tím, co uživatel vyslovil. Tabulka je seřazena podle skóre a výsledek s nejvyšším skóre je odeslán na výstup, pokud překročí určitou prahovou hodnotu. Pokud jsou všechna skóre pod prahovou hodnotou, může AI reagovat „nevím“nebo „to se nepočítá“
Krok 7: Tabulka „Výstup a skóre“
Výstup AI z mého vstupu „Co udělalo kuře?“
Krok 8: „Výstupní procesor“
To dělá několik „nesouvisejících“věcí, které vypadají, ale všechny mají co do činění se získáním textu z procesoru AI k uživateli.
Zde je seznam.
1. Text z databáze může být psán malými písmeny a nesmí obsahovat žádnou interpunkci.. Programy začnou používat velké písmeno jako první a na konec vloží tečku nebo otazník.
2. Jiný podprogram přenese apostrofy zpět do kontrakcí nebo převede kontrakce zpět na plná slova (tj. „Převýšení“se nahradí „nelze“)
3. Modul převodu textu na řeč nevyslovuje některá slova tak, jak se mi líbí, takže „výstupní procesor“tato slova nahradí fonetickým hláskováním. Mám tabulky „vyhledat“tabulky, které je obsahují, podobné té, kterou mám ve „vstupním procesoru“
4. Pokud AI nenalezne vhodnou odpověď v databázi, může říci „nevím“, ale nechci, aby to říkala znovu a znovu. Skuteční lidé mění své reakce. Existuje tedy tabulka s frázemi „Společný výstup“a funkcí, která náhodně vybere jednu (a nikdy nevybere stejnou dvakrát dvakrát za sebou.)
5. Volný modul „převodu textu na řeč“(TTS) nedává programátorovi mnoho možností, jak jsou věty vyslovovány, ale máte malou kontrolu nad výškou a rychlostí fonémů. Termín pro to je „Prosody“. Do textu v mé databázi jsem přidal nějaké „prozódové“kódy, a když je „výstupní procesor“uvidí, upraví výšku a rychlost v enginu TTS tak, jak se vysloví každé slovo.
6. Někdy je TTS jen těžko pochopitelné, takže kromě toho, že mluvím slova nahlas, je také zobrazuji velkými písmeny na displeji svého počítače. Tato část „Uživatelského rozhraní“je mřížka, která zobrazuje posledních 6 řádků konverzace (vstup uživatele a výstup AI) a posouvá se nahoru, jak se přidávají nové řádky.
Krok 9: Pokračujte v práci
Můj příspěvek byl „Nikomu to neříkej“
Stále pracuji na svém systému AI a pravděpodobně nikdy nebude skutečně „hotový“. Jak přidám další funkce, budu psát další články.
Možná vás některé mé nápady inspirují k vybudování AI, která je lepší než moje
Doporučuje:
Jak si vyrobit A.I. Část 4: 3 kroky
Jak si vyrobit A.I. Část 4: Druhý den jsem mluvil se svou AI a řekl jsem: „Jdu nahoru na večeři, dáváme si STEAK“. Software pro rozpoznávání řeči (SR) to však interpretoval jako „… máme STAKE "Narazil jsem na podobné (ale jiné) problémové ucho
Jak si vyrobit A.I. Část 1: 5 kroků
Jak si vyrobit A.I. Část 1: Začněte s počítačem, který má rozpoznávání řeči a také převaděč textu na řeč. Budete muset umět psát počítačové programy, které mají přístup k rozpoznávání řeči a převaděči textu na řeč. Některé nástroje pro vývoj aplikací a
Jak vyrobit PCB doma Část 1: 4 kroky
Jak vyrobit PCB doma Část 1: V dnešní době můžeme snadno vytvořit vysoce kvalitní tištěný obvod, a to ani v profesionální kvalitě, ale v dobré kvalitě pro hobby projekty. doma bez speciálního materiálu. Co je PCB? Deska s plošnými spoji (PCB) mechanicky podporuje a elektrická
JAK VYROBIT ARDUINO NANO/MINI - Jak vypálit bootloader: 5 kroků
JAK VYROBIT ARDUINO NANO/MINI | Jak vypálit bootloader: V tomto Instructables vám ukážu, jak vyrobit Arduino MINI ze Scratch. Postup popsaný v tomto návodu lze použít k výrobě libovolných desek arduino pro vaše vlastní požadavky na projekt. Pro lepší pochopení sledujte video
Jak vyrobit kalendář prarodičů & Scrapbook (i když nevíte, jak na scrapbook): 8 kroků (s obrázky)
Jak vyrobit kalendář prarodičů & Scrapbook (i když nevíte, jak na scrapbook): Jedná se o velmi ekonomický (a velmi ceněný!) Sváteční dárek pro prarodiče. Letos jsem vyrobil 5 kalendářů za méně než 7 $. Materiály: 12 skvělých fotografií vašeho dítěte, dětí, neteří, synovců, psů, koček nebo jiných příbuzných12 různých kusů