インターネット小説の利用特性

19EC074 鳥海 剛史

目次

  1. 研究動機
  2. 事前知識
  3. データ収集
  4. 取得データ解析
  5. 考察
  6. 別表・プログラム
  7. 参考文献

1.研究動機

近年ライトノベルや漫画、アニメなどのサブカルチャーにおいて、小説家になろう(以下なろう)に代表される「インターネット小説投稿サイト」の影響がよく見られるようになっている。

2022年2月に「animate Times」(アニメ、漫画、ラノベ等をメインに扱うニュースサイト)が公開した記事によると、2022年2月時点でアニメ化された作品数は46作品(2クール目などの続編を含まず)あり、その大半がここ5年である。(1)

また、それらのインターネット小説投稿サイトからの作品を区別するジャンルとして「なろう系」という分類が発生し、認知度も「Googleトレンド」から確認すると、下図のように右肩上がりである。(2)

図1.「なろう系」のトピックの人気度(Googleトレンド)(2)

また、なろうの人気ランキングの上位を確認してみると、下図のように同じジャンルの作品が乱立している。

従って、ランキングにおいて流行(トレンド)の影響が大きくあることがわかる。

図2.なろうの週間・月間ランキング(3)

これらの事象から、以下のことが推測できる。

そのため本研究では、なろうから小説のメタデータを取得し解析することでこれらの事象を確認する。

2.事前知識

2-1.小説家になろう(4)

なろうは、株式会社ヒナプロジェクトが提供する小説投稿サイトであり、無料の会員登録を行うことでウェブ上に小説を公開できるものである。

2004年に個人サイトとして投稿型ケータイ小説サイトとして開設された当サイトは、2010年に運営法人化を目的として株式会社ヒナプロジェクトが設立した。

2014年12月時点で月間約9.5億PV、ユニークユーザー数約400万人(5)、2019年4月時点で月間約20億PV、ユニークユーザー数約1400万人に達している。 登録ユーザーの年代は20代が44%、30代が24%、10代が14%となっており、ユーザー性別比は男性約6割、女性約3割(その他未登録)(6)となっている。

2-1-1.ジャンル

なろうにおいて、小説を投稿する際に様々設定する項目があるが、今回の研究において重要な要素として大ジャンル・ジャンルというものがある。

2016年の3月にジャンルの再編が行われ、その時点で投稿されている小説のジャンルが「ノンジャンル」として扱われた。

大ジャンル・ジャンルの種類は以下のようになっている。

表1.大ジャンルの種類

大ジャンル名
恋愛
ファンタジー
文芸
SF
その他
ノンジャンル

表2.ジャンルの種類

ジャンル名
異世界恋愛 現実恋愛
ハイファンタジー ローファンタジー
純文芸 ヒューマンドラマ
歴史 推理
ホラー アクション
コメディー VRゲーム
宇宙 空想科学
パニック 童話
エッセイ
リプレイ その他
ノンジャンル

2-2.WebAPI

今回のデータ取得に利用している技術。

APIとは、Application Programming Interfaceの略であり、WebAPIとはWeb上からネットワーク越しに呼び出すアプリケーション間・システム間のインターフェースのことである

APIの機能はわかっているけれども、その中身の実際の動作は詳しくわからない (知らなくてもよい)機能の塊を、外部から呼び出す仕様のことを指す。(7)

今回はなろうが公開している「なろう小説API」(8)というWebAPIを用いてなろうに掲載されている小説情報を取得する。

2-3.WEBスクレイピング

今回のデータ取得に利用している技術。

webサイトにある情報を抽出するものであり、一般に対象とするサイトにアクセスし、そのサイトのHTMLコードを取得して欲しいデータだけを切り抜いて保存するというものである。

その性質上、webサイトに機械的にアクセスしてデータを取得するため、サーバーに負荷をかけやすく、対象のサイトの規約等を確認しアクセス間隔を1秒程度開けることが暗黙の了解として存在する。

今回「論文作成などで必要な分析において、サーバーに負荷を与えない頻度でのデータ取得は問題ない」という回答を取得済みである。

2-4.時系列解析

時間的概念が紐づいているデータである「時系列データ」を処理する方法の一つであり、時系列性を考慮してデータ分析やモデル構築をするものである。

時系列データは趨勢変動成分(長期的な増減)・季節変動成分(一年以下の周期的なパターン)・不規則変動成分(不規則な変化)の大きく分けて三種類の変動成分で構成されており、これらを解析するのが時系列解析である。(9)

2-5.時系列モデル

時系列解析を行う目的の一つに、時系列モデルを構築するというものがある。モデルを構築することで、今後どのような変化が起きるかを推測することができる。

時系列モデルの一種であるARIMAモデルとは、トレンドが見られ定常でない (平均や自己共分散がその時点に依存していない)時に利用するモデルである。過去との差分を取った階差系列を用いてトレンドの影響をなくし、その階差系列を用いて自己相関や移動平均でモデル化するものである。

また、SARIMAモデルというものもあり、こちらはARIMAモデルの弱点である季節性を効果的に捉えることができないということを解決するものあり、季節性のパラメータを用いることで解決するというものである。

これらの表記として、以下ではSARIMA(p,d,q)(P,D,Q)[m]というものを用いる。

(p:自己回帰の回数 d:階差を行う回数 q:移動平均の回数 P:季節性の自己回帰の回数 D:季節性の階差を行う回数 Q:季節性の移動平均の回数 m:季節性の周期)(10)

2-6.誤差関数

今回利用する誤差関数を簡易的にまとめる。

RMSE 平均平方二乗誤差 実測値と予測値の誤差を二乗し平均を取り、平方根を取ったもの。局所的な誤差(外れ値)が考慮しやすい。
MAE 平均絶対誤差 実測値と予測値の誤差の絶対値を平均したもの。
MAPE 平均絶対パーセント誤差 実測値と予測値の誤差を実測値で割った値の絶対値を平均化したのち、パーセント化したもの。(11)

3.データ収集

3-1.なろう小説API

なろうには、公式で「なろう小説API」というWebAPIが用意されている。(8)

APIのURLとして「https://api.syosetu.com/novelapi/api/」があり、URLパラメータとして条件を追加することでほしい情報を取得できる。

※例:出力をJSON、最大出力数を10、小説タイプが完結済みを検索する場合、

「https://api.syosetu.com/novelapi/api/?out=json&lim=10&type=er」となる。

今回取得したメタデータは以下の通りである。

表3.APIで取得した要素と説明

要素 説明
title 小説名
ncode Nコード(小説のユニークID)
biggenre 大ジャンル
genre ジャンル
keyword キーワード(タグ)
general_firstup 初回掲載日
general_lastup 最終掲載日
novel_type 連載-短編
end 完結-連載中
length 小説文字数(スペースや改行含まず)
global_point 総合評価ポイント(ブックマーク×2+評価ポイント)
fav_novel_cnt ブックマーク数
impression_cnt 感想数
review_cnt レビュー数
all_point 評価ポイント
all_hyoka_point 評価者数
weekly 週間ユニークユーザー

3-2.PV取得(Webスクレイピング)

上記の通り、APIを用いてもPV情報の取得はできない。

そのため、PVを取得するためになろう公式が公開しているアクセス解析システムである「kasasagi」(12)というものを活用する。

これは、小説のユニークIDである「ncode」をURLの末尾に付加することで対象の小説のPV情報を取得できる。

※例:「転生したらスライムだった件」のPV情報を取得するURL

「https://kasasagi.hinaproject.com/access/top/ncode/n6316bn/」

APIで取得したncodeを利用して機械的にページにアクセスし、そこにあるPV情報を取得する。

3-3.情報取得日

APIでの情報取得日…8/17

スクレイピングでのPV取得日…9/7~19

※2022年度のデータは途中での集計である。

そのため、年別で見た時の2022年のデータは参考程度で解釈する。

4.取得データ解析

4-1.なろう全体

4-1-1.投稿数(月別)

得られたデータに対して初回掲載日(general_firstup)を元に、月別で投稿数を集計し、それの時系列分析を行う。(別表1参照)

まず、集計したデータから直近一年を除いたものから、前提知識で述べた三成分に分けて描画した場合、以下のようなグラフが現れる。

図3.月別投稿開始数の成分分析

(上から、元データ・趨勢変動成分・季節変動成分・不規則変動成分)

また、これらをpythonのライブラリにあるpmdarimaライブラリのauto_arima関数を用いて、SARIMAモデル(時系列モデルの一種)を用いてもっとも誤差が少ないモデルを構築すると、SARIMA(3,1,2)(1,0,1)[12]というものができる。

このモデルを用いて予測し、そのデータと直近一年のデータ間で精度を3つの手法で検証すると、以下のようになる。

RMSE 453.7642206211361
MAE 386.89408056689086
MAPE 0.04451158916469003

また、これらをグラフ化すると以下のようになる。

図4.元データと予測データの視覚化

この結果から、図3より各月ごとの投稿数に関してトレンドとなるような変化(上昇傾向にある)が見られ、なろうそのものの認知度・人気度というものが年々上昇してきていることがわかる。

また、季節的に周期していることもわかることから、投稿がしやすい月・しにくい月というものがあることがわかる。

予測という面で見ても、図4とその上に記載してある3つの誤差関数から見るに、pythonのライブラリに自動でフィッティングをしてもらう形でも、実数値と比較し飛びぬけて外れているわけではない。

※RMSEとMAEが大きい値になっているように感じるが、直近一年のデータでいえば、月平均9000ほどと考えるとそこまで大きな値ではない。

このことから、同様のことを行っていくことで来年度以降のデータもある程度予測することが可能だと思われる。

4-1-2.投稿数(年別)

4-1-1と同様に得られたデータを今後は年別で集計をする。(別表2参照)

この結果を描画した場合、以下のようになる。

図5.各年の新規投稿数

このグラフは、4-1-1で分かったトレンドがあるということが年単位でもわかるということである。

4-1-3.PV(年別)

4-1-1と同様に、初回掲載日を基準にPVを年別で集計する。(別表3参照)

この結果を描画した場合、以下のようになる。

図6.各年のPV合計

今回得られたPVというものは集計時間時点で反映されているPVを獲得している。

そのため、値として大きくなりやすいのは新しい作品よりひと昔前の作品ということになる。

なろうそのものの人気が上昇していることから、グラフの外見は理想的には以下のようなグラフになることが推測される。

図7.理想的なPV曲線(上記関数は-xex)

理想的なグラフと実数値を比較すると、2016年を外れ値として扱うとほぼ理想的な関数になっていると考えられる。

従って、全体的なPVに関しては今後どのように変化するかはある程度想定できるだろう。

※2016年が大きな値になっている原因の一つとして、昨今アニメや漫画などで話題になっている作品が2016年付近に集中しているということがある。

4-2.大ジャンル

4-2-1.投稿数

4-1と同様に、初回掲載年を基準に大ジャンルで投稿数・割合を集計する。 (別表4・5参照)

投稿数を描画した場合、以下のようになる。

図8.各年の大ジャンル別投稿数

また、投稿数の割合は以下のようになる。

図9.各年の大ジャンル別投稿割合

4-2-2.PV数

4-1と同様に、初回掲載年を基準に大ジャンルでPV数・割合を集計する。 (別表6・7参照)

PV数を描画した場合、以下のようになる。

図10.各年の大ジャンル別PV数

また、PV数の割合は以下のようになる。

図11.各年の大ジャンル別PV割合

これらの結果より4-2-1や別表を参照すると、投稿数という投稿者視点からみると文芸が一番人気、次いでファンタジー、その他、恋愛というようになっている。

しかし、PV数という読者視点からみるとファンタジーが一番人気であり、次いで恋愛、SF or 文芸というようになっており、

「ジャンルとして人気があるから書く」という人気に依存する層よりも

「自分が書きたいから書く」といった自分本位の層が多くいることがわかる。

また、ここ数年で投稿数・PVともに上がっている大ジャンルとして、恋愛がある。

変化の兆候がよく見られるPV割合での変化としては以下のようになっており、二次関数で近似できるような変化が起きている。

図12.恋愛のPV割合の変化

実際図2にもある通りランキング上位の作品は恋愛の作品が占めており、ここ数年で恋愛の需要が上がっていることがわかる。

4-3.ジャンル

4-3-1.投稿数

4-1と同様に、初回掲載年を基準にジャンルで投稿数・割合を集計する。 (別表8・9参照)

上位5ジャンルの投稿数を描画した場合、以下のようになる。

図13.各年の上位5ジャンルの投稿数

また、同様に上位5ジャンルの割合を描画すると以下のようになる。

投稿数ベースで考えると、ランキング上位は大ジャンルにおけるファンタジーと恋愛の二つが大きな影響を与えている。

特に、異世界恋愛に関して言えばここ5年ほど一定の割合をもって上昇しており、投稿者視点からの人気が上がってきていることがわかる。

異世界恋愛は「悪役令嬢」を代表として、貴族に関する恋愛をメインにしている作品の影響が多くあり、非現実的な世界にありながらも現実的な恋愛ものを求めている層に需要があるのだと思われる。

4-3-2.PV

4-1と同様に、初回掲載年を基準にジャンルでPV数・割合を集計する。 (別表10・11参照)

上位5ジャンルのPV数を描画した場合、以下のようになる。

図15.各年の上位5ジャンルのPV数

また、同様に上位5ジャンルの割合を描画すると以下のようになる。

図15.各年の上位5ジャンルのPV割合

PVの視点から見ると、VRゲームの影響が一定以上存在する。

VRゲームは大ジャンルだとSFに分類されるものであり、近未来的に起こりうる自意識をゲームのキャラクターとリンクさせ、実質ゲームの世界で冒険を行うというものであり、代表的な作品だと「ソードアートオンライン」などがある。

またファンタジーは、最近の作品よりひと昔前の作品のほうが見られる傾向にあり、これは昔の著名な作品に対して人気が集中していることの表れだと思われる。

5.考察

全体を通していえることとして図3・5などのグラフから、なろうや他のインターネット小説の人気や知名度というのは上がってきており、現状それに陰りがあるように見えない。

時系列解析を行うことである程度の精度で予測することが可能であり、今回使用したpmdarimaライブラリのauto_arima関数以外の方法でフィッティングした場合と比較し、より効率的な予測が可能になるものだと考える。

またジャンルの変遷を見ると、恋愛モノ(特に異世界恋愛)の需要が上がってきており、今後も安定して上昇していくと思われる。

その反面ファンタジーというものが減少してきており、なろう全体の文化が大きく変化しはじめていることがわかる。

しかし投稿する側の視点から見ると、人気度が高い恋愛の数よりも人気度の低い文芸の数のほうがより投稿数が多いことを考えると、

全体としてはあくまで「自分が書いた小説を自由に投稿できる」というインターネット小説投稿サイトであり、数字や実利だけを追い求めているわけではないということがわかる。

今回はあくまで投稿開始月・年での話をメインとしたが、得られたデータをより精査すると他の様々な結果が得られると思われる。

例として、連載期間(最終掲載日-初回掲載日)の長さを基準として考えるということや、

現在のランキング選定で使われている総合評価ポイントの計算式ではなく、 PV数から他の評価軸(レビュー数やブックマーク数)を相対的に評価し、

新しい計算式でのランキングの選定方法の模索というようなことも行えるだろう。

6.別表・プログラム

別表・プログラムに関しては以下のGithubを参照する。

link: https://github.com/Infamously/excel_data

各別表番号とファイル名、内容の対応は以下の通りである。

表4.別表番号とファイル名、内容の対応

表番号 ファイル名 内容
1 month_posts.csv 月別投稿数
2 year_post.csv 年別投稿数
3 year_pv.csv 年別PV数
4 big_year_ports.csv 年・大ジャンル別投稿数
5 big_year_ports_per.csv 年・大ジャンル別投稿割合
6 big_year_pv.csv 年・大ジャンル別PV数
7 big_year_pv_per.csv 年・大ジャンル別PV割合
8 genre_year_ports.csv 年・ジャンル別投稿数
9 genre_year_ports_per.csv 年・ジャンル別投稿割合
10 genre_year_pv.csv 年・ジャンル別PV数
11 genre_year_pv_per.csv 年・ジャンル別PV割合

また、APIを用いたデータ取得のプログラム(narou.py)と、month_posts.csvファイルを用いた時系列解析を行ったプログラム(sarima.py)を同Github上に掲載した。

7.参考文献

(1)「なろう系アニメ作品まとめ|「小説家になろう」 | アニメイトタイムズ」, https://www.animatetimes.com/news/details.php?id=1643684946, (2022/12/30参照)

(2)「なろう系 - 調べる - Google トレンド」, https://trends.google.co.jp/trends/explore?q=%2Fg%2F11jg16w1rk&date=all& geo=JP,(2022/12/1参照)

(3)「小説を読もう! || 小説ランキング」, https://yomou.syosetu.com/rank/top/, (2022/12/1参照)

(4)「小説家になろう - みんなのための小説投稿サイト」, https://syosetu.com/,(2022/12/30参照)

(5)口コミだけで月間10億PV、ベストセラー続々 京都発の小説投稿サイト「小説家になろう」の歩み」, https://www.itmedia.co.jp/ebook/articles/1412/25/news072.html, (2022/12/30参照)

(6)「Vol.1 個人発サイトがエンタメ/出版業界を席巻する理由」, https://premium.kai-you.net/article/53,(2022/12/30参照)

(7)「Web APIとは何なのか - Qiita」, https://qiita.com/NagaokaKenichi/items/df4c8455ab527aeacf02, (2022/12/30参照)

(8)「なろう小説API - なろうデベロッパー」, https://dev.syosetu.com/man/api/, (2022/12/30参照)

(9)「Pythonで時系列解析・超入門(その1)時系列データに対する3つの特徴把握方法(変動成分・定常性・コレログラム) – セールスアナリティクス」, https://www.salesanalytics.co.jp/datascience/datascience085/,(2022/12/30参照)

(10)「【MAE・RMSE・MAPE・R²】線形回帰モデルの評価関数の種類と計算方法 | self-methods」,https://self-methods.com/mae-rmse-mape-r2/, (2022/1/2参照)

(11)「Pythonで時系列解析・超入門(その3)ARIMA系モデルで予測する方法」,https://www.salesanalytics.co.jp/datascience/datascience087/, (2022/1/2参照)

(12)「KASASAGI2,https://kasasagi.hinaproject.com/, (2022/12/30参照)