ITI0140: Ülesanne 12

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti

Filoloogi kirg.

Praeguseks olete Te nii palju õppinud ja kogenud. Olete reisinud ebaproportsionaalse rongiga, üritanud lahendada petturist krahvi ülesannet, tutvunud India vahetusõpilasega, tegelenud matemaatiliste kitsedega jne. Te suunate oma kire erinevate piltidega manipuleerimise võtete poole. Te tahate tutvuda Pythoni piltitöötlemise maagilise maailmaga.

Teie esimeseks temaatiliseks ülesandeks on aidata oma korea keele filosoofist ema. Ta üritab nuputada meetodit, kuidas kavalalt tutvustada oma Korea kolleegidele eesti kirjandust. Te kaks loote tiimi ja tulete peatselt SUUREPÄRASE idee peale. Miks mitte näidata ühe klassikalise Eesti teose sõnapaaride esinemise sagedust heatmap-na. Just, lugesite õigesti! Meetod, mida kasutatakse edukalt mitmes muus valdkonnas (näiteks meteroloogia).

Teie ema usaldab vastava programmi kirjutamise teie hoolde.

Nõuded:

Laadige alla mall ja Jakobsoni tekstifail ja kirjutage programm järgmistesse funktsioonidesse:

read_file(file): --> loeb tekstifaili ja tagastab listi kõikide tekstifailis sisaldunud sõnadega.

pair_frequency(word_list) --> loeb sisse eelmise funktsiooni poolt tagastatud listi ja
konverteerib selle sõnastikuks, kus võtmeks on kõik esinevad tähepaarid ja väärtuseks nende esinemise sagedus. Sõnastiku võtmete koostamisel tuleb arvestaga, et tähed ei ole tõstutundlikud. See tähendab, et ei eristata ABC ja abc, vaid kõik võtmed on kas väikeste tähtede või suurte tähtedega.
Näiteks: pair_frequency(['lammas','ämm']) --> {'la':1,'am':1,'mm':2,'ma':1,'as':1,'äm':1}

create_heatmap(filename,pair_dictionary) --> võtab parameetriteks eelmise funktsiooni sõnastiku ja salvestab sellest loodud filename nimelisse pildifaili.

NB! heatmap tuleb tagastada tuleb .png laiendiga faili kujul ja koostatud kaart peab sisaldama tähepaaridena eesti laiendatud tähestikku (32 sümboliga): A B C D E F G H I J K L M N O P Q R S Š Z Ž T U V W Õ Ä Ö Ü X Y.

Näide: http://blogs.sas.com/content/iml/files/2014/10/heatmapdisc4.png