Posiadaj korpus ponad miliona dokumentów
Dla danego dokumentu chcesz znaleźć podobne dokumenty przy użyciu cosinus jak w modelu przestrzeni wektorowej
Wszystkie tf zostały znormalizowane przy użyciu zwiększonej częstotliwości, aby zapobiec tendencyjności do dłuższych dokumentów, jak w tym tf-idf :
Wstępnie obliczone wszystkie
Miej wstępnie obliczone wartości mianownika.
Więc dla danego musisz zdobyć ponad 1 milion
Mieć próg 0,6 cosinusa dla podobieństwa d 1 d 2
Widzę to dla danego istnieje dość wąski zakres | | d 2 | | dla cosinusa ≥ 0,6
Na przykład w jednym poszukiwaniu podobnego dla cosinusa ≥ 0,6 i a | | d 1 | | z 7,7631 następnie | | d 2 | | zakres od 7,0867 do 8,8339
Gdzie poza progiem cosinus 0,6 | | d 2 | | Zakres od do 0,7223 do 89,3395
Było to przy standardowej normalizacji dokumentów TF Patrzy się
na DUŻO które nie mają szans na dopasowanie cosinus 0.6
Na koniec pytanie:
Dla dawania i cosinus> = 0,6, w jaki sposób można określić zakres | | d 2 | | które mają szansę?
Które | | d 2 | | czy mogę bezpiecznie wyeliminować?
Wiem też liczbę terminów w i d 2 jeśli jest określenie zakresu count.
Poprzez eksperymenty
i | | d 2 | | < | | d 1 | | / .8
wydaje się bezpieczny, ale mam nadzieję, że istnieje zasięg, który okazał się bezpieczny
Utworzono kilka przypadków testowych z bardzo niektórymi unikalnymi terminami, niektóre nie tak wyjątkowe i niektóre wspólne. Rzeczywiście, możesz wziąć najbardziej unikalny termin i zwiększyć tę częstotliwość w porównaniu. Licznik pójdzie w górę (iloczyn skalarny), a zatem porówna || i otrzyma cosinus bardzo blisko 1.
Rodzaj pokrewny, a NIE pytanie.
Używam również tf-idf do grupowania dokumentów w grupy. Baza klientów, w której sprzedaję, jest przyzwyczajona do bliskich grup duplikatów. Podchodzę do podobnego podejścia i wyglądam na najmniejszą liczbę terminów i oceniam ją względem liczby terminów do 3x. Zatem liczba wyrażeń 10 wynosi 10 do 30 (4-9 już strzelało do 10). Tutaj mogę sobie pozwolić na pominięcie jednego z nich w innym. Skończyłem 10%, a największy stosunek to 1,8.
Proszę zidentyfikować błędy w niniejszej analizie
Jak podkreślił AN6U5 istnieje luka w niniejszej analizie
To już nie jest cosinus jeśli dokument jest znormalizowane na ważona
A jak podkreślił Mathew nie można również stwierdzić d1⋅d2≤d1⋅d1
jestem jeszcze nadzieję na coś dać mi ciężko, ale ludzie związani że wydaje się wiedzieć takie rzeczy mówią mi, nie
nie chcę zmienić pytanie tak po prostu zignorować to
zrobię jakąś analizę i może odpowiedzieć na pytanie osobnego dokumentu normalizacji
dla celem tego pytania jest założenie, że dokument jest znormalizowany na surowym tf
Przepraszam, ale po prostu nie jestem dobry z tym, co kiedykolwiek znaczniki są używane do tworzenia równań
Więc w mojej notacji
|| d1 || = sqrt (suma (w1 x w1))
d1 kropka d2 = suma (w1 X w2)
Załóżmy, że d1 jest krótszym dokumentem
Najlepszą d1 kropką d2, którą można osiągnąć, jest d1 kropka d1
Jeśli d1 jest małżeństwem 100 paul 20
I d2 jest małżeństwem 100 paul 20 peter 1
Znormalizowany
d1 jest małżeństwem 1 paul 1/5
d2 jest w związku małżeńskim 1 paul 1/5 peter 1/100
Wyraźnie wyjdź w związek małżeński i paul mają ten sam idf w obu dokumentach
Najlepsze możliwe d1 kropka d2 to d1 kropka d1
Maksymalne możliwe dopasowanie do d1 to d1
cos = d1 kropka d1 / || d1 || || d2 ||
kwadrat po obu stronach
cos X cos = (d1 kropka d1) X (d1 kropka d1) / ((d1 kropka d1) X (d2 kropka d2)) cos X cos = (d1 kropka d1) / (d2 kropka d2)
weź kwadrat pierwiastek z obu stron
cos = || d1 || / || d2 ||
wynosi || d2 || nie jesteś związany cos?
Jeśli tylko użyję || d2 || > = cos || d1 || i || d2 || <= || d1 || / cos Dostaję potrzebną prędkość obliczeniową