քոթուկ Ինչպե՞ս է աշխատում տեքստի դասակարգումը: - Միացեք.AI
Միացեք մեզ
AI Masterclass.

AI 101 թ

Ինչպե՞ս է աշխատում տեքստի դասակարգումը:

mm
Թարմացվել է on

Տեքստի դասակարգումը տեքստի հաջորդականությունների վերլուծության և դրանց պիտակ հատկացնելու գործընթացն է՝ բովանդակությունից ելնելով դրանք խմբում դնելով: Տեքստի դասակարգման հիմքում ընկած է AI կամ մեքենայական ուսուցման գրեթե ցանկացած առաջադրանք, որը ներառում է բնական լեզվի մշակում (NLP): Տեքստի դասակարգմամբ համակարգչային ծրագիրը կարող է իրականացնել մի շարք տարբեր առաջադրանքներ, ինչպիսիք են սպամի ճանաչումը, զգացմունքների վերլուծությունը և չաթ-բոտի գործառույթները: Ինչպե՞ս է ճիշտ աշխատում տեքստի դասակարգումը: Որո՞նք են տեքստի դասակարգման տարբեր մեթոդները: Ստորև մենք կուսումնասիրենք այս հարցերի պատասխանները:

Տեքստի դասակարգման սահմանում

Կարևոր է որոշ ժամանակ տրամադրել և համոզվել, որ մենք հասկանում ենք ինչ է տեքստի դասակարգումը, ընդհանուր առմամբ, նախքան տեքստի դասակարգման տարբեր մեթոդների մեջ խորանալը: Տեքստի դասակարգումն այն տերմիններից մեկն է, որը կիրառվում է տարբեր առաջադրանքների և ալգորիթմների համար, ուստի օգտակար է համոզվել, որ մենք հասկանում ենք տեքստի դասակարգման հիմնական հայեցակարգը, նախքան դրա իրականացման տարբեր ուղիները ուսումնասիրելը:

Այն ամենը, ինչը ներառում է տեքստի համար տարբեր կատեգորիաներ ստեղծելը, այնուհետև տեքստի տարբեր նմուշների այս կատեգորիաները պիտակավորելը, կարելի է համարել տեքստի դասակարգում: Քանի դեռ համակարգը կատարում է այս հիմնական քայլերը, այն կարող է համարվել տեքստի դասակարգիչ՝ անկախ տեքստի դասակարգման ճշգրիտ մեթոդից և անկախ նրանից, թե ինչպես է ի վերջո կիրառվել տեքստի դասակարգիչը: Էլփոստի սպամի հայտնաբերումը, փաստաթղթերի կազմակերպումն ըստ թեմայի կամ վերնագրի, և ապրանքի ակնարկի զգացումը ճանաչելը տեքստի դասակարգման օրինակներ են, քանի որ դրանք իրականացվում են տեքստը որպես մուտքագրում ընդունելով և այդ հատվածի համար դասի պիտակ դուրս բերելով:

Ինչպե՞ս է աշխատում տեքստի դասակարգումը:

Լուսանկարը՝ Քուին Դոմբրովսկի Flickr-ի միջոցով, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

Տեքստի դասակարգման մեթոդների մեծ մասը կարելի է դասակարգել երեք տարբեր կատեգորիաներից մեկում՝ կանոնների վրա հիմնված մեթոդներ կամ մեքենայական ուսուցման մեթոդներ:

Կանոնների վրա հիմնված դասակարգման մեթոդներ

Կանոնների վրա հիմնված տեքստի դասակարգման մեթոդները գործում են հստակ մշակված լեզվական կանոնների կիրառմամբ: Համակարգն օգտագործում է ինժեների կողմից ստեղծված կանոնները՝ որոշելու համար, թե որ դասին պետք է պատկանի տվյալ տեքստը, որոնելով հուշումներ՝ իմաստային առումով համապատասխան տեքստի տարրերի տեսքով: Յուրաքանչյուր կանոն ունի օրինաչափություն, որին պետք է համապատասխանի տեքստը՝ համապատասխան կատեգորիայում տեղադրելու համար:

