2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

トカマクラブで学ぶGemini APIを用いたQAデータベースの自動生成

Posted at

はじめに

Gemini APIを使用して、東方のWikiからQAペアを自動生成し、それらをCSVファイルに保存する方法を説明します。


こちらの記事もおすすめ

手順の概要

  1. 環境のセットアップ : 必要なライブラリのインストールとAPIキーの設定。
  2. QAペアの生成 : テキストデータからQAペアを生成。
  3. CSVへの保存 : 生成されたQAペアをCSVファイルに保存。
  4. CSVの結合 : 複数のCSVファイルを結合して最終的なQAデータベースを形成。

コードの解説

環境のセットアップ


!pip install -U -q google.generativeai

import textwrap
import numpy as np
import pandas as pd

import google.generativeai as genai
import google.ai.generativelanguage as glm

from google.colab import userdata

この部分では、必要なライブラリをインストールし、インポートしています。google.generativeaiライブラリはGemini APIを使用するために必要です。

APIキーの設定


API_KEY=userdata.get('GEMINI_API_KEY')
genai.configure(api_key=API_KEY)

Gemini APIを利用するためには、APIキーが必要です。このキーはGoogleのAPIキー管理サービスを通じて取得し、設定します。

QAペアの生成


import pandas as pd  # pandasライブラリをインポートします。データ操作に便利です!

class QAGenerator:
    def __init__(self, model_name, info_title):
        self.model = genai.GenerativeModel(model_name)  # Gemini APIのモデルを初期化します。
        self.info_title = info_title  # 情報のタイトルを設定します。

    def generate_qa_pairs(self, raw_segment):
        # Gemini APIを使って、与えられたテキストからQAペアを生成します。
        response = self.model.generate_content(f"""

        下記の{self.info_title}の情報からQAを作成してCSVにしてください
        網羅的にQAを作成してください
        情報の取りこぼしがないようにQAを作成してください
        質問の列名はQ、回答の列名はAにしてデータフレームを作成してください
        質問と回答で列を分離して
        処理中にタイムアウトしないで
        文中の「, 」は「、」に変換して

        下記のように1列目に質問、2列目に回答が並ぶように、下記のCSVのフォーマットで出力して
        下記のようにQAのセットは同じ行になるようにして
        列挙する場合は横に「、」区切りで並べて
        「・」で列挙する場合は横に「、」区切りで並べて

        ```
        Q,A
        質問1,回答1
        質問2,回答2
        質問3,回答3

        ...
        ```

        注意:質問と回答のセットが複数行に跨らないようにして。

        段階的に正確に処理を行って


        # {self.info_title}の情報

        {raw_segment}

        """)
        response_text = response.text.strip('`\n')  # レスポンステキストを整形します。
        qa_pairs = [line.split(',') for line in response_text.split('\n')]  # QAペアをリストに変換します。
        return qa_pairs  # 変換したQAペアを返します。

    def save_to_csv(self, qa_pairs, filename):
        df = pd.DataFrame(qa_pairs)  # QAペアをデータフレームに変換します。
        df.to_csv(filename, index=False, encoding='utf-8-sig', header=False)  # CSVファイルに保存します。

    def process_raw_data(self, raw_data_file, output_prefix):
        # 生のテキストデータからQAペアを生成し、CSVに保存するメソッドです。
        with open(raw_data_file, 'r', encoding='utf-8') as file:
            raw_data = file.read()

        raw_data_segments = raw_data.strip().split('\n#')
        print(f"Number of segments: {len(raw_data_segments)}")  # セグメントの数を表示します。

        for i, segment in enumerate(raw_data_segments):
            qa_pairs = self.generate_qa_pairs(segment)  # 各セグメントからQAペアを生成します。
            csv_filename = f'{output_prefix}_{i:05d}.csv'  # CSVファイルの名前を設定します。
            self.save_to_csv(qa_pairs, csv_filename)  # CSVに保存します。
            print(f"CSV file saved at: {csv_filename}")  # 保存したファイル名を表示します。

    def process_specific_segment(self, raw_data_file, segment_index, output_prefix):
        # 生のテキストデータの特定のセグメントからQAペアを生成し、CSVに保存するメソッドです。
        with open(raw_data_file, 'r', encoding='utf-8') as file:
            raw_data = file.read()

        raw_data_segments = raw_data.strip().split('\n#')
        if segment_index < 0 or segment_index >= len(raw_data_segments):
            print(f"Invalid segment index: {segment_index}. Please choose a valid index.")  # 無効なインデックスの場合は警告します。
            return

        segment = raw_data_segments[segment_index]
        qa_pairs = self.generate_qa_pairs(segment)  # 特定のセグメントからQAペアを生成します。
        csv_filename = f'{output_prefix}_{segment_index:05d}.csv'  # CSVファイルの名前を設定します。
        self.save_to_csv(qa_pairs, csv_filename)  # CSVに保存します。
        print(f"Specific segment CSV file saved at: {csv_filename}")  # 保存したファイル名を表示します。

