RSS

Dzielenie wyrazów powinno być realizowane przez przeglądarkę

Liczba odsłon: 33

Przez kil­ka os­tat­nich dni oma­wia­łem kwes­tię dzie­le­nia wy­ra­zów w tekś­cie oraz (nik­ły, jak na ra­zie) sto­pień wy­ko­rzys­ta­nia me­cha­niz­mów po­dzia­łu na stro­nach WWW:

Po lek­tu­rze ca­łej serii wpi­sów moż­na od­nieść wra­że­nie, że:

Wniosek jest pros­ty: prob­lem dzie­le­nia wy­ra­zów po­wi­nien zo­stać roz­wią­za­ny po stro­nie prze­glą­dar­ki WWW.

Obecny spo­sób ko­rzys­ta­nia z dzie­le­nia wy­ra­zów moż­na by po­rów­nać z przy­go­to­wy­wa­niem stro­ny WWW w for­mie obra­zu. Przeglądarka, za­miast inter­pre­to­wać opis stro­ny za­ko­do­wa­ny w ję­zy­ku HTML, ogra­ni­cza­ła­by się do wy­świet­le­nia ode­bra­ne­go z ser­we­ra obra­zu. Całe za­da­nie przy­go­to­wa­nia ukła­du stro­ny dla każ­de­go moż­li­we­go roz­mia­ru okna prze­glą­dar­ki spa­da­ło­by na ser­wer i – po­śred­nio – na auto­ra ser­wi­su. Oczywiś­cie, brzmi to idio­tycz­nie — ale tak właś­nie pre­zen­tu­je się prob­lem dzie­le­nia wy­ra­zów.

Gdyby dzie­le­niem wy­ra­zów zaj­mo­wa­ła się prze­glą­dar­ka WWW, autor stro­ny mu­siał­by je­dy­nie okreś­lić w szab­lo­nie CSS, czy me­cha­nizm dzie­le­nia ma być ak­tyw­ny. Dziele­nie moż­na by na­wet włą­czać wy­biór­czo w nie­któ­rych aka­pi­tach i wy­łą­czać w in­nych (na przy­kład w ty­tu­łach roz­dzia­łów i pod­roz­dzia­łów). Wszystkie stro­ny ko­rzys­ta­ły­by z jed­ne­go, bo­ga­te­go słow­ni­ka po­dzia­łu, a prze­sy­ła­ny kod HTML nie mu­siał­by za­wie­rać nad­mia­ro­wej in­for­mac­ji o miej­scach po­dzia­łu wy­ra­zów.

Niestety, ję­zyk HTML wciąż jesz­cze uwa­ża­ny jest wy­łącz­nie za ję­zyk opi­su struk­tu­ry i treś­ci stron WWW, a nie uni­wer­sal­ne na­rzę­dzie do bu­do­wy do­ku­men­tów tek­sto­wych i gra­ficz­nych. Dopóki tak bę­dzie, mar­ne są szan­se, by ktoś za­in­te­re­so­wał się wpro­wa­dze­niem do nie­go me­cha­niz­mów auto­ma­tycz­ne­go po­dzia­łu wy­ra­zów.


Z punktu widzenia zatrudnienia procesorów serwerów oraz obiążenia łącza pomysł obdarowania przeglądarek zadaniem dzielenia słów wydaje się być rozsądny. Gdy się jednak spojrzy na problem w aspekcie globalnym – przeliczanie tego samego zadania miliardy razy przez miliony komputerów jest ekonomicznie nieuzasadnione. Wymaga ono wbudowania algorytmów dzielenia w przeglądarki, doposażenia ich w słowniki i algortymy dla wielu języków.
Ja sam zaglądam na witryny internetowe w kilku językach, z całą pewnością nie jestem w tym wyjątkowy. Wielokrotnie zdarza mi się nawet gościć na witrynach, których języka wogóle nie rozumiem, ale umieszczone tam porady w postaci fragmentów kodów programów, czy plików konfiguracyjnych są dla mnie czytelne.
Czy zaproponowane podejście wymagałoby instalowania tych wszystkich słowników i algorytmów? A może przeglądarka odwiedzając witrynę w nieznanym dla niej języku pytała by o zainstalowanie słownika? Ja takiej technologii mówię: pass.

Współczesne technologie informatyczne powinny brać pod uwagę nie tylko obiążenia usługodawcy, ale również usługobiorcy. Droga ku przyszłości wiedzie przez pagórki totalnej optymalizacji. Optymalizacji uwzględniającej również globalne zużycie energii potrzebnej zarówno do przetwarzania informacji, jak i do wyprodukowania urządzeń do jej składowania (RAM, miejsce na dysku na słowniki, itd.).
Gdy się jednak spojrzy na problem w aspekcie globalnym – przeliczanie tego samego zadania miliardy razy przez miliony komputerów jest ekonomicznie nieuzasadnione. — wręcz przeciwnie, dzielenie wyrazów w przeglądarce WWW oznacza o wiele mniej operacji i o wiele lepszą kontrolę nad tekstem, a do tego również zauważalną oszczędność wykorzystania łączy sieciowych.
Wymaga ono wbudowania algorytmów dzielenia w przeglądarki, doposażenia ich w słowniki i algortymy dla wielu języków — a teraz muszą to robić sami autorzy stron WWW (współczuję prowadzącemu wielojęzyczny serwis WWW, chcącemu wprowadzić dzielenie wyrazów).
A może przeglądarka odwiedzając witrynę w nieznanym dla niej języku pytała by o zainstalowanie słownika? Ja takiej technologii mówię: pass — rozumiem, że trzymanie na komputerze krojów pisma Unicode ze wszystkimi alfabetami świata jest również przesadą? ;)