見出し画像

ニンジャスレイヤー各エピソードからの登場ニンジャ自動抽出とその応用

 ブラッドレー・ボンド&フィリップ・N・モーゼズにより著されたサイバーパンプニンジャアクション小説「ニンジャスレイヤー」は、2010年7月より本兌有&杉ライカ(翻訳チーム)の翻訳によりTwitter(現自称𝕏)において連載が開始され(1)、2024年6月現在は第4部シーズン5が連載中である。ニンジャスレイヤーシリーズの膨大なエピソードには主人公たるニンジャスレイヤー以外にも個性豊かなニンジャたちが登場し、あるものは奮戦しあるものは1ツイートで爆発四散し、あるものは独自の人生を歩み仲間を得ていく。このような多種多様なニンジャたちもニンジャスレイヤーシリーズの魅力であるが、何しろエピソード量が膨大なため、登場ニンジャも膨大である。

 このように膨大なニンジャがどのエピソードに登場しているか、また個別のエピソードにどのニンジャが登場しているかは、ニンジャスレイヤーの熱心な読者(通称ニンジャヘッズ)によってWikiにまとめられ(2)、各ページからリンクを辿ることができる。しかしながら、これらの情報はあくまで人力そして厚意により収集されたものであり、登録の基準などには揺らぎが生じるものとして扱う必要がある。

 そこで、本稿ではニンジャスレイヤー本文から人の手を介さず登場ニンジャのリストを作る方法を検討することとした。また、構築された方法を用いて各エピソードの登場ニンジャを比較し、どれだけの共通登場ニンジャが含まれるかを計算してクラスタリングを試行した。

方法

 各エピソードから登場ニンジャを抽出するにあたっては前項の通り人力によるものが用いられてきた。

 これに対して自動的な抽出を考える際、近年発展してきたLLM、つまり文章を解するChatGPTのようなAIにニンジャスレイヤー本文を読み込ませ、登場人物をリストアップしてもらうという方法も考えられる。しかしながら、著作権的・倫理的な問題を除いてもなおこの方法には重大な懸念が存在する。すなわち、ニンジャスレイヤーを読み込みすぎたAIが黒帯を締め、ニンジャ化してしまう懸念である。

図1. エピソードから登場ニンジャを抜き出す方法の比較

 そこで古典的コードを検討することとしたが、典型的な方法としては形態素解析を行い、固有名詞を抽出するというものが考えられる。しかしながら、ニンジャスレイヤーはその特徴的な文体から、形態素解析を行うにはまず文体に対応した辞書を作成するところから始める必要があると考えられ、なんかさっくり済ませたいと思っていたので諦めた。

アイサツ抽出法

 より機械的で簡便な方法としては、プログラムで本文を解析し「○○=サン」となっている部分や「ドーモ、□□です。」となっている部分を全て抽出するものが考えられる。これは、ニンジャスレイヤー作中においてニンジャ同士が相対するときに「ドーモ、○○=サン。□□です。」とアイサツすることを利用したものである。この方法は簡便でありながらも、このアイサツが行われた時はほぼ確実にニンジャであるために信頼性が高い。しかしながら、アイサツが行われないまま登場するニンジャを捕捉することはできない。

カタカナ抽出法

 そこで、上記のアイサツ抽出法を補完するため二つ目の方法を組み合わせることにした。これはニンジャネームがほぼカタカナに限定されることを利用して、本文中に複数回登場するカタカナの連続を抽出するものである。ニンジャ同士がエピソード内で激しくカラテしているときには、「○○は□□にスリケン投擲!」といった描写が多くなるため、このカタカナ抽出法はある程度有効である。しかしながら、問題点としては上記の文章にも見られるように、「スリケン」「イヤーッ」「グワーッ」のような単語はニンジャスレイヤー本文中でかなり繰り返し使われるために、ニンジャネームより多く抽出されてしまうことである。

 このため、カタカナ抽出法にはいくつかの制約を加えて使用した。まず、エピソード中に3回以上登場するカタカナの単語のみに対象を限定した。次に、「単語の頭は『ン』ではない」「単語の最後は『ッ』ではない」といった、英語のニンジャネームをカタカナに転写する場合でも満たされる条件を加えた。また、「イヤアアアアアアーッ!!」といった同じカタカナの繰り返しが多い単語を検出し除外している。最後に、これが最も重要な部分であるが、ニンジャスレイヤー第1部のほぼ全てのエピソード、第2部、第3部、第4部の長大エピソードを実際にカタカナ抽出法で解析し、ニンジャネームや固有名詞ではない、例えば「スリケン」「タクシー」などの単語を共通の除外リストとして作成した。

結果