# 使用例
#generator = QAGenerator(model_name='gemini-pro', info_title="火焔猫燐")
generator = QAGenerator(model_name='gemini-pro', info_title="霊烏路空")

#raw_data_file = '/content/Orin_RAW.txtt'  # RAW_DATAが保存されているファイルのパス
raw_data_file = '/content/Oku_RAW.txt'  # RAW_DATAが保存されているファイルのパス

#output_prefix = 'Orin'  # 出力ファイルの接頭辞
output_prefix = 'Oku'  # 出力ファイルの接頭辞

# ここまで、頑張ってくださいね!😉🌟

QAGeneratorクラスは、与えられたテキストデータからQAペアを生成するためのメソッドを持っています。Gemini APIのモデルを使用してQAペアを生成し、これらをリストとして返します。

CSVへの保存


    def save_to_csv(self, qa_pairs, filename):
        df = pd.DataFrame(qa_pairs)  # QAペアをデータフレームに変換します。
        df.to_csv(filename, index=False, encoding='utf-8-sig', header=False)  # CSVファイルに保存します。

このメソッドは、生成されたQAペアをCSVファイルに保存します。これにより、後でデータを簡単に参照できるようになります。

CSVの結合


import glob  # globモジュールはファイルのパターンマッチングに使用されます
import pandas as pd  # pandasライブラリはデータ操作と分析に便利です

class CSVConcatenator:
    def __init__(self, pattern, output_file):
        self.pattern = pattern  # 検索するCSVファイルのパターン
        self.output_file = output_file  # 結合されたCSVの出力ファイル名

    def find_csv_files(self):
        # globを使用して指定されたパターンにマッチするCSVファイルを検索します
        return glob.glob(self.pattern)

    def read_and_process_csv(self, file):
        # 指定されたCSVファイルを読み込み、処理します
        df = pd.read_csv(file, header=None, skiprows=1)  # ヘッダーなしでCSVを読み込みます
        # 最初の行が列名の行('Q', 'A')であれば削除します
        df = df[~((df[0] == 'Q') & (df[1] == 'A'))]
        # 2列以上のデータがある場合、2列目以降を結合します
        if df.shape[1] > 2:
            df.iloc[:, 1] = df.iloc[:, 1:].apply(lambda x: ''.join(x.dropna().astype(str)), axis=1)
            df = df.iloc[:, :2]
        return df

    def concatenate_csvs(self, csv_files):
        # 複数のCSVファイルを結合します
        dfs = [self.read_and_process_csv(file) for file in csv_files]
        # pandasのconcatメソッドを使用してデータフレームを結合します
        return pd.concat(dfs, ignore_index=True)

    def process(self):
        # CSVファイルの検索と結合の全プロセスを実行します
        csv_files = self.find_csv_files()  # CSVファイルを検索
        concatenated_df = self.concatenate_csvs(csv_files)  # CSVを結合
        concatenated_df.columns = ['Q', 'A']  # 列名を設定
        concatenated_df.to_csv(self.output_file, index=False, encoding='utf-8-sig')  # CSVファイルに保存
        return concatenated_df  # 結合されたデータフレームを返します

# 使用例
pattern = './*.csv'  # 現在のディレクトリ内のすべてのCSVファイルを検索
output_file = 'final_concatenated_qa.csv'  # 結合されたCSVの出力ファイル名
concatenator = CSVConcatenator(pattern, output_file)  # CSVConcatenatorインスタンスを作成
final_df = concatenator.process()  # 結合プロセスを実行
print(final_df.head())  # 結合されたデータの先頭を表示

CSVConcatenatorクラスは、複数のCSVファイルを1つのファイルに結合する機能を持っています。これにより、複数のデータソースからのQAペアを統合し、一つの大きなデータベースを作成することができます。

生成データ


               Q             A
