WebSty - otwarty sieciowy system do analizy

Transkrypt

WebSty - otwarty sieciowy system do analizy
WebSty - otwarty sieciowy system do analizy
stylometrycznej tekstu MaciejPiasecki,TomaszWalkowiak,MaciejEder
PolitechnikaWrocławska
KatedraInteligencjiObliczeniowej
GrupaNaukowaG4.19
[email protected]
KatedraInformatykiTechnicznej
[email protected]
IJPPAN/UPKraków
[email protected]
Stylometria
§  Stylometria
§  analiza tekstów pod kątem cech charakterystycznych dla
autora, okresu powstania, gatunku, stylu, miejsca
pochodzenia tekstu, języka źródłowego, tłumacza, itd..
§  w ujęciu obliczeniowym:
§  analiza statyczna cech tekstów, które mogą być
charakterystyczne dla: autora, okresu powstania itd.
§  pojedyncze wystąpienia niosą mało informacji, ale kombinacja
ich częstości występowania jest znacząca
§  Typy cech
§ 
§ 
§ 
§ 
formy wyrazowe (słowa),
cechy form: morfologiczne i gramatyczne,
kolokacje,
własności składniowe: frazy lub zdania
Stylometria - zastosowania
§  Atrybucja autorska
§  potwierdzenie – porównanie tekstu z innymi tekstami danego
autora
§  ustalenie autorstwa – dla zbioru znanych autorów i
przykładowych tekstów ustalenie autorstwa innych tekstów
§  wykrycie autorów – podzielenie zbioru tekstów wg autorów
§  Okres powstania tekstu
§  podobieństwo do tekstów z określonych okresów
§  Analiza stylu
§  znane style (przykładowe teksty) vs ustalenie styli
§ 
§ 
§ 
§ 
Rozpoznanie gatunku literackiego
Miejsce powstania tekstu
Ustalenie cech autora, np. płeć, język rodzimy
Analiza tłumaczeń: język pierwotny, język rodzimy tłumacza
Stylometria – proces analizy
Przygotowanie korpusu tekstów
Przetwarzanie językowe i wydobycie wektorów cech
Przetwarzanie danych
Analiza danych: grupowanie lub klasyfikacja na podstawie
cech wektorów
§  Analiza wyników i wizualizacja
§ 
§ 
§ 
§ 
Stylometria – proces analizy
§  Przygotowanie korpusu tekstów
§  zgromadzenie dokumentów o znanych/nieznanych
własnościach
§  wydobycie czystego tekstu z dokumentów
§  programy rozpoznające różne formaty
§  problem cech zakłócających
§  np. adresy internetowe, `szlaczki’ interpunkcyjne, stopki/
nagłówki, przeniesienia wyrazów, metadane od redakcji itd.
§  opatrzenie dokumentów metadanymi
§  w nazwie pliku
§  poprzez rekord metadanych, np. CMDI
Stylometria - przykład
Grupowanie 35
fragmentów książek za
pomocą WebSty z
wizualizacją z
programu Stylo
(Eder i Rybicki)
Stylo – przykład systemu do
analizy stylometrycznej
§  System opracowany przez Macieja Edera (Uniwersytet
Pedagogiczny w Krakowie, Instytut Języka Polskiego PAN)
§  Biblioteka (zestaw funkcji) dla środowiska R
§  Darmowa i na licncji open-source (GPL)
§  Zaopatrzona w interfejs graficzny
§  Wyposażona w szereg metod nadzorowanych i
nienadzorowanych
§  Prosta w obsłudze, ale nie banalnie prosta
WebSty – otwarty webowy
system stylometryczny
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
CLARIN-PL
§  Idea:
§  aplikacja webowa nie wymagająca instalowania
§  wyposażona w narzędzia do analizy tekstu umożliwiające
zdefiniowanie bogatego zestawu cech
§  w połączeniu z dostępem do wielu narzędzi do analizy danych
§  przetwarzania cech, obliczanie podobieństwa, wykrywanie grup,
§  wizualizacji i analizy wyników
§  Zmniejszenie barier technologicznej i wiedzy dla
użytkowników w dostępie do narzędzi stylometrycznych
WebSty – założenia
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
CLARIN-PL
§  Aplikacja uruchamiana przez dowolną przeglądarkę
§  cechy opisujące tekst mogą dotyczyć dowolnego poziomu
analizy języka
§  ograniczeniem są dostępne narzędzia dla języka polskiego
§  analizowane mogą być zarówno dokumenty jak i fragmenty
tekstu
§ 
§ 
§ 
§ 
Grupowanie
Klasyfikacja oparta na maszynowym uczeniu się
Wizualizacja wyników
Wydobywanie cech charakterystycznych dla grup
Wszystkie moduły przetwarzające oparte o zestaw otwartych
narzędzi. Możliwe podłączanie dalszych narzędzi.
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
Schemat systemu
1.  Załadowanie korpusu
§ 
z różnych źródeł
2.  Wybór cech opisowych
3.  Określenie parametrów
przetwarzania
§ 
§ 
przetwarzanie cech,
np. transformacja
liczba grup
4.  Wstępne przetwarzanie
§ 
automatyczne uruchomienie
sekwencji narzędzi
językowych
5.  Obliczenie wartości cech
§ 
zliczenie statystyk
wystąpienia
CLARIN-PL
6.  Filtrowanie i/lub
transformacja cech, np.
§ 
§ 
§ 
odsianie zbyt rzadkich/
częstych cech
ważenie cech
wyznaczenie miar
podobieństwa/odległości
między tekstami
7.  Grupowanie
8.  Identyfikacja cech
charakterystycznych
§ 
grupa vs pozostałe
9.  Prezentacja wyników
§ 
§ 
§ 
dane liczbowe
Wizualizacje
skalowanie wielowymiarowe
Przygotowanie i załadowanie
korpusu
§  Opisanie plików z tekstami
§  Umieszczenie
§  Bezpośrednie załadowanie plików do aplikacji
§  automatyczna konwersja do tekstu z różnych formatów
§  rtf, doc, docx, odt, xlslx, pdf (Uwaga: nie czyści z cech
zakłócających!)
§  ograniczona liczba, ograniczona ilość danych
§  Wybór korpusu z repozytorium DSpace CLARIN-PL CTJ
§  dowolny rozmiar, ale czas przetwarzania zależy od rozmiaru!
§  automatyczna
§  Korpus spakowany do pliku Zip z adresu w sieci
§  j.w. ale możliwość załadowania własnych danych, np. z dysku
sieciowego
Załadowanie plików
12
Załadowanie plików
•  Korpus z
repozytorium Dspace
CTJ
•  Korpus spakowany z
dysku sieciowego
13
Cechy dla języka polskiego
§  Założenia
§  możliwe do identyfikacji na odpowiednim poziomie
dokładności
§  możliwie mało czułe na znaczenie tekstu
§  Poziomy analizy języka
§  morfologiczny
§  morfo-syntaktyczny
§  semantyki leksykalnej
§  Wykorzystywane narzędzia językowe CLARIN-PL
§  program do segmentacji tekstu i analizy morfologicznej MACA
§  tager morfosyntaktyczny - WCFRT2
§  program do rozpoznawania nazw własnych - Liner2
Cechy morfologiczne i
morfosyntaktyczne
§  Formy wyrazowe
§  dowolne z tekstu – semantyczne powiązania
§  wg listy najczęstszych w:
§  danym korpusie – skuteczne do grupowanie,
§  lub języku – wyniki porównywalne z innymi korpusami
§  Znaki interpunkcyjne
§  wybrane
§  duży szum z niejęzykowego użycia
§  Lematy – podstawowe formy morfologiczne
§  zmniejszają sztuczną różnorodność wyrazów
§  wyznaczane z pomocą tagera morfosyntaktycznego
§  wg listy najczęstszych - podobnie jak dla form wyrazowych
Cechy morfologiczne i
morfosyntaktyczne
§  Klasy gramatyczne
§  zgodnie z definicją w Narodowym Korpusie Języka Polskiego
§  klas gramatycznych, np.
§  pseudoimiesłowy (preat), formy nieprzeszłe (fin), przymiotniki
przyprzymiotnikowe (adja)
§  wyznaczane przez tager morfosyntaktyczny WCRFT2
§  niektóre klasy gramatyczne są często wynikiem błędów tagera
dla nieznanych słów, np. burkinostki, wykrzykniki, formy obce
§  Części mowy
§  klasy gramatyczne pogrupowane wg naturalnych kryteriów
§  Kombinacje
§  Klasa gramatyczna – wartość kategorii gramatycznych
§  np. forma nieprzeszła – osoba 1 lub 2
§  Wskazuje na bezpośredni styl pisania, np. list
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
CLARIN-PL
§  Przykład cech
Może to czysty hedonizm, ale wyznaję teorię, że
potrzeby należy zaspokajać.
Lematy:
może:1, to:1, czysty:1, hedonizm:1, „,”:2, ale:1,
wyznawać: 1 … potrzeba:1
Klasy gramatyczne:
qub:1, conj:2, adj:1, subst:3, fin:2, comp:1, inf:1
§  Sekwencje
§ 2 lub 3 elementowe ciągłe sekwencje wystąpień cech w tekście
§ lematów (lub form wyrazowych)
§  w pewnym sensie sygnalizują kolokacje
§  Problemem jest niska częstość – konieczność filtrowania
§ klas gramatycznych
§  przybliżają do pewnego stopnia konstrukcje składniowe
Wybór cech
18
Filtrowanie
§  Usuwanie cech rzadkich
§  minimalna liczba wystąpień cechy w korpusie
§  cechy bardzo rzadkie powodują często przypadkowe powiązania
§  wartość zależy od wielkości korpusu, ale min. 20 jest rozsądne
§  minimalna liczba dokumentów (fragmentów), w których
wystąpiła cecha
§  cecha może być częsta, ale tylko w niektórych dokumentach
§  min. 5 jest dość typowe – zależne od wielkości korpusu
§  Inne możliwości (niedostępne jeszcze z aplikacji)
§  usuwanie wybranych wartości cech, np. sekwencji dwóch
burkinostek
§  usuwanie cech o małych wartościach po transformacji
Transformacja
Warsztaty CLARIN-PL
Warszawa
13-15 IV 2015
CLARIN-PL
§  Ważenie cech
§  matematyczne przekształcenie wartości, które ma na celu
uwypuklenie istotnych różnic, a zniwelowanie nieznaczących
§  schemat:
(wartość cechy, opis dokumentu/korpusu) ->
nowa wartość cechy
§  Typy metod ważenia
§  heurystyczne – algorytm, który nie ma podstaw formalnych
§  oparte na miarach istotności ze statystyki matematycznej
§  oparte na teorii informacji
Ważenie cech
§  Metody heurystyczne
§  tf – znormalizowana częstość
§  częstość cechy w dokumencie podzielona przez najwyższą
częstość cechy
§  daje zaskakująco dobre wyniki dla częstych słów (lematów) z
ograniczonej listy
§  tf.idf
§  technika z wyszukiwania informacji
§  czynnik idf promuje cechy, które występują w ograniczonej
liczbie dokumentów
§  Nie działa dla cech częstych np. klas gramatycznych
§  występują wszędzie, więc idf=0
§  Normalize – normalizacja, czyli sprowadzenie wartości cech
do takich wartości, że cały wektor ma długość jeden
§  zmniejsza wpływ długości tekstu na jego opis
Ważenie cech
§  Metody statystyczne
§  tscore – test istotności statystycznej współwystąpienie cech
§  ma tendencję do promowania częstych cech
§  chi2 – test powiązania dwóch zmiennych losowych
§  często stosowany, bardziej zrównoważony niż tscore
§  Miary oparte na teorii informacji
§  MI – Mutual Information (pol. miara informacji wzajemnej)
§  określa ile możemy dowiedzieć się o wystąpieniach jednej
zmiennej losowej (np. słowo w dokumencie) na podstawie
wystąpień innej zmiennej losowej, np. konkretna cecha
§  wartości dodatnie: cecha wnosi istotną informację
§  mi simple – inny wariant obliczania, tylko pary, a nie cały korpus
Transformacja przestrzeni
§  Transformacja przestrzeni wektorowej
§  wektor dla każdego dokumentu zostaje znacząco zmniejszony
z N cech na M cech,
§  np. z 10 000 do 100
§  Cel
§  zredukowanie przypadkowości – szumów
§  uwypuklenie podobieństw i zmniejszenie przypadkowych
podobieństw
§  niebezpieczeństwa
§  Zbytnie uogólnienie/uśrednienie
§  Metody
§  Singular Value Decomposition (Latent Semantic Analysis)
§  Random Projection
Transformacja i filtrowanie – przykład
§  Różne metody oceny istotności cechy dla dokumentu/próbki
§  Łączenie cech różnego typu
§  np. częstości lematów i klas gramatycznych
§  Przykład procesu przetwarzania – miara tf.idf
1. obliczenie częstości występowania lematów
2. odrzucenie cech-lematów występujących rzadziej niż n=10
3. normalizacja częstości lematu a, tf(a) =
częstość(a)
maksymalną częstości w danym dokumencie
4. ważenie idf(a)=
ln( liczba dokumentów
dokumenty(a)
5. wyliczenie wagi dla lematu: tf(a) * idf(a)
)
Podobieństwo dokumentów
§  Reprezentacja dokumentów
§  D1: [ v11, v12, v13, …, v1m ]
§  D2: [ v21, v22, v23, …, v2m ]
§  Obliczenie podobieństwa
§  wektory wartości cech dla D1 i D2 zostają porównane ze sobą
§  Metody
§  miary odległości
§  heurystyczne
§  geometryczne
Podobieństwo dokumentów
§  Metody oparte na mierze odległości
§  Odległość Manhattan
§  suma różnic między wartościami cech, ważna jest każda cecha z
osobna
§  Odległość Euklidesowa
§  w wielowymiarowej przestrzeni, wartości cech bardzo wpływają
na miarę
§  Geometryczne
§  miara kosinusowa (podobieństwa)
§  kosinus kąta między wektorami, ważny jest kierunek wektora –
układ cech, a nie ich poszczególne wartości
§  prosta, ale bardzo dobra w wielu zastosowaniach
Podobieństwo dokumentów
§  Miary heurystyczne
§  Dice
§  stosunek masy cech wspólnych do wszystkich, obrazuje
istotność części wspólnej
§  Jaccard
§  Stosunek masy cech wspólnych do masy cech specyficznych dla
obu dokumentów
§  SHD (Piasecki, z systemu SuperMatrix)
§  mierzy na ile oba dokumentów potrafią opisać się wzajemnie
poprzez swoje cechy; miara może być ukierunkowana na
określony kierunek porównania
§  Delta
§  miara odległości, suma różnic znormalizowanych statystycznie
cech
§  Delta Edera
§  zmodyfikowana miara Delta
Opcje filtrowania, transformacji,
podobieństwa i grupowania
Grupowanie dokumentów
§  Grupowanie
§  pakiet Cluto – uniwersalny system do grupowania danych
§  metoda aglomeracyjno-podziałowa
§  zaczyna od łączenia najbardziej do siebie podobnych elementów
i grup
§  później dzieli cały zbiór na podzbiory o dużym średnim
podobieństwie pomiędzy dokumentami
§  Parametry
§  Liczba grup na etapie podziału – liczba grup widocznych w
danych
§  Ukryte parametry – wybór metody
§  Predefiniowane ustawienia (przygotowane wcześniej)
§  wybór określonych zespołów cech, np. do analizy autorstwa
§  brakuje jeszcze wyboru parametrów przetwarzania, np.
filtrowania, transformacji, itd..
Opcje grupowania
30
Prezentacja wyników
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
CLARIN-PL
§  Dane z WebSty:
§  Dla każdego tekstu (pliku):
§  Plik wejściowy
§  Ew. pliki po podziale
§ 
§ 
§ 
§ 
§ 
Przynależność do grupy – id grupy
(wektor: Nx1)
Dendrogram – hierarchia drzewa
(drzewo binarne)
Podobieństwo między tekstami
(macierz: NxN liczb 1-0)
Odległość między tekstami
(macierz: NxN liczb 0-+∞)
Formaty: JSON, XLSX
Prezentacja wyników
§  Metody wizualizacji w przeglądarce:
§  Grupowanie:
§  kolory, id grupy (liczba całkowita)
§  dendrogram:
§  rysunek, interaktywne drzewo, wykres kołowy
§  Podobieństwo (relacja tekst-tekst):
§  mapa-ciepła, wykres radarowy
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
CLARIN-PL
Prezentacja wyników –
drzewo interaktywne
33
Prezentacja wyników –
wykres kołowy
Prezentacja wyników – mapa
ciepła
35
Prezentacja wyników – wykres
radarowy
36
Prezentacja wyników
§  Metody wizualizacji w przeglądarce:
§  Teksty jako punkty w 2D, 3D:
§  skalowanie wielowymiarowe (MDS - Multidimensional scaling)
§  metryczne – zachowanie odległości
§  niemetryczne – zachowanie porządku w odległościach
§  t-distributed Stochastic Neighbor Embedding (TSNE)
§  zachowanie podobieństwa
§  miara Kullback-Leibler
§  nieliniowa redukcja wielowymiarowości
§  Spectral Embedding (Laplacian Eigenmaps)
§  zachowanie lokalnych informacji
§  graf łączący sąsiednie punkty (podobne teksty)
Warsztaty CLARIN-PL
Łódź
3-4 II 2017
CLARIN-PL
Skalowanie wielowymiarowe
38
Skalowanie wielowymiarowe 3D
39
Architektura rozwiązania
§  Problemy:
§  Różne środowiska programistyczne:
§  Java, C++, Python, R
§  Duże modele
§  Długie czasy przetwarzania
§  Udostępnianie jako aplikacja webowa
§  Język modelowania (LPMN):
urlzip(http://ws.clarin-pl.eu/ksiazki.zip)
|any2txt|wcrft2|fextor({"features":"base"})
|dir|featfilt({"similarity":"jaccard”})
|cluto({"no_clusters":3})
40
Schemat potoków przetwarzania
Any2txt
WCRFT2
Liner2
Fextor
Any2txt
WCRFT2
Liner2
Fextor
Document(doc)
FeatFilt
Cluto
Document(docx)
Wynik
...
Any2txt
WCRFT2
Liner2
Fextor
Document(pdf)
FeatSel
WynikzCluto
Wynik
MDS
WynikzCluto
Wynik
SubFeatSel
Architektura rozwiązania
Samba
REST
NLPREST2
RabbitMQ
Data
base
§  Wydajność
§  przetwarzanie asynch.
§  skalowanie
§  synchronizacja po zadaniu zew.
baza danych
Worker1
(Any2txt)
Worker3
(WCRFT2)
Worker2
(fextor)
Workern
(featfilt)
LPMNengine
§  LPMN Engine
§  Wykonanie LPMN
§  model asynchroniczny
§  50 000 => 0.01 procesora
§  RabbitMQ
42
Techniki użycia
§  Aplikacja webowa
§  Korpusy z różnych źródeł
§  API programistyczne
§  Własny kod: Java, Python, R
§  Aplikacja wysyła korpus (plik zip) i np. stop listę
§  Uruchamia wybrany tor przetwarzania
filezip(id_pliku)|any2txt|wcrft2|fextor({"features":"base"})
|dir|output(korpus_ccl)|featfilt({"similarity":"jaccard”})|output(dane_podob)
|cluto({"no_clusters":3})|makezip
§  Załadowanie wyników na lokalny komputer
§  Można powtórzyć przetwarzanie od wybranego miejsca
file(id_dane_podob)|cluto({"no_clusters":15})|makezip
§  Wysłanie korpusu do CTJ CLARIN-PL
WebStyEn - nie tylko język polski
Język angielski - z wykorzystaniem spaCy
WebSty: wydobywanie cech
§  Cel
§  Wydobycie cech charakterystycznych dla danej grupy lub
dokumentu
§  (planowane) porównywanie korpusów
§  Schematy przetwarzania
§  Grupa vs pozostałe grupy razem
§  Rozkład cech względem grup
§  Metody
§  Narzędzia: Weka, scipy, scikit-learn
§  Grupy metod
§ 
§ 
§ 
§ 
Weka (miary informacyjne)
Testy statystyczne
Drzewa losowe
Eliminacja cech i algorytmy supervised
Selekcja cech
Narzędzia: Weka, scipy, scikit-learn
Grupy metod
Weka (miary informacyjne)
Testy statystyczne
Drzewa losowe
Eliminacja cech i algorytmy supervised
46
WebSty: interfejs do cech
Przykład cech
Przetwarzanie: WebSty, korpusie 1000 klasycznych dzieł, cechy leksykalne,
interpunkcja, bigramy; ważenie PMI, selekcja Mann-Whitney
Kraszewski_syn_jazdona_1880
Kraszewski_krakow-za-loktka_1880
Kraszewski_pogrobek_1880
Kraszewski_kunigas_1882
Kraszewski_boleszczyce_1877
Kraszewski_stara-basn-tom-III_1876
Kraszewski_braciazmartwychwstancy_1876
Kraszewski_banita_1885
Kraszewski_strzemienczyk_1883
Kraszewski_stara-basn-tom-I_1876
Kraszewski_bialy-ksiaze_1882
Kraszewski_jelita_1881
Kraszewski_caprea-i-roma_1860
Kraszewski_stara-basn-tom-II_1876
Stryjkowski_stryjkowski_kronika-polskalitewska-zmudzka-i-wszystkiej-rusi_1846
bigrams:inf_imps
bigrams:inf_praet
bigrams:ppron3_pcon
bigrams:ppas_pcon
bigrams:imps_interp
bigrams:ppron3_pant
bigrams:pant_interp
lex_classes:imps_count
bigrams:subst_pant
bigrams:interj_inf
base:wszyscy
bigrams:siebie_pcon
base:on
base:choć
base:gdy
bigrams:praet_pant
bigrams:ppron3_imps
bigrams:adj_pant
bigrams:pant_pact
…
Dziękuję bardzo za uwagę
http://ws.clarin-pl.eu/websty.html

Podobne dokumenty