欢迎光临散文网 会员登陆 & 注册

哪个角色最常用“?”和“!”?邦邦日服现有活动剧情的爬取,及其词频分析!(上)

2021-05-14 23:13 作者:涼风_青叶  | 我要投稿

        重要※2021/5/15更新

        程序存在错误,导致标点符号“~”的统计数据存在错误,已经修正。

        早一些看到这篇文章的同学,会看到朝日六花说“喜欢(すき)”的频率是最高的,其实并不是这样。六花说“すき”的时候,大多数是在叫她的队友佐藤益木(“ますきさん”)。去掉这种情况之后,你会发现六花并不是那么经常地说“すき”。同理,六花说敬语的频率,虽然经修正后还是很高,但也是虚高的。这两个问题也已经修正。

写在前面

        邦邦中的谁说了最多的省略号(…)?对于熟悉BanG Dream!企划的人,即使不做统计,这也是一个容易达成共识的问题。

“……”(所有活动剧情中,白金燐子的台词文本中有17.49%的字符是“…”(半个省略号),是主要角色中最多的)

        那么:

  • 哪个角色最经常用“?”和“!”?

  • 最常说“好き(喜欢,Suki)”这个词的是谁?(并不是香澄,香澄甚至没进前八)

  • 各个角色平时会用第二人称(比如,“你”)吗?是用“貴方(あなた,Anata)”还是“君(きみ,Kimi)”?

也是本文封面

        为了解答以上问题,本文笔者利用Python和Bestdori,爬取了Bestdori上日服截至目前(2021/5/14)的所有活动剧情,并对其进行了词频分析。

        本文仅为简单的活动剧情文本分析尝试,意在抛砖引玉。希望有dalao能补充卡面剧情的爬取方法,以及更深入的文本分析(e.g.情感分析)。文末将附活动剧情原始脚本.txt文件和分角色的台词.txt文件的打包下载。

        感谢Bestdori(网站https://bestdori.com)提供了活动剧情文本。

        感谢UP主“铁铲胡桃”(uid=96269928)在以下专栏中提供的爬虫代码,本文用到的爬取代码是在其基础上稍加改动写成。

目录

一*、剧情文件的爬取,以及从剧情文件中得到各个角色的台词

二、统计方法

三、统计结果

代码合集

.txt文件下载

参考资料

一*、剧情文件的爬取,以及从剧情文件中得到各个角色的台词

1.1    剧情文件的爬取

        利用Bestdori[1]的“故事浏览器”功能,可以看到所有的活动剧情脚本的存储路径与文件名有共同的格式:“scenario/eventstory/eventxxx_rip/Scenarioeventyyy-zz.asset(xxx、yyy、zz都是数字,其中xxx和yyy指代部分在xxx是1到9不完全一致,对应yyy是01到09)”。利用这一点,即可用Python实现剧情文件的爬取。具体实现思路请参考UP主“铁铲胡桃”(uid=96269928)的专栏[2],文章小卡片已经附在前“写在前面”部分。

        再次感谢UP主“铁铲胡桃”的代码支持和授权,笔者在ta的代码基础上稍作修改,得到了爬取剧情文件的代码。代码请见文末“代码合集”。

1.2    从剧情文件中得到各个角色的台词

        拿到了原始脚本文件,然后使用记事本打开,会看到这样一幕:

        活动剧情脚本存储的不只是角色台词,还有以代码形式储存的场景代号、角色站位、角色表情等内容。但我们只想要得到各个角色各自的台词,怎么办?好在所有台词部分有固定的格式,因此又可以使用Python程序处理,代码请见文末“代码合集”。

提取得的各角色台词合集截图

二、统计方法

        统计范围包括现有7个乐队的所有人,其中奥泽美咲和米歇尔算2个人(很快会解释为啥),并且加上了CiRCLE的麻里奈桑,共有7×5+2=37个统计对象。


“好耶~”


        我们在“一、”中步骤中得到了一些名如“サヨ.txt”“聖堕天使あこ姫.txt”的文件。读过相应剧情的读者应该知道,“サヨ”和“聖堕天使あこ姫”其实就是冰川纱夜和宇田川亚子(是她们玩NFO的时候取的ID),等等。我们要把这些“一人多马甲”的情况分辨出来, 将事实上是同一人的文本汇总起来

        一些有幼年剧情的角色,她们在幼年剧情用的名字并不用汉字书写(比如“友希那”),而是用平假名书写(比如“ゆきな”),因此她们幼年时的台词文本也被单独分离出来了。考虑到角色在幼年与青少年的性格差异,笔者没有把幼年文本加入汇总。

        笔者把奥泽美咲和米歇尔的台词文本分开了,因为考虑到这是两个不同的“Persona”。后续的统计结果也证实这一点。

        这次词频统计包含标点符号统计、部分关键词统计、第二人称统计3块内容,都比较简单,用Python编写程序统计,代码请见文末“代码合集”。

2.1    标点符号统计

        统计内容包括5种标点符号:省略号“…”、问号“?”、叹号“!”、波浪号“~”,以及日语特有的长音符号“ー”。剧情中有两种波浪号:“〜”“~”。我们会通过程序设计,把这两种波浪号都纳入统计范围。

        以下是波浪号在剧情中的应用实例,仅作展示用,为节省篇幅不提供汉语翻译。

りみ:わあ~、見て! 桜が満開だよ!

香澄:こんなキレイな景色を見ながら、みんなで帰宅できるなんて…… 私、すっごく幸せだなあ~

沙綾:だね。……にしても、ここの桜は特にキレイだなあ〜

——摘自编号1活动《SAKURA*BLOOMING PARTY!》序章SAKURA*BLOOMING!


2.2    部分关键词统计

        包括了5组关键词:敬语组、学习组、计划组、喜悦组、歉意组。还包括2个单独的关键词:“練習(练习,Renshyū)”和“好き(喜欢)”。

        (2021/5/15 Update: 增加1个关键词“別に(并不是/才没有,Betsuni)”。傲娇角色经常说这个词。)

        敬语组:日语敬语体系中有一类以“~です(Desu)”或“~ます(Masu)”结尾的“郑重语”。这里的“敬语组”包括“です”“ます”,以及它们的过去式“でした(Deshita)”“ました(Mashita)”,以及“ます”的否定形式“ません(Masen)”。由于“です”的否定形式“ではありません(Dewa Arimasen)”也有“ません”,所以两种词尾的否定形式实际上用一个词就都统计到了。

        学习组:描述学习生活的词,选取了如表所示的5个。

        计划组:表现角色计划性的词,选取了如表所示的3个。

        喜悦组:表示喜悦、开心意思的词,以“嬉し(うれし,Ureshi)”“楽し(たのし,Tanoshi)”及其平假名形式计。注意“嬉し”本身无实义,而需要经过一些变形:形容词“嬉しい(Ureshii)”,副词“嬉しく(Ureshiku)”等等。

        歉意组:表示道歉的词句,此处以出现了“ごめん(Gomen)”“すみません(Sumimasen)”为准。较随意的道歉形式如“わるい(Warui)”“すまんない(Sumannai)”不算。

2.3    第二人称统计

        统计各个角色使用的第二人称,有“貴方/あなた/アナタ(Anata)”“あんた(Anta)”“君/きみ/キミ(Kimi)”“お前/おまえ(Omae)”共9个。

三、统计结果

3.1    标点符号统计

        数值为对应的标点符号字数在文本总字数(即使一个汉字其实算2个字符,Python也把它看成1个字数)中占有的百分比。每列中最高的8个数值为红色,最低的8个数值为绿色。

        半个省略号“…”算1个字数,一整个完整的省略号“……”就是2个字数了。

        数值为0不等价于“从未说过”,而是平均每1万字数中使用个数少于0.5个。

回答开头的问题,用“?”最多的是有咲?用“!”最多的是育美!

3.2    部分关键词统计

        数值为对应字符串出现次数/总字数的比值,但是,数值是千分比,也就是在平均1000字内会说几次对应的词每列中最高的8个数值为红色,最低的8个数值为绿色。

        数值为0不等价于“从未说过”,而是平均每10万字数中提及次数少于0.5个。

我们在图中可以看到,米歇尔和美咲还是有区别的

3.3    第二人称统计

        数值是总次数,较高的数值标红加粗。

        本文暂时到此结束,关于统计结果的讨论,将再用一篇专栏进行。■

代码合集

①爬虫Python代码展示

②角色台词提取Python代码展示

③标点符号统计程序Python代码展示

勘误:s.replace→s=s.replace

④部分关键词统计程序Python代码展示

勘误:在s=f.read()后加一行s=s.replace("ますき","###")

⑤第二人称统计程序Python代码展示

.txt文件下载

活动剧情脚本:https://pan.baidu.com/s/1-HkL9mghueNFv63FZndnfw 提取码: 82q2

分角色台词合集:https://pan.baidu.com/s/1nmywqiVhUcjUUnXkjsHeww 提取码: dd2r

参考资料

[1]Bestdori:https://bestdori.com

[2]铁铲胡桃,【BangDream】爬取日服现有卡面(含下载),https://www.bilibili.com/read/cv6711248


哪个角色最常用“?”和“!”?邦邦日服现有活动剧情的爬取,及其词频分析!(上)的评论 (共 条)

分享到微博请遵守国家法律