Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > by-pkgid > fe41ab2fbba0c706fcbc567f9b66581b > files > 6

ispell-pl-0.8-1mdk.noarch.rpm

------------------------------------------------------------------------
INSTRUKCJA OBS£UGI ZESTAWU S£ÓW JÊZYKA POLSKIEGO DO PROGRAMU ISPELL
------------------------------------------------------------------------

wersja 20000401
autor: Miros³aw Prywata (Miroslaw.Prywata@fuw.edu.pl)

SPIS TRE¦CI:
1.  TWORZENIE I INSTALACJA
1.1. AUTOMATYCZNE TWORZENIE S£OWNIKA (wersja testowa)
1.2. ,,RÊCZNE'' TWORZENIE S£OWNIKA
2.  PRZYK£ADOWY SPOSÓB TWORZENIA S£OWNIKA
3.  INNE SYSTEMY OPERACYJNE I INNE SPOSOBY KODOWANIA POLSKICH LITER
4.  U¯YCIE ZESTAWU S£ÓW Z INNYMI PROGRAMAMI DO SPRAWDZANIA PISOWNI
5.  WSKAZÓWKI: CZEGO NIE NALE¯Y ROBIÆ !
6.  JAK ZG£ASZAÆ B£ÊDY
7.  KONTAKT Z AUTORAMI S£OWNIKA


1.  TWORZENIE I INSTALACJA

1.1. AUTOMATYCZNE TWORZENIE S£OWNIKA

1) Nale¿y w pliku slownik.cfg zaznaczyæ interesuj±ce s³owniki znakiem X
2) Uruchomiæ polecenie
  $ ./zbuduj.slownik.sh
3) Przekopiowaæ polish.hash i polish.aff do /usr/lib/ispell

4) do s³ownika na samym pocz±tku dodawane s± naczê¶ciej wystêpuj±ce w jêzyku
   polskim wyrazy, co znacznie przyspiesza sprawdzanie tekstów, które
   s± prawie ca³kowicie poprawne. Z dodatku tego mo¿na zrezygnowaæ
   wykomentowuj±c liniê  $cp polish.dic.proto polish.dic 

1.2. ,,RÊCZNE'' TWORZENIE S£OWNIKA

A¿eby utworzyæ i zainstalowaæ polski s³ownik do ispella nale¿y:

1) posiadaæ ispella pozwalaj±cego na u¿ywanie flag bêd±cych ma³ymi literami
   (standardowy ispell z Red Hata tego nie potrafi)
   
2) wybraæ pliki z interesuj±cymi nas s³ownikami (na pewno A + B, w zale¿no¶ci
   od potrzeb tak¿e i C oraz odpowiednie s³owniki fachowe - nazwy mówi± 
   same za siebie) i dodawaæ je po kolei np.:
   $ cat A >  polish.dic
   $ cat B >> polish.dic
   ..... tu inne interesuj±ce nas s³owniki ....
   $ cat fachowe/chemia >> polish.dic
   $ cat fachowe/polityka >> polish.dic

3) wykonaæ polecenie
   $ buildhash polish.dic polish.aff polish.hash
   Plik polish.hash jest s³ownikiem czytanym bezpo¶rednio przez ispella.
4) nale¿y skopiowaæ pliki:
   polish.aff
   polish.hash
   do katalogu /usr/lib/ispell lub dowolnego innego w którym ispell defaultowo
   szuka s³owników (patrz man ispell)

UWAGA!
   U¿ytkownicy Debiana mog± u¿yæ gotowego pakietu znajduj±cego siê w rozwojowej
   dystrybucji potato.

UWAGA!
   Od wersji 19990914 zosta³ utworzony katalog dodatkowe, w którym umieszczane
   s± s³owniki przysy³ane przez u¿ytkowników. W katalogu tym znajduje siê tak¿e
   plik z opisem s³owników. Ka¿dy s³ownik fachowy/specjalistyczny/specyficzny
   mo¿e zostaæ umieszczony w tym katalogu.

2. PRZYK£ADOWY SPOSÓB TWORZENIA S£OWNIKA

Postanawiamy u¿yæ tylko plików A, B, C

[mirek@localhost test]$ cat A B C >ABC

Mo¿emy zobaczyæ ile jest wyrazów w pliku ABC:

[mirek@localhost test]$ wc ABC
  91479   91479 1283489 ABC

Teraz tworzymy s³ownik:

[mirek@localhost test]$ buildhash ABC polish.aff ABC.hash
Counting words in dictionary ...
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 14000
15000 16000 17000 18000 19000 20000 21000 22000 23000 24000 25000 26000
27000 28000 29000 30000 31000 32000 33000 34000 35000 36000 37000 38000
39000 40000 41000 42000 43000 44000 45000 46000 47000 48000 49000 50000
51000 52000 53000 54000 55000 56000 57000 58000 59000 60000 61000 62000
63000 64000 65000 66000 67000 68000 69000 70000 71000 72000 73000 74000
75000 76000 77000 78000 79000 80000 81000 82000 83000 84000 85000 86000
87000 88000 89000 90000 91000
91610 words
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000
14000 15000 16000 17000 18000 19000 20000 21000 22000 23000 24000 25000
26000 27000 28000 29000 30000 31000 32000 33000 34000 35000 36000 37000
38000 39000 40000 41000 42000 43000 44000 45000 46000 47000 48000 49000
50000 51000 52000 53000 54000 55000 56000 57000 58000 59000 60000 61000
62000 63000 64000 65000 66000 67000 68000 69000 70000 71000 72000 73000
74000 75000 76000 77000 78000 79000 80000 81000 82000 83000 84000 85000
86000 87000 88000 89000 90000 91000