0      霊烏路空の別名は?        うつほ、お空
1  霊烏路空が登場した作品は?         東方地霊殿
2  霊烏路空のイラストタグは?        うつほ、お空
3   霊烏路空は何をする人物?   核融合を操る程度の人物
4      霊烏路空の種族は?  地獄鴉 with 八咫烏

...

データセットの修正

データの生成に満足しない場合は下記のコードで個別に実行してください。


# 特定のセグメントのみを再度処理する場合
specific_segment_index = 3
generator.process_specific_segment(raw_data_file, specific_segment_index, output_prefix)

まとめ

この記事では、Gemini APIを使用してQAデータベースを自動生成する方法を紹介しました。このプロセスは、テキストデータから有用な情報を引き出し、アクセスしやすい形式で保存するのに役立ちます。特に大量のデータを処理する場合や、迅速な情報抽出が必要な場合に有効です。

ノートブック

データセットの作成

お空データセット


#@title お空データセット
%%writefile Oku_RAW.txt

## メタデータ

神々を喰らう核熱ほのおの顎門
霊烏路空
れいうじうつほ

東方Projectに登場するキャラクター初登場は第11弾東方地霊殿Stage 6最終Stageのボスイラストタグとしてはうつほ」「お空のタグも使われる

pixivで霊烏路空のイラストを見る

pixivで霊烏路空の小説を読む

pixivで霊烏路空のイラストを投稿する

pixivで霊烏路空の小説を投稿する

目次[非表示]
1 概要
2 種族
2.1 地獄鴉 with 八咫烏
3 容姿
4 性格
5 能力
5.1 核融合を操る程度の能力
6 スペルカード
7 スキルカード
8 備考
9 二次創作
10 関連イラスト
11 関連イベント
12 関連タグ
12.1 二次創作イラスト関連
12.2 カップリンググループ関連
12.3 記事のある二次創作キャラ
12.4 二次創作声優
13 関連ページ
13.1 6面ボスの系譜
究極の核融合で身も心も幽霊も妖精もフュージョンし尽くすがいい!」

でも私は再び灼熱地獄を生み出したいの 地上を溶かし尽くしてね!」

## 概要
種族	妖怪(地獄鴉 with 八咫烏)
登場作品	地霊殿6面ボス、『非想天則自機、『DSLV8、『秘封ND悪夢水曜、『グリウサ弾幕大会、『剛欲異聞ボスキャラクター
二つ名	熱かい悩む神の火(口授)地底の太陽()
能力	核融合を操る程度の能力
危険度	不明
人間友好度	不明
主な活動場所	旧地獄の灼熱地獄跡間欠泉センターの最深部
テーマ曲	霊知の太陽信仰 ~ Nuclear Fusion
ただし危険度や人間友好度等の評価は作中登場人物の稗田阿求による

親友のお燐火焔猫燐と同じく古明地さとりのペット通称はおくうもしくはお空
地霊殿に住まい灼熱地獄跡の温度調節を仕事として平和に暮らしていた
ちなみに温度上昇のための燃料はお燐の運んできた死体

しかしある日突然訪問してきた山の神八坂神奈子と洩矢諏訪子によりもたらされた八咫烏の力を取り込み急激に力をつけたそして地上を破壊すれば新たな灼熱地獄が生まれると愚かにも考え異変が起きることとなったもっとも神奈子たちも侵略の可能性を予感していたようだ
異変の後は守矢神社に請われて間欠泉地下センターでも何らかの仕事をしている

地霊殿配布から一年後、『非想天則にプレイヤーキャラクターとして出演 多数いる東方のキャラクターの中から地霊殿からの早速の出演ということで人気の高さが窺える

そして旧地獄が舞台となっている東方剛欲異聞にもボスとして参戦核融合炉内の灼熱地獄に入り込んだ不純物を排除する仕事をしていたのだがプレイアブルキャラ達の事も不純物と勘違いして攻撃を仕掛けてくる。「不純物が喋った!」は中々のパワーワードである
地霊殿以来再びボスとして立ちはだかってくるのだがステージの灼熱地獄は足場が悪く画面の両端がダメージゾーンとなっており非常に戦いにくいさらにおくう自身は常に空を飛んでいてスペルカード発動の要である水もあまり出ない為ゲームに慣れていないプレイヤーにとってかなりの鬼門と化している

