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