Indholdsfortegnelse:
Video: Sådan laver du en A.I. Del 4: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Forleden talte jeg med min A. I., og jeg sagde til
det, "jeg skal ovenpå til middag, vi spiser STEAK".
Imidlertid fortolkede Speech Recognition (SR) softwaren dette som "… vi har STAKE"
Jeg stødte på et lignende (men anderledes) problem tidligere, da jeg talte om et fotografi, og jeg sagde ordet "BILLEDE". SR -softwaren fortolkede dette som "PITCHER"
Rettelsen til dette var en simpel omskoling af SR -software. (Eller måske min udtale)
Men når jeg siger ordene STEAK eller STAKE, udtaler jeg dem nøjagtig på samme måde, og omskoling af SR -softwaren hjælper ikke i tilfælde som denne.
Trin 1:
En idé til at løse “Homonym -problemet”.
Jeg er nødt til at se på ordet "i kontekst" for at afgøre, hvilken stavemåde der skal bruges. Den menneskelige hjerne gør dette ganske let, og du ved ikke engang, at du gør det.
Det betyder, at andre ord i en sætning undersøges, og din hjerne bestemmer, hvilken stavning der ser bedst ud. Nu, hvordan gør jeg dette i kode?
Min A. I. program analyserer en sætning i en række individuelle ord ved hjælp af Visual Basic (VB) "Split" -funktionen. [MyArray = Split (InputSentence, ““)]
Hvert ord i arrayet kan kontrolleres for at se, om det er et muligt homonym ved at kigge i en databasetabel, der indeholder en liste over homonymer.
Selvfølgelig betyder oprettelse af en anden tabel, at vi bliver nødt til at fylde den med data, og vi skal også være i stand til at vedligeholde dataene i tabellen.
En selvlærende underprogram kan senere bygges til at scanne en masse tekst, lede efter ord i min Homonym -tabel og fange andre "kontekst" -ord. Hmmmmm, måske er der brug for flere borde …
At skrive disse "instruktioner" hjælper mig med at "ræsonnere" en løsning på en programmeringsudfordring.
Trin 2:
Struktur af HomonymContext -tabel
Min første idé var en tabel med ord, alternative stavemåder og "kontekst" -ord. Ideen var at søge i en sætning, der indeholder et homonym, efter andre ord, der giver "konteksten", så programmet kan afgøre, hvilken stavemåde der skal bruges. Tabellen indeholder også en kolonne med navnet "WordDef" til at indeholde definitionen af ordet, hvilket er mere for det menneske, der vedligeholder bordet end A. I. kode.
For at søge efter hvert ord kan jeg bruge VB -kode og SQL -kode som …
For hvert ord i MyArray
Forespørgsel = "Vælg ord fra tblHomonynContext, hvor word = '" & word & "'"
hvis denne forespørgsel returnerer et resultat, er ordet et homonym
Næste
Dette er bare pseudokode på dette tidspunkt - jeg har endnu ikke skrevet den nøjagtige kode eller fundet ud af alle detaljerne. Men tag gerne min idé og implementer den ved hjælp af dit eget foretrukne programmeringssprog.
Trin 3:
Hvis din indtastningssætning indeholder et homonym, kan du nu
udfør VB -kode, der kontrollerer de andre ord i din sætning, med kontekstordene i forespørgselsresultaterne.
Du kan også gøre alt dette i en SQL -gemt procedure, som kan udføres hurtigere.
Funktionen VB "InStr ()" returnerer et tal større end nul, hvis en streng er indeholdt i en anden streng, eller den returnerer nul, er strengen IKKE indeholdt i den anden.
Instr () returnerer faktisk placeringen af den indeholdte streng. Hvis du bare vil vide, om String1 indeholder String2, kan du bruge kode som “If InStr (String1, String2)> 0…”
Du bliver nødt til at opbygge denne kode på dit foretrukne programmeringssprog.
HomonymContext -tabellen er ikke et meget godt design. Det har mange gentagne data, og dette anses for at være "ikke-normaliseret" af databasedesignere. En bedre måde at implementere denne funktionalitet på er at bruge to tabeller i et forælder-barn-forhold. En tabel (forælderen) ville indeholde en liste over homonymer, deres definitioner og også et række -id. Dette række -id bruges som en nøgle til "Børnetabellen", som ville indeholde ordene og deres kontekstord.
Dette ville være lettere at forespørge (og vedligeholde) end mit originale design.
Anbefalede:
Sådan laver du en trådløs dåse-telefon! (Arduino Walkie Talkie): 7 trin (med billeder)
Sådan laver du en trådløs dåse-telefon! (Arduino Walkie Talkie): Lige forleden var jeg midt i et meget vigtigt telefonopkald, da min banantelefon holdt op med at fungere! Jeg var så frustreret. Det er sidste gang, jeg savner et opkald på grund af den dumme telefon! (Set i bakspejlet er jeg måske blevet lidt for sur i
Sådan laver du en A.I. Del 2: 9 trin
Sådan laver du en A.I. Del 2: Dette er del 2 om trin, jeg tog for at bygge en AI på en Windows -computer, ved hjælp af en gratis database, programmeringsudviklingsværktøj og den gratis indbyggede TTS -motor, der følger med Windows. Ordet " Windows " tilhører Microsoft. Ordet " Dra
Sådan laver du en A.I. Del 1: 5 trin
Sådan laver du en A.I. Del 1: Start med en computer, der har talegenkendelse og også en tekst-til-tale-konverter. Du skal være i stand til at skrive computerprogrammer, der har adgang til talegenkendelse og tekst-til-tale-konverter. Nogle applikationsudviklingsværktøjer og
Sådan laver du PCB derhjemme Del 1: 4 trin
Sådan laver du printkort derhjemme Del 1: I dag kan vi let oprette et trykt kredsløb af høj kvalitet, ikke engang en professionel kvalitet, men en god kvalitet til hobbyprojekter. derhjemme uden noget særligt materiale. Hvad er printkort? Et printkort (PCB) understøtter mekanisk og elektrisk
Sådan laver du en delt skærmvideo med fire trin: 4 trin (med billeder)
Sådan laver du en delt skærmvideo med fire trin: Vi ser ofte en samme person vise sig i en scene to gange i et tv -afspilning. Og så vidt vi ved, har skuespilleren ikke en tvillingebror. Vi har også set, at to sangvideoer er sat på en skærm for at sammenligne deres sangevner. Dette er kraften i spl