kot gitarzysta
Transkrypt
kot gitarzysta
Przetwarzanie języka naturalnego pracownia 2 (zajęcia nr 5) Można oddawać zadania nr 2 i 3 z listy pierwszej pracownianej bez strat punktowych. Można korzystać z korpusu ze strony wykładu, dodatkowo do zadania drugiego pojawią się dodatkowe dabe testowe i specjalny korpus. Część b) zadania drugiego oraz zadanie 3 można będzie również oddawać w późniejszym terminie bez strat punktowych. Zadanie 1. ((2p)) Poeksperymentuj trochę z wyszukiwarkami odpowiadającymi na pytania (na przykład www.asc.com, albo brainboost.com). Spróbuj znaleźć pytania, dla których pierwszy znaleziony dokument jest bardziej użyteczny niż szczęśliwy traf z googla. Zadanie 2. (6+5p) Zaproponuj bazującą na korpusie relację semantycznego podobieństwa między rzeczownikami (uwzględniając na przykład – i między innymi – z jakimi przymiotnikami się łączą). Zdecyduj, jak z tej relacji otrzymać relację równoważności (o znaczeniu: należą do tej samej grupy semantycznej). Napisz program, który wykonuje dwie funkcje: a) Tworzy raport o klasach abstrakcji rzeczowników (ograniczając się do tych rzeczowników, które w korpusie występują więcej niż k razy, dla danego k) b) Dla danego ciągu par rzeczowników w korpusie przepisuje te pary, dopisując 0 jeżeli nie są w relacji, a 1 jeżeli są. Przykładowe dane: kot pies gitara minimalizm sekretarz słoneczko Przykładowa odpowiedź: kot pies 1 gitara minimalizm 0 sekretarz słoneczko 0 To, jak wiele z dodatkowych pięciu punktów otrzyma Twój program, będzie zależało od tego, jak poradzi sobie z dostarczonymi przez prowadzącego wykład damymi testowymi (postaram się, żeby dane dotyczyły niekontrowersyjnych przypadków). Przykładowe dane testowe pojawią się przed pracownią. Dokładne zasady obliczania punktów zostaną podane później. Zadanie 3. (5+4p) W zadaniu tym należy napisać klasyfikator rzeczowników rodzaju żeńskiego i nijakiego, który przypisuje im jedną z trzech kategorii semantycznych: OSOBA, ZWIERZE, INNE (nazwy nie mają polskich znaków diakrytycznych). Jeżeli jakieś słowa są wieloznaczne i znaczenia należą do różnych kategorii, wówczas prawidłową klasyfikacją jest „najwyższa” kategoria (zakładamy porządek OSOBA > ZWIERZE > INNE Zwracam uwagę, że taką kategoryzację mamy dla rzeczowników rodzaju męskiego (kategorie odpowiadają rodzajom: m1, m2, m3). Program powinien oczekiwać na wejściu listy rzeczowników (po jednym w wierszu), na wyjściu powinna być lista zawierająca te same rzeczowniki, po których nastąpi wybrama klasyfikacja. Wszystkie rzeczowniki w danych wejściowych będą w mianowniku liczby pojedynczej. Kolejność rzeczowników w wyniku nie musi być taka sama jak w danych wejściowych. Program może korzystać z wytworzonych wcześniej danych, ale powinien, korzystając z tych danych, działać szybko – w czasie co najwyżej O(N log N ), gdzie N jest liczbą dostarczonych rzeczowników. W przeciwieństwie do poprzedniego zadania nie ma gwarancji, że na liście wejściowej znajdą się rzeczowniki występujące w którymś z dostępnych korpusów.