これまでのあらすじ
こちらを参照
宝塚の芸名を自動生成するAIを作るのが目標。
Wikipediaから宝塚の生徒一覧の名前を集めたところ。
記事を書いた後で収録漏れに気づいて、全期分の収録漏れチェックや、NameDividerによる姓名分離の修正に結構手間かかった…
今回やること
- 宝塚の生徒一覧をpandas.DataFrameに取り込む
- 少し解析してみる
DataFrameに取り込み
import pandas as pd
#定数
MAX_PERIOD = 108
NAME_TEMP = "takaraduka_actress/takaraduka_actress_{}period.csv"
actress_data = pd.DataFrame()
for i in range(MAX_PERIOD):
period = i + 1
try:
period_data = pd.read_csv(NAME_TEMP.format(period))
period_data.insert(0, '期', period)
actress_data = pd.concat([actress_data, period_data])
except FileNotFoundError:
print('{} period is none'.format(period))
期 芸名 読み仮名 誕生日 出身地 出身校 芸名の由来 愛称 役柄 配属 退団年 備考 身長
0 1 秋田 衣子 あきた きぬこ NaN NaN NaN 百人一首 NaN NaN - 不明 妹は瀧川末子 NaN
1 1 大江 文子 おおえ ふみこ 2月20日 大阪府大阪市 NaN 百人一首 NaN 男女両役 - 1921年 NaN NaN
2 1 逢坂 關子 おおさか せきこ 8月2日 大阪府 NaN 百人一首 NaN 娘役 - 1929年 NaN NaN
3 1 小倉 みゆき おぐら みゆき 2月20日 鹿児島県 NaN 百人一首 NaN 男役 - 1919年 NaN NaN
4 1 雄嶋 艶子 おじま つやこ NaN NaN NaN 百人一首 NaN NaN - 不明 女優・二條玉子 NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ...
33 108 朝比奈 天 あさひな てん 10月27日 兵庫県神戸市 愛徳学園中学 NaN てん 男役 宙組 NaN NaN 173㎝
34 108 桜之 真緒 さくらの まお 3月1日 岡山県真庭市 就実高校 NaN さっくん、マーチ 男役 月組 NaN NaN 173㎝
35 108 華路 らら はなみち らら 12月9日 大阪府高槻市 市立第二中学 NaN らぁ、らら 娘役 花組 NaN NaN 165㎝
36 108 風希 咲玖 かざき さく 12月17日 兵庫県西宮市 梅花高校 NaN かざき 男役 星組 NaN NaN 175㎝
37 108 白霧 椿 しらぎり つばき 10月1日 大阪府大阪市 帝塚山学院高校 NaN くー、ヒデキ 男役 月組 NaN NaN 176㎝
4740 rows × 13 columns
芸名の解析
name = actress_data['芸名'].str.split(' ', expand = True)
name.rename(columns = {0:'姓', 1:'名'}, inplace=True)
まず芸名を姓名に分離したDataFrameを作成し、これをもとに解析していく。
単純にdescribe()してみた結果は以下。
姓 名
count 4740 4740
unique 3130 2420
top 泉 ひかる
freq 11 34
姓の方がユニーク性が高い。
なお「泉 ひかる」さんは存在しなかった。
姓の解析
多い姓
for row in name['姓'].value_counts().iteritems():
print(row)
Top10までを出そうとしたら、同順位がそれなりにあったため、8人以上いる姓のみ抜き出す。
姓 | 出現回数 |
---|---|
'泉' | 11 |
'東' | 11 |
'渚' | 10 |
'紅' | 10 |
'大和' | 10 |
'曙' | 10 |
'園' | 9 |
'暁' | 8 |
'麗' | 8 |
'紫' | 8 |
'摩耶' | 8 |
'葵' | 8 |
'橘' | 8 |
'白鳥' | 8 |
'若草' | 8 |
'蘭' | 8 |
実際にありそうな姓(泉、東、橘など)もあれば、創作でしかみないような姓(紅、暁、麗など。実在するかも知らんが…)もある。
どの程度重複しているのかを確認してみた。
name['姓'].value_counts().value_counts(normalize = True, sort = False)
11 0.000639
10 0.001278
9 0.000319
8 0.002875
7 0.004792
6 0.007029
5 0.015335
4 0.028754
3 0.055911
2 0.150479
1 0.732588
Name: 姓, dtype: float64
重複なしが全体の7割強で概ねユニークなようだ。
上の8人以上重複している姓を見ていて気になったのが、紅・紫といった色、東と方角の姓。
色と方角など気になるジャンルを調べてみたい
色
色 | 出現回数 |
---|---|
白 | 1 |
黒 | 0 |
赤 | 0 |
緑 | 2 |
青 | 1 |
黄 | 0 |
紫 | 8 |
金 | 0 |
銀 | 3 |
銅 | 0 |
紅 | 10 |
蒼 | 0 |
紺 | 1 |
碧 | 2 |
「銀」はいずれも「しろがね」読みであった。
紅と紫がぶっちぎりで人気である。
方角
方角 | 出現回数 |
---|---|
東 | 11 |
西 | 0 |
南 | 7 |
北 | 2 |
「東」はいずれも「あずま」読みである。
東西南北姓は、77期の「南 しずか」さんが最後なので、ここ30年いない。
植物
植物 | 出現回数 |
---|---|
桜 | 6 |
桃 | 1 |
葵 | 8 |
橘 | 8 |
藤 | 6 |
梅 | 0 |
花 | 4 |
華 | 4 |
木 | 0 |
樹 | 0 |
日本人らしい「桜」は複数人いるが、葵・橘ほどではなく、やや古風な感のある「藤」と同数である。
「桜」は41〜85期、「藤」は29〜56期なので、桜の方が現代的な姓のようだ。
「樹」は男役でいそうな気はしたので、いないのは意外。
季節
季節 | 出現回数 |
---|---|
春 | 4 |
夏 | 5 |
秋 | 3 |
冬 | 0 |
冬の人気がない。春、夏は回数が多いので、暖かい・明るいイメージのある季節の方がいいのだろうか。
自然
要素 | 出現回数 |
---|---|
鳥 | 0 |
風 | 2 |
月 | 2 |
雪 | 2 |
水 | 2 |
土 | 0 |
火 | 0 |
日 | 0 |
陽 | 1 |
陸 | 0 |
大地 | 1 |
海 | 2 |
空 | 4 |
宙 | 0 |
星 | 7 |
雨 | 0 |
霧 | 0 |
霰 | 0 |
嵐 | 2 |
雲 | 0 |
霙 | 0 |
霜 | 0 |
花鳥風月、雪月花、四元素(水、風、火、土)、日(月があるので対比、+陽)、陸海空(+大地、宇宙の意で宙)、星(宝塚の組名にある。他の花組、月組、雪組、宙組は前述に含まれる)のうち、すでに調査済みのものを除く。
姓に含まれる文字
姓を一つずつ取り出し、使われている文字をカウントする
d = dict()
for index, data in name['姓'].iteritems():
for s in data:
d.setdefault(s, 0)
d[s] = d[s] + 1
d2 = sorted(d.items(), key = lambda x : x[1], reverse = True)
使われている文字の総数は、850字あった。
50回以上使われている文字のみ記載する
[('美', 203),
('月', 197),
('花', 174),
('城', 155),
('野', 145),
('千', 128),
('路', 107),
('風', 98),
('乃', 97),
('大', 92),
('山', 92),
('川', 91),
('真', 86),
('高', 84),
('白', 80),
('水', 80),
('海', 80),
('里', 73),
('朝', 72),
('原', 69),
('華', 69),
('若', 68),
('夏', 67),
('咲', 67),
('波', 66),
('小', 65),
('羽', 65),
('奈', 64),
('瀬', 62),
('松', 60),
('春', 58),
('木', 58),
('愛', 58),
('麻', 58),
('天', 56),
('香', 55),
('彩', 54),
('音', 53),
('三', 51),
('園', 51),
('宮', 51),
('輝', 51),
先ほどの気になって調べた姓の出現回数はほとんど一文字姓だが、その漢字の出現率をついでに調べよう。
文字 | 文字=姓個数 | 出現回数 |
---|---|---|
白 | 1 | 80 |
黒 | 0 | 5 |
赤 | 0 | 2 |
緑 | 2 | 8 |
青 | 1 | 25 |
黄 | 0 | 0 |
紫 | 8 | 48 |
金 | 0 | 0 |
銀 | 3 | 5 |
銅 | 0 | 0 |
紅 | 10 | 18 |
蒼 | 0 | 10 |
紺 | 1 | 2 |
碧 | 2 | 15 |
東 | 11 | 28 |
西 | 0 | 3 |
南 | 7 | 47 |
北 | 2 | 15 |
桜 | 6 | 33 |
桃 | 1 | 13 |
葵 | 8 | 8 |
橘 | 8 | 9 |
藤 | 6 | 30 |
梅 | 0 | 12 |
花 | 4 | 174 |
華 | 4 | 69 |
木 | 0 | 58 |
樹 | 0 | 42 |
春 | 4 | 58 |
夏 | 5 | 67 |
秋 | 3 | 36 |
冬 | 0 | 3 |
鳥 | 0 | 39 |
風 | 2 | 98 |
月 | 2 | 197 |
雪 | 2 | 35 |
水 | 2 | 80 |
土 | 0 | 2 |
火 | 0 | 2 |
日 | 0 | 36 |
陽 | 1 | 16 |
陸 | 0 | 1 |
(大)地 | 1 | 9 |
海 | 2 | 80 |
空 | 4 | 35 |
宙 | 0 | 3 |
星 | 0 | 45 |
雨 | 0 | 6 |
霧 | 0 | 26 |
霰 | 0 | 0 |
嵐 | 2 | 3 |
雲 | 0 | 30 |
霙 | 0 | 0 |
霜 | 0 | 2 |
なかなか興味深い
色だが、「白」は使用率が高い。純潔なイメージだろうか。「紫」も使用率が高い。宝塚のシンボルすみれの花が紫だからか?
「青」は「蒼」も使われるが、「赤」は「紅」しかほぼ使われない。「緑」は「碧」の方が多い。
「金」は実際の姓では珍しくない文字だが、一切使われていない。煌びやかなイメージはあるはずだが、逆に悪趣味なのかもしれない。
東西南北では、なぜか「西」の人気が際立って低く、「南」の人気が高い。どうも「南」はヅカの芸名でよく使われる他の文字と組み合わせやすいようだ。
他の3方角は組み合わせやすさは似たり寄ったりだと思うのだが、なぜか「東」が高い。
植物だと、女性らしさがあるからか、「花」「華」は使用頻度が高い。単独では使わない「木」「樹」も増える。
季節は、やはり「春」「夏」は高いが、「冬」が低い。方角で「北」が少ないことと相関があるのだろうか?
自然は、大地は「地」としてカウントした。
「風」「月」「水」のカウントが高く、「火」「土」「陸」「地」は低い。「火」が低いのは「火」には暖かいイメージより、熱いなど暴力的なイメージがあるからだろうか。「土」「陸」「地」などは華やかでないイメージがあるのだろう。
「月」は頻度が高いが、「日」「陽」は低い。一般的に「陽」の字は女性名に用いられるが(感覚的には夜をイメージする「月」より多そうだ)。
「風」「空」「雲」「鳥」がそれなりに使われているのは、自由のイメージかと思う。
「水」「海」ともに高い。透明なイメージと他の文字との組み合わせやすさだろうか。
名の解析
名の解析はさっくり行きたいと思う。
解析したコードは姓とほぼ同じなので省略する。
多い名
名 | 出現回数 |
---|---|
'ひかる' | 34 |
'薫' | 24 |
'ゆかり' | 24 |
'京子' | 24 |
'まり' | 24 |
'のぼる' | 22 |
'みどり' | 21 |
'かほる' | 20 |
'ひとみ' | 19 |
'みちる' | 19 |
ひらがなに開いているとはいえ、存外普通の名前が多い。
「京子」、「のぼる」、「かほる」は、ここ数十年はなく、一昔前の名前であることが伺われる。
それ以外は比較的どの年代にも出てくるが、年代が偏ることもある。例えば「ひとみ」はここ20年では少なく(有名なのはトヨタの御曹司と結婚し、民放ドラマにも出ていた「星蘭ひとみ」さんだろうか)、40期代〜70期代に多い。
重複率は次のとおり。
34 0.000413
24 0.001653
22 0.000413
21 0.000413
20 0.000413
19 0.000826
18 0.000413
17 0.001240
16 0.000826
15 0.000826
14 0.000826
13 0.001653
12 0.001240
11 0.002479
10 0.004545
9 0.007851
8 0.005785
7 0.010331
6 0.015289
5 0.018595
4 0.043388
3 0.059917
2 0.140496
1 0.680165
やはりユニーク性は高い。が、姓ほどではないようだ。
名に含まれる文字
姓と同じく、50回以上使われている文字のみ記載する
[('子', 1144),
('み', 434),
('か', 366),
('り', 350),
('美', 344),
('る', 287),
('千', 225),
('ゆ', 224),
('さ', 205),
('ま', 181),
('あ', 177),
('い', 175),
('き', 172),
('ら', 168),
('ひ', 157),
('な', 133),
('代', 110),
('の', 107),
('つ', 107),
('里', 104),
('と', 103),
('し', 93),
('真', 92),
('れ', 87),
('ち', 84),
('や', 82),
('う', 75),
('ほ', 71),
('花', 69),
('お', 63),
('は', 62),
('ん', 61),
('た', 60),
('す', 57),
('く', 57),
('奈', 55),
('香', 54),
('こ', 54),
('由', 53),
('希', 50),
圧倒的ひらがな…
子については、各期ごとの出現回数をプロットしてみた
20期(1930年入団)から27期(1937年入団)にかけてピークを迎え、その後激減。
51期(1965年入団)からは10人満たなくなり、73期(1987年入団)からはほぼ絶滅、95期(2005年入団)以降は一人もいない。
姓の時も思ったが、各10年代ごとの姓名や使われている文字の傾向を調べてみたいが、本記事は一旦ここまでにする。
思ったより解析・分析が面白いので、解析編がまだ続く。続きはこちら