IJP PAN / UP Kraków maciejeder@gmail.com WebSty - otwarty sieciowy system do analizy stylometrycznej i semantycznej tekstów ws.clarin-pl.eu/websty.shtml Maciej Piasecki, Tomasz Walkowiak, Maciej Eder Politechnika Wrocławska Grupa Naukowa G4.19 Katedra Inteligencji Obliczeniowej Wydział Informatyki i Zarządzania Katedra Informatyki Technicznej Wydział Elektroniki Tomasz.Walkowiak@pwr.edu.pl
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. Spojrzenie z oddali: Typy cech 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 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 1. Przygotowanie korpusu tekstów 2. Analiza językowa tekstów i ustalenie częstości występowania wybranych cech np. określonych słów, sekwencji klas gramatycznych 3. Przetwarzanie danych 4. Analiza danych: grupowanie lub klasyfikacja na podstawie cech wektorów 5. 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, http://ws.clarin-pl.eu/txtclean.shtml opatrzenie dokumentów metadanymi w nazwie pliku, np. prus_lalka_1, prus_lalka_2, poprzez rekord metadanych, np. CMDI
Stylometria - przykład Grupowanie 5 książek, dwóch autorów podzielonych na fragmenty za pomocą WebSty
WebSty założenia 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 w połączeniu z dostępem do wielu narzędzi do analizy danych Grupowanie Klasyfikacja oparta na maszynowym uczeniu się Wizualizacja wyników Wydobywanie cech charakterystycznych dla grup Wszystkie moduły przetwarzające oparte są o zestaw otwartych narzędzi. Możliwe podłączanie dalszych narzędzi.
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 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!) 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
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
Wybór cech
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 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
Podobieństwo dokumentów Reprezentacja dokumentów D 1 : [ v 11, v 12, v 13,, v 1m ] D 2 : [ v 21, v 22, v 23,, v 2m ] Obliczenie podobieństwa wektory wartości cech dla D 1 i D 2 zostają porównane ze sobą Metody miary odległości heurystyczne geometryczne
Opcje filtrowania, transformacji, podobieństwa i grupowania Opcje zaawansowane: Opcje wyznaczania podobieństwa Filtrowanie Transformacja cech (ważenie)
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 Opcje zaawansowane: Opcje wyznaczania podobieństwa Filtrowanie Metoda liczenia podobieństwa
Eksperymentalna metod doboru parametrów Wybieramy kolekcję wzorcową dobrze ilustrującą zjawisko, które chcemy zbadać, np. zawierającą teksty o znanym autorstwie przykłady określonych stylów teksty tłumaczone z określonych języków zawierającą teksty podobne do tekstów badanych Na kolekcji wzorcowej przeprowadzamy eksperymenty w celu dobrania wartości parametrów zaczynamy od parametrów domyślnych badamy wyniki wizualizacji analizujemy cechy charakterystyczne wyznaczone dla grup Ustalone wartości parametrów stosujemy do kolekcji tekstów będącej przedmiotem badania
Prezentacja wyników
Prezentacja wyników Dane: 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 CLARIN-PL Interaktywny dendrogram drzewo bliskości tekstów i grup tekstów Mapa ciepła pokazuje podobieństwo tekstów i ich grupy Skalowanie wielowymiarowe pokazuje bliskość tekstów na płaszczyźnie Skalowanie wielowymiarowe z wizualizacją 3D pokazuje bliskość tekstów w przestrzeni trójwymiarowej Wykres radarowy powiązania (bliskość) tekstów rozmieszczonych na kole Wykres kołowy graf bliskości tekstów i grup tekstów wpisany w koło
Prezentacja wyników drzewo interaktywne 26
Prezentacja wyników mapa ciepła 27
Prezentacja wyników wykres radarowy 28
Prezentacja wyników wykres kołowy
Skalowanie wielowymiarowe
Skalowanie wielowymiarowe 3D
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 33
Cechy semantyczne Cechy słownikowe (z ang. Bag of Words) częstości najczęstszych lematów z możliwością filtrowania po częściach mowy; Modelowania tematycznego (z ang. Topic modeling) wykorzystanie metody LDA do wygenerowania grup tematycznych i opisanie każdego dokumentu prawdopodobieństwem przynależności do poszczególnych grup tematycznych, grupy tematyczne generowane są z lematów z możliwością filtrowania po częściach mowy; Wektory dystrybucyjne (z ang. Word2Vec) wykorzystanie modeli wektorowych opracowanych dla wielu języków (słów z tekstu) i opisywanie dokumentu jako średnia z reprezentacji wektorowej słów;
Wyniki dla multizbioru słów
Wektory dystrybucyjne Model word2vec Przypisanie słowom wektora liczb (np. 100) Na podstawie b. dużego korpusu Podobieństwo semantyczne podobieństwo cosinusowe Operacje arytmetyczne na wektorach http://ws.clarin-pl.eu/w2vdemo.shtml
Wyniki dla reprezentacji wektorowej
Interaktywna praca z danymi Skalowanie wielowymiarowe Wybór grup Analiza istotności po zaznaczonych grupach
WebStyML - nie tylko język polski Universal Tagset UDPipe+ dedykowane tagery
WebSty: ćwiczenia 1. WebSty: ws.clarin-pl.eu/websty.shtml 2. Mały korpus: 2 autorów, 5 nowel http://ws.clarin-pl.eu/public/teksty/2mini.zip analiza całych tekstów: cechy, metody, wizualizacja Analiza z podziałem na grupy, j.w. oraz dodatkowo analiza istotności cech 3. Testy na predefiniowanych ustawieniach 35 książek, rozszerzona analiza autorstwa, różne metody grupowania, wykrycie cech istotnych 4. Mały korpus 50 książek (podkorpus) korpus: http://ws.clarin-pl.eu/50k.zip należy wybrać dowolną próbkę tekstów do 31 tekstów przetestować WebSty na różnych ustawieniach
Dziękuję bardzo za uwagę http://ws.clarin-pl.eu/websty.html