Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałFelicja Zarzeczny Został zmieniony 11 lat temu
1
„Algorytmy grupowania przedrostków i rozbudowy komputerowego słownika dla jęz. polskiego Ispell”
Promotor: prof. zw. dr hab. inż. Jacek Mościński Konsultant: mgr inż. Krzysztof Rzecki Autor: Piotr Baran
2
Plan prezentacji Cel i zakres pracy Budowa słownika Ispell
Algorytmy deprefiksacji Napotkane problemy i rozwiązania Osiągnięte rezultaty
3
Zakres pracy Przegląd i porównanie możliwości oraz wydajności komputerowych słowników języka polskiego Zaprojektowanie, implementacja i przetestowanie algorytmów służących odnajdywaniu prawidłowych przedrostków oraz grupowaniu wyrazów posiadających te same grupy przedrostków w plikach słownika dla języka polskiego Ispell
4
Cel pracy Zmniejszenie rozmiaru słownika
Zmniejszenie wymagań pamięciowych Ułatwienie dodawania nowych wyrazów do słownika Ułatwienie budowy narzędzi bazujących na słowniku Ispell
5
Pliki Ispell’a polish.dict – zawiera lematy języka polskiego (ok. 290 tys.) oraz flagi, na podstawie których zachodzi odmiana polish.aff – zawiera opis flag odmieniających polish.hash – plik generowany automatycznie przez Ispell’a na podstawie polish.dict i polish.aff
6
Polish.dict Fragment pliku: czołem czołgać/dHIik czołgowisko/UV
czołgowy/bXxY czołg/QsST Składnia: lemat/flagi lemat
7
Polish.aff – przykład flagi
Flaga „s” – mianownik l.mn. dla rzeczowników nieosobowych rodzaju męskiego oraz osobowych, lecz odmienianych identycznie jak nieosobowe [^ACĆGJKLŃOŚZŹŻ] > Y # komputery [CJLYŻ] > E # instruktaż [^CDS] Z > Y # aplauz [CDS] Z > E # utleniacz [KG] > I # pociąg Ć > -Ć,CIE # gość Ń > -Ń,NIE # boleń Ś > -Ś,SIE # goguś Ź > -Ź,ZIE # chabaź O > -O,E # brudzio
8
Flagi przedrostkowe Flagi można użyć również do definiowania przedrostków Przykład: flag *b: . > NIE #dobry -> niedobry Część praktyczna pracy polega na wyszukaniu przedrostków w słowniku i utworzeniu dla nich flag
9
Podstawowy algorytm wyszukiwania przedrostków
Pobierz wyraz ze słownika Sprawdź czy „kończy się” na jakikolwiek inny wyraz ze słownika Jeżeli tak, początkowa część wyrazu jest przedrostkiem rozchodzić rozchodzić prefix II wyraz I wyraz
11
Etapy deprefiksacji Wyszukiwanie pseudoprzedrostków algorytmem podstawowym Wybór prawidłowych przedrostków Filtrowanie niepoprawnych związków przedrostek-lemat Usuwanie nieregularności w odmianie Rozwiązanie problemu tzw. wyrazów wieloprzedrostkowych Rozbudowa słownika o nowe wyrazy Podział na słowniki temetyczne
12
Problemy – złe przedrostki
Algorytm podstawowy wyszukuje wszystkie przedrostki, nawet niepoprawne z punktu widzenia języka polskiego, np. przedrostek woj- w wyrazie „wojna” Rozwiązanie: filtrowanie przedrostków na podstawie tabeli poprawnych przedrostków ze „Słownika poprawnej polszczyzny PWN”
13
Problemy – złe przedrostki
Algorytm wyszukuje poprawne przedrostki, ale niepasujące do danej części mowy, np. prefix czasownikowy ob- w rzeczowniku „obraz” Rozwiązanie: „ręczna” analiza słownika i stworzenie tabeli przyporządkowania przedrostek=>pasujące formy
14
Problemy - nieregularności
Różnice w odmianie wyrazów z i bez przedrostka: zarobić => zarabiać robić => rabiać #błąd! Rozwiązanie: wyrazy z nieregularnościami nie są poddawane deprefiksacji (ze wzglądów wydajnościowych i objętościowych)
15
Problemy - wieloprzedrostkowość
W języku polskim występują wyrazy wieloprzedrostkowe, np. przenajświętszy – Ispell nie obsługuje flag wielokrotnych Rozwiązanie: „zwijanie” tylko zewnętrznego przedrostka (na szczęście mało takich wyrazów – 1,98%)
16
Problemy – brak flag Słownik Ispell zawiera 26 flag – definicja przyrostków Wymagane dodatkowe 33 flagi na zdefiniowanie przedrostków Rozwiązanie: przekompilowanie korektora Ispell do obsługi wszystkich znaków ASCII jako możliwych flag
17
Rozbudowa słownika Dodanie obsługi przedrostków – rozbudowa funkcjonalna Dodanie przedrostka nie- do imiesłowów przymiotnikowych (np. nieusprawiedliwiony) Dodanie przedrostka wielo- do wyrazów z możliwym przedrostkiem jedno- (jednoślad => wieloślad) Skutek: ponad 6 tys. nowych wyrazów
18
Osiągnięcia Zmniejszenie słownika polish.dict o 8,73%
19
Osiągnięcia Zmniejszenie pliku polish.hash o 6% (mniejsze zużycie pamięci podczas działania słownika) Ponad 6 tys. nowych form wyrazowych Nowa funkcjonalność słownika pozwalająca wykorzystać go w projektach NLP
20
Dziękuję za uwagę Proszę o pytania
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.