76 lines
4.6 KiB
TeX
76 lines
4.6 KiB
TeX
\section{Cieľ}
|
||
Hlavným cieľom je zistiť, aké tematické oblasti sa prirodzene vyskytujú v kolekcii textov bez toho, aby boli vopred určené triedy alebo kategórie. Ide teda o úlohu učenia bez učiteľa.
|
||
Na základe štatistického rozdelenia výrazov a podobností medzi dokumentmi zoskupíme články do niekoľkých zhlukov, pričom každý z nich by mal zodpovedať určitej téme.
|
||
|
||
\section{Matematická reprezentácia textu}
|
||
Na to, aby bolo možné texty matematicky spracovať, je potrebné ich previesť do vektorovej podoby.
|
||
Využitá bola reprezentácia TF-IDF (\textit{Term Frequency–Inverse Document Frequency}), ktorá priraďuje vyššiu váhu slovám, ktoré sú pre daný dokument typické, ale nie príliš časté.
|
||
|
||
Frekvencia slov (TF) sa počíta pomocou logaritmickej mierky:
|
||
\begin{equation}
|
||
\text{TF}(w,d) = \log(1 + f(w,d)) \label{eq:tf}
|
||
\end{equation}
|
||
kde $f(w,d)$ označuje počet výskytov slova $w$ v dokumente $d$.
|
||
Inverzná frekvencia dokumentov (IDF) vyjadruje, ako informačne je slovo prínosné vzhľadom na svoj výskyt v súbore dokumentov $D$:
|
||
\begin{equation}
|
||
\text{IDF}(w,D) = \log\left(\frac{N}{f(w,D) + 1}\right) \label{eq:idf}
|
||
\end{equation}
|
||
kde $N$ predstavuje celkový počet dokumentov.
|
||
Finálna hodnota TF-IDF je daná súčinom týchto dvoch členov.
|
||
|
||
\section{Optimalizácia a redukcia šumu}
|
||
Vektory TF-IDF obsahujú aj značný šum a redundantné informácie, čo môže negatívne ovplyvniť kvalitu zhlukovania.
|
||
Preto bola použitá metóda hlavných komponentov (PCA), aby sa znížili rozmery dát a zároveň zachovali čo najviac variabilitu.
|
||
|
||
PCA premieta pôvodné dáta do priestoru hlavných komponentov, ktoré sú lineárne nezávislé a postupne zachytávajú najväčší rozptyl v dátach.
|
||
Projekciou na prvých niekoľko komponentov sa odstránia menej informatívne rozmery a tým sa model zjednoduší.
|
||
|
||
\section{Zhlukovanie}
|
||
Na samotné zhlukovanie bol použitý algoritmus K-means.
|
||
Ide o iteratívny algoritmus, ktorý rozdeľuje priestor príznakov do $k$ skupín a minimalizuje nasledujúcu funkciu nezhody:
|
||
\begin{equation}
|
||
L(\Theta) = \frac{1}{n} \sum_{i=1}^n \min_{m=1,\dots,k} \|x_i - \theta_m\|_2^2
|
||
\end{equation}
|
||
kde $\theta_m$ označuje vektor súradníc $m$-tého centra.
|
||
Aby algoritmus neskončil v lokálnom minime, bola zvolená viacnásobná inicializácia a výsledok s najnižšou vnútrozhlukovou sumou štvorcov WSS.
|
||
|
||
\section{Stanovenie granularity tém}
|
||
Počet výsledných zhlukov $k$ nebol určený dopredu, ale bol odhadovaný pomocou metódy lakťa.
|
||
Sleduje sa pritom pokles hodnoty WSS v závislosti od počtu $k$:
|
||
\begin{equation}
|
||
\text{WSS} = \sum_{i=1}^n l_\Theta^k(x_i)
|
||
\end{equation}
|
||
Pri zvyšovaní $k$ hodnota WSS spravidla klesá.
|
||
Optimálna hodnota $k$ sa zvolí v mieste, kde sa krivka začne postupne vyrovnávať, teda v „lakti“. Tento bod predstavuje kompromis medzi presnosťou a zložitosťou modelu.
|
||
|
||
\begin{figure}[h]
|
||
\centering
|
||
\includegraphics[width=0.8\textwidth]{wss_plot.eps}
|
||
\caption{Závislosť sumy štvorcov (WSS) od počtu zhlukov $k$. Lakeť indikuje optimálnu granularitu tém.}
|
||
\label{fig:elbow}
|
||
\end{figure}
|
||
|
||
\section{Interpretácia objavených tém}
|
||
Po vykonaní zhlukovania boli centrá jednotlivých zhlukov interpretované ako reprezentanti tém.
|
||
Použitá bola inverzná transformácia:
|
||
\begin{equation}
|
||
x_{ij} \approx \sum_{k=1}^m \phi_{jk} z_{ik}
|
||
\end{equation}
|
||
Na základe hodnôt v centre sa vybrali tie výrazy, ktoré mali najvyššie váhy (koeficienty $\phi_{jk}$).
|
||
Tieto slová vystihujú obsah príslušného zhluku a umožňujú kvalitatívne posúdiť, aké témy boli v kolekcii textov objavené.
|
||
|
||
\section{Záver}
|
||
Redukcia rozmerov pomocou PCA zlepšila stabilitu a čitateľnosť výsledkov.
|
||
Zhlukovanie metódou K-means v kombinácii s výpočtom WSS poskytlo praktický nástroj na určenie počtu tém.
|
||
|
||
Pre finálny model s $k=8$ boli identifikované nasledujúce tematické oblasti (zoradené podľa dôležitosti slov v centre):
|
||
\begin{itemize}
|
||
\item Gastronómia: food, city, restaurants, new, york, restaurant, wine.
|
||
\item Biznis a správy: company, business, said, week, years, year.
|
||
\item Šéfkuchári a menu: restaurant, mr, chef, opens, news, bar, menu.
|
||
\item Literatúra a život: life, world, new, book, home, family, father.
|
||
\item Spoločnosť a ľudia: black, white, people, says, men, women, century.
|
||
\item Film a TV: movie, tv, times, film, series, story, based.
|
||
\item Dizajn a architektúra: house, designer, design, early, years, century.
|
||
\item Umenie a práca: work, artist, art, day, young, life.
|
||
\end{itemize} |