ReadMe.txt Pytania i odpowiedzi z serwisu wikipedyjnego "Czy wiesz", wersja 2.0. Zbiór wzbogacono o oznaczenie konkretnych fragmentów zawierających odpowiedź na wskazane pytania. Wszystkie wskazane fragmenty zostały zweryfikowane przez człowieka. Niektórym pytaniom przypisano wiele fragmentów. Zbiór udostępniany jest na licencji Creative Commons Uznanie Autorstwa, na tych samych warunkach 3.0 (CC-BY-SA 3.0). Instytut Informatyki, Politechnika Wrocławska, 2013-2014 Osoby zaangażowane w projekt: * Burdka Łukasz * Hryńczak Justyna * Jakubaszek Maja * Juros Agata * Marcińczuk Michał * Piasecki Dominik * Piasecki Maciej * Pilarska Aleksandra * Ptak Marcin * Radziszewski Adam * Rychlikowski Paweł * Tokarczyk Barbara * Zięba Tomasz Data publikacji: 26.02.2014r. Wersja 1.1: 30.09.2013r. Celem zbioru jest testowanie i rozwój systemów typu Question Answering dla języka polskiego. Liczymy na to, że dzięki udostępnieniu zarówno pytań, jak i całej kolekcji testowej (całej Wikipedii z wybranego zrzutu), możliwe będzie przeprowadzenie różnych eksperymentów w tych samych warunkach, dzięki czemu wyniki będą ze sobą bezpośrednio porównywalne. Dane w wersji 1.1 opisane były w następujący sposób: * Z serwisu Czywiesz pozyskaliśmy pary pytanie–odpowiedź. * Pytanie jest zdaniem pytającym. Część pytań odrzuciliśmy na etapie filtrowania (szczegóły poniżej). * Odpowiedź jest stroną polskiej Wikipedii. * W zbiorze załączamy również całą polską Wikipedię ze zrzutu z 22.01.2013. Dokumenty wikipedii zostały poddane wstępnej obróbce i zapisane są w prostym formacie XML zawierającym tekst podzielony na akapity (pre_morph). * Pytania sparowane są z odpowiedziami w plikach CSV (plik wskazuje m.in. ścieżkę do pliku XML zawierającego dokument odpowiedzi w załączonym zrzucie Wikipedii. * Plik CSV podzielony jest na dwie części: rozwojową (dev) i do właściwej oceny (eva). Wskutek pomyłki te części zamieniły swoją rolę w obecnej wersji, czytaj poniżej. * Te dane dostępne są w paczce w postaci plików CSV. Ale to nie wszystko. Na czym polega ręczna weryfikacja wprowadzona w wersji 2.0? * W wersji 1.0 i 1.1 pary pytanie–odpowiedź wzięte były z serwisu Czywiesz. Dla każdego pytania była dokładnie jedna poprawna odpowiedź i był nią cały dokument (artykuł z Wikipedii, tyle informacji udało się pozyskać z serwisu Czywiesz). Weryfikacji człowieka poddawana była treść pytań, lecze nie treść odpowiedzi. * Podczas testów systemu okazywało się wielokrotnie, że system zwraca sensowną odpowiedź, która nie jest uznana w zbiorze za dobrą (dla każdego pytania zbiór uznawał tylko jeden dokument za poprawny). Możliwa jest również sytuacja odwrotna: system wskazuje fragment niezawierający sensownej odpowiedzi, ale fragment ten należy do dokumentu oznaczonego w zbiorze 1.0 jako dokument niosący prawidłową odpowiedź. W takim ujęciu nie było możliwości weryfikacji. * Idealnie byłoby mieć pary pytanie–fragment z odpowiedzią dla wszystkich pytań ze zbioru i dla wszystkich fragmentów z całej Wikipedii, które zawierają odpowiedź. Przygotowanie takiego zbioru wraz z pełną weryfikacją to zadanie niewykonalne, dlatego przyjęliśmy znaczące uproszczenia. * Główny zbiór (annotations/results/czywiesz-eva-I-250-approved.json) opiera się na 250 wylosowanych pytaniach. Dla każdego z nich uruchomiliśmy roboczą wersję systemu. Wyjściem systemu dla każdego pytania była uszeregowana wg trafności (zdaniem systemu) lista 200 dokumentów z wikipedii wraz z oznaczeniem fragmentu pięciozdaniowego, który zdaniem systemu zawiera najlepszą odpowiedź. Każda z odpowiedzi systemu została zweryfikowana przez człowieka (250 pytań razy 200 odpowiedzi). Wynikiem weryfikacji jest akceptacja bądź odrzucenie odpowiedzi. W przypadku akceptacji osoba oceniająca dokonywała także korekty zakresu fragmentu (z dokładnością do pełnych zdań). Wynikiem jest więc zbiór par pytanie–odpowiedź, gdzie na jedno pytanie może być wiele odpowiedzi, a odpowiedzią jest para (dokument, fragment zawierający odpowiedź). * Uproszczenie procedury oceny mogło spowodować pominięcie poprawnych odpowiedzi. Po pierwsze, jeśli dokument zawierający prawidłową odpowiedź nie znalazł się na liście rankingowej zwróconej przez system (zawierającej 200 dokumentów), to odpowiedź nie została znaleziona. Po drugie, jeśli system wskazał nieprawidłowy fragment w ramach prawidłowego dokumentu, to osoby znakujące nie miały możliwości go znaleźć. * Uznaliśmy, że przejrzenie wszystkich dokumentów potencjalnie zawierających odpowiedzi byłoby jednak zbyt czasochłonne oraz mało wiarygodne — trudno byłoby zmotywować osoby znakujące, by uważnie czytały każdy fragment strony i nie pominęły szczegółów. * Załączamy też pomocniczy, rozwojowy zbiór. Zawiera on 1347 wylosowanych pytań (innych niż w zbiorze głównym). Dla każdego z nich braliśmy tylko 10 pierwszych odpowiedzi systemu i odpowiedzi te były ręcznie weryfikowane (w sposób identyczny, jak w przypadku zbioru głównego). Ten zbiór ma służyć do celów rozwojowych, m.in. do optymalizacji parametrów systemu (systemów). * Wskutek pomyłki zamieniliśmy nazwy części rozwojowej (dev) i części do oceny właściwej (eva). Od wersji 2.0 wersją do oceny właściwej (eva) nazywamy ten zbiór, który w poprzednich wersjach nazywał się dev. Nazwy zmieniliśmy konsekwentnie we wszystkich plikach. Pytania poddane ręcznej ocenie w zbiorze czywiesz-eva-I-250-approved są więc podzbiorem pytań pochodzących bezpośrednio ze zbioru Czywiesz, części eva (czywiesz-eva-2361.csv). Przepraszamy za pomyłkę. Różnice z wersją 1.1: - w katalogu source dokonano podziału na katalogi * extraction - katalog z listami wszystkich poprawnych pytań * development - katalog z listami pytań służącymi do sprawdzenia postępów prac nad systemem QA (wersja rozwojowa — dev) * evaluation - katalog z listami pytań służącymi do oceny jakości systemu QA (do oceny właściwej — eva) * removed - katalog z listami pytań odrzuconych w procesie weryfikacji ich poprawności * incorrect - katalog z listami pytań ze zbioru czywiesz, które okazały się niepoprawnymi pytaniami, znalezionymi po opublikowaniu paczki Czywiesz w wersji 1.1, które nie zostały usunięte z końcowego zbioru pytań, aby nie zaburzać jego struktury - zmieniono nazewnictwo i lokalizację plików w katalogu source: * czywiesz.csv ---> czywiesz.csv * questions.txt ---> extraction/questions.txt * questions_links.txt ---> extraction/questions_links.txt * removed.txt ---> removed/removed.txt * czywiesz-dev250.csv ---> evaluation/czywiesz-eva-I-250.csv * czywiesz-dev2360.csv ---> evaluation/czywiesz-eva-all-2360.csv * czywiesz-eva2361.csv ---> development/czywiesz-dev-all-2361.csv Zmiana nazewnictwa wynikła z naszej pomyłki. Zbiór, który w wersji 1.1 traktowany był jako rozwojowy omyłkowo trafił do oceny ręcznej. Nie było możliwości tak szczegółowej oceny drugiej części, więc postanowiliśmy zamienić nazwy — tak szczegółowo oceniony ręcznie zbiór powinien być zbiorem do oceny właściwej a nie zbiorem rozwojowym. Zbiór rozwojowy został również oceniony ręcznie w kilku transzach, transze te scaliliśmy i powstał w ten sposób zbiór zawierający ręczną ocenę 1347 pytań ale na poziomie jedynie pierwszych 10 odpowiedzi systemu (annotations/results/czywiesz-dev-merged-1347-approved.json, patrz poniżej). (NOWE!) - dodano nowe pliki * source/development/czywiesz-dev-I-250.csv * source/development/czywiesz-dev-II-250.csv * source/development/czywiesz-dev-III-250.csv * source/development/czywiesz-dev-IV-597.csv * source/incorrect/incorrect.csv (NOWE!) - dodano oznaczenia człowieka, weryfikujące zawieranie odpowiedzi na pytanie prez dokumenty odpowiedzi * annotations/ * annotations/README - opis zawartości katalogu annotations * annotations/czywiesz.json - plik ze słownikiem dla pytań ze zbioru source/czywiesz.csv (id pytania --> treść pytania) * annotations/czywiesz-dev-all-2360.json - plik ze słownikiem dla pytań ze zbioru source/development/czywiesz-dev-all-2360.csv (id pytania --> treść pytania) * annotations/czywiesz-eva-all-2361.json - plik ze słownikiem dla pytań ze zbioru source/evaluation/czywiesz-eva-all-2361.csv (id pytania --> treść pytania) * annotations/results - katalog zawierający oznaczenia człowieka, zapisane w formacie JSON (struktury plików -> ReadMe.txt: l. 180) * annotations/database_dumps - katalog zawierający dumpy bazy danych Annotatora - systemu pozwalającego na ocenianie dokumentów odpowiedzi pod kątem zawierania przez nie odpowiedzi na pytanie (struktury danych -> ReadMe.txt: l. 159) * annotations/results/czywiesz-eva-I-250-all.json - plik z informacjami o wszystkich oznaczonych dokumentach odpowiedzi dla pytań z podzbioru source/evaluation/czywiesz-eva-I-250.csv * annotations/results/czywiesz-eva-I-250-approved.json - plik z informacjami wyłącznie o dokumentach odpowiedzi zawierających odpowiedź na pytania z podzbioru source/evaluation/czywiesz-eva-I-250.csv * annotations/results/czywiesz-dev-merged-1347-all.json - plik z informacjami o wszystkich oznaczonych dokumentach odpowiedzi dla pytań z podzbioru source/development/czywiesz-dev-(I-IV)*.csv * annotations/results/czywiesz-dev-merged-1347-approved.json - plik z informacjami wyłącznie o dokumentach odpowiedzi zawierających odpowiedź na pytania z podzbioru source/development/czywiesz-dev-(I-IV)*.csv * annotations/database_dumps/czywiesz-eva-I-250.dump - dump bazy danych dla podzbioru source/development/czywiesz-eva-I-250.csv. * annotations/database_dumps/czywiesz-dev-merged-1347.dump - dump bazy danych dla podzbiorów source/development/czywiesz-dev-(I-IV)*.csv (NOWE!) - dodano skrypty, pozwalające odczytywać dane annotacji, zapisane w formacie JSON oraz zapisywać informacje w tym formacie na podstawie dumpów bazy danych Annotatora * scripts/ * scripts/README - opis zawartości katalogu scripts * scripts/json_readers - katalog ze skryptami pythonowymi, pozwalającymi na odczyt danych zapisanych w formacie JSON * scripts/json_writers - katalog ze skryptami pythonowymi, pozwalającymi na zapis danych do formatu JSON na podstawie dumpów bazy danych annotatora * scripts/json_readers/all_answers_reader.py - skrypt odczytujący dane z formatu JSON dla plików z przyrostkiem "-all" * scripts/json_readers/approved_answers_reader.py - skrypt odczytujący dane z formatu JSON dla plików z przyrostkiem "-approved" * scripts/json_readers/questions_reader.py - skrypt odczytujący dane z formatu JSON dla słowników pytań * scripts/json_writers/all_answers_writer.py - skrypt zapisujący dane do formatu JSON z informacją o wszystkich oznaczonych dokumentach odpowiedzi * scripts/json_writers/approved_answers_writer.py - skrypt zapisujący dane do formatu JSON z informacją wyłącznie o dokumentach odpowiedzi zawierających odpowiedź na zadane pytanie * scripts/json_writers/questions_writer.py - skrypt zapisujący do formatu JSON słowniki dla pytań (id pytania --> treść pytań) - zmiana treści pliku source/README - zmiana treści pliku ReadMe.txt Różnice z wersją 1.0: - dodane numery ID dla zdań w pliku czywiesz.csv - zamiana kolejności kolumn w pliku czywiesz.csv (desc. -> ReadMe.txt: l. 130) - uaktualniony plik ReadMe.txt - dodatkowy podział na część rozwojową i część do późniejszej oceny (pliki CSV w katalogu source) Podsumowanie. Zbiór zawiera: 1. Wstępnie przetworzony zrzut polskiej Wikipedii z 22.01.2013 (Czywiesz.tar). 2. Listę poprawnych pytań pobranych z serwisu "Czy wiesz" (source/extraction/questions.txt). 3. Listę poprawnych pytań pobranych z serwisu "Czy wiesz" z linkami do stron Wikipedii (source/extraction/questions_links.txt). 4. Listę poprawnych pytań pobranych z serwisu "Czywiesz", których dokumenty odpowiedzi znalazły się w załączonym zrzucie Wikipedii (1.) (source/czywiesz.csv). 5. Listę pytań odrzuconych jako niepoprawne (source/removed/removed.txt). 6. Listę pytań niepoprawnych, które zostały znalezione dopiero po opublikowaniu paczki Czywiesz w wersji 1.1 i nie zostały usunięte z końcowego zbioru pytań, aby nie zaburzać jego struktury (source/incorrect/incorrect.txt). 7. Opis wygenerowanych zbiorów pytań rozwojowych i służących do oceny systemu (source/README). 8. Listę pytań należących do zbioru służącego ocenie systemu (source/evaluation/czywiesz-eva-all-2360.csv). 9. Listę pytań, stanowiących podzbiór zbioru rozwojowego, przeglądane ręcznie pod kątem zawierania odpowiedzi na pytanie (source/evaluation/czywiesz-eva-I-250.csv). 10. Listę pytań należących do zbioru rozwojowego systemu (source/development/czywiesz-dev-all-2361.csv). 11. (NOWE!) Listy pytań, stanowiące podzbiór zbioru rozwojowego, przeglądane ręcznie pod kątem zawierania odpowiedzi na pytanie (source/development/czywiesz-dev-(I-III)-250.csv ; source/development/czywiesz-dev-IV-597.csv). 12. Logi śladujące proces pobierania pytań z Wikipedii (logs/log1.txt ; logs/log2.txt). 13. (NOWE!) Skrypty, napisane w języku PYTHON, pozwalające na odczyt danych annotacji, zapisanych w formacie JSON (scripts/json_readers/all_answers_reader.py ; scripts/json_readers/approved_answers_reader.py ; scripts/json_readers/questions_reader.py). 14. (NOWE!) Skrypty, napisane w języku PYTHON, pozwalające na zapis danych annotacji do formatu JSON na podstawie dumpów Annotatora (scripts/json_writers/all_answers_reader.py ; scripts/json_writers/approved_answers_reader.py ; scripts/json_writers/questions_reader.py). 15. (NOWE!) Opis udostępnianych skryptów (scripts/README). 16. (NOWE!) Zrzut bazy danych Annotatora, w którym oznaczano ręcznie 200 pierwszych dokumentów odpowiedzi, zwróconych przez system, dla pytań z podzbioru source/development/czywiesz-eva-I-250.csv. (annotations/database_dumps/czywiesz-eva-I-250.dump). 16. (NOWE!) Zbiorczy rzut bazy danych Annotatora, w którym oznaczano ręcznie 10 pierwszych dokumentów odpowiedzi, zwróconych przez system, dla pytań z podzbiorów source/development/czywiesz-dev-(I-IV)*.csv. (annotations/database_dumps/czywiesz-dev-merged-1347.dump). 17. (NOWE!) Słownik pytań, zapisany w formacie JSON, odwzorowujący id pytania na jego treść dla zbioru source/czywiesz.csv (annotations/czywiesz.json). 18. (NOWE!) Słownik pytań, zapisany w formacie JSON, odwzorowujący id pytania na jego treść dla zbioru służącego ocenie systemu source/evaluation/czywiesz-eva-all-2360.csv (annotations/czywiesz-eva-all-2360.json). 19. (NOWE!) Słownik pytań, zapisany w formacie JSON, odwzorowujący id pytania na jego treść dla zbioru rozwojowego source/development/czywiesz-dev-all-2361.csv (annotations/czywiesz-dev-all-2361.json). 20. (NOWE!) Plik w formacie JSON, zawierający informacje o wszystkich oznaczonych dokumentach odpowiedzi dla pytań z podzbioru source/evaluation/czywiesz-eva-I-250.csv (anntations/results/czywiesz-eva-I-250-all.json). 21. (NOWE!) Plik w formacie JSON, zawierający informacje o wszystkich oznaczonych dokumentach odpowiedzi dla pytań z podzbiorów source/development/czywiesz-dev-(I-IV)*.csv (anntations/results/czywiesz-dev-merged-1347-all.json). 22. (NOWE!) Plik w formacie JSON, zawierający informacje wyłącznie o dokumentach odpowiedzi zawierających odpowiedzi dla pytań z z podzbioru source/evaluation/czywiesz-eva-I-250.csv (anntations/results/czywiesz-eva-I-250-approved.json). 23. (NOWE!) Plik w formacie JSON, zawierający informacje wyłącznie o dokumentach odpowiedzi zawierających odpowiedzi dla pytań z podzbiorów source/development/czywiesz-dev-(I-IV)*.csv (anntations/results/czywiesz-dev-merged-1347-approved.json). 24. (NOWE!) Opis zawartości katalogu z wynikami annotacji dokumentów odpowiedzi przez człowieka (annotations/README). ************************************************************************** ************************* S O U R C E **************************** ************************************************************************** Udostępniana przez nas paczka zawiera pytania i przetworzony wstępnie zrzut polskiej Wikipedii (z 22.01.2013). Zrzut przetworzony został programem Wikipedia Distiller, wskutek czego zapisany jest jako dokumenty w postaci 'pre_morph' (XCES). Format ten zasadniczo zachowuje podział dokumentu na akapity i nic więcej. Wikipedia Distiller usunął też pewne elementy formatowania, treść tabel, ramki itp. -- proces przetwarzania nie jest doskonały. Spośród 5062 pytań odrzuciliśmy te, dla których w naszej wersji Wikipedii brakowało dokumentów odpowiadających linkom wskazanym w serwisie "Czy wiesz". Wskutek tego pozostało 4721 pytań. Tym pytaniom plik source/czywiesz.csv przyporządkowuje plik w formacie 'pre_morph' z dołączonej w tej paczce struktury katalogów (archiwum "Czywiesz.tar"). Struktura pliku source/czywiesz.csv - dla każdego pytania stworzona jest w pliku osobna linia, która wygląda następująco: q_id;text;path;title gdzie: - q_id: unikalny identyfikator pytania - text: treść pytania - path: ścieżka dokumentu w załączonej strukturze katalogów - title: tytuł dokumentu (id dokumentu, unikalny identyfikator dokumentu) UWAGA do Czywiesz1.1: W Czywiesz wersji 1.1 pojawiła się informacja, iż dane z pliku source/czywiesz.csv składają się z pięciu sekcji. Informacja ta była błędna i pojawiła się w opisie przez niedopatrzenie. Tak naprawdę od samego początku dane te składały się z czterech, wyszczególnionych powyżej sekcji. ************************************************************************** ********************* A N N O T A T I O N S ********************** ************************************************************************** W katalogu tym znajdują się wyniki annotacji człowieka dla dokumentów odpowiedzi, oznaczane dla pytań z wyszczególnionych w odpowiednich miejscach zbiorów. Informacje te zawarte są w plikach w formacie JSON. Oprócz tego, w podkatalogu annotations/database_dumps znajdują się zrzuty bazy danych Annotatora (systemu służącego do oznaczania przez człowieka dokumentów odpowiedzi dla poszczególnych pytań, pod kątem zawierania odpowiedzi na dane pytanie i zakresu zdań, które tę odpowiedź zawierają). Zrzuty te zawierają tę samą informację, co pliki JSON. Do oceny systemu polecamy użycie pliku annotations/results/czywiesz-eva-I-250-approved.json. Zawiera on przypisanie pytaniom odpowiedzi zaakceptowanych przez człowieka. Gdyby istotny był cały przebieg oceny, to można odwołać się do pliku annotations/results/czywiesz-eva-I-250-all.json, który zawiera wszystko to, co powyżej, oraz dodatkowo informację o wszystkich odpowiedziach zwróconych przez system (w tym wypadku dostępna jest wprost informacja o tym, że system zwrócił daną odpowiedź, a człowiek uznał ją za niepoprawną). Podobnie, do wewnątrzej oceny systemu (np. do estymacji parametrów, do wstępnych testów czy rozwoju reguł) polecamy zbiór annotations/results/czywiesz-dev-merged-1347-approved.json. Istnieje dla niego też analogiczny nadzbiór, który zawiera wszystkie odpowidzi systemu (annotations/results/czywiesz-dev-merged-1347-all.json). Uwaga: dla wszystkich powyższych zbiorów należy też się odwołać do słownika pytań — annotations/czywiesz.json. Słownik przypisuje identyfikatorowi pytania jego treść (w pozostałych plikach łatwiej się odwoływać do krótkich identyfikatorów niż każdorazowo powielać treść pytania). Dane w formacie JSON z przedrostkiem "-all" są słownikami, które jako klucza używają id pytania. Dla poszczególnego pytania zwracana jest lista 200 dokumentów odpowiedzi, uporządkowanych w kolejności zwracania przez system - od pierwszego do ostatniego. Informacje o pojedynczym dokumencie są krotką: (id, path, sentences, decision, indexes) gdzie: - id: tytuł dokumentu (id dokumentu, unikalny identyfikator dokumentu) - path: ścieżka dokumentu w załączonej strukturze katalogów - sentences: lista reprezentacji zdań zwróconych przez system; zdania są przechowywane jako krotki (indeks zdania, treść zdania) - decision: decyzja, czy dokument zawiera odpowiedź na pytanie (boolean) - indexes: lista indeksów zdań, zawierających odpowiedź (jeśli decision = True) lub pusta lista (jeśli decision = False) ; indeksy zawarte na liście zawsze znajdują się wśród zdań z sentences Dane w formacie JSON z przedrostkiem "-approved" są słownikami, które jako klucza używają id pytania. Dla poszczególnego pytania zwracana jest lista wszystkich dokumentów odpowiedzi, które zawierają odpwiedź na pytaniem, uporządkowanych w kolejności zwracania przez system. Jeżeli dla pytania nie ma żadnego dokumentu zawierającego odpowiedź na pytanie - lista dokumentów jest listą pustą. Informacje o pojedynczym dokumencie są krotką: (id, path, position, sentences) gdzie: - id: tytuł dokumentu (id dokumentu, unikalny identyfikator dokumentu) - path: ścieżka dokumentu w załączonej strukturze katalogów - position: pozycja dokumentu na liście dokumentów zwróconych przez system [1, 200] - sentences: lista reprezentacji zdań zawierających odpowiedź na pytanie ; zdania są przechowywane jako krotki (indeks zdania, treść zdania) UWAGA: w katalogu scripts/json_readers udostępniamy też skrypty pythonowe, które czytają te dane i wypisują na ekranie nazwane pola. Powinno to znacznie ułatwić odczyt danych. Oprócz plików JSON udostępniamy też dane w wewnętrznym formacie zrzutów z bazy. Być może ich format okaże się jeszcze prostszy niż JSON. Pliki ze zrzutami bazy danych posiadają cztery charakterystyczne znaczniki sekcji: [QUESTION] - znacznik rozpoczynający serię danych o kolejnym pytaniu [DOCUMENT] - znacznik rozpoczynający serię danych o pojedynczym dokumencie [SENTENCES] - znacznik rozpoczynający serię danych dotyczących obszaru zdań z dokumentu, w którym szukamy odpowiedzi [ANSWER] - znacznik rozpoczynający serię danych z informacjami czy w dokumencie znajduje się odpowiedź na pytanie i ewentualnie - które zdania tę odpowiedź zawierają Format plików ze zrzutami bazy danych Annotatora wygląda następująco: [QUESTION] id_pytania [DOCUMENT] id_dokumentu pozycja_dokumentu [SENTENCES] indeks_zdania treść_zdania indeks_zdania treść_zdania (...) [ANSWER] True (False) 'indeks_zdania_z_odpowiedzią,indeks_zdania_z_odpowiedzią,(...)' ('') [jeśli False -> pusty string, jeśli True -> string z indeksami wymienionymi po przecinku] [DOCUMENT] (...) [QUESTION] (...) Pliki zawierające informację o annotacjach odpowiedzi mają dwa przyrostki: * -all - oznacza, że znajdują się tam informacje o wszystkich dokumentach, zarówno zawierających odpowiedź, jak i tych, dla których nie znaleziono odpowiedzi, uporządkowanych od pierwszego zwróconego dokumentu do 200. * -approved - oznacza, że znajdują się tam informacje tylko o dokumentach, które zawierają zdaniem człowieka odpowiedź na pytanie, wraz z numerem pozycji, na której nasz system zwrócił ten dokument. ************************************************************************** ********************* E X T R A C T I O N ************************ ************************************************************************** W zbiorze Czywiesz znajduje się 5062 z pierwotnego zbioru zawierającego 10340 pytań. Pytania te zgromadzone są w pliku source/extraction/questions.txt. Plik source/extraction/questions_links.txt zawiera z kolei listę tych pytań wraz z linkami do stron Wikipedii, które zawierają odpowiedzi na nie. Pytanie jest oddzielone od linka separatorem ";". Poniżej znajduje się lista stron, z których pobierane były Czywieszki w dniu 13.03.2013r.: 1) Seria stron: http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/ekspozycje/yyyy-mm-dd gdzie: yyyy - rok, mm - miesiąc, dd - dzień dla każdego dnia od 01.12.2010r. do 20.03.2013r. 2) Seria stron: http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/archiwum/yyyy-mm gdzie: yyyy - rok, mm - miesiąc dla każdego miesiąca od 03 do 11 w 2010r., dla 07/2008r. oraz dla 07/2009r. 3) Seria stron: http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/archiwum/yyyy-mm-dd:YYYY-MM-DD gdzie: yyyy -rok, mm - miesiąc, dd - dzień ; YYYY - rok II daty, MM - miesiąc II daty, DD - dzień II daty dla następujących okresów: - 2007-05-09:2007-12-31 - 2007-05-09:2007-12-31 - 2007-04-05:2007-05-08 - 2007-01-20:2007-04-04 - 2006-09-22:2007-01-19 - 2006-06-04:2006-09-21 - 2005-09-26:2006-06-03 - 2004-07-13:2005-09-25 4) Dodatkowe strony, służące jako źródło pytań: - http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/Muzyczne - http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/militaria - http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/Biografie - http://pl.wikipedia.org/wiki/Wikiprojekt:Czy_wiesz/pozostałe - http://pl.wikipedia.org/wiki/Wikipedysta:Putoro/brudnopis0 Pytania z pierwotnego zbioru zostały wstępnie przeselekcjonowane i sprawdzone (ok. 80% pytań zostało sprawdzonych dokładnie, reszta pobieżnie/heurystycznie). Kryteria akceptacji/odrzucenia pytań: 1. Usunięto pytania powtarzające się. 2. Usunięto pytania o dwie (lub więcej) rzeczy -- więcej niż jedno pytanie w pytaniu. Np. „od jak dawna i gdzie pływa Lublin?”. Kryterium rozróżnienia była tu odpowiedź: jeśli odpowiedzią mógł być jeden obiekt/stwierdzenie/wyjaśnienie, to pytanie uznawano za poprawne, ale jeśli odpowiedź musiałaby składać się z kilku części, to pytanie uznawano za wielokrotne i odrzucano je. 3. Usunięto pytania, które wymagają dodatkowego kontekstu, by udzielić odpowiedzi. W szczególności, gdy pojawiały się sformułowania w stylu "ta jaszczurka", "ten symbol". 4. Usunięto pytania w formie cytatów, bo nie wiadomo, czego oczekuje pytający (np. „gdzie ląd się kończy, a morze zaczyna…?”). Akceptowane były pytania, gdzie cytat stanowił sensowny fragment pytania. 5. Do nieprecyzyjnych pytań zaliczano i odrzucano pytania w stylu „co trzeba było zrobić dziś, co jutro, a co pojutrze?” — ciężko byłoby udzielić na nie sensownej odpowiedzi. 6. Odrzucano pytania, które wydawały się po prostu niezrozumiałe. 7. Usunięto pytania odwołujące się wprost do „tego roku” (podczas testów nie będziemy wiedzieć, z którego roku one są). Podobnie, gdyby było pytanie, ile lat temu coś się zdarzyło, np. "ilu nowych członków dołączy do liberyjskiej izby reprezentantów w tym roku?", "kto awansował o 19 pozycji w tegorocznym Grand Prix Belgii Formuły 1?". Ale -- pytania o miliony lat pozostawiono, gdyż w tej sytuacji paręnaście lat w jedną czy drugą stronę nie ma znaczenia. 8. Usunięto pytania, których treść zależy od konkretnej chwili (daty) zadawania, np. "dlaczego dzisiaj obchodzimy Światowy Dzień Gruźlicy?", "jakie obchody organizowały wczoraj państwa ONZ?". 9. Usunięto sformułowania zaczynające się od "że" -- można by je wprawdzie uznać za pytania tak/nie, ale z założenia wszystkie takie pytania miałyby odpowiedź twierdzącą, więc nie odpowiadają rzeczywistym pytaniom użytkownika. STATYSTYKA ODRZUCEŃ NA KOLEJNYCH ETAPACH: zebranych pytań: 10340 etapy filtracji: A. Usunięcie pytań rozpoczynających się od "że" (zdania będące stwierdzeniami, nie mające formy pytającej). (-) 760 = 9580 B. Usunięcie pytań powtarzających się w zbiorze: (-) 3095 = 6485 C. Usunięcie sformułowań nie mających formy pytającej: * Zauważono, że duża część pytań ze strony http://pl.wikipedia.org/wiki/Wikipedysta:Putoro/brudnopis0 nie posiada formy pytającej, jest sformułowana jako stwierdzenia. * Pytania te zostały odrzucone. (-) 1141 = 5344 D. Usunięcie pytań z nieadekwatnymi do zadanego pytania linkami, z linkami do stron nieistniejących (6), ręczne poprawienie linków na aktualne - jeśli istaniały (5). (-) 6 = 5338 E. Usunięcie pytań niepoprawnych (na podstawie ww. kryteriów). (-) 276 = 5062 F. Odrzucenie pytań, dla których w naszej wersji Wikipedii brakowało dokumentów odpowiadających linkom wskazanym w serwisie "Czy wiesz" (-) 341 = 4721 OSTATECZNIE: pozostawiono 4721 pytania wraz z linkami do stron Wikipedii zawierających odpowiedzi na te pytania. ************************************************************************** ************************* R E M O V E D ************************** ************************************************************************** Plik source/removed/removed.txt zawiera listę pytań, które zostały przez nas odrzucone jako niepoprawne wg ww. kryteriów. Plik ma charakter poglądowy i zapoznawczy. Może stanowić w przyszłości cenną pomoc w określeniu poprawności/niepoprawności następnych pytań. ************************************************************************** *********************** I N C O R R E C T ************************* ************************************************************************** Plik source/incorrect/incorrect.txt zawiera listę pytań, które zostały przez nas uznane za niepoprawne wg ww. kryteriów, jednak zostały znalezione dopiero po opublikowaniu paczki Czywiesz w wersji 1.1 i nie zostały usunięte z końcowego zbioru pytań, aby nie zaburzać jego struktury. ************************************************************************** ********************** E V A L U A T I O N *********************** ************************************************************************** Zbiory pytań z lokalizacji (source/evaluation/) służą do oceny systemu. Używamy ich, aby wydać końcową ocenę skuteczności znajdowania odpowiedzi na pytania przez nasz system. ************************************************************************** ********************* D E V E L O P M E N T ********************** ************************************************************************** Zbiory pytań z lokalizacji (source/development/) pomagają w rozwoju tworzonego przez nas systemu. Używamy ich, aby zobaczyć postęp skuteczności znajdowania odpowiedzi na pytania przez nas system w kolejnych iteracjach. ************************************************************************** ************************ L O G S ************************* ************************************************************************** W plikach logs/log1.txt oraz logs/log2.txt zawarta jest informacja o ilości pobranych pytań z każdej ze stron, stosując dwie metody odczytywania źródła tych stron. Różnica wynikała z dwojakiego sposobu kodowania ciągu znaków tworzących wielokropki ("..."), występujące na początku pytań serii "Czy wiesz". - log1.txt ---> "..." - log2.txt ---> "…"