お金と数字と温泉を考えるブログ

お金と数字と温泉を考えています。

【トップ5は何だ?】サザンの歌詞で出てくる地名はどこが多いのか

サザンもサブスク開始
2019年12月20日サザンオールスターズがストリーミング配信サービスを開始しました。
前週に、ラルクがストリーミング配信を開始したと記事に落としたばかりでした。
umejiro330.hatenablog.com
大御所でもストリーミング配信を開始している状況を見ると、やはり、楽曲の楽しみ方はCDからダウンロード/ストリーミング・サブスクリプションへと移っているのだと実感します。
ところでサザンの楽曲と言えば、神奈川県茅ケ崎市にあるJR茅ケ崎駅発車メロディー(『希望の轍』)になっているように、楽曲と湘南地方のイメージがリンクすることが多いと思います。
そこで、過去に何度か用いているRのパッケージ『RMeCab』を用いて楽曲の品詞を分解し、どのような地名が多く出ているのかを見ていきます。

目次
※結果が出てしまうので、目次は表示しません

検証前に、予想編

検証前に、過去の有名な楽曲から、ランキング上位の楽曲を予想してみましょう。
個人的にはこのあたりが出てきそうですね。
・茅ケ崎…桑田佳祐の出身地であり、サザンの代名詞だから
・江の島…『勝手にシンドバット』のイメージが強いから
・鎌倉…『鎌倉物語』や『北鎌倉の思い出』のように、
・稲村…映画『稲村ジェーン』や『君こそスターだ』で登場があるから
さて、結果はどうなるでしょうか?

結果編

湘南:6回

地名ランキングで1番は「湘南」でした。歌詞に多く出ていたことは気づいていませんでしたが、決して腑に落ちない結果ではないですね。具体的には
・勝手にシンドバット
愛の言霊(ことだま)~Spiritual Message
などに登場します。
ちなみに、「湘南」が示すエリアは非常に広く、東は三浦から西は湯河原まで指すそうです。神奈川の半分くらい湘南になってしまう気がしますが…
shonanjin.com

茅ケ崎:5回

地名ランキングで次に出てくるのは「茅ケ崎」でした。
・勝手にシンドバット
・茅ケ崎に背を向けて
・PRIDEの唄~茅ヶ崎はありがとう~ に登場しておりました。

江ノ島:5回、江の島:2回

次には「江ノ島」がランクイン。表記違いの「江の島」を含めれば事実上トップです。
・勝手にシンドバット
・夏をあきらめて
・シャボン 
などに登場します。

エボシ:4回

エボシは、江の島の近くの海にある「烏帽子岩」を示しています。
チャコの海岸物語
希望の轍
HOTEL PACIFIC
・夜風のオン・ザ・ビーチ
やはり「希望の轍」が有名でしょうか。「エボシライン」は、烏帽子岩が望める国道134号線と言われています。道幅が広く走りやすい道路です。

southern all stars - kibou no wadachi

鎌倉:2回 稲村:2回、稲村ヶ崎:1回

想定していた「鎌倉」や「稲村」はあまり出てきませんでした…

番外編

ちなみに、夏のイメージが強いサザンですが、夏にまつわる単語で登場回数が多かったのが下記です。
夏:94回
海:47回
渚:16回
蜃気楼:10回
花火:6回
書きながら気づいたのですが今は冬真っ盛りで、季節外れの記事でした…

コード編

library(rvest)
library(tsne)
library(magrittr)
library(stringr)
library(wordcloud)
library(wordVectors)
library(dplyr)
library(RMeCab)

basic_url = "https://www.uta-net.com"
South_url = "https://www.uta-net.com/artist/1395/"#サザンのURL
South_url_page = read_html(South_url)

url_list = South_url_page %>% 
  html_nodes(xpath = "//div[@id='artist']//table/tbody//td[@class='side td1']/a") %>%
  html_attr("href")
song_url_list = url_list[url_list %>% grep("/song/",.)]
lyrics = ""

for (i in 1:(song_url_list %>% length())){
  song_url = song_url_list[i]
  tmp_url = paste(basic_url, song_url_list[i], sep = "")
  
  tmp_lyrics = read_html(tmp_url) %>% 
    html_nodes(xpath = "//div[@id='kashi_area']") %>%
    html_text()
  
  lyrics = paste(lyrics, tmp_lyrics, sep = " ")
  Sys.sleep(2)
}
write.table(lyrics,"South_lyrics.txt",col.names = F,row.names = F,)
rmecab_text_South = RMeCabText("South_lyrics.txt")

rmecab_text_South_list = ""
for (i in 1:(rmecab_text_South %>% length)){
  tmp_rmecab_text_South = rmecab_text_South[[i]]
  if ((tmp_rmecab_text_South[2] %in% c("名詞")) &&#今回は名詞だけ
      (tmp_rmecab_text_South[3] != "非自立")){
    rmecab_text_South_list = paste(rmecab_text_South_list, as.character(tmp_rmecab_text_South[1]), sep = " ")
  }
}
docDF_lyrics_South=docDF("South_lyrics.txt" ,type = 1)
docDF_lyrics_South_2 = docDF_lyrics_South %>% filter(POS1 %in% c("名詞"), POS2 != "非自立", TERM != ")", TERM != "(")#R Studioで結果を降順にすれば登場単語の順位を見ることが出来ます