20.VI.2008
Agnieszka Kujża, Sztuczna inteligencja - raport

Generator streszczeń artykułów prasowych

Spis treści

  1. Opis problemu
  2. Znane rozwiązania problemu
  3. Źródło danych
  4. Opis działania programu
  5. Informacje o implementacji
  6. Algorytmy użyte podczas tworzenia streszczenia
  7. Wykonane testy
  8. Wnioski
  9. Literatura

Opis problemu

Bardzo często korzystam z wiadomości RSS. W ten sposób zdobywam informacje o tym co dzieje się w kraju i na świecie. Ma on jednak kilka wad. Po pierwsze dziennie dostaję minimum 100 wiadomości i niekiedy ciężko jest mi znaleźć te, które interesują mnie najbardziej. Po drugie bardzo często jakość krótkich streszczeń, które dołączane są do wiadomości nie jest wystarczająca. Tworzone są one z myślą o jak największym zachęcenia użytkownika do przeczytania całego artykułu. W związku z tym zawierają niekiedy przekoloryzowane fakty oraz niedomówienia.

Postanowiłam poradzić sobie z tym problemem pisząc własny program tworzący streszczenia takich artykułów. Miał on zarówno w konkretny i jak najbardziej zwięzły sposób opisywać artykuł, jak również umożliwiać wyszukiwanie w takich streszczeniach konkretnych informacji.

Znane rozwiązania problemu

Problem generowania streszczeń jest zagadnieniem znanym od wielu lat. Definiuje się go jako "proces tworzenia z tekstu jego skróconej wersji, zawierającej najważniejsze informacje dla konkretnego zadania i użytkownika". Do jego rozwiązania podchodzono na dwa sposoby.

Aktualnie większość generatorów streszczeń zaczyna od podejścia pierwszego i różnymi metodami związanymi z przetwarzaniem języka naturalnego stara się na podstawie wybranych informacji stworzyć jak najbardziej spójną wypowiedź. W takich pracach jak [1] można znaleźć próby stworzenia abstraktu z tekstu. Opierają się one w dużej mierze na metodach rozumienia języka naturalnego.

Mój wybór sposobu rozwiązania tego problemu był mocno uzależniony od posiadanych przeze mnie danych. Wszelkie metody związane z rozumieniem języka naturalnego wymagają posiadania złożonej bazy danych posiadającej jakąś wiedzę o świecie. Przykładem takiej bazy może być wordNet. Niestety dla języka polskiego czegoś takiego nie stworzono. W związku z tym zastosowałam metodę ekstrakcji informacji.

Źródło danych

Dane, na których pracowałam, pochodziły z dwóch różnych kanałów RSS. Program uczył się na wiadomościach z portalu www.gazeta.pl, natomiast testowany był na wiadomościach z www.rp.pl. Wybrałam dwa różne źródła danych aby sprawdzić, czy rodzaj i sposób pisania takich wiadomości ma wpływ na jakość działania mojego programu.

Opis działania programu

Działanie programu można podzielić na trzy etapy:

Proces uczenia się
Tworzenie streszczenia
Przeglądanie wiadomości

Streszczenia składają się z części:
tytułoryginalny tytuł wiadomości
kategoriawygenerowana kategoria artykułu.
Może być to jedna z: "gospodarka", "świat", "kraj", "sport"
słowa kluczowewybrane słowa z artykułu, które najlepiej opisują jego treść
oryginalne streszczenietreść wiadomości RSS
najważniejsze zdaniawybrane zdania z artykułu. Takie, które mówią coś o sensie całego artykułu, a nie są w oryginalnym streszczeniu.

Informacje o implementacji

Wszystkie moduły dotyczące tworzenia streszczenia zostały napisane w języku Python. Interfejs graficzny stworzyłam natomiast w języku C#, z użyciem biblioteki System.Windows.Forms.

Algorytmy użyte podczas tworzenia streszczenia

Przygotowanie danych treningowych

Jako danych treningowych użyłam wiadomości RSS z gazety wyborczej z czterech kanałów:

Wiadomości te musiałam początkowo przetworzyć w celu wyciągnięcia z nich najbardziej potrzebnych informacji. Odbywało się to w kilku krokach:

Algorytm wybierający kategorię artykułu

Pierwszym etapem generowania streszczenia jest stwierdzenie do jakiej kategorii wiadomości należy dany artykuł. W tym celu stworzyłam klasyfikator Bayesa. Na podstawie danych treningowych uczył się on jakie własności mają artykuły w danej klasie. Korzystał on ze wzorów:

Klasyfikator Bayesa

Dla słów, które nie należały do danych testowych pojawiał się problem, gdyż ich prawdopodobieństwo przyjmowało wartość 0. W związku z tym zastosowałam metodę wygładzania i użyłam wzoru:

Wygładzanie

Ostatecznie dla danego artykułu wybierana jest kategoria, dla której prawdopodobieństwo jest największe.

Algorytm wybierania najważniejszych słów

Drugim etapem generowania streszczenia jest wybór najważniejszych słów dla artykułu. Odbywał się on w trzech krokach:

Ważne słowa

Przyjęta waga powoduje, że odrzucane są słowa, które bardzo często wystąpiły w ważnych słowach, gdyż nie niosą one żadnej informacji o konkretnym artykule. Dodatkowo ważniejsze są słowa, które występują najczęściej w artykule, ze względu na to, że posiadają informację o jego ogólnym sensie.

Algorytm wybierający najważniejsze zdania

Etap ten sprawił mi najwięcej problemów. Początkowym pomysłem było wybieranie zdań używając klasyfikatora. Za pomocą wiadomości RSS uczyłby się jakie cechy mają zdania należące do streszczenia, a później jedynie wybierał najodpowiedniejsze z danego artykułu. Okazało się jednak, że

W związku z powyższym podeszłam do tego zadania w inny sposób, wykonując na danym artykule następujące kroki:

  1. podział na zdania.
    Odbywał się on za pomocą znaków interpunkcyjnych. Problem skrótów i innych słów w których jest taki znak rozwiązałam sprawdzając czy następne słowo po znaku zaczyna się dużą literą. Dodatkowo przyjęłam, że zdanie nie może zaczynać się od czegoś innego niż litera i cyfra.
  2. problem zaimków
    Długo pracowałam nad algorytmem, który poradziłby sobie z tym problemem. Pojawia się on w sytuacji, gdy w artykule mamy dwa zdania, np "Widziałem kota. Miał on ładne futerko.", z których drugie odwołuje się do pierwszego. Podczas wyboru najważniejszych zdań może się zdarzyć, że wybrane zostanie drugie z nich, które poza kontekstem traci sens. Aktualny algorytm, dla znalezionego zaimka: Okazało się jednak, że algorytm ten nie działa bardzo efektywnie. Napotyka on na dwa problemy
  3. ocena zdań
    Dla każdego zdania liczona jest jego waga:

Tworzenie ostatecznego streszczenia

Postanowiłam zrezygnować z pomysłu tworzenia na podstawie wybranych informacji jednego tekstu. W związku z tym postanowiłam, że streszczenie będzie miało formę xml'owego pliku, takiej postaci:

Postać streszczenia

Słów kluczowych może być maksymalnie 10, natomiast zdań 5.

Wykonane testy

Sprawdzenie poprawności algorytmu decydującego o klasie artykułu

Pierwsze eksperymenty przeprowadziłam na klasyfikatorze w celu sprawdzenia jego jakości. Jako danych testowych użyłam 400 nowych (tzn nie z danych treningowych) artykułów z www.gazeta.pl, po 100 artykułów na każdą klasę. Wyniki które otrzymałam:
Rzeczywista klasa artykułu
Wynikowa
klasa
światkrajgospodarkasport
świat861500
kraj138402
gospodarka01990
sport10198

