230 likes | 358 Views
WEDT Korpusy i kolokacje. Wykład 4 Piotr Gawrysiak pgawrysiak@supermedia.pl. 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
E N D
WEDTKorpusy i kolokacje Wykład 4 Piotr Gawrysiak pgawrysiak@supermedia.pl 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
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/
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)
Problemy – wielkość liter • zwykle dla dalszego przetwarzania NLP wielkość liter nie ma znaczenia: • 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)
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 • nie działa np. dla Micro$oft, C|net, 23.13$, itd. • kropka – słowa nie zawsze są oddzielone białymi znakami, czasami po słowie występuje kropka: • 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’
Podział na słowa cd. • 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. co-operative, 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 once-quiet 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 amhappy-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)
Podział na słowa cd. • 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) to są tak naprawdę dwa zdania !!! • podejście naiwne – zdanie to ciąg znaków zakończony ‘.’, ‘!’, lub ‘?’, ale... • kropki występują także w skrótach • 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: • jeśli jest poprzedzony znanym skrótem, po którym występuje zwykle nazwa własna – np. Prof. lub vs. • jeśli jest poprzedzony znanym skrótem po którym nie występuje słowo rozpoczęte wielką literą • 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
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 NationalCorpus, 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)
Zawartość korpusów – power laws Prawo Zipf’a Through the looking glass hapax legomena Zipf, gdzie f – częstość słowa, r - pozycja Mandelbrot, P, B, - parametry mierzące bogactwo słownictwa Większość najczęściej występujących słów to stopwords
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
Colocations 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 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) to jest szczególnie przydatne
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): • 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):
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
Knowledge discovery in databases Knowledge discovery in large databases Knowledge discovery in big databases 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. 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
Ś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)
Średnia i wariancja dla przykładu z knocked i door mamy odległości {3, 3, 5, 5} a zatem: 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
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 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
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
Wskaźnik wiarygodności (likelihood ratio) 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: oraz przyjmujemy, iż początkowo wiarygodność obu tych hipotez jest taka sama, a zatem P(H1)=P(H2)=1/2 likelihood ratio
Wskaźnik wiarygodności (likelihood ratio) prawdopodobieństwo wylosowania odpowiedniej liczby w2 nie należących do ciągów w1w2 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) 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 r – liczba sukcesów w n próbach p - prawdopodobieństwo sukcesu w jednej próbie prawdopodobieństwo wylosowania odpowiedniej liczby – c12 ciągów w1w2 gdy już wylosowano w1 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