Web page language identification based on URLs. Eda Baykan Monika Henzinger Ingmar Weber EPFL Lab. of Theory And Applications of Algorithms VLDB 08



Podobne dokumenty
AUTOMATYKA INFORMATYKA

Klasyfikacja LDA + walidacja

Data Mining Wykład 4. Plan wykładu

Wprowadzenie do uczenia maszynowego

Elementy modelowania matematycznego

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Metody selekcji cech

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

ALGORYTM RANDOM FOREST

9. Praktyczna ocena jakości klasyfikacji

Sztuczna Inteligencja w medycynie projekt (instrukcja) Bożena Kostek

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

Metody klasyfikacji danych - część 1 p.1/24

Wprowadzenie do klasyfikacji

ZeroR. Odpowiada zawsze tak samo Decyzja to klasa większościowa ze zbioru uczącego A B X 1 5 T 1 7 T 1 5 T 1 5 F 2 7 F

Pattern Classification

Metody systemowe i decyzyjne w informatyce

Analiza danych DRZEWA DECYZYJNE. Drzewa decyzyjne. Entropia. test 1 dopełnienie testu 1

Laboratorium 4. Naiwny klasyfikator Bayesa.

Rozpoznawanie obrazów

Inteligentne wydobywanie informacji z internetowych serwisów społecznościowych

Agnieszka Nowak Brzezińska Wykład III

Analiza danych tekstowych i języka naturalnego

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Metody probabilistyczne klasyfikatory bayesowskie

Klasyfikacja obiektów Drzewa decyzyjne (drzewa klasyfikacyjne)

Agnieszka Nowak Brzezińska Wykład III

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

TEORETYCZNE PODSTAWY INFORMATYKI

Laboratorium 6. Indukcja drzew decyzyjnych.

Sieci komputerowe. Wykład 8: Wyszukiwarki internetowe. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Technologie Informacyjne

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Data Mining Wykład 5. Indukcja drzew decyzyjnych - Indeks Gini & Zysk informacyjny. Indeks Gini. Indeks Gini - Przykład

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Drzewa decyzyjne i lasy losowe

Metody systemowe i decyzyjne w informatyce

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Klasyfikacja. Sformułowanie problemu Metody klasyfikacji Kryteria oceny metod klasyfikacji. Eksploracja danych. Klasyfikacja wykład 1

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

Testowanie modeli predykcyjnych

System Korekty Tekstu Polskiego

Metody systemowe i decyzyjne w informatyce

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

Wyszukiwanie tekstów

KATEDRA SYSTEMÓW MULTIMEDIALNYCH. Inteligentne systemy decyzyjne. Ćwiczenie nr 12:

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

UCZENIE MASZYNOWE I SZTUCZNA INTELIGENCJA Jako narzędzia wspomagania decyzji w zarządzaniu kapitałem ludzkim organizacji

A Zadanie

Rozpoznawanie obrazów

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Klasyfikacja metodą Bayesa

Algorytm grupowania danych typu kwantyzacji wektorów

Adrian Horzyk

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Wprowadzenie do uczenia maszynowego

KLASYFIKACJA. Słownik języka polskiego

Narzędzia do automatycznej analizy semantycznej tekstu na poziomach: leksykalnym i struktur

Baza danych dla potrzeb zgłębiania DMX

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Rozszerzanie ontologii nazw geograficznych

Interaktywne wyszukiwanie informacji w repozytoriach danych tekstowych

Widzenie komputerowe (computer vision)

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

Algorytm do rozpoznawania człowieka na podstawie dynamiki użycia klawiatury. Paweł Kobojek, prof. dr hab. inż. Khalid Saeed

Wyszukiwanie obrazów 1

Elementy Modelowania Matematycznego

Indukowane Reguły Decyzyjne I. Wykład 8

Uwaga: szarych kropek po pokolorowaniu nie uwzględniaj w klasyfikowaniu kolejnych szarych.

Klasyfikacja. Indeks Gini Zysk informacyjny. Eksploracja danych. Klasyfikacja wykład 2

PODYPLOMOWE STUDIA ZAAWANSOWANE METODY ANALIZY DANYCH I DATA MINING W BIZNESIE

Hierarchiczna analiza skupień

SI w procesach przepływu i porządkowania informacji. Paweł Buchwald Wyższa Szkoła Biznesu

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Wprowadzenie. Data Science Uczenie się pod nadzorem

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Metody eksploracji danych Laboratorium 4. Klasyfikacja dokumentów tekstowych Naiwny model Bayesa Drzewa decyzyjne

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

2. Ocena dokładności modelu klasyfikacji:

Data Mining podstawy analizy danych Część druga

System Korekty Tekstu Polskiego

Algorytmy klasyfikacji

Jak unikąć duplikacji treści na wersjach językowych sklepu PrestaShop?

ROZPOZNAWANIE SYGNAŁÓW FONICZNYCH

