[PYTHON] J'ai essayé de visualiser les paroles de GReeeen, que j'écoutais de façon folle dans ma jeunesse mais que je ne l'écoutais plus.

Déclencheur

GReeeen écoutait fou dans sa jeunesse. Je me demande pourquoi je ne l'ai pas écouté maintenant alors que je l'écoutais tellement ... J'ai commencé à penser de cette façon. Nous visualiserons la tendance du message des chansons de GReeeen et analyserons les paroles pour comprendre pourquoi vous avez arrêté d'écouter = pourquoi vous ne pouviez pas sympathiser avec la chanson.

Article de référence

environnement

1. Collection de paroles

Grattage de Uta Net.

import requests
from bs4 import BeautifulSoup
import pandas as pd
import time

#Créer une table pour contenir les données récupérées
list_df = pd.DataFrame(columns=['Paroles'])

for page in range(1, 3):
    #Adresse du haut de la page de la chanson
    base_url = 'https://www.uta-net.com'

    #Page de liste des paroles
    url = 'https://www.uta-net.com/artist/5384/' + str(page) + '/'
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'lxml')
    links = soup.find_all('td', class_='side td1')
    for link in links:
        a = base_url + (link.a.get('href'))

        #Page de détail des paroles
        response = requests.get(a)
        soup = BeautifulSoup(response.text, 'lxml')
        song_lyrics = soup.find('div', itemprop='lyrics')
        song_lyric = song_lyrics.text
        song_lyric = song_lyric.replace('\n','')
        #Attendez 1 seconde pour ne pas charger le serveur
        time.sleep(1)

        #Ajouter les paroles acquises au tableau
        tmp_se = pd.DataFrame([song_lyric], index=list_df.columns).T
        list_df = list_df.append(tmp_se)

print(list_df)

