Menu

Tree [bc1365] master /
 History

HTTPS access


File Date Author Commit
 analisi 2020-11-27 dicpao dicpao [64fe69] Initial commit
 scriptR 2020-11-27 dicpao dicpao [64fe69] Initial commit
 README.txt 2020-11-27 dicpao dicpao [64fe69] Initial commit
 textanalytics.Rmd 2020-11-27 dicpao dicpao [64fe69] Initial commit
 textanalytics.html 2020-11-27 dicpao dicpao [64fe69] Initial commit
 util.py 2020-11-27 dicpao dicpao [64fe69] Initial commit
 yabasta.py 2020-11-27 dicpao dicpao [64fe69] Initial commit

Read Me

YA BASTA!

YA BASTA! (Yet Another BAsic Scraper and Text Analysis!) è un sw applicativo di tipo desktop grafico per 
ambiente windows(dovrebbe funzionare anche su altri OS ma non è stato testato!).
YA BASTA! permette lo scraping di testi di canzoni di gruppi/cantanti dal sito AZLyrics e la successiva analisi 
del testo delle canzoni scaricate. Prima di far partire l'applicazione leggere le operazioni di configurazione.
Per farlo partire da console dei comandi digitare:
python.exe yabasta.py
Il software è scritto in Python ed R, in cui i moduli R vengono chiamati come sottoprocessi dal codice R.
Sono presenti due sezioni in tale sw:  

* sezione Web Scraper; 
* sezione Text Lyrics Analysis.
Allo stato attuale nel software è stato precaricato il file scaricato sui rollingstones, su cui è possibile eseguire tutte le analisi
 sul testo. Se viene usato il web scraper viene sovrascritto il file analisi/LastOne.txt con il gruppo/cantante configurato per lo scraping.
Se si vuole ripristinare il gruppo rolling stones già scaricato inserire nel file analisi/LastOne.txt la stringa AzLyricsTheRollingStones.csv 
senza spazi ne righe vuote.
* Web Scraper (Features)
    ** Possibilità di scelta del sito(al momento disponibile AZLyrics)
    ** Cantante (RollingStones, Beatles, Who, <campo libero>)
    ** Numero testi canzoni da scaricare
    ** Per ogni lyrics scaricato viene inserito in un file csv (AZLyrics<Cantante><NumeroTesti>.csv) 
       il testo, il nome della canzone, l'album, l'anno e hyperlink di scaricamento
    ** Eliminazione ridondanze: la stessa canzone non viene scaricata due volte
    ** Rilevazione Captcha: utente viene avvertito della presenza di Captcha
    ** Rilevazione di IP bannato: utente viene avvertito di cambiare IP (tramite riavvio router)

