よろしい、ならば分析だ。(作者同士のネットワーク編その1)
自転車男――もとい英雄『
タケルが女神によって与えられた
ユウシャノコウゲキ:
『人気作家同士の繋がりを解析し、好みの傾向を明らかに!』
https://kakuyomu.jp/works/1177354054893608096/episodes/1177354054893881104
ユウシャノボウギョ:
『犬派と猫派で、好きな本のジャンルが違う!』
https://kakuyomu.jp/works/1177354054893608096/episodes/1177354054893898714
ユウシャノマホウ:
『過去に行きたいか未来に行きたいかで、その人の感情表現に違いが見られる!』
https://kakuyomu.jp/works/1177354054893608096/episodes/1177354054893938156
ユウシャノカイフク:
『カクヨム界は圧倒的にインドア派!』
https://kakuyomu.jp/works/1177354054893608096/episodes/1177354054893960640
ユウシャノヒッサツワザ:
『みんなエターナルジブリファン!』
https://kakuyomu.jp/works/1177354054893608096/episodes/1177354054893902747
怒濤の攻撃により、勇者タケルは魔王の撃退に成功した――かに思われた。しかし、魔王には奥の手があったことに、このときの彼はまだ気がついていなかった……。
――――――――――――――――
「タケル! 今すぐ
俺の名前は草薙タケル。自分がメインで書いている小説のPV数よりも『50の質問だって? よろしい、ならば戦争だ。』の方が上回ってしまったという、本末転倒作家だ。
こうなったら、とことんやってやる。
そして、俺に対して怒り狂っているのは幼なじみの
「声が小さい」
「ごめん」
「まだ小さい! 後、丁寧に、大きく、はっきりと、心を込めて!!」
「ご、ごめんなさーいっ!!!」
「まったく……海外ドラマの冒頭部分みたいに書いてくれちゃって……。だいたい、奥の手って何よ。気になるじゃない」
「あれー? イントロを否定しておいてそこは聞くんだ」
「う、うるさいわね。仕方なく聞いてあげてるのよ」
「この自主企画って『100質って憧れませんか?』って言うじゃん」
「そうね」
「『統計』の記事を書き始めたときは、まだ質問が五十個しかなかったんだ。参加人数もまだ百人いってなかったし、これならマンパワーでデータ集めてもいけるなと余裕ぶっこいてたわけよ」
「それで?」
「そしたら、いつの間にか質問が全部で百三十個になってたんだ……!」
「な、なんですって!? 奥の手って、まさか――」
「そう、能力値アップならぬ『質問数アップ』だ!」
「そんなー!」
「まさに、ラスボスの戦闘力増加チート。フリーザが本気を出すようなものだ。参加者数も百五十人を超え、とうとうマンパワーでどうこうするには限界に達しつつある」
「そうだったのね……。でも、こうやって新作を書いてるってことはタケル君、何か秘策を思いついたのね。それこそ勇者みたいに!」
「その通り。『死中に活あり』とはまさにこのことだった」
「なになに? どんなことをやったの?」
「Webスクレイピングだ」
「
「ペンギンに上半身ブスをくれとか、意味が分からない……。それはともかく、追加三十問の中に『5あなたの中の天使と悪魔が言い争いをしています。それは、なぜ?』という質問があってね」
「うんうん」
「そのときの俺の回答がこれだ――」
天使「さぁ、今すぐデータを採りましょう。あなたの読者が待っています」
悪魔「ケッ! 130問もデータとってられるかよ! めんどくせえ!」
天使「そんなめんどくさがりやのあなたに、テクニックを授けましょう」
悪魔「ハッ! どうせ糞の役にも立たないもんだろうよ! 無視しろ!」
天使「(効果音)Webスクレイピング!」
俺氏「その手があった!」
(訳:天使「データ採取を自動化しましょう」vs「それすらめんどくせぇ」悪魔)
「――回答のネタを考えていたら、ウェブスクに思い至ったんだ」
「天使圧勝じゃん。つまり、Webスクレイピング――ウェブスクというのはWeb上のデータを自動的に集めるための手法なんだね」
「その通り。普通、Webページにアクセスするときはブラウザを使うけど、ウェブスクはそれをプログラムに行わせるんだ」
「どんなことができるの?」
「基本的にはページデータの収集だ。だが、ウェブスクはデータを取得した後が大事で、そこから必要な情報だけを取り出すことが肝心だ。『スクレイピング』とは『削ること、削り落としたもの』という意味だしね」
「なるほどー」
「今回は、カクヨムのプロフィールページから取得できる情報を元に――
『自主企画に参加した作家同士の繋がりを示すネットワーク』
――を作成したぞ」
「面白そうじゃない。具体的にはどうやったのかしら」
「プログラムはPython (3.6.3) で実装。ウェブスクにはBeautiful Soupというライブラリを使用した」
「らいぶらりってなに? プログラム書くのに図書館でも行くわけ?」
「プログラミングのライブラリとは、中身はよく分かんないけどボタンをポチッと押せば勝手に作業をやってくれる便利なものだと思ってくれればいいよ」
「??」
「魔法ってどういう仕組みで発動するか分からないけど、とにかく詠唱すれば魔法が出るでしょ。あれと同じ」
「もしかして、『お願い、Webスクレイピングして!』って言えばできちゃうの……?」
「そうだよ」
「へぇ。便利な世の中ねー」
「ライブラリを作ってくれた人に感謝だ。さて、基本的なアルゴリズムは以下の通りだぞ」
0.『最初のユーザーを選択』
1.『カクヨムのプロフィールページから情報を取得』
2.『全部のユーザーを調べ終わっていたら、プログラム終了』
3.『次のユーザーに移動』
4.『1 に戻る』
「……え? プログラミングってこんなに簡単なの?」
「いやまぁ、かなり省略してるけど大枠はこんな感じだ。なお、ユーザーの探索(3の部分に相当)には幅優先探索アルゴリズムを用いたが、今回の主題から外れるから説明は割愛する」
「興味のある人は『グラフ探索アルゴリズム』や『幅優先探索』で検索してみてねっ」
「では、肝心の 1 の部分について説明するぞ。まずは他人のカクヨムのプロフィールページを開いてみて欲しい」
「開いたー」
「そこから何が分かる?」
「えーっと……名前とか、小説とか?」
「そうだ。もっと詳しく列挙すると以下のようになる。なお、《 》で囲っているものは、その情報が存在すれば得ることが出来ることを表しているぞ」
・活動名(ペンネーム)
・アカウント名
・《Twitterアカウント名》
・フォローしている小説の数
・フォローしているユーザー数
・登録年月日
・投稿小説数
・投稿近況ノート数
・おすすめレビュー数
・《投稿した小説の個別情報(最大十二個)》
・《レビューの個別情報(最大十二個)》
・《フォローしている小説情報(最大五個)》
・《フォローしたユーザーの情報(最大十二ユーザー)》』
「あんまり気にしてなかったけど、情報がいっぱいね」
「今回俺が目を付けたのは、一番最後の『フォローしたユーザーの情報』だ」
「なんで?」
「これを見ればユーザーのフォロー関係を直接トラッキングできるからだ。この情報さえ取得してしまえば、誰が誰をフォローしているかのネットワークが出来上がるって寸法だ」
「なるほど!」
「実は、『ユーザーのフォローをもっと見るページ』に移動すれば、全員のフォロワー名を取得することが出来る。ただし、一ページに六十人分しか表示されないから、六十一人以上のフォロー数がある人は、全ページを参照してデータを集めたぞ」
「それって全部プログラミングで出来るの?」
「出来る」
「抜かりない……」
「ということで、お待たせしました。結果の発表です」
「ちょっと待ってよ、タケル君。カクヨムって図をアップロードできないんじゃなかったっけ?」
「そうだよ。だけど、解決方法を思いついた。Twitterに上げちゃえばいんだ」
「その手があった!」
それでは結果を発表します。
百五十八名のフォロー・フォロワーネットワークを作成しました。
https://pbs.twimg.com/media/ERIheBiUUAI35yP?format=jpg&name=4096x4096
(ツイート本体:https://twitter.com/t_kusanagi/status/1230082456709038080)
「うわー、なにこれ! いろんな色の点々があって綺麗」
「だろう? この図は『Gephi』というネットワーク解析及び可視化用のオープンソースソフトウェアを使用している」
「おーぶん? そーす?」
「料理じゃないし、オーブンじゃなくてオープンだ。ソフトの本体だけじゃなく、その中身のプログラムも無料で公開されてるアプリのことね。
Wikipediaの記事(※)によると、ニューヨーク・タイムズの世界的利用状況や社会的混乱時のTwitterのトラフィック状況の可視化、その他従来のネットワーク解析など、大学やジャーナリズムなどの研究に利用されているそうだ」
(※ https://ja.wikipedia.org/wiki/Gephi)
「ねぇねぇ、早くこの図を説明してよ!」
「分かったよ。さて、ここから いよいよ本題に入るわけでございますが――」
パン!
「なんとなんと!」
パン! パパン!
「丁度、五〇〇〇文字となりました」
「講談かよ!」
(これを書いている人の心の声:今回の小説は、プログラムはハードルが低いよということを言いたかったのです。ネットワークの読み方&分析は次回! お楽しみに!
最後に――
(続く!)
――――――――――――――――
以下は、分析に使用した人のリストです。データは二〇二〇年二月十八日に収集しました。
統計対象:百五十八名(順不同)
京丁椎 様
ホシノユカイ 様
まるて 様
久遠 悠 様
野々ちえ 様
星宮コウキ 様
七野りく 様
秋月 司 様
無月弟 様
無月兄 様
O3 様
霜月二十三 様
木霊風理 様
風崎時亜 様
芝樹享 様
スーパーちょぼ 様
もりくぼの小隊 様
一視信乃 様
阿桜かほる 様
春木のん 様
和希 様
薮坂 様
wazzwallasis 様
お父さん 様
2代目シエル 様
古川 奏 様
南雲 皋 様
三文士 様
宇部 松清 様
水音芽生 様
栞屋こと 様
水凪 らせん 様
譜田 明人 様
蜜柑桜 様
あいる 様
ばびぶ 様
彌猴桃(キウイ) 様
鷹杉奨 様
白衣 雲 様
坂井令和(れいな) 様
星成和貴 様
ゆうすけ 様
Zooey(ゾーイー) 様
夏緒 様
北極ポッケ 様
宮草はつか 様
月夜 葵 様
白石 幸知 様
つきの 様
さいとう みさき 様
武上 晴生 様
麒麟屋郁丸 様
霧崎奈波 様
松本 せりか 様
ハヤブサiroha@隼坂色華 様
永遠?氷食少女 様
大鑽井盆地 様
青月クロエ 様
赤染紫乃 様
橋本圭以 様
陽澄すずめ 様
森 久都 様
PKT 様
氷花 様
aina 様
凍てつけ 様
下崖友緒 様
まんごーぷりん(旧:まご) 様
N岡【θ青?┣?ラ!】一章完結したよ?? 様
神谷そら@アドバイス不要作者 様
房成 あやめ 様
時雨哀流 様
切り株ねむこ 様
鏡花水月 様
文月 かごめ 様
朽木桜斎 様
淡路結葉 様
小風 琴 様
りま 様
華やぎ。 様
オリーヴの森の吟遊詩人 様
齋藤瑞穂 様
久浩香 様
水円 岳 様
戸松秋茄子 様
斉藤希有介 様
薙刀 nagi 様
六月 様
須戸 様
ワルク 様
516 様
琥珀もどき 様
チョコ林檎 様
仁志 水ぎわ 様
結恵(yue) 様
鹽夜亮 様
秋の庭 様
葉乃ヒロミ(元・ハープ) 様
和泉ユウキ 様
月原蒼 様
竹鋸椎武 様
いいの すけこ 様
月波結 様
たまきみさえ 様
嵯冬真己 様
IccO__Omml 様
狐雨夜眼 様
永谷 瞬 様
継月 様
如月芳美 様
いとうみこと 様
片瀬智子 様
木元 宗 様
オレンジ11 様
綿貫まりぶ 様
彩夏 様
藤光 様
洩神零二 様
青野ハル 様
@kakur437 様
鴨川ブンコ 様
水瀬ふみ 様
あやまるねこ 様
ドゥギー 様
増田朋美 様
アルキメイトツカサ 様
静嶺 和泉 様
漆葉響 様
こたろう 様
西フロイデ 様
負け犬アベンジャー 様
青澄 様
押羽たまこ 様
泡沫 希生 様
弥七煌 様
クローン人間 様
Han Lu 様
夕凪 様
吾野 廉 様
新吉 様
佐々木悠 様
文屋旅人 様
かげひかり 様
陽月 様
鳥の音 様
@wizard-T 様
lager 様
武石雄由 様
大地 鷲 様
白猫 様
カワゥソ 様
みしょうかん 様
奈月沙耶 様
瀬夏ジュン 様
NkY 様
守株 様
佐々木 祐(タスク) 様
……and 草薙 健(タケル)
ありがとうございました。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます