Difference between revisions of "Vydavatelství slovníků"
(Doplnění následovnických funkcí) |
(jméno souboru musí zjevně začínat velkým písmenem, + google disk odkaz) |
||
Line 151: | Line 151: | ||
=Kód= | =Kód= | ||
− | [[File: | + | [[File:Vydavatelstvi_slovniku.ods]] |
+ | [https://drive.google.com/file/d/18gmu79o6x-3pepLn4-9_0it_mnMhTf87/view?usp=drive_link Soubor simulace na Google Disku] | ||
Simulace postupuje na základě následovnických funkcí, které jsou následující: | Simulace postupuje na základě následovnických funkcí, které jsou následující: |
Revision as of 17:33, 12 June 2023
"Něco lingvistického."
Contents
Definice problému
Bude simulována firma, která se zabývá tvorbou a prodejem překladových slovníků, kde na 1 straně je čeština. Postupně buduje svoje portfolio produktů na základě toho, jak rychle zpracovává slovníková hesla pro vydání potřebné velikosti slovníku, a na základě poptávky ovlivněné geopolitickými událostmi vydává nová vydání. Jejím cílem je mít konsistentní zpracování všech předem vytyčených jazyků s pomocí počítačových technologií, a zacelit tak všechny díry na trhu českých překladových slovníků, jejichž zpracování nebylo v minulých režimech možné z politických či technických důvodů. Noví zaměstnanci (zvyšující rychlost zpracování hesel) jsou z důvodu stability týmového prostředí nabíráni jen v případě zvýšené poptávky. Simulace je inspirována příhodným vydáním ukrajinského slovníčku od firmy Lingea z pekuliárního roku 2022, a ukrajinské konverzace z roku 2023.
Cíl simulace
Hlavním cílem je prověřit dlouhodobou (20+ let) rentabilitu a ziskovost v obnoveném volnotržním prostředí, obzvláště v pozdních fázích, kdy slovníky většiny jazyků budou zpracovány do velké velikosti (100000+ hesel), ačkoliv poptávka po nich bude lehce klesat.
Zdroje dat
Data budou získána či spíše odvozena z výročních zpráv Lingea s.r.o. v Obchodním rejstříku, nebot používají zkrácený rozsah a nemají povinnost ověření auditorem. Důležitým zdrojem je také produktové portfolio této firmy, které určí jednotlivé druhy slovníků. Doplněny jsou také formáty největších českých slovníků, kterou používají jako základ pro část s češtinou napřed.
Ohledně dějepisných událostí se simulace se inspiruje v celkové pravděpodobnosti válek, ale nebude natvrdo zakódováno, že USA má v roce 2003 napadnout Irák, Rusko má v roce 2008 napadnout Gruzii, nebo že se má v roce 2011 stát arabské jaro. Bude ale ctěno, že státy NATO nikdy nejsou napadány.
Rychlost zpracování slovníkových hesel je odvozena z průměrné rychlosti psaní. Zaměstnanci jsou považovaní za experty na svůj jazyk, tudíž nejsou ve zpracování hesel omezení potřebou o nich dlouze přemýšlet.
Metoda
Formulování a zpracování tématu je inspirováno soutěžními zadáními z FMWC. V základu simulované části reality je použito Monte Carlo, na rozhodovací úrovni jsou použity prvky Dračího doupěte. Prozatímní název pro tuto kombinaci je Šmakova hora. Narozdíl od Monte Carla není a priori cílem konvergence výsledků.
Počet kol je 50 po 1 roce, počínaje rokem 2001. V každém kole je 12 tahů odpovídajícím 1 měsíci.
Použitý program je LibreOffice Calc, neboť umožňuje defici vlastních funkcí imperativně přímo v LibreOffice Basic, namísto méně pohodlného funkcionálního psaní lambd ve správci jmen v M$ Excel 365, přičemž v nejnovější stabilní verzi 2021 lambdy nejsou podporovány.
Samotná simulace je postavena na sledování a aktualizaci stavových proměnných pomocí následovnické funkce s podmíněným rozhodnutím, zda se jedná o konec roku.
Model
V LibreOffice byla simulace rozdělená do 6 různých listů:
- Počáteční - konfigurace simulace
- Slovníky - data druhů slovníků
- Jazyky - konfigurace proměnných na každý jazyk
- Simulace - samotná simulace
Počáteční proměnné
- Peníze = 1000000 Kč
- sílaZamE = 1000 hesel/měsíc (normální)
- sílaZamSigma = 500 hesel (variace přínosu pro kolektiv)
- výchylnostZam = 100 hesel (momentální variace zpracovaných slov)
- mzda = 20000 Kč (k roku 2000)
- početJazyků = 20
- početNonPaxAm = 13
- pstVálka = 0,1 (každý měsíc)
- poptFaktAgresor = 5
- poptFaktNapaden = 10
- velikostTrhu = 20000000 lidí
- inflaceCíl = 1,02 (lognormální)
- inflaceSigma = 0,2
- globPoptFakt = 0,001
- poptSigma = 1000 lidí
- cenaDB = 0,1 Kč/heslo
- nákladyA4 = 0,1 Kč/list
Slovníky
Simulovaná firma chce vydávat 12 (dodekahedron) druhů slovníků. Nejsou uvažováni průvodci a gramatiky.
- konverzace - 6k, obsahuje krátký slovníček a relativně fixní seznam frází.
- slovníček - 30k
- kapesní - 35k, obsahuje stručnou konverzaci
- šikovný - 40k, obsahuje konverzaci
- praktický - 50k
- úzký velký - 60k, pozorováno u čínštiny a japonštiny
- tlustý velký - 120k, pozorováno u angličtiny a němčiny
- vícesvazkový - 250k, podle PSJČ a SSJČ
- mega - 1M,
- mluvník - 2k, potřeba 100k
- tematický - 20k, potřeba 100k
- slang - 5k, potřeba 100k, jedná se o podmnožinu
Jazyky
Bylo vybráno 20 (ikosahedron) jazyků s nejvyšším počtem mluvčích podle Ethnologue. Portfolio Lingey zahrnuje místo některých jihoasijských jazyků jazyky evropských států, nicméně pro řadu jihoasijských jazků velký slovník s češtinou na 2. straně nevyšel, tudíž se jedná o tržní příležitost.
- angličtina
- čínština
- hindština
- španělština
- francouzština
- arabština - v dosavadních slovnících řazeno zpravidla podle kořenu
- bengálština
- ruština
- portugalština
- urdu
- indonéština
- němčina
- japonština
- marathi
- telugu
- turečtina
- tamilština
- vietnamština
- filipínština (tagalog)
- korejština
Proměnné na každý jazyk
- Poptávka
- Počet zaměstnanců
- Síla kolektivu (hesel za měsíc)
- Počty každého z 12 druhů slovníku
Proměnné zvlášť
- Rok
- Měsíc
- Peníze
- Mzda
- jeVálka
- agresorIdx - vygenerované
- agresor - referencované jméno
- napadenýIdx - vygenerované
- napadený - dereferencované
Výsledky
Na začátku je patrná potřeba zadlužení na prvotní várky konverzací, potom má ale firma více než dostatek peněz na případné reinvestice, a dokonce přibývají.
Nebýt nemilosrdného vyhození všech zaměstnanců kromě jednoho po dosažení milionu slov v daném jazce (někdy zbyde ten, který zvládne slova přidávat), projekt by přestal být komerčně rentabilní, neboť po uspokojení většiny poptávky, kterážto je v této simulaci omezená, se nevyplatí dále provozovat celou firmu. I u jazyků, kde se začíná s nejmenším počtem zaměstnanců, se tak stane do 15 let. To je méně než 1 generace, narozdíl od doby, kterou trvalo ručně dokončit vícesvazkové slovníky v minulém století.
Závěr
Vzhledem k příliš striktní deadline nemohla být simulace zcela implementována pro všechny velikosti slovníků s ohledem na proměňující se bias poptávky. Deterministické rozřazování, kolik čeho vytisknout, by trvalo implementovat další měsíc.
Odkazy
- Portfolio Lingea
- Sbírka listin Lingea s.r.o.
- Ethnologue - What are the top 200 most spoken languages? (Neplacená top 45 na Wiki)
- Seznam slovníků podle počtu slov
- LEXIKO - O slovnících
Kód
File:Vydavatelstvi slovniku.ods Soubor simulace na Google Disku
Simulace postupuje na základě následovnických funkcí, které jsou následující:
Proměnná | Kód funkce | Komentář |
---|---|---|
Rok | rok[i-1]+IF(měsíc[i]=1;1;0) | Rok se zvedá každých 12 měsíců |
Měsíc | MOD(měsíc[i-1];12)+1 | Měsíce jsou číslované od 1 |
Peníze | peníze[i-1]-SUM(Zaměstnanci[i])*mzda[i-1]-MIN(0;(konverzací[i]-konverzací[i-1]))*(konst[konverzace]+var[konverzace]*potřebaHesel[konverzace])+MIN(0;(konverzací[i-1]-konverzací[i]))*cena[konverzace] | atd. pro všechny druhy |
jeVálka | IF(RANDBETWEEN(0;1/pstVálka)=0;1;0) | Tradiční hod 1/pstVálka-strannou kostkou |
agresorIdx | IF(jeVálka=1;RANDBETWEEN(0;početJazyků);"-") | Další hod početJazyků-strannou kostkou |
agresor | IF(agresorIdx="-";"-";IF(agresorIdx=0;"jiný";VLOOKUP(agresorIdx;Jazyky;3;FALSE()))) | Dereference pro kontrolu |
napadenýIdx | IF(jeVálka=1;RANDBETWEEN(0;početNonPaxAm);"-") | Státy NATO nikdy nejsou napadeny |
napadený | IF(napadenýIdx="-";"-";IF(napadenýIdx=0;"jiný";VLOOKUP(napadenýIdx;Jazyky.nonPaxAmIdx;2;FALSE()))) | Dereference pro kontrolu |
Slov | Slov[k][i-1]+KolektivSíla[k][i-1]+ROUND(NORM.INV(RAND();0;Zaměstnanci[k][i]*výchylnostZam)) | x20 pro každý jazyk k |
Zaměstnanci | IF(měsíc[i]=1;IF(slov[k][i-1]<Slovníky[potřebaHesel][mega];Zaměstnanci[k][i-1]+RANDBETWEEN(0;1);sílaZamE);Zaměstnanci[k][i-1]) | x20 pro každý jazyk k |
KolektivSíla | =MAX(0;kolektivSíla[k][i-1]+(Zaměstnanci[k][i]-Zaměstnanci[k][i-1])*ROUND(NORM.INV(RAND();sílaZamE;sílaZamSigma);0)) | x20 pro každý jazyk k |
Poptávka | =MAX(0;Poptávka[k][i-1]+ROUND(NORM.INV(RAND();(IF(agresorIdx[i]=k;poptFaktAgresor;1)*IF(napadenýIdx[i]=k;poptFaktNapaden;1))*(poptSigma+globPoptFakt*VLOOKUP(k;Jazyky;5;FALSE()));poptSigma);0)-Konverzací[k][i-1]) | x20 pro každý jazyk k, atd. pro všechny druhy |
Konverzací ... Slangů | =IF(Slov[k][i-1]>Slovníky[potřebaHesel][konverzace];MAX(Poptávka[k][i-1];CM4);Konverzací[k][i-1])-MIN(Poptávka[k][i-1];Konverzací[k][i-1]) | x20 pro každý jazyk k, atd. pro každý druh slovníku |