Ekstrakcja informacji - Instytut Informatyki Uniwersytetu Wrocławskiego

Transkrypt

Ekstrakcja informacji - Instytut Informatyki Uniwersytetu Wrocławskiego
Ekstrakcja informacji
Jan Czajkowski
Seminarium z przetwarzania języka naturalnego
w Instytucie Informatyki Uniwersytetu Wrocławskiego
Ekstrakcja informacji
0. Wstęp
0. Wstęp.
Czym jest ekstrakcja informacji?
Motywacja: wielka obfitość dokumentów WWW.
● Wyszukujemy jednak informacje w tekście – wynikiem jest tu zwięzła struktura danych, a nie zbiór dokumentów, jak w przypadku wyszukiwania informacji w WWW. Trafia ona do formularza.
● Szukamy informacji konkretnego rodzaju, np. o atakach terrorystycznych.
● W tekście analizuje się zazwyczaj tylko fragmenty zawierające pewne słowa kluczowe (np. “bomb”, “terrorist”, “Al­Kaida”,...).
●
0. Wstęp
Początki ekstrakcji informacji sięgają ok. 1970 r., kiedy to zaczęto wyszukiwać w tekstach w ruchu komunikacyjnym słów kluczowych (“bomb”, “terrorist”,...) i potem ręcznie przeglądano wynikowe dokumenty.
Współcześnie polega ona na podaniu informacji właściwie “na tacy”, np. jako tabeli dla bazy danych.
0. Wstęp.
Przykłady zadań ekstrakcji informacji
Wchłanianie firm przez korporacje – dane: kto został wcielony do kogo i za jaką cenę.
● Zmiany personalne na stanowiskach w dużej firmie – dane: kto zmienił stanowisko (jakie na jakie) i kto przyszedł na jego miejsce.
●
0. Wstęp.
Ekstrakcja informacji nie aspiruje do miana “sztucznej inteligencji”.
Zazwyczaj wyszukuje się wzorzec za pomocą płytkiego parsingu i z nich ekstrahuje się dane do naszego formularza.
Ekstrakcja informacji
1. Message Understanding Conferences ­ MUC
Ekstrakcja informacji
2. Wyrażenia regularne
2. Wyrażenia regularne ­ przykłady
●
●
●
a(b|c)*a
L={aa, aba, aca, abba, abca, ...}
{Mr.|Mrs.|Ms.|Dr.} {A|B|...|Z}. LASTNAME
Język nieregularny:
L={anbn: n=0, 1, 2, ...}
2. Wyrażenia regularne – model kaskadowy systemu ekstrakcji informacji
Etapy ekstrakcji informacji:
Tokenizer
POS Tagger
Niezależne od dziedziny
Regex
Matcher
Template
Filler
Template
Merger
Specyficzne dla dziedziny
2. Wyrażenia regularne – przykłady w Perlu
●
●
$word=~/ful$/
/\([^(\)]*(19|20)\d\d)/
(Jackson & Moulinier 2002)
Ekstrakcja informacji
3. Automaty skończone w FASTUS­ie
3. Automaty skończone w FASTUS­ie
FASTUS – przybliżony akronim od “Finite State Automata – Based Text Understanding System”
● budowa: połączone kaskadowo automaty skończone
● wyniki:
Recall Precision
MUC­4
44%
55%
MUC­6
74%
76%
NE Recogn. 92%
96%
●
3. Automaty skończone w FASTUS­ie
Rodzaje automatów skończonych:
● rozpoznające język (DFA);
● z wyjściem (FST – Finite State Transducer)
3. Automaty skończone w FASTUS­ie
O parsowaniu języka naturalnego:
● S. C. Kleene: klasa języków rozpoznawanych przez DFA to dokładnie języki regularne.
● A. N. Chomsky: języki naturalne nie są regularne, np.
The cat that ate the bird hat ate the worm was black.
John and Mary are six and seven years old respectively.
● A. Church: jęz naturalne można przybliżać jęz. regularnymi, gdyż człowiek nie posługuje się dowolnie złożonymi konstrukcjami.
3. Automaty skończone w FASTUS­ie – przykłady wyrażeń regularnych
NG = DET MOD NOUN
DET = the | a | an | ...
MOD = local | ...
NOUN = mayor | ...
NG RELPRO VG*
“The local mayor, who was kidnapped yesterday, was found dead today.”
3. Automaty skończone w FASTUS­ie – przykłady wyrażeń regularnych
PERP attacked HUMANTARGET's PHYSICALTARGET in LOCATION on DATE with DEVICE
Zawężone klasy gramatyczne (PERP dopasowuje się do “terrorist”, ale nie do “Bush”)
➔ Przeplatamy klasy gramatyczne (“zmienne”) z terminalami (“stałe”).
➔
3. Automaty skończone w FASTUS­ie – przykłady
“The Mayor's home in Bogota was attacked on Tuesday by terrorists using grenades.”
“On Tuesday, the Bogota home of the Mayor was attacked by terrorists armed with grenades.”
Potrzeba wielu wzorców dla wychwycenia różnych sposobów wypowiedzeń.
➔ Potrzeba też dużego leksykonu do rozpoznawania nazw własnych itp.
➔
3. Automaty skończone w FASTUS­ie – fazy działania systemu
1) rozpoznawanie “wyrazów złożonych” (formy opisowe czasów, phrasal verbs, nazwy własne, ...);
2) rozpoznawanie fraz rzeczownikowych, czasownikowych itp.;
3) rozpoznawanie złożonych konstrukcji, (związki typu “the joint venture, Bridgestone Sports Taiwan Co.”, liczebniki z rzeczownikami, grupy zbudowane przy pomocy spójników typu “and” jako wyliczenia itd.);
3. Automaty skończone w FASTUS­ie – fazy działania systemu
4) rejestrowanie zdarzeń i obiektów (firm, instytucji, osób, rodzajów działalności itp.) w formularzach (z dopasowanych wzorców dla całych zdań);
5) scalanie struktur zdarzeń i obiektów – scalamy, gdy struktury są zgodne w pewien sposób, bliskie względem pewnej metryki.
3. Automaty skończone w FASTUS­ie – niedeterminizm
Niedeterminizm ułatwia tworzenie automatu dla danego typu wypowiedzeń, ale może prowadzić do niejednoznaczności interpretacji (choć samo zdanie może być niejednoznaczne, np.
“The terrorists attacked the soldiers with grenades”,
aczkolwiek “grenades” dopasuje się do DEVICE i zostanie przypisane terrorystom).
Ekstrakcja informacji
4. Automaty ze stosem i gramatyki bezkontekstowe
4. Automaty ze stosem i gramatyki bezkontekstowe
Głęboki parsing zastosowano dla dokumentów sądowych (wyroków, postanowień, ...).
Problem: wyszukiwanie proceduralnych powiązań między sprawami.
Pułapki:
● Mowa o zdarzeniach w sytuacji przed sprawą i o działaniach w sądzie np. w jednym zdaniu.
● Podobnie: mowa o aktualnej sprawie i sprawach poprzedzających ją (np. w sądach niższej instancji).
● Podobnie: mowa zależna i cytaty.
● Tryb warunkowy, implikacje, numery przepisów prawa.
4. Automaty ze stosem i gramatyki bezkontekstowe – algorytm CYK
Algorytm CYK (Cocke, Young, Kasami) – znany z algorytmów i struktur danych dynamiczny algorytm parsowania tekstu za pomocą gramatyki bezkontekstowej w postaci Chomsky'ego.
Złożoność czasowa: sześcienna względem długości tekstu wejściowego.
Zalety: otrzymujemy wszystkie drzewa wyprowadzenia.
4. Automaty ze stosem i gramatyki bezkontekstowe – algorytm CYK
Algorytm CYK dobrze radzi sobie z tymczasowymi niejednoznacznościami występującymi po częściowym przeanalizowaniu tekstu.
Samo zdanie może być jednak niejednoznaczne, np.:
“The reversal of the ruling by the Federal District Court for the Northern District of New York.”
Występuje również problem niepełności, gdy np. brakuje słowa w leksykonie albo reguły gramatycznej.
Można sobie z tym radzić za pomocą tzw. “splicingu”.
Ekstrakcja informacji
5. Obecne problemy i badania
Ekstrakcja informacji
6. Podsumowanie
Dziękuję za uwagę!

Podobne dokumenty