Turinys:
Video: Kaip padaryti A.I. 4 dalis: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Kitą dieną aš kalbėjau su savo A. I. ir pasakiau
tai: „Aš einu į viršų vakarieniauti, mes valgome STEAK“.
Tačiau kalbos atpažinimo (SR) programinė įranga tai aiškino kaip „… mes turime STAKE“
Anksčiau, kai kalbėjau apie nuotrauką, susidūriau su panašia (bet kitokia) problema ir pasakiau žodį „PICTURE“. SR programinė įranga tai aiškino kaip „PITCHER“
Ištaisymas buvo paprastas SR programinės įrangos perkvalifikavimas. (O gal mano tarimas)
Bet kai sakau žodžius „STEAK“arba „STAKE“, ištariu juos lygiai taip pat, o SR programinės įrangos perkvalifikavimas tokiais atvejais nepadės.
1 žingsnis:
Viena idėja išspręsti „homonimų problemą“.
Turiu pažvelgti į žodį „kontekste“, kad nustatyčiau, kokią rašybą naudoti. Žmogaus smegenys tai daro gana lengvai, ir jūs net nežinote, kad tai darote.
Tai reiškia, kad nagrinėjami kiti sakinio žodžiai ir jūsų smegenys nusprendžia, kuri rašyba atrodo geriausiai. Dabar, kaip tai padaryti kodu?
Mano A. I. programa analizuoja sakinį į atskirų žodžių masyvą, naudodami funkciją „Visual Basic“(VB) „Split“. [MyArray = Split (InputSentence, „“)]
Kiekvieną masyvo žodį galima patikrinti, ar tai galimas homonimas, pažiūrėję į duomenų bazės lentelę, kurioje yra homonimų sąrašas.
Žinoma, kitos lentelės sukūrimas reiškia, kad turėsime ją užpildyti duomenimis, taip pat turėsime sugebėti išlaikyti ir lentelės duomenis.
Vėliau gali būti sukurta savarankiškai besimokanti paprogramė, skirta nuskaityti krūvą teksto, ieškoti žodžių mano homonimų lentelėje ir užfiksuoti kitus „kontekstinius“žodžius. Hmmmmm, gal reikia kelių stalų …
Šių „Instructables“rašymas man padeda „išsiaiškinti“programavimo uždavinio sprendimą.
2 žingsnis:
Lentelės „HomonymContext“struktūra
Mano pirmoji idėja buvo lentelė, kurioje yra žodžiai, alternatyvios rašybos ir „kontekstiniai“žodžiai. Idėja buvo ieškoti sakinio, kuriame yra homonimas, kitais žodžiais, suteikiančiais „kontekstą“, kad programa galėtų nustatyti, kokią rašybą naudoti. Lentelėje taip pat yra stulpelis pavadinimu „WordDef“, kuriame yra žodžio apibrėžimas, kuris labiau tinka lentelę prižiūrintiems žmonėms nei A. I. kodą.
Norėdami ieškoti kiekvieno žodžio, galiu naudoti VB kodą ir SQL kodą, pvz.
Už kiekvieną žodį „MyArray“
Query = "Pasirinkite žodį iš tblHomonynContext, kur word = '" & word & "'"
jei ši užklausa pateikia rezultatą, žodis yra homonimas
Kitas
Šiuo metu tai tik pseudo kodas - aš dar nesu parašęs tikslaus kodo arba išsiaiškinau visas detales. Bet drąsiai imkitės mano idėjos ir įgyvendinkite ją naudodami savo mėgstamą programavimo kalbą.
3 žingsnis:
Jei įvesties sakinyje yra homonimas, dabar galite
vykdykite VB kodą, kuris patikrins kitus jūsų sakinio žodžius, naudodami kontekstinius žodžius užklausos rezultatuose.
Visa tai taip pat galite padaryti atlikdami SQL saugomą procedūrą, kuri gali būti vykdoma greičiau.
Funkcija VB „InStr ()“grąžins skaičių, didesnį už nulį, jei viena eilutė yra kitoje eilutėje, arba grąžins nulį, tai eilutė NĖRA kitoje.
Instr () iš tikrųjų grąžina esančios eilutės padėtį. Jei tiesiog norite sužinoti, ar eilutėje1 yra eilutė2, galite naudoti tokį kodą kaip „Jei InStr (eilutė1, eilutė2)> 0…“
Turėsite sukurti šį kodą savo mėgstama programavimo kalba.
Lentelė „HomonymContext“nėra labai geras dizainas. Jame yra daug pasikartojančių duomenų, ir duomenų bazių kūrėjai mano, kad tai yra „nenormalizuota“. Geresnis būdas įgyvendinti šią funkciją būtų dviejų lentelių naudojimas tėvų ir vaikų santykiuose. Vienoje lentelėje („The Parent“) būtų homonimų sąrašas, jų apibrėžimai ir eilutės ID. Šis eilutės ID naudojamas kaip raktas prie „lentelės vaikams“, kurioje būtų žodžiai ir jų kontekstiniai žodžiai.
Tai būtų lengviau užklausti (ir prižiūrėti) nei mano pradinis dizainas.
Rekomenduojamas:
Kaip padaryti A.I. 2 dalis: 9 žingsniai
Kaip padaryti A.I. 2 dalis. Tai 2 dalis apie veiksmus, kurių aš ėmiausi kurdama dirbtinį intelektą „Windows“kompiuteryje, naudodama nemokamą duomenų bazę, programavimo kūrimo įrankį ir nemokamą integruotą TTS variklį, pateikiamą kartu su „Windows“. Žodis „Windows“priklauso „Microsoft“. Žodis „Dra
Kaip tai padaryti-E-INK E-PAPER DISPLAY MODUL-2 dalis - Importuoti tinkintą vaizdą: 4 veiksmai
Kaip tai padaryti-E-INK E-PAPER DISPLAY MODUL-2 dalis | Importuoti tinkintą vaizdą: šioje pamokoje, skirtoje 2 daliai, kaip-E-INK E-PAPER DISPLAY MODULE | Importuokite tinkintą vaizdą, aš pasidalinsiu su jumis, kaip importuoti jums patinkantį vaizdą ir parodyti jį „E-Ink“ekrano modulyje. Tai labai paprasta, padedant kelioms sekundėms
Kaip padaryti A.I. 1 dalis: 5 žingsniai
Kaip padaryti A.I. 1 dalis. Pradėkite nuo kompiuterio, kuriame yra kalbos atpažinimas ir teksto į kalbą keitiklis. Turėsite mokėti rašyti kompiuterines programas, galinčias pasiekti kalbos atpažinimą ir teksto į kalbą keitiklį. Kai kurios programų kūrimo priemonės ir
Kaip tai padaryti-E-INK E-PAPER DISPLAY MODUL-3 dalis - „WiFi“: 7 žingsniai (su nuotraukomis)
Kaip tai padaryti-E-INK E-PAPER DISPLAY MODUL-3 dalis | „WiFi“: šioje „Kaip-E-INK E-PAPER DISPLAY MODULE“3 dalies pamokoje aš pasidalinsiu su jumis, kaip prijungti „E-Ink“ekrano modulį prie „WiFi“modulio, kuris leidžia atnaujinti tekstus per „WiFi“. Neturite „E-Ink“ekrano modulio? Galite gauti vieną valandą
12V nuolatinės srovės arba 85-265V kintamosios srovės fluorescencinę lempą paverskite LED - 1 dalis (vidinė dalis): 7 žingsniai
Paverskite savo 12 V nuolatinės srovės arba 85–265 V kintamosios srovės fluorescencinę lempą į šviesos diodą - 1 dalis (vidinė dalis): perdegė vienas iš mano 12V fluorescencinės šviesos balasto. Aš nusprendžiau jį pakeisti šviesos diodais, naudodamas 6 pigius šviesos diodus, keletą LED tvarkyklių ir kaip vadovą naudodamas https://www.instructables.com/id/Replace-Low-Voltage-Bi-Pin-Halogens-with-LEDs/. . Pa