Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie tekstu i zapisywanie do bazy
Forum PHP.pl > Forum > PHP
Wolfie
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 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 ?
Fifi209
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 winksmiley.jpg

co do efektywności - nie wiem.
Wolfie
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....?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.