Analiza metod wykrywania przekazów steganograficznych. Magdalena Pejas Wydział EiTI PW

Spam or Not Spam That is the question

Techniki uczenia maszynowego nazwa przedmiotu SYLABUS

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS


Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

Krzywe ROC i inne techniki oceny jakości klasyfikatorów

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład II 2017/2018

Agnieszka Nowak Brzezińska

Transkrypt:

Web page language identification based on URLs Eda Baykan Monika Henzinger Ingmar Weber EPFL Lab. of Theory And Applications of Algorithms VLDB 08

Plan Korzyści Trudności Powiązane prace Wymagania systemowe Reprezentacja danych Algorytmy klasyfikacji Dane testowe / treningowe Miary oszacowania Wyniki 2

Identyfikacja języka strony WWW na podstawie jej adresu Yes http://ltaa.epfl.ch Is English? No 3

Korzyści Crawlery quota stron w danym języku Poprawa jakości identyfikacji języka na podstawie zawartości Wyszukiwarki specyficzne dla konkretnych języków www.voila.fr, www.yandex.ru, www.fireball.de etc. Marnowanie szerokości pasma 4

Korzyści c.d. Grupowanie / filtrowanie wyników wyszukiwania Ikonki językowe przy linkach do stron Personalizacja przeglądarek 5

Trudności Adresy stron mają mniej słów niż ich treść Adresy zawierają słowa zarówno po angielsku, jak i w ich rzeczywistym języku http://www.bookings belgium.com/region/be/brugseommeland.fr.html Adresy zawierają dużo sztucznych słów google, yahoo, wikipedia Domeny.com i.org (np. www.wasserbett test.com) zawierają ~ 60 70% stron WWW Posiadają strony w wielu językach Literówki 6

Powiązane prace Klasyfikowanie stron z hostów akademickich pod względem kategorii (przedmiot/wydział/projekt/student) Klasyfikowanie językowe stron na podstawie zawartości 7

System Obsługuje pięć europejskich języków angielski, niemiecki, francuski, hiszpański, włoski Binarny klasyfikator dla każdego języka Techniki uczenia maszynowego Faza trenowania (real positive, real negative) Faza testowania (real label, classification label) 8

Reprezentacja danych Mapowanie danych treningowych i testowych na wektory charakterystyczne numerycznych 9

Wektor charakterystyczny 1: Słowa Adres podzielony na znakach niealfanumerycznych Usuwane stringi długości < 2 oraz słowa specjalne: www, index, html, htm, http i https Przykład: http://www.internetwordstats.com/africa2.htm => internetwordstats, com, africa Liczniki wystąpień każdego tokena w adresach danego języka Plusy Uczy się nazw domen Zachowuje się lepiej przy dużej ilości danych treningowych Minusy Zachowuje się kiepsko przy małej ilości danych treningowych Nie dzieli zlepionych słów np. wystąpienie słowa cheapflights nie pomoże przy cheaphouses 10

Wektor charakterystyczny 2: Trigramy Spójny ciąg trzech liter np. the => angielski Najpierw URL dzielony na tokeny, potem tokeny na trigramy Intuicja: powinno pomóc przy sklejonych słowach Dla każdego języka budowany ze zbioru treningowego rozkład trigramów Wybrane k najczęstszych trigramów lub wszystkie występujące >= k razy Strona należy do tego języka, do którego ma najbardziej podobny rozkład 11

Wektor charakterystyczny 2: Trigramy Co to znaczy najbardziej podobny? Rank order statistic / Relative Entropy Dobrze działa, gdy zbiór treningowy wzbogacony o treść stron WWW Plusy Zachowuje się dobrze przy małej ilości danych treningowych Minusy Nie uczy się nazw domen Plącze się przy adresach wielojęzycznych 12

Wektor charakterystyczny 3: Indywidualnie wybrane cechy Intuicja: to, co robi człowiek cctld (Country Code Top Level Domain) / cctld+.org,.net..) + binarna cecha wystąpienie cctld w innych częściach adresu, np. http://fr.search.yahoo.com Słowa ze słownika OpenOffice Dictionary słownik miast słownik wyuczony na zbiorze treningowym słowo dodane do języka X, jeśli: (1) pojawia się w > 0.01% adresów języka X (2) >80% adresów, w których słowo się pojawia, należy do języka X) oraz (3) ma długość > 2 np. arcor dodany do słownika niemieckiego (provider) 13 Liczba łączników

Wektor charakterystyczny 3: Indywidualnie wybrane cechy Łącznie 74 cechy Eliminacja cech zachłannym algorytmem wprzód redukcja do 15 cech, spadek F miary tylko o 0.03 Plusy Ograniczona ilość cech Bardziej wydajne Łatwiejsze w interpretacji Minusy Wymaga dużej ilości danych treningowych 14

Algorytmy klasyfikacji Pięć osobnych binarnych klasyfikatorów (wyjątek: cctld) 15

Algorytm cctld Pobiera cctld z adresu i przypisuje do danego języka cctld Język.us,.gov,.mil,.uk,.au,.ie,.nz angielski.de,.at niemiecki.fr,.tn,.dz,.mg francuski.es,.cl,.mx,.ar,.co,.pe,.ve.it hiszpański włoski Nie wymaga danych treningowych 16

Drzewa decyzyjne Budowanie drzewa binarnego, węzły wewnętrzne test pojedynczej cechy, liście kategorie Indywidualnie wybrane cechy niemiecka TLD tak Ilość słów w słowniku niemieckim j. niemiecki >=1 j. niemiecki włoska TLD tak... Nie j. niemiecki Zachłanna zstępująca budowy drzewa (kolejna cecha do podziału wybierana tak, aby w węzłach potomnych coraz dokładniej można było określić kategorię maksymalizacja przyrostu informacji) 17

Naiwny klasyfikator bayesowski Oparty na założeniu o wzajemnej niezależności cech (class conditional independence) Przykład X klasyfikujemy jako pochodzący z tej klasy Ci, dla której wartość P(Ci X), i = 1, 2,..., m jest największa Wydajnościowo porównywalny do drzew decyzyjnych oraz sieci neuronowych Duża dokładność i skalowalność nawet dla bardzo dużych danych 18

Relatywna entropia Odległość Kullbacka Leiblera (nie jest metryką nie jest symetryczna i nie spełnia nierówności trójkąta) Określa rozbieżność między dwoma rozkładami prawdopodobieństwa Przyjmuje wartości nieujemne, przy czym 0 wtedy i tylko wtedy, gdy porównywane rozkłady są identyczne Na zbiorze testowym algorytm uczy się rozkładu prawdopodobieństwa dla każdego języka Wektor charakterystyczny ze zbioru testowego jest konwertowany na rozkład prawdopodobieństwa i zostaje zaklasyfikowany do tego języka, dla którego relatywna entropia między jego wyuczonym średnim rozkładem a rozkładem tego wektora jest najmniejsza 19

Maksymalna entropia Gdy nic nie wiadomo, rozkład powinien być na tyle jednolity, na ile to możliwe (czyli mieć maksymalną entropię) Dane treningowe dostarczają więzów charakteryzujących wymagania dla rozkładu specyficzne dla kategorii Więzy oczekiwane wartości cech Problem optymalizacji z więzami iterative scaling 20

Dane 21

Miary oszacowania Precyzja { classified +} { real +} { classified +} Recall positive success ratio p(+ +). { classified +} { real +} { real +} Negative success ratio p( ). F miara 2 recall precision recall + precision 22

Ludzka wydajność 23

Macierz pomyłek 24

Strony nieangielskie wykazują problem z miarą recall Przyczyna: angielski uważany za język techniczny http://forum.mamboserver.com/archive/index.php/t-7 062.html typowa strona niemiecka http://www.priceminister.com/navigation/default/ca tegory/126541/l1/q typowa strona francuska 25

Wydajność cctld na zbiorze testowym web crawl 100 English Precision 80 60 Spanish 40 French 20 German 0 0 20 40 60 80 100 Italian Recall Dlaczego recall niski? Domena.com zawiera dużo stron różnych języków 26

Wydajność wektorów słów na zbiorze testowym web crawl Naive Bayes Maximum Entropy Relative Entropy cctld n lia Ita Sp an is h nc h Fr e m an G er En gl is h 100 90 80 70 60 F measure 50 40 30 20 10 0 27

Wydajność wektorów słów uśredniona na zbiorach testowych z naiwnym klasyfikatorem bayesowskim 95 94 Włoski najprostszy 93 Większość włoskich stron jest w domenie.it 92 F measure 91 Angielski najtrudniejszy Brak silnego sygnału cctld Większość adresów wygląda na angielskie 90 89 88 English German French Spanish Italian 28

Wydajność na zbiorze testowym web crawl uśredniona na językach 100 90 80 70 60 F measure 50 40 30 20 10 0 cctld Human Performance on URL Word features with Naive Bayes 29

Wydajność najlepszych kombinacji algorytmów uśredniona na zbiorach testowych 30

Zależność od ilości danych 31

Spamiętywanie nazw domen 32

Trenowanie na zawartości 33

Wnioski i praca na przyszłość Można zbudować wysokiej jakości klasyfikatory językowe wyłącznie z adresów stron WWW Najtrudniejsze: rozpoznawanie angielsko wyglądających adresów nie angielskich stron Ważniejszy zbiór cech niż algorytm klasyfikacji Wydajność na zbiorze cech zależy od ilości danych treningowych dużo: słowa mało: trigramy Może pomóc informacja o strukturze dowiązań Klasyfikacja tematyczna na podstawie adresu?... 34