Propozycja rozszerzenia składni zapytań programu Poliqarp o elementy statystyczne



Podobne dokumenty
WK, FN-1, semestr letni 2010 Tworzenie list frekwencyjnych za pomocą korpusów i programu Poliqarp

STATYSTYKA OPISOWA Przykłady problemów statystycznych: - badanie opinii publicznej na temat preferencji wyborczych;

Statystyka matematyczna i ekonometria

TP1 - TABELE PRZESTAWNE od A do Z

Korpusomat narzędzie do tworzenia przeszukiwalnych korpusów języka polskiego

Wykład 4: Statystyki opisowe (część 1)

Dopasowywanie modelu do danych

OnLine Analytical Processing (OLAP) Zapytania SQL

Excel formuły i funkcje

Generowanie ciągów pseudolosowych o zadanych rozkładach przykładowy raport

KARTA KURSU. (do zastosowania w roku ak. 2015/16) Kod Punktacja ECTS* 4

Morfeusz 2 analizator i generator fleksyjny dla języka polskiego

Porównywanie populacji

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

Systemy GIS Tworzenie zapytań w bazach danych

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

OLAP i hurtownie danych c.d.

Wykład 2: Grupowanie danych (szeregi statystyczne) + porady dotyczące analizy danych w programie STATISTICA

Wykład 5: Statystyki opisowe (część 2)

Ogólne zasady projektowania algorytmów i programowania

STATYSTYKA OPISOWA. Przykłady problemów: - badanie opinii publicznej na temat preferencji wyborczych;

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Elementy modelowania matematycznego

Żurek INFOBroker. Szkolenia warsztaty konsultacje MS Excel. tel

Podstawowe funkcjonalności interfejsu. - co warto wiedzieć o interfejsie Mozart-a

Zautomatyzowane tworzenie korpusów błędów dla języka polskiego

Synchroniczne wprowadzanie kontrahentów - SWK Moduł VBA do Symfonia FK Forte.

Bazy danych. Andrzej Łachwa, UJ, /15

Rozkład materiału nauczania

PROGRAM SZKOLENIA. Excel w Analizach danych.

SQL (ang. Structured Query Language)

Sposoby prezentacji problemów w statystyce

Przestrzenne bazy danych Podstawy języka SQL

Podstawowym zadaniem, które realizuje

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Mikroekonometria 9. Mikołaj Czajkowski Wiktor Budziński

W kolejnym kroku należy ustalić liczbę przedziałów k. W tym celu należy wykorzystać jeden ze wzorów:

POJĘCIA WSTĘPNE. STATYSTYKA - nauka traktująca o metodach ilościowych badania prawidłowości zjawisk (procesów) masowych.

TEORETYCZNE PODSTAWY INFORMATYKI

Spis treści 3 SPIS TREŚCI

PODYPLOMOWE STUDIA ZAAWANSOWANE METODY ANALIZY DANYCH I DATA MINING W BIZNESIE

PROGRAM SZKOLENIA. Excel Średniozaawansowany z wprowadzeniem do tabel przestawnych i makr.

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

KorBa. Elektroniczny korpus tekstów polskich XVII i XVIII w. (do 1772 r.) Renata Bronikowska Instytut Języka Polskiego Polska Akademia Nauk

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Język SQL. Rozdział 2. Proste zapytania

Zapytania do baz danych

Investing f or Growth

Analiza sezonowości. Sezonowość może mieć charakter addytywny lub multiplikatywny

Program Szkolenia. Excel Podstawowy. COGNITY praktyczne, skuteczne szkolenia i konsultacje

EXSO-CORE - specyfikacja

Statystyki: miary opisujące rozkład! np. : średnia, frakcja (procent), odchylenie standardowe, wariancja, mediana itd.

Model EWD dla II etapu edukacyjnego.

QUERY język zapytań do tworzenia raportów w AS/400

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

Backend Administratora

WYKRESY SPORZĄDZANE W UKŁADZIE WSPÓŁRZĘDNYCH:

Program szkolenia EXCEL ŚREDNIOZAAWANSOWANY.

Program szkoleniowy. 16 h dydaktycznych (12 h zegarowych) NAZWA SZCZEGÓŁY CZAS. Skróty do przeglądania arkusza. Skróty dostępu do narzędzi

Podstawy obsługi arkusza kalkulacyjnego Excel

Wykład 3: Prezentacja danych statystycznych

Wydział Matematyki. Testy zgodności. Wykład 03

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Program szkolenia EXCEL OD PODSTAW POPOŁUDNIOWY (WIECZOROWY)

Microsoft Excel 2013: Budowanie modeli danych przy użyciu PowerPivot

Zarządzanie kontaktami

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

WPROWADZENIE DO BAZ DANYCH

Grzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki Promotor dr inż. Paweł Figat

INFORMATYKA W ZARZĄDZANIU Arkusz kalkulacyjny MS EXCEL. Ćwiczenie 5 MS EXCEL. Zmiana rodzajów odwołania podczas kolejnych naciśnięć klawisza F4

I. Program II. Opis głównych funkcji programu... 19

