Tartalomjegyzék:
- 1. lépés: Hogyan készítsünk mesterséges intelligenciát 2. rész
- Lépés: Tervezze meg a rendszert:
- 3. lépés: A programozási nyelvbe épített funkciók:
- 4. lépés: A beépített funkciók kombinálásával saját funkciókat hozhat létre
- 5. lépés: Mit csinálnak a modulok? "Bemeneti processzor"
- 6. lépés: „AI processzor”
- 7. lépés: A "kimenet és pontszámok" táblázat
- 8. lépés: „Kimeneti processzor”
- 9. lépés: Folytassa a munkát
Videó: Hogyan készítsünk A.I. 2. rész: 9 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ez a 2. rész arról szól, hogy milyen lépéseket tettem egy mesterséges intelligencia létrehozásához egy Windows számítógépen, egy ingyenes adatbázis, programozói fejlesztőeszköz és a Windowshoz tartozó, beépített TTS motor használatával.
A "Windows" szó a Microsofté.
A "sárkány" szó a Nuance -hez tartozik.
1. lépés: Hogyan készítsünk mesterséges intelligenciát 2. rész
Válasszon programozási nyelvet, és szerezzen be néhány eszközt
Sok programozási nyelv létezik. Néhányuk az A. I. A kedvencem a Visual Basic, tehát ezt használtam. SQL szerver adatbázisokkal is dolgozom, ezért azt is használtam.
Ezek ingyenes verzióit letöltheti a Microsoft webhelyéről. Csak keressen rá az „EXPRESS” kifejezésre a Microsoft webhelyén. [Visual Studio Express és SQL Server Express]
További nyelvek: Python, C#, C ++, Java, Prolog, Lisp, IPL
és sokan mások. Az AIML egy „Markup Language”, ami nagyon érdekes.
Jobb „beszédfelismerő” programot akartam, mint ami a Windowshoz tartozik, ezért megvettem a DRAGON szoftvert. A szabványos „Szövegfelolvasó” programot használom, amely a Windows rendszerhez került.
Lépés: Tervezze meg a rendszert:
Ossza nagy projektjeit egy csomó kisebb projektre. A programkódomat modulokra osztottam.
A kódomat különböző modulokra osztottam, hogy egy adott funkció könnyebben megtalálható legyen.
Vannak „Process Input”, „Process AI”, „Process Output”, „User Interface” és néhány más modulom. Egyes funkcióimnak elérhetőnek kell lenniük az összes többi kódmodul számára, ezért ezeket a funkciókat egy „közös” modulba helyeztem, ahol minden megosztott
3. lépés: A programozási nyelvbe épített funkciók:
A különböző nyelveknek különböző nevei lehetnek, de minden magas szintű nyelvnek hasonló funkciói vannak.
LCase vagy ToLower: Egy karakterláncot kisbetűvé alakít át. Mindent kisbetűvé alakítok, mielőtt adatbázis-keresést végeznék-annak ellenére, hogy a legtöbb dolog „kis- és nagybetűket nem érzékeny”-minden esetre.
Csere: A karakterláncon belüli karakterlánc cseréje egy másikra. A karakterláncot egy üres karakterlánccal „” helyettesítheti, hogy megszabaduljon tőle. Megszabadulok a pontoktól, a kérdőjelektől, a vesszőktől és egyéb írásjelektől.
Felosztás: A karakterláncot külön darabokra bontja, és tömbbe helyezi. Ez a függvény egy karakterláncot szétválaszt bármely karakterre, vagy „elválasztóra”. Egy mondatot egy "szóköz" karakterre bontottam "" ", hogy szavakat állítsak össze. Ezt az AI -guruk „tokenizálásnak” nevezik.
Az egyes szavakat használom az adatbázisban való kereséshez használt lekérdezések létrehozásához. (Erről bővebben a következő cikkemben)
4. lépés: A beépített funkciók kombinálásával saját funkciókat hozhat létre
Ez egy „vizuális alap” példa. Használja a programozási nyelvét valami ilyesmi felépítéséhez.
Természetesen sok kódot kell írnia, és számos funkciót kell építenie az Ön által választott programozási nyelv használatával.
5. lépés: Mit csinálnak a modulok? "Bemeneti processzor"
Százféleképpen teheted fel ugyanazt a kérdést az AI -nak. Például; „Hány óra van?”, „Van ideje?” "Tudod, hány óra van?", "Meg tudod mondani a napszakot?" Mivel a felhasználó csak az időt kéri, ezen bemenetek bármelyikét egyetlen „Lekérdezési idő” nevű kimenetre konvertálom egy adatbázis „felkutatása” táblázat segítségével.
Írhat kódot a táblázaton keresztül, amíg meg nem találja az egyezést, vagy ha SQL adatbázist használ, írhat SQL lekérdezést, például…
"Válassza ki a Kimenetet a TableName -ből, ahol a bemenet =" "bármi""
… És akkor elküldöm a „Query Time” kimenetet a következő kódmodulnak; „AI feldolgozása”
A kérdéseken kívül sokféleképpen lehet „Hello” -ot mondani
Szia, sziasztok, mi újság, hé, hola, hogy vagytok ?, üdvözlet, üdvözlet, üdv, üdv….
Mindez „üdvözlésre” korlátozódik
Amikor az AI processzor látja a „Greeting” (Üdvözlés) üzenetet, akkor „Greeting” -t küld a kimeneti processzornak, amely véletlenszerű üdvözletet választ az adatbázis táblájából, és hangosan kimondja.
6. lépés: „AI processzor”
A Process AI a legnagyobb kódmodul. Olyan nagy, hogy azt is szakaszokra osztottam.
A bemenetet ellenőrzik, hogy a felhasználó parancsot mondott -e, vagy kérdést tett fel. Ezenkívül az AI több „mód” bármelyikében lehet, ami azt jelenti, hogy a „Process AI” kód azt várja a felhasználótól, hogy válaszoljon egy kérdésre ahelyett, hogy kérdezne.
Ha a felhasználó nem mondott parancsot, és az AI nincs speciális „módban”, akkor egy csomó lekérdezést épít fel és hajt végre a „szavak tömb” szavak kombinációiból. Az összes lekérdezési eredményt egy táblázat tárolja, és minden lekérdezés eredménye „pontszámot” kap arra vonatkozóan, hogy az eredmény mennyire felel meg a felhasználó által elmondottaknak. A táblázat a pontszámok szerint van rendezve, és a legmagasabb pontszámú eredményt küldi a kimenetre, ha meghalad egy bizonyos küszöböt. Ha az összes pontszám a küszöb alatt van, az AI válaszolhat: „Nem tudom” vagy „Ez nem számít”
7. lépés: A "kimenet és pontszámok" táblázat
Az AI kimenete a "Mit csinált a csirke?"
8. lépés: „Kimeneti processzor”
Ez számos „független” kinézetű dolgot tesz, de mindnek köze van ahhoz, hogy a szöveget az AI processzorról a felhasználóhoz juttassa.
Itt egy lista.
1. Az adatbázisból származó szöveg kisbetűs lehet, és nem tartalmazhat írásjeleket.. Az alprogramok nagybetűvel írják az első betűt, és pontot vagy kérdőjelet tesznek a végére.
2. Egy másik alprogram visszahelyezi az aposztrófokat összehúzódásokba, vagy az összehúzódásokat teljes szavakká alakítja át (azaz a „vidám” helyett „nem lehet”)
3. A szövegfelolvasó motor nem ejt ki egyes szavakat úgy, ahogy nekem tetszik, ezért az „Output Processor” ezeket a szavakat fonetikus helyesírással helyettesíti. Vannak adatbázis „look up” táblák ezek tárolására, hasonlóan az a „bemeneti processzorban”
4. Ha az AI nem talál megfelelő választ az adatbázisban, akkor azt mondhatja: „nem tudom”, de nem szeretném, ha ezt újra és újra elmondaná. Az igazi emberek eltérő válaszokat adnak. Tehát van egy táblázat „Common Output” kifejezésekkel és egy funkcióval, amely véletlenszerűen választ egyet (és soha nem választja ki ugyanazt kétszer egymás után.)
5. Az ingyenes „szöveg-beszéd” (TTS) motor nem sok lehetőséget ad a programozónak a mondatok kimondására, de egy kicsit kontrollálhatja a hangmagasságot és a fonémák sebességét. Ennek a kifejezés a „Prosody”. Hozzáadtam néhány „proszódia” kódot az adatbázisom szövegéhez, és amikor a „kimeneti processzor” látja ezeket, minden szó kimondásakor beállítja a TTS motor hangmagasságát és sebességét.
6. A TTS -t néha nehéz megérteni, ezért a szavak hangos kimondása mellett nagy betűkkel is megjelenítem őket a számítógép kijelzőjén. A „Felhasználói felület” ezen része egy rács, amely megjeleníti a beszélgetés utolsó 6 sorát (felhasználói bevitel és AI kimenet), és felfelé görget, amikor új sorok kerülnek hozzáadásra.
9. lépés: Folytassa a munkát
A hozzászólásom: „Ne mondd el senkinek”
Továbbra is dolgozom az AI rendszeren, és valószínűleg soha nem lesz „kész”. Ahogy további funkciókat adok hozzá, további cikkeket fogok írni.
Talán néhány ötletem inspirálni fog egy olyan mesterséges intelligencia létrehozásához, amely jobb, mint az enyém
Ajánlott:
Hogyan-E-Tinta E-PAPÍR KIJELZŐ MODUL-2. rész - Kép testreszabása: 4 lépés
Hogyan-E-Tinta E-PAPÍR KIJELZŐ MODUL-2. rész | Testreszabott kép importálása: Ebben az oktatóanyagban a Hogyan-E-Tinta E-PAPÍR KIJELZŐ MODUL | Importálja a testreszabott képet, megosztom veletek, hogyan importálhatja a kívánt képet, és hogyan jelenítheti meg az E-Ink Display modulban. Nagyon egyszerű néhány másodperc segítségével
Hogyan készítsünk A.I. 4. rész: 3 lépés
Hogyan készítsünk A.I. 4. rész: A minap beszéltem az AI -mmal, és azt mondtam toit: „Felmegyek vacsorázni, STEAK -et eszünk”. A beszédfelismerő (SR) szoftver azonban ezt úgy értelmezte, hogy „… van STAKE „Hasonló (de más) problémás fülbe futottam
Hogyan készítsünk A.I. 1. rész: 5 lépés
Hogyan készítsünk A.I. 1. rész: Kezdje beszédfelismeréssel és szöveg-beszéd átalakítóval rendelkező számítógéppel. Képesnek kell lennie számítógépes programok írására, amelyek hozzáférhetnek a beszédfelismeréshez és a szöveg-beszéd átalakítóhoz. Néhány alkalmazásfejlesztő eszköz és
Hogyan készítsünk PCB -t otthon 1. rész: 4 lépés
Hogyan készítsünk PCB-t otthon 1. rész: Manapság könnyen készíthetünk kiváló minőségű nyomtatott áramkört, nem is professzionális minőséget, hanem jó minőséget hobbi projektekhez. otthon minden speciális anyag nélkül. Mi az a PCB? A nyomtatott áramköri lap (PCB) mechanikusan támogatja és elektromos
Hogyan készítsünk nagyszülők naptárát & Scrapbook (még akkor is, ha nem tudja, hogyan kell a Scrapbookot írni): 8 lépés (képekkel)
Hogyan készítsünk nagyszülők naptárát & Scrapbook (még ha nem is tudod, hogyan kell a Scrapbookot írni): Ez egy nagyon gazdaságos (és nagyra értékelt!) Ünnepi ajándék a nagyszülőknek. Idén 5 naptárat készítettem, egyenként kevesebb mint 7 dollárért. Anyagok: 12 nagyszerű fotó gyermekéről, gyermekeiről, unokahúgairól, unokaöccseiről, kutyáiról, macskáiról vagy más rokonairól12 különböző darab