Professional Documents
Culture Documents
Кластеризација документа користећи TFIDF и КМeans
Кластеризација документа користећи TFIDF и КМeans
одсек Ужице
СЕМИНАРСКИ РАД
асистент/сарадник
У овом семинарском раду обрађиваћемо историјски скуп података који садржи 13.087
саопштења за јавност са странице Министарства правде. Министарство обично објављује
неколико саопштења дневно, а овај скуп података обухвата период од 2009. до јула 2018.
Саопштења садрже информације као што су исходи кривичних предмета, значајне
радње предузете против злочинаца или друга ажурирања о тренутној администрацији.
При обради података користили смо Slkearn TFIDF векторизатор и MiniBatchKMeans да
бисмо извршили једноставно груписање докумената. Након тога смо нацртали кластере
користећи PCA и TSNE, а затим смо приказали главне кључне речи у сваком кластеру.
Након тога смо приказали хистограм кластера.
K-means
Улаз:
- К - број кластера;
- (необележен) скуп за тренинг са м инстанци;
- свака инстанца у скупу је вектор описан са n атрибута (x1, x2, …, xn);
- маx - маx број итерација (опциони параметар);
Кораци:
1) Иницијални избор тежишта кластера, случајним избором тежишта се бирају из скупа
инстанци за тренинг, тј. К инстанци за тренинг се насумично изабере и прогласи за
тежишта
2) Поновити
а) Груписање по кластерима: за сваку инстанцу из скупа за тренинг, и = 1,м,
идентификовати најближе тежиште и доделити инстанцу кластеру коме то тежиште
припада
б) Померање тежишта: за сваки кластер израчунати ново тежиште узимајући просек
инстанци које су додељене том кластеру док алгоритам не конвергира или број итерација
<= маx
Смисао К-мeans алгоритма је минимизација.
ТФ-ИДФ је користан за задатке груписања, као што је груписање докумената или другим
речима, тф-идф нам може помоћи да разумете какав документ имамо.
Учесталост термина t_i, где је n_t — број t_i у тренутном документу/збиру/низу n_k je
број свих термина у тренутном документу/низу.
Инверзна учесталост документа је дневник односа броја свих докумената/низа у
корпусу и броја докумената са термином dokumenata sa terminom t_i.
Увоз података
Груписање је операција без надзора, а КМeans захтева да наведемо број кластера. Један
једноставан приступ је да се нацрта SSE за низ величина кластера. Тражимо „лакат“ где
SSE почиње да се изједначава. МiniBatchKMeans уноси мало буке па смо повећали
величину серије и инит. Нажалост, редовна имплементација КMeans-а је преспора.
Приметићете да ће различита насумична стања генерисати различите графиконе. Овде смо
изабрали 14 кластера.
На крају, проћи ћемо кроз кластере и одштампати главне кључне речи на основу
њиховог ТФИДФ резултата да бисмо видели да ли можемо да уочимо било какве
трендове. Урадићeмо то тако што ћeмо израчунати просечну вредност за све димензије у
Пандас-у, груписане према ознаци кластера. Користећи нумпи, проналажење горњих речи
је једноставно сортирање просечних вредности за сваки ред и узимање горњег Н.