Program szkolenia EXCEL W ANALIZACH DANYCH.

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Wykładowcy Wykład Ćwiczenia Laboratorium Projekt Seminarium Egzamin Kolokwium

Szkolenie autoryzowane. MS Tworzenie zapytań do Microsoft SQL Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

serwisy W*S ERDAS APOLLO 2009

Regresja logistyczna (LOGISTIC)

Funkcjonalność słów kluczowych pozwala na przypisanie zestawu słów do wykładowców, grup i sal, w celach wyszukiwania danych.

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

KARTA KURSU. Kod Punktacja ECTS* 1

Statystyka opisowa. Literatura STATYSTYKA OPISOWA. Wprowadzenie. Wprowadzenie. Wprowadzenie. Plan. Tomasz Łukaszewski

Maciej Piotr Jankowski

Szczegółowy program kursu Statystyka z programem Excel (30 godzin lekcyjnych zajęć)

Oracle11g: Wprowadzenie do SQL

RELACYJNE BAZY DANYCH

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

WIELKA SGH-OWA POWTÓRKA ZE STATYSTYKI ROZKŁAD EMPIRYCZNY

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Relacyjne bazy danych. Podstawy SQL

Program dla praktyki lekarskiej

Algorytm selekcji Hoare a. Łukasz Miemus

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

BASH - WPROWADZENIE Bioinformatyka 4

Transkrypt:

Propozycja rozszerzenia składni zapytań programu Poliqarp o elementy statystyczne Aleksander Buczyński 2006.06.26

Poliqarp - stan obecny Zwracane są kolejne konteksty wystąpień ciągów segmentów pasujących do wzorca zadanego w zapytaniu. Taka forma wyników pozwala na znajdowanie przykładów użycia konkretnej konstrukcji, ale można sobie wyobrazić szereg problemów korpusowych, dla których przeglądanie setek kolejnych kontekstów może być mało wygodne, np. Jakie części mowy mogą występować bezpośrednio po w? Jakie czasowniki są wykorzystywane najczęściej w tekstach ustaw? Jaki jest rozkład częstości form danego leksemu?

Propozycja Do zapytania dodajemy opcjonalny element GROUP BY, informujący o tym, że nie interesują nas konteksty poszczególnych wystąpień, ale częstość określonych zjawisk w rezultatach oryginalnego zapytania (np. form danego rzeczownika, albo czasowników występujących po danym wyrazie).

Przykłady prostych zapytań Zapytanie o częstość występowania poszczególnych form leksemu woda: [base=woda] group by orth Jw., ale z rozbiciem na liczby i przypadki: [base=woda] group by number, case Jw., ale tak, by w tabelce wyników pojawiła się również forma odpowiadająca danej liczbie i przypadkowi: [base=woda] group by number, case, orth

Zapytania obejmujące kilka segmentów Częstość występowania poszczególnych czasowników w formach finitywnych po wyrazie woda: [base=woda][pos=fin] group by 2.base Jw., ale z dopuszczeniem przysłówka pomiędzy wodą a czasownikiem: [base=woda][pos=adv]{0,1}[pos=fin] group by -1.base -1. oznacza tutaj pierwszy segment od końca wyniku. Analogicznie -2. oznaczałby drugi segment od końca, -3. trzeci itd.

Zapytania obejmujące kilka segmentów (2) Częstości występowania trójek przysłówków obok siebie: [pos=adv]{3} group by 1.base, 2.base, 3.base Lub: [pos=adv]{3} group by base, 2.base, 3.base

Sortowanie wyników sort by freq według częstości wystąpień sort a fronte alfabetycznie sort a tergo (w planach) alfabetycznie od końca sort??? (w planach) w naturalnym porządku tagsetu (np. kolejne przypadki, rodzaje, liczby niekoniecznie alfabetycznie)

Selekcja wyników min n tylko wyniki powtarzające się co najmniej n razy

Wieloznaczności Domyślnie wybierana jest losowa interpretacja spośród ujednoznacznionych (lub wszystkich w zależności od konfiguracji poliqarpa). Alternatywnie: [base mieć] group by base interp combine Inny pomysł interp all traktowanie wieloznaczności jak wszystkie interpretacje (wyniki mogłyby sumować się wtedy do więcej niż 100%).

Kolokacje Za pomocą wyżej opisanej składni da się wyrazić proste zapytania o kolokacje, np. [][] group by base, 2.base sort by freq Ważna jest także częstość wystąpień składowych kolokacji: [][] group by base; 2.base sort by freq Symetryczne prawdopodobieństwo warunkowe: [][] group by base; 2.base sort by scp Ze skrzywieniem: [][] group by base; 2.base sort by scp bias 0.5 Lub tradycyjnie: [][] group by base; 2.base sort by scp min 2

Kolokacje (2) Funkcje kolokacji mogą korzystać z: c liczby wystąpień c1 liczby wystąpień pierwszego składnika (wyznaczonego przez część grupowania do średnika) c2 liczby wystąpień drugiego składnika Na próbę zaimplementowano: CP prawdopodobieństwo warunkowe SCP symetryczne prawdopodobieństwo warunkowe MAXCP maksymalne prawdopodobieństwo warunkowe DICE test Dice a

