Wyszukiwanie tekstów

Podobne dokumenty
Bazy dokumentów tekstowych

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

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

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

Indeksy w hurtowniach danych

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

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

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

Wstęp do przetwarzania języka naturalnego

Haszowanie. dr inż. Urszula Gałązka

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

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

Systemy GIS Tworzenie zapytań w bazach danych

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

Wprowadzenie do uczenia maszynowego

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

Kurs MATURA Z INFORMATYKI

Elementy modelowania matematycznego

Metody indeksowania dokumentów tekstowych

Architektura mikroprocesorów TEO 2009/2010

Kody blokowe Wykład 2, 10 III 2011

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

Wyszukiwanie informacji w internecie. Nguyen Hung Son

Dr Michał Tanaś(

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

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

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

Adrian Horzyk

Hierarchiczna analiza skupień

Definicja pliku kratowego

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

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

Text mining w programie RapidMiner Michał Bereta

1.1. Pozycyjne systemy liczbowe

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

Systemy liczbowe używane w technice komputerowej

Optymalizacja poleceń SQL Metody dostępu do danych

Kodowanie informacji

Akwizycja i przetwarzanie sygnałów cyfrowych

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Oracle11g: Wprowadzenie do SQL

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

Algorytmy i struktury danych. wykład 9

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

Tablice z haszowaniem

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

Anna Osiewalska Biblioteka Główna Uniwersytetu Ekonomicznego w Krakowie

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

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

Stan wysoki (H) i stan niski (L)

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Tablice z haszowaniem

Języki formalne i automaty Ćwiczenia 6

Numeryczna algebra liniowa

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

Indeksowanie full text search w chmurze

Charakterystyki oraz wyszukiwanie obrazów cyfrowych

Grupowanie danych. Wprowadzenie. Przykłady

Porównanie systemów zarządzania relacyjnymi bazami danych

Algorytmy przeszukiwania wzorca

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

TEORETYCZNE PODSTAWY INFORMATYKI

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

16MB - 2GB 2MB - 128MB

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

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

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

Optymalizacja ciągła

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Hybrydowa metoda rekomendacji dokumentów w środowisku hipertekstowym

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

dr inż. Jarosław Forenc

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

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

Od programu źródłowego do procesu

Java Podstawy. Michał Bereta

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

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

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Analiza metod wykrywania przekazów steganograficznych. Magdalena Pejas Wydział EiTI PW

Zadania. Przygotowanie zbiorów danych. 1. Sposób 1: 2. Sposób 2:

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

TEORETYCZNE PODSTAWY INFORMATYKI

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

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

Prawdopodobieństwo i statystyka

Haszowanie (adresowanie rozpraszające, mieszające)

Wyszukiwanie i Przetwarzanie Informacji Information Retrieval & Search

Agnieszka Nowak Brzezińska Wykład III

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.

Algorytmy i struktury danych. wykład 8

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Transkrypt:

Wyszukiwanie tekstów Dziedzina zastosowań Elektroniczne encyklopedie Wyszukiwanie aktów prawnych i patentów Automatyzacja bibliotek Szukanie informacji w Internecie Elektroniczne teksy Ksiązki e-book Artykuły naukowe, gazetowe Dokumenty Artykuły prawne E-maile Strony WWW Specyfika Dane są niestrukturalne lub semistrukturalne Wyszukiwanie przybliżone 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 nie musi być dokładne. Jakość wyszukiwania dokumentu jest zależna od jakości jego opisu, to jest klasyfikacji tekstu i skojarzonego z nim zbioru słów kluczowych. Wyniki wyszukiwania dokumentów: Nie znalezione, poprawne Znalezione, ale niepoprawne Poprawne dokumenty Znalezione, poprawne Znalezione dokumenty

Miary jakości wyszukiwania 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 zbiór słów kluczowych sygnatury tekstów reprezentacja wektorowa 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 szukanie przybliżone o wyrażenia regularne Problemy: fleksja, liczba mnoga, synonimy, polisemia, brak naturalnej miary odległości (brak rankingu) Szukanie za pomocą tekstów o na podstawie podobieństwa tekstów Metody wyszukiwania Pełny przegląd tekstu Pliki odwrócone Pliki sygnaturowe NN w przestrzeni wielowymiarowej Grupowanie

Pełny przegląd tekstu Wydajne metody wyszukiwania wzorcowego tekstu (w ogólności wyrażenia regularnego) w łańcuchu znaków: Algorytm Boyera i Moora o liniowej złożoności obliczeniowej (length(pattern) + length(string)); Równoległe wyszukiwanie wielu słów; Tolerowanie błędów typowania słów wzorca poprzez wyszukiwanie pozycji wielu słów różniących się minimalnie od wzorca (ang. editing distance). Odległość edycji dla dwóch tekstów jest minimalna 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 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 odwrócone (ang. inverted files) 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

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 1110 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 jako skuteczność ograniczenia rozmiaru przeszukiwanego zbioru dokumentów. Można ją oszacować jako proporcję rozmiaru szukanego zbioru dokumentów do rozmiaru znalezionego zbioru. Jakość filtrowania 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 bitów zapalanych przez pojedyncze słowo; D blok rozmiar bloków mierzony liczbą różnych słów. Prawdopodobieństwo false-drops Długość sygnatur słów Własności metody wydajne wyszukiwanie mały narzut na dodatkowe struktury danych (10%) mały narzut na operacje modyfikacji łatwość zrównoleglenia wymaga umiejętnego zastosowania

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. Wydajna fizyczna implementacja tekstów może być realizowana za pomocą plików przestawnych. Pozwala na wyszukiwanie za pomocą zapytania i za pomocą 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 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) = v1 v 2 v1 v2 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 przetransformowane do postaci wektorowej: Q = <1,0,0,0> 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ą. 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 prze dane słowo. IDF = 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 danych tekst jest iloczynem wag TF i IDF.