Saya ingin menggunakan Alokasi Dirichlet Laten untuk proyek dan saya menggunakan Python dengan perpustakaan gensim. Setelah menemukan topik saya ingin mengelompokkan dokumen menggunakan algoritma seperti k-means (Idealnya saya ingin menggunakan yang baik untuk tumpang tindih cluster sehingga rekomendasi pun disambut). Saya berhasil mendapatkan topik tetapi dalam bentuk:
0,041 * Menteri + 0,041 * Kunci + 0,041 * momen + 0,041 * kontroversial + 0,041 * Perdana
Untuk menerapkan algoritma pengelompokan, dan koreksi saya jika saya salah, saya yakin saya harus menemukan cara untuk mewakili setiap kata sebagai angka menggunakan tfidf atau word2vec.
Apakah Anda punya ide tentang bagaimana saya dapat "menghapus" informasi tekstual dari misalnya daftar, untuk melakukannya dan kemudian mengembalikannya untuk membuat perkalian yang sesuai?
Misalnya cara saya melihatnya jika kata Menteri memiliki bobot tfidf 0,042 dan seterusnya untuk kata lain dalam topik yang sama saya harus menghitung sesuatu seperti:
0,041 * 0,42 + ... + 0,041 * tfidf (Perdana) dan dapatkan hasil yang nantinya akan digunakan untuk mengelompokkan hasil.
Terima kasih atas waktu Anda.
sumber
Jawaban:
Dengan asumsi bahwa LDA menghasilkan daftar topik dan memberikan skor terhadap setiap topik untuk setiap dokumen, Anda dapat mewakili dokumen dan skor itu sebagai vektor:
Untuk mendapatkan skor untuk setiap dokumen, Anda dapat menjalankan dokumen. sebagai kantong kata-kata, melalui model LDA yang terlatih. Dari dokumentasi gensim:
Kemudian, Anda bisa menjalankan k-means pada matriks ini dan harus mengelompokkan dokumen yang serupa. K-means secara default adalah algoritma pengelompokan keras yang menyiratkan bahwa itu mengklasifikasikan setiap dokumen menjadi satu kelompok. Anda bisa menggunakan mekanisme pengelompokan lunak yang akan memberi Anda skor probabilitas yang cocok dengan sebuah dokumen dalam sebuah kluster - ini disebut fuzzy k-means . https://gist.github.com/mblondel/1451300 adalah intisari Python yang menunjukkan bagaimana Anda dapat melakukannya dengan scikit belajar.
ps: Saya tidak dapat memposting lebih dari 2 tautan
sumber
Sebagai pelengkap jawaban sebelumnya, Anda sebaiknya tidak hanya menjalankan kman secara langsung pada data komposisi yang berasal dari distribusi topik-dok lda, alih-alih menggunakan beberapa transformasi data komposisi untuk memproyeksikannya ke ruang euclidean seperti ilr atau clr.
( Contoh )
sumber