## 種族
地獄鴉 with 八咫烏
元々の種族は地獄鴉である地獄鴉は地獄の闇から生まれ地獄の亡者の肉を啄む鴉の姿の妖怪である最近になって旧地獄が廃棄される前から棲んでいた先住民だと確認された灼熱地獄の高熱に耐えられる他はこれといって特徴は知られていない求聞口授つまり里の人間の認識)。しかし実際は鴉の姿で火球状の弾幕を放つ事が出来る地霊殿6面)。
お空はそんな地獄鴉の一羽が神の火の力=八咫烏の分霊を宿した存在である

なお神をその身に宿すのは普通の人間や妖怪には容易なことではない無個性で無名ゆえに自我に執着せず神格を受け入れる包容力と努力が必要となる(空虚であると簡単らしい)現在のお空の状態はいわば動く分社であり霊夢や依姫の神降ろしにも近いものがある

ちなみに宿主として地獄鴉が選ばれた理由とは核融合炉に旧灼熱地獄跡の高温高圧の環境が必要だった事と八咫烏を降ろすのに宿主に自身のことを八咫烏だと思いこませるのが容易であったためだとか

## 容姿
立ち絵霊烏路空地獄の人工太陽

右足は融合の足」。核融合反応によって最終的に作られるをイメージさせる形状あるいは通称象の足」、チェルノブイリに在るウランやプルトニウムを含んだ溶岩状の固形物ただし核融合と核分裂は別物である。)
左足は分解の足」。電子が絡みついている
右腕は第三の足」。多角柱の制御棒
胸は赤の目」。大きな真紅の目が胸から飛び出している
ZUNの設定を渡された非想天則ドット絵担当者の所感では融合の足第三の足赤の目を取り外す事ができるそうだ

これらは八咫烏の影響により姿が変わった結果で元からこの姿ではないらしい
ファンタジー幻想というよりサイエンスフィクション空想科学

服装は白のブラウスに緑のスカート癖毛気味な長い黒髪に緑の大きなリボンをつけている
鴉らしい真っ黒な翼には上から白いマントをかけておりそのマントの内側には宇宙空間が映し出されている地球の核を包み込むマントルmantleと空という核を包むマントmantleそして太陽という核を包み込む宇宙の三つを掛けているものと思われる)。

身長はとても高い。『非想天則のドット絵では立ちポーズの違いによる誤差はあれど小野塚小町や八雲紫より高い
また、『東方外來韋編2018年秋号の独断&偏見ランキング特集においてチルノがさいきょう度ランキングをつけているが小町が武器がでかいと評価されているのに対して空はでかいとのみコメントされていることからやはり大柄な体格なのは間違いないようであるなおランキング内では博麗霊夢霧雨魔理沙ら主人公勢に次ぐ第三位の評価である)。

東方キャラの中でもかなり複雑で独特な構造をしており絵描き殺しなどと呼ばれたZUN本人もインタビューで構想に苦労したと発言した事がある

二次創作ではデザインの面から右足の融合の足が省かれていたり甲冑になっていたりするまた後述の二次創作における第三の足の扱いから第三の足が機械的な砲身になっていることもよくある

Utsuho Fumo Touhou 17.5 version

東方剛欲異聞での衣装は地霊殿と同じだが細部が異なる
袖とスカートにベルトが追加され(TOKIAME氏のデザインによくある)ブラウスの裾のフリルが無くなり前開きが大きくなったスカートは一部分が開いており下の黒いペチコートが見えている
白くラインの入った靴下を履いているが実は左右で長さが違う(左足が長く右足が短い)

## 性格
素直で真面目なお調子者他人の言うことを容易に信じ偶然手に入れた八咫烏の力に疑問も持たず有頂天になるなど全体的に純粋で子供じみた所がある
お空ワンドロ