抽出結果概要

 上記のアイサツ抽出法、カタカナ抽出法を用いて、「ニンジャスレイヤー3部作アーカイブ【総合目次】(3)」に掲載されている第1部、第2部、第3部、AoMシーズン1〜4(2024年6月現在シーズン5が連載中)の214エピソードに対して解析を行った。抽出結果の全体像を図2に示す。

図2. 214エピソードに対するアイサツ抽出法(青)とカタカナ抽出法(緑)の抽出件数。赤い折れ線グラフはエピソードの文字数を示す。非常に大きいのでPDF版も用意した

 文字数に対する抽出件数を見ると、予想されたことではあるが文字数の多いエピソードでは抽出件数も多い傾向が見られる。また、カタカナ抽出法はその性質上アイサツ抽出法よりも件数が多くなり、平均的には3倍程度となった。カタカナ抽出法による抽出件数は平均して938文字に1件であり、これは6〜7ツイートあたり1ニンジャが登場する計算である(実際にはカタカナの他固有名詞も含まれる。)

 また、特に第2部以降に見られるように各部やシーズンの終盤クライマックスではニンジャの集団戦となり、登場ニンジャの数が跳ね上がる傾向が見られる。この観点からして特筆すべきはクルセイド・ワラキアであり、エピソード文字数自体もトップクラスのボリュームを誇りつつ、登場ニンジャも各部クライマックス並みに多い。

抽出結果の例

 では次に、個別の抽出結果を一例として、実際にどのようなニンジャが抽出されているか見てみよう。表1は第2部最終章のうち、「K.H.O.E.<急>ラスト・スキャッタリング・サーフィス前編」をアイサツ抽出法とカタカナ抽出法により解析した結果である。ハイライトしている単語は、それぞれその抽出法でしか得られなかった単語であり、これに注目すると抽出法の特徴が見えてくる。

表1. 「K.H.O.E.<急>ラスト・スキャッタリング・サーフィス前編」からの抽出結果の実例。左がアイサツ抽出法、右がカタカナ抽出法によるものであり、固有の結果をハイライトしている。

 アイサツ抽出法に特有の結果としては、アノマロカリス=サンが挙げられる。なぜアノマロカリス=サンはアイサツ抽出法でのみ検出され、カタカナ抽出法では検出できないのか。実際の登場シーンを見てみよう。

アノマロカリス=サンの登場はこの1ヶ所のみである。つまり、ノイズを抑制するために最低3回現れた単語のみを抽出するカタカナ抽出法では検出できないが、アイサツ自体はしているのでアイサツ抽出法には引っかかるのである。

 右のカタカナ抽出法で目立つのは、「クローンヤクザ」「モーティマー」「バスター・テツオ」などのモータルも検出していることである。モータルはニンジャ同士ほどアイサツを行わないため、アイサツ抽出法では検出が難しいのである。また、モータル以外にもニンジャネーム以外の固有名詞を抽出できているため、「ザイバツ」や「ペケロッパ」などの勢力名、「キンカク・テンプル」などの重要ワードも検出することができる。これは除外リストの調整次第になるが、例えば検索インデックスを作成する場合には有用な特性となる。

登場ニンジャによるクラスタリング

 さて、我々はこれまでにも手動で入力した登場ニンジャによるエピソード間のグラフ化(4)や、特徴的な文体を元にしてボンド/モーゼズのどちらが著者か推定する方法の開発(5)などでクラスタリング手法を用いてきた。そこで今回も、機械的に抽出した登場ニンジャによってエピソードをクラスタリングし、エピソード間のつながりが可視化されるかどうか確かめることを試みた。

図3. 登場ニンジャによるクラスタリングの原理。サンプラー=サンはエピソードABCの全てに登場しており、ニンジャスレイヤー=サンはエピソードABに登場している。この場合登場ニンジャ2人が共通するABが一番近い距離と判定される

 図3のように、対象のエピソードについて全ての登場ニンジャ/固有名詞を抽出し、共通の登場ニンジャ/固有名詞を含むエピソードほど距離が近いと定義すると、距離が近いエピソード同士をまとめるようなクラスタリングが可能になる。これを214エピソード全てにおいて行い、Ward法でクラスタリングを行った結果が図4である。

図4. 214エピソードにおいてアイサツ抽出法・カタカナ抽出法を併用し、登場ニンジャ/固有名詞を用いたクラスタリングを行った結果。非常に大きいのでPDF版でじっくり見てね

 クラスタリング結果が第1部〜AoMの各部/シーズンに対応しているか見やすくするために色分けを行っている。こうして見るとまず目につくのが、AoM各シーズン内のエピソードの結びつきの強さである。

