データで見るなろう

コラム

背景・目的

 小説投稿サイト「小説家になろう」(以下なろう)は2004年から始まり、2025年の時点で約121万の作品が掲載されている。投稿数は膨大でジャンルは年々変化しており、これがどのように変遷し分布しているのかデータを元に分析する。

方法

 年ごとの変化を確認するため、作品検索の検索範囲指定で初回掲載日を各年ごとに1/1から12/31までの1年間を指定して検索を実行し投稿数を調べた。最新掲載日としなかったのは作品ごとの投稿期間の影響を避けるためである。

 総合ポイント別のヒストグラムはなろうデベロッパーのなろう小説APIを参考にし、Pythonのスクリプトで条件を指定してallcountの値を取得し作成した。

import requests
import time

# 10000ずつずらしてリクエストを行う
for min_globalpoint in range(10000, 200000, 10000):
    max_globalpoint = min_globalpoint + 10000

    # APIのURL
    url = f"https://api.syosetu.com/novelapi/api/?out=json&order_former=search&order=new&nizi=1&minfirstup=2017%2F01%2F01&min_globalpoint={min_globalpoint}&maxfirstup=2017%2F12%2F31&max_globalpoint={max_globalpoint}"

    # APIにリクエストを送信
    response = requests.get(url)
    data = response.json()

    # allcountの値を取得
    allcount = data[0]['allcount'] if data else None

    # 結果を表示
    print(allcount)

    time.sleep(1) # 1秒間待機

    

結果と考察

年間投稿数の推移

 図1に2004年から2024年までの各年の年間投稿数を示す。2004年の年間投稿数は279件で、以降毎年増加し、2009年には10,000件/年を超えた。2017年に80,000件/年を超えるまで毎年約9,000件ずつ直線的に増え続けた。2018年以降は年間約83,000件前後で推移しているが、2020年と2021年の2年間のみ90,000件/年を超えた。これは新型コロナウイルスの流行に伴う外出制限の影響と推測される。

 多分に主観的とはなるが、面白い作品が最も多かったのは2019年前後で、投稿数が飽和を迎え最盛期となったのではないかと考える。2019年前後は本ブログのSランク、Aランクでピックアップした作品数は多数となったが、年間投稿数は変化がないのに最近は見つけるのが難しくなった。あまりに多くの似たような作品を読んだために飽きてしまったという懸念もあるが、できるだけフラットな視点で読むよう心がけているので、やはり面白い作品が減ってしまったのではないかと思う。大変残念なことである。一読者としては最近の作品は閲覧数を増やすために読者に迎合しすぎなのではないかと感じる。山あり谷ありではなく最初から最後まで平坦なストーリーが増えてきたように感じます。もっと作者の書きたいことを書きたいように書いて欲しいと思う。

投稿作品ジャンルの変遷

 図2-1と2に2014年および2024年のそれぞれの年の総合ポイント上位100位までの作品のジャンル別内訳を示す。2014年はファンタジー75%、恋愛9%だったが、10年後の2024年にはファンタジー42%、恋愛56%となり、恋愛小説の割合が大幅に増加した。

 それぞれのジャンルの作品の傾向としては、ファンタジーは男性向けの剣と魔法の世界で、ゲーム寄りの世界観であればレベルやスキルもあり、ハーレムやチートといった作品も多くなる。文章としては拙いものも多い。

 一方恋愛ジャンルの作品は剣や魔法はほとんど登場せず、メインは貴族の家族および友人との人間関係となり、舞台の多くは学園となる。文章はきちんとしていて、作者の性別による違いは顕著である。また身分差を肯定するものが多く、平等が原則の現代においてなぜ身分差を是とするのか興味深い。

総合ポイントの分布

 図3に年間投稿数がおおむね飽和した最初の年にあたる2017年の1年間に投稿を開始した作品の総合ポイントヒストグラムを示す。2017年は投稿数は十分で連載も完結し評価も落ち着いていると考えられる。1年間の総投稿数は80,746件で、この内10,000pt未満は80,102件と、99%を占める(グラフは便宜上上限を300とした)。10,000~20,000ptは約280件で、以降総合ポイントが増えるにつれて10,000ptあたりの作品数は減少していく。なお2017年の最高ポイントは72万ポイントだった。我々が通常目にするのは10,000pt以上の1%にすぎず、残り99%の中にまだ見たことのない優秀な作品が埋もれている可能性があるが、これを見つけることは困難である。

 ここで、繰り返しになるが10,000pt未満の作品数は約80,000件である。この範囲を100刻みで100から10,000ptまでのヒストグラムにしても100未満の分布は約70,000件のため、飛び抜けてしまい図示できない。そこで横軸を総合ポイント、縦軸を作品数頻度の対数軸とする散布図を作成した(図4)。

近似曲線はべき乗則で非常に良い近似となった。

\(
f(x)=1.945\times10^{7}x^{-1.6482},\quad R^{2}=0.9627
\)

ここでf(x)を100から10000の区間で積分し正規化定数Zを求めると

\(
Z=\int_{100}^{10000}1.945\times10^{7}x^{-1.6482}dx
\)

\(
Z\approx1.438\times10^{6}
\)

f(x)をZで正規化して確率密度関数p(x)を求めると

\(
p(x)=\frac{f(x)}{Z}\approx\frac{1.945\times10^{7}}{1.438\times10^{6}}x^{-1.6482}\approx13.53x^{-1.6482}
\)

したがって、累積分布S(x)はp(x)をxから10000まで積分して

\(
S(x)=\int_{x}^{10000}p(t)dt\approx20.88x^{-0.6482}-0.0535
\)

この式は作品の総合ポイントが100ptから10,000ptまでの範囲の母数8,570件で累積分布を算出する。全体の母数は80,746件で10,000pt以上は807件なので全体の累積分布R(x)は

\(
R(x) = \frac{S(x)\times 8570 + 807}{80746}\times 100
\)

下記ツールは、総合ポイントを入力すると本稿で導出した計算式に基づいて全体の『上位何%』に相当するかを算出する。p(x)は100から10000の区間で求めたが、区間外の総合ポイントで計算しても取得したデータと比較して精度の良い結果が得られたため、区間外も計算結果を表示している。総合ポイントが大きな作品は極めて少なく、大部分の作品が100pt未満であることが分かる。

結論

  • 投稿数は2017年に年間80,000作品でピークを迎え以降は横ばい。
  • 面白い作品は2019年前後をピークに減少傾向。迎合が原因か。
  • 2014年以降の10年間で、10%以下だった恋愛ジャンルの作品が50%以上を占めるようになった。
  • 総合ポイント10,000pt未満の作品が99%、100pt未満が88%。
  • べき乗則的分布であり、本稿で導出した計算式で、総合ポイントから上位何%かを計算できる。
タイトルとURLをコピーしました