さらに鳥頭とまで呼ばれる記憶力の弱さがそれに拍車をかけている。(ただし鳥頭の鳥はカラスではなくニワトリ
ただし神奈子のことは忘れていた一方で重要な事柄主であるさとりや親友のお燐の事などは決して忘れないまた異物発見」「炉心の温度低下に注意など意外に難解な言葉を話していたりもする

また神主が
強い力でも馬鹿に持たせれば悪用すら出来ないって事がよく判りますああ夢のエネルギーなのに。」
Music roomより
と公式で馬鹿扱いしているが天然ボケというニュアンスではない
活用は世の為に悪用は私欲の為に使う事である。「悪用すら出来ないとはすなわち無計画で誰にとっても破滅しかもたらさずただ無益な様を皮肉にしている

非想天則にて新聞とか殆ど読んだことないやと発言しているが、「全く読んだことがないとは言っていない辺り文盲ではなく地底の環境が新聞を読むのに適してないか単に興味がないだけという可能性が高い

## 能力
核融合を操る程度の能力
サブタレイニアンサン

太陽神の能力である。「八咫烏は太陽神天照大神の使神であることから太陽の使い太陽の化身と云われる

核融合とは水素などの軽い原子同士を融合させより重い原子と膨大なエネルギーを発生させる反応のことである現在の原子力発電などに用いられている核分裂とは違い
核廃棄物がでない
プルトニウムなどのレアメタルを使う必要がない
制御が容易で暴走しにくい
核分裂より効率がよくより多くのエネルギーが生成できる
などの利点がある
もっとも身近なもので実用化されているのが水爆こと水素爆弾」。自然物などでは太陽などが有名であるただし核分裂に比べて反応に必要な温度圧力が高いために技術的ハードルが高く水素爆弾は現在の所は原子爆弾で起爆する必要があり核融合炉は高温高圧の反応プラズマを封じ込める技術開発が困難を極めているそのため現在ではまさに夢幻想の技術である

お空はそれらを一人で行うことができるある意味もっとも危険な能力の持ち主なのだ


## 制御棒
それは紛れもなく

本来制御棒は能力の核融合を安定して制御するための冷却装置のようなもので実際の核融合は左手でする描写が原作ではなされていたしかし、『非想天則では爆符ギガフレアなどをこの制御棒の先から発射しており強ち間違いでもなくなった

二次創作ではエネルギーを打ち出す砲門が制御棒の先に描かれている場合があるが、『非想天則のドット絵では何もないただの棒のように描写されている手間を省いているだけ説も)。

## スペルカード
東方地霊殿
 核熱ニュークリアフュージョン
 核熱ニュークリアエクスカーション
 核熱核反応制御不能
 爆符プチフレア
 爆符メガフレア
 爆符ギガフレア
 爆符ペタフレア
 焔星フィクストスター
 焔星プラネタリーレボリューション
 焔星十凶星
 「地獄極楽メルトダウン
 「ヘルズトカマク
 「地獄の人工太陽
 「サブタレイニアンサン

東方非想天則
 「地獄の人工太陽
 制御セルフトカマク

 遮光核熱バイザー
 爆符メガフレア
 焔星フィクストスター
 核符クリーピングサン
 光熱ハイテンションブレード
 焔星十凶星
 地熱核ブレイズゲイザー
 鴉符八咫烏ダイブ
 核熱核反応制御不能ダイブ
 「サブタレイニアンサン
 爆符ギガフレア
 「アビスノヴァ

東方非想天則ストーリーモード
 熱符ブレイクプロミネンス
 核熱核反応制御不能ダイブ
 「ホットジュピター落下モデル
 核熱人工太陽の黒点

ダブルスポイラー
 熔解メルティングホワイト
 巨星レッドジャイアント
 星符巨星墜つ
 七星セプテントリオン

秘封ナイトメアダイアリー
お空はいずれのスペルでも撮影で消せない巨大核弾を自機めがけて撃ってくる
地霊符マインドステラスチール (With さとり)
地妖符式神大星」 (With )
地霊符マインドステラリリーフ (With こいし)

東方剛欲異聞
獄炎インフェルノバーナー
獄光ディヒューズヘルファイア
太陽を盗んだ鴉
獄炎マグマティックフォール(本編には登場せず名前のみデータに存在する)

## スキルカード
東方非想天則
 236B or C系
  グラウンドメルト
  ヘルゲイザー
  レイディアントブレード
 623B or C系
  フレアアップ
  ロケットダイブ
  メルティング浴びせ蹴り
 214B or C系
  シューティングスター
  レトロ原子核モデル
  核熱の怨霊
 22B or C系
  ブレイクサン
  シューティングサン
  地獄波動砲

## 備考
名前はとり)」路空ではなくからす)」路空なので注意
初出での表記はおくうだが後発のダブルスポイラーではお空の表記も見られる一時期、「お空表記は間違いでおくうが正しいのではないかと主張するファンがいたが、『ダブルスポイラーお空表記が認められ現在のようになった
二つ名の熱かい悩む神の火の熱あつかいとは扱ふの元になった言葉すなわち扱い悩む神の火核のことである

## 二次創作
あだ名
原作のおまけテキストにあるエキストラストーリー中でうにゅ?」と発言した後述ことからうにゅほ」、通称のお空とチルノの「⑨」を合わせて⑨」と呼ばれることもある

