Transcript Document
WUT TWG 2006 WEDT Korpusy i kolokacje Wykład 4 Piotr Gawrysiak [email protected] 2006 Korpusy • „Korpus to dowolny zbiór tekstów, w którym czegoś szukamy. O korpusach w tym znaczeniu mówią najczęściej językoznawcy, ale także archiwiści, historycy i informatycy” – wydawnictwo PWN • http://korpus.pwn.pl (7.5 mln słów dostępnych za darmo – ale bez możliwości pobrania) http://korpus.pl (korpus IPI PAN – 250 mln), anotowany, dostępny za darmo (obrazy ISO płyt, także archiwa), wyszukiwarka Poliqarp • • korpus – zbiór tekstów reprezentatywnych dla języka, zapisany w formie elektronicznej, o ile to możliwe zawierający metadane • • • • • niezbilansowany – niereprezentatywny dla języka, np. zawierający jedynie teksty o pewnej tematyce, albo też zbilansowany - reprezentatywny dla całego języka jednojęzykowy vs. wielojęzyczny (bitext) anotowany – zawierający metadane, w szczególności POS tags i/lub informacje o rozbiorze zdania korpus jest zwykle statyczny i jako taki jest „fotografią” języka w pewnej chwili – np. Brown corpus – język angielski z lat 60-tych WUT TWG 2006 Tworzenie korpusów tekstowych Pierwszy duży korpus - Brown Corpus: Kucera, Francis, lata 60-te XX w. Organizacje zajmujące się tworzeniem korpusów: Linguistic Data Consortium (LDC): www.ldc.upenn.edu European Language Resources Association (ELRA): www.icp.grenet.fr/ELRA/ Oxford Text Archive (OTA): ota.ahds.ac.uk Child Language Data Exchange System (CHILDES): childes.psy.cmu.edu/ International Computer Archive of Modern English (ICAME): nora.hd.uib.no/icame.html W Polsce Instytut Informatyki PAN – www.ipipan.waw.pl • Wiele korpusów nie jest niestety dostępnych bezpłatnie (np. Penn TreeBank), większość repozytoriów bezpłatnych to zwykle czysty tekst, co najwyżej z podziałem na kategorie tematyczne (OTA, Project Gutenberg) i ew. pewnymi dodatkowymi metadanymi dotyczącymi całego pojedynczego dokumentu (Reuters 21578, Reuters RCV1) • Gdzie szukać korpusów? – warto zacząć na The Corpora List http://torvald.aksis.uib.no/corpora/ • Są także korpusy do zastosowań specjalizowanych – np.Enron Email Archive – dobry do badań nad klasyfikacją wiadomości email : http://www.cs.cmu.edu/~enron/ WUT TWG 2006 Tworzenie korpusów - problemy • ilość danych – im korpus większy, tym lepszy (miliony słów, setki MB czystego tekstu), dzisiaj to stosunkowo niewielki problem, lecz np. każda operacja sortowania listy słów podczas tworzenia Brown Corpus zajmowała 17 godzin na IBM 7070 • formatowanie – znaki niealfabetyczne, wielkość znaków • tokenizacja – podział tekstu na: • • • słowa zdania metadane – wybór pomiędzy opisem ręcznym (często niemożliwym do wykonania), a automatycznym (często dającym nienajlepsze wyniki) WUT TWG 2006 Problemy – wielkość liter • zwykle dla dalszego przetwarzania NLP wielkość liter nie ma znaczenia: • • • • WUT TWG THE == The == the co jednak z wielkimi literami w nazwach własnych, na początku zdań? w zasadzie wypadałoby oznaczać wystąpienie wszystkich nazw własnych – to jednak wymaga posiadania ich słownika aby było 100% dokładne prosta heurystyka – zamieniamy na małe litery początki zdań, oraz słowa pisane wyłącznie wielkimi literami – w ten sposób pozostawiamy wielkość liter w nazwach własnych, ale: • • potrzebujemy algorytmu wykrywania końców zdań (co może nie być łatwe), nie zawsze słowa pisane wielką literą będą nazwami własnymi (np. „Ogon to dla nich nie ogon, tylko Mały Dodatkowy Kawałeczek przyczepiony z tyłu.” – Kłapouchy) 2006 Problemy – podział na słowa • podejście naiwne – słowa są ciągami znaków alfabetycznych, oddzielonych od innych słów białymi znakami, mogą zawierać także apostrofy i myślniki – Kucera, Francis • • kropka – słowa nie zawsze są oddzielone białymi znakami, czasami po słowie występuje kropka: • • • nie działa np. dla Micro$oft, C|net, 23.13$, itd. skróty (ale uwaga – wewnątrz skrótu może być więcej kropek) – Inż., itd., U.S. kropki zwykle pojawiają się na końcu zdań apostrof – szczególne problemy w języku angielskim, apostrof może mieć znaczenie gramatyczne • • • I’ll -> I will – to muszą być dwa oddzielne słowa, morfologicznie nie jest bowiem możliwe złączenie czasownika i zaimka forma dzierżawcza – Peter’s, boys’ zwykle przyjmuje się iż apostrof jest formą słowa, wtedy: • • I’ll -> I + ‘ + ll niestety apostrofy mogą się także pojawić jako znaczniki cytowania • trzeba odróżnić boys’ od she said ‘hello boys’ WUT TWG 2006 Podział na słowa cd. • WUT TWG myślniki – zwykle trzy główne funkcje • • • dzielenie słów przy formatowaniu – wystąpią, gdy pozyskujemy tekst do korpusu z materiału drukowanego, mogą wtedy mylić się z pozostałymi dwoma formami oddzielenie poszczególnych morfemów w obrębie leksemu np. cooperative, e-mail, pro-Arab jako łączniki oddzielnych słów tworzących związek frazeologiczny np. once-in-a-lifetime, text-based, 26-year-old (przykład zdania: the oncequiet study of superconductivity... nawet w języku literackim nie ma stałych reguł dotyczących użycia myślników: • wszystkie formy: database, data base oraz data-base są poprawne – czy stanowią różne sposoby zapisania pojedynczego leksemu? myślniki mogą być używane zamiast białych znaków do oddzielenia części zdania np.: I am happy-Bill is not. • homonimy – słowa które mając tą samą formę typograficzną oznaczają różne leksemy np. • zamek (do drzwi) – zamek (króla) 2006 WUT TWG Podział na słowa cd. • 2006 białe znaki • nie zawsze są używane do podziału zdań na słowa np. język chiński – zupełny brak podziału na słowa Waterloo znajduje się na południe od Kanady język niemiecki – niektóre rzeczowniki zapisywane bez spacji Lebensversicherungsgesellschaftsangesteller – pracownik firmy ubezpieczeniowej • czasami pojawiają się w środku słowa (leksemu) Nazwiska, skróty: Mr. John Smith, New York, U. S. A. idiomy: work out, make up numery telefonów: +48 (22) 67728911 • problem formatów danych jest ogólniejszy – np. jak rozpoznać zapis liczby? Angielski 123,456.78 [0-9](([0-9]+[,])*)([.][0-9]+) Francuski 123 456,78 [0-9](([0-9]+[ ])*)([,][0-9]+ wyrażenia regularne Podział na zdania (sentence boundary detection) • podejście naiwne – zdanie to ciąg znaków zakończony ‘.’, ‘!’, lub ‘?’, ale... • • • • kropki występują także w skrótach to są tak naprawdę dwa zdania zdania złożone zawierają także ‘-’, ‘;’, ‘:’ itp. zdania mogą mieć strukturę hierarchiczną np. !!! „You remind me”, she remarked, „of your mother”. ale też „You remind me”, she remarked, „of your mother.” podejście lepsze – heurystyka: 1) wstępne podziały zdań po . ? !. 2) uwzględnienie cudzysłowów występujących po powyższych zdaniachMove boundary after following quotation marks, 3) skasowanie podziału zdania jeśli: a) jeśli jest poprzedzony znanym skrótem, po którym występuje zwykle nazwa własna – np. Prof. lub vs. b) jeśli jest poprzedzony znanym skrótem po którym nie występuje słowo rozpoczęte wielką literą c) jeśli podział zdania wynikał z wystąpienia ‘!’ lub ‘?’ oraz następuje po nim mała litera • jeszcze lepsze podejścia: • • • drzewa decyzyjne (Riley, 1989) - analiza częstości występowania słów przed i po końcach zdań a także długość i wielkość liter słów sieci neuronowe (Hearst, 1997) – analiza występowania POS słów przed i po końcach zdań obecnie jakość wykrywania zdań (rozumianego jako klasyfikacja) ~99% dla angielskiego WUT TWG 2006 Metadane (markup) Rodzaje informacji • • • • oznaczenia końców zdań, akapitów itp. oznaczenia POS informacje o strukturze zdań informacje semantyczne (podział korpusu na części tematyczne itp.) Schematy kodowania • • najstarsze (COCOA) bezpośrednio dodawały metadane do tekstu korpusu – np. POS tags bezpośrednio „doklejane” do każdego słowa stosowane także nawiasy w stylu Lisp [S[NP[AT The][NNS children][VP[VBD ate]] ... • obecnie najczęściej wykorzystywany jakiś dialekt SGML, zwykle XML (np. w RCV1) Tag sets • • Brown tag set – to już było tydzień temu Inne - University of Lancaster Tag Set, Penn Treebank Tag Set, British National Corpus (CLAWS*), Czech National Corpus, IPIPAN tagset (kodowanie binarne – poliqarp) są spore różnice pomiędzy poszczególnymi zbiorami znaczników np. liczba znaczników - Penn treebank (45), Brown Corpus (87), Claws c5 (62) WUT TWG 2006 WUT TWG Zawartość korpusów – power laws Prawo Zipf’a 2006 10000 Through the looking glass Słowo Częstość 1 The 1664 Frequency Pozycja 2 And 940 3 To 789 4 A 788 5 It 683 6 You 666 7 I 658 8 She 543 9 Of 538 10 said 473 1000 100 hapax legomena 10 1 0 500 f 1 r 1000 1500 2000 W ord ID 2500 3000 Zipf, gdzie f – częstość słowa, r - pozycja f P(r ρ)B Mandelbrot, P, B, - parametry mierzące bogactwo słownictwa Większość najczęściej występujących słów to stopwords 3500 Związki frazeologiczne (colocations) związek frazeologiczny (collocation) - przyjęte w użyciu połączenie dwóch lub więcej wyrazów, których znaczenie jest inne niż prosta suma jego części składowych: • strong tea • weapons of mass destruction • make up • the rich and powerful dodatkowe znaczenie poza znaczeniem słów składowych: strong ~ having great physical strength strong tea – strong ~ rich in some active agent idiomy są najbardziej „ekstremalnym” przykładem związków frazeologicznych ponadto istotne są zwyczaje językowe – mówimy strong tea ale nie powerful tea – powerfull tea będzie zrozumiałe ale nie jest powszechnie używane, ten rodzaj rozróżnienia przekazuje pewien kontekst kulturowy – strong: cigarettes, tea, coffee; powerful: drugs (Halliday, 1966) znaczenie związków frazeologicznych dla badań nad językiem było szczególnie „pomijane” przez Chomskiego poważne badania – od lat 60-tych XX wieku „you shall know a word by a company it keeps” – Firth, 1957 praktyczne znaczenie w NLP – związki frazeologiczne często są istotnymi słowami dla danego dokumentu WUT TWG 2006 WUT TWG Colocations 2006 cechy angielskich collocations: • non-compositionality – nie da się wywieść znaczenia związku ze znaczenia części składowych np. heavy rain • non-substitutability – np. red light • non-modifiability – np. take exceptions to typy • • • • collocations: określenia terminologiczne – dysk twardy idiomy – birds of a feather, take off nazwy własne – IBM Inc., Winston Churchill wyrażenia numeryczne – dwa i pół tysiąca to jest szczególnie przydatne Znajdowanie związków frazeologicznych metoda najprostsza (naiwna) – „jeśli dwa słowa często występują razem, to tworzą związek frazeologiczny” niestety otrzymane bigramy nie są zwykle bardzo interesujące (NYT Newswire’90 corpus) Znajdowanie związków frazeologicznych poprawianie jakości działania metody frekwencyjnej: • użycie listy stopwords • filtrowanie związków-kandydatów przez filtr POS o np. takich regułach (Katz, 1995): • POS tags Przykład związku AN linear function NN regression coefficients AAN Gaussian random variable ANN cumulative distribution function NAN mean squared error NNN class probability function NPN degrees of freedom zastosowanie takiego filtra może znacznie poprawić jakość wyszukiwania – choć oczywiście aby go zastosować musimy dysponować informacją o częściach mowy (przykład tylko dla bigramów): WUT TWG 2006 Znajdowanie związków frazeologicznych w ten sposób można też analizować różnice pomiędzy znaczeniami wyrazów, np. strong i powerfull • strong N oraz powerfull N WUT TWG 2006 Związki frazeologiczne o luźnej strukturze wiele związków ma strukturę, która nie jest stała – mogą to być dwa (lub więcej słów) rozdzielone zmienną liczbą innych słów np. Knowledge discovery in databases Knowledge discovery in large databases Knowledge discovery in big databases albo gorzej : she knocked on his door – 3 słowa odległości od knocked do door they knocked at the door – 3 słowa 100 women knocked on Donaldson’s door – 5 słów (bo ‘) a man knocked on the metal front door – 5 słów jeśli jednak sposób zapisu jest typowy (np. zwykle odległość 1 lub 2-ch słów) to możemy wykorzystać metody statystyczne WUT TWG 2006 Średnia i wariancja zachowanie dwóch słów w korpusie tekstu możemy opisać za pomocą średniej i odchylenia standardowego miary odległości pomiędzy nimi (Smadja, 1993) WUT TWG 2006 WUT TWG Średnia i wariancja 2006 dla przykładu z knocked i door mamy odległości {3, 3, 5, 5} a zatem: d 1 (3 3 5 5) 4 4 n s 2 i 1 (d i d ) 2 n 1 1 ((3 4) 2 (3 4) 2 (5 4) 2 (5 4) 2 ) 1.15 3 przykład odkrytych związków w NYT corpus średnia bliska 1, odchylenie niewielkie – typ odkrywany przez metodę frenkwencyjną wysokie odchylenie – brak związku pomiędzy słowami średnia dużo większa niż 1, niewielkie odchylenie – nowy typ związku – np. hundreds dollars: hundreds of billions of dollars, hundreds of millions of dollars itp. te najciekawsze, w miarę niewielkie odchylenie – np. Garrison said i said Garrison, Richard {M.} Nixon itd. Testowanie hipotez statystycznych otrzymane wartości średniej i wariancji mogą być jednak wynikiem przypadku – powstaje pytanie, czy analizując korpus posiadamy wystarczająco dużo odpowiedniego materiału tekstowego? 1) Zdarzenie – współwystąpienie słów w1 i w2 2) Formułujemy hipotezę zerową H0 – zdarzenie jest przypadkowe 3) Obliczamy prawdopodobieństwo wystąpienia zdarzenia p zakładając iż H0 jest prawdziwa 4) Odrzucamy H0 na pewnym poziomie ufności (p<0.05, 0.01, 0.005, 0.001) lub przyjmujemy jako prawdziwą w przeciwnym wypadku Przyjmijmy iż jeśli współwystąpienie słów w1 i w2 jest przypadkowe to: P(w1w2) = P(w1)P(w2) Niezbędny jest test statystyczny – np. test t Studenta, który pozwala, na podstawie średniej i wariancji próby, określić prawdopodobieństwo pochodzenia próby z populacji o rozkładzie o średniej t x s2 N WUT TWG 2006 Testowanie hipotez statystycznych - przykład Fraza new companies Sekwencję słów w korpusie traktujemy jako sekwencję wystąpień bigramów Mamy zatem szereg zmiennych losowych, 1 – wystąpienie new companies, 0 – brak wystąpienia – są to zatem próby Bernouliego w NYT corpus: C(new) = 15828, C(companies) = 4675, C(new companies)=8, N=1430766 zgodnie z MLE mamy zatem: P(new) = (15828/14307668) P(companies) = (4675/ 14307668) H0:P(new companies) = P(new)P(companies) 3.615 x 10-7 Zatem jeśli hipoteza zerowa jest prawdziwa, to proces losowego generowania bigramów i przypisywania bigramom „new companies” wartości 1, a innym wartości 0 jest procesem Bernouillego z parametrem p = 3.615 x 10-7. Rozkład – rozkład dwumianowy dla n=1, zatem: = 3.615 x 10-7 s2= p(1-p) p 3.615 x 10-7 8 3.615107 x 14307668 t 0.999932 2 8 s 143076682 N dla poziomu ufności 0.005, wartość graniczna 2.576, a zatem nie możemy odrzucić hipotezy zerowej i tym samym wnioskujemy, iż new companies nie jest związkiem frazeologicznym WUT TWG 2006 Testowanie hipotez statystycznych - przykład zastosowana do NYT corpus metoda daje tego rodzaju wyniki: • inne zastosowanie – poszukiwanie słów związanych z różnymi znaczeniami dwóch słów np. poszukujemy tych słów, których użycie wraz ze strong i powerful najlepiej oddaje różnicę znaczeń tych słów • można także stosować inne testy statystyczne, takie jak X2 – ten test nie zakłada a priori rozkładu normalnego populacji WUT TWG 2006 WUT TWG Wskaźnik wiarygodności (likelihood ratio) 2006 Alternatywna metoda testowania hipotez statystycznych (Dunning, 1993): Hipoteza 1: P(w2|w1) = p = P(w2|w1) – wystąpienia w1 i w2 niezależne Hipoteza 2: P(w2|w1) = p1 p2 = P(w2|w1) – wystąpienia zależne wtedy: dla H1: P(w2 | w1)= c2/N, P(w2|w1) = c2/N dla H2: P(w2 | w1)= c12=p1; P(w2|w1)=(c2-c12)/(N-c1) Korzystając z podejścia Bayesowskiego możemy oszacować wiarygodność obu tych teorii: P( w1w2 | H1 ) P( H 2 | w1w2 ) P( w1w2 | H 2 ) P( H1 | w1w2 ) P( w1w2 ) P( w1w2 ) likelihood ratio P( w1w2 | H1 ) P( H1 ) P( H1 | w1w2 ) P( w1w2 | H1 ) P( H1 ) L( H1 ) P( w1w2 ) P( H 2 | w1w2 ) P( w1w2 | H 2 ) P( H 2 ) P( w1w2 | H 2 ) P( H 2 ) L( H 2 ) P( w1w2 ) oraz przyjmujemy, iż początkowo wiarygodność obu tych hipotez jest taka sama, a zatem P(H1)=P(H2)=1/2 WUT TWG Wskaźnik wiarygodności (likelihood ratio) 2006 Zakładamy, że rozkład wystąpień słów jest rozkładem dwumianowym, otrzymujemy: L(H1) = b(c12; c1,p) b(c2-c12; N-c1, p) L(H2) = b(c12; c1,p1) b(c2-c12; N-c1,p2) prawdopodobieństwo wylosowania odpowiedniej liczby w2 nie należących do ciągów w1w2 n P(R r) b(r;n,p) pr (1 p)nr r r – liczba sukcesów w n próbach prawdopodobieństwo wylosowania odpowiedniej liczby – c12 ciągów w1w2 gdy już wylosowano w1 p - prawdopodobieństwo sukcesu w jednej próbie zaś –2log(L(H1)/L(H2)) ma rozkład zgodny z rozkładem Pearsona i może być bezpośrednio porównany z wartościami granicznymi dla 1-go stopnia swobody wystąpienie bigramu powerful computers jest e0.5*82.96 = 1.3x1018 bardziej prawdopodobne przy założeniu, iż łączne wystąpienia tych dwóch słów są nieprzypadkowe