Jak wykorzystać słownik dzielenia wyrazów?

Nie wiesz, gdzie umieścić swój post? Pisz tutaj!
pavlucco
Posty: 1
Rejestracja: pn paź 28, 2013 8:01 pm

Jak wykorzystać słownik dzielenia wyrazów?

Post autor: pavlucco »

Witam. Jako projekt uczelniany dostałem na zadanie stworzenie aplikacji poprawiającej po OCRze niewłaściwie złączone/rozłączone wyrazy. W tym celu chciałbym wykorzystać słownik podziału polskich słów zamieszczony na polskiej stronie projektu OpenOffice. Nie rozumiem zapisu występującego w słowniku, np.:

Kod: Zaznacz cały

.kon4tr5a2gi1
.kon4tr5a2se1
.kon4tr5a2sy1
.kon4tr5a2ta1
.kon4tr5a2d1m
.kon4tr5a2k1c
.kon4tr5a2l1t
.kon4tr5a2r1g
.kontru2
Bardzo proszę o wytłumaczenie tego zapisu zawierającego liczby, znaki i niektóre litery o bliżej nieokreślonej funkcji.
OpenOffice 3.1 na Windows 7
Minio
Posty: 323
Rejestracja: śr sie 01, 2012 1:48 am
Lokalizacja: (Poznań|Dziwnów), Polska

Re: Jak wykorzystać słownik dzielenia wyrazów?

Post autor: Minio »

Skoro piszesz program, to prawdopodobnie masz jakieś doświadczenie w programowaniu. A to oznacza, że możesz spojrzeć do kodu źródłowego pakietu i sam przekonać się, jak interpretuje te zapisy.
Dobrym punktem zaczepienia może być core/tree/i18npool/source/breakiterator/data/dict_word.txt (albo w ogóle cały katalog breakiterator).
Niestety, ja nie potrafię programować i nie jestem w stanie zweryfikować, czy przypadkiem nie prowadzę Cię w ślepy zaułek…
Mój blog o używaniu LibreOffice
LibreOffice 4.2.6, Debian testing amd64
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Jak wykorzystać słownik dzielenia wyrazów?

Post autor: Jan_J »

Algorytm dzielenia wyrazów jest przejęty z TeX-a. W słownikach hyph_*_*.dic zakodowane są te same reguły, i w tym samym formacie, co w ich TeX-owych pierwowzorach.
Patrz http://www.tex.ac.uk/cgi-bin/texfaq2html?label=hyphen Na stronach +-38 doktoratu F. M. Lianga znajdziesz objaśnienie, jak to działa.
W Polsce słownik budowała ekipa TeX-owa, a w ramach OpenOffice zaadaptował go Marcin Miłkowski. Odpowiednie nazwiska i maile znajdziesz w sygnaturkach. Pytać czy nie, zależy od wagi i głębi Twojego projektu. Ale sama lektura Lianga wiele powinna wyjaśnić.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