Milyondan fazla belgeye sahip olmak
Belirli bir belge için vektör uzay modelinde olduğu gibi kosinüs kullanarak benzer belgeler bulmak istiyorum
Tüm tf, bu tf-idf'deki gibi daha uzun belgelere yönelik önyargıları önlemek için artırılmış frekans kullanılarak normalleştirilmiştir :
Tümünü önceden hesapla
Payda hesaplanan önceden değerlerini sahip
belirli bir Yani 1 milyon skoru ihtiyaç
Var benzerlik 0.6 kosinüs bir eşik
Belirli bir için gözlemleyebilirim oldukça dar bir dizi var | | d 2 | | kosinüs ≥ 0,6
için Örneğin bir aramada ≥ 0,6 kosinüs ve benzeri | | d 1 | | 7.7631 sonra | | d 2 | | 7,0867 ila 8,8339 arasında değişir
Kosinüs 0,6 eşiğinin dışında nerede | | d 2 | | 0.7223 ila 89.3395 aralığında
Bu standart tf belge normalizasyonu ile
oldu Bir sürü bakıyor 0.6 kosinüs olma şansı olmayan
Sonunda soru:
Bir vermek için ve kosinüs aralığını belirlemek nasıl> = 0.6 arasında | | d 2 | | bir şansı var mı?
Hangi | | d 2 | | güvenli bir şekilde ortadan kaldırabilir miyim?
Terim sayım aralığı varsa ve d 2'deki terim sayısını da biliyorum .
Deneme yoluyla
ve | | d 2 | | < | | d 1 | | / .8
güvenli görünüyor ancak umarım güvenli olduğu kanıtlanmış bir aralık vardır
Bazı benzersiz terimlerle, bazıları çok benzersiz olmayan ve bazıları yaygın olan bazı test senaryoları oluşturdu. Tabii ki en eşsiz terimi alabilir ve karşılaştırmada bu frekansı artırabilirsiniz. Pay (nokta ürün) yukarı çıkacak ve || || || ve 1'e çok yakın bir kosinüs alacak.
Tür ilgili ve değil soru.
Ayrıca belgeleri gruplar halinde gruplandırmak için tf-idf kullanıyorum. Satış yaptığım müşteri tabanı yakın çift gruplara alışkın. Orada en küçük terim sayımı olarak görüyorum ve 3x'e kadar terim sayımına göre değerlendiriyorum. Yani 10'luk bir terim sayısı 10'dan 30'a bakar (4-9 zaten 10'a vurdu). Burada bir başkasını aldı var özledim göze alabilir. Ben% 10 yapıldım ve en büyük oran 1.8.
Lütfen bu analizdeki kusurları tanımlayın
AN6U5 tarafından işaret edildiği gibi , bu analizde bir kusur var
Belgenin ağırlıklı
olarak normalleştirilmesi durumunda artık bir kosinüs değildir ve Mathew'in işaret ettiği gibi d1⋅d2≤d1⋅d1
de hala bana bir şey vermeyi umuyor ama bu şeyleri biliyor gibi görünen insanlar bana hayır
sorusunu sormak istemiyorum, bu
yüzden bunu görmezden geliyorum, bazı analizler yapacağım ve belki de belge normalleştirmesi
için ayrı bir soru göndereceğim. Bu sorunun amacı, belgenin ham tf üzerinde normalleştirildiğini varsayalım
Üzgünüz, ama denklemleri yapmak için kullanılan biçimlendirme ile iyi değilim
Yani benim gösterimde
|| d1 || = sqrt (toplam (w1 x w1))
d1 dot d2 = sum (w1 X w2)
d1'in daha kısa bir belge olduğunu varsayalım.
En iyi d1 dot d2 elde edilebilir d1 dot d1
d1 evlenirse 100 paul 20
Ve d2 evlenir 100 paul 20 peter 1
Normalleştirilmiş
d1 evlenir 1 paul 1/5
d2 evlenmek 1 paul 1/5 peter 1/100
Açıkça evlenmek ve paul her iki belgede de aynı IDF'ye sahiptir
Mümkün olan en iyi d1 dot d2 d1 dot d1 d1 ile
mümkün olan maksimum eşleşme d1
cos = d1 dot d1 / || d1 || || d2 ||
her iki tarafı da kare
X cos = (d1 nokta d1) X (d1 nokta d1) / ((d1 nokta d1) X (d2 nokta d2)) cos X cos = (d1 nokta d1) / (d2 nokta d2)
kareyi alır her iki tarafın kökü
cos = || d1 || / || d2 ||
|| d2 || cos tarafından sınırlı değil mi?
Sadece || d2 || > = cos || d1 || ve || d2 || <= || d1 || / çünkü ihtiyacım olan hesaplama hızını elde ediyorum