Բովանդակություն:

Ինչպես կատարել A.I. Մաս 4: 3 քայլեր
Ինչպես կատարել A.I. Մաս 4: 3 քայլեր

Video: Ինչպես կատարել A.I. Մաս 4: 3 քայլեր

Video: Ինչպես կատարել A.I. Մաս 4: 3 քայլեր
Video: 4 ԱՆՎՃԱՐ AI-ի վեբ կայքի ստեղծող. ԱՅԺՄ բոլորը ԿԱՐՈՂ ԵՆ Ստեղծել կայք: 2024, Նոյեմբեր
Anonim
Ինչպես կատարել A. I. Մաս 4
Ինչպես կատարել A. I. Մաս 4

Օրերս ես խոսում էի իմ Ա. Ի. -ի հետ, և ես ասացի

դա, «Ես բարձրանում եմ վերև ճաշելու, մենք STEAK ենք»:

Այնուամենայնիվ, Speech Recognition (SR) ծրագրակազմը սա մեկնաբանում է որպես «… մենք շահագրգռված ենք»

Նմանատիպ (բայց տարբեր) խնդրի առաջ ես բախվեցի ավելի վաղ, երբ խոսում էի լուսանկարի մասին, և ասացի «ՆԿԱՐ» բառը: SR ծրագրակազմը սա մեկնաբանում է որպես «ԿՈՉ»

Դրա շտկումը SR ծրագրաշարի պարզ վերապատրաստումն էր: (Կամ գուցե իմ արտասանությունը)

Բայց երբ ասում եմ STEAK կամ STAKE բառերը, ես դրանք արտասանում եմ ճիշտ նույն կերպ, և SR ծրագրաշարի վերապատրաստումը նման դեպքերում չի օգնի:

Քայլ 1:

«Համանունի խնդիրը» լուծելու մեկ գաղափար:

Ես պետք է նայեմ «համատեքստում» բառին ՝ որոշելու համար, թե որ ուղղագրությունն օգտագործել: Մարդու ուղեղը դա անում է բավականին հեշտությամբ, և դուք նույնիսկ չգիտեք, որ դա անում եք:

Սա նշանակում է, որ նախադասության այլ բառեր ուսումնասիրվում են, և ձեր ուղեղը որոշում է, թե որ ուղղագրությունն է ավելի լավ տեսք ունենում: Հիմա, ինչպես կարող եմ դա անել կոդի մեջ:

Իմ Ա. Ի. ծրագիրը վերլուծում է նախադասությունը առանձին բառերի զանգվածում ՝ օգտագործելով Visual Basic (VB) «Split» գործառույթը: [MyArray = Պառակտում (InputSentence, ““)]

Wordանգվածի յուրաքանչյուր բառ կարելի է ստուգել `պարզելու համար, թե արդյոք դա հնարավոր է համանուն լինել` նայելով համանունների ցուցակ պարունակող տվյալների բազայի աղյուսակին:

Իհարկե, մեկ այլ աղյուսակ ստեղծելը նշանակում է, որ մենք պետք է այն լրացնենք տվյալներով, ինչպես նաև պետք է կարողանանք պահպանել տվյալները աղյուսակում:

Ինքնուսուցման ենթածրագիրը կարող է ստեղծվել հետագայում տեքստերի մի խումբ սկանավորելու, իմ համանունների աղյուսակում բառեր որոնելու և այլ «ենթատեքստային» բառեր գրավելու համար: Հմմմ, գուցե մի քանի սեղան է պետք…

Այս «Հրահանգներ» գրելը օգնում է ինձ «հիմնավորել» ծրագրավորման մարտահրավերի լուծումը:

Քայլ 2:

Պատկեր
Պատկեր

HomonymContext աղյուսակի կառուցվածքը:

Իմ առաջին միտքը աղյուսակ էր, որը պարունակում էր բառեր, այլընտրանքային ուղղագրություններ և «Համատեքստ» բառեր: Գաղափարն այն էր, որ փնտրել համանուն պարունակող նախադասություն, այլ բառեր, որոնք տալիս են «ենթատեքստ», որպեսզի ծրագիրը որոշի, թե որ ուղղագրությունն օգտագործել: Աղյուսակը պարունակում է նաև «WordDef» անունով սյունակ ՝ բառի սահմանումը պահելու համար, որն ավելի շատ աղյուսակը պահպանող մարդու համար է, քան Ա. Ի. կոդը.

Յուրաքանչյուր բառ որոնելու համար ես կարող եմ օգտագործել VB կոդ և SQL կոդ, ինչպես…

MyArray- ի յուրաքանչյուր բառի համար

Հարցում = "Ընտրեք բառ tblHomonynContext- ից, որտեղ բառը =" "& word &" ""

եթե այս հարցումը արդյունք է տալիս, ապա բառը համանուն է

Հաջորդը

Սա պարզապես կեղծ կոդ է այս պահին. Ես դեռ չեմ գրել ճշգրիտ կոդը, կամ էլ չեմ պարզել բոլոր մանրամասները: Բայց ազատ զգացեք իմ գաղափարը և այն կիրառեք ՝ օգտագործելով ձեր նախընտրած ծրագրավորման լեզուն:

Քայլ 3:

Պատկեր
Պատկեր

Եթե ձեր մուտքագրած նախադասությունը պարունակում է համանուն, ապա այժմ կարող եք

գործարկել VB կոդ, որը կստուգի ձեր նախադասության մյուս բառերը ՝ հարցման արդյունքներում համատեքստային բառերով:

Դուք կարող եք դա անել նաև SQL պահված ընթացակարգով, որը կարող է ավելի արագ կատարվել:

VB «InStr ()» գործառույթը կվերադարձնի զրոից մեծ թիվ, եթե մեկ տող պարունակվում է մեկ այլ տողի մեջ, կամ այն կվերադարձնի զրո, այն տողը ՉԻ պարունակվում մյուսում:

Instr () իրականում վերադարձնում է պարունակվող տողի դիրքը: Եթե պարզապես ուզում եք իմանալ, արդյոք String1- ը պարունակում է String2, կարող եք օգտագործել «If InStr (String1, String2)> 0 …» կոդի պես:

Այս կոդը պետք է կառուցեք ձեր նախընտրած ծրագրավորման լեզվով:

HomonymContext սեղանը այնքան էլ լավ ձևավորում չէ: Այն ունի բազմաթիվ կրկնվող տվյալներ, և դա տվյալների բազայի դիզայներների կողմից համարվում է «Ոչ նորմալացված»: Այս գործառույթն իրականացնելու ավելի լավ միջոց կլինի երկու սեղան օգտագործել ՝ ծնող-երեխա հարաբերություններում: Մեկ սեղանին (arentնողը) կպարունակվի համանունների ցանկը, դրանց սահմանումները, ինչպես նաև տողի ID- ն: Այս տողի ID- ն օգտագործվում է որպես «Մանկական սեղանի» բանալին, որը պարունակում է բառերը և դրանց ենթատեքստային բառերը:

Սա ավելի հեշտ կլիներ հարցնել (և պահպանել), քան իմ սկզբնական դիզայնը:

Խորհուրդ ենք տալիս: