konto usunięte

Temat: Podobieństwo plików

Mam katalog plików, siedzi to sobie w bazie, należy każdy plik do jednej lub wielu kategorii, jest również opisany jakimiś tam tagami (zachowanymi w tablicy tagów, w przypadku tagu, który jeszcze tam nie istnieje - jest on dodawany do tablicy), posiada swoją nazwę.

Zastanawiam się jak zrobić taki box "Podobne pliki" na stronie: przy pokazywaniu jednego z plików obok pojawiałaby się lista np. 10 podobnych plików.

Jako kryteria do określenia podobieństwa chciałbym obrać właśnie nazwę, tagi i kategorię, do której przynależy plik. Nie mam jednak za cholerę pomysłu jak to wszystko ogarnąć, a najlepiej, jeśli dałoby się to zrobić po stronie bazy danych.

Wyobrażam to sobie jako jakąś wielką funkcję, która porównuje pliki każdy z każdym i wylicza jakieś tam procentowe podobieństwo, a zwraca listę plików powyżej danego progu punktowego).

Albo może przy dodawaniu już pliku liczyć mu z danych jakiś tam hash czy coś ( jednak przy aktualizacji tablic może on sie okazywać nieaktualny (np. dodanie tagów itp)), a przy szukaniu podobnych plików porównywać już same hashe (np. string z soundex plus kilka id od tagów i kategorii).

Macie lepszy pomysł?
Robert B.

Robert B. Web Development
Manager

Temat: Podobieństwo plików

Grzegorz Kaszuba:
Mam katalog plików, siedzi to sobie w bazie, należy każdy plik do jednej lub wielu kategorii, jest również opisany jakimiś tam tagami (zachowanymi w tablicy tagów, w przypadku tagu, który jeszcze tam nie istnieje - jest on dodawany do tablicy), posiada swoją nazwę.

Zastanawiam się jak zrobić taki box "Podobne pliki" na stronie: przy pokazywaniu jednego z plików obok pojawiałaby się lista np. 10 podobnych plików.

Jako kryteria do określenia podobieństwa chciałbym obrać właśnie nazwę, tagi i kategorię, do której przynależy plik. Nie mam jednak za cholerę pomysłu jak to wszystko ogarnąć, a najlepiej, jeśli dałoby się to zrobić po stronie bazy danych.

Wyobrażam to sobie jako jakąś wielką funkcję, która porównuje pliki każdy z każdym i wylicza jakieś tam procentowe podobieństwo, a zwraca listę plików powyżej danego progu punktowego).

Albo może przy dodawaniu już pliku liczyć mu z danych jakiś tam hash czy coś ( jednak przy aktualizacji tablic może on sie okazywać nieaktualny (np. dodanie tagów itp)), a przy szukaniu podobnych plików porównywać już same hashe (np. string z soundex plus kilka id od tagów i kategorii).

Macie lepszy pomysł?
Skoro masz tagi, to możesz je wykorzystać do odszukania zdjęć o podobnych tagach. Możesz do tego użyć Mysql Fulltext search.

konto usunięte

Temat: Podobieństwo plików

Jeżeli masz dane i metadane, które są wspólne dla wielu jednostek danych (i na tej podstawie chcesz liczyć podobieństwo), zainteresuj się terminami:

- Euclidean Distance
- Pearson Correlation Score

Powyższe terminy + google + "how to find similar" i masz gotowe fragmenty kodu.

Po stronie bazy to może i nie będzie, ale:

- wyszukiwanie pełnotekstowe w mysql jest tylko na silniku MyISAM
- kiedy aplikacja się rozrośnie, będzie ostro mulić

Temat: Podobieństwo plików

http://en.wikipedia.org/wiki/Longest_common_subsequenc...

Stosunkowo prosty do zaimplementowania algorytm do wyszukiwania podobieństwa w tekstowych plikach.

Do tego algorytm FastMap i na Canvas'ie możesz przedstawić mapę podobieństwa plików :]



Wyślij zaproszenie do