Talaan ng mga Nilalaman:

Paano Gumawa ng isang A.I. Bahagi 4: 3 Mga Hakbang
Paano Gumawa ng isang A.I. Bahagi 4: 3 Mga Hakbang

Video: Paano Gumawa ng isang A.I. Bahagi 4: 3 Mga Hakbang

Video: Paano Gumawa ng isang A.I. Bahagi 4: 3 Mga Hakbang
Video: Paano ang Pagsulat ng Balita II Mga Hakbang at Dapat Tandaan II Teacher Ai R 2024, Hulyo
Anonim
Paano Gumawa ng isang A. I. Bahagi 4
Paano Gumawa ng isang A. I. Bahagi 4

Noong isang araw nakikipag-usap ako sa aking A. I., at sinabi ko sa

ito, "Paakyat ako sa hapunan upang kumain, nagkakaroon kami ng STEAK".

Gayunpaman, binigyang diin ito ng software ng Speech Recognition (SR) bilang "… nagkakaroon kami ng PATAY"

Naranasan ko ang isang katulad (ngunit magkaibang) problema kanina nang pinag-uusapan ko ang isang litrato, at sinabi ko ang salitang "PICTURE". Ang SR software ay binigyang-kahulugan ito bilang "PITCHER"

Ang pag-aayos para dito ay isang simpleng muling pagsasanay ng software ng SR. (O baka ang bigkas ko)

Ngunit kapag sinabi ko ang mga salitang STEAK o STAKE, binibigkas ko sila nang eksakto sa parehong paraan, at ang muling pagsasanay ng software ng SR ay hindi makakatulong sa mga kasong katulad nito.

Hakbang 1:

Isang ideya upang malutas ang "Homonym Problem".

Kailangan kong tingnan ang salitang "nasa konteksto" upang matukoy kung aling spelling ang gagamitin. Madali itong ginagawa ng utak ng tao, at hindi mo alam na ginagawa mo ito.

Nangangahulugan ito na ang iba pang mga salita sa isang pangungusap ay napagmasdan, at ang iyong utak ang magpapasya kung aling pagbabayaran ang pinakamahusay na tingnan. Ngayon, paano ko ito magagawa sa code?

Ang aking A. I. parse ng programa ang isang pangungusap sa isang hanay ng mga indibidwal na salita gamit ang Visual Basic (VB) "Split" na pag-andar. [MyArray = Hati (InputSentence, ““)]

Ang bawat salita sa array ay maaaring suriin upang makita kung ito ay isang posibleng homonyal sa pamamagitan ng pagtingin sa isang database table na naglalaman ng isang listahan ng mga homonyms.

Siyempre, ang paglikha ng isa pang talahanayan ay nangangahulugang kakailanganin nating punan ito ng data, at kakailanganin din nating mapanatili ang data sa talahanayan din.

Ang isang subroutine sa pag-aaral ng sarili ay maaaring itayo sa paglaon upang mag-scan ng isang bungkos ng teksto, naghahanap ng mga salita sa aking talahanayan ng Homonimia, at makunan ang iba pang mga salitang "konteksto". Hmmmmm, marahil maraming mga talahanayan ang kinakailangan …

Ang pagsusulat ng mga "Instructable" na ito ay makakatulong sa akin na "mangatuwiran" ng isang solusyon sa isang hamon sa programa.

Hakbang 2:

Larawan
Larawan

Istraktura ng talahanayan ng HomonymContext

Ang aking unang ideya ay isang talahanayan na naglalaman ng mga salita, mga kahaliling spelling, at mga salitang "Context". Ang ideya ay upang maghanap ng isang pangungusap na naglalaman ng isang homonimo, para sa iba pang mga salita na nagbibigay ng "konteksto", upang ang programa ay maaaring matukoy kung aling spelling ang gagamitin. Naglalaman din ang talahanayan ng isang haligi na pinangalanang "WordDef" upang hawakan ang kahulugan ng salita, na higit para sa pagpapanatili ng tao ng talahanayan kaysa sa A. I. code

Upang maghanap sa bawat salita, maaari kong gamitin ang VB code at SQL code tulad ng…

Para sa bawat Word sa MyArray

Query = "Pumili ng Salita mula sa tblHomonynContext kung saan ang salita = '" & salita at "'"

kung ang query na ito ay nagbabalik ng isang resulta, kung gayon ang salita ay isang homonimo

Susunod

Ito ay pseudo code lamang sa puntong ito - hindi ko pa nasusulat ang eksaktong code, o naisip ang lahat ng mga detalye. Ngunit huwag mag-atubiling kunin ang aking ideya, at ipatupad ito gamit ang iyong sariling paboritong wika sa programa.

Hakbang 3:

Larawan
Larawan

Kung ang iyong input na pangungusap ay naglalaman ng isang homonimo, maaari mo na ngayon

magpatupad ng VB code na susuriin ang iba pang mga salita sa iyong pangungusap, kasama ang mga salita ng konteksto sa mga resulta ng query.

Maaari mo ring gawin ito lahat sa isang naka-imbak na pamamaraan ng SQL, na maaaring maisagawa nang mas mabilis.

Ang function na VB "InStr ()" ay magbabalik ng isang bilang na mas malaki sa zero, kung ang isang string ay nakapaloob sa loob ng isa pang string, o magbabalik ito sa zero, ito ang string ay HINDI nakapaloob sa iba pa.

Ibinabalik talaga ni Instr () ang posisyon ng nilalaman na string. Kung nais mo lamang malaman kung ang String1 ay naglalaman ng String2, maaari mong gamitin ang code tulad ng "Kung InStr (String1, String2)> 0…"

Kailangan mong buuin ang code na ito sa iyong paboritong wika sa programa.

Ang talahanayan ng HomonymContext ay hindi isang napakahusay na disenyo. Mayroon itong maraming paulit-ulit na data, at ito ay itinuturing na "Non-Normalized" ng mga taga-disenyo ng database. Ang isang mas mahusay na paraan upang maipatupad ang pagpapaandar na ito ay ang paggamit ng dalawang mga talahanayan, sa isang relasyon ng magulang at anak. Ang isang talahanayan (Ang Magulang) ay magtataglay ng isang listahan ng mga homonym, ang kanilang mga kahulugan, at isang Row ID din. Ginamit ang Row ID na ito bilang isang susi sa "talahanayan ng Bata" na naglalaman ng mga salita at kanilang mga salita sa konteksto.

Ito ay magiging mas madaling magtanong (at panatilihin) kaysa sa aking orihinal na disenyo.

Inirerekumendang: