![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Witam,
Projektuje wlasnego klienta poczty w filtrem antyspamowym opartym o twierdzenie Bayesa no i zastanawia mnie jak najlepiej pobierac slowa z maila i wrzucac je do bazy danych. Dla tych ktorzy nie wiedza jak dziala filtr Bayesa zadam pytanie inaczej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chodzi o to ze musze pobrac wszystkie slowa z przychodzacego maila i wrzucic je do bazy danych abym mogl je pozniej wykorzystac do obliczania prawdopodobienstwa ze dane slowo jest spamem - obliczenia prawdopodobiensta na tym etapie nie sa wazne...... No wiec pomysl mam taki zeby poprostu wszystkie slowa z maila wrzucic do tablicy, kazde slowo bedzie kolejnym elementem tablicy a nastepnie te tablice wrzucic do bazy danych. Tylko teraz pytanie, w jaki sposob przechowywac slowa w bazie danych ? Wazna bedzie tez ilosc wystapien danego slowa w mailu i takze zbiorcza ilosc wystapien tego slowa we wszystkich mailach. Takze pomysl mam taki zeby utworzyc tabele w bazie danych ktora bedzie skladala sie z dwoch kolumn. W jednek kolumnie beda przechowywane slowa zas w drugiej ilosc wystapien danego slowa. Tylko czy takie rozwiazanie bedzie efektywne ? bo za kazdym razem gdy przyjdzie nowy mail system bedzie musial przeczesywac tabele w poszukiwaniu slowa i ilosci jego wystapien tak zeby mogl obliczyc prawdopodobienstwo ze dane slowo nalezy do listu spamowego. Co o tym sadzicie ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Czytając od razu pomyślałem tak:
id, word, count, chance Gdzie: id - int unsigned not null auto_increment primary key word - varchar (nie wiem ile maksymalnie liter na słowo) not null (kodowanie utf-8) count - int unsigned not null chance - smallint unsigned not null chance określasz najlepiej w % od 1 do 100 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) co do efektywności - nie wiem. Ten post edytował fifi209 5.08.2009, 14:04:03 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Nie no, mysle ze sie obejdzie bez tej kolumny chance ? bo prawdopodobienstwo bedzie obliczane z funkcji prawdopodobienstwa na podstawie ilosci wystapienia slowa w listach spamowych i w listach niespamowych, wiec tak naprawde przydaloby sie zamiast kolumny chance wstawic kolumne ktora pokazuje ilosc wystapien slowa we wszystkich listach a kolumna count pokazuje ilosc wystapien slowa w listach spamowych......a moze lepiej byloby zrobic 2 tabele dla slow wystepujacych w listach spamowych oraz dla slow wystepujacych w listach legitymowanych....?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 23:28 |