Let's Apply GraphRAG to Blue Archive MomoTalk

Project: Strawberry Milk

I wanted to create a MomoTalk that answers questions about game stories by connecting characters and events. Previously, I searched the story of 'Wuthering Waves' using AutoRAG, but felt it fell short in sufficiently gathering relationships scattered across multiple scenes. This time, I changed the scope to the main story and MomoTalk of Blue Archive and applied GraphRAG.

Can it answer questions asking for basic settings like Shiroko's role, questions that require bundling events experienced by multiple characters, and questions where fandom memes and in-game facts easily get mixed up?

  • What is Shiroko's role in Abydos?
  • Why is Yuuka's weight 100kg?

The experiment revealed issues where the same character splits into multiple nodes, and evidence does not increase even when repeating follow-up questions. Afterwards, I added a comparison by sending the same question directly to Gemini without search. While there was a difference in finding events present in the original text, such as Yuuka's weight record tampering, I couldn't say that GraphRAG is always better based on these three cases alone. Below, let's look at what was built, where it hit roadblocks, along with answers and logs.

GraphRAG

Microsoft GraphRAG extracts elements such as characters, organizations, and events, along with their relationships, from documents, and organizes them into knowledge graphs and community summaries for retrieval. The key point is that it provides original text chunks and graph information as the context for answers.

GraphRAG Community Structure

Microsoft: GraphRAG visualization example. Colors represent communities, and large and small clusters show different levels of structure.

In game stories, the same character appears in multiple episodes and their relationships change. Therefore, in addition to finding paragraphs with similar meanings, I expected that using the connection between characters and events would make it easier to gather related scenes. However, vector search results also vary depending on chunk configuration, query decomposition, and re-ranking. In this post, I did not perform a performance comparison with standard vector RAG.

Data and Indexing Costs

The stories were organized as follows:

md
Title: RABBIT 4, Going Incognito.
Dialogue:
Miyu: Um…… Sensei…….
Miyu: W-Welcome. I was waiting for you.
Sensei: ……Are you okay? / You seemed to be getting bumped into like crazy by passersby.
...
Miyu: I feel a little relieved when I'm with Sensei……

To quickly check the operation, about 10% of the total was randomly selected and indexed. There is no guarantee that random selection evenly includes all characters or events. Therefore, when answers are insufficient, one must distinguish not only search failure, but also the possibility that the necessary original text was not in the index in the first place.

gemma-4-31b-it was used for indexing, and gemini-embedding-2 for embedding. Below are the indexing token amounts recorded at the time, which are separate from the per-question response tokens measured later.

Process Input Output Total
Entity & Relation Extraction 2.3M 0.3M 2.6M
Entity Description Summary 1.3M 0.1M 1.4M
Community Report Generation 5.0M 0.7M 5.7M
Total 8.6M 1.1M 9.7M

Problem Occurred! The Same Character Becomes Different Nodes

What stood out the most was that Sensei and Teacher were created as separate nodes. Even though there was no notation like Teacher in the original data checked at the time, it appeared in the graph.

What was suspected as the cause was the name extraction and translation process per chunk. If output names are not enforced while processing chunks independently, the same character is sometimes left with the original notation and sometimes output with a translated name. However, since all extraction prompts and responses of this run were not back-tracked, the exact path where individual nodes were created was not verified.

Plana Node Split into Plana and Prana

Prana was also split into Plana and Prana. To a human, they look like the same character, but in the graph, relationships are dispersed across different names. If a search starts on only one node, information connected to the other side may be missed.

It is difficult to assume that this problem can be solved simply by choosing a stronger model. This is because understanding that they are the same person and outputting the same identifier in all chunks are separate issues. Setting up a character-specific reference ID and alias dictionary, and connecting extracted nodes to that ID, was set as the next improvement target.

Let's DRIFT

DRIFT (Dynamic Reasoning and Inference with Flexible Traversal)

HIGH5LANDER

The node splitting problem is an issue, but the method of finding the desired answer within the knowledge graph itself is also important. This is where DRIFT search comes in. DRIFT is a method of finding things by flexibly traversing graph nodes. Rather than ending with a single search, it creates self-referential, cascading questions to find the correct answer.

When it first receives a question, it takes a quick look at the entire graph and creates follow-up questions to find more necessary information. Based on those questions, it goes deep into the graph and explores the network of relationships again. It repeats this process until enough context is gathered to answer, and then combines the gathered information to create the final answer.

Now let's check what kind of results come out when asking questions by applying this method.

Q. Shiroko's Role

Sunaokami Shiroko · Direct Call
What is Shiroko's role in Abydos?

The roles played by Sunaokami Shiroko, a character from Nexon Games' game 《Blue Archive》, in Abydos High School (or more accurately, the Abydos Foreclosure Task Force) are largely as follows.


1. Official Role: Action Leader and Field Tactics Specialist

  • Frontline Assaulter (Pointman): She plays the role of an action leader (assault leader) who leads from the front lines when actual combat occurs in the task force.
  • Field Command: While Nonomi provides (some) funding, Ayane handles rear staff/information analysis, and Hoshino holds the center as the president, Shiroko is the core of the active-duty force who runs around in the field and executes operations.

2. Practical/In-story Role: Radical Solution Proposer and Catalyst

  • Providing wacky and radical ideas (aka 'bank robbery'): To pay off Abydos' massive debts, she acts as a catalyst who unhesitatingly proposes and executes absurd, radical, yet intuitive solutions such as **"Let's rob a bank."** (She is actually the instigator of the convenience store/bank raid incident in Main Story Chapter 1.)
  • Momentum Provider: She has overwhelming drive, acting first when other club members are hesitating.

3. Routine Role: Leading Reconnaissance and Physical Training

  • School Perimeter Reconnaissance and Search: Utilizing her hobby of riding a road bike (bicycle), she patrols the vast desert areas and ruins of Abydos to detect abnormal signs.
  • Members' Fitness Lead: Based on her strong physical stamina, she also concurrently serves as a physical education manager-like role, forcibly (?) making task force members jog or undergo physical training.

To summarize: Shiroko plays the role of the Abydos Task Force's 'field action leader', the core of combat, and an 'action-oriented ace' who causes and solves incidents.

Sunaokami Shiroko · GraphRAG
What is Shiroko's role in Abydos?

Overview

Shiroko is a student at Abydos High School and a core member of the **Abydos Foreclosure Task Force (Countermeasures Committee)**, a core organization that resolves school crises and protects regional security.


Detailed Roles and Activities

  1. Core Member of the Task Force and Student Council

    • Affiliation and Status: Shiroko is a student of Abydos High School and a **Core Member of the Task Force** operating within Abydos.
    • Organizational Activities: Alongside Ayane, Serika, and others, she belongs to the task force and Abydos student council members, participating in handling school pending issues.
  2. Field Response and Security/Combat Force

    • Crisis Response: When gunshots and security threats occur within the Abydos region, she immediately dispatches to the scene and responds along with fellow members such as Nonomi, Serika, Ayane, and Sensei.
    • Comrade Protection and Operation Execution: When senior member Hoshino acts independently or falls into danger, she performs operations to protect and rescue Hoshino, playing a practical combat force role to protect Abydos' safety.

Conclusion

Shiroko plays a field response role in Abydos as a **'core instigating force of the task force'**, taking the lead in resolving regional safety and Abydos High School's problems together with her fellow students.


Reference Story Files

  • N/A (No separate story filename listed within the provided knowledge graph path)

Q. Yuuka 100kg

Hayase Yuuka · Direct Call
Why is Yuuka's weight 100kg?

To answer from the conclusion, Yuuka's weight being 100kg is not an **official setting, but a representative 'meme' that started in the fan community**.

Yuuka's actual height is 156cm, and her official weight has not been disclosed, but her profile portrays her as a high school student with a normal build. The reasons why this meme came to be and became popular are as follows.


1. Attractive Lower Body (Thigh) Design

In Yuuka's official illustration, especially the **EX skill cutscene (motion of sitting down while tapping a calculator)**, her thighs are portrayed as quite thick and healthy (chubby). Seeing this, fans started teasing Yuuka's lower body shape and making jokes like "mass is concentrated in her lower body."