Wnioski, które można wyciągnąć z powyższej tabelki:
  1. Skuteczność klasyfikatora to 92%. Sądzę, że jest ona bardzo zadowalająca.
  2. Algorytm ma większy problem z bliskimi sobie klasami. Myli więcej dokumentów z klas gospodarka oraz świat. Wynika to po pierwsze z faktu, że w obu kategoriach występują podobne słowa i tematy. Po drugie nawet człowiekowi ciężko jest niekiedy zdecydować do której kategorii powinien należeć dany artykuł np opisujący wizytę premiera Polski w Rosji. Dotyczy on zarówno tematów krajowych jak i światowych.
  3. Dla klas bardziej specyficznych, takich jak sport i gospodarka algorytm działa lepiej. Wynika to z faktu, że w obu z tych kategorii występują bardzo rzadkie w innych słowa. Dla sportu są to np "gol", "mecz", "boisko". Oprócz tego występuje w nim bardzo dużo nazw własnych (nazwiska, nazwy drużyn) niewystępujących w innych kategoriach

Tworzenie streszczeń

Etap ten ciężko było przetestować. Zarówno jakość wybranych, kluczowych słów jak i zdań można ocenić jedynie subiektywnie, czytając cały artykuł i decydując, czy oddają one jego ogólny sens. W związku z tym wygenerowałam streszczenia dla wiadomości z ostatnich kilku tygodni, przejrzałam je i wybrałam kilka ciekawych, na podstawie których można powiedzieć coś więcej o działaniu programu.

Bezbłędne streszczenia

Puchar Stanleya dla Detroit Red Wings

Kategoria: sport

Słowa kluczowe:
  • wings
  • detroit
  • penguins
  • stanley
  • reda
  • pittsburgh
  • rozgrywka
Opis:

Hokeiści Detroit Red Wings zdobyli po raz czwarty w ciągu jedenastu lat Puchar Stanleya. W szóstym meczu finału pokonali na wyjeździe Pittsburgh Penguins 3:2 (1:0, 1:1, 1:1)

Ważne zdania:
  • W ostatnich trzech latach zespół poczynił olbrzymie postępy.
  • Po 23 minutach stan meczu na 2:0 podwyższył Fin Valtteri Filpulla.
  • Jako pierwszy nagrodę sir Stanleya zdobył zespół Montreal A.A.A. w 1893 roku.
  • Lindstroem pięć razy zdobył nagrodę Jamesa Norrisa dla najlepszego obrońcy.
  • Miano najlepszego zawodnika play off przypadło 27-letniemu mistrzowi olimpijskiemu z Turynu 2006 Szwedowi Henrikowi Zetterbergowi, który w rundzie play off zdobył 13 bramek i miał 14 asyst.

Kto będzie nadzorował szkoły

Kategoria: kraj

Słowa kluczowe:
  • oświata
  • kuratorium
  • nadzór
  • kurator
Opis:

Ministerstwo nie chce głośno mówić o likwidacji kuratoriów, ale pracuje nad projektem, który sprawi, że przestaną istnieć w obecnej formie

Ważne zdania:
  • Twierdzi, że przekazanie nadzoru samorządom oznacza likwidację kuratoriów oświaty.
  • W każdym kuratorium pracują setki osób, które z powodu zmian mogą stracić posady – Przy wojewodach zostaną tylko komórki, które będą sprawdzały, czy samorządy wywiązują się ze swych zadań – dodaje rozmówca „Rz”.
  • Kontrolować placówki ma grupa niezależnych ekspertów – mówi „Rz” osoba związana z Ministerstwem Edukacji, która bierze udział w pracach nad projektem zmian w nadzorze szkół.
  • Gmina będzie myślała o szkołach kategoriami ekonomicznymi.
  • Posłanka PO Domicela Kopaczewska odpowiada: – Nie widziałam projektu MEN, który oddawałby cały nadzór samorządom.

Streszczenia z błędami

Gdańsk dla kibiców

Kategoria: sport

Słowa kluczowe:
  • oliwski
  • park
Opis:

Na czas mistrzostw przy Bramie Oliwskiej w Gdańsku powstanie specjalny park dla kibiców, w którym będzie można obejrzeć wszystkie mecze turnieju.

Ważne zdania:
  • Jego otwarcie nastąpi w sobotę przed inauguracyjnym meczem turnieju Szwajcaria – Czechy.
  • Park Kibica będzie czynny przez całe mistrzostwa.

Zybertowicz: historycy są rzetelni

Kategoria: kraj

Słowa kluczowe:
  • historyk
  • zybertowicz
  • książka
  • wałęsać
Opis:

Lech Wałęsa był współpracownikiem SB, takie wnioski z książki Eliza Olczyk 28-05-2008, ostatnia aktualizacja 28-05-2008 02:54 Lech Wałęsa był współpracownikiem SB, takie wnioski z książki o nim są dobrze udokumentowane – mówi „Rz” doradca Lecha Kaczyńskiego

Ważne zdania:
  • Ja i trzej pozostali recenzenci swoimi nazwiskami ręczymy, że wnioski autorów książki o Wałęsie są uzasadnione Środowisko solidarnościowe podzieliło się w tej sprawie na dwa obozy – część dawnych opozycjonistów broni dobrego imienia Wałęsy, a część – prawa historyków do badania archiwów SB zgromadzonych w IPN.
  • Zybertowicz utrzymuje jednak, że autorzy książki zwracali się do byłego prezydenta z prośbą o współpracę.
  • Jego zdaniem bzdurny jest też zarzut, że książka została napisana wyłącznie na podstawie esbeckich materiałów.
  • Były prezydent zarzuca też historykom, że nie zaprosili go do współpracy przy książce na jego temat.
  • Andrzej Zybertowicz, doradca prezydenta Lecha Kaczyńskiego ds. bezpieczeństwa państwa, zapoznał się z głośną książką historyków IPN Sławomira Cenckiewicza i Piotra Gontarczyka o byłym prezydencie i legendarnym przywódcy „Solidarności” Lechu Wałęsie.

Całkiem błędne streszczenia

Plan dnia - 28 maja

Kategoria: kraj

Słowa kluczowe:
  • tel
  • muzyka
  • godz
  • ul
Opis:



Ważne zdania:
  • 022 621 18 81.
  • 022 822 30 03, godz.
  • 022 621 78 28.
  • 022 551 71 30, godz.
  • 022 828 01 44, godz.
Artykuł na podstawie którego zostało wygenerowane to streszczenie był bardzo długą listą różnych wydarzeń muzycznych i ich opisów. W związku z tym: Na przykładzie tego artykułu widać, że nie zawsze podejście ekstrakcji danych jest poprawne. Tutaj o wiele bardziej przydałoby się stworzenie abstraktu całego artykułu.

Historycy na froncie

Kategoria: kraj

Słowa kluczowe:
  • ala
  • ipn
  • cenckiewicza
  • historyk
  • wszystek
  • tenże
  • wałęsy
  • cenckiewicz
  • gontarczyk
  • książka
Opis:

Piotr Gontarczyk i Sławomir Cenckiewicz usłyszeli o sobie już prawie wszystko. I choć są bliscy doprowadzenia do końca swojego projektu, na ich twarzach nie widać triumfu

Ważne zdania:
  • Z kolei Cenckiewicz – dodaje Friszke – absolutyzuje archiwa.
  • Zdania nie zmieniam – ucina.
  • Musimy ujawnić prawdę – odpowiada Cenckiewicz.
  • Gontarczyk: – Oczywiście, że mam wątpliwości.
  • Druga – obcięcie budżetu IPN na przyszły rok.

Wnioski

Literatura

  1. Abstract generation based on rhetorical structure extraction - Kenji Ono, Kazuo Sumita, Seiji Miike
  2. A trainable document summarizer - Julian Kupiec, Jan Pedersen, Francine Chen
  3. Extract-based summarization with simplification - Patha Lal, Stefan Ruger

Valid XHTML 1.0 Transitional