You are on page 1of 18

АКАДЕМИЈА СТРУКОВНИХ СТУДИЈА ЗАПАДНА СРБИЈА

одсек Ужице

МАСТЕР СТРУКОВНЕ СТУДИЈЕ


Студијски програм: Информационе технологије и системи

Предмет: Истраживање података на вебу (WEB MINING)

СЕМИНАРСКИ РАД

ТЕМА: Кластеризација документа користећи TFIDF и КМeans

студент бр. индекса оцена датум наставник / сарадник потпис


17/21 др Мирослава
Јордовић Павловић
наставник
Немања Милковић 19/21 Драгана Кнежевић

асистент/сарадник

Ужице, 2022. године


САДРЖАЈ
Списак слика..............................................................................................................................3
Увод............................................................................................................................................4
Сажетак......................................................................................................................................5
Кластеризација..........................................................................................................................6
K-means......................................................................................................................................7
TFIDF чланак са интернета....................................................................................................10
Поступак обраде сета података.............................................................................................11
Увоз података......................................................................................................................11
Издвајање кључних речи....................................................................................................12
Проналажење оптималних кластера.................................................................................12
МiniBatchKMeans кластеризација и исцртавање кластера.............................................13
Top Keywords.......................................................................................................................16
Закључак..................................................................................................................................17
Списак слика
Слика 0-1 Кратак приказ скупа података...............................................................................5
Слика 0-1 Пример решења кластеризације............................................................................6
Слика 0-1 Демонстрација KMEANS.......................................................................................7
Слика 0-1 Формула ТF............................................................................................................10
Слика 0-2 Формула IDF..........................................................................................................10
Слика 0-3 Формула TFIDF.....................................................................................................10
Слика 0-1 Увоз података........................................................................................................11
Слика 0-2 TFIDF VECTORIZER............................................................................................12
Слика 0-3 Проналажење оптималних кластера....................................................................12
Слика 0-4 Проналажење оптималних кластера-излаз.........................................................13
Слика 0-5 Кластеризација програм.......................................................................................14
Слика 0-6 PCA TSNE..............................................................................................................14
Слика 0-7 Histogram................................................................................................................15
Слика 0-8 Најважније кључне речи.......................................................................................16
Слика 0-9 Најважније кључне речи-излаз............................................................................16
Увод

Алгоритми груписања су методе без надзора за проналажење група тачака података


које имају сличне репрезентације у одговарајућем простору. Груписање се разликује од
класификације по томе што не а приори доступно је обележавање (груписање) тачака
података. Као такав, К-значи груписање итеративно група тачке података у регионе које
карактерише скуп центара кластера. Свака тачка података је тада додељена кластеру са
најближим тежиштем кластера. У овом пројекту циљ је пронаћи одговарајуће
представљање података и процену перформансе алгоритама за груписање.
Кластеризација је задатак груписања инстанци, тако да за сваку инстанцу важи да је
сличнија инстанцама из своје групе (кластера), него инстанцама из других група
(кластера).
За разлику од класификације, овде немамо “тачно” решење:
- оцена успешности алгоритма је доста тежа него код класификације
- погодност решења зависи од домена и случаја примене
- једно исто решење може бити различито оцењено у различитим случајевима примене
- захтева ангажовање доменских експерата који ће евалуирати решење.
Сажетак

У овом семинарском раду обрађиваћемо историјски скуп података који садржи 13.087
саопштења за јавност са странице Министарства правде. Министарство обично објављује
неколико саопштења дневно, а овај скуп података обухвата период од 2009. до јула 2018.
Саопштења садрже информације као што су исходи кривичних предмета, значајне
радње предузете против злочинаца или друга ажурирања о тренутној администрацији.
При обради података користили смо Slkearn TFIDF векторизатор и MiniBatchKMeans да
бисмо извршили једноставно груписање докумената. Након тога смо нацртали кластере
користећи PCA и TSNE, а затим смо приказали главне кључне речи у сваком кластеру.
Након тога смо приказали хистограм кластера.

Слика 0-1 Кратак приказ скупа података

Подаци пружају прилику за анализу укључујући:

*Како су се пријављене теме мењале током година / администрације?


