Bagaimana cara saya menggunakan kata embedding untuk memetakan dokumen ke vektor fitur, cocok untuk digunakan dengan pembelajaran yang diawasi?
Sebuah embedding kata memetakan setiap kata ke vektor , dimana adalah beberapa nomor yang tidak terlalu besar (misalnya, 500). Kata embeddings yang populer termasuk word2vec dan Glove .
Saya ingin menerapkan pembelajaran terawasi untuk mengklasifikasikan dokumen. Saat ini saya memetakan setiap dokumen ke vektor fitur menggunakan representasi bag-of-words, kemudian menerapkan klasifikasi off-the-shelf. Saya ingin mengganti vektor fitur bag-of-words dengan sesuatu yang didasarkan pada embedding kata pra-terlatih yang ada, untuk mengambil keuntungan dari pengetahuan semantik yang terkandung dalam kata embedding. Apakah ada cara standar untuk melakukan itu?
Saya bisa membayangkan beberapa kemungkinan, tetapi saya tidak tahu apakah ada sesuatu yang paling masuk akal. Pendekatan kandidat yang telah saya pertimbangkan:
Saya bisa menghitung vektor untuk setiap kata dalam dokumen, dan rata-rata semuanya. Namun, ini sepertinya kehilangan banyak informasi. Misalnya, dengan representasi bag-of-words, jika ada beberapa kata yang sangat relevan dengan tugas klasifikasi dan sebagian besar kata tidak relevan, pengklasifikasi dapat dengan mudah mempelajarinya; jika saya rata-rata vektor untuk semua kata dalam dokumen, classifier tidak memiliki peluang.
Menggabungkan vektor untuk semua kata tidak berfungsi, karena tidak mengarah ke vektor fitur ukuran tetap. Juga sepertinya ide yang buruk karena terlalu sensitif terhadap penempatan kata tertentu.
Saya dapat menggunakan kata embedding untuk mengelompokkan kosakata dari semua kata ke dalam kumpulan cluster yang tetap, katakanlah, 1000 cluster, di mana saya menggunakan persamaan cosinus pada vektor sebagai ukuran kesamaan kata. Kemudian, alih-alih sekumpulan kata-kata, saya dapat memiliki sekumpulan cluster: vektor fitur yang saya suplai ke pengklasifikasi dapat berupa 1000-vektor, di mana komponen ke- menghitung jumlah kata dalam dokumen yang adalah bagian dari cluster .
Diberi kata , kata embeddings ini membuat saya menghitung satu set dari 20 kata paling mirip dan skor kesamaan mereka . Saya bisa mengadaptasi vektor fitur bag-of-words-like menggunakan ini. Ketika saya melihat kata , selain menambah elemen yang sesuai dengan kata oleh , saya juga bisa menambah elemen yang sesuai dengan kata dengan , menambah elemen yang sesuai dengan kata dengan , dan seterusnya.
Apakah ada pendekatan khusus yang mungkin bekerja dengan baik untuk klasifikasi dokumen?
Saya tidak mencari paragraf2vec atau doc2vec; mereka memerlukan pelatihan tentang korpus data besar, dan saya tidak punya korpus data besar. Sebagai gantinya, saya ingin menggunakan embedding kata yang sudah ada.