Plik s³ownikowy (hash) nazwali¶my ABC.hash --- mo¿e siê on nazywaæ dowolnie,
nale¿y tylko pamiêtaæ, ¿e wtedy bêdziemy musieli podawaæ ABC jako nazwê
s³ownika.

3.  INNE SYSTEMY OPERACYJNE I INNE SPOSOBY KODOWANIA POLSKICH LITER

Zestawu s³ów mo¿na u¿ywaæ tak¿e pod innymi systemami operacyjnymi -- wszêdzie
tam, gdzie uda siê przekompilowaæ ispella (patrz projekt DJGPP -- jest tam 
ispell dla DOSa). Nale¿y wtedy
1) zamieniæ wszystkie znaki wystêpuj±ce teraz w kodowaniu iso-8859-2 na nasze.
   dotyczy to zbiorów ze s³owami a tak¿e pliku polish.aff. TeXnolodzy mog±
   wykorzystaæ dowoln± notacjê, przy czym musz± to zapisaæ w pliku
   polish.aff (wskazówk± mog± byæ pliki aff dla innych jêzyków, np.
   niemieckiego --- w których s± ju¿ zrobione odpowiednie wpisy
   charakterystyczne dla innych jêzyków). Chodzi tutaj o wpisy wordchars oraz
   altstringtype, altstringchar.
   Przyk³ad z francaise.aff
   altstringtype "tex" "TeX" ".tex" ".bib"
   
   altstringchar   "\\`a"  à
   altstringchar   "\\`A"  À
   .........
   itd   
   
   Do konwersji mo¿na u¿yæ np. programu konwert.

2) Zamiast poleceñ cat, sort, itd nale¿y u¿yæ komend specyficznych dla
   danego systemu operacyjnego. Sortowanie s³ownika przed wykonaniem
   buildhash nie jest konieczne --- pozwala jednak na wychwycenie takich samych
   wpisów (uniq)

3) polish.hash i polish.aff nale¿y umie¶ciæ w miejscu specyficznym dla danego 
   systemu operacyjnego lub podawaæ bezwzglêdn± ¶cie¿kê.

4) do wersji 20000401 dodane zosta³y patche wprowadzaj±ce kodowanie specyficzne
   dla babla (LaTeX) oraz encje SGML-owe i jednocze¶nie wyrzucone zosta³o
   to z g³ownego affa. Wydaje siê, ¿e jest to jedyny rozs±dny sposób
   wprowadzania  innych sposobów kodowania polskich liter przez ci±gi znaków.
 
4. U¯YCIE ZESTAWU S£ÓW Z INNYMI PROGRAMAMI DO SPRAWDZANIA PISOWNI

   W tej chwili nie znam programu (GPL), który by³by w stanie pomie¶ciæ
   tak obszern± listê s³ów (1,4 mln wyrazów) w tak ma³ej objêto¶ci (4MB).
   Pierwsz± rzecz± jest wyci±gniêcie pe³nej listy ze s³ownika.
   Potrzebujemy do tego pliku hash (z dowoln± zawarto¶ci± za to
   zbudowanego na podstawie pliku polish.aff). Mo¿na to osi±gn±æ w nastêpuj±cy
   sposób:
   1) 
   $ cat > slowo
   s³owo
   ^D
   2) 
   $ buildhash slowo polish.aff slowo.hash
   3) Teraz mo¿emy rozwin±æ wszystkie s³owa wystêpuj±ce np. w pliku A.
   $ispell -e -d ./slowo.hash <A
   ............
   na ekranie pojawi± siê wszystkie rozwiniête s³owa
   ............
   4) A¿eby mieæ listê s³ów nale¿y spacje zamieniæ na znaki nowej linii, tak by
   mieæ w ka¿dej linijce jedn± formê, nastêpnie wszystko to sortujemy i
   przepuszczamy przez uniq i wrzucamy do pliku A.slowa
   $ispell -e -d ./slowo.hash <A \
   | perl -pe 's/\s/\n/g'| sort |uniq >A.slowa
   Uwaga! Ca³y s³ownik daje oko³o 1,4 mln form i kilkunastomegabajtowy plik
   wynikowy! Na przyk³ad w programie aspell (ta taki ,,lepszy'' ispell) daje 
   to hash wielko¶ci 30MB!  

Proszê wszystkich u¿ytkowników, którzy znale¼li sposób na efektywne
wykorzystanie tego zestawu s³ów z dowolnym programem do sprawdzania 
pisowni o informacjê o tym --- wraz z opisem jak to zrobiæ. Opis taki
umie¶cimy wraz ze s³ownikiem jako instrukcja dla innych u¿ytkowników.

