Sadržaj:

Kako napraviti A.I. Dio 4: 3 koraka
Kako napraviti A.I. Dio 4: 3 koraka

Video: Kako napraviti A.I. Dio 4: 3 koraka

Video: Kako napraviti A.I. Dio 4: 3 koraka
Video: КОНЕЦ МУЧЕНИЯМ. Трава больше не проблема! 2024, Srpanj
Anonim
Kako napraviti A. I. 4. dio
Kako napraviti A. I. 4. dio

Neki dan sam razgovarao sa svojim A. I. -om i rekao sam

ono, "Idem gore na večeru, imamo STEAK".

Međutim, softver za prepoznavanje govora (SR) to je protumačio kao „… imamo UDJAK“

Ranije sam naišao na sličan (ali drugačiji) problem kada sam govorio o fotografiji i rekao sam riječ “SLIKA”. SR softver je ovo protumačio kao "PITCHER"

Popravak za to bilo je jednostavno prekvalificiranje SR softvera. (Ili možda moj izgovor)

Ali kad izgovorim riječi STEAK ili STAKE, izgovaram ih potpuno isto, a prekvalifikacija SR softvera neće pomoći u ovakvim slučajevima.

Korak 1:

Jedna ideja za rješavanje "Homonim problema".

Moram pogledati riječ "u kontekstu" kako bih odredio koji pravopis trebam upotrijebiti. Ljudski mozak to čini prilično lako, a vi ni ne znate da to radite.

To znači da se ispituju druge riječi u rečenici i vaš mozak odlučuje koji pravopis izgleda najbolje. Kako to mogu učiniti u kodu?

Moj A. I. program analizira rečenicu u niz pojedinačnih riječi pomoću Visual Basic (VB) "Split" funkcije. [MyArray = Split (InputSentence, "")]

Svaka riječ u nizu može se provjeriti je li to mogući homonim gledajući u tablicu baze podataka koja sadrži popis homonima.

Naravno, stvaranje druge tablice znači da ćemo je morati ispuniti podacima, a također ćemo morati moći održavati i podatke u tablici.

Potprogram za samostalno učenje može se kasnije izgraditi za skeniranje hrpe teksta, traženje riječi u mojoj homonimnoj tablici i hvatanje drugih "kontekstualnih" riječi. Hmmmmm, možda je potrebno nekoliko stolova …

Pisanje ovih "instrukcija" pomaže mi da "smislim" rješenje za programski izazov.

Korak 2:

Slika
Slika

Struktura HomonymContext tablice

Moja prva ideja bila je tablica koja sadrži riječi, alternativne pravopise i riječi "Kontekst". Ideja je bila potražiti u rečenici koja sadrži homonim druge riječi koje daju "kontekst", tako da program može odrediti koji će se pravopis koristiti. Tablica također sadrži stupac pod nazivom "WordDef" koji sadrži definiciju riječi, što je više za čovjeka koji održava tablicu nego A. I. kodirati.

Za pretraživanje svake riječi mogu koristiti VB kôd i SQL kôd poput …

Za svaku Riječ u MyArrayu

Query = "Odaberite Word iz tblHomonynContext gdje je word = '" & word & "'"

ako ovaj upit vrati rezultat, tada je riječ homonim

Sljedeći

Ovo je u ovom trenutku samo pseudo kôd - još nisam napisao točan kôd niti sam shvatio sve detalje. No, slobodno prihvatite moju ideju i provedite je koristeći svoj omiljeni programski jezik.

3. korak:

Slika
Slika

Ako vaša ulazna rečenica sadrži homonim, sada možete

izvršite VB kod koji će provjeriti ostale riječi u vašoj rečenici, s kontekstnim riječima u rezultatima upita.

Sve to možete učiniti i u SQL pohranjenoj proceduri, koja se može izvršiti brže.

VB “InStr ()” funkcija vratit će broj veći od nule, ako se jedan niz nalazi u drugom nizu, ili će vratiti nulu, ako string NIJE sadržan u drugom.

Instr () zapravo vraća položaj sadržanog niza. Ako samo želite znati sadrži li String1 String2, možete koristiti kôd poput "If InStr (String1, String2)> 0 …"

Ovaj ćete kôd morati sastaviti u svom omiljenom programskom jeziku.

HomonymContext stol nije baš dobar dizajn. Ima mnogo ponovljenih podataka, a dizajneri baze podataka smatraju da je to "ne-normalizirano". Bolji način za implementaciju ove funkcionalnosti bio bi korištenje dvije tablice u odnosu roditelj-dijete. Jedna tablica (Roditelj) sadržavala bi popis homonima, njihove definicije, a također i ID reda. Ovaj ID redaka koristi se kao ključ za "podređenu tablicu" koja bi sadržavala riječi i njihove kontekstualne riječi.

To bi bilo lakše upitati (i održavati) od mog izvornog dizajna.

Preporučeni: