Pisanie priorytetowej skrzynki odbiorczej

Do tej pory zauważysz trend: zanim przejdziemy do seksownych części uczenia maszynowego, musimy zabrudzić sobie ręce hackowaniem danych, aby dzielić, wyciągać i analizować dane, dopóki nie nadają się do analizy. Jak dotąd musieliśmy cierpieć tylko nieznacznie podczas tego procesu. Aby zbudować klasyfikator spamu, musieliśmy po prostu wyodrębnić treść wiadomości e-mail, a następnie pozwolić pakietowi tm wykonać wszystkie ciężkie zadania. W tym ćwiczeniu dodajemy jednak kilka innych funkcji do naszego zestawu danych i komplikujemy proces, dodając również wymiar czasowy. W związku z tym będziemy musieli znacznie więcej operować na danych. Ale jesteśmy hakerami i brudzimy się danymi, co lubimy! W tym ćwiczeniu skupimy się tylko na wiadomościach e-mail z szynką z korpusu publicznego SpamAssassin. W odróżnieniu od ćwiczenia dotyczącego klasyfikacji spamu, tutaj nie zajmujemy się rodzajem wiadomości e-mail, ale raczej tym, jak każdy z nich powinien być uszeregowany pod względem priorytetu. Dlatego użyjemy największego zestawu danych łatwej szynki i nie będziemy się martwić o dołączanie innych typów e-maili. Ponieważ możemy bezpiecznie założyć, że użytkownik nie rozróżnia wiadomości e-mail w ten sposób, określając, które wiadomości e-mail mają wyższy priorytet, nie ma powodu, aby przenosić te informacje do naszego systemu rankingowego. Zamiast tego my chcemy dowiedzieć się jak najwięcej o naszych zestawach funkcji z wiadomości e-mail pojedynczego użytkownika, dlatego będziemy używać wiadomości e-mail w pierwszym zestawie danych easy ham.

library(tm)

library(ggplot2)

data.path <- “../../03-Classification/code/data/”

easyham.path <- paste(data.path, “easy_ham/”, sep=””)

Podobnie jak wcześniej, jedynymi pakietami R, których będziemy używać w tym ćwiczeniu, są tm do wyodrębniania wspólnych terminów z tematów i treści wiadomości e-mail oraz ggplot2 do wizualizacji wyników. Ponadto, ponieważ korpus publiczny SpamAssassin jest stosunkowo dużym zestawem danych tekstowych, nie powielimy go w folderze danych / dla tej części. Zamiast tego ustawimy ścieżkę względną danych z powrotem do ich położenia w plikach. Następnie stworzymy serię funkcji, które będą ze sobą współpracować w celu parsowania każdego e-maila w zestawie funkcji zilustrowanym w późniejszym przykładzie. Z tego diagramu wiemy, że musimy wyodrębnić cztery elementy z każdej wiadomości e-mail: adres nadawcy, datę otrzymania, temat i treść wiadomości.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *