Eksploracja tekstów (Text mining)
Nguyen Sinh Hoa
e-mail: hoa@pjwstk.edu.pl
Plan
Wprowadzenie
Zadania:
Przetwarzanie tekstów
Grupowanie
Kategoryzacja
Wizualizacja
Ekstrakcja informacji
Co to jest eksploracja tekstów?
Odkrywanie wiedzy w dokumentach napisanych w języku naturalnym.
Natural Language Processing
Wydobywanie informacji (Information
Extraction IE) (nazwy bytów, relacja między nimi).
Pozyskiwanie informacji (Information
Retrieval IR) (semantyka, znaczenie tekstu)
Language Identification
Classification
Clustering Summarization
Feature Selection
Podstawowe zadania w eksploracji
tekstów.
Eksploracja tekstów- Motywacja
80% danych w firmach jest w postaci dokumentów tekstowych
Emails, korespondecja z klientami i raporty.
Dokumenty naukowe
Portale społecznościowe
Strony internetowe
Wielkie bazy danych tekstowych w sieci
Web pages
Genome databases (GenBank, PIR)
Online dictionary (Oxford Eng. Dict., 600MB)
Emails or plain texts on a file system.
Wielkie, niestrukturalne, różnorodne i dynamiczne dane.
Text Mining
Przyklad zastosowania
Analiza emaili klienta
Analiza feedback z emaili klientów.
Analiza patentów
Analiza danych patentów do odkrywania trendu rozwoju technologii, wyjątkowych wynalazców czy projektów.
Streszczenie informacji
Podsumowanie wiadomości w gazetach dla serwisów informacyjnych.
Text Mining :
Przetwarzanie tekstów + Odkrywanie wiedzy
Text collection
Concept-based IF
• Grupowanie dokumentów
• Kategoryzacja dokumentów
• Wizualizacja grafu korelacji ...
Modele predykcyjne Odkrywanie asocjacji Odkrywanie wyjątków Analiza trendu
...
Document-based IF
Text
refining
Knowledge discovery Intermediate
form
Information Extraction
Domain dependent
Domain independent
Plan
Wprowadzenie
Zadania:
Przetwarzanie tekstów
Grupowanie
Kategoryzacja
Wizualizacja
Ekstrakcja informacji
Przetwarzanie tekstów - Zadania
Poziom słów (Word Level)
Poziom zdań (Sentence Level)
Poziom dokumentów (Document Level)
Poziom kolekcji dokumentów (Document-Collection Level)
Linked-Document-Collection Level
Poziom aplikacji (Application Level)
Przetwarzanie tekstów 1:
poziom słów
Słowa omijane (Stop-Words)
Skracanie (Stemming)
Częste N-gramy (Frequent N-Grams)
Słownik bliskoznacznych wyrazów
(WordNet)
Usuwanie zbłędnych słów:
Stop words
Skracanie słów do postaci podstawowej:
English Porter stemmer
English Porter Stemmer -
Reguły
Stemming – dwa typy błędu
(Pominięcie)
(Zmiana znaczenia)
Przetwarzanie tekstów 2 – Poziom zdań: n-gramy
N-grams: Sekwencja n kolejnych słów (np. „data mining” jest 2-gram)
Frequent n-grams: n-gramy, które występują często w dokumentach (więcej niż próg częstości MinFreq)
N-gramy są interesujące, bo zachowują kontekst, są proste i można je znaleźć za pomocą programowania dynamicznego.
(Alg. wyszukiwania częstych wzorców, np. Apriori )
Dokument reprezentowany za
pomocą n-grams
Google n-gram corpus
In September 2006 Google announced availability of n-gram corpus:
http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are- belong-to-you.html#links
Some statistics of the corpus:
File sizes: approx. 24 GB compressed (gzip'ed) text files
Number of tokens: 1,024,908,267,229
Number of sentences: 95,119,665,584
Number of unigrams: 13,588,391
Number of bigrams: 314,843,401
Number of trigrams: 977,069,902
Number of fourgrams: 1,313,818,354
Number of fivegrams: 1,176,470,663
WordNet
WordNet składa się z 4 baz:
rzeczowniki, czasowniki, przymiotniki, przysłówki.
Każda baza zawiera
opisy słów: znaczenie, synonimy i relacje
między nimi.
mouth Is_a Location
face
peck goose limb
creature make
Is_a
Typ_obj sound Typ_subj
preen
Is_a
Part feather
Not_is_a plant
Is_a gaggle
Is_a
Is_a Part Part
catch
Typ_subj Typ_obj claw
wing Is_a
turtle beak
Is_a Is_a
strike Means
hawk
Typ_subj
opening Is_a
chatter
Means
Typ_subj Typ_obj
Is_a Is_a
clean
smooth
bill
Is_a
duck
Is_a
Typ_obj keep
animal quack
Is_a
Caused_by Purpose
bird
meat egg poultry
Is_a
supply
Purpose Typ_obj
Quesp hen
chicken
Is_a Is_a
leg
arm Is_a
Is_a Is_a
Typ_subj
fly Classifier
number
WordNet – excerpt from the graph
sense
sense
relation
26 relations 116k senses
Przetwarzanie tekstów 3 – poziom dokumentu
Streszczenie (summarization):
Skrócenie i streszczenie tekstu.
Wizualizacja
Segmentacja
Podzielić niestrukturalny tekst na
fragmenty o podobnej treści.
Streszczenie (Summarization)
Podstawowe fazy:
Analiza tekstu
Wyznaczanie ważnych punktów w tekście (tytuł, wprowadzenie, treść, linki,...).
Synteza otrzymanych informacji i ocena ważności zdań
Ważność zdania Z (linear weighting model):
Weight(Z)=LocationInText(Z) + CuePhrase(Z) + Statistics(Z) + AdditionalPresence(Z)
wiele metod do strojenia parametrów modelu.
Wynik streszczenia:
zdania (text units) o najwyższym stopniu ważności.
Streszczenie za pomocą selekcji
(Selection-based summarization)
Wizualizacja tekstu
Dzielenie tekstu na zdania.
Analiza składniowa (parsowanie z użyciem text parser)
Skojarzenie zaimków z nazwą obiektu.
‘he’, ‘she’, ‘they’, ‘him’, ‘his’, ‘her’, etc. Są skojarzone z nazwą własną.
Wydobywanie trójek [Podmiot-Orzeczenie-Dopełnienie]
[Subject-Predicate-Object] (SPO) w zdaniach .
Tworzenie grafu z trójek SPOs
Narysowanie grafu.
Wizualizacja: New Testament
Segmentacja tekstu (Text segmentation)
Dzielenie tekstu na zdania.
Prezentować zdanie jako wektor słów
Wyznaczyć podobieństwo między zdaniami.
Szukać fragmentu (sekwencja zdań) o maksymalnym stopniu podobieństwa wewnątrz segmentu i minimalnym
podobieństwie między segmentami.
Przetwarzanie tekstu 4 - Kolekcja dokumentów
Reprezentacja
Selekcja istotnych cech
Podobieństwo dokumentów
Bag-of-words document
representation
TF-IDF (term Frequency-
Inverse Document Frequency)
n(i,j) – liczba wystąpień i-tego słowa w j-tym dokumencie.
|D| - liczba dokumentów w korpusie
|{d: ti d}| - liczba dokumentów zawierających ti
Reprezentacja tekstu
Macierz: term-dokument
Macierz:
term-dokument-etykieta
Podobieństwo dokumentów (Simility Evaluation)
Odległość kosinusowa:
Tl
lj T
l
li T
l
lj li
j i
j i
j i
w w
w w
d d
d d d
d sim
1
2 1
2 1
|
|
| ) |
, (
di dj
Podobieństwo dokumentu i
zapytania
Plan
Wprowadzenie
Zadania:
Przetwarzanie tekstów
Grupowanie
Kategoryzacja
Wizualizacja
Ekstrakcja informacji
Grupowanie dokumentów (Document clustering)
Klasteryzacja (unsupervised learning):
szukanie naturalnych grup dokumentów (etykiety nie są nieznane)
Popularne metody:
Grupowanie podziałowe k-Means
Grupowanie hierarchiczne aglomeracyjne.
Problem: Jak prezentować grupę
(etykietowanie)?
Algorytm K-Means
Dane:
Zbiór dokumentów (e.g. TFIDF vectors),
Funkcja odległości (e.g. cosine)
K (liczba grup)
For each of K groups initialize its centroid with a random document
While not converging
Each document is assigned to the nearest group (represented by its centroid)
For each group calculate new centroid (group mass point, average document in the group)
Grupowananie hierarchiczne (Algorytm podziałowy)
3, 5, 8
0, 2, 4, 7, 10, 11 1, 6, 9
0, 2, 4, 7, 11 10
2, 4, 11 0, 7
0 7
2
4 2, 11
11
1, 9
9
6
1
3, 8 5
3 8
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
0, 1, 2, 4, 6, 7, 9, 10, 11
Plan
Wprowadzenie
Zadania:
Przetwarzanie tekstów
Grupowanie
Kategoryzacja
Wizualizacja
Ekstrakcja informacji
Kategoryzacja tekstów (Text Categorization)
Text categorization (supervised
learning): automatyczne przydzielenie dokumentów do wcześniej
zdefiniowanych kategorii.
Klasyfikacja dokumentów, webpage,
wiadomości.
Kategoryzacja dokumentów
labeled documents
unlabeled document
document category (label)
???
Machine learning
labeled documents
(from Yahoo! hierarchy)
Feature construction
unlabeled document document category (label)
??
Architektura systemu
vectors of n-grams
Document Classifier
Subproblem definition Feature selection
Classifier construction
Web
Internet Crawler
Kategoryzacja tekstów – Znane metody
Instance-Based Learning
K-Nearest Neighbors
Bayesian Learning
Decision Tree
Neural Networks
Algorytm k-NN (I)
Algorytm klasyfikujący nowy dokument d:
wybierz k dokumentów ze zbioru uczącego najbliższych d
wybierz kategorię, która najczęściej występuje wśród sąsiadów
Parametry:
funkcja odległości
sposób wyboru kategorii
parametr k
d ?
Algorytm k-NN(II)
Miara odległości:
euklidesowa
cosinus
Wybór kategorii:
najczęściej reprezentowana wśród sąsiadów
w zależności od odległości sąsiada:
Wybór k:
empiryczny
k zależne od:
Podobieństwo dokumentów w klastrze
Jednorodność dokumentów w klastrze
) (
) ,
, ( )
, (
D NN D
j i i j
C
k i
a D D sim D
C S
d ?
Klasyfikator Bayesowski
Znamy rozkład termów w dokumentach przypisanych do kategorii –> P(t|Ci)
Idea: użyć do przewidywania kategorii nieznanych dokumentów
Chcemy więc znać
nowy dokument przypiszemy do klasy:
P(D)
) )P(C C
| D) P(D
|
P(Ci i i
n
1 j
i j
i) P(t | C )
C
| P(D
)]
( )
| ( [ max arg
)]
| (
[ max
* arg
i i
C i
C P C D P D C P C
C i i
Drzewo decyzyjne
Drzewo testujące jedynie te cechy (frazy), które odróżniają dokumenty.
Konstrukcja indukcyjna na podstawie zbioru uczącego.
Zaleta: Drzewa decyzyjne znajdują słowa kluczowe odróżniające dokumenty o różnych etykietach.
Drzewo decyzjne
bankruptcy
conversion assets
sport
ekonomia
nauka
ekonomia polityka
>1 1
0
present absent >1 <=1
Zespół klasyfikatorów
Bagging: Agregacja wyników uzyskanych na tym samym korpusie przez różne klasyfikatory.
Liniowa kombinacja dwóch systemów wyszukiwania działa lepiej od każdego z nich, jeśli wyniki tych systemów:
mają możliwie takie same zbiory prawidłowych dokumentów
mają możliwie różne zbiory nieprawidłowych dokumentów
Kombinacja klasyfikatorów daje dobre wyniki, jeżeli ich właściwości się uzupełniają:
np. low precision with high recall + high precision with low recall
Ocena jakości modelu
Ocena działania
metryki:
precyzja:
czułość (recall):
F-measure:
fp tp
tp
fn tp
tp
Ocena działania
metryki:
accuracy:
fallout:
errors:
liniowa kombinacja:
N tn tp
tn fp
fp
fn fp
fn tn
fp
tp fp tn fn
tp
Plan
Wprowadzenie
Zadania:
Przetwarzanie tekstów
Grupowanie
Kategoryzacja
Wizualizacja
Ekstrakcja informacji
Kartoo.com – visualization of search results
http://kartoo.com/
SearchPoint – re-ranking of search results
NewsMap – visualization of news articles
http://www.marumushi.com/apps/newsmap/newsmap.cfm
NewsMap
Plan
Wprowadzenie
Zadania:
Przetwarzanie tekstów
Grupowanie
Kategoryzacja
Wizualizacja
Ekstrakcja informacji
Ekstrakcja Job Openings from the Web
foodscience.com-Job2
JobTitle: Ice Cream Guru Employer: foodscience.com JobCategory: Travel/Hospitality JobFunction:Food Services JobLocation: Upper Midwest Contact Phone: 800-488-2611
DateExtracted: January 8, 2001 Source:
www.foodscience.com/jobs_midwest.html OtherCompanyJobs: foodscience.com-Job1
Ekstrakcja informacji: Metoda
Information Extraction =
segmentation + classification + association + clustering
Techniki:
October 14, 2002, 4:00 a.m. PT
For years, Microsoft CorporationCEOBill Gatesrailed against the economic philosophy of open-source software with Orwellian fervor, denouncing its communal licensing as a
"cancer" that stifled technological innovation.
Today, Microsoftclaims to "love" the open- source concept, by which software code is made public to encourage improvement and development by outside programmers. Gates himself says Microsoftwill gladly disclose its crown jewels--the coveted code behind the Windows operating system--to select customers.
"We can be open source. We love the concept of shared source," said Bill Veghte, a
MicrosoftVP. "That's a super-important shift for us in terms of code access.“
Richard Stallman, founderof the Free Software Foundation, countered saying…
Microsoft Corporation CEO
Bill Gates Microsoft Gates Microsoft Bill Veghte Microsoft VP
Richard Stallman founder
Free Software Foundation
*
*
*
*
Job Openings
“Hubs and authorities exhibit what could be called a mutually
reinforcing relationship”
Iterative relaxation:
p q q q p q
q p
q p
: :
) ( Hub )
( Authority
) ( Authority )
( Hub
Hubs Authorities
Hubs and Authorities
(Kleinberg 1998)
PageRank
Stworzony przez założycieli (Larry Page i Sergey Brin) Google w roku 1998.
Cel: ocenić ważność stron internetowych
Ocena strony zależy od ważności stron, z którymi jest połączona.
Metoda: Algorytm PageRank: wyzanczenie macierzy wag grafu sąsiedztwa.
PageRank może być obliczony efektywnie za pomocą algorytmu iteracyjnego
.
Literatura
KRDL’s Text Mining site
http://textmining.krdl.org.sg/resources.html
KDNuggets:Data Mining and
Knowledge Discovery Resources
http://www.KDNuggets.com