2. Community's Forced Meme and the Catchiness of the Number '100kg'

In user communities such as the DC Inside Blue Archive Gallery, playful posts analyzing Yuuka's EX skill cutscene or behavior appeared, such as "A shockwave occurs when Yuuka sits down" and "Yuuka is actually heavier than a drone or shield." At this time, the symbolic number **'100kg'**, which rolls off the tongue nicely, got attached and solidified as a meme.

3. Reaction When Teased (Tsundere Character Trait)

Yuuka is a very meticulous and rational character as the head accountant of Millennium Science School, but she is in the position of the 'true wife' heroine who has feelings for the Sensei (user). Because Yuuka's reaction when fans tease her with "100kg" (getting flustered or angry like a tsundere) is very cute, users ended up teasing her like a punching bag even more without malice (?).

4. Official (Developer) Acceptance of the Meme

As this meme spread widely, the Blue Archive development team (Nexon Games) and official media also actively embraced it.

  • Official 4-Koma Manga and Event Stories: Depictions of Yuuka reacting extremely sensitively to talk of scales, diets, and weight frequently appear.
  • Official Broadcasts: Gag elements subtly reminiscent of 'Yuuka and 100kg' were sometimes included in Schale store merchandise and broadcasts.

Summary

Yuuka's true weight is likely a normal female high schooler's weight in the late 40s to early 50s kg. **'100kg Yuuka' is one of Blue Archive's most popular memes**, created by combining thick thigh design + fans' affectionate teasing + official acceptance of the meme.

Hayase Yuuka · GraphRAG
Why is Yuuka's weight 100kg?

The reason Yuuka's weight was recorded as 100kg is not due to actual physical measurements, but because of a data manipulation prank carried out by **Maki**, a member of the hacking club Veritas.


Causes and Progress of Yuuka's Weight Record

  1. Initial Background and Motive (Trigger for the Prank)

    • Maki, feeling dissatisfied with the interference of Yuuka, the accountant of Seminar, decided to target Yuuka and play a prank on her.
  2. Development Process (Hacking Student Record Server and Data Manipulation)

    • Maki led a hacking operation to access the student record server where physical examination results were stored.
    • Through data manipulation within the server, Yuuka's physical examination weight record was illegally modified.
  3. Final Result

    • Yuuka's weight figure is manipulated data intentionally altered to **100kg** by Maki.

Reference Story Files

  • story_masked_rider.txt
  • story_episode_17.txt
  • story_episode_26.txt
  • story_lazy_police_patrol.txt
  • story_your_wish.txt
  • story_running_skies_never_tire.txt
  • story_run_ayane.txt

Practical Application

Hayase Yuuka
Why is Yuuka's weight 100kg?
[GraphRAG Reasoning Trace]
Explored the cause of Yuuka's weight being recorded as 100kg. Confirmed that Veritas's 'Maki', feeling dissatisfied with Yuuka's interference, hacked and manipulated the student record and physical examination server data.
Hayase Yuuka froze the moment she heard that number. Her face instantly turned red like a beet, and she glared at you with her brow deeply furrowed. The sound of her slamming the tablet she was holding down onto the desk echoed through the office.
Yuuka Hayase Yuuka
W-What did you say?! What did you just say?!
Panting as if she couldn't hold it in, she poured out her rebuttal.
Yuuka Hayase Yuuka
100kg, do you think that makes any physical or biological sense?! My weight has increased a little bit compared to last year, but I'm still within the normal weight range! That number is clearly fake information maliciously spread by those Veritas brats, and I can't believe there are still people who believe that, it's so absurd!

What Remains from This Experiment

In the Yuuka question, we confirmed a case where search helped include specific events from the original text in the answer. On the other hand, for the Shiroko question, there was no quotation from the original text, and it generated a definitive answer even after repeated judgments of insufficient evidence. The reliability of the answer was not secured just by the fact that a graph was created. Still, I hope this attempt serves as a starting point toward improvement.

Explore the Graph Directly


This project is not an official project of NEXON Co., Ltd.