청춘 시절에 미쳐 듣고 있었지만 지금은 듣지 않게 된 그리엔의 가사를 가시화해 보았다.
계기
청춘 시절에 미쳐 듣고 있던 그리엔.
왜 그렇게 듣고 있었는데 지금 듣지 않게 된 것일까... 그렇게 생각한 것이 시작입니다.
GReeeen의 노래가 가진 메시지 경향을 시각화하고 듣지 못한 이유 = 노래에 공감할 수 없게 된 이유를 이해하기 위해 가사 분석을 실시합니다.
참고 기사
환경
1. 가사 수집
노래 그물 씨에서 스크래핑합니다.
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
#スクレイピングしたデータを入れる表を作成
list_df = pd.DataFrame(columns=['歌詞'])
for page in range(1, 3):
#曲ページ先頭アドレス
base_url = 'https://www.uta-net.com'
#歌詞一覧ページ
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'))
#歌詞詳細ページ
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','')
#サーバーに負荷を与えないため1秒待機
time.sleep(1)
#取得した歌詞を表に追加
tmp_se = pd.DataFrame([song_lyric], index=list_df.columns).T
list_df = list_df.append(tmp_se)
print(list_df)
#csv保存
list_df.to_csv('/Users/ユーザー名/greeeen/list.csv', mode = 'a', encoding='cp932')
2. 가사를 단어로 한다(형태소 해석)
from janome.tokenizer import Tokenizer
import pandas as pd
import re
#list.csvファイルを読み込み
df_file = pd.read_csv('/Users/ユーザー名/greeeen/list.csv', encoding='cp932')
song_lyrics = df_file['歌詞'].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 ['名詞', '形容詞', '動詞', '副詞']:
r.append(word)
rl = (' '.join(r)).strip()
results.append(rl)
#余計な文字コードの置き換え
result = [i.replace('\u3000','') for i in results]
print(result)
text_file = '/Users/ユーザー名/greeeen/wakati_list.txt'
with open(text_file, 'w', encoding='utf-8') as fp:
fp.write("\n".join(result))
3. 시각화(WordCloud)
from wordcloud import WordCloud
text_file = open('/Users/ユーザー名/greeeen/wakati_list.txt', encoding='utf-8')
text = text_file.read()
#日本語のフォントパス
fpath = '/System/Library/Fonts/ヒラギノ明朝 ProN.ttc'
#無意味そうな単語除去
stop_words = ['そう', 'ない', 'いる', 'する', 'まま', 'よう', 'てる', 'なる', 'こと', 'もう', 'いい', 'ある', 'ゆく', 'れる']
wordcloud = WordCloud(background_color='white',
font_path=fpath, width=800, height=600, stopwords=set(stop_words)).generate(text)
#画像はwordcloud.pyファイルと同じディレクトリにpng保存
wordcloud.to_file('./wordcloud.png')
완제품
「우리들」이나 「오늘」 등 시간·공간적으로 당인이나 지금에 가까운 말이 많네요.
그 외는 「가는」 「진행한다」 「변한다」등 전진·변화를 연상시키거나 불확실성을 가지는 「반드시」가 빈출하고 있습니다.
그리고는 「웃는다」 「웃는 얼굴」을 볼 수 있습니다.
결론
이번 분석에 의해 어른이 된 자신의 마음이 꽤 거칠고 있는 것이 현재화되었습니다. 사회 적응하기 위해 차가운 마음을 가졌다고 생각합니다만, 그 탓에 청춘 시절에 안은 더운 답답하게 믿는 마음을 잃고 있던 것 같습니다.
이번 결과를 바탕으로 조금이라도 청춘 시대와 같은 젊음을 가질 수 있도록 노력하겠습니다.
우선 웃는 횟수를 늘릴 것인가 ...
Reference
이 문제에 관하여(청춘 시절에 미쳐 듣고 있었지만 지금은 듣지 않게 된 그리엔의 가사를 가시화해 보았다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zu4zs/items/b805e09a46d98c1e8e61텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)