Pertanyaan saya mungkin konyol. Jadi saya akan minta maaf sebelumnya.
Saya mencoba menggunakan model GLOVE yang sudah dilatih oleh Stanford NLP group ( tautan ). Namun, saya perhatikan bahwa hasil kesamaan saya menunjukkan beberapa angka negatif.
Itu segera mendorong saya untuk melihat file data kata-vektor. Rupanya, nilai-nilai dalam kata vektor diizinkan menjadi negatif. Itu menjelaskan mengapa saya melihat kesamaan cosinus negatif.
Saya terbiasa dengan konsep persamaan cosinus dari vektor frekuensi, yang nilainya dibatasi pada [0, 1]. Saya tahu pasti bahwa fungsi titik produk dan kosinus dapat positif atau negatif, tergantung pada sudut antara vektor. Tetapi saya benar-benar kesulitan memahami dan menafsirkan kesamaan cosinus negatif ini.
Sebagai contoh, jika saya memiliki sepasang kata yang memberikan kesamaan -0.1, apakah mereka kurang serupa daripada pasangan lain yang memiliki kesamaan 0,05? Bagaimana dengan membandingkan kesamaan -0,9 hingga 0,8?
Atau haruskah saya melihat nilai absolut dari perbedaan sudut minimal dari ? Nilai absolut dari skor?
Terima kasih banyak.
An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.
Satu-satunya perbedaan antara keduanya adalah bahwa dalam penyimpangan korelasi (momen) - yang sedang dikalikan lintas - berasal dari rata-rata, sedangkan dalam penyimpangan cosinus berasal dari 0 asli - yaitu mereka adalah nilai-nilai sebagaimana adanya .Jawaban:
Biarkan dua vektor dan , sudut diperoleh oleh produk skalar dan norma vektor:a b θ
Karena nilai berada dalam kisaran :cos(θ) [−1,1]
Contoh : Biarkan dua pengguna dan , dan kesamaan antara dua pengguna ini sesuai dengan selera film:U1 U2 sim(U1,U2)
sumber
Jangan gunakan nilai absolut, karena tanda negatif tidak sewenang-wenang. Untuk mendapatkan nilai cosinus antara 0 dan 1, Anda harus menggunakan fungsi cosinus berikut:
(Kode R)
(Kode Python)
sumber
Kesamaan cosine sama seperti korelasi Pearson, tetapi tanpa mengurangi artinya. Jadi, Anda dapat membandingkan kekuatan relatif 2 persamaan cosinus dengan melihat nilai absolut, seperti halnya Anda membandingkan nilai absolut dari 2 korelasi Pearson.
sumber
Benar bahwa cosine-similarity antara vektor frekuensi tidak boleh negatif karena jumlah kata tidak boleh negatif, tetapi dengan embeddings kata (seperti sarung tangan) Anda dapat memiliki nilai negatif.
Pandangan yang disederhanakan dari konstruksi penyematan kata adalah sebagai berikut: Anda menetapkan setiap kata ke vektor acak dalam R ^ d. Selanjutnya jalankan pengoptimal yang mencoba menyenggol dua vektor mirip-v1 dan v2 berdekatan satu sama lain atau mendorong dua vektor berbeda v3 dan v4 terpisah lebih jauh (sesuai jarak tertentu, katakan cosine). Anda menjalankan pengoptimalan ini untuk iterasi yang cukup dan pada akhirnya, Anda memiliki kata-embeddings dengan kriteria tunggal bahwa kata-kata serupa memiliki vektor lebih dekat dan vektor berbeda jauh lebih jauh. Hasil akhirnya mungkin membuat Anda dengan beberapa nilai dimensi menjadi negatif dan beberapa pasangan memiliki kesamaan cosinus negatif - hanya karena proses optimasi tidak peduli dengan kriteria ini. Ini mungkin telah menyikut beberapa vektor ke nilai negatif. Dimensi vektor tidak sesuai dengan jumlah kata,
sumber