## 2 Materials and Methods
### Data Splitting  
This division is crucial to effectively building, refining, and evaluating the model's performance. We allocated 80% of the total dataset to the training set in the initial step. This large portion was used to train the model, allowing it to learn the data's underlying patterns, relationships, and structures [20]. By providing a large amount of training data, we ensured that the model had enough information to recognize and generalize patterns well when faced with new data it had never seen before. During the training phase, the BERT model was optimized to capture the nuances and sentiments in student reviews related to specific aspects such as lecturers, curriculum, facilities, and services [21]. In this case, the training data served as the primary source of information that allowed the model to build a deeper understanding of the context and meaning of sentiments in Bahasa Indonesia. As more data were fed to the model, the learning quality and accuracy in identifying ABSA also improved, making the model more responsive to language variations, synonyms, and phrases commonly used by students. After the training phase, the remaining 20% of the dataset is further divided to serve two essential purposes. A large portion of this segment is allocated as the validation set, which plays a crucial role in the model optimization process. The validation data are used to fine-tune model parameters, such as adjusting the learning rate, number of epochs, and batch size, and to prevent overfitting. By testing the model on validation data different from the training data, we can observe the model's performance under more realistic conditions and determine whether the model tends to memorize the training data or learns from the data patterns. This is crucial so that the model excels in the training data and has good generalization ability in new data. In addition, from the validation data, we take another 10% to form the test set. This last subset plays a crucial role in measuring the accuracy and effectiveness of the model on entirely new data. We can objectively evaluate the model's performance in the real world using this test set. This test set serves as a final measurement and is not used in the training or validation process, so the results reflect the model's ability independently without bias from previous training and validation processes. Table 8 presents the sentiment distribution in the training dataset, which consists of 8000 reviews, representing 80% of the total 10,000 student reviews. Positive sentiment is the most prevalent, with 4000 reviews, accounting for 40% of the training dataset. Negative sentiment comprises 3900 reviews, or 39% of the total, almost equivalent to the positive sentiment. In addition, neutral sentiment consists of 1100 reviews, representing 21% of the training dataset. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Sentiment** & **Number of Reviews** & **Percentage (\%)** \\ \hline Positive & 4000 & 40\% \\ \hline Negative & 3900 & 39\% \\ \hline Neutral & 1100 & 21\% \\ \hline Total & 8000 & 100\% \\ \hline \hline \end{tabular}
\end{table} 
Table 8: Sentiment distribution in training dataset (80% of 10,000 reviews). This distribution reflects the diverse opinions of students on various aspects of education, such as lecturers, curriculum, infrastructure, and services. Positive sentiment indicates satisfaction, while negative sentiment highlights areas requiring improvement. Neutral sentiment represents more objective or less definitive feedback. With this balanced distribution, the model is expected to learn and classify sentiments more accurately ABSA. This explanation underscores that the training dataset is designed to represent the overall range of student feedback adequately. Table 9 presents the sentiment distribution in the test dataset, which consists of 2000 reviews, representing 20% of the total 10,000 student reviews. Positive sentiment accounts for 1000 reviews in this test dataset, or 40% of the total test set.