Saya benar-benar baru di word2vec jadi tolong bawa. Saya memiliki satu set file teks yang masing-masing berisi satu set tweet, antara 1000-3000. Saya telah memilih kata kunci yang umum ("kw1") dan ingin mencari istilah yang relevan secara semantik untuk "kw1" menggunakan word2vec. Misalnya jika kata kuncinya adalah "apel", saya akan berharap untuk melihat istilah terkait seperti "ipad" "os" "mac" ... berdasarkan pada file input. Jadi sekumpulan istilah terkait untuk "kw1" ini akan berbeda untuk setiap file input karena word2vec akan dilatih pada file individual (mis., 5 file input, jalankan word2vec 5 kali pada setiap file).
Tujuan saya adalah untuk menemukan serangkaian istilah terkait untuk setiap file input yang diberikan kata kunci umum ("kw1"), yang akan digunakan untuk beberapa tujuan lain.
Pertanyaan / keraguan saya adalah:
- Apakah masuk akal menggunakan word2vec untuk tugas seperti ini? apakah secara teknis benar untuk digunakan mengingat kecilnya ukuran file input?
Saya telah mengunduh kode dari code.google.com: https://code.google.com/p/word2vec/ dan baru saja menjalankannya sebagai berikut:
time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50
./distance vectors.bin
Dari hasil saya, saya melihat saya mendapatkan banyak istilah bising (stopwords) ketika saya menggunakan alat 'jarak' untuk mendapatkan istilah terkait dengan "kw1". Jadi saya memang menghapus stopwords dan istilah berisik lainnya seperti pengguna menyebutkan. Tapi saya belum melihat di mana pun bahwa word2vec membutuhkan data input yang dibersihkan ...?
Bagaimana Anda memilih parameter yang tepat? Saya melihat hasilnya (dari menjalankan alat jarak) sangat bervariasi ketika saya mengubah parameter seperti '-window', '-iter'. Teknik mana yang harus saya gunakan untuk menemukan nilai yang benar untuk parameter. (percobaan dan kesalahan manual tidak mungkin bagi saya karena saya akan meningkatkan dataset).
sumber