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”, “AlKaida”,...). ● 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 FASTUSie 3. Automaty skończone w FASTUSie FASTUS – przybliżony akronim od “Finite State Automata – Based Text Understanding System” ● budowa: połączone kaskadowo automaty skończone ● wyniki: Recall Precision MUC4 44% 55% MUC6 74% 76% NE Recogn. 92% 96% ● 3. Automaty skończone w FASTUSie Rodzaje automatów skończonych: ● rozpoznające język (DFA); ● z wyjściem (FST – Finite State Transducer) 3. Automaty skończone w FASTUSie 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 FASTUSie – 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 FASTUSie – 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 FASTUSie – 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 FASTUSie – 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 FASTUSie – 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 FASTUSie – 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ę!