Prototyp Na razie zaimplementowana została prosta nakładka na klienta graficznego wyrzucająca wyniki statystyczne w konsoli. Potrafi grupować wg orth, base i pos.

Format wyników Wynikiem zapytania z grupowaniem prostym jest tabela o k + 1 kolumnach i p wierszach, gdzie: k liczba parametrów po group by p v 1 v 2...v k (v i - liczba możliwych wartości i-tego parametru) Pierwsze k kolumn zawiera odpowiednie wartości kategorii; Ostatnia ilość wystąpień o parametrach określonych we wcześniejszych kolumnach. Zapewne przydałaby się także częstość względną ilość dotychczas znalezionych wystąpień podzielona przez liczbę dotychczas przeszukanych segmentów. Dla kolokacji dochodzą dodatkowe 2-3 kolumny (częstość wystąpień składników + ew. obliczona miara).

Technikalia Raz obliczone wyniki zapytania mogą być grupowane wielokrotnie wg różnych kryteriów. Domyślnie statystyka tworzona jest na podstawie próbki 1000 (prawie) losowo wybranych trafień, można zmienić dodając np. count 10000 albo count all. Domyślnie pokazywanych jest max. 20 wyników, można zmienić dodając np. display 100 albo display all. Jest problem z niezamawianą transmisją kontekstów, jak się go rozwiąże, to program powinien nieco przyśpieszyć. Po stronie serwera ograniczenie do 500000 trafień.

Czego składnia nie obejmie? [warunek1][]{,m}[warunek2][]{,n}[warunek3] group by warunek1, warunek2 (lub warunek2, warunek 3) Czy tego typu zapytania byłyby popularne?

Możliwe modyfikacje składni Marcin Woliński numerować części zapytania, nie tylko segmenty wyniku, np. [warunek1][]{,m}[warunek2][]{,n}[warunek3] group by 1.1.base, 3.1.base Łukasz Dębowski dodać możliwość etykietowania fragmentów zapytania, np. ([warunek1])/a []{,m} ([warunek2])/b []{,n} [warunek3] group by A.1.base, B.1.base Problem: obie modyfikacje wymagają wprowadzenia zmian na wszystkich poziomach Poliqarpa, tak by przy wyszukiwaniu i przekazywaniu zachowywać informację, który fragment zapytania odpowiada któremu fragmentowi wyniku.

Grupowanie po metadanych Częstość używania słowa woda przez poszczególnych autorów: woda group by meta.author Porównanie częstości dopełniacza i biernika w poszczególnych stylach: [case="gen acc"] group by meta.supercat, case

Grupowanie po metadanych uwagi Przydałoby się... 1 Przetasować korpus przed zindeksowaniem. 2 Podając częstość względną porównywać liczbę dotychczas znalezionych wyników nie z całkowitą ilością przejrzanych segmentów, ale z liczbą przejrzanych segmentów pasującą do określonych metadanych. 3 Dopuścić w protokole możliwość przesyłania metadanych od razu z segmentami, bez dodatkowego odpytywania. 4 Stworzyć nową konstrukcję dla przedziałów czasowych, np: ustawa group by meta.published(,1950,1990,2000,) albo dodać aliasy podziału chronologicznego, np. ustawa group by meta.published.century

Efektywność zapytań Z pierwszych eksperymentów z profilowaniem wynika, że większość czasu zajmuje sprawdzenie jaki ciąg segmentów odpowiada poszczególnym trafieniom, operacje wykonywane przez sam moduł statystyczny liczą się szybko. Obecne rozwiązanie: jest dobre dla zapytań specjalistycznych (z relatywnie niedużą ilością trafień); kiepsko się nadaje do zapytań ogólnych (z dużą ilością trafień); byłoby dobre dla szybkiego znajdowania przybliżonych wyników zapytań ogólnych pod warunkiem przetasowania korpusu.

Zapytania ogólne - co z tym można zrobić? Nowe indeksy (ew. zupełnie nowy interfejs) dla zapytań o [], [][] itp. Jednorazowo obliczyć wyniki dla najbardziej typowych / sensownych zapytań i udostępniać je niezależnie od wyszukiwarki, np.: [] group by base sort by freq [] group by base, meta.supercat sort a fronte min 20 [][] group by base; 2.base sort by scp bias 0.5 Przenieść moduł statystyczny na stronę serwera (wcześniej: sprawdzić czy to ma sens). Wbudować statystyki w konstrukcje automatu rozpoznającego wyrażenie regularne (ryzyko wywołania nowej fali błędów). Prosić użytkowników o przysyłanie logów z zapytaniami, by stwierdzić, na jakie optymalizacje jest tak naprawdę zapotrzebowanie.

Luźne pomysły na przyszłość dodatkowe (pseudo)atrybuty np. długość wyniku w segmentach, długość segmentu w literach dwuwymiarowa wizualizacja wyników Document Frequency / RIDF średnia, mediana itp. wyników