Při pročítání diskuze na abclinuxu.cz mi vždycky připadalo, že příspěvky ve slovenštině jsou daleko častěji psány bez diakritiky (Nic proti slovenštině, ale bez háčků a čárek se mi čte daleko hůř). A tak jsem se rozhodl exaktně ověřit, jestli je to tak.
A výsledek je takový:
58,2 % příspěvků je psáno s diakritikou, naopak bez diakritiky je jich 39,5 %. Zbývající 2,3 % jsou příspěvky bez textového obsahu, tj. smajlíci, čísla apod.
Česky je napsáno 80,1 % zápisů, slovensky 15,5 %, u zbývajících 4,4 % nelze rozpoznat použitý jazyk.
Jedna třetina (33,0 %) česky psaných zápisů neobsahuje háčky, u slovenštiny jsou to naopak téměř tři čtvrtiny (73,1 %) - z toho vyplývá jednoznačný závěr: Slováci (na abclinuxu.cz) kašlou na diakritiku více než Češi.
Postup:
Využil jsem toho, že diskuze je přístupná přes rozhraní news. Programem slrn-pull jsem stáhnul na disk posledních 10 000 příspěvků. Základní rozdělení na příspěvky s diakritikou a bez diakritiky jsem provedl na základě hlavičky Content-type (tj. ascii/ISO-8859-2) (tj. počítá se jen tělo příspěvku, nikoliv subject; to je logické, protože je jistě spousta případů, kdy bezháčkový člověk odpoví na příspěvek s háčkovaným subjectem). Při té příležitosti jsem z příspěvků odstranil patičky abclinuxu (linky na diskuzi):
Vlastní metoda rozdělení podle jazyka byla jednoduchá: pokud příspěvek obsahuje více českých slov, je český a vice versa.
Pro svůj účel jsem využil český a slovenský slovník MySpell, které jsem ale nejprve musel zbavit pomocných znaků a převést na malá písmena:
Z českého slovníku jsem ještě ručně odstranil slovo "a".
Z obou souborů jsem dále odstranil slova, která se vyskytují i ve druhém jazyce:
Potom jsem bral soubor po souboru, odstranil z nich cokoliv, co nebylo písmeno (díky, Yeti) a vyhledával jednotlivá slova v českém a slovenském slovníku.
cat $adresarcil/cz.txt | recode -f l2..flat | sort | uniq > czbezhacku.txt
A výsledek je takový:
58,2 % příspěvků je psáno s diakritikou, naopak bez diakritiky je jich 39,5 %. Zbývající 2,3 % jsou příspěvky bez textového obsahu, tj. smajlíci, čísla apod.
Česky je napsáno 80,1 % zápisů, slovensky 15,5 %, u zbývajících 4,4 % nelze rozpoznat použitý jazyk.
Jedna třetina (33,0 %) česky psaných zápisů neobsahuje háčky, u slovenštiny jsou to naopak téměř tři čtvrtiny (73,1 %) - z toho vyplývá jednoznačný závěr: Slováci (na abclinuxu.cz) kašlou na diakritiku více než Češi.
Postup:
Využil jsem toho, že diskuze je přístupná přes rozhraní news. Programem slrn-pull jsem stáhnul na disk posledních 10 000 příspěvků. Základní rozdělení na příspěvky s diakritikou a bez diakritiky jsem provedl na základě hlavičky Content-type (tj. ascii/ISO-8859-2) (tj. počítá se jen tělo příspěvku, nikoliv subject; to je logické, protože je jistě spousta případů, kdy bezháčkový člověk odpoví na příspěvek s háčkovaným subjectem). Při té příležitosti jsem z příspěvků odstranil patičky abclinuxu (linky na diskuzi):
#!/bin/bash adresarcil="/home/hajma/tmp/recode" adresarzdroj="/var/spool/slrnpull/news/gmane/user-groups/linux/czech" for soubor in $(ls $adresarzdroj) do cat $adresarzdroj/$soubor | formail -x Content-Type | grep us-ascii if [ $? -eq 0 ] then cat $adresarzdroj/$soubor | formail -I "" | sed -r /"^Zobrazit diskusi: http:\/\/www.abclinuxu.cz\/forum\/show\/"\|"^Zobrazit komentar: http:\/\ /www.abclinuxu.cz\/forum\/show\/"/d > $adresarcil/ascii/$soubor else cat $adresarzdroj/$soubor | formail -x Content-Type | grep ISO-8859-2 if [ $? -eq 0 ] then cat $adresarzdroj/$soubor | formail -I "" | sed -r /"^Zobrazit diskusi: http:\/\/www.abclinuxu.cz\/forum\/show\/"\|"^Zobrazit komentar: http:\ /\/www.abclinuxu.cz\/forum\/show\/"/d | recode l2/qp..l2 > $adresarcil/iso/$soubor fi fi done
Vlastní metoda rozdělení podle jazyka byla jednoduchá: pokud příspěvek obsahuje více českých slov, je český a vice versa.
Pro svůj účel jsem využil český a slovenský slovník MySpell, které jsem ale nejprve musel zbavit pomocných znaků a převést na malá písmena:
#!/bin/bash adresarcil="/home/hajma/tmp/recode" adresarzdroj="/usr/share/dict/ooo/" cat $adresarzdroj/cs_CZ.dic | sed -e s@"\/.*$"@@g | tr '[:upper:]' '[:lower:]' | sort | uniq > $adresarcil/cz.txt cat $adresarzdroj/sk_SK.dic | sed -e s@"\/.*$"@@g | tr '[:upper:]' '[:lower:]' | sort | uniq > $adresarcil/sk.txt
Z českého slovníku jsem ještě ručně odstranil slovo "a".
Z obou souborů jsem dále odstranil slova, která se vyskytují i ve druhém jazyce:
#!/bin/bash adresar="/home/hajma/tmp/recode" for slovo in $(cat $adresar/cz.txt) do grep -wq $slovo $adresar/sk.txt if [ $? -eq 1 ] then echo $slovo >> $adresar/cisteceskaslova.txt fi done for slovo in $(cat $adresar/sk.txt) do grep -wq $slovo $adresar/cz.txt if [ $? -eq 1 ] then echo $slovo >> $adresar/cisteslovenskaslova.txt fi done
Potom jsem bral soubor po souboru, odstranil z nich cokoliv, co nebylo písmeno (díky, Yeti) a vyhledával jednotlivá slova v českém a slovenském slovníku.
#!/bin/bash adresar="/home/hajma/tmp/recode/iso" for soubor in $(ls $adresar) do cz=0 sk=0 for slovo in $(cat $adresar/$soubor | sed 's/[^[:alpha:]]\+/\n/g' | sed 's/^[ \t]*//;s/[ \t]*$//' | sed '/^ $/d' | tr '[:upper:]' '[:lower:]') do #echo $slovo grep -wq -e $slovo /home/hajma/tmp/recode/cisteceskaslova.txt if [ $? -eq 0 ] then cz=$((cz+1)) fi grep -wq -e $slovo /home/hajma/tmp/recode/cisteslovenskaslova.txt if [ $? -eq 0 ] then sk=$((sk+1)) fi done if [ $cz -gt $sk ] then cp $adresar/$soubor /home/hajma/tmp/recode/diacz elif [ $cz -lt $sk ] then cp $adresar/$soubor /home/hajma/tmp/recode/diask elif [ $cz -eq 0 ] then cp $adresar/$soubor /home/hajma/tmp/recode/dianeznamo else cp $adresar/$soubor /home/hajma/tmp/recode/diaczsk fi doneUpdate: Zapomněl jsem doplnit, že podobně se to udělá i pro příspěvky bez diakritiky (převod slovníků na bezháčkové probíhá pomocí recode takto:
cat $adresarcil/cz.txt | recode -f l2..flat | sort | uniq > czbezhacku.txt
No comments:
Post a Comment