INHOUDSOPGAWE:
Video: Hoe om 'n A.I. Deel 4: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Die ander dag het ek met my A. I. gepraat, en ek het gesê
dit, "Ek gaan boontoe om te eet, ons eet STEAK".
Die Speech Recognition (SR) sagteware het dit egter geïnterpreteer as "… we are STAKE"
Ek het vroeër 'n soortgelyke (maar ander) probleem teëgekom toe ek oor 'n foto gepraat het, en ek het die woord "BEELD" gesê. Die SR -sagteware interpreteer dit as 'PITCHER'
Die oplossing hiervoor was 'n eenvoudige heropleiding van SR -sagteware. (Of miskien my uitspraak)
Maar as ek die woorde STEAK of STAKE sê, spreek ek dit presies op dieselfde manier uit, en die opleiding van die SR -sagteware sal nie help in gevalle soos hierdie nie.
Stap 1:
Een idee om die 'Homoniemprobleem' op te los.
Ek moet na die woord “in konteks” kyk om te bepaal watter spelling ek moet gebruik. Die menslike brein doen dit redelik maklik, en jy weet nie eers dat jy dit doen nie.
Dit beteken dat ander woorde in 'n sin ondersoek word, en u brein besluit watter spelling die beste lyk. Nou, hoe doen ek dit in kode?
My A. I. program ontleed 'n sin in 'n verskeidenheid individuele woorde met behulp van die Visual Basic (VB) "Split" -funksie. [MyArray = Verdeel (InputSentence, ““)]
Elke woord in die skikking kan gekontroleer word of dit 'n moontlike homoniem is deur in 'n databasistabel te kyk wat 'n lys homonieme bevat.
Die skep van 'n ander tabel beteken natuurlik dat ons dit met data moet vul, en dat ons ook die data in die tabel moet kan onderhou.
U kan later 'n selfonderrigroutine bou om 'n klomp teks te skandeer, op soek na woorde in my Homonym -tabel en ander 'konteks' -woorde vas te lê. Hmmmmm, miskien is daar verskeie tafels nodig …
Deur hierdie 'instruksies' te skryf, help ek 'n oplossing vir 'n programmeringsuitdaging.
Stap 2:
Struktuur van HomonymContext -tabel
My eerste idee was 'n tabel met woorde, alternatiewe spellings en 'konteks' -woorde. Die idee was om 'n sin met 'n homoniem te soek, met ander woorde wat die 'konteks' gee, sodat die program kan bepaal watter spelling gebruik moet word. Die tabel bevat ook 'n kolom met die naam 'WordDef' om die definisie van die woord te bevat, wat meer is vir die mens wat die tafel onderhou as die A. I. kode.
Om elke woord te soek, kan ek VB -kode en SQL -kode gebruik, soos …
Vir elke woord in MyArray
Query = "Kies woord uit tblHomonynContext waar word = '" & word & "'"
as hierdie navraag 'n resultaat lewer, dan is die woord 'n homoniem
Volgende
Dit is op hierdie stadium net 'n pseudokode - ek het nog nie die presiese kode geskryf nie, of al die besonderhede uitgevind. Maar neem gerus my idee en implementeer dit met u eie gunsteling programmeertaal.
Stap 3:
As u insetsin 'n homoniem bevat, kan u dit nou doen
voer die VB -kode uit wat die ander woorde in u sin sal kontroleer, met die kontekswoorde in die resultate van die navraag.
U kan dit ook alles doen in 'n SQL -gestoorde prosedure, wat vinniger kan uitgevoer word.
Die funksie VB "InStr ()" gee 'n getal groter as nul, as een string in 'n ander string voorkom, of as dit nul gee, is die string NIE in die ander nie.
Instr () gee eintlik die posisie van die string in. As u net wil weet of String1 String2 bevat, kan u kode gebruik soos "As InStr (String1, String2)> 0 …"
U moet hierdie kode in u gunsteling programmeertaal bou.
Die HomonymContext -tabel is nie 'n baie goeie ontwerp nie. Dit bevat baie herhaalde data, en dit word deur databasisontwerpers as 'nie-genormaliseerd' beskou. 'N Beter manier om hierdie funksie te implementeer, is deur twee tabelle in 'n ouer-kind verhouding te gebruik. Een tabel (The Parent) bevat 'n lys van homonieme, hul definisies en 'n ry -ID. Hierdie ry -ID word gebruik as 'n sleutel tot die 'Kindertabel', wat die woorde en die kontekswoorde daarvan bevat.
Dit sou makliker wees om navraag te doen (en om dit te onderhou) as my oorspronklike ontwerp.
Aanbeveel:
Hoe om 'n A.I. Deel 2: 9 stappe
Hoe om 'n A.I. Deel 2: Dit is deel 2 oor stappe wat ek geneem het om 'n AI op 'n Windows -rekenaar te bou, met behulp van 'n gratis databasis, programmeringsontwikkelingsinstrument en die gratis ingeboude TTS -enjin wat by Windows kom. Die woord " Windows " behoort tot Microsoft.Die woord " Dra
Hoe om dit te doen-E-INK E-PAPIER-WEERGAVE-MODULE-Deel 2 - Invoer Pas prent aan: 4 stappe
Hoe om dit te doen-E-INK E-PAPIER-WEERGAVE-MODULE-Deel 2 | Invoer Pas prent aan: In hierdie tutoriaal vir Deel 2 van Hoe-E-INK E-PAPER DISPLAY MODULE | Import Customize Image, ek gaan met u deel hoe u die prentjie waarvan u hou, kan invoer en dit op die E-Ink Display Module kan vertoon. Dit is baie eenvoudig met die hulp van 'n paar sekondes
Hoe om 'n A.I. Deel 1: 5 stappe
Hoe om 'n A.I. Deel 1: Begin met 'n rekenaar met spraakherkenning en ook 'n teks-na-spraak-omskakelaar. U moet rekenaarprogramme kan skryf wat toegang tot die spraakherkenning en die teks-na-spraak-omskakelaar het. en
Hoe kan u u kamer outomatiseer met Arduino? Deel 1: 5 stappe
Hoe kan u u kamer outomatiseer met Arduino? Deel 1: Ek wou altyd my kamer op afstand beheer, so ek het besluit om 'n stelsel te skep waarmee ek dit kon doen. As u wil leer hoe? dan nooi ek u uit om die stappe hieronder te volg
Hoe om 'n PCB tuis te maak, deel 1: 4 stappe
Hoe om PCB by die huis te maak Deel 1: Tans kan ons maklik 'n hoë kwaliteit drukbaan skep, nie eers 'n professionele kwaliteit nie, maar 'n goeie kwaliteit vir stokperdjieprojekte. tuis sonder spesiale materiaal. Wat is PCB? 'N Printplaat (PCB) ondersteun meganies en elektries