[CHI'25 Accepted] Characterizing LLM-Empowered Personalized Story-Reading and Interaction for Children: Insights from Multi-Stakeholder Perspectives
Jiaju Chen, Minglong Tang, Yuxuan Lu, Bingsheng Yao, Elissa Fan, Xiaojuan Ma, Ying Xu, Dakuo Wang, Yuling Sun, Liang He
Personalized interaction is highly valued by parents in their story-reading activities with children. While AI-empowered story-reading tools have been increasingly used, their abilities to support personalized interaction with children are still limited. Recent advances in large language models (LLMs) show promise in facilitating personalized interactions, but little is known about how to effectively and appropriately use LLMs to enhance children's personalized story-reading experiences. This work explores this question through a design-based study. Drawing on a formative study, we designed and developed StoryMate, an LLM-empowered personalized interactive story-reading tool for children, following an empirical study with children, parents, and education experts. Our participants valued the personalized features in StoryMate, and also highlighted the need to support personalized content, guiding mechanisms, reading context variations, and interactive interfaces. Based on these findings, we propose a series of design recommendations for better using LLMs to empower children's personalized story reading and interaction.
- Python 3.8 or higher
- pip (Python package installer)
- OpenAI API key
- NLTK data
StoryMate/
├── backend/
│ ├── Audio_Generation/
│ ├── Knowledge_Matching/
│ ├── Text_Process/
│ └── app.py
├── frontend/
│ ├── static/
│ └── templates/
├── requirements.txt
└── .env
Under the Knowledge_Matching
folder, we organized the structured Next Generation Science Standards (NGSS) from kindergarten level to second grade level in NGSS_DC_EN.json
and NGSS_DCI_CN.json
. The pre-calculated key word semantic similarities with pieces of real-world knowledge in NGSS are in Similarity_Dict_EN.json
and Similarity_Dict_EN.json
.
- Clone the repository:
git clone [repository-url]
cd StoryMate
- Create and activate a virtual environment (recommended):
# On macOS/Linux
python -m venv venv
source venv/bin/activate
# On Windows
python -m venv venv
venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- Download required NLTK data:
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"
- Set up environment variables:
Create a
.env
file in the root directory with your OpenAI API key:
OPENAI_API_KEY=your_api_key_here
- First, ensure your book text is organized in a JSON file with the following structure:
[
"First page text...",
"Second page text...",
"Third page text..."
]
- Place your book JSON file in the following directory structure:
frontend/static/files/books/[BOOK_TITLE]/[BOOK_TITLE].json
- Run the book loading script:
cd backend
python book_load.py
- The script will:
- Process the text and generate audio narration
- Match scientific knowledge with the content
- Generate interactive questions and explanations
- Set up the necessary files for the interactive experience
Example usage:
from book_load import load_book
# Load a book named "Amara and the Bats"
load_book("Amara and the Bats")
The book will then be available in the library interface of the application.
- Start the Flask server:
cd backend
python app.py
- Open your web browser and navigate to:
http://localhost:5500
- Interactive storytelling with real-world knowledge integration
- Text-to-speech capabilities
- User progress tracking
- Personalized learning experience
- Support for both English and Chinese content
This project is licensed under the MIT License.
@inproceedings{chen2025storymate,
author = {Jiaju Chen and Minglong Tang and Yuxuan Lu and Bingsheng Yao and Elissa Fan and Xiaojuan Ma and Ying Xu and Dakuo Wang and Yuling Sun and Liang He},
title = {StoryMate: An LLM-Empowered Personalized Interactive Story-Reading Tool for Children},
booktitle = {Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems},
year = {2025},
month = {April},
location = {Yokohama, Japan},
publisher = {ACM},
doi = {10.1145/3706598.3713275},
isbn = {979-8-4007-1394-1},
}