* Text Lyrics Analysis (Features)
    ** Analisi preliminare: Misure Lessicometriche(Type, Token, TTR, Hapax), Scatterplot parole più frequenti  
        con intervallo ranking di frequenza configurabile, Salvataggio del vocabolario nella directory delle
        analisi nella forma vocabolario.csv;
    ** Wordcloud, TextCloud, BarPlot: intervallo ranking di frequenza configurabile, normalizzazione semplice 
        e morfologica (lemming, stemming, both) disponibile; i grafici generati sono disponibili nella directory
        delle analisi;
    ** Analisi delle corrispondenze lessicali: acl esguita sul metadato anno; possibilità di configurare fino 
       a quattro periodi nella forma periodo1;..,periodo4 dove periodox è nella forma Label, (da)aaaa--aaaa(a)
       es: albori, 1960-1970; crea gruppo delle canzoni composte tra il 1960 ed il 1970, gruppo indicato con
       etichetta albori; è data anche la possibilità di studiare la corrispondenza lessicale tra i gruppi e 
       le parole aventi una minima frequenza totale nel corpus; i grafici generati sono disponibili nella directory
       delle analisi così come il file delle specificità(quanto è specifica una parola rispetto ad un periodo);
       se non vengono configurati i periodi vengono configurati il default valido per i RollingStones:
       Albori,1960-1970;SuccessoRock,1970-1980;NuoveTendenze,1980-1995;Today,1995-2020;  
    ** Analisi latente semantica: vengono generati due grafici feature e docs, nel primo viene mostrata la ASL delle
        parole nel secondo viene mostrata la ASL dei periodi analizzati; è possibile configurare sia il numero di parole
        da analizzare in ASL fissando il ranking massimo delle parole da analizzare sia i periodi da analizzare; 
        possibilità di configurare fino a quattro periodi nella forma periodo1;..,periodo4 dove periodox è nella forma 
        Label, (da)aaaa--aaaa(a);i grafici generati sono disponibili nella directory delle analisi;
        se non vengono configurati i periodi vengono configurati il default valido per i RollingStones:
       Albori,1960-1970;SuccessoRock,1970-1980;NuoveTendenze,1980-1995;Today,1995-2020; 
    ** Cluster: possibilità di configurare fino a quattro periodi nella forma periodo1;..,periodo4 dove periodox
       è nella forma Label, (da)aaaa--aaaa(a) su cui basare la acl da clusterizzare; vengono clusterizzate le parole del 
       corpus che hanno una frequenza maggiore di min frequenza configurabile; sono disponibili tre tipi di 
       grafici: dendogramma, clusterizzazione e word cluster; word cluster riporta in una word cloud le parole relative 
       ad un periodo configurato dove il periodo è riportato all'interno della nuvola come parola a massima frequenza;
       i grafici generati sono disponibili nella directory delle analisi;  all'interno della directory analisi vengono
       inoltre riportati il file della percentuale di composizione del cluster rispetto ai periodi configurati ed il  
       file contenente le parole che appartengono ai cluster formati;
       se non vengono configurati i periodi vengono configurati il default valido per i RollingStones:
       Albori,1960-1970;SuccessoRock,1970-1980;NuoveTendenze,1980-1995;Today,1995-2020; 
    ** Serie storica dell'analisi della Sentiment del testo delle canzoni: viene calcolata la sentiment delle 
       singole canzoni, i valori per anno vengono raggruppati eseguendo la media;
       Sul grafico viene disegnata la retta di regressione e la LOESS per andamenti locali;i grafici generati sono 
       disponibili nella directory delle analisi;
    
* Operazione di configurazione (Windows Only):
    ** Inserire path di Rscript in analisi/Command.txt
    ** Inserire path librerie R in analisi/RLibrary.txt
    ** stringa di default per i periodi ACL, ASL e Cluster quando non vengono configurati:
       Albori,1960-1970;SuccessoRock,1970-1980;NuoveTendenze,1980-1995;Today,1995-2020;
       
* Descrizione dei file del sw YA BASTA!:
    ** README.txt: questo file
    ** analisi/Command.txt: contiene il path di Rscript 
    ** analisi/RLibrary.txt: contiene il path alle librerie R
    ** analisi/LastOne.txt: contiene l'ultimo cantante/gruppo scaricato oggetto della text analysis seguente
    ** analisi/AzLyricsTheBeatles.csv: contiene lo scraping delle canzoni(112) dei RollingStones; per ogni canzone viene
       riportato il titolo, l'album, l'anno di produzione, il testo ed il link da cui sono state ottenute le precedenti 
       informazioni
    ** webscraping.py: è il modulo principale del sw in cui viene definita l'interfaccia grafica, il web scraper e 
       l'interfaccia verso le funzioni wrapper per i comandi di analisi del testo scritti in R;
    ** util.py: wrapper per i comandi di analisi del testo scritti in R;
    ** analisi/createDBandPlot.R: codice per la creazione di un db di parole, misure lessicometriche, ed il
       vocabolario delle parole del corpus
    ** analisi/createWordCloud.R: codice per la creazione di una text word cloud
    ** analisi/createTextWordCloud.R: codice per la creazione di una text word cloud 
    ** analisi/createBarPlot.R: codice per la creazione di un barplot parole/frequenza del corpus
    ** analisi/createACL.R: analisi delle corrispondenze lessicali
    ** analisi/createASL.R: analisi semantica lesssicale
    ** analisi/createCluster.R: cluster analysis
    ** analisi/createSentimentTS.R: contiene la sentiment analysis
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.