*Које речи се често јављају заједно?
*Како се документи могу групирати користећи садржај издања?
*Да ли се модел предиктивног текста може обучити ван наведених тема?
*Користи алаткa као што је Spacy за руковање именованим ентитетима у издањима
(имена, локације, итд.).

У првом делу семинарског рада приказаћемо опште информације о TFIDF и KMEANS.


У другом делу приказана је обрада датог скупа података.

Кључне речи: скуп података, TFIDF, MiniBatchKMeans, KMEANS, груписање, кластер,


PCA, TSNE, кључне речи, хистограм
Кластеризација

Кластеризација је задатак груписања инстанци, тако да за сваку инстанцу важи да је


сличнија инстанцама из своје групе (кластера), него инстанцама из других група
(кластера).
Кластеризација је један од облика ненадгледаног м. учења:

 оно што је расположиво од података су подаци о инстанцама које је потребно на


неки начин груписати;
 не поседујемо податке о пожељној / исправној групи (класи) за улазне инстанце.

За разлику од класификације, овде немамо “тачно” решење:


- оцена успешности алгоритма је доста тежа него код класификације
- погодност решења зависи од домена и случаја примене
- једно исто решење може бити различито оцењено у различитим случајевима примене
- захтева ангажовање доменских експерата који ће евалуирати решење.

Пример различитих добрих решења за исти полазни скуп података:


Слика 0-2 Пример решења кластеризације

K-means

У анализи података, кластеризација методом к-средњих вредности (енгл. к-мeans


clustering) метод је за анализу груписања чији је циљ партиционисање n опсервација у K
кластера у којем свака опсервација припада кластеру са најсличнијим значењем.

Овај проблем је рачунарски тежак (НП-тежак), ипак постоје ефикасни хеуристички


алгоритми који се често примењују и брзо конвергирају ка локалном оптимуму. Они су
често слични алгоритму очекиване минимизације за мешавине Гаусових расподела путем
итеративног приступа пречишћавања заступљеног код оба алгоритма. Поред тога, оба
користе центре кластера (група) да би обликовали податак. Ипак, кластеризација медотом
к-средњих вредности тежи да нађе кластере упоредивог просторног обима, док механизам
алгоритма очекиване минимизације дозвољава да кластер има различите облике.

Један од најпознатијих и најједноставнијих алгоритама Кластеризације.

Слика 0-3 Демонстрација KMEANS

Улаз:
- К - број кластера;
- (необележен) скуп за тренинг са м инстанци;
- свака инстанца у скупу је вектор описан са n атрибута (x1, x2, …, xn);
- маx - маx број итерација (опциони параметар);

Кораци:
1) Иницијални избор тежишта кластера, случајним избором тежишта се бирају из скупа
инстанци за тренинг, тј. К инстанци за тренинг се насумично изабере и прогласи за
тежишта
2) Поновити
а) Груписање по кластерима: за сваку инстанцу из скупа за тренинг, и = 1,м,
идентификовати најближе тежиште и доделити инстанцу кластеру коме то тежиште
припада
б) Померање тежишта: за сваки кластер израчунати ново тежиште узимајући просек
инстанци које су додељене том кластеру док алгоритам не конвергира или број итерација
<= маx
Смисао К-мeans алгоритма је минимизација.

Критеријуми за процену “квалитета” креираних кластера:


1) Међусобна удаљеност тежишта
- што су тежишта даље једно од другог, то је степен преклапања кластера мањи, и њихов
квалитет виши
2) Ст. девијација појединачних инстанци у односу на тежиште
- што је ст. девијација мања, то су инстанце тешње груписане окотежишта и кластери се
сматрају бољим
3) Сума квадрата унутар кластера (within cluster sum of squares)
- сума квадрата одступања инстанци у оквиру кластера од центракластера
Омогућује да се избегну ситуације које К-means доводе у локални минимум. Састоји се у
следећем:
Овај приступ даје добре резултате уколико је број кластера релативно мали (2 - 10); за
већи број кластера не би га требало користити.

Како одредити број кластера К?


