根据上面这个词云,能够想到哪个歌手或者组合的歌词呢?

如果你第一反应是 SEKAI NO OWARI ( 世界の终わり ) 的话,那么请容许我叫你一声姐妹。

什么?你是男的?没事,那也是姐妹,没办法,世终国内的粉丝群体,女粉还是绝大多数的。

最早知道世终是在67届红白歌会上,那是我第一次看日本春晚(噗),当时柚子、生物股长等都给我留下了很深印象,特别是世终主唱fukase扛着旗抓着卫星电话形状的麦唱出的《Dragon Night》。

之后搜了他们的其他歌曲听,部分歌曲很不错。

从《 Hey Ho 》、《RPG》、《 天使と悪魔 》、《 幻の命 》到后来的《Rain》、神木弟弟参演MV的《山茶花》等等,黑暗童话的歌词曲风以及fukase的特殊音色,成功把我圈了路人粉。

再然后就是今年来大陆巡演,我有幸现场感受了一番,成功让我喜欢上了新出的《lip》和《eye》专辑。(其实这两张专之前听过,因为风格转变当时不是特别感兴趣,结果被演唱会的舞台表现给征服了,不禁后悔演唱会消息知道太晚,没抢到前排。)

演唱会结束后的几天,我翻出了其他场演唱会的视频循环播放,发现了更多以前错过的良曲,也成功从世终的路人粉变成了死忠粉。

听着歌曲的我,开始好奇一个问题,他们的歌词是怎么展现这样黑暗又明亮,奇幻还现实的,因此想要将他们歌词统计做一个数据分析,于是最后的成果就是上面这张图了。

前言好像太多了,那么下面进入技术介绍阶段。

 

收集歌词和分词

首先是数据准备,我把某音乐村的世终音乐歌词按照专辑收录顺序全部扒了下来,同时整理出每首歌的名字与专辑的对应关系。

接着整理歌词,需要将中文翻译删掉,日文歌词打散成词语。

本来想通过手动来整理歌词,顺便提高一下我半吊子的日语,但整理完一首《花鸟风月》后我放弃了,很多地方不知道怎么断词,例如“ いつから ”要不要拆成“ いつ ”和“ から ”,再比如动词后加助词要不要拆开以及动词的变形,还有“ ました ”这样的语气词是删除还是保留等等。

一方面我水平有限,另一方面确实太浪费时间(闭嘴,是你爱得不够)。

最后我还是求助了专业的日语分词库,因为我主要用Python,搜索了一番后最后选择了MeCab

  1. 下载 mecab-0.996.exe ,安装时选择utf8字符集。
  2. 安装好后拷贝llibmecab.lib(MeCab\sdk)和 libmecab.dll( MeCab\bin)两个文件到Python安装目录的site-packages文件夹下。
  3. 最后 pip install mecab-python-windows ,安装python的MeCab接口。

安装完后就可以尝试import MeCab测试一下了,具体分词用法如下。

import MeCab 

mecab = MeCab.Tagger ("-Owakati")
sentences = ‘’‘
MeCabを用いて文章を分割してみます。
‘’’
print(mecab.parse(sentences))
#MeCab を 用い て 文章 を 分割 し て み ます 

然后就可以以空格为分隔存入表格或者数据库了。

(另一个日文分词库janome(pip install janome)也可以尝试。)

顺便说一下中文分词。

最出名的中文分词库就是jieba(pip install jieba )了。

import jieba  

text = "我来到中国北京天安门" 
seg_list = jieba.cut(text, cut_all=False) 
print("     ".join(seg_list))    
#我     来到     中国     北京     天安门

也可以试试其他方式,例如SnowNLP(MIT)、pynlpir、thulac。

英语分词就简单了,直接按空格和标点符号分割就行。

值得一提的是,所有歌词分割出20000+的词,真要手动不知得花多久。

不过这里也有点问题,一个是歌词上传者存在错漏,还有些以简体字代替繁体字导致不该分割的词语被分割,例如把“ 太陽 ”写成了“太阳”导致被分词成“太”和“阳”等等。

还有就是这个库的词典导致有些词拆的太碎或者拆不开等等。

毕竟是程序操作,不能指望正确率达到百分之百,因此急于看到结果的我就 这么把词分完了。

 

制作词云

下一步就是制作词云了,因为最近工作中用到了FineBi这个强大的数据分析工具,因此就用它来实现。

FineBI是一款商业智能(Business Intelligence)产品 ,主要是整理大量数据并生成各种图表,同时根据数据间的对应关系,图表间可以做到联动,也就是随时可以选择展示某一部分数据的图表,便于进行数据分析。

FineBI拥有强大的条形图、柱形图、折线、饼图、表格、气泡图、热力图、地图等等几乎所有常见的分析用图表,使用简单方便,只要将整理出的字段拖动到相应位置即可快速生成图表,具体使用流程这里就不说了,官方文档的入门案例已经很好的表现了它的强大,跟着做一遍基本就会用了,为了安利,下面就放一张图表展示一下。

 

 


对未来真正的慷慨,
是把一切献给现在。

《反抗者》
——加缪