Tartalomjegyzék:
Videó: Hogyan készítsünk A.I. 4. rész: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
A minap beszéltem az A. I. -vel, és azt mondtam
ez: „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ába ütköztem korábban, amikor egy fényképről beszéltem, és kimondtam a „KÉP” szót. Az SR szoftver ezt „PITCHER” -ként értelmezte
A megoldás az SR szoftver egyszerű átképzése volt. (Vagy talán a kiejtésem)
De amikor kimondom a STEAK vagy a STAKE szavakat, pontosan ugyanúgy ejtem ki őket, és az SR szoftver átképzése ilyen esetekben nem segít.
1. lépés:
Egy ötlet a „Homoním probléma” megoldására.
Meg kell néznem a szót „összefüggésben”, hogy meghatározzam, melyik helyesírást kell használni. Az emberi agy ezt könnyen megteheti, és nem is tudja, hogy ezt teszi.
Ez azt jelenti, hogy a mondat más szavait megvizsgálják, és az agyad dönti el, melyik helyesírás tűnik a legjobban. Most ezt hogyan kell megtenni kódban?
Az én A. I. program a Visual Basic (VB) „Split” függvény segítségével elemzi a mondatokat egyes szavak tömbjébe. [MyArray = Split (InputSentence, "")]
A tömb minden szavát ellenőrizni lehet, hogy lehetséges homonímáról van -e szó, ha a homonimák listáját tartalmazó adatbázis -táblában keresünk.
Természetesen egy másik táblázat létrehozása azt jelenti, hogy adatokkal kell kitöltenünk, és képesnek kell lennünk a táblázatban lévő adatok karbantartására is.
Később felépíthető egy öntanuló alprogram egy csomó szöveg beolvasásához, szavak kereséséhez a Homoním táblázatomban, és más „kontextus” szavak rögzítéséhez. Hmmmmm, talán több asztalra van szükség …
Ezeknek az „utasításoknak” a megírása segít „megfejteni” egy programozási kihívás megoldását.
2. lépés:
A HomonymContext tábla felépítése
Az első ötletem egy táblázat volt, amely szavakat, alternatív írásmódokat és „kontextus” szavakat tartalmazott. Az ötlet az volt, hogy egy homonimát tartalmazó mondatban kell keresni, más szavakkal, amelyek megadják a „kontextust”, hogy a program meg tudja határozni, hogy melyik helyesírást használja. A táblázat tartalmaz egy „WordDef” nevű oszlopot is a szó definíciójának megőrzésére, ami inkább a táblát karbantartó embernek való, mint az A. I. kód.
Az egyes szavak kereséséhez használhatok VB -kódot és SQL -kódot, például…
A MyArray minden egyes szavára
Query = "Válassza ki a Word -t a tblHomonynContext -ből, ahol a word = '" & word & "'"
ha ez a lekérdezés eredményt ad vissza, akkor a szó homoníma
Következő
Ez most csak álkód - még nem írtam meg a pontos kódot, vagy nem találtam ki az összes részletet. De bátran fogadja el az ötletemet, és valósítsa meg saját kedvenc programozási nyelvével.
3. lépés:
Ha a beírt mondat homonimát tartalmaz, most megteheti
futtassa a VB kódot, amely ellenőrzi a mondat többi szavát, a lekérdezési eredmények kontextusszavaival.
Mindezt megteheti egy SQL tárolt eljárásban is, amely gyorsabban végrehajtható.
A VB „InStr ()” függvény nullánál nagyobb számot ad vissza, ha az egyik karakterlánc egy másik karakterláncban található, vagy nullát ad vissza, ha a karakterlánc NEM szerepel a másikban.
Az Instr () valójában a benne lévő karakterlánc pozícióját adja vissza. Ha csak azt szeretné tudni, hogy a String1 tartalmaz -e String2 -t, használhat olyan kódot, mint az „If InStr (String1, String2)> 0…”
Ezt a kódot a kedvenc programozási nyelvén kell elkészítenie.
A HomonymContext táblázat nem túl jó kialakítású. Sok ismétlődő adatot tartalmaz, és ezt az adatbázis-tervezők "nem normalizáltnak" tekintik. A funkció megvalósításának jobb módja az lenne, ha két táblát használna a szülő-gyermek kapcsolatban. Az egyik táblázat (A szülő) tartalmazna egy listát a homonimákról, azok definícióiról és egy sor azonosítójáról. Ez a sorazonosító kulcsként szolgál a "Gyermek táblázat" -hoz, amely tartalmazza a szavakat és a hozzájuk tartozó szavakat.
Ezt könnyebb lenne lekérdezni (és karbantartani), mint az eredeti tervemet.
Ajánlott:
Hogyan készítsünk A.I. 2. rész: 9 lépés
Hogyan készítsünk A.I. 2. rész: Ez a 2. rész arról szól, hogy milyen lépéseket tettem egy mesterséges intelligencia felépítéséhez egy Windows számítógépen, egy ingyenes adatbázis, programozói fejlesztőeszköz és a Windowshoz tartozó ingyenes beépített TTS motor használatával. A " Windows " a Microsofté. A „Dra…” szó
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. 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