Ավելի կոնկրետ լինելու համար, ենթադրենք, դուք ցանկանում էիք նախագծել տեքստի դասակարգիչ, որը կարող է տարբերակել խոսակցության ընդհանուր թեմաները, ինչպիսիք են եղանակը, ֆիլմերը կամ սնունդը: Որպեսզի ձեր տեքստի դասակարգիչին հնարավորություն ընձեռվի ճանաչել եղանակի քննարկումը, կարող եք նրան ասել, որ եղանակին առնչվող բառեր փնտրի այն տեքստի նմուշների տեքստում, որոնք սնվում են: Դուք կունենաք հիմնաբառերի, արտահայտությունների և այլ համապատասխան օրինաչափությունների ցանկ, որոնք կարող են օգտագործվել թեման տարբերելու համար: Օրինակ, դուք կարող եք հրահանգել դասակարգչին փնտրել այնպիսի բառեր, ինչպիսիք են «քամի», «անձրև», «արև», «ձյուն» կամ «ամպ»: Այնուհետև կարող եք դասակարգիչին տալ մուտքագրված տեքստի միջով նայել և հաշվել, թե քանի անգամ են այս բառերը հայտնվում տեքստի տեքստում, և եթե դրանք ավելի հաճախ են հայտնվում, քան ֆիլմերի հետ կապված բառերը, ապա տեքստը կդասակարգեք որպես եղանակի դասին պատկանող:

Կանոնների վրա հիմնված համակարգերի առավելությունն այն է, որ դրանց մուտքերն ու ելքերը կանխատեսելի և մեկնաբանելի են մարդկանց կողմից, և դրանք կարող են բարելավվել ինժեների ձեռքով միջամտության միջոցով: Այնուամենայնիվ, կանոնների վրա հիմնված դասակարգման մեթոդները նույնպես որոշակիորեն փխրուն են, և դրանք հաճախ դժվարանում են ընդհանրացնել, քանի որ դրանք կարող են հավատարիմ մնալ միայն նախապես սահմանված օրինաչափություններին, որոնք ծրագրավորված են: Որպես օրինակ, «ամպ» բառը կարող է վերաբերել խոնավությանը: երկինք, կամ դա կարող է վերաբերել թվային ամպին, որտեղ տվյալները պահվում են: Կանոնների վրա հիմնված համակարգերի համար դժվար է կարգավորել այս նրբությունները՝ առանց ինժեներները բավականաչափ ժամանակ ծախսելու՝ փորձելով ձեռքով կանխատեսել և հարմարեցնել այդ նրբությունները:

Մեքենայի ուսուցման համակարգեր

Ինչպես նշվեց վերևում, կանոնների վրա հիմնված համակարգերն ունեն սահմանափակումներ, քանի որ դրանց գործառույթներն ու կանոնները պետք է նախապես ծրագրավորված լինեն: Ի հակադրություն, մեքենայական ուսուցման վրա հիմնված դասակարգման համակարգերը գործում են՝ կիրառելով ալգորիթմներ, որոնք վերլուծում են տվյալների հավաքածուները որոշակի դասի հետ կապված օրինաչափությունների համար:

Մեքենայի ուսուցման ալգորիթմները սնվում են նախապես պիտակավորված/նախադասակարգված օրինակներով, որոնք վերլուծվում են համապատասխան հատկանիշների համար: Այս նախապես պիտակավորված դեպքերը վերապատրաստման տվյալներն են:

Մեքենայի ուսուցման դասակարգիչը վերլուծում է վերապատրաստման տվյալները և սովորում օրինաչափություններ, որոնք կապված են տարբեր դասերի հետ: Դրանից հետո չտեսնված օրինակները հանվում են իրենց պիտակներից և սնվում են դասակարգման ալգորիթմին, որը նմուշներին պիտակ է հատկացնում: Նշանակված պիտակները այնուհետև համեմատվում են սկզբնական պիտակների հետ՝ տեսնելու, թե որքան ճշգրիտ էր մեքենայական ուսուցման դասակարգիչը՝ չափելով, թե որքան լավ է մոդելը սովորել, թե որ օրինաչափություններն են կանխատեսում դասերը:

Մեքենայի ուսուցման ալգորիթմները գործում են թվային տվյալների վերլուծությամբ: Սա նշանակում է, որ տեքստային տվյալների վրա մեքենայական ուսուցման ալգորիթմ օգտագործելու համար տեքստը պետք է վերածվի թվային ձևաչափի։ Տեքստային տվյալները որպես թվային տվյալներ կոդավորելու և այս տվյալների շուրջ մեքենայական ուսուցման մեթոդներ ստեղծելու տարբեր մեթոդներ կան: Ստորև մենք կանդրադառնանք տեքստային տվյալների ներկայացման տարբեր եղանակներին:

Բառերի տոպրակ

Բառերի տոպրակ տեքստային տվյալների կոդավորման և ներկայացման ամենատարածված մոտեցումներից մեկն է: «Բառերի տոպրակ» տերմինը գալիս է նրանից, որ դուք ըստ էության վերցնում եք փաստաթղթերի բոլոր բառերը և դրանք դնում եք մեկ «տոպրակի» մեջ՝ ուշադրություն չդարձնելով բառերի կարգին կամ քերականությանը, ուշադրություն դարձնելով միայն բառերի հաճախականությունը պայուսակի մեջ։ Սա հանգեցնում է երկար զանգվածի կամ վեկտորի, որը պարունակում է մուտքային փաստաթղթերի բոլոր բառերի մեկ ներկայացում: Այսպիսով, եթե մուտքագրված փաստաթղթերում կան 10000 եզակի բառեր, ապա հատկանիշի վեկտորները կկազմեն 10000 բառ: Այսպես է հաշվարկվում բառի պայուսակ/հատկանիշ վեկտորի չափը։

Լուսանկարը՝ gk_ Machinelearning.co-ի միջոցով, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

Հատկանշական վեկտորի չափը որոշելուց հետո, ընդհանուր փաստաթղթերի ցանկում յուրաքանչյուր փաստաթղթի հատկացվում է իր վեկտորը, որը լցված է թվերով, որոնք ցույց են տալիս, թե տվյալ բառը քանի անգամ է հայտնվում ընթացիկ փաստաթղթում: Սա նշանակում է, որ եթե «սնունդ» բառը հայտնվում է ութ անգամ մեկ տեքստային փաստաթղթում, ապա այդ համապատասխան հատկանիշի վեկտորը/հատկանիշային զանգվածը համապատասխան դիրքում կունենա ութ:

Մեկ այլ կերպ ասած, մուտքագրված փաստաթղթերում հայտնված բոլոր եզակի բառերը բոլորը հավաքվում են մեկ պարկի մեջ, այնուհետև յուրաքանչյուր փաստաթուղթ ստանում է նույն չափի բառի վեկտոր, որն այնուհետև լրացվում է փաստաթղթում տարբեր բառերի հայտնվելու քանակով: .

Տեքստային տվյալների հավաքածուները հաճախ պարունակում են մեծ թվով եզակի բառեր, բայց դրանցից շատերը հաճախ չեն օգտագործվում: Այդ պատճառով բառի վեկտորը ստեղծելու համար օգտագործվող բառերի թիվը սովորաբար սահմանվում է ընտրված արժեքով (N), և այնուհետև հատկանիշի վեկտորի չափը կլինի Nx1:

Ժամկետային հաճախականություն-Հակադարձ փաստաթղթի հաճախականություն (TF-IDF)

