Teraz jest 28 mar 2024 11:51:46




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ]  Przejdź na stronę 1, 2  Następna strona
Dzielenie wyrazów - raz jeszcze... 
Autor Wiadomość
Użytkownik

Dołączył(a): 14 wrz 2013 14:21:50
Posty: 92
eCzytnik: Pocketbook 623
Post Dzielenie wyrazów - raz jeszcze...
Do dzielenia wyrazów w epub - używam oczywiście wtyczkę Hyphenate This! + language tool.pl.
Calibre robi to szybko, sprawnie i zgodnie z zasadami PL - wstawiając miękki łącznik tam gdzie trzeba.

Do czytania używam AdobeViewer (ADE 2.0) - który niestety - części wyrazów nie dzieli. Dlaczego ? Nie wiem...
Nie wiem, ale chcę wiedzieć...

Podłubałem w katalogu systemowym ADE i znalazłem pliki z algorytmami dzielenia wyrazów w wielu językach - oczywiście poza polskim.
Algorytm (a raczej baza danych wyrazów) ma taką postać...
wyrywkowo z angielskiego dic:

.a2
.ab1al
.ab1it
.ac3eta
.ac1ey
.a4ch
.ach2e
.ac2h2m
.ac1on
.ac3ron
.acr2
.a1cy4

W sieci wydłubałem plik "hyph_pl_pl.dic" który jako żywo przypomina ten z systemu ADE.

Przekonwertowałem z ISO8859-2 do UTF-8, zmieniłem nazwę na hyph_pl.dic i wpakowałem do katalogu.

Od razu sukces - bo AdobeViewer dzieli wyrazy w epub (bez konieczności wcześniejszego przepuszczania go przez Calibre).
Tyle, że robi to beznadziejnie. Potrafi wstawić takie farmazony jak: k-oń, A-gata wi-lk itp.

Poszperałem dalej i znalazłem parametry, które problem rozwiązują - czyli
LEFTHYPHENMIN 2
RIGHTHYPHENMIN 3

Jest dużo lepiej, ale to jeszcze nie to...
Niektóre wyrazy nadal są niepodzielone np. prowincjonalne, pozostawałem, pojawił itp (to, że akurat na "p" to przypadek :))
oraz większość (jeżeli nie wszystkie) poprzedzone twardą spacją np. "w rodzaju" (prawdopodobnie program traktuje to jako jeden wyraz niewystępujący w słowniku).
Co ciekawe, Calibre do wszystkich tych wyrazów wstawia softhyph prawidłowo....

Rozpisałem się, ale czas przejść do pytań

1. Czy ktoś z szanownych Koleżanek lub Kolegów próbował zrozumieć / już rozumie - powyższy algorytm?
Chciałbym dopisać kilka wyrazów i przekonać się czy to jest dobra droga do poszerzenia bazy.

2. Czy ma ktoś większą (w znaczeniu ilości wyrazów) bazę danych i zechciałby ją udostepnić?
Tu małe spostrzeżenie: angielski słownik hyph w ADE ma 26 543 wyrazy, polski 4 832

3. Czy ktoś wie jak wydłubać słownik dzielenia z languagetool.oxt? (to open source więc nie ma obaw, że kogoś skrzywdzimy)
Calibre dzieli wszystko - a też musi z niego korzystać - więc on gdzieś tam jest i czeka na odkrycie...


Pozdrawiam


08 lis 2013 20:37:14
Zobacz profil
Użytkownik

Dołączył(a): 04 lis 2012 15:58:33
Posty: 160
eCzytnik: Kindle Classic, Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Z tym plikiem działa lepiej?


17 gru 2013 16:37:03
Zobacz profil
Użytkownik

Dołączył(a): 14 wrz 2013 14:21:50
Posty: 92
eCzytnik: Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Niestety gorzej

Ale dzięki

Jestem w trakcie prób (dość obiecujących) i za parę dni (mam nadzieję) będę wiedział jak rozwiązać ten problem w AV.


17 gru 2013 21:05:13
Zobacz profil
Użytkownik

Dołączył(a): 04 lis 2012 15:58:33
Posty: 160
eCzytnik: Kindle Classic, Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
U mnie działa lepiej, ale to jeszcze nie to.

Po świętach będę testował bardziej. Chyba, że wcześniej podzielisz się swoimi osiągnięciami ;)


17 gru 2013 23:09:38
Zobacz profil
Użytkownik

Dołączył(a): 04 lis 2012 15:58:33
Posty: 160
eCzytnik: Kindle Classic, Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Nie wiem czy dobrze rozumiem, ale wydaje mi się, że ADE traktuje spację niełamiącą jako twardą spację i stąd to dziwne dzielenie wyrazów.


20 gru 2013 13:40:13
Zobacz profil
Użytkownik

Dołączył(a): 14 wrz 2013 14:21:50
Posty: 92
eCzytnik: Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
To to samo. Tylko różnie ludziska na nią mówią.
W htlml to   albo  
Owszem sprawia lekkie problemy AV ale nie przeceniałbym jej znaczenia.
Z grubsza: kłopoty z dzieleniem wyrazów biorą się ze sposobu renderowania tekstu przez AV. I co ciekawe nie całego tekstu.
Początkowo myślałem, że niektórych wyrazów AV w ogóle nie dzieli.
Próbowałem dodawać je do hyph.dic - bez efektów. Stosowałem (dla zmyłki) tak dziwaczne podziały na sylaby, że dzisiaj sam nie mogę w to uwierzyć, a ten (AV) - nic - jakby się na nie obraził.
Zrobiłem sobie e-booka z dużą ilością wyrazów - do tej pory "niepodzielnych" - i co się okazało?
Te same wyrazy np. "pozostawałem", "bezpieczeństwo" itp. (długie słowo, dużo sylab) czasem się dzielą!
Bingo!
Wniosek: to nie biblioteka Hyph.dic jest winna tylko AV.

Spróbuj zaobserwować w swoich książkach wyrazy "niepodzielne" w różnych miejscach tekstu.


Ups. muszę kończyć i wracać do pracy.
Może wieczorem, napiszę więcej.


20 gru 2013 14:56:26
Zobacz profil
Użytkownik

Dołączył(a): 04 lis 2012 15:58:33
Posty: 160
eCzytnik: Kindle Classic, Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Nie wiem na ile wiarygodna jest Wikipedia, ale niby te spacje się różnią.
Akurat w html jest to to samo.
Cytuj:
Twarda spacja ma stałą szerokość równą nominalnej wielkości zwykłej spacji, przez co nie bierze udziału w procesie dopasowania odstępów, aby poprawnie wyjustować tekst do obu marginesów łamu, gdy znajdzie się w obrębie wiersza wyjustowanego[3]. Właściwości justujące ma natomiast spacja niełamiąca.

W ADE ta spacja tak się właśnie zachowuje.

Hyphenate This! może korzystać z tego samego słownika i wtedy działa poprawnie.
Więc to oczywiście wina samego ADE.


20 gru 2013 15:34:08
Zobacz profil
Użytkownik

Dołączył(a): 14 wrz 2013 14:21:50
Posty: 92
eCzytnik: Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Hm...
Po co cytujesz Wikipedię? - Myślisz, że nie mamy do niej dostępu?
Czy znajdziesz tam informację, które programy potrafią rozróżnić te spacje?
Czy aby na pewno jest wśród nich ADE?
Czy rozumiesz inne zagadnienia i terminy z typografii czy DTP?
Daj spokój - bo możesz wyjść na ignoranta, a na dodatek nie wszystko znajdziesz w Wikipedii...

Podaję linki do zrzutów z ADE - ebooka, którego zlepiłem z najgorszych (pod względem dzielenia) kawałków innych książek

1.
- Dzielenie wyrazów za pomocą pliku Hyph_pl.dic
- Zielonym markerem zaznaczyłem podziały ekstremalnie złe
http://swfr.wrzuta.pl/obraz/4ZO2ocH5U8T/1_hyph_pl

2.
- Dzielenie wyrazów za pomocą wtyczki Hyphenate It! w Calibre
- Hyph_pl.dic obecny w katalogu ADE
- Złych podziałów nie ma, ale i tak nie jest dobrze
http://swfr.wrzuta.pl/obraz/8p7Y91Jvofl/2_hyphenate_it

