Previous |  Up |  Next

Article

Summary:
Prostorově a časově efektivní segmentace (dělení slov) přirozených jazyků zůstává jádrem každého sázecího systému, ať už jde o TeX, webový prohlížeč nebo mobilní operační systém. Ve většině jazyků je dnes pragmaticky preferováno slabičné dělení reflektující výslovnost při čtení. Vzhledem k tomu, že přepínání jazyků často není v textech označeno, renderovací stroj (webový prohlížeč či TeX) potřebuje univerzální slabikovou segmentaci. V předloženém článku ukazujeme proveditelnost této myšlenky tím, že nabízíme prototypové řešení dvou hlavních problémů: A) použití Patgenu ke generování vzorů pro několik jazyků najednou; a B) neexistence podpory Unicode v nástrojích jako Patgen nebo TeX (vzory v kódování UTF-16). Pro A) jsme ke generování univerzálních slabičných vzorů použili seznamy slov devíti slabičných jazyků (čeština, slovenština, gruzínština, řečtina, polština, ruština, turečtina, turkmenština a ukrajinština). Pro B) jsme vytvořili verzi Patgen, která používá datovou strukturu Judy array, a porovnali její efektivitu s implementací trie. S údaji z těchto devíti jazyků ukazujeme, že: A) vyvinutí univerzálních, obecných slabičných vzorů s vysokým pokrytím je možné, a to s velkým dopadem na prakticky všechny sázecí stroje včetně webových prohlížečů; a B) podpora Unicode znaků ve vzorech dělení slov v programech TeX a Patgen je možná pomocí Judy array.
Summary:
Space- and time-effective segmentation (word hyphenation) of natural languages remains at the core of every document rendering system, be it TeX, web browser, or mobile operating system. In most languages, segmentation mimicking syllabic pronunciation is a pragmatic preference today. As language switching is often not marked in rendered texts, the typesetting engine needs universal syllabic segmentation. In this article, we show the feasibility of this idea by offering a prototype solution to two main problems: A) Using Patgen to generate patterns for several languages at once; and B) lack of Unicode support in tools like Patgen or TeX (patterns in UTF-16 encoding) is missing. For A), we have applied it to generating universal syllabic patterns from wordlists of nine syllabic, as opposed to etymology-based, languages (namely, Czech, Slovak, Georgian, Greek, Polish, Russian, Turkish, Turkmen, and Ukrainian). For B), we have created a version of Patgen that uses the Judy array data structure and compared its effectiveness with the trie implementation. With the data from these nine languages, we show that: A) developing universal, up-to-date, high-coverage, and highly generalized universal syllabic segmentation patterns is possible, with a high impact on virtually all typesetting engines, including web page renderers; and B) bringing wide character support into the hyphenation part of the TeX suite of programs is possible by using Judy arrays.
References:
[1] Sojka, Ondřej, Sojka, Petr, Máca, Jakub: A roadmap for universal syllabic segmentation. TUGboat. 2023, vol. 44, no. 2. ISSN 0896-3207. Dostupné také z: https://doi.org/10.47397/tb/44-2/tb137sojka-syllabic DOI 10.47397/tb/44-2/tb137sojka-syllabic
[2] Haralambous, Yannis: New hyphenation techniques in Ω₂. TUGboat. 2006, vol. 27, no. 1, s. 98–103. Dostupné také z: https://tug.org/TUGboat/tb27-1/tb86haralambous-hyph.pdf
[3] Bartlett, Susan, Kondrak, Grzegorz, Cherry, Colin: Automatic Syllabification with Structured SVMs for Letter-to-Phoneme Conversion. In: Proceedings of ACL-08: HLT. Columbus, Ohio: Assoc. for Computational Linguistics, 2008, s. 568–576. Dostupné také z: https://aclweb.org/anthology/P08-1065
[4] Marchand, Yannick, Adsett, Connie R., Damper, Robert I.: Automatic Syllabification in English: A Comparison of Different Algorithms. Language and Speech. 2009, vol. 52, no. 1, s. 1–27. Dostupné z DOI: 10.1177/0023830908099881. DOI 10.1177/0023830908099881
[5] Shao, Yan, Hardmeier, Christian, Nivre, Joakim: Universal Word Segmentation: Implementation and Interpretation. Transactions of the Association for Computational Linguistics. 2018, vol. 6, s. 421–435. Dostupné z DOI: 10.1162/tacl_a_00033. DOI 10.1162/tacl_a_00033
[6] Trogkanis, Nikolaos, Elkan, Charles: Conditional Random Fields for Word Hyphenation. In: Proceedings of the 48th Annual Meeting of the ACL. Uppsala, Sweden: ACL, 2010, s. 366–374. Dostupné také z: https://aclweb.org/anthology/P10-1038
[7] Krantz, Jacob, Dulin, Maxwell, Palma, Paul De: Language-Agnostic Syllabification with Neural Sequence Labeling. CoRR. 2019, vol. abs/1909.13362. Dostupné také z: https://arxiv.org/abs/1909.13362
[8] The Unicode Consortium: The Unicode Standard: Worldwide Character Encoding. Version 15.1. Mountain View, CA, USA: Unicode, Inc., 2023. ISBN 978-1-936213-32-0. Dostupné také z: https://unicode.org/versions/Unicode15.1.0
[9] Maddieson, Ian: Syllable Structure. In: DRYER, Matthew S.; HASPELMATH, Martin (eds.). The World Atlas of Language Structures Online. Leipzig: Max Planck Institute for Evolutionary Anthropology, 2013. Dostupné také z: https://wals.info/chapter/12
[10] Etymonline.com: Online Etymology Dictionary. "syllable". [online]. [N.d.]. [cit. 2023-07-23]. Dostupné z: https://www.etymonline.com/word/syllable
[11] Ústav pro jazyk český Akademie věd České republiky: Internetová jazyková příručka (Internet Language Reference Book). [online]. 2023. [cit. 2023-07-06]. Dostupné z: https://prirucka.ujc.cas.cz/?id=135
[12] Liang, Franklin M.: Word Hy-phen-a-tion by Com-put-er. 1983. Dostupné také z: https://tug.org/docs/liang/liang-thesis.pdf Dis. pr. Stanford University.
[13] Sojka, Petr: New Czechoslovak hyphenation patterns, word lists, and workflow. TUGboat. 2021, vol. 42, no. 2. ISSN 0896-3207. Dostupné také z: https://doi.org/10.47397/tb/42-2/tb131sojka-czech DOI 10.47397/tb/42-2/tb131sojka-czech
[14] Rosendahl, Arthur, Miklavec, Mojca: TeX hyphenation patterns. TUG, 2023. Dostupné také z: http://hyphenation.org/tex Accessed 2023-07-05.
[15] Jakubíček, Miloš, Kilgarriff, Adam, Kovář, Vojtěch, Rychlý, Pavel, Suchomel, Vít: The TenTen Corpus Family. In: Proc. of the 7th International Corpus Linguistics Conference (CL). Lancaster, 2013, s. 125–127.
[16] Knuth, Donald E.: 3:16 Bible Texts Illuminated. A-R Editions, Inc., 1991. ISBN 0-89579-252-4.
[17] Sojka, Petr, Ševeček, Pavel: Hyphenation in TeX – Quo Vadis?. TUGboat. 1995, vol. 16, no. 3, 280–289. Dostupné také z: https://tug.org/TUGboat/tb16-3/tb48soj1.pdf
[18] Liang, Franklin M., Breitenlohner, Peter: PATtern GENeration Program for the TeX82 Hyphenator. [Electronic documentation of PATGEN program version 2.4 on CTAN. https://ctan.org/pkg/patgen] 1999.
[19] Sojka, Petr: Competing Patterns in Language Engineering and Computer Typesetting. 2005. Dostupné také z: https://researchgate.net/publication/265246931_Competing_Patterns_in_Language_Engineering_and_Computer_Typesetting/ Dis. pr. Faculty of Informatics.
[20] Sojka, Petr, Sojka, Ondřej: The Unreasonable Effectiveness of Pattern Generation. TUGboat. 2019, vol. 40, no. 2, s. 187–193. Dostupné také z: https://tug.org/TUGboat/tb40-2/tb125sojka-patgen.pdf
[21] Sojka, Petr: Competing Patterns for Language Engineering. In: SOJKA, Petr; KOPEČEK, Ivan; PALA, Karel (eds.). Proceedings of the Third International Workshop on Text, Speech and Dialogue—TSD 2000. Brno, Czech Republic: Springer-Verlag, 2000, s. 157–162. LNAI 1902. Dostupné z DOI: 10.1007/3-540-45323-7_27. DOI 10.1007/3-540-45323-7_27
[22] Sojka, Petr, Sojka, Ondřej: Towards Universal Hyphenation Patterns. In: HORÁK, Aleš; RYCHLÝ, Pavel; RAMBOUSEK, Adam (eds.). Proceedings of Recent Advances in Slavonic Natural Language Processing—RASLAN 2019. Karlova Studánka, Czech Republic: Tribun EU, 2019, 63–68. Dostupné také z: https://nlp.fi.muni.cz/raslan/2019/paper13-sojka.pdf https://is.muni.cz/publication/1585259/?lang=en
[23] Máca, Jakub: Judy. Brno, Czech Republic, 2023. Dostupné také z: https://is.muni.cz/th/kru3j. Bachelor Thesis supervised by Petr Sojka and defended at Masaryk University, Faculty of Informatics.
[24] Lemberg, Werner: A database of German words with hyphenation information. 2023. Dostupné také z: https://repo.or.cz/wortliste.git
Partner of
EuDML logo