Innehållsförteckning:
Video: Hur man gör en A.I. Del 4: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
Häromdagen pratade jag med min A. I., och jag sa till
det, "jag ska gå upp till middag, vi äter STEAK".
Men programvaran för taligenkänning (SR) tolkade detta som "… vi har STAKE"
Jag stötte på ett liknande (men annorlunda) problem tidigare när jag pratade om ett fotografi, och jag sa ordet "BILD". SR -programvaran tolkade detta som "PITCHER"
Fixen för detta var en enkel omskolning av SR -programvara. (Eller kanske mitt uttal)
Men när jag säger orden STEAK eller STAKE uttalar jag dem exakt på samma sätt, och omskolning av SR -programvaran hjälper inte i fall som detta.
Steg 1:
En idé att lösa "Homonymproblemet".
Jag måste titta på ordet "i sammanhang" för att avgöra vilken stavning jag ska använda. Den mänskliga hjärnan gör det ganska enkelt, och du vet inte ens att du gör det.
Det betyder att andra ord i en mening undersöks, och din hjärna bestämmer vilken stavning som ser bäst ut. Nu, hur gör jag detta i kod?
Min A. I. programmet analyserar en mening i en uppsättning enskilda ord med hjälp av Visual Basic (VB) "Split" -funktionen. [MyArray = Split (InputSentence, ““)]
Varje ord i matrisen kan kontrolleras för att se om det är en möjlig homonym genom att titta i en databastabell som innehåller en lista med homonymer.
Naturligtvis innebär att skapa en annan tabell att vi kommer att behöva fylla den med data, och vi måste också kunna behålla data i tabellen.
En självlärande subrutin kan byggas senare för att skanna en massa text, leta efter ord i min Homonymtabell och fånga andra "sammanhang" -ord. Hmmmmm, kanske behövs flera bord …
Att skriva dessa "instruktioner" hjälper mig att "resonera" en lösning på en programmeringsutmaning.
Steg 2:
Struktur för HomonymContext -tabell
Min första idé var en tabell med ord, alternativa stavningar och "sammanhang" -ord. Tanken var att söka i en mening som innehåller en homonym, efter andra ord som ger "sammanhanget", så att programmet kan avgöra vilken stavning som ska användas. Tabellen innehåller också en kolumn med namnet "WordDef" för att innehålla definitionen av ordet, vilket är mer för människan som underhåller bordet än A. I. koda.
För att söka efter varje ord kan jag använda VB -kod och SQL -kod som …
För varje ord i MyArray
Query = "Välj ord från tblHomonynContext där word = '" & word & "'"
om den här frågan returnerar ett resultat, är ordet en homonym
Nästa
Det här är bara pseudokod vid denna tidpunkt - jag har ännu inte skrivit den exakta koden eller tagit reda på alla detaljer. Men ta gärna min idé och implementera den med ditt eget favorit programmeringsspråk.
Steg 3:
Om din inmatningssats innehåller en homonym kan du nu
kör VB -kod som kontrollerar de andra orden i din mening, med sammanhangsorden i sökresultaten.
Du kan också göra allt detta i en SQL -lagrad procedur, som kan köras snabbare.
VB "InStr ()" -funktionen returnerar ett tal som är större än noll, om en sträng finns i en annan sträng, eller om den returnerar noll, är strängen INTE i den andra.
Instr () returnerar faktiskt positionen för den innehållna strängen. Om du bara vill veta om String1 innehåller String2 kan du använda kod som "If InStr (String1, String2)> 0 …"
Du måste bygga den här koden på ditt favoritprogrammeringsspråk.
HomonymContext -tabellen är inte en mycket bra design. Den har många upprepade data, och detta anses vara "icke-normaliserat" av databasdesigners. Ett bättre sätt att implementera denna funktionalitet skulle vara att använda två tabeller, i en förälder-barn-relation. En tabell (föräldern) skulle innehålla en lista över homonymer, deras definitioner och även ett rad -ID. Detta rad -ID används som en nyckel till "Barntabellen" som skulle innehålla orden och deras sammanhangsord.
Detta skulle vara lättare att fråga (och underhålla) än min ursprungliga design.
Rekommenderad:
Hur man gör en A.I. Del 2: 9 steg
Hur man gör en A.I. Del 2: Det här är del 2 om de steg jag tog för att bygga en AI på en Windows -dator, med hjälp av en gratis databas, programmeringsutvecklingsverktyg och den gratis inbyggda TTS -motorn som levereras med Windows. Ordet " Windows " tillhör Microsoft. Ordet " Dra
Hur man gör en A.I. Del 1: 5 steg
Hur man gör en A.I. Del 1: Börja med en dator som har taligenkänning och även en text-till-tal-omvandlare. Du måste kunna skriva datorprogram som har åtkomst till taligenkänning och text-till-tal-omvandlare. Några applikationsutvecklingsverktyg och
Hur man gör en drönare med Arduino UNO - Gör en quadcopter med mikrokontroller: 8 steg (med bilder)
Hur man gör en drönare med Arduino UNO | Gör en Quadcopter Med Microcontroller: Introduktion Besök min Youtube -kanal En Drone är en mycket dyr gadget (produkt) att köpa. I det här inlägget ska jag diskutera, hur gör jag det billigt ?? Och hur kan du göra din egen så här till billigt pris … Tja i Indien alla material (motorer, ESC
HUR MAN GÖR ARDUINO NANO/MINI - Hur man bränner bootloader: 5 steg
HUR MAN GÖR ARDUINO NANO/MINI | Hur man bränner bootloader: I denna instruktionsbok kommer jag att visa dig hur man gör en Arduino MINI från Scratch.Förfarandet som skrivs i denna instruktion kan användas för att göra alla arduino -brädor för dina anpassade projektkrav.Se videon för bättre förståelse
Hur man gör en morföräldrars kalender & Klippbok (även om du inte vet hur du ska klippbok): 8 steg (med bilder)
Hur man gör en morföräldrars kalender & Klippbok (även om du inte vet hur du ska klippbok): Detta är en mycket ekonomisk (och mycket uppskattad!) Semestergåva till morföräldrar. Jag gjorde 5 kalendrar i år för mindre än $ 7 styck. Material: 12 fina bilder på ditt barn, barn, syskonbarn, brorson, hundar, katter eller andra släktingar 12 olika bitar