5.  WSKAZÓWKI: CZEGO NIE NALE¯Y ROBIÆ !
----------------------------------------------------------------------------
UWAGA !UWAGA !UWAGA !UWAGA !UWAGA !UWAGA !UWAGA !UWAGA !UWAGA !UWAGA !UWAGA
-----------------------------------------------------------------------------
Proszê nie przepuszczaæ tego s³ownika przez ¿adne Makefile wziête nie
wiadomo sk±d, gdy nie wiemy, co one bêd± chcia³y robiæ. W wiêkszo¶ci przypadków
jedn± z faz bêdzie munchlist (program znajduj±cy automatycznie flagi dla
danego zestawu s³ów i danego pliku aff). Mia³em ju¿ kilka sygna³ów od
osób, które skar¿y³y, ¿e s³ownik nie dzia³a, bo jest za ma³o miejsca na dysku,
pamiêci, etc. do zrobienia munchlist, sortowanie itp.

Nie nale¿y te¿ w przypadku jêzyka polskiego u¿ywaæ skryptu findaffix. Dla
zestawu s³ów mniejszego ni¿ 300 tys. (kilkukrotnie mniejszy zestaw ni¿ ten
w s³owniku) 1GB pamiêci RAM jest stanowczo za ma³o, by skrypt ten dzia³a³.

Dlatego te¿ je¿eli kto¶ wpadnie na jaki¶ ,,genialny'' pomys³ automatycznego
przetworzenia s³ownika niech najpierw skonsultuje to ze mn± lub opisze swój
pomys³ na li¶cie s³ownikowej.

6.  JAK ZG£ASZAÆ B£ÊDY

Rodzaje b³êdów:
- b³êdy w polish.aff --- nale¿y zg³aszaæ bezpo¶rednio do Piotra Gackiewicza
  daj±c jednocze¶nie Cc; na listê s³ownikow±;
- brak s³ów:
  a) brak formy podstawowej (patrz w README co jest traktowane w s³owniku
     jako forma podstawowa, z przyczyn praktycznych nie jest to w 100%
     zgodne z gramatyk±)
  b) brak formy pobocznej (brak oflagowania)
  
  Najlepiej by³oby, gdyby s³owa by³y dostarczane ju¿ oflagowane (z pe³n±
  odmian±). Nie trzeba od razu uczyæ siê skomplikowanych regu³ --- mo¿na
  u¿yæ skryptu sprawdz, który automatycznie potrafii dodaæ wszystkie
  flagi charakterystyczne dla danej czê¶ci mowy a nastêpnie zostawienie tylko
  tych, które s± prawid³owe.
  
  Nie wszystkie formy daj± siê wygenerowaæ z form podstawowych (np. jest nie daje
  siê wygenerowaæ z byæ). Jednak przypadków takich w ca³ym s³owniku jest
  stosunkowo niewiele --- powinny daæ siê generowaæ wszystkie formy regularne,
  je¿eli tak nie jest oznacza to, ¿e a affie s± jeszcze pewne niedoci±gniêcia.
  
  Po wybraniu i oflagowaniu s³ów nale¿y stworzyæ katalog o nazwie ImieNazwisko
  (dla uproszczenia bez polskich liter) z ewentualnym numerem, je¿eli jest to
  która¶ z kolei paczka, któr± przysy³amy. Nastêpnie plik ze s³owami kopiujemy
  do katalogu. Umieszczamy w nim jeszcze jeden plik o nazwie id, w którym
  wpisujemy nasze dane:
  Imiê Nazwisko, data sprawdzania, kontakt elektroniczny.

- b³êdne s³owa (nieistniej±ce w polskim s³owniku)
  Znowu mamy do czynienia z dwoma przypadkami --- albo jest to forma podstawowa,
  wtedy wpisujemy j± do pliku o nazwie trash, albo jest to rozwiniêcie ---
  wtedy mamy do czynienia z b³êdami w oflagowaniu. W drugim przypadku postêpujemy
  tak samo jak z nowo dodawanymi s³owami, czyli dodajemy do s³owa prawid³owe flagi
  do³±czmy do pliku (patrz wy¿ej) i wysy³amy.
  
  Przys³anie poprawki oznacza zgodê na:

  - umieszczenie poprawki w s³owniku i rozprowadzanie jej na prawach licencji
    LGPL (lub innej, je¿eli licencja s³ownika siê zmieni) przez zespó³
    pracuj±cy nad s³ownikiem;
  - zgoda na umieszczenie danych zawartych w pliku id w README w¶ród autorów
    s³ownika (znajduj± siê tam nazwiska i adresy osób, które przyczyni³y siê
    do rozwoju s³ownika);


7.  KONTAKT Z AUTORAMI S£OWNIKA

Wszelkie uwagi dotycz±ce niniejszego s³ownika nale¿y kierowaæ na listê
slownik@ia.pw.edu.pl lub Miroslaw.Prywata@fuw.edu.pl, MACEWICZ@ia.pw.edu.pl
gacek@ds14.agh.edu.pl