• Nie Znaleziono Wyników

Segmentacja dokumentu na teksty spójne

W dokumencie Index of /rozprawy2/10469 (Stron 60-69)

W badaniach nad przetwarzaniem języka naturalnego podstawę pracy stano-wi dostępność korpusu dobrej jakości. Jest on często odpostano-wiednio zbalansowany lub zbiasowany tematycznie oraz posiada jasno zdefiniowany porządek formatu. Może więc agregować kolejno artykuły podzielone na sekcje, książki na rozdziały, odrębne wiadomości prasowe, artykuły czasopism i wszelkie inne wyróżnione źró-dła tekstu. Niejednokrotnie korpus tekstowy jest także wstępnie otagowany lub annotowany co pozwala na selektywne korzystanie z wybranego rodzaju tekstów.

Algorytmy lingwistyczne (szczególnie te statystyczne) tworzone z myślą o przetwarzaniu tekstów w oparciu o analizę korpusu wyróżniają pojęcie doku-mentu w korpusie. Jedna z najprostszych miar ekstrakcji informacji IDF (Inverse Document Frequency) wyrażana wzorem

idfi = log  N doc ndi  (4.1) mierzy IDF dla wyrazu i jako logarytm z iloczynu liczby dokumentów w korpusie N doc z liczbą dokumentów korpusu ndi zawierających wyraz i. Wobec powyższego korpusu tekstu nie można traktować jako strumienia tekstu. Istnie-je wyraźna potrzeba segmentacji tekstów do odrębnych dokumentów w obrębie korpusu.

Rola segmentacji tekstu

Badania przedstawione w pracy koncentrują się na przetwarzaniu tekstu po-chodzącego ze stron internetowych. Chcąc więc odnieść zastosowanie metod lin-gwistycznych należałoby wyznaczyć analogię pomiędzy dyskowym korpusem tek-stowym a zasobami WWW sieci Internet. Każdy zasób w sieci Internet posiada unikalny adres URL (Uniform Resource Locator), który jest specjalizacją adresu URI (Uniform Resource Identifier). W związku z tym w najbardziej bezpośred-nim podejściu można traktować każdą pojedynczą stronę WWW jako odrębny dokument. Podejście takie stosowane jest obecnie bardzo szeroko w systemach indeksujących treści z Internetu, w tym najczęściej spotyka się taką metodę w implementacjach systemów wyszukiwarek WWW. Operują one bowiem oraz in-deksują głównie strony WWW reprezentowane przez pojedyncze adresy URL. Cała treść dokumentu HTML zawarta pod danym adresem URL zapisywana jest w kontekście jednego dokumentu. Najprostszą metodą ekstrakcji tekstu ze strony HTML jest tzw. HTML tags stripping, czyli proces usuwania znaczników języ-ka HTML, po którym w dokumencie pozostają tylko węzły tekstowe dokumentu HTML. Przedstawione podejście okazuje się jednak nieoptymalne dla typowych zadań algorytmów lingwistycznych, co bardzo łatwo wykazać powołując się przy-najmniej na dwie podstawowe cechy tego rozwiązania:

• Skład dokumentu elektronicznego – strony internetowe często podle-gają podobnym technikom składu poligraficznego jak strony gazety papie-rowej; oznacza to że na jednej stronie umieszcza się wiele kolumn i szpalt zawierających różnorodne informacje, często tematycznie niepowiązane ze sobą; przykładowo na rysunku 4.2 przedstawiono stronę główną portalu onet.pl - popularnego polskiego portalu internetowego. Na stronie trudno wyznaczyć pojedynczą treść stanowiącą temat główny strony. Zamiast te-go strona główna portalu pełna jest bloków wizualnych o zróżnicowanej

57

Rysunek 4.2: Skład elektroniczny popularnego w Polsce portalu internetowego.

funkcji, zawierających bardzo wiele skrótowych komunikatów tekstowych będących tytułami bądź streszczeniami artykułów do których odsyłają. • Paginacja treści – pojedynczy artykuł prasowy w rozumieniu klasycznego

dyskowego korpusu tekstowego bardzo często przedstawiany jest jako seria stron WWW (wiele adresów URL) prezentujących treść wyrywkowo powią-zanych ze sobą linkami URL (np. sytuację taką przedstawia rysunek 4.3); tego typu paginacja jest niezwykle częstą praktyką serwisów internetowych, które z jednej strony chcą ograniczyć ilość transferu danych w przypadku publikacji materiałów o dużej objętości, a z drugiej strony każde kliknięcie użytkownika przeglądarki na kolejną stronę zwielokrotnia ruch na stronie (zwiększa tzw. hits factor ), który może wiązać się z uzyskaniem większego

Rysunek 4.3: Przykład paginacji treści w portalu onet.pl.

dochodu z publikacji reklam;

Problemy opisane powyżej, łatwo zilustrować przykładami, w których uwzględ-ni się obecuwzględ-nie bardzo popularny algorytm wyszukiwauwzględ-nia stron za pomocą słów kluczowych (obecnie większość internetowych indekserów opiera się właśnie na technice indeksacji słów kluczowych). Rozważany pierwszy przykład zakłada ist-nienie hipotetycznej strony internetowej, która posiada dwie niezależne tematycz-nie szpalty. Każda ze szpalt zawiera po jednym zdaniu, które w procesie ekstrakcji tekstu ze strony HTML tworzą następujący tekst pojedynczego dokumentu: Kapitan brygady wydał rozkaz żołnierzom, aby wstrzymali ogień.

59

Przykład zakłada poszukiwanie takich tekstów, które niosą informację o kapi-tanie statku. Najprostsze podejście przewiduje użycie techniki indeksacji słów kluczowych oraz utworzenie zapytania złożonego z dwóch słów kluczowych „ka-pitan statek”. Oba słowa kluczowe zostaną znalezione w przedstawianym tekście. Odległość słów kluczowych od siebie wynosi 7 wyrazów co w zależności od kon-kretnych warunków algorytmu może okazać się wystarczające, aby stwierdzić że strona z takim tekstem posiada wysoką jakość wyszukania. Doprowadza to do ty-powej sytuacji false positive, w której algorytm niepoprawnie akceptuje tekst jako dopasowany do wzorca, mimo że tekst nie niesie informacji o kapitanie statku. Dzieje się tak dlatego, że metoda słów kluczowych zakłada semantyczną zależność słów występujących w swojej bliskości. To oznaczy, że w tekście o flocie morskiej użycie wyrazu „kapitan” jest związane z relatywnie wysokim prawdopodobień-stwem, iż semantyka tego wyrazu dotyczy osoby kierującej flotą lub statkami niż innego rodzaju znaczeń wyrazu „kapitan”. Metoda ta jednak jak łatwo zosta-ło wykazane nie sprawdza się w sytuacjach, gdy kolejne fragmenty tekstu mają charakter przypadkowy i niezwiązany tematycznie - co dokładnie odpowiada sy-tuacji pobierania tekstu ze strony HTML jako całości. Aby rozwiązać ten problem należy przeprowadzić segmentacje strony WWW na zbiór tekstów niezależnych tematycznie. W prezentowanym przykładzie rozdzielając oba zdania na dwa do-kumenty, żaden z dokumentów nie zostanie dopasowany w procesie wyszukiwa-nia słów kluczowych. W zdaniu pierwszym brakuje słowa „statek”, natomiast w zdaniu drugim brakuje słowa „kapitan”. Segmentacja taka wpływa więc na ograniczenie ilości przypadkowych zależności wyrazów w tekście.

Przykład drugi odnosi się do problemu paginacji treści. Tym razem rozważane są dwie strony WWW zawierające następujące treści:

Strona pierwsza

Statek pasażerski potrafiący zmieścić 1500 osób opuścił dziś stocznie. Przejdź do następnej strony.

Strona druga

Jego kapitan twierdzi, że jest to obecnie najszybsza jednostka we flocie.

Temat wyszukiwania pozostaje ten sam. Tym razem żaden z dokumentów nie zostanie znaleziony, ponieważ nie zawiera odpowiedniej liczby słów kluczowych. Tekst drugi poprzez kontekst tekstu pierwszego wyraźnie wskazuje, iż zawiera on informacje o tym co powiedział kapitan statku pasażerskiego. Sytuacja zobra-zowana tutaj jest przykładem false negative, czyli sytuacji w której dokument poprawny nie zostaje wykryty. Problem ten jest problemem odwrotnym do seg-mentacji, jednak nie jest od niej niezależny. Po wykryciu na stronie spójnego

segmentu tekstu, należy zbadać czy na stronie zawarta jest informacja o dalszej części tego tekstu. Wskazywać na to mogą różnorodne cechy takie jak charakte-rystyczne linki („następna strona”, „poprzednia strona”, „czytaj dalej”, „zobacz więcej”, itp...) lub też wskazywać na to może sam układ odsyłaczy pomiędzy stro-nami będącymi swoimi częściami. W przypadku gdyby oba dokumenty zostały połączone, detekcja słowami kluczowymi byłaby możliwa, ponieważ słowo kapi-tan wystąpiłoby w wystarczającej bliskości słowa statek, a prawdopodobieństwo ich semantycznej zależności jest w tym przypadku wysokie.

Definicja spójności tekstu dokumentu HTML

Należy wobec tego zwrócić uwagę na to, jakiego rodzaju segmentacji należy oczekiwać od tekstów pochodzących ze stron WWW. W przypadku idealnym, wynikiem ekstrakcji tekstu powinien być zbiór tekstów, które są wewnętrznie spójne w sensie semantycznym. Przypadek idealny nie jest jednak możliwy do bezpośredniego uzyskania w przypadku stron HTML. Sama semantyka tekstu pozostaje bowiem w gestii autora strony i dłuższe opracowania z samej natury fragmentami będą niespójne tematyczne. Ważna natomiast jest zdolność do iden-tyfikacji takich tekstów, które zostały opracowane jako odrębne teksty przez ich autorów.

Język HTML jest wysoce strukturalnym, zhierarchizowanym językiem wpro-wadzającym wraz ze stylami CSS jednoznaczny podział na grupy bloków wizual-nych na stronie. Można wobec tego przeprowadzić segmentację czysto struktural-ną, która podzieli treść dokumentu HTML na zbiór niezależnych dokumentów ze względu na przynależność do danej sekcji strony lub jego roli na stronie. Tekst, który zostanie w ten sposób wydzielony z pełnej treści nazwany został tekstem spójnym.

Definicja 4.1. Tekst spójny strony internetowej jest to tekst pochodzący ze

spój-nego elementu lub bloku wizualspój-nego strony HTML, posiadającego jasno określoną rolę w dokumencie HTML.

Sam format HTML ewoluował w czasie, choć ewolucja ta dotyczyła raczej prób standaryzacji pewnych konwencji kodowania, co ma odzwierciedlenie np. w standardzie HTML 4.01 i późniejszych, które są zgodne ze standardem SGML (Standard Generalized Markup Language) (ISO8879). Generalną zasadą, jaka to-warzyszy kodowaniu treści strony w kodzie HTML, jest duża systematyczność i hierarchiczność bloków kodu w której umieszcza się treści. Dla przykładu każ-dy dokument HTML powinien zawierać sekcję główną <html></html>, w której tytuł strony znajdziemy w sekcji <head><title></title></head> a treść za-warta będzie w sekcji <body></body>. W sekcji treści znajdować się będą kolejno zagnieżdżane elementy, tabele (<table>), linki (<a>), grafiki (<img>), elementy

61

grupujące liniowe i blokowe (<span>, <div>), i wiele innych. Ostatecznie treść tek-stowa znajduje się zagnieżdżona w odpowiednich elementach HTML od elementu <body> począwszy. Elementy treści mogą przeplatać się swobodnie z innymi blo-kami HTML.

Do reprezentacji hierarchicznej struktury HTML stosuje się standard DOM (Domain Object Model), który jest niezależnym standardem obiektowego mode-lowania. Strona HTML przedstawiona w modelu DOM jest drzewem obiektów, po którym można swobodnie przemieszczać się w dowolnym kierunku. Każdy wę-zeł drzewa jest obiektem reprezentującym dany blok HTML. Liśćmi drzewa są węzły tekstowe (Text Node), które reprezentują (zawierają w sobie) ostateczną treść tekstową strony.

Najważniejszym założeniem jakie przyjęto przy konstrukcji algorytmów eks-trakcji spójnych tekstów w oparciu o strukturę DOM strony HTML jest teza, iż istnieje zawsze jeden taki węzeł drzewa DOM, dla którego konkatenacja tekstów z całego poddrzewa jest tekstem spójnym.

Metoda Energii Węzłów

Metoda [17] ta przedstawia jedno z podejść do zagadnienia wyszukania wę-złów spójnych. Bazuje ona na obserwacji, że nowoczesne portale WWW posiada-ją bardzo skomplikowane i głębokie struktury drzew (co ma swoje uzasadnienie w sferze prezentacyjnej, gdzie do pozycjonowania treści i formatowania stylami CSS używa się wielokrotnie zagnieżdżonych elementów typu <div> i <span>). W związku z tym poszczególne jednostki wizualne na stronie (np. ramki z tekstem, akapity, paski nawigacyjne) na poziomie węzłów tekstowych będą oddalone od siebie długościami ścieżek wielokrotnie dłuższymi niż ścieżki znajdujące się w obrębie jednego elementu wizualnego. Dodatkowo na odległość tekstów między sobą wpływa także sama długość tych tekstów. Długie teksty mogą mieć więcej poziomów zagłębienia niż krótkie fragmenty. Metoda Energii Węzłów zakłada, iż każdy węzeł tekstowy posiada energię adekwatną do swojej miary informacji (np. do ilości znaków, ilości słów, ilości słów rozpoznanych w słowniku, itp.). Ener-gia ta może zostać łączona w węzłach nadrzędnych, część energii przekazywanej wyżej ulega rozproszeniu proporcjonalnie do odległości od węzłów nadrzędnych. Szybkość rozpraszania się energii jest odwrotnie proporcjonalna do względnej wy-sokości całego drzewa DOM. Oznacza to, że w stosunkowo niewysokich drzewach DOM stosunkowo duża energia jest rozpraszana przy przejściu z węzła na węzeł, a przy wysokich drzewach DOM, energia rozpraszana jest stosunkowo niewiel-ka. Pozwala to na adaptację zarówno do bardzo skomplikowanych jak i bardzo prostych stron WWW.

Okazuje się, że pewne węzły stosując tę zasadę skupiają więcej energii od in-nych (rodzicielskich i potomin-nych) i osiągają maksima energetyczne na ścieżkach w drzewie. Te właśnie węzły stanowić będą potencjalne węzły spójne. Aby

doko-nać ostatecznego podziału, należy podążać od korzenia DOM w dół po węzłach potomnych za każdym razem sprawdzając, czy któryś z węzłów potomnych posia-da większą energię od posia-danego węzła. Jeśli nie, posia-dany węzeł uzyskał jako pierwszy maksimum energii na ścieżce od korzenia aż do jego poddrzewa i uznaje się go za węzeł spójny. Jeśli natomiast istnieje jakiś węzeł potomny posiadający więk-szą energię, należy rozdzielić przechodzenie po drzewie na równoległe procesy zaczynając od każdego węzła potomnego. W szczególności węzłem spójnym może być pojedynczy węzeł tekstowy. W ten sposób przeszukane zostanie całe drzewo DOM, a wszystkie znalezione węzły spójne będą rozłączne w sensie zawierania się w swoich poddrzewach oraz będą zawierać wspólnie wszystkie węzły tekstowe. Metodę Energii Węzłów można opisać przy pomocy skróconego formalizmu. Niech DOM będzie drzewem (V, G, R), gdzie V – zbiór wszystkich węzłów, G – zbiór krawędzi (v1, v2) gdzie v1,v2 należą do V , R – węzeł początkowy (korzeń); R należy do V . Niech parent(v) oznacza węzeł nadrzędny dla v oraz childs(v) niech oznacza zbiór węzłów potomnych dla v. Niech m(v) oznacza energię tekstu zawartego w v przyjętą zgodnie z dowolną metryką. Niech k oznacza wysokość drzewa DOM, czyli najdłuższą ścieżkę w drzewie DOM o początku w R i końcu w dowolnym liściu g ( g∈ V i childs(g) = ∅). Energię węzła v określa się wzorem rekurencyjnym: E(v) = m(v) gdy childs(v) =w∈childs(v) p

kE(w) gdy n childs(v)= ∅ (4.2) gdzie p jest stałą szybkości rozpraszania energii ustaloną a priori.

Węzeł vijest węzłem spójnym począwszy od węzła v0wtedy i tylko wtedy gdy istnieje taki ciąg (v0, v1, v2, ..., vi, vi+1), że vn ∈ child(vi−1) dla n∈< 1; i + 1 > oraz E(v0)  E(v1)  E(v2)  ...  E(vi), oraz E(vi) > E(vi+1), a także E(vn) = max{E(childs(vn−1))} dla n ∈< 1; i > , czyli E(vn) jest wartością maksymalną wśród wartości energii wszystkich dzieci rodzica węzła vn−1.

Węzeł v jest węzłem spójnym wtedy i tylko wtedy, gdy: • v jest węzłem spójnym począwszy od R,

• v jest węzłem spójnym począwszy od v , takiego że istnieje v będące

węzłem spójnym należącym do childs(parent(v)). Metoda predykcji z położenia odsyłaczy URL

Druga metoda [17] oparta jest na budowie regułowej. Do działania wykorzy-stuje zbiór reguł wynikłych z obserwacji budowy stron WWW oraz położenia w nich kluczowego elementu jakim są odsyłacze URL.

