menu
 
Słownik SJP.pl

Słownik języka polskiego, ortograficzny, wyrazów obcych i słownik do gier w jednym.
Słownik jest rozwijany z myślą o zastosowaniu do sprawdzania pisowni w programach open-source, do gier słownych (np. literaki) i do użytku online jako kilka rodzajów słowników w jednym.
Redakcją słownika zajmują się hobbyści.
Słownik jest udostępniany na otwartych licencjach (różnych w zależności od wersji).
Pierwsza wersja (słownik alternatywny) powstała na bazie dawnego słownika do ispella.

Słownik jest ciekawą alternatywą dla komercyjnych (takich jak PWN), choć jest zdecydowanie mniej bogaty.

Zainspirowany artykułem z serwisu Świat Czytników o tworzeniu słownika mobi na podstawie PWNowskiego wydania płytowego, postanowiłem utworzyć podobne dzieło.

Gotowe pliki do pobrania tutaj.

  • Mobi (SJP+Wiktionary)
  • KOBO (SJP+Wiktionary)
  • Słownik w innych formatach – poszukiwane osoby do testowania, jeśli będzie zapotrzebowanie
  • StarDict – potrzebne instrukcje
  • Slo.tab – prawdopodobnie kiedyś 😉

Wersje archiwalne:

  • Mobi (wersja z 2015)
  • slo.tab (wersja z 2015)
  • StarDict (podziękowania dla Verold, wersja z 2015)

* daty źródła są nie do końca prawdziwe, ale podaję je jako w najgorszym wypadku z…

Wersja SJP.pl + Wiktionary
Dostępna jest już nowa wersja słownika, oparta na dwóch źródłach: serwisie SJP.pl oraz bazie słów pl.Wiktionary.org. W przypadku pojawienia się hasła w bazie Wiki, zastępuje ona hasło z SJP.pl. W definicji zawarte są dodatkowo synonimy, przykłady oraz wymowa.
Słownik jest jeszcze niedopracowany (pojawiają się pewne błędy edytorskie) – liczę na komentarze!

Obecna lista todo zawiera (wymieniam tu tylko listę rzeczy, które widać podczas użytkowania):
– definicje z sjp.pl – sprawdzanie, czy nie jest to wypunktowanie („a)”, „b)”)
– ignorować bezsensowne słowa w tabeli ‚Words’, będące odmianami innych słów
– dodać zdefiniowane w źródle z Wikisłownika słowa-odmiany (poza generowanymi automatycznie)
– znaleźć/zrobić kompletną funkcję math to html (wyświetlanie funkcji)
– zob|łasica (łaska), od|laskować (laskowanie) -> wyświetlać jako linki (?)
– hasło: laski – odwołanie do innej definicji
– problematyczne odmiany (lasek)
– miękkie dywizy! (jako ładny dodatek)
– page-break-inside:avoid; dla definicji
bibl, odrzecz, archit (nie wszystkie skróty są tłumaczone przez Wiki jak w słowniku)
– znaczniki liter (hasła na A, Ą, B, itd)

Tutaj dokładna (stara) instrukcja jak zbudować taki słownik, a tutaj jego test w serwisie ŚCz.

Jak to jest zrobione?

Tworzenie pierwotnej wersji słownika rozpoczynałem od ściągnięcia listy słów dostępnych na sjp.pl, gotowy plik słowo-definicja przerabiałem za pomocą odpowiednich skryptów wraz z plikiem odmian.

Obecnie, proces jest trochę odwrócony:
Plik odmian ze strony sjp.pl importowany jest do bazy danych MySQL.

Tak uzupełniona baza danych (słowo oraz odmiany) uzupełniana jest definicjami skryptem, który można by było opisać pseudokodem tak:

  • pobierz słowo z bazy danych, gdzie updated = 0
  • pobierz stronę sjp.pl/słowo 
  • przefiltruj pobraną stronę przez wyrażenie regularne [php: ‚/<p style=”margin: .5em 0; font-size: medium; max-width: 32em; „>(.+)<\/p>/sU’]
  • zapisz w bazie pobraną definicję

Poniżej fragment uzupełnionej bazy danych.

Uzupełniona baza danych

Uzupełniona baza danych

Oczywiście, pseudokod to dopiero połowa drogi, ale skrypty nie są jeszcze gotowe, więc nie chcę ich publikować w całości.

Tak uzupełniona baza pozwala na wygenerowanie (bezpośrednio!) plików opf i html, które wystarczy przekonwertować za pomocą kindlegen.

Co jest do zrobienia?

Opierając się o opis i test zwróciłem uwagę na pewne problemy, z którymi boryka się również mój słownik:

  • problem polskich znaków (łaska i laska) pozostaje nierozwiązany

w odniesieniu do poprzedniej wersji

  • odświeżona wersja,
  • zoptymalizowany rozmiar,
  • wykluczone puste definicje,
  • definicje oczyszczone z tagów html oraz niepotrzebnych (nielogicznych) numeracji

Wracając do tematu ‚do zrobienia’.
Słownik sjp.pl poza szeregiem zalet, ma też wady. Pomijając rzeczy, na które raczej nie mam wpływu, warto zwrócić uwagę na pewne braki w definicjach. Jak czytam książkę, często znajduję słowa z np. gwary/slangu, które znam, a nie widnieją one w słowniku. Cóż można z tym zrobić?
Poszukać innego słownika
Łatwo powiedzieć, ciężej zrobić.
Wiele słowników dostępnych jest np. tu. Problem z nimi jest takim, że nie ma do nich odmian. Da się to zrobić zagłębiając się odrobinę w strukturę j. polskiego i pisząc skrypt tworzący wszystkie możliwe odmiany (poprawne i niepoprawne) – w końcu szukamy wśród nich treści książki.
W ten sposób można łatwo uzupełnić słownik o ciekawe słowa. (wymaga to małej przebudowy skryptów i samej bazy danych, ale jest to do zrobienia)

Słowniki w innych formatach
Gotowa baza daje nam jeszcze jedną możliwość – możliwość tworzenia słowników w innych formatach. Chętnie pomogę w zrobieniu czegoś takiego, ale sam mam jedynie czytnik Kindle Keyboard 3, więc nawet tego nie przetestuję.

Okładka
Tak, to też można tam dołożyć. Więc czemu nie? 😉

Chcesz pomóc?

Robię zrzutkę na rozwój słownika – na dole strony postępy 😉
Jeśli masz jakieś pytania lub ochotę pomóc mi w rozwoju niniejszego słownika pisz! (zakładka kontakt)