見出し画像

#3 登場人物の名前をつくる / できるだけ頭を使わずマンガを描いてみる

前回、次回はお話を考えるみたいなことを書きました。

が、物語生成系の研究をみていると、どうもどれもピンとこなかったのです。
なぜかというと、要は既存の文章をたくさんインプットして、それをただ並べるだけ、みたいなのが多かったんですよね。
どう考えてもそれでおもしろい話になるとはちょっと思えなかった。
『人工無脳』みたいなことだと思うんですよ。

機械学習的なことは勉強したことないし、今からやっても出来上がるのがそれじゃあなぁ。。。とか、じゃあそのインプットする文章って何にするか、それを僕が選ばないといけないわけじゃないですか。

その時点で作為が強くなってしまうのが、たまらなく恥ずかしくなりました。
僕が学生だったら、それがバレたらもう学校行けないと思うのです。

そんなとき、以下のような記事を読みました。

そのAI、貸してくれないかな、とも思ったのですが、この中の「ゲーム生成ルール」というお話が面白かった。

「バトルロワイヤルのようなことですか?」という質問に対して、「甲子園のようなこと」という回答。

でも、そういうルールが強いとお話が生まれやすい、というのはなるほどなぁ、と思いました。

そして、たまたま以下のようなサイトを見つけました。

日本人の名前100人を一括生成してくれるサイトです。
適当に生成されるのですが、ときどきなかなかいい名前があるようにも思えます。

そこで、ひらめいてしまいました。
前回作った物語設計です。


1.過去(節制)
虚飾しないありのままの姿/穢れのない存在/節度のある人間関係/自然との調和/無理のない計画/バランスが取れている/ほどほどに妥協する/適度に力を抜く/何事も控えめがいい/目立つよりかはクラスのモブキャラ的存在に/努力よりかは規則正しい習慣/健康的な生活/ミニマリスト的な
2.現在(追憶)
過去を追う人/幼なじみに再会する/同窓会が開かれる/タイムスリップする/過去を引きずっている/失った大切な人との思い出が今でも心の多くを占めている/故郷に帰りたい/あの頃は良かった
3.未来(凡庸)
良くも悪くもふつう/クラスのモブキャラ/他者と比べて秀でているところも劣っているところもない/平凡な日常を愛している/自分が目立つことを嫌う/ヒロインと自分がくっつくのは不釣り合いだと考えている
4.願望(自信)
自信に満ち溢れており実力を最大限に発揮できる/才能を自覚している/多才であり器用である/頭の回転が速い/創造的な行為ができる/自分の意志を持っており自己主張が強い/自由に何でもできる立場/魔術師
5.敵対者(慎重)
注意深い性格/失敗を恐れていてゆっくりとしか進めない/あるいは自分が失敗することを想定したうえで策を講じている/告白の機会をじっくりと窺っている/即座に行動せず、熟慮を重ねる/不確実性の高い解決策を嫌う
6.援助者(吉報)
良い知らせが伝わる/信頼の置ける情報屋、メッセンジャー/大切な人に伝言を託す/有用な情報を手に入れる/悪くないニュース/友人の恋が成就する/未来を視る、予知能力者/高度な情報戦が繰り広げられる/ネットワーク社会
7.試練(空想)
現実ではないセカイを生きている/小説家、画家、詩人などの芸術家/創作に喜びを感じる/架空の相手との恋/幻術など精神に作用する能力/ファンタジー系の異世界に導かれる/頭のなかで思い描いていた妄想が具現化する
8.葛藤(混乱)
てんやわんやの大騒ぎ/群集心理、世論、マスコミ等に翻弄される/みんながみんな好き勝手に自分の意見を述べて統率が取れない/気持ちの整理がつかない恋愛/考えれば考えるほど分からなくなってゆく/自分が正しいのか、周りが正しいのか、という葛藤/自分の伝えたい気持ちが相手に伝わらない/相手を混乱させてしまうツンデレ、あまのじゃく
9.結末(友愛)
友情を大切にする/トモダチ止まりで、恋仲には発展しない/兄弟愛、姉妹愛/協調路線で交渉を進める/クラス全員を敵に回してでもいじめられている友人の側に立つ/頼もしい相棒/コンビネーションが成否を決めるミッション

「過去」「現在」「未来」を見ると、「クラスのモブキャラ」「幼なじみ」「同窓会」というようなことが書いてあります。

これは、たぶんなんか学校がらみのお話なんだと思います。たぶん。

なので、上記の名前生成で300人くらい作って、そこから1クラス=40名をランダムに抽出。それらの人物にゲームAIのパラメータを割り振って、365日をすごさせてみると、何かしらの行動ログが生まれるのではないか、と思いつきました。

そもそも、最終出力として「文章」を生み出そうとすると、自然言語の問題などいろいろクリアしないとならないことがたくさんある気がします。

ただ、行動ログであれば意味さえわかればよい。文章としては全然洗練されている必要はないわけです。

こういう多数の人間が動いたりするシミュレーションのことを、「マルチエージェントシミュレーション」というそうです。が、たぶんそれよりももっと限定的で意味のある行動をさせるのであれば、ゲームAI的なアプローチが適しているような気がしました。

大学時代、やることが本当になかったので、プレステの「ファイアープロレスリングG」というソフトで、適当に選手をエディットして、16人でオートモードでトーナメントさせて、誰が勝つか見守る、ということを延々とやっていたことがあります。おそらくギリギリの精神状態だったと思うのですが、なんとなく気持ちとしてはそれに近い感じです。

また、中学時代に「ロマンシング・サガ2」というRPGで、何世代も皇位を継承するゲームなのですが、そこで仲間になる家臣たちは特に個性はないのですが、その戦いぶりなどで、「ジュウベエは頼りになるなぁ」「エンリケはクールだなぁ」などと勝手にキャラクター性を見出したものです(ちょっと記憶は曖昧です)。

そして、作り出した40名になんども365日を過ごさせていくと、おそらくそこの行動ログから、各キャラクターの個性のようなものが見えてくるのではないか、と思いました。

つまりループモノ的世界を自分で作ってみる、ということです。

それでは、まずは人物名の作り方です。

1.人物リストを作る

先ほどのサイトで、3回リロードして、名前をバンバンExcelにコピペしていきます。これで300人の名前が出来上がりました。

このサイトの名前はルビがふられていました。
高校のクラスだとしたら、五十音順にソートしたいところなので、ルビをPHONETIC関数でとなりのセルに抽出します。

これをUTF-8のcsvで書き出しました。namelist.csvという名前です。

2.ランダムに重複なく、かつ男女均等に40名抽出

Pythonでやりました。
ほとんど書いたことがないので、あんまりいいスクリプトではないかもしれませんが、なんとなくこういうのはPythonでやったほうがかっこいい気がしたので。

以下、適当なスクリプト。

import random

#名前リスト読み込み
test_data = open("namelist.csv", "r")

data = [ v for v in test_data]

cnt = 0
males = []
females = []
females_tmp = []
list =[]

for name in data:
   #あとで名前でソートしやすいように、ふりがなを前に持ってくる
   name_data = name.split(',')
   name = name_data[1].strip()+','+name_data[0]
   #データが、同じ姓の男女で順番に並んでいたので、男、女の順番で追加していく
   if cnt % 2 == 0:
       males.append(name)
   else:
       females_tmp.append(name)

   cnt+=1

#男性をランダムに重複なく20名抽出
male_number_list = range(len(males))
male_numbers = random.sample(male_number_list,20)

for key in male_numbers:
   list.append(males[key].strip())
   females_tmp[key]='' #同姓の女性は個性を出すために削除する

#上記で削除した名前が空白の女性以外を抽出。これで、listに追加された男性との重複はなくなる
females = [name for name in females_tmp if len(name)!=0]

#女性をランダムに20名抽出
female_number_list = range(len(females))
female_numbers = random.sample(female_number_list,20)

for key in female_numbers:
   list.append(females[key].strip())

#出席番号順っぽくするために、ソート
list.sort()
for name in list:
   print name

test_data.close()


この結果が、以下です。

アオ リカコ,青 利香子
アオチ リエ,青地 理恵
アカミチ ケイゾウ,赤道 圭三
アベ キフミ,阿部 季史
イガキ ケンサク,井垣 健作
イシイ ヨウコ/ヒロコ,石井 洋子
イナツギ ミナミ,稲継 眞波
イナマス ミナ,稲益 美奈
ウメキ ノブユキ,梅木 申行
オクヤマ トシカツ,奥山 利勝
オグラ/コクラ タクミ,小倉 巧
オザワ エリコ,小沢 えり子
オノウチ マサミ,小野内 正美
カゲヤマ ヒロシ,影山 裕史
カコ サヨコ,加古 三四子
カネツキ トシキ,金築 登志樹
カリヤマ メグミ,苅山 めぐみ
カワシマ ヒトシ,川嶋 等
カワベ ヒロタカ,川辺 広卓
サトウ シンジ,佐藤 眞二
シマヅ ノリアキ,島津 憲明
スズカ ケンスケ,鈴鹿 研介
スミダ アツオ,隅田 厚生
セオ マドカ,妹尾 円
ナガハマ ソウジロウ,長浜 総次郎
ハヤシ ヒロアキ,林 弘明
バンドウ ミズホ,坂東 瑞穂
ヒラシキ ヤスシ,平敷 靖
ヒロムラ エイコ,広村 映子
フカザワ イクコ,深澤 育子
フルノ エミ,古野 絵美
マスガネ トシユキ,増金 俊之
マツナガ カズアキ,松永 和明
マツノダイラ カヨ,松野平 かよ
ミズシマ キヨミ,水島 清水
ミズノ ワカミ,水野 和佳美
ミツイ シゲユキ,三井 重幸
ミツヤ テルヨ,三矢 照代
ミヤザワ フミコ,宮沢 文子
ヨコイ マサコ,横井 雅子

名前を見ているだけで、なんだか物語を想像してしまいます。
「青 利香子」さんなんて、マンガに出てきそうな名前ですね。

※本当にランダムに抽出しただけです。「小沢えり子」さんは僕と同姓で消そうかなぁと思ったけど、作為が生まれそうなので、残しました。

何をしているのかもうよくわからないかもしれませんが、次はこの40名に「行動」させるためのゲームAIを作っていきます。

#マンガ #できるだけ頭を使わずマンガを描いてみる

利用させていただいたサービス(ありがとうございました!)
マンガコマッタラー
日本人名前自動生成機




この記事が気に入ったらサポートをしてみませんか?