Memiliki kumpulan lebih dari jutaan dokumen
Untuk dokumen yang diberikan ingin mencari dokumen serupa menggunakan cosinus seperti dalam model ruang vektor
Semua tf telah dinormalisasi menggunakan frekuensi augmented, untuk mencegah bias terhadap dokumen yang lebih panjang seperti dalam tf-idf ini :
Telah menghitung sebelumnya semua
Memiliki nilai-nilai untuk penyebut yang sudah dihitung sebelumnya.
Jadi untuk tertentu perlu mencetak lebih dari 1 juta
Memiliki ambang 0,6 cosinus untuk kesamaan d 1 d 2
Saya dapat mengamati bahwa untuk yang diberikanada kisaran yang cukup sempituntuk cosinus 0.6
Misalnya dalam satu pencarian yang mirip untuk cosinus 0.6 dan adari 7.7631 laluberkisar dari 7,0867 hingga 8,8339
Di mana di luar ambang batas cosinus 0,6 || d_2 || berkisar dari 0,7223 hingga 89,3395
Ini dengan standar tf normalisasi dokumen.
Ini melihat BANYAK || d_2 || yang tidak memiliki peluang menjadi pertandingan cosinus 0,6 | | d 2 | | ≥ ≥ | | d 1 | | | | d 2 | | | | d 2 | | | | d 2 | |
Akhirnya pertanyaan:
Untuk memberidan cosine dari> = 0,6 cara menentukan rentangyang punya kesempatan?
Yangdapatkah saya menghilangkan dengan aman? | | d 2 | | | | d 2 | |
Saya juga tahu jumlah istilah dalam dan jika ada rentang hitungan istilah.d 2
Melalui eksperimendan
tampaknya aman tetapi mudah-mudahan ada kisaran yang terbukti aman
Dibuat beberapa test case dengan beberapa istilah yang sangat unik, beberapa tidak begitu unik, dan beberapa umum. Cukup yakin Anda dapat mengambil istilah yang paling unik dan meningkatkan frekuensi itu di bandingkan. Pembilang akan (titik produk) naik dan begitu juga || membandingkan || dan akan mendapatkan kosinus yang sangat dekat dengan 1.
Agak terkait dan BUKAN pertanyaan.
Saya juga menggunakan tf-idf untuk mengelompokkan dokumen ke dalam grup. Basis pelanggan tempat saya menjual digunakan untuk mendekati grup dup. Di sana saya mengambil pendekatan terkait di saya terlihat sebagai jumlah term terkecil dan mengevaluasinya terhadap term term hingga 3x. Jadi hitungan istilah 10 terlihat pada 10 hingga 30 (4-9 sudah memiliki kesempatan mereka di 10). Di sini saya dapat melewatkan satu yang dijemput di yang lain. Saya selesai 10% dan rasio terbesar adalah 1,8.
Silakan identifikasi kekurangan dalam analisis ini
Seperti yang ditunjukkan oleh AN6U5, ada kelemahan dalam analisis
ini. Tidak lagi merupakan kosinus jika dokumen dinormalisasi berdasarkan bobot.
Dan seperti yang ditunjukkan oleh Mathew juga tidak dapat menyimpulkan d1⋅d2≤d1⋅d1.
Saya masih berharap ada sesuatu yang membuat saya terikat tetapi orang-orang yang tampaknya tahu hal ini mengatakan tidak,
saya tidak ingin mengubah pertanyaan, jadi abaikan saja ini,
saya akan melakukan beberapa analisis dan mungkin mengirim pertanyaan terpisah pada normalisasi dokumen
Untuk tujuan dari pertanyaan ini menganggap dokumen dinormalisasi pada baku tf
Maaf tapi saya hanya tidak baik dengan markup apa yang pernah digunakan untuk membuat persamaan
Jadi dalam notasi saya
|| d1 || = sqrt (jumlah (w1 x w1))
d1 dot d2 = jumlah (w1 X w2)
Diasumsikan d1 adalah dokumen yang lebih pendek.
Yang terbaik d1 dot d2 yang dapat dicapai adalah d1 dot d1
Jika d1 menikah 100 paul 20
Dan d2 menikah 100 paul 20 peter 1
Normalisasi
d1 menikah 1 paul 1/5
d2 menikah 1 paul 1/5 peter 1/100
Jelas menikah dan paul memiliki idf yang sama di kedua dokumen
. Kemungkinan terbaik d1 dot d2 adalah d1 dot d1
Pencocokan maksimum yang mungkin untuk d1 adalah d1
cos = d1 dot d1 / || d1 || || d2 ||
persegi kedua sisi
cos X cos = (d1 dot d1) X (d1 dot d1) / ((d1 dot d1) X (d2 dot d2)) cos X cos = (d1 dot d1) / (d2 dot d2)
ambil kotak akar dari kedua sisi
cos = || d1 || / || d2 ||
adalah || d2 || tidak dibatasi oleh cos?
Jika saya hanya menggunakan || d2 || > = cos || d1 || dan || d2 || <= || d1 || / cos saya mendapatkan kecepatan komputasi yang saya butuhkan
sumber
Jawaban:
Sayangnya, matematika menyederhanakan untuk menunjukkan bahwa Anda tidak dapat membenarkan dengan ketat membatasi perbandingan kesamaan cosinus dari vektor berdasarkan panjangnya.
Poin kuncinya adalah bahwa metrik kesamaan cosine menormalkan berdasarkan panjang, sehingga hanya vektor satuan yang dipertimbangkan. Saya tahu ini bukan jawaban yang Anda inginkan, tetapi matematika dengan jelas menunjukkan bahwa metrik kesamaan cosinus adalah agnostik dengan panjang vektor.
Mari kita lihat matematika lebih terinci:
Anda menerapkan metrik kesamaan cosinus dan mengharuskan metrik itu lebih besar dari 0,6:
.
Tetapi panjang skalar di bagian bawah dapat didistribusikan ke dalam produk silang di atas (properti distributif):
.
Sekarang A dan B adalah vektor yang titik dalam arah yang sama dengan A dan B tetapi mereka telah dinormalisasi dengan panjang satu. Jadi definisi metrik kesamaan cosinus adalah mengambil vektor asli, menormalkannya dengan panjang satu, dan kemudian mengukur produk titik dari vektor satuan.A^ B^ A B
Untuk itu:
hanya bergantung pada orientasi vektor dan bukan pada besarnya mereka (yaitu panjang).
Rekonsiliasi ini dengan apa yang Anda lakukan:
Terlepas dari apa yang ditunjukkan hasil aljabar linier, Anda mungkin masih melihat hasil yang signifikan secara statistik. Secara praktis, Anda mungkin menemukan bahwa statistik menunjukkan bahwa batasan panjang berlaku untuk data Anda. Misalnya, Anda mungkin menemukan bahwa tweet tidak pernah memiliki kesamaan cosinus bila dibandingkan dengan "Perang dan Damai" Tolstoy. Jika statistik Anda terlihat bagus untuk menggunakan | | d 2 | | > .8 | | d 1 | | dan | | d 2 | | < | | d 1 | |≥0.6 ||d2||>.8||d1|| maka saya sarankan Anda pergi karena jenis pembatasan kanopi ini sangat berguna dalam menghemat waktu komputasi.||d2||<||d1||/.8
Anda mungkin dapat mendamaikan apa yang telah Anda lakukan dengan metrik jarak dengan juga mempertimbangkan jarak Euclidean. Dimana kemiripan cosinus hanya mengembalikan nilai antara -1 dan 1 berdasarkan sudut antara dua vektor, jarak Euclidean akan mengembalikan nilai yang bergantung pada panjang kedua vektor tersebut. Dalam beberapa hal, Anda menggabungkan aspek jarak Euclidean dengan kesamaan cosinus.
Masuk akal cukup baik untuk mensyaratkan bahwa panjang relatif berada dalam jarak 25% dari satu sama lain dalam arti bahwa ini menggabungkan aspek jarak Euclidean untuk membuat kanopi kelompok-oleh, yang memotong waktu perhitungan, kemudian panjang kesamaan cosinus agnostik dapat digunakan sebagai penentu akhir.
Perhatikan bahwa 1 / .8 = 1.25, jadi d2> =. 8d1 adalah batasan yang lebih ketat daripada d2 <= d1 / .8. Saya sarankan menggunakan d2> = .75d1 dan d2 <= 1.25d1 karena ini simetris.
Semoga ini membantu!
sumber
Untuk mengerjakan beberapa aljabar, izinkan saya memperkenalkan beberapa istilah lagi (dan ganti beberapa istilah menjadi yang lebih pendek):
sumber
Saya mengirim jawaban tetapi jelas saya akan memberikan bonus kepada orang lain
Saya pikir ada pembilang maksimum jika tf dokumen dinormalisasi
d1⋅d2 / (|| d1 |||| d2 ||)
Asumsikan d1 memiliki istilah yang sama atau kurang (atau ambil saja d dengan persyaratan kurang)
Tf maksimum yang dinormalisasi adalah 1
Jadi jumlah pembilang maksimum yang mungkin (tf1, i * idf, i * 1 * idf, i)
|| d2 || = jumlah (tf1, i * idf, i * 1 * idf, i) / || d1 || / .6
Adapun minimum saya sedang mengerjakan itu tetapi jelas ada minimum.
Jika Anda akan mencocokkan Anda akan memiliki || d ||
sumber