Bazy dokumentów tekstowych

Podobne dokumenty
Wyszukiwanie tekstów

Eksploracja tekstu. Wprowadzenie Wyszukiwanie dokumentów Reprezentacje tekstu. Eksploracja danych. Eksploracja tekstu wykład 1

Wydział Elektrotechniki, Informatyki i Telekomunikacji. Instytut Informatyki i Elektroniki. Instrukcja do zajęć laboratoryjnych

Wyszukiwanie dokumentów/informacji

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Zaglądamy pod maskę: podstawy działania silnika wyszukiwawczego na przykładzie Lucene

Algorytmy i struktury danych. wykład 8

Eksploracja danych. Grupowanie. Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne. Grupowanie wykład 1

Wyszukiwanie dokumentów WWW bazujące na słowach kluczowych

Algorytmy przeszukiwania wzorca

Wstęp do przetwarzania języka naturalnego

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Dr Michał Tanaś(

Indeksy w hurtowniach danych

Definicja pliku kratowego

1.1. Pozycyjne systemy liczbowe

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Kody blokowe Wykład 2, 10 III 2011

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Wprowadzenie do uczenia maszynowego

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Systemy GIS Tworzenie zapytań w bazach danych

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

Metody indeksowania dokumentów tekstowych

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Spis treści. Część I Metody reprezentowania informacji oraz struktury danych...9. Wprowadzenie Rozdział 1. Reprezentacja liczb całkowitych...

Hierarchiczna analiza skupień

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Systemy liczbowe używane w technice komputerowej

Text mining w programie RapidMiner Michał Bereta

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Agnieszka Nowak Brzezińska

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Oracle11g: Wprowadzenie do SQL

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Grupowanie danych. Wprowadzenie. Przykłady

Kodowanie informacji

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Wprowadzenie do informatyki - ć wiczenia

Aproksymacja funkcji a regresja symboliczna

Wykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik

Elementy modelowania matematycznego

Haszowanie. dr inż. Urszula Gałązka

0 + 0 = 0, = 1, = 1, = 0.

Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.

Temat: Algorytmy wyszukiwania wzorca w tekście

Java Podstawy. Michał Bereta

WYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI

Stan wysoki (H) i stan niski (L)

Agnieszka Nowak Brzezińska Wykład III

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Adrian Horzyk

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Pojęcie bazy danych. Funkcje i możliwości.

1 abbbaabaaabaa -wzorzec: aaba

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Języki formalne i automaty Ćwiczenia 6

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Analiza skupień. Analiza Skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Optymalizacja ciągła

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

16MB - 2GB 2MB - 128MB

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Przykładowe B+ drzewo

Instrukcja przygotowania pliku do deponowania

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Kody blokowe Wykład 1, 3 III 2011

Zaawansowane algorytmy i struktury danych

Charakterystyki oraz wyszukiwanie obrazów cyfrowych

Algorytmy przeszukiwania

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Kodowanie informacji. Kody liczbowe

Algorytmy sortujące i wyszukujące

Tablice z haszowaniem

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Od programu źródłowego do procesu

Temat: Algorytm kompresji plików metodą Huffmana

Systemy uczące się wykład 2

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Podstawy Informatyki dla Nauczyciela

Platforma e-learnigowa Moodle Testy i oceny

Transkrypt:

Bazy dokumentów tekstowych

Bazy dokumentów tekstowych Dziedzina zastosowań Automatyzacja bibliotek Elektroniczne encyklopedie Bazy aktów prawnych i patentów Szukanie informacji w Internecie Dokumenty tekstowe Ksiązki e-book Artykuły naukowe, gazetowe Dokumenty urzędowe Artykuły prawne E-maile Strony WWW Specyfika Dane są niestrukturalne lub semistrukturalne Wyszukiwanie przybliżone (niejednoznaczne) Ranking znalezionych dokumentów Pokrewne technologie informatyczne Wyszukiwanie informacji Wyszukiwanie tekstów Wyszukiwanie dokumentów Wyszukiwanie danych Wyszukiwarki Internetowe

Miary wyszukiwania dokumentów W przeciwieństwie do systemów baz danych wyszukiwanie dokumentów zazwyczaj nie jest dokładne. Jakość wyszukiwania dokumentu jest zależna od jakości modelu reprezentacji dokumentów tekstowych, algorytmów wyszukiwania oraz od jakości zapytania. Spełnienie warunków wyszukiwania dokumentów tekstowych, nie jest binarne. Wyniki wyszukiwania dokumentów: Nie znalezione, poprawne Znalezione, ale niepoprawne Poprawne dokumenty Znalezione, poprawne Znalezione dokumenty Ustalenie poprawności znalezionych dokumentów należy do osoby wyszukującej. Termin poprawność oznacza jedynie potencjalną użyteczność dokumentów.

Miary jakości wyszukiwania Powszechnie przyjęte jest stosowanie trzech miar jakości wyszukiwania w bazie dokumentów tekstowych. Precyzja: jaki procent znalezionych dokumentów jest poprawnych Precision = { poprawne} { znalezione} { znalezione} Czułość: jaki procent poprawnych dokumentów zostało znalezionych Recall = { poprawne} { znalezione} { poprawne} Fall-out: jaki procent znalezionych dokumentów jest niepoprawny { niepoprawne} { znalezione} Fall-out = { znalezione} Fall-out = 1 - Precision

Metody wyszukiwania tekstów Reprezentacja tekstu goły tekst dane niestrukturalne metadane opisujące tekst: zbiór słów kluczowych, klasyfikacja tekstów, wyróżnione fragmenty tekstu (tytuły, śródtytuły, czcionka tekstu), wskazania na dokument tekstowy reprezentacja tekstów przez ich sygnatury reprezentacja tekstów jako punktów w przestrzeni wielowymiarowej Klasy zapytań Szukanie za pomocą zapytania o wyrażenia logiczne (and or not) na słowach kluczowych o wagi przypisywane poszczególnym słowom o wyrażenia regularne Problemy: fleksja, liczba mnoga, synonimy, polisemia, brak naturalnej miary odległości (brak rankingu), słowa neutralne Szukanie za pomocą wzorcowych dokumentów tekstowych Metody wyszukiwania Pełny przegląd tekstu Pliki odwrócone na tekście lub na opisie tekstu Pliki sygnaturowe NN w przestrzeni wielowymiarowej

Pełny przegląd tekstu Wydajne metody wyszukiwania wzorcowego tekstu (w ogólności wyrażenia regularnego) w łańcuchu znaków: Algorytmy: Knutha-Morrisa-Pratta lub Boyera i Moora o liniowej złożoności obliczeniowej: length(pattern) + length(string); Złożoność algorytmu podstawowego to: length(pattern) * length(string) tekst: ALGORYTMY I STRUKTURY DANYCH wzorzec: TUR ALGORYTMY I STRUKTURY DANYCH +3 +3 +3 +3 +3 +2 TUR TUR TUR TUR TUR TUR TUR W danym kroku, przy braku dopasowania wyznaczane jest przesunięcie dla następnego kroku algorytmu.

Pełny przegląd tekstu Równoległe wyszukiwanie wielu słów; Tolerowanie błędów typowania słów wzorca poprzez wyszukiwanie wielu słów różniących się minimalnie od wzorca (ang. editing distance). Odległość Hamminga określająca odległość między dwoma ciągami o tej samej długości, jako liczbę różniących się symboli. HD(mama, tata) = 2 Odległość edycji dla dwóch tekstów jest minimalną liczbą operacji insert i delete, które pozwolą przekształcić jeden tekst w drugi. Dla dwóch tekstów x i y o długościach x i y odległość edycji wynosi: de(x,y)= x + y -2* LCS(x,y) gdzie LCS(x,y) jest najdłuższym wspólnym łańcuchem symboli zawartym w tekstach x i y. Na przykład, niech x='abcdefg', y='bcefh'. Wtedy: LCS(x,y) = bcef. de(x,y) = 7 + 5 2 * 4 = 4 Odległość Levenshteina - dla dwóch tekstów jest minimalna liczbą operacji insert, delete i update które pozwolą przekształcić jeden tekst w drugi.

Własności metody brak narzutu dodatkowych struktur danych brak narzutu dla operacji modyfikacji tekstów mała wydajność dla dużych zbiorów dokumentów

Pliki odwrócone Pliki/indeksy odwrócone (ang. inverted files/indexes) są specyficznym rodzajem indeksów pomocniczych (ang. secondary indices) zakładanych na poszczególnych słowach tekstów. Słownik Abisynia Listy wskaźników Baza tekstów Żegota Różne rozszerzenia i wariacje: liczniki częstości występowania słów; pomijanie słów pospolitych; listy synonimów w słowniku; uproszczony indeks (ang. coarse index) dwupoziomowy Glimps adresuje zbiory tekstów (mniej i krótsze wskaźniki); rozmiar indeksu jest równy 2-4% wielkości bazy danych tekstów Własności metody bardzo wydajne wyszukiwanie duży narzut na dodatkowe struktury danych (50-300%) duży narzut na operacje modyfikacji

Typy plików odwróconych Typy plików odwróconych Ze względu na typ używanych wskaźników nie-pozycyjne wskazania na dokumenty, jeden wskaźnik na cały dokument zawierający dane słowo częstościowy - wskazania na dokumenty poszerzone o liczbę wystąpień słowa, jeden wskaźnik na cały dokument zawierający dane słowo pozycyjne wskazania na wystąpienia słowa w tekście, wiele wskaźników na różne pozycje tego samego słowa Ze względu na sposób konstrukcji słownika słownikowe predefiniowany słownik dla bazy dokumentów tekstowych nie-słownikowe słowa występujące w indeksowanych tekstach

Przykładowa charakterystyka pliku odwró óconego (5GB)

Sygnatury tekstów Sygnatury są uproszczoną numeryczną reprezentacją tekstów. Dzięki temu zajmują mniej miejsca i koszt ich przeszukiwania jest znacznie mniejszy, niż pełny przegląd bazy danych tekstów. Wartość sygnatury jest zależna od słów występujących w tekście, natomiast nie jest zależna od kolejności i częstości ich występowania. Sygnatura tekstu jest generowana na podstawie sygnatur wszystkich różnych słów występujących w tekście. Dokładność odwzorowanie tekstu przez sygnaturę jest ograniczona. Różne teksty, zawierające różne słowa, mogą mieć takie same sygnatury. Pliki sygnatur reprezentujące zbiory tekstów są wykorzystywane jako filtr ograniczający rozmiar przeszukiwanego zbioru tekstów. Sposoby generowania sygnatur tekstu Konkatenacja sygnatur Sygnatura dokumentu jest tworzona jako sklejenie sygnatur wszystkich różnych słów występujących w dokumencie. dokument Ala ma małego kota sygnatury słów: 0000 0001 0010 0011 sygnatura dokumentu: 0000 0001 0010 0011 Szukanie dokumentów zawierających określone słowo polega na znalezieniu w pliku sygnatur wszystkich dokumentów, których sygnatura zawiera sygnaturę szukanego słowa.

Sygnatury tekstów Sposoby generowania sygnatur Kodowanie nałożone (ang. superimposed coding) Każdy tekst dzielony jest na logiczne bloki o tej samej liczbie różnych niepospolitych słów. Sygnatury słów mają stałą długość F. Każde słowo zajmuje w sygnaturze m bitów. Ustawione bity różnych słów mogą się pokrywać, unikalna jedynie jest ich kompozycja. Sygnatura bloków danego tekstu jest tworzona przez zastosowanie operacji OR na sygnaturach wszystkich słów w bloku. Sygnatura dokumentów jest tworzona przez konkatenację sygnatur bloków dokumentu. słowo sygnatura Ala 0000 0010 0000 0001 1000 ma 0001 0010 0100 0000 0000 kota 1110 0000 0000 0000 0000 blok 1111 0010 0100 0001 1000 Ala 0000 0010 0000 0001 1000 Szukanie polega na porównywaniu sygnatur podanych słów z sygnaturami bloków dokumentów. Znalezione dokumenty są w ogólności nadzbiorem szukanego zbioru. Zwrócony zbiór dokumentów może zawierać również niewłaściwe dokumenty (ang. false drops).

Optymalizacja parametrów plików sygnatur Jakość szukania za pomocą plików sygnatur jest określona przez skuteczność ograniczenia rozmiaru przeszukiwanego zbioru dokumentów. Można ją oszacować jako proporcję rozmiaru szukanego zbioru dokumentów do rozmiaru znalezionego zbioru. Jakość szukania jest zależna od przyjętych parametrów sygnatur. Koszt szukania: Koszt = Funkcja(F, m, D blok ) gdzie: F - rozmiar sygnatur słów; m - liczba jedynek w pojedynczym słowie; D blok rozmiar bloków mierzony liczbą różnych słów. Prawdopodobieństwo false-drops Liczba jedynek w pojedynczym słowie Własności metody wydajne wyszukiwanie mały narzut na dodatkowe struktury danych ( 10%) mały narzut na operacje modyfikacji wymaga umiejętnego zaprojektowania

Wektorowa reprezentacja tekstów Dokumenty są reprezentowane jako N-wymiarowe wektory, gdzie N jest liczbą wszystkich pojęć (słów kluczowych) znajdujących się w bazie dokumentów. Wektory mogą być mapami bitowymi; 1 oznacza występowanie, a 0 brak danego pojęcia w dokumencie; lub wektorami liczbowymi, gdzie poszczególne wartości reprezentują liczbę wystąpień danego słowa w dokumencie. Przykład: Dana jest przestrzeń wielowymiarowa MD = <algorytmy, analizy, metody, grupowanie> Tekst: Algorytmy analizy skupień dzieli się na szereg kategorii: Większość metod analizy skupień to metody iteracyjne, wśród których najczęściej używane to metody kombinatoryczne: aglomeracyjne i deglomeracyjne. jest reprezentowany przez wektor logiczny: <1, 1, 1, 0 > lub wektor liczbowy: <1, 2, 2, 0 >

Własności reprezentacji wektorowej Nie oddaje kolejności występowania poszczególnych słów w tekście Dla dużej liczby wymiarów wektory reprezentujące teksty są bardzo rzadkie, tzn. większość składowych wektorów ma wartość równą zero. Pozwala na wyszukiwanie za pomocą zapytania i za pomocą wzorcowych tekstów. Zapytania muszą być reprezentowane za pomocą wektorów. Reprezentacja wektorowa charakteryzuje się naturalną miarą odległości między tekstami. Pozwala to na ustalenie rankingu znalezionych tekstów oraz na wyszukiwanie przybliżone.

Miary odległości tekstów Odległość kosinusowa Poszczególne teksty są punktami w przestrzeni wielowymiarowej określonej przez słowa występujące w tekstach. Kąt między wektorami tekstów reprezentuje ich podobieństwo. cos(v1, v2) = v v1 v 2 1 2 Jeżeli kąt między wektorem zapytania i wektorem danego dokumentu lub między wektorami dwóch dokumentów są równe zero, to odległość kosinusowa jest równa 1. Zapytanie o teksty o algorytmach grupowania przetransformowane do postaci wektorowej: Q = <1,0,0,1> Wyszukiwane są teksty, o najmniejszej odległości kosinusowej od wektora zapytania. Teksty mogą zostać uporządkowane ze względu na zmniejszającą się odległość kosinusową. v Słowo 3 tekst 2 tekst 1 α Słowo 2 Słowo 1

Wagi słów Baza danych jest dużą kolekcją danych. Ania jest dużą dziewczynką. Które współdzielone słowa są istotne dla podobieństwa tekstów? Waga TF (term frequency) reprezentuje częstość występowania słowa w tekście. Waga TF preferuje długie teksty i nie oddaje siły dyskryminacji poszczególnych słów. Waga IDF (inverse document frequency) - reprezentuje siłę dyskryminacji tekstów przez dane słowo. IDF = log (N/n j ) gdzie: N jest liczbą wszystkich tekstów, a n j liczbą tekstów, w których występuje dane słowo. Waga słowa w wektorze reprezentującym dany tekst jest iloczynem wag TF i IDF. Baza danych jest dużą kolekcją danych <Ania, baza, dana, duża, dziewczyna, jest, kolekcja> <0*0.3, 1*0.3, 2*0.3, 1*0, 0*0.3, 1*0, 1*0.3> <0, 0.3, 0.6, 0, 0, 0, 0.3>