getico scripsi sermone libellum / v barbarskem jeziku sem napisal pričujočo knjižico

Ovid / Ribičev France iz Vrbe

Oblak besed bolj običajno WORDCLOUD je uporabna zadeva za hiter ogled vsebine dokumenta. Večkrat in pomembneje se pojavi beseda v tekstu bolj naj bi bila vidna v oblaku besed.

Primer na Krstu pri Savici:

Krst pri Savici je obsežna epsko-lirska pesnitev, ki jo je v drugi polovici leta 1835 napisal slovenski romantični pesnik France Prešeren. Pesem obravnavajo tudi kot slovenski nacionalni ep. Prešeren je pesem končal januarja leta 1836 in jo aprila izdal v samozaložbi v 600 izvodih. Wikipedija

Vsebina epa s strani pesnik.net

Primer z R

#http://www.sthda.com/english/wiki/text-mining-and-word-cloud-fundamentals-in-r-5-simple-steps-you-should-know

library(tm)
library(wordcloud)

text <- readLines("./../../static/data/2019-02-17_Krst_pri_Savici.txt", encoding = "UTF-8")
#text <- iconv(text, from ="UTF-8", to = "Windows-1250") #da ohranis sumnike, to je iz R4.3, v R5.2 deluje ok brez tega.
#text <- iconv(text, from ="Windows-1250", to = "latin1") #da ohranis sumnike

docs <- Corpus(VectorSource(text))
#docs <- tm_map(docs, content_transformer(tolower))
docs <- tm_map(docs, removeWords, 
               c("bi", "je", "že", "se", "z", "s", "za", "in", "še", "ki",
                 "v", "si", "so", "je", "ko", "ga", "ti", "ni", "ne", "jih",
                 "de", "da", "njih", "kdo", "jim", "po", "na", "le", "ji", "bila",
                 "bil", "po", "bi", "kak", "kar", "sem", "vse", "tam", "zdaj",
                 "kjer", "med", "pri")
               )
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, stripWhitespace)

dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 20)
##                word freq
## črtomír     črtomír   15
## bogomila   bogomila   10
## mož             mož    9
## valjhun     valjhun    8
## meč             meč    8
## noč             noč    8
## vero           vero    7
## življenje življenje    7
## tje             tje    7
## svoje         svoje    7
## srce           srce    7
## ljubezen   ljubezen    7
## ker             ker    7
## bog             bog    7
## préd           préd    6
## čez             čez    6
## tvoja         tvoja    6
## ljubezni   ljubezni    6
## vere           vere    6
## pravi         pravi    6
set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
          max.words=50, random.order=FALSE, rot.per=0.35, 
          colors=brewer.pal(7, "Blues"))

Primer z python

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import numpy as np
import random
text = open("./../../static/data/2019-02-17_Krst_pri_Savici.txt", "r",  encoding='utf-8').read()
def blue_color_func(word, font_size, position, orientation, random_state=None,
                    **kwargs):
    #nekaj okrog modrega je 230
    return "hsl(230, 65%%, %d%%)" % random.randint(10, 100)
def generate_wordcloud(text): 
    wordcloud = WordCloud(background_color = "white", 
          max_words = 50, contour_color = "blue",
          relative_scaling = 0.9, max_font_size = 50,
          mode="RGB",
          stopwords = {
                  "bi", "je", "že", "se", "z", "s", 
                  "za", "in", "še", "ki",
                  "v", "si", "so", "je", "ko", 
                  "ga", "ti", "ni", "ne", "jih",
                  "de", "da", "njih", "kdo", "jim", 
                  "po", "na", "le", "ji", "bila",
                  "bil", "po", "bi", "kak", "kar", 
                  "sem", "vse", "tam", "zdaj",
                  "kjer", "med", "pri", "mu", "bo", 
                  "mi", "te", "al", "me", "jo", 
                   "ker", "od"
                    } # set or space-separated string
          ).generate(text)
    plt.imshow(wordcloud.recolor(color_func=blue_color_func,
              random_state=5),interpolation="bilinear")
    plt.axis("off")
    plt.show()
generate_wordcloud(text)

Primer z i-neta

Najenostavneje in najhitreje je uporabiti že kak program z medmrežja.

Uporabljen program: https://tagcrowd.com/

OK, šumnikov pač ni :)