1 / 20

„Algorytmy grupowania przedrostków i rozbudowy komputerowego słownika dla jęz. polskiego Ispell ”

„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. Plan prezentacji. Cel i zakres pracy Budowa słownika Ispell Algorytmy deprefiksacji

jafari
Download Presentation

„Algorytmy grupowania przedrostków i rozbudowy komputerowego słownika dla jęz. polskiego Ispell ”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  10. 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

  11. 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”

  12. 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

  13. 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)

  14. 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%)

  15. 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

  16. 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

  17. Osiągnięcia • Zmniejszenie słownika polish.dict o 8,73%

  18. 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

  19. Dziękuję za uwagęProszę o pytania

More Related