Akiri la plej uzitajn vortojn de teksto kaj kiom da fojoj ili ripetiĝas: per Python kaj Coreutils

En ĉi tiu artikolo mi montras kiel simple akiri la plej uzitajn vortojn de teksto. Ĉi-okaze mi uzos kiel montron la tekston de la oka libro de la novelo Τῶν περὶ Χαιρέαν καὶ Καλλιρρόην, eltirita el https://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%3A2008.01.0668%3Abook%3D8. Mi forigis la notojn, kiun ĝi havis inter kvadrataj krampoj, per sed:

sed -i 's/\[[^]]*\]//g' oka_libro.txt

La programo, kiu montras al ni ĉiujn vortojn estas jen, mi nomis ĝin listo-de-vortoj.py (mi klarigas sekve kiel ĝi funkcias):

archivo_texto = open('oka_libro.txt', 'r')
texto = archivo_texto.read()
archivo_texto.close()

palabras = texto.split()

for palabra in palabras:
    print(palabra.strip('‘’:;,.').lower())

En la teksta dosiero, kiun mi nomis oka_libro.txt (elŝuti), mi supozas, ke vorto estas apartigita per blanka spaceto, do mi uzas la split-funkcion por akiri la liston de vortoj. Tamen kelkfoje estas komoj, punktoj, citiloj, dupunktoj, punktokomoj antaŭ aŭ post la vortoj, kaj kelkfoje ili komenciĝas per majuskloj. Por tiuj okazoj sufiĉas uzi la strip()-funkcion per la signoj, kiujn ni volas forĵeti inter citiloj, kaj lower() por minuskligi la vorton.

Nun mi volas, ke la vortoj, kiuj pleje aperas en la teksto, estu montritaj en la ekrano, kun la nombro de fojoj, kiam ili aperas dekstre; sed mi ne programos ĝin; mi uzos ilojn, kiuj ebligas fari tion en GNU/Linukso: uniq kaj sort.

Legu plu el Akiri la plej uzitajn vortojn de teksto kaj kiom da fojoj ili ripetiĝas: per Python kaj Coreutils