---
# System prepended metadata

title: LDA 2

---


## Materi
https://docs.google.com/presentation/d/1LZHX_LNfouYtL_k6YAnxTy_GyKrMtK9z/edit?usp=sharing&ouid=108447658857677622027&rtpof=true&sd=true

## Latent Dirichlet Allocation
Latent Dirichlet Allocation, atau LDA untuk singkatnya, adalah algoritma pembelajaran mesin tanpa pengawasan. Mirip dengan algoritma pengelompokan K-means, LDA akan berusaha mengelompokkan kata-kata dan dokumen ke dalam sejumlah kelompok yang telah ditentukan sebelumnya (yaitu topik). Topik-topik ini kemudian dapat digunakan untuk mengorganisir dan mencari dokumen.

**Catatan Penting**
- LDA beroperasi berdasarkan asumsi bahwa dokumen dengan topik yang sama akan memiliki banyak kata yang sama.
- LDA adalah model *bag of words*, yang berarti ia hanya mempertimbangkan token-token individual, bukan hubungan antar kata dalam sebuah kalimat.

**Matematika**
Metode paling populer untuk memperkirakan model LDA adalah *Gibbs sampling*. Probabilitas bahwa suatu kata dalam dokumen dikaitkan dengan topik j dapat dinyatakan sebagai berikut:


$$
P(z_i = j \mid \mathbf{z}_{-i}, w_i, d_i, \cdot) \propto 
\frac{C_{w_i j}^{(WT)} + \eta}{\sum_{w=1}^{W} \left( C_{wj}^{(WT)} + \eta \right)} \cdot
\frac{C_{d_i j}^{(DT)} + \alpha}{\sum_{t=1}^{T} \left( C_{d_i t}^{(DT)} + \alpha \right)}
$$

di mana:

- $W$ adalah ukuran kosakata (jumlah kata unik).
- $T$ adalah jumlah topik.
- $C_{j w}^{(WT)}$ adalah jumlah kali kata $w$ ditugaskan ke topik $j$ (matriks hitungan kata–topik).
- $C_{d j}^{(DT)}$ adalah jumlah kali topik $j$ muncul dalam dokumen $d$ (matriks hitungan dokumen–topik).
- $\alpha$ dan $\eta$ adalah hiperparameter Dirichlet. Nilai $\alpha$ yang kecil mendorong setiap dokumen difokuskan pada sedikit topik dominan, sedangkan nilai $\eta$ yang kecil mendorong setiap topik menggunakan sedikit kata dominan.

![image](https://hackmd.io/_uploads/HJoSX4U6ex.png)


Apa Saja Kegunaan Pemodelan Topik (Topic Modeling)?

Pemodelan Topik merupakan alat yang sangat penting dalam Natural Language Processing (NLP) dan secara luas digunakan untuk tujuan-tujuan berikut:

1. **Kategorisasi Dokumen**: Tujuannya adalah mengelompokkan atau mengklasifikasikan kumpulan dokumen yang besar ke dalam berbagai kategori berdasarkan tema utama yang mendasarinya. Contohnya, seperti yang telah dijelaskan sebelumnya, mengklasifikasikan buku-buku atau makalah penelitian ke dalam kategori-kategori tertentu.

2. **Ringkasan Dokumen (Document Summarization)**: Pemodelan topik merupakan alat yang sangat berguna untuk menghasilkan ringkasan dari dokumen-dokumen panjang—misalnya, merangkum tumpukan besar makalah penelitian menjadi poin-poin inti berdasarkan topik-topik utamanya.

3. **Analisis Niat (Intent Analysis)**: Analisis niat bertujuan untuk memahami maksud atau tujuan di balik setiap kalimat (atau tweet, unggahan media sosial, keluhan pelanggan, dll.). Ini membantu mengidentifikasi apa yang sebenarnya ingin disampaikan oleh teks tersebut dalam suatu dokumen.

4. **Temu Balik Informasi (Information Retrieval)**: Bidang temu balik informasi—yang berfokus pada penyimpanan, pencarian, dan pengambilan informasi—juga memanfaatkan pemodelan topik untuk memahami tema dan konten dalam kumpulan data teks yang besar, sehingga mempermudah pencarian informasi yang relevan.

5. **Reduksi Dimensi (Dimensionality Reduction)**: Dalam pemodelan data, mengurangi jumlah dimensi merupakan aspek penting. Membangun model dengan terlalu banyak dimensi bisa sangat merepotkan. Pemodelan topik membantu mengurangi dimensi data teks dengan mengubah dokumen—yang awalnya terdiri dari banyak kata—menjadi representasi berbasis topik. Kata-kata yang mirip dikelompokkan menjadi satu topik, sehingga mengurangi kompleksitas dan dimensi korpus secara keseluruhan.

6. **Mesin Rekomendasi (Recommendation Engines)**: Pemodelan topik juga digunakan dalam membangun mesin rekomendasi. Sistem ini memberikan konten yang disesuaikan kepada pengguna berdasarkan tema-tema yang diidentifikasi melalui pemodelan topik, sehingga rekomendasi menjadi lebih relevan dan personal.

- η adalah hiperparameter. Nilai rendah untuk η (yaitu eta) memberikan bobot lebih besar pada setiap topik yang terdiri dari hanya beberapa kata dominan.

**Algoritma**

Mari kita telusuri satu iterasi dari algoritma ini.
Misalkan kita memiliki dokumen-dokumen berikut:

* The president declared war against Russia  
* The student slept in instead of studying for his exam

Kita mulai dengan memisahkan kalimat-kalimat tersebut menjadi token, lalu menghapus semua kata stop bahasa Inggris.

![image](https://hackmd.io/_uploads/SJJ8XS8Txe.png)

Kita memberikan ID unik untuk setiap kata.

![image](https://hackmd.io/_uploads/HkjK7rITlg.png)
Kita secara acak menetapkan setiap kata dalam setiap dokumen ke salah satu dari K topik.

![image](https://hackmd.io/_uploads/BkuQVr8plg.png)

Kita menghitung matriks $C_{wj}^{WT}$.

![image](https://hackmd.io/_uploads/HyByrSLaxe.png)

Kita menghitung matriks $C_{dj}^{WT}$.

![image](https://hackmd.io/_uploads/B11wISLTel.png)

Mari kita asumsikan bahwa kita menetapkan hiperparameter $\alpha$ dan $\eta$ masing-masing ke $1$ dan $0{,}001$. Sekarang, kita telah memiliki semua yang dibutuhkan untuk menghitung probabilitas.

Kita mulai dengan melihat jumlah kemunculan kata “president” dalam topik 0.

$$C_{wj}^{WT} = 1$$

Pada penyebut, kita menghitung jumlah total semua kata yang ditugaskan ke topik 0 (dalam kasus ini, sebanyak 5).

$$\sum_{w=1}^{W} C_{wj}^{WT} = 5$$

Menggunakan matriks $C_{dj}^{DT}$, kita melihat jumlah kemunculan dokumen $d = 0$ dalam topik 0 (dalam kasus ini sebanyak 3).

$$C_{dj}^{DT} = 3$$

Jumlah total kemunculan dokumen $d = 0$ dalam topik 0 dan topik 1 masing-masing adalah 3 dan 1. Kita jumlahkan 3 dan 1 untuk mendapatkan 4.

$$\sum_{t=1}^{T} C_{d_i t}^{DT} = 4$$

Kita mengganti nilai-nilai tersebut ke dalam rumus yang telah kita lihat sebelumnya.

$$\frac{C_{w_{ij}}^{WT} + \eta}{\sum_{w=1}^{W} C_{wj}^{WT} + W} \cdot \frac{C_{d_{ij}}^{DT} + \alpha}{\sum_{t=1}^{T} C_{d_i t}^{DT} + T \alpha}$$

$$\frac{(1) + (0.001)}{(5) + (9)(0.001)} \cdot \frac{(3) + (1)}{(4) + (2)(1)}$$

$$\left( \frac{1.001}{5.009} \right) \left( \frac{4}{6} \right)$$

$$0.13322685832$$

Seperti yang kita lihat, probabilitas memperoleh topik 0 diberikan kata $w =$ “president” dan dokumen $d = 0$ sekitar 13%.

# TUGAS



Referensi

1. https://medium.com/@patrickhk/build-a-lda-model-for-classification-with-gensim-80ca6343c4b9
2. https://medium.com/@corymaklin/latent-dirichlet-allocation-dfcea0b1fddc