Փաստաթուղթը ներկայացնելու մեկ այլ եղանակ՝ հիմնված դրանում առկա բառերի վրա, կրկնօրինակվում է Ժամկետային հաճախականություն-Հակադարձ փաստաթղթի հաճախականություն (TF-IDF). TF-IDF մոտեցումը նաև ստեղծում է վեկտոր, որը ներկայացնում է փաստաթուղթը՝ հիմնվելով դրանում առկա բառերի վրա, սակայն, ի տարբերություն «Բառերի տոպրակի», այս բառերը. կշռված ոչ միայն դրանց հաճախականությամբ. TF-IDF-ն դիտարկում է փաստաթղթերի բառերի կարևորությունը՝ փորձելով չափել, թե որքանով է այդ բառը համապատասխանում փաստաթղթի թեմային: Այլ կերպ ասած, TF-IDF-ը հաճախականության փոխարեն վերլուծում է համապատասխանությունը, և հատկանիշի վեկտորում բառերի հաշվառումը փոխարինվում է TF-IDF միավորով, որը հաշվարկվում է ամբողջ տվյալների հիման վրա:

TF-IDF մոտեցումը գործում է՝ նախ հաշվարկելով տերմինի հաճախականությունը, քանի անգամ են եզակի տերմինները հայտնվում կոնկրետ փաստաթղթում: Այնուամենայնիվ, TF-IDF-ը նաև հոգ է տանում սահմանափակելու այն չափազանց տարածված բառերի ազդեցությունը, ինչպիսիք են «the», «or» և «and», քանի որ այս «կանգառ բառերը» շատ տարածված են, բայց շատ քիչ տեղեկատվություն են փոխանցում փաստաթղթի բովանդակության մասին: Այս բառերը պետք է զեղչվեն, ինչին վերաբերում է TF-IDF-ի «հակադարձ փաստաթղթային հաճախականությունը»: Դա արվում է այն պատճառով, որ որքան շատ փաստաթղթեր են հայտնվում կոնկրետ բառերը, այնքան այդ բառն ավելի քիչ օգտակար է այն բոլոր փաստաթղթերի ցանկի մյուս փաստաթղթերից տարբերելու համար: Բանաձևը, որը TF-IDF-ն օգտագործում է բառի կարևորությունը հաշվարկելու համար, նախատեսված է պահպանել բառերը, որոնք ամենահաճախ և իմաստային առումով հարուստ են:

TF-IDF մոտեցմամբ ստեղծված հատկանիշի վեկտորները պարունակում են նորմալացված արժեքներ, որոնք գումարվում են մեկին, յուրաքանչյուր բառին վերագրելով կշռված արժեք, որը հաշվարկվում է TF-IDF բանաձևով:

Բառի զետեղումներ

Բառերի ներկառուցումներ տեքստի ներկայացման մեթոդներ են, որոնք ապահովում են, որ նմանատիպ իմաստներով բառերը ունեն թվային նման ներկայացումներ:

Բառերի ներկառուցումներ գործել «վեկտորացնող» բառերով, ինչը նշանակում է, որ դրանք բառերը ներկայացնում են որպես իրական արժեք ունեցող վեկտորներ վեկտորային տարածության մեջ: Վեկտորները գոյություն ունեն ցանցի կամ մատրիցի մեջ և ունեն ուղղություն և երկարություն (կամ մեծություն): Բառերը որպես վեկտոր ներկայացնելիս բառերը վերածվում են իրական արժեքներից կազմված վեկտորների: Յուրաքանչյուր բառ գծագրվում է մեկ վեկտորի, և իմաստով նման բառերը ունեն նույն ուղղությունը և մեծությունը: Այս տեսակի կոդավորումը հնարավորություն է տալիս մեքենայական ուսուցման ալգորիթմին սովորել բառերի միջև բարդ հարաբերություններ:

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

Արդյունքում, բառերի ներկառուցումն ավելի լավ է պատկերացնում բառերի համատեքստը նախադասության մեջ:

Գոյություն ունեն տարբեր ալգորիթմներ և մոտեցումներ, որոնք օգտագործվում են բառերի ներկառուցումներ ստեղծելու համար: Բառերի ներկառուցման ամենատարածված և հուսալի մեթոդներից մի քանիսը ներառում են՝ ներկառուցման շերտեր, word2vec և GloVe:

Ներկառուցված շերտեր

Մեքենայական ուսուցման/խորը ուսուցման համակարգի հետ մեկտեղ բառերի ներկառուցումը օգտագործելու հնարավոր եղանակներից մեկն այն է օգտագործել ներկառուցող շերտ. Ներդրման շերտերը խորը ուսուցման շերտեր են, որոնք բառերը փոխակերպում են ներդիրների, որոնք այնուհետև սնվում են խորը ուսուցման մնացած համակարգի մեջ: Ներդրումներ բառը սովորում են, երբ ցանցը մարզվում է կոնկրետ տեքստի վրա հիմնված առաջադրանքի համար:

Բառի ներդրման մոտեցման դեպքում նմանատիպ բառերը կունենան նմանատիպ պատկերներ և ավելի մոտ կլինեն միմյանց, քան տարբեր բառերին:

Ներկառուցվող շերտերն օգտագործելու համար նախ անհրաժեշտ է տեքստը նախապես մշակել: Փաստաթղթում տեքստը պետք է լինի միանգամյա կոդավորված, իսկ վեկտորի չափը պետք է նախապես նշվի: Այնուհետև մեկ տաք տեքստը վերածվում է բառի վեկտորի, և վեկտորները փոխանցվում են մեքենայական ուսուցման մոդելին:

Word2Vec

Word2Vec բառերի ներդրման ևս մեկ տարածված մեթոդ է: Word2Vec-ն օգտագործում է վիճակագրական մեթոդներ բառերը ներկառուցվածների փոխարկելու համար և այն օպտիմիզացված է նեյրոնային ցանցի վրա հիմնված մոդելների հետ օգտագործելու համար: Word2Vec-ը մշակվել է Google-ի հետազոտողների կողմից և այն ներկառուցման ամենատարածված մեթոդներից մեկն է, քանի որ այն հուսալիորեն տալիս է օգտակար, հարուստ ներկառուցումներ: Word2Vec-ի ներկայացումները օգտակար են լեզվում իմաստային և շարահյուսական ընդհանրությունները բացահայտելու համար: Սա նշանակում է, որ Word2Vec-ի ներկայացումները ֆիքսում են հարաբերությունները նմանատիպ հասկացությունների միջև՝ ի վիճակի լինելով տարբերակել, որ «Թագավորի» և «Թագուհու» միջև ընդհանրությունը հոնորար է, և որ «Թագավորը» ենթադրում է «տղամարդկություն», իսկ թագուհին՝ «կին լինելը»:

Ձեռնոց

GloVE կամ գլոբալ վեկտոր բառի ներկայացման համար, հիմնված է Word2Vec-ի կողմից օգտագործվող ներդրման ալգորիթմների վրա: GloVe ներդրման մեթոդները համատեղում են ինչպես Word2Vec-ի, այնպես էլ մատրիցային ֆակտորացման տեխնիկայի ասպեկտները, ինչպիսիք են Լատենտ իմաստային վերլուծությունը: Word2Vec-ի առավելությունն այն է, որ այն կարող է ֆիքսել համատեքստը, բայց որպես փոխզիջում այն ​​վատ է ընդգրկում տեքստի գլոբալ վիճակագրությունը: Ընդհակառակը, ավանդական վեկտորային ներկայացումները լավ են որոշելու գլոբալ տեքստի վիճակագրությունը, բայց դրանք օգտակար չեն բառերի և արտահայտությունների ենթատեքստը որոշելու համար: GloVE-ն ելնում է երկու մոտեցումներից լավագույններից՝ ստեղծելով բառ-համատեքստ՝ հիմնված տեքստի համաշխարհային վիճակագրության վրա:

Բլոգեր և ծրագրավորող մասնագիտություններով Machine Learning և Խորը ուսուցում թեմաներ. Դանիելը հույս ունի օգնել ուրիշներին օգտագործել AI-ի ուժը սոցիալական բարօրության համար: