3.1. Data Acquisition and Processing
Using the Korean open data portal (Available online:
https://www.data.go.kr/ (accessed on 3 July 2026)), loan records from public libraries nationwide in South Korea were collected over 12 months, from July 2023 to June 2024. The collected dataset comprised 5,079,375 records in total, and the dataset contains nine attributes: title, author(s), publisher, publication year, borrower gender, borrower age group, Korean Decimal Classification (KDC) main class, the month in which the loan occurred, and monthly loan count. Of these nine attributes, author, publisher, and publication year were excluded, as they were not utilized in this study.
In this study, the scope of analysis was restricted to records in which the title contained only Korean characters, English characters, numerals (i.e., 0–9), and whitespace. While an examination of the titles in the collected data revealed the presence of various foreign languages, including Chinese, Japanese, and French, this study focused exclusively on titles written in Korean or English. Furthermore, although many titles in the collected data contained various special symbols, records with such titles were excluded from the analysis. For example, parentheses were used to modify portions of a title, as in “(히라가라도 모르는 세나) 일본어와 맞짱뜨기”(in English, “(Sena, Who Even Doesn’t Know Hiragara) Going Head-to-Head with Japanese”); colons were used to introduce subtitles, as in “도쿄 마실: 지금은 도쿄에서 놀 시간”(in English, “A Stroll in Tokyo: It’s Time to Have Fun in Tokyo Now”); and hyphens were used to append supplementary descriptions, as in “딥스-세상에 마음을 닫았던 한 소년이 자아를 찾아 떠나는 여행”(in English, “Dibs-A Boy Who Closed His Heart to the World Sets Out to Find His Self”). In addition, many titles were found to contain punctuation marks conveying exclamatory meaning, such as exclamation and question marks.
Although removing incorrectly entered portions of titles, such as spacing errors or typographical mistakes, was also considered in this study, it was infeasible to manually identify and correct such errors across the entire dataset. Therefore, no attempt was made to locate and remove titles containing such errors. However, when spacing errors cause symbols and characters to be concatenated into a single token, accurately reflecting the semantic characteristics of the title becomes difficult. Accordingly, records in which the title contained no whitespace were excluded from the analysis.
As a result of this data refinement process, the final loan dataset comprised 1,135,165 records, representing approximately 20% of the total collected data. Next, the target variable was defined, and its values were obtained. In detail, the monthly loan counts were consolidated by computing the average across the 12 months from July 2023 to June 2024; these averaged values were then further aggregated by taking the mean across gender and age group. A logarithmic transformation was subsequently applied to these values to normalize the overall distribution; the result was set as the target variable y, defined as y(title, gender, age_group) = log(the monthly average number of loans for a given title, by gender and age_group). Here, title, gender, and age_group denote the title of a library material, the borrower’s gender, and the borrower’s age group, respectively. We clarify that y is a continuous measure of observed borrowing intensity rather than a categorical popularity scale or a probability of acceptance; accordingly, the prediction task addressed in this study is formulated as a regression problem over a continuous variable. In the end, the dataset was reduced to 246,821 records, which were used as the final dataset for this study.
3.2. Data Representation
From the 246,821 records collected and preprocessed as described above, a feature extraction process was performed in accordance with the objectives of this study.
First, embeddings were generated for titles. To this end, words within each title were tokenized based on whitespace, and
word2vec representations of length 100 were computed using the Python library gensim 4.4.0 (Available online:
https://radimrehurek.com/gensim/ (accessed on 3 July 2026)). As a result, a lexicon consisting of 62,389 unique words was constructed, and a
word2vec vector was derived for each word. Subsequently, the number of words in each title was examined, and the maximum title length was determined to be 60 words. Padding was then applied using ‘maxlen = 60’ as the reference. That is, by leveraging the
word2vec representations of the words in each title, each title was represented as a 60 × 100 two-dimensional matrix, which was then flattened to a 6000-dimensional vector, denoted as
title2vec(
title) and hereafter referred to as
title2vec. Through this process, a two-dimensional feature matrix of size 246,821 × 6000, corresponding to the title features, was derived from the full dataset of 246,821 records. By employing title embeddings, this study aimed to characterize individual words such that semantically similar words are positioned close to one another in the vector space. Moreover, this approach addresses the issue of excessively high dimensionality that may arise with conventional bag-of-words approaches such as TF-IDF.
Related to these title features, it should be noted that the
word2vec embeddings underlying
title2vec were trained on the full collected corpus of titles prior to any of the train-test splitting procedures described in
Section 3.3,
Section 3.4 and
Section 3.5; because
word2vec training is unsupervised and does not use the target variable
y, this procedure does not constitute label leakage, though it does mean that word co-occurrence patterns from titles, subsequently assigned to a test set in
Section 3.3,
Section 3.4 and
Section 3.5, were available during embedding training. Additionally, transformer-based language models, such as Bidirectional Encoder Representations from Transformers (BERT) and its Korean variant, Korean BERT (KoBERT), were not included in this study. This decision reflects the core objective of the proposed framework, i.e., establishing a lightweight, low-cost prediction approach that remains viable under the resource constraints typical of public data environments. Moreover, because the input features in this study consist solely of short, often fragmentary titles rather than full sentences or paragraphs, the primary advantage of transformer-based models—capturing long-range contextual dependencies—may yield diminishing returns relative to their substantially higher training and inference costs.
Second, the demographic characteristics of borrowers—namely, gender and age_group—were incorporated as features. Here, gender takes one of two values—male or female—and age_group takes one of five values: teens, twenties, thirties, forties, and ≥fifties. Like the KDC main class values, gender and age_group are categorical variables and were therefore converted into numerical feature representations using one-hot encoding. For example, gender was encoded as a vector of length 2, where male was represented as [1, 0] and female as [0, 1]. Similarly, age_group was encoded as a vector of length 5, where the teens were represented as [1, 0, 0, 0, 0] and the twenties as [0, 1, 0, 0, 0]. As a result, two-dimensional feature matrices of sizes 246,821 × 2 and 246,821 × 5, corresponding to gender and age_group, respectively, were derived from the full dataset of 246,821 records.
Third, feature values representing the topic of each library material were defined using the KDC main class (0–9), which constitutes the broadest categorical level of the KDC system. Since titles alone have inherent limitations in capturing the contextual meaning of the words used therein, the KDC main class was incorporated as a feature to represent the topic to which each library material belongs, thereby compensating for this limitation. The topics represented by each KDC main class value are as follows: General Works (0), Philosophy (1), Religion (2), Social Sciences (3), Natural Sciences (4), Technology (5), Arts (6), Language (7), Literature (8), and History (9). Since these values are categorical, they were converted into numerical feature representations using one-hot encoding. For example, General Works was encoded as [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] and Technology as [0, 0, 0, 0, 0, 1, 0, 0, 0, 0], each as a vector of length 10. Through this process, a two-dimensional feature matrix of size 246,821 × 10, corresponding to the KDC main class features, was derived from the full dataset of 246,821 records.
In addition, the features derived from
title were grouped and defined as feature set F
1, while the features derived from
gender and
age_group were aggregated and defined as feature set F
2. Moreover, the features derived from the KDC main class were grouped and defined as feature set F
3. Consequently, after this data processing procedure, the three feature sets were obtained and used to represent the target value.
Figure 2 illustrates the feature matrix
X and the target vector
y, both derived from the collected and preprocessed data.
3.3. Prediction and Evaluation for Model Selection
In this step, machine learning models were trained to predict the target variable using the three feature sets generated in the previous step. As the target variable in this study is numerical, machine learning models commonly used in previous studies for predicting continuous target variables were reviewed. The candidate models compared in this study were selected according to three criteria: (i) relevance to the structure of the input features, particularly the fixed-length title2vec representation and its potential sequential interpretation; (ii) representation of distinct modeling paradigms—linear, kernel-based, tree-based ensemble, non-sequential nonlinear neural, and sequential neural, to enable a paradigm-level comparison rather than an exhaustive algorithm search; and (iii) established precedent in prior text-based prediction studies employing MLP and RNN models for short-text representations.
Consequently, to effectively learn the nonlinear relationship between
title2vec and the target variable, a multilayer perceptron (MLP) model was primarily considered [
74,
75,
76]. In addition, to examine whether processing the title of a library material as a sequence of words could capture predictive information beyond its aggregate semantic content, a recurrent neural network (RNN) model was also employed, as it is designed to model the sequential order and contextual dependencies among words in short text data [
77,
78,
79]. For our RNN models, a simple RNN architecture, rather than a Long Short-Term Memory (LSTM) network [
79] or other gated variants, e.g., GRU [
78], was selected for this comparison because the titles of library materials in the collected dataset are considerably shorter than typical natural-language sentences (maximum length of 60 tokens, with most titles substantially shorter), which limits the extent to which the long-range dependency modeling that motivates gated architectures would be expected to provide a substantial advantage over a simple RNN.
Furthermore, for both MLP and RNN models, it was considered whether the title2vec embeddings should be trainable. Accordingly, two MLP model variants were configured: one in which the embedding layer of title2vec is trainable, i.e., MLPTrainable_Embedding, and one in which it is not, i.e., MLP. Similarly, two RNN variants were considered, distinguishing between trainable and non-trainable embedding layers of title2vec, yielding RNNTrainable_Embedding and RNN, respectively. For both MLP- and RNN-based models, the number of hidden layers was set to 2, with 100 nodes per layer.
As a baseline for comparison against these neural network-based models, a linear regression (LR) model was selected. In addition, support vector regression (SVR) and extreme gradient boosting (XGBoost) were included as further baselines, representing kernel-based and tree-based ensemble modeling paradigms, respectively, distinct from both the linear and neural network-based models [
80,
81].
For SVR, a linear-kernel implementation, LinearSVR, based on the LIBLINEAR library [
82], was used rather than a full kernel-based SVR, e.g., with a radial basis function kernel, as implemented in LIBSVM [
83], because exact kernel SVR training scales quadratically to cubically with the number of training samples, which would have been computationally prohibitive at the scale of this study’s training set (approximately 220,000 records per training set); LinearSVR uses a coordinate-descent-based solver optimized for large-scale linear problems instead. Default scikit-learn hyperparameters were used for LinearSVR, and XGBoost was configured with 100 estimators (
n_estimators = 100) and default hyperparameters otherwise, without hyperparameter tuning for either model, consistent with our treatment of the other models in this comparison.
In total, seven machine learning models were applied and compared in this study: (i) the baseline model, LR; (ii) SVR; (iii) XGBoost; (iv) the MLP-based model with non-trainable title2vec embeddings, MLP; (v) the MLP-based model with trainable title2vec embeddings, MLPTrainable_Embedding; (vi) the RNN-based model with non-trainable title2vec embeddings, RNN; and (vii) the RNN-based model with trainable title2vec embeddings, RNNTrainable_Embedding.
All seven models take the
title2vec representation described in
Section 3.2 as their basis for the title feature set F
1. As noted in
Section 3.2, the
word2vec-based representation was used for titles rather than contextual embeddings from transformer-based language models such as BERT or KoBERT; accordingly, no transformer-based end-to-end model was included among the seven candidate machine learning models compared in this study.
Model optimization, including hyperparameter tuning, was not considered for any of the seven compared models, as systematic hyperparameter search across a repeated cross-validation design was computationally prohibitive within the scope and timeline of this study.
To implement and train the seven machine learning models, various Python libraries for machine learning were used, including Python 3.10.20, numpy 1.26.4, scikit-learn 1.7.2 (Available online:
https://scikit-learn.org/ (accessed on 3 July 2026)), tensorflow.keras 2.15.0 (Available online:
https://www.tensorflow.org/ (accessed on 3 July 2026)), and xgboost 3.2.0 (Available online:
https://xgboost.readthedocs.io/ (accessed on 3 July 2026)).
All experiments were conducted on a workstation running Ubuntu 22.04.5 LTS, equipped with an Intel® Xeon® CPU E5-2630 v4 (Santa Clara, CA, USA) (2.20 GHz, 2 × 10 cores, 20 cores total), 235 GB of RAM, and an NVIDIA GeForce GTX 1080 Ti GPU (Santa Clara, CA, USA) (11 GB VRAM, CUDA 12.2, driver version 535.309.01). To ensure reproducibility, a fixed random seed (seed = 0) was used for the title-level grouped cross-validation described below.
Because the same title may appear across multiple records corresponding to different gender and age group combinations, record-level cross-validation does not guarantee that all records associated with a given title are confined exclusively to either the training or the test set. To address this, a title-level grouped cross-validation was used for both model selection in this section and feature analysis in
Section 3.4, in which all records associated with a given title were assigned exclusively to either the training or test set, using the GroupShuffleSplit class of the scikit-learn library with title as the grouping variable.
Specifically, GroupShuffleSplit generates n_splits independent train–test partitions by randomly assigning groups (i.e., titles) to either set at each iteration, rather than partitioning the dataset into k mutually exclusive folds as in conventional k-fold cross-validation. In this study, GroupShuffleSplit was configured with n_splits = 10 and test_size = 0.1 (a 90%/10% title-level train–test split), and this procedure is hereafter referred to as title-level grouped cross-validation rather than 10-fold cross-validation, to accurately reflect this distinction.
For each of the seven machine learning models, this title-level grouped cross-validation was used to evaluate model performance, and those models were then compared to identify the best-performing model. Training and prediction times were also recorded for each model during the cross-validation procedure described above, to support the interpretation of model comparisons in
Section 4 and
Section 5.
To evaluate the model performance, three commonly used evaluation metrics, i.e., mean absolute error (MAE), root mean squared error (RMSE), and R2, were used, given that the target variable in this study takes continuous values. In this study, model performance encompasses two aspects: predictive performance, measured by MAE and RMSE, and model fitness, measured by R2.
A smaller value of either MAE or RMSE indicates lower prediction error and thus better predictive performance, whereas a larger R
2 indicates better model fitness and a more efficient use of features for predicting the target variable [
84,
85,
86,
87]. In this study, R
2, rather than adjusted R
2, was used as the model-fitness metric to avoid interpretive complications arising from substantial differences in effective dimensionality across the feature sets and their combinations analyzed in
Section 3.4, e.g., F
1 alone contributes 6000 dimensions, compared to 7 and 10 for F
2 and F
3 [
88,
89]. In the end, the best-performing model identified in this section was selected for the next step, which is to analyze the different roles of the feature sets.
3.4. Feature Analysis Using the Selected Model
Using the selected model from the previous section and applying the title-level grouped cross-validation protocol described in
Section 3.3 throughout, this step investigated how the feature sets contributed to model performance in two ways: identifying the combined effect of two feature sets and uncovering the marginal contribution of each feature set.
A feature-set-level ablation approach based on pairwise
t-tests was adopted for this analysis, rather than post hoc interpretability techniques such as SHapley Additive exPlanations (SHAP) [
90] or permutation feature importance [
91]. This choice was made for two reasons: first, the
title2vec representation used in F
1 is a 6000-dimensional vector (a flattened 60 × 100 matrix), rendering individual-feature-level SHAP value computation both computationally prohibitive and interpretively uninformative, as each dimension corresponds to a positional word-embedding coordinate rather than a semantically meaningful unit; second, because the RQ2 of this study concerns the relative contribution of conceptually distinct feature sets—title features F
1, borrower demographic features F
2, and topic features F
3—rather than individual input dimensions, a feature-set-level ablation design provides a more directly interpretable measure of contribution.
To do the feature-set-level ablation approach, two feature sets, F
i and F
j, were selected from the three feature sets and combined to generate new feature sets, i.e., F
i + F
j. This resulted in F
1 + F
2, F
1 + F
3, and F
2 + F
3. Each two-feature-set combination was used to represent the target variable in the experiments for feature analysis. In detail, for each of the full feature set F and the three two-feature-set combinations, F
i + F
j, a title-level grouped cross-validation experiment using the selected model was repeated 30 times, with the title-to-group assignment rerandomized in each repetition together with the random seed. In each repetition, a different random seed was used, but the same random seed and corresponding title-to-group assignment were used for the same repetition across different feature sets, as in previous studies [
92,
93]. That is, the random seeds were 0 through 29, one for each of the 30 repetitions. As a result, three performance measures—MAE, RMSE, and R
2—were obtained for each of the four feature sets in title-level grouped cross-validation, repeated 30 times.
Then, the combined effect of two feature sets, Fi + Fj, was investigated by comparing its performance with that of the full feature set F, e.g., F vs. F1 + F2. In addition, differences in the combined effects across different pairs of feature sets were analyzed, e.g., F1 + F2 vs. F2 + F3.
Next, the marginal contribution of each feature set, Fi, to the model performance was examined using pairwise t-tests to compare the full feature set F with a reduced feature set, Fj + Fk, where i ≠ j ≠ k. For example, the combination F1 + F3 corresponds to the exclusion of F2, so comparing F1 + F3 with the full feature set F through pairwise t-tests can statistically reveal how the exclusion of F2 affects model performance. In other words, this analysis helps determine whether F2 significantly improves the selected model’s performance.