Četnost znaků v českém textu

Četnost znaků v českém textu, využitelné zejména pro frekvenční analýzu textu.

Znak Četnost (%)
E 11%
A 9%
O, I 8%
N 7%
S, T 5%
L, R, U, V 4%
D, K, M, P, Y 3%
C, B, J, Z 2%
Č, H, Ř, Š, Ž 1%
Ď, Ť, Ň 0.5%
F, G, Q, W, X < 0.5%

Bigramy

ST, PR, SK, CH, DN, TR

Trigramy

PRO, UNI, OST, STA, ANI, OVA, YCH, STI, PRI, PRE, OJE, REN, IST, STR, EHO, TER, RED, ICH

Kód

    /**
     * Vypise na vystup cetnost jednotlivych znaku souboru (v procentech), 
     * ignoruje znak noveho radku
     * @param source zdrojovy soubor
     * @param encoding kodovani souboru
     */
    public static void count(File source, String encoding) throws UnsupportedEncodingException, IOException{
        BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(source), encoding));
        
        TreeMap<Character, Integer> occurences = new TreeMap<Character, Integer>();

        String s = null;
        int counter = 0;
        while((s = reader.readLine())!= null){
            for(int i = 0; i < s.length(); i++){
                counter++;
                Character curr = (Character) s.charAt(i);
                if(occurences.get(curr) == null){
                    occurences.put(curr, new Integer(0));
                } else {
                    occurences.put(curr, occurences.get(curr).intValue() + 1);
                }
            }
        }

        for(Character ch : occurences.keySet()){
            System.out.println(ch.toString() + ": " + (occurences.get(ch).intValue()/(double)counter * 100));
        }
    }
{ zpětná vazba }
Delicious Delicious
Sdílet
Hodnocení (0): 0

Přečtěte si také

Diskuse





Článek zatím nemá žádné komentáře.