Један од основних задатака надгледаног машинског учења (енгл. supervised mashine learning) је задатак класификације. Циљ задатка класификације је одредити класу или класе којима припадају ентитети који се разматрају. На пример, можемо пожелети да аутоматски класификујемо песме према ауторима, слике према локацијама које се на њима налазе, пацијенте неке болнице према ризику реаговања на нову терапију и слично. У овој секцији упознаћемо различите типове класификације, неке специфичности и технике класификације текстуалних докумената, као и мере којима можемо оценити успешност класификације.
Бинарна, вишекласна и вишелабеларна класификација¶
Бинарна класификација (енгл. binary classification) је тип класификације у којој за ентитет који се разматра треба одредити којој од двеју задатих класа припада. На пример, задаци разврставања електронске поште на регуларну или непожељну пошту или разврставања слика тумора на бенигне или малигне су задаци бинарне класификације. У првом случају, класе које разматрамо су класа регуларне поште и класа непожељне поште. Слично, у другом случају разликујемо класу слика бенигних тумора и класу слика малигних тумора.
У задатку вишекласне класификације (енгл. multiclass classification) је потребно одредити којој од више задатих класа припада ентитет који се разматрa. Тако, на пример, класификација новинског чланка у домен технологије, спорта или моде представља један пример вишекласне класификације. Слично важи и за задатак одређивања да ли се на слици налази ауто, пешак или коловоз који може бити од велике важности за неко аутономно возило. Овде је важно напоменути да ентитет који се разматра може припадати тачно једној класи.
Уколико се ради о задатку класификације који ентитет који се разматра може распоредити у већи број класа говоримо о вишелабеларној класификацији (енгл. multilabel classification). Тако, на пример, један блог на вебу може имати већи број класа (тагова, лабела) као што су путовање, Италија и сладолед.
Скупови за обучавање, валидацију и тестирање модела¶
За сва три типа класификације заједничко је да се критеријуми придруживања ентитета класама морају научити на основу припремљеног скупа података (енгл. dataset). У овом скупу сваком ентитету је придружена одговарајућа репрезентација као и обележје којим се наглашава којој класи (или класама за случај вишелабеларне класификације) ентитет припада.
Скуп података се по правилу дели на скуп за обучавање (енгл. training dataset), скуп за валидацију (енгл. validation dataset) и скуп за тренирање (енгл. test dataset). Над скупом за обучавање се учи сам задатак класификације праћењем одговарајућег алгоритама. Сваки од алгоритама је базиран на неком математичком моделу који користећи особине ентитета у скупу покушава дa научи да што мање греши при класификацији. У пракси се обично опроба више различитих алгоритама са различитим подешавањима па се одабере онај са најбољим перформансама. Скуп за валидацију се користи за праћење самог тока обучавања и избор оптималног подешавања, док се скуп за тестирање користи за оцену квалитета класификације и израчунавања релевантних метрика. О овоме ће у наставку бити још речи.
Скупови за обучавање, валидацију и тестирање треба да буду дисјунктни тј. да се међусобно не преклапају. У супротном се може десити да имамо моделе који су превише прилагођени (енгл. overfiting problem) скупу над којим су обучавани и да немају својство генерализације - не понашају се добро приликом класификације нових ентитета. Такође, може се десити да имамо и погрешну оцену квалитета модела и неочекивано понашање приликом примене у пракси.
Репрезентације текста¶
Поменули смо да је сваком од ентитета у скупу података придружена одговарајућа репрезентација. Репрезентације су нумерички еквиваленти расположивих података и неопходне су нам да бисмо могли даље да обрађујемо податке. Различитим типовима ентитета су примерене различите репрезентације. На пример, слике се могу представити вредностима појединачних пиксела боја, аудио записи јачином звука мереном у правилним временским интервалима, док се неки медицински ентитети могу представити вредностима релевантних лабораторијских тестова и анализа. Како ћемо се примарно бавити класификацијом докумената, нешто више пажње обратићемо на начин припреме и представљања текстуалних садржаја.
Чишћење и нормализација текстуалних садржаја¶
Рад са текстуланим садржајима најчешће почиње задацима чишћења (енгл. text cleaning) и нормализације (енгл. text normalization). Задаци чишћења подразумевају брисање фрагмената текста који нису од важности за сам задатак (на пример, линкова или имена слика који су случајно остали у тексту), елиминисање редундантних карактера попут вишеструких белина или маркера секција, као и података који су поверљиви и који се не би смели користити (на пример, имена организација, новчани износи и слично).
Задаци нормализације (енгл. text normalization) се односе на унификовање кодне схеме текста, коришћење конзистентних начина записа (на пример, формата датума попут 3.5.2021. и 5/3/2021), унификовање скраћеница, акронима и слично. Неке форме текста као што су званични извештаји или научни радови прате стандарде језика и захвалније су за ове задатке, док су садржаји генерисани у мање формалним контекстима као што су друштвене мреже или блогови изазовнији за анализу.
У задацима чишћења текста и нормализације се обично користе регуларни изрази (енгл. regular expressions), маханизми којима се могу описати обрасци који карактеришу ограничења или рестрикције.
Репрезентација текстуалних садржаја¶
Репрезентација текста може бити базирана на речима текста или мањим фрагментима попут слогова (n-грама и делића речи), може узимати у обзир њихове фреквенције појављивања и лингвистичка својства попут врста речи. Не постоји универзално добар начин представљања текста за све језике и све задатке јер сваку комбинацију прати низ специфичности које треба узети у обзир. Задатак издвајања фрагмената текста над којима ће бити генерисане репрезентације се назива токенизација (енгл. tokenization). Неке честе репрезентације текста које сусрећемо у пракси су вреће речи (енгл. bag of words) и Tf-Idf које прате фреквенције појављивања речи. Са применом неуронских мрежа постале су популарне и репрезентације Word2Vec, GloVe или Elmo које појединачним речима придружују векторе, низове бројева одређене дужине, а које се даље агрегирају како би се добила репрезентација целог садржаја. Тренутно се са великим успехом користе репрезентације садржаја базиране на трансформерима, посебним неуронским мрежама, међу којима су најпопуларније такозване BERT (енгл. Bidirectional Encoder Representations from Transformers) репрезентације. Њих ћемо користити у нашем задатку класификације.
Репрезентације обележја¶
У задатку бинарне класификацији за ентитете се најчешће користе обележја 0 и 1 или -1 и 1 којима се, редом, наглашава припадање тј. неприпадање класи. У случају вишекласне и вишелабеларне класификације пракса је да се класама придружују векторска обележја. На пример, ако се бавимо класификацијом новинских чланака и посматрамо класе политика, спорт и култура, можемо користити векторска обележја дужине 3 (јер имамо три класе). Тако обележје [1, 0, 0] може представљати класу политика, обележје [0, 1, 0] класу спорт, а обележје [0, 0, 1] класу култура. У задатку вишелабеларне класификације обележје [1, 0, 1] би представљало новински чланак који истовремено припада класама политика и култура.
Мере за оцену класификације¶
Најчешће коришћене мере за оцену класификације су прецизност (енгл. precision), одзив (енгл. recall) и F1 мера (енгл. F1 score). Ове мере нам дају увид у то колико добро наш модел може да класификује ентитете тј. њихове репрезентације и колико често прави грешке. Све поменуте мере израчунавамо користећи скуп за тестирање и веће вредности указују на боље понашање класификатора.
Обрада природних језика¶
Теме које се тичу представљања текста и решавања задатака везаних за његово разумевање спадају у посебну подобласт вештачке интелигенције која се назива обрада природних језика (енгл. Natural Language Processing, скраћено NLP). Ова област обједињује знања лингвистике, когнитивних наука и рачунарства и информатике. Још неки занимљиви проблеми који се убрајају у ову област су машинско превођење, претраживање информација (задатак који за нас обавља Гугле претраживач), препознавање говора, агенти за конверзацију и многи други.
Задаци за вежбу¶
- Одредити којем типу класификације припадају следећи проблеми:
- класификација музичких песама по жанру
- класификација пацијената на пацијенте са ризиком и без ризика од дијабетеса
- класификација новчаних трансакција на регуларне трансакције и преваре
- препознавање и класификација лица на сликама
- тематска класификација новинских чланака
- класификација слика усева по типу