馬鹿
うつほのえにっきれいたいさいおつかれさまばーじょん

子供っぽい性格や鳥頭神主に馬鹿と呼ばれたことが拡大解釈されて生まれた設定
ただ先述の通り鳥頭はそこまで酷くはなく馬鹿というのもニュアンスが違うので以下の内容は二次設定
ぷちふれあ

性格は完全に子供であり素直で純粋で騙されやすい。「うにゅ?」という言葉を連呼しているまた鳥頭の拡大解釈の結果として思考力の低下も見受けられる
その上で容姿は十代後半の女性か二十代以上の成人女性で描かれることが多い残念な美人
ただし非想天則の描写は二次より酷いと言われるほどであった。「巫女だ 巫女の区別が付かないよ まだまだ暴れ足りないよ! 私の中の核反応がもっと暴れろと言っているわ!」など

うにゅぱい
センシティブな作品

原作では大きな赤眼に大方占領された平らな胸部だが二次創作イラストなどでは巨乳であることが多い理由は諸説あれど何らかの形で八の字を有するキャラクター聖などの慣例に則ってそうなった可能性が高いその際の邪魔になった赤眼の扱いについてはうにゅぱい参照

卵が好物
うにゅっほー

エキストラストーリーにて自身の力で噴出した間欠泉で茹でた温泉卵を頬張っていたことから生まれた二次設定上記のうにゅ?」この食事中に唐突に声をかけられて発した言葉である
実際に烏は他の種類の鳥を襲って捕食する他巣を攻撃して卵を食べてしまうことも珍しくないため地獄鴉である空が卵好きであっても何らおかしくはない
ちなみに一緒にいたお燐も霊夢らと会話しながら卵を食べているのだが、「お燐も卵好きという二次設定にまで発展することはなかったようである

ニーソ
かうちおん

理由は定かではないが二次創作ではニーソをはいていることもある
スカートキャラ文やはたてがニーソをはいて描かれていることがあるので、「ミニスカート=ニーソをはかせてみようという流れによるものだと思われる彼女は背が高い設定なのでスラりと伸びた脚にニーソがとても美しく見える

高身長長身お空
うつほ

前述されているように東方キャラの中でも屈指の高身長キャラであり何故かギネス記録級の2m以上の身長で描かれているイラストも見受けられる

動物形態
おなかすいたよ

原作で猫の姿があるお燐と違い原作では動物形態は公開されていないがお燐同様に動物のカラスの姿を取れる設定やカラスの姿のお空が描かれることもある容姿も様々で普通のカラスからおキューちゃんのようなデフォルメされた姿まで様々である
因みにMuseDashにてゲスト出演した際はこの姿で登場していた

## 外部作品ネタ
右腕についている制御棒のデザインや位置が某有名ロボット戦士の主武装に似ていたため発売以前はそれで騒がれていたこともある
ゴジ空

核の力と言う共通点からか二次創作でゴジラとのコラボカップリングネタが描かれることがあるちなみに東方鬼形獣タグの最古イラストはこのネタである(上記イラスト)

なお彼女の扱う核融合は一見するとファンタジーとは程遠いように思われるが実の所ファンタジー作品でも核融合関連のスキルは該当例が多い
例えば現在のRPGの祖の一つウィザードリィシリーズにはティルトウェイトという呪文があったり、「ファイナルファンタジーシリーズではフレアという呪文があり後者が空のスペルカードの元ネタという説がある
ペルソナシリーズにおいては核熱系としてフレイ系が登場し、『P5では空の元ネタであるヤタガラスに習得させる事もできる(デフォルトでは覚えない)

お燐データセット


#@title お燐データセット
%%writefile Orin_RAW.txt
## メタデータ

火焔猫燐単語
カエンビョウリン
3.9千文字の記事
21
53800pt
ほめる
ニコニ広告する
700ptごとに
最大全額還元
掲示板へ
twitter
記事編集

概要容姿性格能力スペルカード地霊殿本編での動き二次創作における設定その他関連動画関連静画お絵カキコ関連商品関連コミュニティ関連項目掲示板
おりんりん

火焔猫燐かえんびょう りんとはZUN上海アリス幻樂団制作の弾幕STG東方Project作品内に登場するキャラクター愛称はお燐」。

東方Project第11弾東方地霊殿 ~ Subterranean Animism.のStage4,5,6の中ボスおよびStage5のボス
及び同第12.5ダブルスポイラー ~ 東方文花帖LV8の被写体

東方Projectの登場キャラクター

## 概要
種族火車
能力死体を持ち去る程度の能力
二つ名地獄の輪禍)、死体ツアーコンダクターDS)、背信棄義の死猫
テーマ曲死体旅行 ~ Be of good cheer!

おりんりん通称お燐本人は長い名前が嫌いで誰にでもお燐と呼ばせている)。
古明地さとりのペットの一人である

怨霊や死体と会話する能力を持っており主人である古明地さとりの右腕として灼熱地獄跡で怨霊の管理を任されている

元々は地底旧地獄から出てくる事は無かったのだが東方地霊殿における間欠泉の異変以降は地上にも積極的に出てきているようだ

妖怪火車でありまた本人も死体が好きな為人里のお葬式や野晒しの死体を見つけては死体を持って行こうとする
というか実際持って行くので迷惑がられている死神にとっては商売敵
しかし埋葬されてしまった死体には興味が無いようだ

猫の姿でも人間の姿でも登場するが本人曰く猫の姿の方が楽らしいだが本気モードは人間の姿である様子本人曰く会話が成り立たない)。Stage4の最初などの登場時に、「にゃーん!」と鳴いて出てくる

おくう霊烏路空とはさとりに飼われ始めた当初からの親友

黒猫というあたりが誰かと被っている気がしないでもない

東方地霊殿のゲーム本編ではStage5の道中が難しい事もあって倒すのが難しいボス
そのあまりの難易度にラスボスより強い」「5ボス最強と言う人も居る(→おりんりんランド)。

## 容姿
人間形態は黒のゴスロリっぽい服に身を包み赤毛を二束の三つ編みにしている
耳はネコ耳であるが何故か同時に人の耳も存在する

尻尾は人間形態になると無くなるようだがあった方が可愛いとして二次創作では描かれている事も多い
思いきや東方心綺楼の背景地霊殿ステージ等に登場では2本の黒い尻尾が生えているのが確認できる
なおこの際にノリの良さそうな腕振りダンスを見せている
このダンスはファンの間ではおりんりんダンスと呼ばれているようだ可愛い

おりんりんダンスをよく見てみたい人は下の動画を観てみよう



手には大きな猫車を持っている地霊殿本編では片手で持っているので大きな刃物と勘違いした人も居たようだ

また彼女の周りに漂っているのは怨霊の人魂である。…恐ろしい
獣形態の時は体の所々が赤い黒猫の姿をしている

東方求聞口授内の文々新聞の記事では普段より更にゴスロリっぽい服を着ていた
案外オシャレさんのようであるゴスっぽい服が趣味なのだろうか

## 性格
性格は明るくて単純で裏表がない
いつでもどこでも誰にでも気さくに話しかけるたとえ異変時でも)。

異変のような非常時でも明るく気さくに話す為ともすれば何を考えているのか解り難くもある
裏表は無いらしいので単に本人の性格なのだろう

主人である古明地さとりを慕っており同じく彼女を慕う霊烏路空などの他のペットとの仲間意識も強い
実際東方地霊殿における異変では親友の霊烏路空を救う為に奔走したりとかなり情に篤い

死体や霊と話す事が好きで特に明日の予定など脳天気な事を話す死者がお気に入り

また生きている人間に興味は無く基本的に自分から人間を襲う事もしないようだ
コレは妖怪に殺された死体や霊の会話が面白くない事が理由らしい
荒くれ者の多い地底妖怪の中では珍しく人間でも比較的付き合い易い妖怪と言える

間欠泉の異変以降は博麗神社によく顔を出しており博麗霊夢と仲が良い妖怪の一人

命蓮寺に入門しようとした事があるが動機がお寺はお墓がいっぱいあって死体天国だからだったので断られている埋葬された死体を持って行く事は無いようなので単に死体の側に居たかったのかもしれない)。

また命蓮寺に請われて墓を彷徨うキョンシーの宮古芳香の通訳操作をした際には報酬として死体を貰っていた

## 能力
死体を持ち去る程度の能力
文字通りの能力であるというか能力ではなく単なる技術である
死体を素早く猫車に乗せて持ち去る技術で成功率は高い

東方における「~程度の能力は本人による自己申告制である
他の能力を申告せずにコレを挙げる辺りお燐の死体に対するこだわりが伺える

怨霊や死体を操る能力
彼女固有の特殊な能力であるむしろこっちがメイン

怨霊や死体を自在に操る事が出来る
また幽霊や怨霊死体と会話する事も可能である