1) У случају да поседујемо знање о феномену/појави коју подаци описују
а) Претпоставити број кластера (К) на основу доменског знања
б) Тестирати модел са К-1, К, К+1 кластера и упоредити грешку
2) Уколико не поседујемо знање о феномену/појави
а) Кренути од малог броја кластера и у више итерација тестирати моделувек са
једним кластером више
б) У свакој од итерација, упоредити грешку текућег и претходног модела и кад
смањење грешке постаје занемарљиво, прекинути поступак

Када не поседујемо знање о феномену/појави која је у основи задатка кластеризације


TFIDF чланак са интернета

ТФ-ИДФ је користан за задатке груписања, као што је груписање докумената или другим
речима, тф-идф нам може помоћи да разумете какав документ имамо.

Termin Frekuenci-Inverse Document Frekuenci је нумеричка статистика која показује колико


је реч важна за корпус. Учесталост термина је само однос броја тренутне речи према броју
свих речи у документу/стрингу/итд.

Слика 0-4 Формула ТF

Учесталост термина t_i, где је n_t — број t_i у тренутном документу/збиру/низу n_k je
број свих термина у тренутном документу/низу.
Инверзна учесталост документа је дневник односа броја свих докумената/низа у
корпусу и броја докумената са термином dokumenata sa terminom t_i.

Слика 0-5 Формула IDF

tf-idf(t, d, D) je производ tf(t, d) на idf(t, D).

Слика 0-6 Формула TFIDF


Поступак обраде сета података

Увоз података

Увоз података је једноставан са PANDAS-ом. Изворна датотека је JSON датотека


раздвојена новим редом.
Слика 0-7 Увоз података

Издвајање кључних речи

Овде користимо TFIDFVectorizer јер се надамо да ће IDF резултат извући јединствене


речи које можемо да користимо у груписању. Овде постоји много опција које треба
истражити да би се добили различити резултати, укључујући CountVectorizer.

Слика 0-8 TFIDF VECTORIZER

Проналажење оптималних кластера

Груписање је операција без надзора, а КМeans захтева да наведемо број кластера. Један
једноставан приступ је да се нацрта SSE за низ величина кластера. Тражимо „лакат“ где
SSE почиње да се изједначава. МiniBatchKMeans уноси мало буке па смо повећали
величину серије и инит. Нажалост, редовна имплементација КMeans-а је преспора.
Приметићете да ће различита насумична стања генерисати различите графиконе. Овде смо
изабрали 14 кластера.

Слика 0-9 Проналажење оптималних кластера

Слика 0-10 Проналажење оптималних кластера-излаз


МiniBatchKMeans кластеризација и исцртавање кластера

Овде исцртавамо кластере генерисане нашом КМеанс операцијом. Један дијаграм


користи ПЦА који је бољи у хватању глобалне структуре података. Други користи ТСНЕ
који је бољи у хватању односа између суседа. Да би убрзали процес са ТСНЕ-ом,
узоркујемо од 3000 докумената и прво извршимо смањење димензија ПЦА 50 на
подацима. Затим приказујемо дијаграм распршења који даље узоркује узорак до 300
тачака. Такође приказујемо и хистограм КМеанс кластера.

Слика 0-11 Кластеризација програм


Слика 0-12 PCA TSNE
Слика 0-13 Histogram
Top Keywords

На крају, проћи ћемо кроз кластере и одштампати главне кључне речи на основу
њиховог ТФИДФ резултата да бисмо видели да ли можемо да уочимо било какве
трендове. Урадићeмо то тако што ћeмо израчунати просечну вредност за све димензије у
Пандас-у, груписане према ознаци кластера. Користећи нумпи, проналажење горњих речи
је једноставно сортирање просечних вредности за сваки ред и узимање горњег Н.

Слика 0-14 Најважније кључне речи

Слика 0-15 Најважније кључне речи-излаз


Закључак

Одговарајући број кластера је 14.


Имамо 10 оптималних кластера.
PCA нам показује да су кластери у већем делу груписани, углавном се преклапају са
другим кластерима.
TSNA нам показује да су кластери углавном сами, док су неки помешани са другим
кластерима.
Хистограм нам показује да подаци нису равномерно распоређени, што је и очекивано.
Што се тиче кључних речи, имамо прилично добар резултат. Теме укључујући
експлоатацију деце, пореске преваре, грађанска права и еколошка питања могу се
закључити из главних кључних речи.

You might also like