3.
- Dzielenie wyrazów za pomocą wtyczki Hyphenate It! w Calibre
- Plik Hyph_pl.dic wyrzucony z katalogu ADE
- Pozmieniałem kod w ebooku
http://swfr.wrzuta.pl/obraz/9TqjrVOaxn9 ... _it_i_swfr

Wnioski:
a. Nie warto używać pliku Hyph_pl.dic. To tylko baza danych sylab. Jest niestety ograniczona i aby ją powiększać należałoby ciągle dopisywać nowe słowa. A i tak nie da rady przy nazwach własnych, choćby nazwiskach obcojęzycznych w plikach kodowanych PL.
b. Hyphenate It! kładzie na łopatki Hyph_pl, bo:
- to jest multilangual i obce (nie polskie) słowa nie stanowią dla niej problemu,
- ma o wiele sprawniejszy algorytm dzielenia,
- łączniki wstawia do ebooka na stałe.
c. To ADE ma problem z dzieleniem (przypuszczam, że to wina mechanizmu renderowania tekstu) i do czasu, kiedy programiści Adobe tego nie poprawią - trzeba się męczyć albo używać innych programów.

Znalazłem sposób jak obejść ograniczenia ADE (plik z pkt 3), ale jest to rodzaj protezy założonej książce a nie ADE (niestety) - tutaj trzeba by zdolnego programisty - hackera - crackera (niepotrzebne skreślić), który napisałby skrypt, łatę czy jak się tam ta cholera nazywa.

Co do protezy:
- nie jest to proste - polega na grzebaniu i zmianach w kodzie książki w której chcemy podzielić wyrazy,
- każdy ebook jest inny (inaczej przygotowany) i każdy trzeba przeanalizować i zmienić indywidualnie - nie można tego zautomatyzować,
- bardzo łatwo popełnić błąd i popsuć książkę, a nie naprawić,
- jeżeli kiedyś wypuszczą nową wersję ADE z poprawnym dzieleniem PL - nie wiem czy nie trzeba będzie wracać do pierwotnego kodu (wiem, wiem... też pracuję na kopii, ale zamieszanie niewątpliwie powstanie).

Pzdr


27 gru 2013 21:27:09
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2014 21:55:46
Posty: 66
eCzytnik: Kindle PW2
Post Re: Dzielenie wyrazów - raz jeszcze...
Czy ktos moze zapodac plik ze slownikiem do wtyczki hyphenate this?? Probouje dodac dzielenie wyrazow, ale wyskakuje mi brak słownika do j.polskiego.

edit:

butcher napisał(a):
Z tym plikiem działa lepiej?


pobralem ten - calkiem dobrze dzieli wyrazy, nie zauwazylem bledu, dzieki za niego, ma ktos jeszcze jakis? czy sa one tworzone samodzielnie przez uzytkownikow forum?

_________________
Poemat Boga-Człowieka:
http://www.duchprawdy.com/poemat.htm


12 lut 2014 15:40:36
Zobacz profil
Użytkownik

Dołączył(a): 04 lis 2012 15:58:33
Posty: 160
eCzytnik: Kindle Classic, Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Pochodzą z projektu hyphen.
Stąd można pobrać:
http://www.openoffice.org/pl/pliki/hyph_pl_PL.zip
Z tym, że trzeba przekonwertować do utf-8.

PS Korzystanie z Hyphenate This (czyli wstawiania znaków podziału) ma tez wady. Są problemy z wyszukiwaniem wyrazów. Ja korzystam ze zwykłego podziału w ADE.


12 lut 2014 16:33:06
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 06 lut 2014 21:55:46
Posty: 66
eCzytnik: Kindle PW2
Post Re: Dzielenie wyrazów - raz jeszcze...
butcher napisał(a):
Pochodzą z projektu hyphen.
Stąd można pobrać:
http://www.openoffice.org/pl/pliki/hyph_pl_PL.zip
Z tym, że trzeba przekonwertować do utf-8.

PS Korzystanie z Hyphenate This (czyli wstawiania znaków podziału) ma tez wady. Są problemy z wyszukiwaniem wyrazów. Ja korzystam ze zwykłego podziału w ADE.


dzieki za linka, podział w ade czyli...? jakis alternatywny program do calibre? cos adobe?

_________________
Poemat Boga-Człowieka:
http://www.duchprawdy.com/poemat.htm


12 lut 2014 17:26:47
Zobacz profil
Użytkownik

Dołączył(a): 04 lis 2012 15:58:33
Posty: 160
eCzytnik: Kindle Classic, Pocketbook 623
Post Re: Dzielenie wyrazów - raz jeszcze...
Nie. Ty masz chyba Kindle. Inne czytniki potrafią sobie same w locie dzielić wyrazy.
ADE to jeden z programów, w którym są otwierane ebooki (epub) na czytnikach i w nim są już wyrazy dzielone automatycznie.


12 lut 2014 17:51:09
Zobacz profil
Użytkownik

Dołączył(a): 27 mar 2014 2:17:52
Posty: 540
eCzytnik: PB Mini, czasem InkBook
Post Re: Dzielenie wyrazów - raz jeszcze...
Sprawa dzielenia wyrazów w ADE jest trochę problematyczna. I to na wielu płaszczyznach.

Na początek zajrzał bym najpierw do epub-a bo ADE dość restrykcyjnie reaguje na wszelkie znaczniki lang.
Tak, tak, można przecież mieć na jednej stronie kilka języków z różnym przenoszeniem, niestety parę ebooków (kupnych) widziałem, owszem, z poprawnym wpisem"pl" w content.opf ale w samych plikach z tekstem (x)html błędnie zdefiniowane były xml:lang="en" albo lang="en" dla taga html bądź body.
Wtedy ADE przyjmuje język angielski i nie ma przebacz, podziały będą bardzo złe. Jedyne rozwiązanie to poprawa takiego epuba (sugeruje zgłosić problem do księgarni).

Drugi problem to ewidentny błąd w interpretowaniu   przez ADE.

Częste zlepki wyrazów np i(nbsp)zagrodach, w(nbsp)każdym itd które mają wymusić nie zostawianie jednoliterowych wyrazów na końcu wiersza są traktowane przez ADE jako jeden(!) wyraz.
I tu zaczyna się spory problem bo plik hyph jest na to bardzo czuły. Duża część definicji jest dla początku wyrazu.
Teoretycznie wpisy (left|right)HYPHENMIN są zbędne bo definicje nie pozwalają na podział na początku i na końcu wyrazu.

Niedoskonałym rozwiązaniem jest zamienienie   na zwykłą spacje, ale ma to też swoje wady.

Na zachętę przygotowałem specjalnie plik hyph dla ADE z obsługą zlepków.
Niestety nie gwarantuje on idealnego przenoszenia ale jest co nieco lepiej.
https://copy.com/nBrIlAGOi27XfVZp

Edyta:
dostałem w końcu eInk-owy czytnik z ade2 :) i wcześniej przygotowane przeze mnie definicje wywalały go (wyjście z książki) zrobiłem wiec nowe poprawione.

Jeszcze jedna uwaga w książkach kupnych z powodu watermarku może być tak że &nbsp; będzie zapisany jako &#160; albo w kodzie utf-8 o tu > < (i to wygląda w większości edytorów tekstowych jak zwykła spacja)


28 mar 2014 15:40:36
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 22 sty 2014 19:44:49
Posty: 184
eCzytnik: Kindle Voyage, Paperwhite, Classic
Post Re: Dzielenie wyrazów - raz jeszcze...
Artii napisał(a):
Niestety nie gwarantuje on idealnego przenoszenia ale jest co nieco lepiej.
https://copy.com/nBrIlAGOi27XfVZp

Odnośnik nie działa. Ma ktoś ten plik?

_________________
Robert Błaut
http://blog.blaut.biz
poczta: listy małpa blaut kropa biz


05 paź 2016 9:40:26
Zobacz profil WWW
Użytkownik

Dołączył(a): 27 mar 2014 2:17:52
Posty: 540
eCzytnik: PB Mini, czasem InkBook
Post Re: Dzielenie wyrazów - raz jeszcze...
ma :) niestety zapomniałem poprawić link po zaoraniu copy.

ale ale poszedłem dalej, zamiast kisić po jakiś chmurkach :)

https://github.com/ArtiiP/hyph_pl

i bezpośredni link:
https://github.com/ArtiiP/hyph_pl/raw/m ... yph_pl.dic


05 paź 2016 15:14:13
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ]  Przejdź na stronę 1, 2  Następna strona


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Skocz do:  
cron