図4のAoM周辺を拡大したもの

 ニンジャスレイヤーAoMにおいては、各シーズンごとに敵対する勢力が変わり、連続性の高いエピソードが連載されている。おそらくこの特性によって共通ニンジャはほぼシーズン内でまとまるのであろう。シーズン1とシーズン4がより混ざり合うようなクラスターとなっているのは、共通して舞台がネオサイタマであることの影響と思われる。

図4の左端を拡大したもの

 全く逆の傾向を見せるクラスターもある。第1部からAoMまで入り混じるこのクラスラーでは、「キックアウト・ザ・ニンジャ・マザーファッカー」「キルゾーン・スモトリ」「デス・オブ・バタフライ」「ナイス・クッキング・アット・ザ・ヤクザ・キッチン」など、一見共通性のないエピソードが集まっている。「ゼロ・トレラント・サンスイ」と「デス・オブ・バタフライ」が隣に来ているところを見ると、これらのエピソードはほぼニンジャスレイヤーのみが共通の登場ニンジャとなるようなクラスターなのではないかと推測される。エー?フラワーズ・フロム・フロストも?オハカ・エピタフもかよ!納得のいかない部分もある。

図4の右端を拡大したもの

 AoM各シーズンとはまた異なったクラスターを作るのが、第2部のメインストーリー、第3部の終盤またはロンゲストデイ周辺のメインストーリーに関わるエピソードたちである。上図の中央右側、「ギルティ・オブ・ビーイング・ニンジャ」「アンダー・ザ・ブラック・サン」などを含む4つの第3部エピソードは、上の樹形図を見ると分かるように第2部のエピソードたちとクラスターを作っているのである。

 この理由はおそらく、これら一部の第3部エピソードにおいて新生ザイバツのニンジャたちが登場するからと思われる。さらに言えば第3部終盤においては新生ザイバツニンジャたちがカスミガセキ・ジグラットを攻め上る印象的なシーンがあり、この共通性が第3部終盤と第2部を近いクラスターに分類しているものと思われる。

考察と今後の展望

 本稿ではニンジャスレイヤーの各エピソード本文から、簡便なプログラムで登場ニンジャを抽出する二つの方法を考案、検討した。抽出結果の例で見た通り、アイサツ抽出法とカタカナ抽出法には一長一短がある。アイサツ抽出法はよりニンジャネームの定義が限定されるため、プログラムが簡便でありパラメータによらない再現性がある。しかしながら、アイサツをしないモータルや地名・勢力名などは検出することができない。カタカナ抽出法はニンジャネームのみならず、モータルや地名・勢力名、幅広い固有名詞を抽出することができるが、「スリケン」「イヤーッ」などといった多くの除外リストを作成する必要がある。そしてどちらも、「武田信玄」「DZ」といったカタカナ以外の固有名詞には対応できない。

 これらの手法を検索インデックスとして使用するのであれば、アイサツ抽出法とカタカナ抽出法を組み合わせて互いの弱点を補うことは可能であろう。例えば、ニンジャスレイヤーの各エピソードのTogetterまとめを閲覧できるアプリ(私は偶然ここに来てリンクを貼っています)に応用すれば、ニンジャネームからそのニンジャが登場するエピソード一覧を表示するといった機能が考えられる。

 また、これらの手法は簡便な分処理負荷が低く、LLMのような並列計算能力を必要とするプログラムとは異なりスマホアプリなどでも動作が可能である。上記のアプリ(偶然Android版のリンクも貼っておきます)で言うならば、連載中のエピソードを閲覧中にその登場ニンジャを自動抽出することも可能になるであろう。そのような抽出結果をニンジャスレイヤーWikiで検索することで、連載中エピソードに登場したニンジャが如何なる過去を持つものだったか、迅速に復習するツールとすることも考えられる。

 クラスタリング分析で見られるように、登場ニンジャの共通性からエピソード間の関連をある程度推定することもできる。「このエピソードに出てきたニンジャはこちらのエピソードにも出てきます」的リコメンドシステムなどの構築にも応用できるかもしれない。今回はニンジャ抽出システムだけで終わってしまったが、応用範囲は広い。備えよう。

参考文献

(1)ブラッドレー・ボンド, フィリップ・N・モーゼズ(訳:本兌有, 杉ライカ). 「ニンジャスレイヤー」シリーズ
公式アカウント: @NJSLYR

(2)ニンジャスレイヤーwiki

(3)ニンジャスレイヤー3部作アーカイブ【総合目次】

(4)ニンジャスレイヤー登場忍物とエピソードの関連性視覚化

(5)圧縮率による著者推定法のニンジャスレイヤーへの応用


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