Za regułę generalną można przyjąć, iż każdy węzeł <a> jest węzłem spójnym, natomiast pozostałe węzły powstałe z wydzielenia węzłów <a> ze struktury DOM

63

stają się węzłami spójnymi agregującymi w sobie pozostałe węzły Text Node. Założenie takie jest w pewnym sensie poprawne z punktu widzenia informacyjnej struktury dokumentu HTML (odsyłacz URL prowadzi do odrębnej treści zawartej na innej stronie HTML, więc sama treść linku jest odrębna w stosunku do jego kontekstu na zadany temat). Jest to jednak zbyt daleko idące uproszczenie i okazuje się niepoprawne w wielu przypadkach. Należy rozważyć dokładniej to zagadnienie.

Struktura każdego dokumentu HTML pod względem roli tekstu w niej za-wartego służy jednoznacznie dwóm celom: przekazania treści w postaci akapitów tekstu lub przekazania informacji o innych tekstach zawartych na stronach pod podanymi adresami WWW w postaci linków WWW.

W przypadku pierwszym, mamy do czynienia w większości z dużymi frag-mentami tekstów podzielonymi na akapity (dużymi w odniesieniu do wielkości tekstów w przypadku drugim), które zazwyczaj nie posiadają żadnych linków. Jest to spowodowane rolą danego tekstu na stronie. Jeśli tekst ten jest tekstem wiodącym danej strony, nie będzie on już odsyłać do innych miejsc w sieci po-nieważ jest treścią główną strony. Oczywiście zdarzają się tutaj wyjątki, gdzie poszczególne frazy w dużym akapicie tekstu mogą być jednocześnie fragmentem zdań, a także linkami do innych stron np. z definicją tej frazy, natomiast takie wyjątki można z łatwością wykryć. Ich charakterystyczną cechą jest występowa-nie w dużych partiach tekstu najczęściej w postaci węzłów <a> bezpośrednio obok węzłów tekstowych. Z powyższych faktów można wyodrębnić regułę, która mówi że wszelkie linki URL w wyższych węzłach drzewa DOM w stosunku do dużych fragmentów tekstów można traktować jako niezwiązane z tym tekstem (np. paski nawigacyjne, itp...) i stanowią one górne ograniczenie spójności węzła potomnego zawierającego tekst zasadniczy.

W przypadku drugim mamy do czynienia z kilkoma wariantami linków. Naj-częściej linki występują w zagnieżdżonych strukturach, nie otoczone dodatkowymi tekstami - występują samodzielnie. Takie poddrzewo DOM spłaszczone do zwy-kłej listy elementów (biorąc pod uwagę jedynie elementy <a> oraz Text Node) zawierać będzie same elementy typu <a>. Taki charakterystyczny układ linków wskazuje jednoznacznie na nawigacyjny charakter linków na stronie, niezależnie czy linki zawierają w sobie pojedyncze słowa kluczowe czy całe frazy będące np. tytułami kolejnych artykułów. Należy odnieść się tutaj do wiedzy o struktu-rze informacyjnej strony, z której można założyć, że każdy taki link odnosi się do odrębnej informacji (strony WWW), przez co teksty zawarte w linkach nale-ży traktować odrębnie. Często zdarza się także, że linki takie zawierają krótkie skróty tekstowe mające zachęcić do kliknięcia w dany link. Skróty te nie są lin-kami, więc zaburzają czystą strukturę jednorodnego drzewa linków, a dodatkowo są powiązane tematycznie z linkiem w obrębie którego występują. W takiej sytu-acji potrzebna jest dodatkowa analiza wzajemnego położenia linku i skrótu. Ze

względu na kwestie prezentacyjne w HTML-u skrót wraz z linkiem będą położone w obrębie jednego spójnego węzła w stosunku do węzłów z innymi linkami. Dla-tego też jako kolejną regułę można przyjąć iż węzłem spójnym jest także węzeł grupujący w swoim poddrzewie węzeł <a> i Text Node pod warunkiem, że węzeł spójny występuje w większej strukturze linków.

Te proste reguły badania hierarchii węzłów tekstowych, ich relatywnych wiel-kości oraz ich położenia względem linków WWW dają bardzo dobre rezultaty, które są dużo bardziej odporne na zaburzenia w strukturze HTML-a niż metoda Energii Węzłów. Jest to natomiast metoda trudno formalizowana, ze względu na swoją regałową naturę i szukania prawidłowości korzystając z wiedzy o naturze prezentacji informacji i zasadach łączenia informacji linkami URL.

W dokumencie Index of /rozprawy2/10469 (Stron 60-69)

Powiązane dokumenty