怨霊はそれ単体では大した力を持たないのだが
妖怪は怨霊に取り憑かれると死ぬので彼女の能力は妖怪にとっては非常に恐ろしいモノである
精神的な存在である妖怪は怨霊に取り憑かれると自身を乗っ取られてしまい死に至る

また死体を操る事も可能である
霍青娥のキョンシーである宮古芳香を操ってみせたりと汎用性は高いようだ
恐らく怨霊を取り憑かせたり死体に直接呼びかける事で死体を操作しているのだろう

その他の能力
妖怪火車だけあって炎を出す事も容易なようだゲーム本編でも大きな炎の帯を飛ばしてくる

また弾幕ごっこを行う際はノリの良い妖精にゾンビごっこをさせて弾幕を撃たせる事もあるゾンビフェアリー)。

古明地さとりのペットに共通する特徴として怨霊や妖怪を飲み込んで強くなるという能力がある
お燐も自身の力は怨霊や魑魅魍魎を食べ続けた上の努力で身に着けたモノらしく本編の会話でもそれを誇っていた

## スペルカード
東方地霊殿
猫符キャッツウォーク(E/N)
猫符怨霊猫乱歩(H/L)
呪精ゾンビフェアリー(E/N)
呪精怨霊憑依妖精(H/L)
恨霊スプリーンイーター(E/N)
屍霊食人怨霊(H/L)
贖罪旧地獄の針山(E/N)
贖罪昔時の針と痛がる怨霊(H/L)
死灰復燃(E/N)
小悪霊復活せし(H/L)
妖怪火焔の車輪(E/N/H/L)
ダブルスポイラー
死符ゴーストタウン(Scene3)
死体繁華街(Scene5)
酔歩キャットランダムウォーク(Scene7)


## 地霊殿本編での動き

ある日お燐は灼熱地獄跡の火力がいつもより強い事に気づきお空の所へ行く
そこにはとてつもない力神の力を手に入れていたお空の姿があった
しかも調子に乗った空は地上の侵略まで企てていた
お燐は

この異常事態を主人であるさとりや旧地獄の鬼達に知られてしまったらお空は始末されてしまうのでは無いか

と恐れこれを食い止める為に間欠泉に怨霊を混ぜ地上の者に異変を知らせようとした
もっともさとり自身はお空を始末するつもりなど全く無かったのだが

お燐は妖怪達が来るのを期待していたのだが何故か来たのは地上の人間
しかしその人間は思いの外強く妖怪退治の専門家であるという

ならば増長したお空を懲らしめる事も出来るのでは無いかと期待し道を譲った

しかしお空を止めて欲しかったにも関わらず何故か敗れた後もこちらに勝負を挑んでくる
……まあ動機こそ本気でも戦闘自体は所詮弾幕ごっこなので細かい事は気にしないようにしよう

## 二次創作における設定

上記のようにお空とは親友同士という設定なので彼女とセットになって登場する事が大半である
ギャグ作品ではお空の鳥頭に振り回される事が多い他突っ込み役が鉄板となっている
特に東方M-1ぐらんぷりでの迷コンビ振りは必見である

ゲーム本編の会話では終始明るい口調なのだが
友人を心配して異変を起こした経緯からか口調も苦労人として描かれる事が多いようだ

博麗神社によく顔を出し博麗霊夢とも親しい妖怪の筈なのだが彼女と絡む二次創作はまだ少ない

また同じ猫又繋がりで橙と絡む事も多い

## その他
火車
火車カシャとは過去に犯罪を犯した後に死んだ人間の亡骸を持ち去る妖怪であると言われる年老いた猫がこの妖怪になるという説や猫又の正体であるなど地方によって様々な言い伝えがある
お燐は灼熱地獄の火力を調節するために死体を集めている
名前の意味
本名である火焔猫燐のは非金属元素の一つからか動物の骨の中に含まれ空気中で自然に黄白色の光を発するマッチの原料も燐の同素体である
なお二つ名の地獄の輪禍の輪禍とは自動車や電車などに轢かれたりはねられたりする災難のことで燐火墓地などで見る人魂と掛けている
猫車
彼女が持っているものは猫車手押し車車輪が一つのものを俗に猫車又は一輪車と呼ぶ工事現場でよく見ることができるがもちろん資材を運ぶものであって死体を運ぶものではない
お燐のものはお燐の猫車と呼ばれおそらくこの世で一番死体を乗せている手押し車である

参考サイト

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?