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