#csv enregistrer
list_df.to_csv('/Users/Nom d'utilisateur/greeeen/list.csv', mode = 'a', encoding='cp932')

2. Transformez les paroles en mots (analyse morphologique)

from janome.tokenizer import Tokenizer
import pandas as pd
import re

#list.Lire le fichier csv
df_file = pd.read_csv('/Users/Nom d'utilisateur/greeeen/list.csv', encoding='cp932')

song_lyrics = df_file['Paroles'].tolist()

t = Tokenizer()

results = []

for s in song_lyrics:
    tokens = t.tokenize(s)

    r = []

    for tok in tokens:
        if tok.base_form == '*':
            word = tok.surface
        else:
            word = tok.base_form

        ps = tok.part_of_speech

        hinshi = ps.split(',')[0]

        if hinshi in ['nom', 'adjectif', 'verbe', 'adverbe']:
            r.append(word)

    rl = (' '.join(r)).strip()
    results.append(rl)
    #Remplacement du code de caractère supplémentaire
    result = [i.replace('\u3000','') for i in results]
    print(result)

text_file = '/Users/Nom d'utilisateur/greeeen/wakati_list.txt'
with open(text_file, 'w', encoding='utf-8') as fp:
    fp.write("\n".join(result))

3. Visualisation (Word Cloud)

from wordcloud import WordCloud

text_file = open('/Users/Nom d'utilisateur/greeeen/wakati_list.txt', encoding='utf-8')
text = text_file.read()

#Chemin de la police japonaise
fpath = '/System/Library/Fonts/Hiragino Mincho ProN.ttc'

#Suppression de mots qui semble dénuée de sens
stop_words = ['alors', 'Absent', 'Est', 'Faire', 'Tel quel', 'Yo', 'Teru', 'Devenir', 'chose', 'Déjà', 'Bien', 'y a-t-il', 'aller', 'Être']

wordcloud = WordCloud(background_color='white',
    font_path=fpath, width=800, height=600, stopwords=set(stop_words)).generate(text)

#L'image est wordcloud.Enregistrez png dans le même répertoire que le fichier py
wordcloud.to_file('./wordcloud.png')

Produit fini

image.png

Il existe de nombreux mots tels que «nous» et «aujourd'hui» qui sont proches de la personne ou du présent en termes de temps et d'espace. D'autres sont associés au progrès et au changement comme «aller», «avancer» et «changer», et «probablement» avec l'incertitude apparaît fréquemment. Après cela, vous pouvez voir "rire" et "sourire".

Conclusion

Cette analyse a révélé que mon esprit d'adulte est assez dur.
Je pense que j'avais le cœur froid pour m'adapter à la société, mais il semble que j'ai perdu le cœur brûlant et croyant que j'avais dans ma jeunesse. Sur la base de ce résultat, je ferai de mon mieux pour avoir la jeunesse comme la jeunesse. Je pense que je vais augmenter le nombre de fois où je ris pour le moment ...

Recommended Posts

J'ai essayé de visualiser les paroles de GReeeen, que j'écoutais de façon folle dans ma jeunesse mais que je ne l'écoutais plus.
Comme c'est le 20e anniversaire de la formation, j'ai essayé de visualiser les paroles de Parfum avec Word Cloud
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé de résumer le code souvent utilisé dans Pandas
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé de visualiser la consommation électrique de ma maison avec Nature Remo E lite
[Traitement du langage naturel] J'ai essayé de visualiser les remarques de chaque membre de la communauté Slack
J'ai essayé de bien le comprendre en implémentant l'algorithme Adaboost en machine learning (+ j'ai approfondi ma compréhension du calcul de tableaux)
J'ai essayé de résumer la méthode de mise en œuvre fréquemment utilisée de pytest-mock
J'ai essayé de visualiser la condition commune des téléspectateurs de la chaîne VTuber
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
J'ai essayé d'améliorer la précision de mon propre réseau neuronal
Je veux exprimer mes sentiments avec les paroles de Mr. Children
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
[Supplément à l'article précédent] J'ai essayé d'utiliser l'API PUSH de LINE Bot, qui était devenue disponible dans le plan gratuit avant que je le sache.
J'ai essayé de réveiller le nom de lieu qui apparaît dans les paroles de Masashi Sada sur la carte thermique
Je voulais connaître le nombre de lignes dans plusieurs fichiers et j'ai essayé de l'obtenir avec une commande
J'ai essayé d'organiser les index d'évaluation utilisés en machine learning (modèle de régression)
J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK
J'ai essayé de récupérer les données de l'ordinateur portable en le démarrant sur Ubuntu
Je n'ai pas compris le redimensionnement de TensorFlow, alors je l'ai résumé visuellement.
J'ai fait de mon mieux pour créer une fonction d'optimisation, mais cela n'a pas fonctionné.
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de créer OneHotEncoder, qui est souvent utilisé pour l'analyse des données, afin qu'il puisse atteindre l'endroit qui démange.
[Pas de code] J'ai écrit sur les courbes elliptiques et la blockchain dans ma thèse de fin d'études, alors j'ai essayé de résumer la méthode d'étude
J'ai essayé de gratter YouTube, mais je peux utiliser l'API, alors ne le faites pas.
Python pratique 100 coups J'ai essayé de visualiser l'arbre de décision du chapitre 5 en utilisant graphviz
J'ai essayé de visualiser les caractéristiques des nouvelles informations sur les personnes infectées par le virus corona avec wordcloud
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
J'ai essayé de visualiser les données de course du jeu de course (Assetto Corsa) avec Plotly
J'ai essayé de faciliter la modification du paramètre du proxy authentifié sur Jupyter
Depuis que le stock a plongé en raison de l'influence du nouveau virus corona, j'ai essayé de visualiser les performances de ma fiducie d'investissement avec Python.
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de classer les voix des acteurs de la voix
J'ai essayé de résumer les opérations de chaîne de Python
[Traitement du langage naturel] J'ai essayé de visualiser les sujets d'actualité cette semaine dans la communauté Slack
Je veux voir quelque chose de beau, alors j'ai essayé de visualiser la fonction utilisée pour comparer la fonction d'optimisation.
J'étais en charge de la maintenance du script Fabric, mais je ne sais pas.> <À ceux qui
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
J'ai essayé de mettre HULFT IoT (Edge Streaming) dans la passerelle Rooster de Sun Electronics
J'ai essayé de trouver la tendance du nombre de navires dans la baie de Tokyo à partir d'images satellites.
[Python] J'ai visualisé les paroles d'Arashi avec WordCloud et j'ai essayé de démêler ce que je voulais transmettre aux fans en 20e année de formation.
J'ai essayé de trouver l'entropie de l'image avec python
[Courses de chevaux] J'ai essayé de quantifier la force du cheval de course
J'ai essayé d'obtenir les informations de localisation du bus Odakyu
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé d'illustrer le temps et le temps du langage C
Je l'ai écrit en langage Go pour comprendre le principe SOLID
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
[TF] J'ai essayé de visualiser le résultat de l'apprentissage en utilisant Tensorboard
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
J'ai essayé de combattre le minimum local de la fonction Goldstein-Price