Përmbajtje:

Si të bëni një A.I. Pjesa 4: 3 Hapa
Si të bëni një A.I. Pjesa 4: 3 Hapa

Video: Si të bëni një A.I. Pjesa 4: 3 Hapa

Video: Si të bëni një A.I. Pjesa 4: 3 Hapa
Video: Vajza e Tezes me pa duke i ra me dor k arit 2024, Nëntor
Anonim
Si të bëni një A. I. Pjesa 4
Si të bëni një A. I. Pjesa 4

Një ditë tjetër po flisja me A. I., dhe i thashë

ajo, "Unë jam duke shkuar lart për darkë, ne jemi duke bërë STEAK".

Sidoqoftë, softueri i Njohjes së Fjalimit (SR) e interpretoi këtë si "… ne po kemi Aksion"

Kam hasur në një problem të ngjashëm (por të ndryshëm) më herët kur po flisja për një fotografi dhe thashë fjalën "FOTO". Softueri SR e interpretoi këtë si "PITCHER"

Zgjidhja për këtë ishte një rikualifikim i thjeshtë i softuerit SR. (Apo ndoshta shqiptimi im)

Por kur them fjalët STEAK ose STAKE, i shqiptoj ato saktësisht në të njëjtën mënyrë, dhe rikualifikimi i softverit SR nuk do të ndihmojë në raste të tilla.

Hapi 1:

Një ide për të zgjidhur "Problemin Homonim".

Më duhet të shikoj fjalën "në kontekst" për të përcaktuar se çfarë drejtshkrimi të përdor. Truri i njeriut e bën këtë fare lehtë, dhe ju as nuk e dini se po e bëni atë.

Kjo do të thotë që fjalët e tjera në një fjali shqyrtohen dhe truri juaj vendos se cila drejtshkrim duket më mirë. Tani, si ta bëj këtë në kod?

A. I im programi analizon një fjali në një grup fjalësh individuale duke përdorur funksionin "Split" të Visual Basic (VB). [MyArray = Split (InputSentence, ““)]

Çdo fjalë në grup mund të kontrollohet për të parë nëse është një homonim i mundshëm duke shikuar në një tabelë të bazës së të dhënave që përmban një listë homonimesh.

Sigurisht, krijimi i një tabele tjetër do të thotë që do të na duhet ta mbushim me të dhëna, dhe gjithashtu do të duhet të jemi në gjendje të ruajmë të dhënat edhe në tabelë.

Një nënrutinë vetë -mësimore mund të ndërtohet më vonë për të skanuar një bandë teksti, duke kërkuar fjalë në tabelën time Homonym dhe për të kapur fjalë të tjera "konteksti". Hmmmmm, ndoshta duhen disa tavolina…

Shkrimi i këtyre "udhëzimeve" më ndihmon të "arsyetoj" një zgjidhje për një sfidë programimi.

Hapi 2:

Imazhi
Imazhi

Struktura e tabelës HomonymContext

Ideja ime e parë ishte një tabelë që përmbante fjalë, drejtshkrime alternative dhe fjalë "konteksti". Ideja ishte të kërkohej një fjali që përmban një homonim, për fjalë të tjera që japin "kontekstin", në mënyrë që programi të përcaktojë se cilin drejtshkrim të përdor. Tabela gjithashtu përmban një kolonë të quajtur "WordDef" për të mbajtur përkufizimin e fjalës, e cila është më shumë për njeriun që mban tabelën sesa A. I. kodin.

Për të kërkuar secilën fjalë, mund të përdor kodin VB dhe kodin SQL si…

Për secilën fjalë në MyArray

Pyetje = "Zgjidh Fjalën nga tblHomonynContext ku fjala = '" & fjalë & "'"

nëse kjo pyetje kthen një rezultat, atëherë fjala është një homonim

Tjetra

Ky është vetëm pseudo -kod në këtë pikë - unë ende nuk e kam shkruar kodin e saktë, ose nuk i kam kuptuar të gjitha detajet. Por mos ngurroni të merrni idenë time dhe ta zbatoni atë duke përdorur gjuhën tuaj të preferuar të programimit.

Hapi 3:

Imazhi
Imazhi

Nëse fjalia juaj hyrëse përmban një homonim, tani mundeni

ekzekutoni kodin VB që do të kontrollojë fjalët e tjera në fjalinë tuaj, me fjalët e kontekstit në rezultatet e pyetjes.

Ju gjithashtu mund ta bëni këtë të gjithë në një procedurë të ruajtur SQL, e cila mund të ekzekutohet më shpejt.

Funksioni VB "InStr ()" do të kthejë një numër më të madh se zero, nëse një varg gjendet brenda një vargu tjetër, ose do të kthehet zero, ai varg NUK përmbahet në tjetrin.

Instr () në fakt kthen pozicionin e vargut të përmbajtur. Nëse thjesht doni të dini nëse String1 përmban String2, mund të përdorni kodin si "If InStr (String1, String2)> 0 …"

Ju do të duhet ta ndërtoni këtë kod në gjuhën tuaj të preferuar të programimit.

Tabela HomonymContext nuk është një dizajn shumë i mirë. Ka shumë të dhëna të përsëritura, dhe kjo konsiderohet të jetë "e pa normalizuar" nga projektuesit e bazës së të dhënave. Një mënyrë më e mirë për të zbatuar këtë funksionalitet do të ishte përdorimi i dy tabelave, në marrëdhënien prind-fëmijë. Një tabelë (Prindi) do të mbante një listë të homonimeve, përkufizimet e tyre, dhe gjithashtu një ID Rresht. Ky ID Rresht përdoret si çelës në "Tabela e Fëmijëve" e cila do të përmbante fjalët dhe fjalët e tyre kontekstuale.

Kjo do të ishte më e lehtë për tu pyetur (dhe mirëmbajtur) sesa modeli im origjinal.

Recommended: