# Condition monitoring and anomaly detection in cyber-physical systems

William Marfo  Department of Computer Science
University of Texas at El Paso
El Paso, USA
<EMAIL_ADDRESS>Deepak K. Tosh  Department of Computer Science
University of Texas at El Paso
El Paso, USA
<EMAIL_ADDRESS>Shirley V. Moore  Department of Computer Science
University of Texas at El Paso
El Paso, USA
<EMAIL_ADDRESS>
###### Abstract

The modern industrial environment is equipping myriads of smart manufacturing
machines where the state of each device can be monitored continuously. Such
monitoring can help identify possible future failures and develop a cost-
effective maintenance plan. However, it is a daunting task to perform early
detection with low false positives and negatives from the huge volume of
collected data. This requires developing a holistic machine learning framework
to address the issues in condition monitoring of high priority components and
develop efficient techniques to detect anomalies that can detect and possibly
localize the faulty components. This paper presents a comparative analysis of
recent machine learning approaches for robust, cost-effective anomaly
detection in cyber-physical systems. While detection has been extensively
studied, very few researchers have analyzed the localization of the anomalies.
We show that supervised learning outperforms unsupervised algorithms. For
supervised cases, we achieve near-perfect accuracy of 98% (specifically for
tree-based algorithms). In contrast, the best-case accuracy in the
unsupervised cases was 63%—the area under the receiver operating
characteristic curve (AUC) exhibits similar outcomes as an additional metric.

###### Index Terms:

Machine learning, condition monitoring, anomaly detection, cyber-physical
systems

##  I Introduction

Anomaly detection in industrial component health monitoring in cyber-physical
systems (CPS) has become more crucial in recent times than at any point in
history, with ubiquitous internet of things (IoT) integration in everyday
lives and autonomous systems in manufacturing processes and machines. Faults
are inevitable in modern machines since all CPS components have a lifespan.
With estimated millions of machine failures worldwide and the increasing cost
of repairs and financial losses, it is vital to perform early detection and
save costs. It is necessary to ensure low false alarms while achieving correct
localization. As such, anomaly detection has led many researchers and
engineers from energy, military, biomedical, and others to study the
application of machine learning (ML) approaches to CPS [13]. However, compared
to simply detection/classification, very few works have addressed localization
in this context since fault localization is predominantly studied in software-
based systems only. Localization is identifying the exact locations of faults
in a system, and it serves as one of our motivations.

The first goal of our work is to demonstrate a complete picture of the
application and effectiveness of machine learning (ML) approaches for both the
detection and localization of faults in CPS. These approaches have been
applied in anomaly detection in cyber-physical systems, resulting in effective
and precise outcomes. Using ML approaches can increase the comprehension of
condition monitoring as operators need proper validation for these methods for
routine monitoring and anomaly detection in cyber-physical systems. As a
result, cyber-physical systems require maintenance and security. As a complex
system made up of physical and software components, a CPS must be able to
detect anomalies since it often operates autonomously in an unpredictable
environment. However, detecting anomalies is a challenging task due to the
ever-changing nature and lack of a precise model for a CPS. A typical anomaly
detection method does not work directly with these challenges due to the
growing volume of data and the need for domain-specific knowledge [7].

Secondly, most research in literature use ML approaches to detect, classify,
and identify anomalies in mid-size to enormous data sets [6, 9]. Researchers
have only recently attempted to utilize machine learning techniques to predict
anomalies and localize them. Detecting the CPS anomalies within time
constraints is an emerging and significant topic of discussion. We address
these limitations in our work.

Another observation of ours lies in the nature of the data that are typical of
anomalies of CPS. Naturally, such data sets are imbalanced where the majority
of the faulty data points class overwhelms the minority class of faulty
points. Although it has been ventured in literature in general contexts, very
few focused on precise pre-processing of data imbalance in CPS. We aim to fill
this void.

###  I-A Risks and Challenges

We seek to address the following risks and challenges of anomaly detection in
CPS: both high false positives and negatives, low accuracy, and unbalanced
data sets. The challenge of unbalanced data sets arises when the target
variable has more observations in a particular class than others, creating
more instances of high cases of false positives in most classes.

Limitations of unsupervised models: It is reported that most unsupervised
methods used in condition monitoring in cyber-physical systems are cumbersome,
labor-intensive, and ineffective [11]. Extant research also shows that a model
like ordering points to identify cluster structure (OPTICS) [9] is time-
consuming and expensive to implement. Such models apply classification
techniques that use irrelevant and poorly distributed occurrence data which
may not be accurate [12].

Therefore, we aim to address the following critical research questions in this
paper.

  * •

How much improvement is achieved when we already have labeled data compared to
assigning labels using unsupervised techniques?

  * •

Using the set of unsupervised ML algorithms (K-Means clustering, Agglomerative
Clustering, OPTICS) and supervised ML algorithms (Logistic Regression, Random
Forest, Decision Tree Classifier, AdaBoost Classifier) - predict if the
bearings [15] will produce faults (defined by thresholding quantization error)
and in which bearing will it occur (localization)?

  * •

Which ML technique, in general, is best for the given data set based on
standard performance metrics?

  * •

Which algorithm most reliably performs well in pinpointing anomalous sensors
while eliminating false positives and negatives (better localization)?

Section II of the paper discusses related research in cyber-physical condition
monitoring and anomaly detection. Section III discusses our methodologies,
presenting a brief background of machine learning techniques. Section IV
introduces and discusses our data set; Section V spells out the discussion of
the theory and background. Section VI presents the results, and the conclusion
of this paper is discussed in Section VII.

##  II Related work

This section briefly outlines the most recent and widely used techniques in
detecting anomalies and monitoring health in cyber-physical systems.
Researchers in [2] used the self-organizing maps(SOM) machine learning
technique to detect anomalies in the bearings data. The authors adopted only
SOM in predicting anomalies, where they implemented anomaly localization,
error analysis, and degradation. Researchers in [3] used artificial neural
networks (part of the broader neural networks algorithms family) to create the
machine learning model under discussion here. A neural network model was used
after testing and training. The numerical analysis and statistics show that
this model successfully detects anomalies on the tested photovoltaic system
with an accuracy of greater than 90 percent, more than an efficient result
[3]. For photovoltaic systems, anything above 90% is considered acceptable in
photovoltaic systems.

With the right dataset, one can get the best precision for the ML techniques
used in predictive maintenance. The authors in [1] introduced a study on
several past methods applied for predictive maintenance. The dataset used had
about 9397 observations where they utilized the expectation framework to
anticipate the network failures. The research primarily centered around the
framework level of faults. Moreover, in [4], the researchers used a hybrid
approach for fusing physics and failure prediction as they could predict the
turbine blade failure with accuracy. The authors in [5] utilized machine
learning techniques to anticipate the remaining time to failure (RTTF).

Furthermore, researchers in [6] discussed clustering models for machine
degradation prediction. They introduced an ensemble model that used solo time-
series information to detect anomalies. They then grouped the data and ensured
they had good names using supervised learning. However, most of these papers
did not address the issue of localization, where specific signals or sensors
are pointed out after anomalies are detected since modern cyber-physical
systems have large amounts of data, including sensors and control signals. The
work we present addresses both classification and localization in fault
detection/localization. Moreover, we present a comprehensive comparative
analysis between supervised and unsupervised ML approaches used in condition
monitoring.

Figure 1: Anomaly detection and localization flow

##  III Methodology

This section briefly describes the candidate machine learning models that
effectively detect anomalies from large datasets. The models used include
self-organizing map (SOM), random forest, decision tree, logistic regression,
KNeighbors, AdaBoost, OPTICS (ordering points to identify clusters structure),
Agglomerative and K-means clustering. Furthermore, our approach is novel
because we predict the fault or failure time and localize the component, in
this case, which of the four bearings will constitute a fault. As such, we
could train supervised models in addition to unsupervised models, and the
whole procedure is illustrated in Fig. 1. [5].

The clustering techniques were configured using Google Colab. OPTICS was based
on the confusion matrix. The agglomerative clustering sees the individual
bearing dataset as individual clusters. The data’s observations are first
combined based on similar characteristics until there are no more similar
observations to cluster. Then at this stage, we obtain the final clusters. To
know if a data point is misplaced here, we use the Cophenetic Correlation
Coefficient (CPCC), which examines how the dendrogram perfectly reflects the
original pairwise characteristics of our distance measure. A strong
correlation between the cophenetic distance and the original distance measure
indicates a valid cluster[5]. Our CPCC value was 0.9333, indicating a solid
measure. The cophenetic distance matrix [14] measures within-group
dissimilarity (heights) in a dendrogram.

The K-means clustering has cluster specification (k), where the centroid
selection selects k imaginary points (centroids). The cluster assignment
assigns data points to the closest centroid to form k clusters. The centroid
update chooses a new centroid to update a cluster. The convergence achievement
test means the addition of members does not improve the clusters. To know if a
data point is misplaced here, we use the Silhouette metric, which evaluates
how well each object lies within its cluster. A higher Silhouette metric gives
a good metric and vice versa. We got 0.369, indicating a low Silhouette metric
as other clustering methods are more efficient than K-means.

Accuracy metrics: In our research, our primary focus is the accurate
prediction of the fault, so the best measures, in this case, are other metrics
such as F1 score, recall, and area under the receiver operating characteristic
curve (AUC) since accuracy alone is not enough. Recall is the ability of an ML
model to find all essential cases in the data. In contrast, precision, on the
other hand, is the ability to point out only the essential data points. As
precision increases, recall decreases and vice versa.

###  III-A Random Forest

Random forest is an ML approach that requires little pre-processing for
anomaly detection compared to other techniques [5]. The ensemble of trees is
constructed from a training data set and internally validated to predict the
response based on the predictors for future observations. A unit of the
decision tree is not robust enough. However, random forest runs numerous
decision trees and sums their results to produce a robust and reliable model
for detecting anomalies. Many researchers avoid the random forest model
because anomaly detection is complex when used, and the localization also
consumes too much time.

###  III-B Self-Organizing Maps

The self-organizing map (SOM) is a neural network associated with vector
quantization and visualization. The idea of the SOM algorithm grew out of
early neural network models, especially models of associative memory and
adaptive learning [4]. The predecessors in that research direction include the
spatially ordered line detectors of [4] and the neural field model of [10].
However, the self-organizing power of these early models was relatively weak.
The data-driven condition monitoring approach presented in this paper learns
models using data where the system is still in its ’new’ condition where no
degradation has occurred.

In the SOM, we map the input data to the neurons where each neuron is a weight
vector of unique dimensionality. We use a random batch training approach and
sample the weight vectors and their initial values from the training data to
provide various starting stages to the training process. Training takes place
over a chosen amount of epochs, and the samples from the training data are fed
to the algorithm in one epoch. The best matching unit (BMU) is computed for
each input sample from the training data by finding the neuron with the
smallest distance to the sample. The BMU and its neighboring neurons,
allocated through the neighborhood radius, are moved towards the input sample.
Convergence occurs when both neighborhood size and shift strength decline over
time.

Eventually, every neuron of the SOM represents a section of the training data.
Regions in the training input space with a few examples are represented by a
few neurons of the SOM, while a more significant number of neurons represents
dense regions. Typically, the quantity of neurons selected is smaller than the
number of training data samples, decreasing the training data to the most
significant samples.

Anomaly detection: The SOM is used in anomaly detection by calculating the
quantization error. All errors below a threshold are considered normal, while
those above are anomalous. This concept of quantization error approaches is
already used in network monitoring and anomaly detection of industrial
processes. The previous works failed to perform anomaly localization and only
used the quantization error in detecting degradation. The quantization errors
for data that are not anomalous are usually positive integers. A threshold is
required for the quantization error. It is very prudent to select the
threshold manually. However, it is usually unfeasible for practical
applications. It is very convenient to estimate the threshold from the data.
The training data’s quantization error can be considered a probability
distribution. The threshold for anomaly detection can be derived from the
quantiles with the help of the probability distribution. When labels are
present, the quantiles can be used to fine-tune the score of the anomaly
detection. The quantile can adjust the optimization of the outcome of the
anomaly detection.
The threshold value for the quantization errors to classify a sample input as
an anomaly or not was selected based on quantile values. Quantile returns
estimates of underlying distribution based on order statistics from input
values for selected probabilities. To get the optimal threshold value, the
model searches through a range of probability values (from 0 to 1) for the
training data. In this study, the optimal value occurred at 17.82%. Thus,
sample inputs with quantization errors above the 18th percentile are
considered an anomaly, as indicated by the orange line in Fig.3.

Anomaly localization: After the anomaly detection, we calculate the signal or
sensor where the anomaly occurred. The anomalous observation is fed through a
reverse model to get the expected values for the signals. We use the
deviations from the expected values to identify the sensor related to the
anomaly. Once the degradation is detected, we retrieve the BMU by mapping the
input sample to the SOM. In the SOM, each neuron’s weight vector has the same
dimension as the input data and contains its corresponding signal value. After
the distance of the weight vector to each signal is calculated, the resulting
distances and their signals are sorted by their distances in descending order.
There are usually many signals in real-world cyber-physical systems, so it is
essential to reduce the number of signals displayed. Therefore we only display
the first _n_ signals giving operators a starting point to locate the likely
faults in the systems to restore the regular working order of the systems.
Only the signal with the most significant deviation (n=1) was considered in
our paper.

Degradation of the system leads to a deviation from the detected condition
over time. We expect the deviation between the models to increase over the
system’s lifetime. The data are learned, and the error threshold is estimated
accordingly, where we then map the new data to the SOM and calculate the
deviation. The localization also provides more information about the
anomalies, so the specific part of the system can be pinpointed and restored
to full functionality.

##  IV Data background

We present a brief background of the dataset generated by the NSF I/UCR Center
for Intelligent Maintenance Systems with support from Rexnord Corp. in
Milwaukee, WI. In the setup, four bearings have been hooked up on a shaft. The
rotation pace was maintained constant at 2000 RPM through an AC motor. A 0.45
kg radial load is applied onto the shaft and bearing through a spring
mechanism. Rexnord ZA-2115 double row bearings were hooked up at the shaft, as
shown in Fig. 2. PCB 353B33 excessive Sensitivity Quartz ICP accelerometers
were mounted on the bearing housing. The general placement of the sensors is
also shown in Fig. 2. All faults occurred after exceeding the designed life of
the bearing, which is greater than 100 million revolutions.

Each data set describes an experiment to test failure, incorporating files
that are 1-second vibration signal snapshots recorded at specific durations.
The data set has 984 files with 20480 observations each. Every file consists
of 20,480 points, with the sampling rate set at 20 kHz. The second set of data
was used in our experiment for this research.

Figure 2: Bearing test rig set up and placement of sensor.

##  V Discussion of theory and background

First, after training the SOM to represent the ’new’ condition of the system,
the quantization error is used to derive the system’s overall condition. We
then use the algorithm for anomaly localization to pinpoint which sensor is
responsible for the degradation of the condition. Data set number two is used
in our experiment, and we select the first 10 percent of the data to represent
the new condition. The SOM is trained on our chosen data with 1,843,200
samples. The SOM is set to 50x50 neurons by size, and training takes over 100
epochs. The data are carefully normalized to a range between 1 and 0. At the
computation efforts during the training and search for BMU, larger SOM
represents the training data in more detail than a smaller one. The
quantization error of the training data is calculated and set to 0.9999 for
the estimation of the training error deviations less than the estimated
threshold will be considered normal, as indicated in Fig. 3.

Figure 3: Estimated threshold of the training data for the second bearing data
set.

We next compare the complete data set to the learned SOM and then calculate
the quantization error for every sample. Right after February 17, we noticed a
spike in the degradation in bearing 1 (Figure 4). It is noted that the
deviation on February 17, which started around 7:42 in the morning, is caused
by bearing 1, which translates to the first column in the data, specifically
its vibration sensor. This continues until total degradation occurs after
February 19, when the experiment is stopped. Our model detected the bearing 1
sensor failure two days before its failure. Operators can use this to prepare
and react to system failures before complete failure occurs. In Fig. 4, the
observations in each file are localized, and their occurrences are counted and
plotted.

In normal conditions, we expect an equal distribution across all signals. The
failed sensors are drawn more often than the other sensors. Based on the plot,
all bearings are drawn equally at the start, but once failure begins, bearing
1 is drawn more frequently than the others.

Figure 4: Anomaly localization in the second bearing data set.

##  VI Results

The contribution of this paper is to predict and detect anomalies in the
bearings data while generating predictive alerts. We evaluated our self-
organizing maps model using the second set of bearing data to locate specific
anomalies in the sensors after computing the quantization error, which
addresses gaps in most existing research. We also compared the performance
metrics of the techniques utilized by combining supervised and unsupervised
techniques in terms of their F1 score, precision, and recall. Our research
questions showed a considerable improvement in the results when labeled data
was used. Secondly, the supervised tree-based models like a decision tree and
random forest performed best.

###  VI-A Summary of performance of Ml algorithms

After training 80% and testing 20%, we summarize the models’ performance after
detecting the anomalies with the SOM model. In Fig. 5, the accuracy of the
clustering techniques used in the research is plotted in a bar graph. The
agglomerative technique outperforms the other clustering algorithms.

Figure 5: Accuracy of clustering techniques.

Figure 6: Accuracy of classification techniques.

###  VI-B Accuracy and Error Metrics

Evaluating a machine learning algorithm is an essential part of any research.
Model accuracy can be used to measure model performance, but it is not enough
to assess its effectiveness. In Fig. 7, we present the accuracy, precision,
recall, and F1 score of the unsupervised algorithms used. It is noticeable
that the unsupervised algorithms struggled to obtain a good recall score. This
is because most of the predictions were unexpectedly on the wrong side.

Figure 7: Unsupervised algorithms performance measures for bearing data set.

Figure 8: Supervised algorithms performance measures for bearing data set.

The accuracy of the classification techniques used for the fault prediction is
presented in Fig. 6, and almost all the algorithms have better accuracy than
in Fig. 5. AdaBoost has the highest accuracy together with random forest,
whereas logistic regression is near. The higher performance of Adaboost and
Random Forest is likely because of them being ensemble ML models, whereas
logistic regression is not. Thus, the rationale lies in the robustness against
the bias of the ensemble models. We compute the performance metrics in Fig. 8
and Fig. 7 for supervised and unsupervised techniques, respectively. The
results look similar in Fig. 8, and they give us a positive indication that
our predictions are correct.

TABLE I: Performance evaluation Algorithms | F1 Score | Precision | Recall | Accuracy
---|---|---|---|---
K Means Clustering | 0.38 | 0.99 | 0.23 | 0.62
Agglomerative Clustering | 0.41 | 0.99 | 0.25 | 0.63
OPTICS | 0.31 | 0.65 | 0.21 | 0.55
Logistic Regression | 0.62 | 0.66 | 0.58 | 0.64
Random forest | 0.99 | 0.99 | 0.99 | 0.99
Decision Tree Classifier | 0.99 | 0.99 | 0.99 | 0.99
AdaBoost Classifier | 0.99 | 0.99 | 0.99 | 0.99

Precision represents how precise/accurate each model is out of those data
points that are predicted as faulty and how many of them are actually faulty.
A high precision (seen in AdaBoost and Random Forest) is a good measure
considering an unbalanced data set and is robust against false positives.
(False positives occur when a model mispredicts the positive outcome. An
incorrectly predicted negative class is referred to as a false negative). The
recall represents how many of the actual faults the models captured through
predicting it as faulty. Moreover, AdaBoost and Random Forest have the highest
recall, showing the least false negatives. F1-score is a balance of both
precision and recall, given as $F1\>score=2\times\frac{precision\times
recall}{precision+recall}$ . Thus, it makes sure that high precision or recall
alone cannot bias the metric.

Finally, accuracy is the simple mean of correctness derived from the
difference in predictions from the labeled ground truth data. In our
performance evaluation in Table 1, the supervised tree-based models like
decision trees, AdaBoost, and random forests performed well. This is further
plotted as solid evidence on our ROC plot in Fig. 9.

Figure 9: Model evaluation using AUC.

The Receiver Operating Curve (ROC) helps us evaluate the performance of our
models by indicating the relationship between true and false classes. The AUC
separates true positive and false-positive rates. Hence the higher the AUC,
the better the model’s performance at distinguishing between the positive and
negative classes. From Fig. 9, it can be seen that the tree-based algorithms
have the highest AUC as Decision Tree, Random Forest, and AdaBoost have
outstanding results of 0.99, 1, and 1, respectively.

##  VII Conclusion and future work

In this work, we presented a comprehensive and comparative analysis of
supervised and unsupervised ML approaches in detecting and localizing
anomalies during condition monitoring of a cyber-physical system represented
by a large-bearing data set. We also developed and introduced a framework that
detects and localizes faults in bearings that is robust to data imbalance. Our
research showed that the supervised tree-based models like decision trees and
random forests performed best.

There is still a lot to unearth regarding ML and anomaly detection in cyber-
physical systems. As component health deteriorates over time as part of their
average lifestyle, it sometimes leads to replacement at fixed intervals as it
may occur that they are not faulty. By detecting anomalies with ML, these
defects can be predicted promptly. In the future, the estimation and
development of complex fault classification rules may also aid in predicting
anomalies by supplementing ML approaches. Additionally, increasing the scope
of this research and incorporating federated ML may allow researchers to
estimate the remaining life of cyber-physical systems by training data in a
distributed approach.

## References

  * [1] Pedregosa, Fabian, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel et al. ”Scikit-learn: Machine learning in Python.” the Journal of machine Learning research 12 (2011): 2825-2830..
  * [2] A. v. Birgelen, D. Buratti and J. Mager, ”Self-Organizing Maps for Anomaly Localization and Predictive Maintenance in Cyber-Physical Production Systems,” in 51st CIRP Conference on Manufacturing Systems, 2018.
  * [3] M. De Benedetti et al, ”Anomaly detection and predictive maintenance for photovoltaic systems”, Neurocomputing 310 (2018) 59–68; Volume: 310, pp 59-68 (16 May 2018).
  * [4] Prashanth Pillai et al., ”A Hybrid Approach for Fusing Physics and Data for Failure Prediction,” International Journal of Prognostics and Health Management, 2016.
  * [5] Hastie T., Tibshirani R., Friedman, J.(2009), The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2nd edition, Springer,2008.
  * [6] M. De Benedetti et al, ”Anomaly detection and predictive maintenance for photovoltaic systems”, Neurocomputing 310 (2018) 59–68; Volume: 310, pp 59-68 (16 May 2018)
  * [7] E. Quatrini, et al., ”Machine learning for anomaly detection and process phase classification to improve safety and maintenance activities” Journal of Manufacturing Systems 56 (2020) 117–132; Volume: 56, pp 117-132 (June 09, 2020)
  * [8] T. M. Thang and J. Kim, ”The Anomaly Detection by Using DBSCAN Clustering with Multiple Parameters,” 2011 International Conference on Information Science and Applications, 2011, pp. 1-5, doi: 10.1109/ICISA.2011.5772437.
  * [9] Vannel Zeufack, Donghyun Kim, Daehee Seo, Ahyoung Lee, ”An unsupervised anomaly detection framework for detecting anomalies in real-time through the network system’s log files analysis”,2021
  * [10] Amari, S (1980). ”Topographic organization of nerve fields. Bulletin of Mathematical Biology, 42:339-364”.
  * [11] Michau G. Fink O., ”Unsupervised Fault Detection in Varying Operating Conditions, 2019 IEEE International Conference on Prognostics and Health Management” (ICPHM), IEEE, 2019
  * [12] Dang, Shilpa. ”Performance Evaluation of Clustering Algorithm Using Different Datasets”. IJARCSMS. 3. 167-173, 2015
  * [13] Alshaibi Ahmed Jamal, Al-Ani Mustafa Majid, Anton Konev, Tatiana Kosachenko, Alexander Shelupanov, ”A review on security analysis of cyber-physical systems using Machine learning, Materials Today: Proceedings”, 2021
  * [14] Sokal, R.R., and Rohlf, F.J. (1962) ”The Comparison of Dendrograms by Objective Methods. International Association for Plant Taxonomy”, 11, 33-40.
  * [15] Lee, J., Qiu, H., Yu, G., Lin, J., Rexnord Technical Services, . Bearing data set. Tech. Rep.; IMS, University of Cincinnati; NASA Ames Research Center, Moffett Field, CA; 2007.


# What if Red Can Talk? Dynamic Dialogue Generation Using Large Language
Models

Navapat Nananukul
University of Southern California
<EMAIL_ADDRESS>
&Wichayaporn Wongkamjan
University of Maryland
<EMAIL_ADDRESS>

###### Abstract

Role-playing games (RPGs) provide players with a rich, interactive world to
explore. Dialogue serves as the primary means of communication between
developers and players, manifesting in various forms such as guides, NPC
interactions, and storytelling. While most games rely on written scripts to
define the main story and character personalities, player immersion can be
significantly enhanced through casual interactions between characters. With
the advent of large language models (LLMs), we introduce a dialogue filler
framework that utilizes LLMs enhanced by knowledge graphs to generate dynamic
and contextually appropriate character interactions. We test this framework
within the environments of Final Fantasy VII Remake and Pokémon, providing
qualitative and quantitative evidence that demonstrates GPT-4’s capability to
act with defined personalities and generate dialogue. However, some flaws
remain, such as GPT-4 being overly positive or more subtle personalities, such
as maturity, tend to be of lower quality compared to more overt traits like
timidity. This study aims to assist developers in crafting more nuanced filler
dialogues, thereby enriching player immersion and enhancing the overall RPG
experience.

##  1 Human Assistance — RPG-dialogue Large Language Model

Role-playing games have been identified as a significant challenge for the
next stage of artificial intelligence research. These games present a complex,
open-ended creative arena where players interact through dialogue to shape the
narrative and game outcomes. Unlike traditional games such as Chess and Go,
which are zero-sum and deterministic.

Figure 1: An illustration example of LLMs-generated dialogue in Pokémon (Left)
and Final Fantasy VII Remake (FFVIIR). Left panel: An unseen dialogue
interaction in Pokémon, where Red selected his first Pokémon Bulbusuar. Right
panel: A scenario from Final Fantasy VII where Cloud responds during combat.

One of the critical challenges presented by role-playing games is the
necessity for nuanced, context-aware dialogue. Players create characters that
interact within a fictional setting, making decisions and taking actions that
influence the game’s progression. One example is Dungeon and Dragons (DND)
where the game’s facilitator, often known as the Dungeon Master (DM) or Game
Master (GM), describes scenarios, locations, and the roles of non-player
characters (NPCs) and monsters. The DM’s role highlights the importance of
narrative and improvisation, further complicating the AI’s task.

Another challenges in RPG dialogue is the occurrence of unnatural silences
from main characters or NPCs. In real-world interactions, conversations flow
continuously, with participants actively contributing to the dialogue.
However, in RPGs, there can be instances where characters remain silent,
breaking the immersion and disrupting the natural flow of the narrative.

These challenges become even more critical in popular games where main
characters have strong personalities. For example, in Final Fantasy VII Remake
(FFVIIR), one of the most popular story-based RPGs, the main character “Cloud
Strife” is known for his brooding and complex personality, characterized by
his introspective nature and struggle with his identity. Another example is
Pokémon, where the main character, “Ash Ketchum” (or Red in the original
games), exhibits a determined and optimistic personality, always eager to
engage with others and face new challenges. The inconsistency of dialogue,
especially moments of unnatural silence, can disrupt the portrayal of these
rich, well-defined characters, breaking player immersion and diminishing the
storytelling experience. Addressing this challenge requires advanced AI
capable of maintaining continuous, contextually appropriate dialogue that
aligns with each character’s established traits, ensuring a more engaging and
authentic player experience.

With the advent of AI and large language models (LLMs), role-playing games
(RPGs) have become valuable testbeds due to their ability to simulate complex
real-world dynamics, such as language generation, knowledge acquisition, and
strategic planning tailored to each character and game scenario. This
evolution presents developers with the opportunity to leverage these advances
as tools for generating nuanced filler dialogues (Figure 1). Our contributions
in this paper include:

  * •

Integration of Knowledge Graphs and LLMs for Dialogue Generation: We built
game-specific knowledge graph and combined knowledge graphs with large
language models (LLMs) to produce dialogues that are not only contextually
rich but also character-specific, thus providing character-specific
information to dialogue generation step.

  * •

Evaluate the Capability of Current LLMs Technology: We assessed how well
current version of GPT-4, when integrated with knowledge-based systems, can
generate high-quality game dialogues that contribute to a more engaging and
interactive narrative.

Figure 2: An illustrative examples of our method using Final Fantasy VII
Remake (FFVIIR) as a games example. The process begins with data collection,
where character information is extracted from FFVII wiki pages. Subsequently,
knowledge graph (KG) instances are generated using GPT-4 alongside predefined
ontology concepts and relations, creating a game-specific KG. Finally, GPT-4
is prompted with actual game dialogue integrated with knowledge from the KG,
enabling contextually enriched dialogue generation.

##  2 Dialogue Generation and Completion

As discussed in Section 1, in-game dialogue plays a crucial role in story-
driven RPGs. While some dialogues can be improved, others can be generated
anew. We believe that computational resources can complement human efforts in
creating high-quality dialogue. By leveraging advanced algorithms and AI, we
aim to produce dialogues that match the quality of those written by humans,
thereby optimizing our resources and enhancing the overall player experience.

To assist humans in dialogue-related tasks, we focus on addressing specific
challenges encountered in two different games: FFVIIR and Pokémon. One notable
challenge in FFVIIR is the repetitive in-battle dialogue, which lacks
variation and fails to adapt to the boss’s changing states. For example, the
main characters, including “Cloud”, often remain silent when a boss is low on
health and nearly defeated. We aim to improve the player experience by
generating dynamic dialogue for the main characters that respond to different
battle states. This would allow for more spontaneous and interactive
interpersonal communication during battles. In the original Pokémon series,
the main character, Red, does not say a word during gameplay. This piques our
curiosity and inspires us to create dialogues for “Red” to respond in
different situations. Since Red is not explicitly defined by the Pokemon
games, he serves as a blank canvas that we can enrich with various
characteristics. For instance, if Red is portrayed as hot-headed, he might
yell at his Pokémon during intense moments. Conversely, if he is depicted as
kind-hearted, he would thank his Pokémon when a battle concludes.

With the rise of LLMs, we consider GPT-4 (OpenAI, 2024) to generate dialogues
where character profiles, NPC backgrounds, and scenarios are given. While we
could simply input all relevant details about characters, NPCs, bosses, or
Pokémon into a prompt and ask GPT-4 to generate dialogue, studies have shown
that incorporating knowledge-based data, such as knowledge graphs, can enhance
text generation quality Pan et al. (2024). We hereby propose a framework to
generate in-game dialogue based on given knowledge. First, we scrape data from
online sources, Final Fantasy Wiki111Link to website: Final Fantasy Wiki and
Pokémon Wiki222Link to website: Pokémon Wiki (left, Figure 2). Next, we create
triples for knowledge graph instances (middle, Figure 2). This step can be
done manually by experts or generated by GPT-4Biswas et al. (2021) . Since we
have a short time frame, we prompt GPT-4 with a defined ontology specifically
for each game; then, we hand-pick triples that are reasonable to represent
entities (More details in Section 2.1). Finally, we prompt GPT-4 with the
knowledge triples and a specific scenario to generate dialogue. For example,
if Reno has low health and is using EM shot (right, Figure 2). We further
discuss the prompt process specifically for FFVIIR and Pokémon in Section 2.2
and Section 2.3, respectively.

###  2.1 Knowledge Graph Acquisitions

Crawling: We begin by crawling data from fandom websites of Final Fantasy VII
and Pokémon as mentioned above. In Final Fantasy VII Remake, we gather
detailed information on characters, including their personalities, abilities,
relationships, and the events they influence or participate in. Additionally,
we compile comprehensive data on boss battles, covering skills, weaknesses,
and various states, such as low health or being engulfed in flames. In
Pokémon, we compiled comprehensive data on the personality traits,
appearances, and Pokémon ownership of all main NPCs in the game. Additionally,
we utilized the existing Pokémon knowledge graph, which encompasses detailed
information about individual Pokémon, their attributes, evolutions, and
relationships. This data forms the foundation for creating AI dialogue that
can utilize knowledge-based to enhance player immersion.

Knowledge Graph Triples:  From the dataset and ontology developed in previous
steps, we have constructed small knowledge graphs tailored to FFVIIR and
Pokémon game. These knowledge graphs are designed to store and organize the
information about non-player characters (NPCs) and their associated Pokémon,
facilitating efficient information retrieval and enhancing the interaction
experience in gameplay.

> “Sabrina is a female character, a slim young woman of medium height. She
> wears a small red and dress black in the middle at the waist. Pokémon: Mr.
> Mime …”

$\downarrow$
(Sabrina, has_gender, female)
(Sabrina, has_outfit, a small red and
dress black in the middle at the waist)
(Sabrina, has_height, slim young woman)
(Sabrina, has_pokemon, Mr. Mime)

Figure 3: This figure demonstrates the conversion of a descriptive text about
Sabrina, a character from the game, into RDF triples. Key attributes such as
gender, outfit, height, and associated Pokémon are extracted and formatted as
triples, showcasing the methodology for semantic representation of character
information.

Figure 3 shows an example of Pokémon KG where the KG contains a set of
triples, structured as subject-predicate-object, that describe the
relationships and attributes of NPCs and Pokémon within the game’s universe.
By integrating these triples into a knowledge graph, we can utilize these
triples in LLMs’ to generate context-aware dialogues based on the NPCs’
distinct personalities, appearances, and relationships with their Pokémon.

###  2.2 Prompting Methods: Final Fantasy VII Remake

Though FFVIIR delivers cutscenes with story-driven dialogue and visually
stunning graphics, its battle gameplay can become lengthy during some boss
fights, potentially tedious players. To make the in-battle dialogue more
dynamic, we prompt GPT-4 using knowledge triples, as discussed in Section 2.1,
to generate dialogue that responds to specific scenarios. In each prompt, we
provide: (1) an instruction, (2) character triples, (3) boss triples, and (4)
a specific situation in a battle (Figure ). We ensure that the instruction
guides GPT-4 to use the given knowledge about characters and bosses. For
example (Figure 4), Cloud can be cold but tactical. So, when Barret is low on
health and the Scorpion Sentinel is about to use Electrostomp (a wide-range
electric attack around its body), Cloud would tell Barret to pull back and use
cure.

Figure 4: An illustrative example of the complete prompt for dialogue
generation in FFVIIR battle. Cloud personalities and Scorpion Sentinel (boss)
battle information in knowledge graph (KG) triples are provided and used to
generate context-aware dialogue. The process involves considering a battle
situation when Cloud is facing Scorpion Sentinel. Figure 5: An illustrative
example of the complete prompt used for dialogue generation. The character-
specific information from a knowledge graph (KG) is converted into KG triples
and used to generate context-aware dialogue. The process involves
concatenating actual dialogue from Sabrina, the character with whom Red
interacts in the game.

###  2.3 Prompting Methods: Generating Red’s responses to NPCs

In the original Pokémon games, the protagonist—known as Red or Ash—does not
engage in verbal interactions with NPCs. Instead, the gameplay is structured
such that players only see text responses from the NPCs during these
interactions. To enhance this dynamic, we have devised a prompt template that
merges our knowledge graph data with authentic Pokémon scripts. This
integration facilitates querying the knowledge graph for concepts related to
the main character’s interactions, a strategy aimed at optimizing in-game
exchanges from a game development standpoint, where comprehensive data is
utilized to craft the most engaging interactions with NPCs. Figure 5
illustrates a prompt example, depicting a hypothetical conversation between
Red and the Gym Leader Sabrina.

##  3 Preliminary results

On the surface, GPT-4 looks promising for text generation. However, can it
generate dialogue in a manner similar to humans? We aim to answer this
question with both qualitative and quantitative results. Currently, our
results are limited to qualitative assessments (Section 3.1 and Section 3.2).
We highlight words in responses as follows:

  * •

in blue if that reflects GPT-4 majorly using given knowledge triples

  * •

in green if that reflects GPT-4 majorly confronting a situation

We plan to conduct human evaluations to obtain quantitative data, which we
will discuss in Section 3.3.

###  3.1 Cloud positively fights FFVIIR bosses.

In FFVIIR, there are 24 bosses that players must fight. Due to time and
resource constraints, we select a subset of these bosses to sample Cloud’s
responses in specific situations. We choose the first boss of FFVIIR (Scorpion
Sentinel), Reno, and the last boss, Sephiroth, to show how GPT-4 acts as Cloud
responses during the battles. We sample GPT-4 to generate five responses and
pick the best one to show in Table 1 with variations of battle situations in
each selected boss. In total, we have 3 bosses, 13 situations, and 65
responses from GPT-4.

Cloud is overly positive in fights. While this might contradict players’
experiences, it demonstrates how GPT-4 (or any large language models) tend to
generalize positive traits, even when provided with examples portraying Cloud
as cold-hearted and arrogant. With the next step, we hope to supervise and
fine-tune GPT-4 to align more closely with Cloud’s true personality.

GPT-4 responds based on situations rather than knowledge. Since we instruct
GPT-4 to focus on Cloud’s abilities and the bosses’ weaknesses, we expect it
to respond with more factual knowledge. However, we notice that while some
examples do leverage knowledge of bosses’ skills and weaknesses (highlighted
in blue in Table 1), the majority of the responses are based on situational
context (highlighted in green in Table 1), including some that were omitted.

Boss |  Scenarios |  Cloud’s responses (Best of 5)
---|---|---
Scorpion Sentinel |  [When Scorpion Sentinel is using Electrostomp and Barret health is very low] |  "Barret, pull back! I’ll handle the front, you cover me!"
[When Scorpion Sentinel is using Electrostomp and Barret health is normal] |  "Barret, keep its attention. I’m going in for the kill."
[When Scorpion Sentinel engages its Tail Laser] |  "You’re not catching me with that one!"
[When Scorpion Sentinel first activates its Auto-Repair] |  "It’s healing up! Focus attacks on the core—now!"
[Upon defeating the Scorpion Sentinel] |  "Looks like your auto-repair took the day off. Bad timing."
Reno |  [After Reno prepares EM Flail] |  "Not getting caught in that mess. Let’s see how you handle this!"
[When Reno uses EM Shot] |  "You’re just making this easier for me."
[Before Reno uses EM Mine Toss] |  "You really think those toys will stop me?"
[After defeating Reno] |  "Reno, relying too much on those EM Mines was a bad call. They’re too predictable."
Sephiroth |  [When the battle against Sephiroth begins, he starts casting Firaga] |  "Firaga, huh? Guess it’s time to chill things down."
[After Sephiroth falls to 80% health and using Thunderstorm] |  "This storm’s just a breeze!"
[After Sephiroth falls to 30% health and using Boundless Void] |  "This is for everything you’ve done!"
[After defeating Sephiroth though he just walk away with no scratches] |  "No matter how many times we do this, you keep coming back… But so will I. I won’t stop until it’s finished, for good."
Table 1: Examples of GPT-4 generating dialogue for Cloud, who is in a battle
fighting boss: Scorpion Sentinel, Reno, and Sephiroth. In each boss battle,
Cloud can respond to multiple scenarios. We sample 5 responses for each
scenario and select the best one to illustrate.

###  3.2 Pokemon’s Red responses to NPCs.

We conducted the experiment as outlined in Section 2.3, utilizing a prompting
method tailored for the Pokémon game context. To explore the impact of
personality on dialogue dynamics, we endowed the main character Red with five
distinct personas: (1) mature Pokémon trainer, (2) amateur Pokémon trainer,
(3) talkative, (4) timid, and (5) confident. We carefully selected prominent
NPCs for this experiment, including all eight gym leaders, the elite four,
Professor Oak, and Rival Blue, to ensure a comprehensive evaluation across
varied and significant game interactions.

In total, we generated 120 dialogues for Red, utilizing GPT-4 to synthesize
responses based on the specified personalities. Though our resources are
limited, we conduct a human evaluation of these dialogues by instruction and
providing two main tasks for the evaluator:

  * •

Instruction: Read Red’s personality and situation with a gym leader and use
the sliders below to indicate how much you agree with Red’s response (1 =
Strongly disagree, 5 = Strongly agree).

  * •

Given: Red’s personality, a gym leader’s name, situation, and Red’s response.

  * •

Task 1: Red’s response adequately expresses Red’s personality

  * •

Task 2: Red’s response is reasonable and fits in conversation with a gym
leader

One example from the human evaluation is shown in 6 and 7, in which a total of
120 responses are evaluated.

Figure 6: An illustration example of a human evaluation task created from a
conversation between Red and Brock. Figure 7: An illustration example of a
human evaluation task created from a conversation between Red and Misty.
Figure 8: Histograms illustrate the distribution of ratings for how well Red’s
responses reflect his personality (left) and Red’s conversation fitness
(right). "Brock: I’m BROCK! I’m PEWTER’s GYM LEADER! I believe in rock-hard
defense and determination! That’s why my POKEMON are all the rock-type! Do you
still want to challenge me? Fine then! Show me your best!"
---
Personality |  Red’s Response
Mature Pokémon Trainer |  "Greetings, Brock. Your philosophy of rock-hard defense and determination is admirable. I’m here to challenge your Geodude and Onix with my own carefully trained Pokémon. Let’s have a fair and exciting battle."
Amateur Pokémon Trainer |  "Wow, Brock! I’ve heard a lot about you and your rock-solid Pokémon, like Geodude and Onix. I’m ready to give it my best shot and learn from this battle. Let’s do this!"
Talkative |  "Hey, Brock! Wow, you look really cool with that outfit and your rock-hard Pokémon team! I’ve heard so much about your Geodude and Onix. I can’t wait to see how my Pokémon stack up against your rock-type defense. Let’s have an awesome battle!"
Timid |  "Um, h-hi Brock. Y-yes, I’d like to challenge you. I know your Geodude and Onix are really strong, but I’ll do my best. Let’s, uh, begin the battle."
Confident |  "Brock, I’ve been looking forward to this challenge. Your Geodude and Onix are legendary for their defense, but I’m confident my team is up to the task. Let’s have a great battle!"
Table 2: Examples of GPT-4 generated dialogue for a conversation between Red
and Brock, the first gym leader of Pokémon Red version. The examples show five
different responses from five personality of the main character Red.

GPT-4 is able to generate personality-based dialogue: The results of our
additional experiment revealed significant differences in dialogue generation
based on the specified personalities. The experiment’s outcomes demonstrate
GPT-4’s remarkable ability to generate distinctly varied dialogue that aligns
with predefined personality profiles. The quality of GPT-4 Red’s responses for
Task 1, though not perfect, are high-quality and show keywords corresponding
to a given Red’s personality. Figure 8 (Left) shows that more than 50 of 120
responses are rated with scores of 4.5-5.0 while around 30 are rated with
scores of 3.5-4.5, 20 are acceptable (2.5-3.5), and around ten are low-quality
(under 2.5).

Figure 9: A bar chart displays the average ratings based on each personality
type. The blue bars represent the average personality ratings, while the lime
bars represent the average conversation fitness ratings.

As shown Table 2, GPT-4 not only adapts its responses based on the personality
trait assigned to the main character Red but also effectively incorporates
specific information from the knowledge graph. For instance, the model’s
ability to mention specific Pokémon, such as Geodude and Onix, in its
responses. The same patterns can be observed when generating dialogue for Red
with other NPCs in the Pokémon game where (Task 2, Figure 8).

GPT-4 is good at personating a talkative Red. From all personalities given for
Red, GPT-4 retrieves the highest score for Task 1 and Task 2 when Red is
talkative (Figure 9). Responses, when Red is a mature trainer, are rated the
lowest for both tasks. From this analysis, straightforward personalities such
as talkative, timid, and confident are trivial for GPT-4 to derive, while
those with unclear personalities, like being mature, might be challenging for
GPT-4 to clearly express in words.

###  3.3 Future work

Initially, we want to see how well GPT-4 can act as a game character and
provide responses that are unexpected yet fitting. We aim to expand to other
video game series that are less popular than the two we selected. In addition,
we want to conduct more human evaluations for those games, including Final
Fantasy VII Remake. For Final Fantasy VII Remake (FFVIIR) that has personality
specifically, we will present multiple character information with situations
accompanied by GPT-4’s responses. Participants will then have $K$ options to
choose the character that they believe best fits the given responses. A high
F-score would indicate that GPT-4 maintains consistent character traits.

Additionally, we want to improve the evaluation to prove how well GPT-4 uses
knowledge in its responses. In this task, participants will highlight words in
the responses: (1) in blue if the response reflects GPT-4 predominantly using
given knowledge, and (2) in green if it reflects GPT-4 primarily responding to
the situation (similar to our approach in in Table 1 and Table 2).

These additional evaluations show great promise and are valid for
implementation and broader application in dialogue generation tasks and
multiple game scenarios.

##  4 Related works

Dialogue and Text Generation in Games: Text-based games have proven to be
excellent test beds for the development of agents operating within linguistic
frameworks. As these games involve interactions such as input observations and
action commands that are entirely text-driven, they demand a thorough
understanding of language to facilitate successful gameplay. Prior studies
have explored various text generation techniques in such gaming environments.
For instance, Fulda et al. (2017) utilized Word2vec embeddings to introduce
inference capabilities, enabling the generated text to learn associations
between suitable verbs and objects. Further research Urbanek et al. (2019)
extended this approach by training BERT Devlin et al. (2018) to produce
contextually relevant dialogue in action and fantasy game settings.

Knowledge Graph enhancing Text Generation: Knowledge graphs have become an
reliable resource for knowledge-grounded conversation across various research
domains Tuan et al. (2019); Kang et al. (2022). They are instrumental in
enhancing dialogue generation in fields such as medicine Varshney et al.
(2023), question-answering systems Indurthi et al. (2017), and gaming Ashby et
al. (2023). By integrating KGs, these systems are able to leverage structured
knowledge to improve the relevance and accuracy of generated text,
significantly boosting performance.

Generation in Text-based Games using LLMs: Large language models (LLMs) have
been increasingly employed to enhance and innovate text-based games.
Ammanabrolu et al. (2019) leveraged Markov chains alongside neural language
models to dynamically generate quests in AI Dungeon 2 Walton (2020), expanding
gameplay complexity and narrative depth. Building on this, a recent approach
outlined in Sudhakaran et al. (2023) introduced MarioGPT, an LLM-based text-
to-level model that enables the creation of diverse game levels tailored to
different play styles, further demonstrating the adaptability of LLMs in
gaming. Additionally, in the realm of narrative generation, Kumaran et al.
(2023) proposed a novel application of LLMs for generating narrative scenes in
digital games, enhancing the storytelling aspect significantly. These
advancements highlight the transformative potential of LLMs in redefining
gaming experiences by providing rich, adaptive, and personalized content

##  5 Conclusion

In this study, we have explored the capacity of GPT-4 to accurately emulate
game characters and provide responses that align with their personalities and
situational contexts. By focusing on main characters of two popular game Final
Fantasy VII and Pokémon, we investigated how well GPT-4 can maintain character
consistency and utilize in-game knowledge when generating dialogue.

Our qualitative suggests that GPT-4 can maintain a high degree of character
consistency. Additionally, the task of highlighting knowledge-based and
situational responses has provided further insights into the model’s ability
to integrate specific game details into its responses.

Future steps involve refining the model through supervised fine-tuning to
better align GPT-4’s responses with both of the main characters personality
traits. Furthermore, we aim to extend our evaluation methods to human
evaluation and apply it to other characters and dialogue generation tasks
within various game contexts. These efforts will help enhance the interactive
experience for players, ensuring that AI-generated dialogues remain immersive
and true to character.

Overall, this study demonstrates the potential of GPT-4 in enhancing
character-driven interactions in gaming, paving the way for more sophisticated
and engaging LLMs-driven dialogue systems.

## References

  * Ammanabrolu et al. (2019) Prithviraj Ammanabrolu, William Broniec, Alex Mueller, Jeremy Paul, and Mark O Riedl. 2019.  Toward automated quest generation in text-adventure games.  _arXiv preprint arXiv:1909.06283_.
  * Ashby et al. (2023) Trevor Ashby, Braden K Webb, Gregory Knapp, Jackson Searle, and Nancy Fulda. 2023.  Personalized quest and dialogue generation in role-playing games: A knowledge graph-and language model-based approach.  In _Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems_ , pages 1–20.
  * Biswas et al. (2021) Russa Biswas, Radina Sofronova, Mehwish Alam, and Harald Sack. 2021.  Contextual language models for knowledge graph completion.  In _MLSMKG@ PKDD/ECML_ , page 13.
  * Devlin et al. (2018) Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018.  Bert: Pre-training of deep bidirectional transformers for language understanding.  _arXiv preprint arXiv:1810.04805_.
  * Fulda et al. (2017) Nancy Fulda, Daniel Ricks, Ben Murdoch, and David Wingate. 2017.  What can you do with a rock? affordance extraction via word embeddings.  _arXiv preprint arXiv:1703.03429_.
  * Indurthi et al. (2017) Sathish Reddy Indurthi, Dinesh Raghu, Mitesh M Khapra, and Sachindra Joshi. 2017.  Generating natural language question-answer pairs from a knowledge graph using a rnn based question generation model.  In _Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers_ , pages 376–385.
  * Kang et al. (2022) Minki Kang, Jin Myung Kwak, Jinheon Baek, and Sung Ju Hwang. 2022.  Knowledge-consistent dialogue generation with knowledge graphs.  In _ICML 2022 Workshop on Knowledge Retrieval and Language Models_.
  * Kumaran et al. (2023) Vikram Kumaran, Jonathan Rowe, Bradford Mott, and James Lester. 2023.  Scenecraft: automating interactive narrative scene generation in digital games with large language models.  In _Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment_ , volume 19, pages 86–96.
  * OpenAI (2024) OpenAI. 2024.  Gpt-4 technical report.
  * Pan et al. (2024) Shirui Pan, Linhao Luo, Yufei Wang, Chen Chen, Jiapu Wang, and Xindong Wu. 2024.  Unifying large language models and knowledge graphs: A roadmap.  _IEEE Transactions on Knowledge and Data Engineering_.
  * Sudhakaran et al. (2023) Shyam Sudhakaran, Miguel González-Duque, Matthias Freiberger, Claire Glanois, Elias Najarro, and Sebastian Risi. 2023.  Mariogpt: Open-ended text2level generation through large language models.  In _Advances in Neural Information Processing Systems_ , volume 36, pages 54213–54227. Curran Associates, Inc.
  * Tuan et al. (2019) Yi-Lin Tuan, Yun-Nung Chen, and Hung-yi Lee. 2019.  Dykgchat: Benchmarking dialogue generation grounding on dynamic knowledge graphs.  _arXiv preprint arXiv:1910.00610_.
  * Urbanek et al. (2019) Jack Urbanek, Angela Fan, Siddharth Karamcheti, Saachi Jain, Samuel Humeau, Emily Dinan, Tim Rocktäschel, Douwe Kiela, Arthur Szlam, and Jason Weston. 2019.  Learning to speak and act in a fantasy text adventure game.  _arXiv preprint arXiv:1903.03094_.
  * Varshney et al. (2023) Deeksha Varshney, Aizan Zafar, Niranshu Kumar Behera, and Asif Ekbal. 2023.  Knowledge graph assisted end-to-end medical dialog generation.  _Artificial Intelligence in Medicine_ , 139:102535.
  * Walton (2020) Nick Walton. 2020.  Ai dungeon 2: creating infinitely generated text adventures with deep learning language models.


in $\mathbb{C}^{3}$ present the vectors ${\bf e_{1}}$, ${\bf e_{2}}$ and ${\bf
e_{3}}$ in $\mathbb{C}^{3,1}$.

Comparing to Subsection 2.5, we define the Hermitian cross-product
$\boxtimes_{L}$ on the subspace $H_{L}$ (which is isometric to ${\bf
H}^{2}_{\mathbb{C}}$) with respect to the basis
$\\{\bf{e_{1}},\bf{e_{2}},\bf{e_{3}}\\}$ by

$\mathbf{x}\boxtimes_{L}\mathbf{y}=\left[\begin{matrix}\mathbf{x}^{*}H_{L}(1,2)\cdot\mathbf{y}^{*}H_{L}(1,3)-\mathbf{y}^{*}H_{L}(1,2)\cdot\mathbf{x}^{*}H_{L}(1,3)\\\
\mathbf{x}^{*}H_{L}(1,3)\cdot\mathbf{y}^{*}H_{L}(1,1)-\mathbf{y}^{*}H_{L}(1,3)\cdot\mathbf{x}^{*}H_{L}(1,1)\\\
\mathbf{x}^{*}H_{L}(1,1)\cdot\mathbf{y}^{*}H_{L}(1,2)-\mathbf{y}^{*}H_{L}(1,1)\cdot\mathbf{x}^{*}H_{L}(1,2)\end{matrix}\right].$

Then the intersection $B_{12}\cap B_{34}\cap L$ is parameterized by
$V=V(z_{1},z_{2})\in\mathbb{C}^{3}$ with $\langle V,V\rangle<0$ with respect
to the Hermitian form $H_{L}$. Where

$V={\bf E_{2}}\boxtimes_{L}{\bf E_{3}}+z_{1}\cdot{\bf E_{1}}\boxtimes_{L}{\bf
E_{3}}+z_{2}\cdot{\bf E_{1}}\boxtimes_{L}{\bf E_{2}}$

and
$(z_{1},z_{2})=(\rm{e}^{r\rm{i}},\rm{e}^{s\rm{i}})\in\mathbb{S}^{1}\times\mathbb{S}^{1}$.
The vector $V\in\mathbb{C}^{3}$ is a three-by-one matrix, and

$V(1,1)\cdot{\bf e_{1}}+V(2,1)\cdot{\bf e_{2}}+V(3,1)\cdot{\bf e_{3}}$

is a vector in $\mathbb{C}^{3,1}$, we also denote it by $W$. If $W$ is a
negative vector, we consider the distances of $[W]\in{\bf H}^{3}_{\mathbb{C}}$
to $p_{0}$ and $p_{13}$. That is, we should consider $|W^{*}\cdot
H\cdot\mathbf{p_{0}}|^{2}$ and $|W^{*}\cdot H\cdot\mathbf{p_{13}}|^{2}$. Now
$W^{*}\cdot H\cdot W$ is a very complicated term. But with Maple, the minimum
of

$|W^{*}\cdot H\cdot\mathbf{p_{0}}|^{2}-|W^{*}\cdot H\cdot\mathbf{p_{13}}|^{2}$

with the condition $W^{*}\cdot H\cdot W=0$ is 99.42 when $r,s\in[-\pi,\pi]$
and $\theta\in[\frac{5\pi}{6},\pi]$ at a point when $\theta=\frac{5\pi}{6}$.
And the maximum of

$|W^{*}\cdot H\cdot\mathbf{p_{0}}|^{2}-|W^{*}\cdot H\cdot\mathbf{p_{13}}|^{2}$

with the condition $W^{*}\cdot H\cdot W=0$ is 921.79 when $r,s\in[-\pi,\pi]$
and $\theta\in[\frac{5\pi}{6},\pi]$ at a point $\theta=2.734$. This implies
that

$B_{12}\cap B_{34}\cap L\cap\partial{\bf H}^{3}_{\mathbb{C}}$

does not intersect $B_{13}$. Moreover, if the quadruple intersection above is
non-empty, then it lies in the half-space of $L-B_{13}$ which does not contain
$p_{0}$. Then by the well-known properties of intersections of bisectors in
${\bf H}^{2}_{\mathbb{C}}$, we have

$B_{12}\cap B_{34}\cap B_{13}\cap L=\emptyset.$

Moreover, if the triple intersection $B_{12}\cap B_{34}\cap L$ is non-empty,
then it lies in the half-space of $L-B_{13}$ which does not contain $p_{0}$.
Then by the projection from ${\bf H}^{3}_{\mathbb{C}}$ to $L$, we have

$B_{12}\cap B_{34}\cap B_{13}=\emptyset$

in ${\bf H}^{3}_{\mathbb{C}}$. Moreover, if the intersection $B_{12}\cap
B_{34}$ is non empty, then it lies in the half-space of ${\bf
H}^{3}_{\mathbb{C}}-B_{13}$ which does not contain $p_{0}$. So $B_{12}\cap
B_{34}$ does not lie in the partial Dirichlet domain $D_{R}$ even if it is not
empty.

The author remarks that when $\theta$ is near to $\frac{5\pi}{6}$, for
instance we can take a sample point

$\\{r=\pi,~{}~{}s=0,~{}~{}\theta=\frac{5\pi}{6}\\},$

then $W^{*}\cdot H\cdot W$ is $-32\sqrt{3}-32$, which is negative, and then
$B_{12}\cap B_{34}\cap L$ is non-empty. But when $\theta=\pi$, it is not
difficult to show $B_{12}\cap B_{34}\cap L=\emptyset$. So there is a
neighborhood of $\pi$ in $[\frac{5\pi}{6},\pi]$, such that $B_{12}\cap
B_{34}\cap L=\emptyset$ when $\theta$ lies in this neighborhood. It seems that
when $\theta\in[2.74,\pi]$, then $W^{*}\cdot H\cdot W$ is always positive.
When $\theta=2.71$, the graph of $W^{*}\cdot H\cdot W=h$ as a function of
$(r,s)$ is the blue surface in Figure 10. This ends the proof of (7).

Figure 10. An illustration $B_{12}\cap B_{34}\cap L=\emptyset$ when $\theta$
is near to $\pi$. The blue surface is the graph of the function
$h(r,s)=W^{*}\cdot H\cdot W$ when $\theta=2.71$. The red plane is $h=0$. They
intersect in a small circle near $(r,s)=(\pi,0)$. When increasing $\theta$
from $2.71$ to $\pi$, the graph of the function $W^{*}\cdot H\cdot W$ is also
a similar blue surface which tends to disjoint from the red plane $h=0$.

∎

######  Proposition 6.5.

For all $\theta\in(\frac{5\pi}{6},\pi]$, the bisector $B_{13}$ of
$I_{1}I_{3}$, we have $B_{13}$ does not intersect $B_{21}$, $B_{23}$,
$B_{43}$, $B_{41}$ and $B_{24}$.

###### Proof.

We have proved $B_{12}\cap B_{24}=\emptyset$, by the $\langle
J\rangle=\mathbb{Z}_{4}$ symmetry, we have

$B_{13}\cap B_{23}=\emptyset,~{}~{}~{}~{}B_{13}\cap B_{41}=\emptyset.$

The fact

$B_{13}\cap B_{21}=\emptyset,~{}~{}~{}B_{13}\cap B_{43}=\emptyset$

can be proved similar to the proof of $B_{12}\cap B_{24}=\emptyset$ in
Proposition 6.4.

Now we consider $B_{13}\cap B_{24}$. Since

$p_{13}=[\sqrt{2\cos(2\theta)+1},~{}~{}0,~{}~{}0,~{}~{}-2\cos(\theta)]^{t},$

and

$p_{24}=[-\sqrt{2\cos(2\theta)+1},~{}~{}0,~{}~{}0,-2\cos(\theta)]^{t}.$

So $p_{0}$, $p_{13}$ and $p_{24}$ lie in the $\mathbb{C}$-line

$l=\left\\{\left[z_{1},~{}~{}0,~{}~{}0,~{}~{}1\right]^{t}\in{\bf
H}^{3}_{\mathbb{C}}\right\\}.$

Now it is easy to see $B_{13}\cap B_{24}\cap l=\emptyset$. Then from the
projection of ${\bf H}^{3}_{\mathbb{C}}$ to $l$, we get $B_{13}\cap
B_{24}=\emptyset$.

∎

######  Proposition 6.6.

For all $\theta\in(\frac{5\pi}{6},\pi]$, the bisector $B_{12}$ of
$I_{1}I_{2}$, we have

  1. (1)

the triple intersection $B_{12}\cap B_{13}\cap B_{14}$ is a non empty
3-dimensional object;

  2. (2)

the intersection $B_{12}\cap B_{13}$ is a Giraud disk, which is a 4-ball in
${\bf H}^{3}_{\mathbb{C}}$;

  3. (3)

the intersection $B_{12}\cap B_{14}$ is a Giraud disk, which is a 4-ball in
${\bf H}^{3}_{\mathbb{C}}$;

  4. (4)

the intersection $B_{13}\cap B_{14}$ is a Giraud disk, which is a 4-ball in
${\bf H}^{3}_{\mathbb{C}}$.

###### Proof.

In (2.6), we take ${\bf p_{0}}={\bf q_{0}}$, ${\bf p_{12}}={\bf q_{1}}$, ${\bf
p_{13}}={\bf q_{2}}$ and ${\bf p_{14}}={\bf q_{3}}$, then we can parameterize
$B(p_{0},p_{12})\cap B(p_{0},p_{13})\cap B(p_{0},p_{14})$ by

(6.5) $V(z_{1},z_{2},z_{3})={\bf p_{12}}\boxtimes{\bf p_{13}}\boxtimes{\bf
p_{14}}+z_{1}\cdot{\bf p_{0}}\boxtimes{\bf p_{13}}\boxtimes{\bf
p_{14}}+z_{2}\cdot{\bf p_{0}}\boxtimes{\bf p_{12}}\boxtimes{\bf
p_{14}}+z_{3}\cdot{\bf p_{0}}\boxtimes{\bf p_{12}}\boxtimes{\bf p_{13}}$

in $\mathbb{C}^{3,1}$ with
$(z_{1},z_{2},z_{3})=(\rm{e}^{r\rm{i}},\rm{e}^{s\rm{i}},\rm{e}^{t\rm{i}})\in\mathbb{S}^{1}\times\mathbb{S}^{1}\times\mathbb{S}^{1}$
such that $\langle V(z_{1},z_{2},z_{3}),V(z_{1},z_{2},z_{3})\rangle$ is
negative.

Now

$\langle
V(z_{1},z_{2},z_{3}),V(z_{1},z_{2},z_{3})\rangle=(16\cos(\theta)^{3}+8\cos(\theta)^{2}-4\cos(\theta)-2)\cdot
h,$

with

$\displaystyle
h=-2+2\cos(s)+4\cos(\theta)+2\cos(r-t)-\cos(-\theta+r-t)-\cos(\theta+r-t)$
$\displaystyle-\cos(-\theta+s)-\cos(\theta+s)-\cos(-2\theta-s+r)+\cos(2\theta-s+r)-\cos(-2\theta+s-t)$
$\displaystyle+\cos(2\theta+s-t)+\cos(-2\theta+r)-\cos(2\theta+r)-\cos(-2\theta+t)+\cos(2\theta+t)$
$\displaystyle-4\cos(2\theta)+\cos(-s+r-\theta)-\cos(-s+r+\theta)+\cos(s-t-\theta)-\cos(s-t+\theta)$
$\displaystyle-\cos(-\theta+r)+\cos(\theta+r)+\cos(-\theta+t)-\cos(\theta+t)+\cos(-s+r-3\theta)$
$\displaystyle+\cos(s-t-3\theta)+\cos(r+3\theta)+\cos(t-3\theta).$

The term

$16\cos(\theta)^{3}+8\cos(\theta)^{2}-4\cos(\theta)-2$

is always negative when $\theta\in(\frac{5\pi}{6},\pi]$. When $r=-\pi$, $s=0$
and $t=\pi$, the term $h$ is

$-4\cos^{3}(\theta)-2\cos^{2}(\theta)+3\cos(\theta)+\frac{3}{2},$

which is always positive when $\theta\in(\frac{5\pi}{6},\pi]$. This means that
$V=V(\rm{e}^{-\pi\rm{i}},\rm{e}^{0\rm{i}},\rm{e}^{\pi\rm{i}})$ is a point in
${\bf H}^{3}_{\mathbb{C}}$ for any $\theta\in(\frac{5\pi}{6},\pi]$. So
$B_{12}\cap B_{13}\cap B_{14}$ is non-empty for any $\theta$. Then for any
$(r,s,t)$ in a small neighborhood (depends on $\theta$) of $(-\pi,0,\pi)$ in
$\mathbb{R}^{3}$, the corresponding $V$ is also a negative vector. This proves
(1) of Proposition 6.6. The other terms of Proposition 6.6 is trivial now. ∎

See Figure 11 for the surface $\langle
V(z_{1},z_{2},z_{3}),V(z_{1},z_{2},z_{3})\rangle=0$ in the proof of
Proposition 6.5 when $\theta=2.7>\frac{5\pi}{6}$, which seems to be a 2-sphere
(we do not need this fact in this paper). Which is an evidence for Question
1.2 in Section 1.

Figure 11. The cyan surface is the locus of $V=V(z_{1},z_{2},z_{3})$ in (6.5)
with the condition $\langle V,V\rangle=0$ when $\theta=2.7$, which seems to be
a 2-sphere in $\mathbb{S}^{1}\times\mathbb{S}^{1}\times\mathbb{S}^{1}$.

By the $\langle J\rangle=\mathbb{Z}_{4}$ symmetry, we have similar properties
of other triple intersections of bisectors.

From Propositions 6.4 and 6.5, there is no quadruple intersection of bisectors
$B_{ij}$ for $I_{ij}\in R$. We take the side $s_{ij}=B_{ij}\cap D_{R}$ when
$j=i\pm 1$ or $j=i+2$ mod 4 and $i=1,2,3,4$. By taking sample points, it is
easy to see $s_{ij}$ is non-empty, so each $s_{ij}$ is a nonempty
5-dimensional object in ${\bf H}^{3}_{\mathbb{C}}$. Since

$I_{2}I_{1}(s_{12})=s_{21},~{}~{}~{}J(s_{12})=s_{23},$

there are only two isometric types of 5-facets, say $s_{12}$ and $s_{13}$.
Since

$J(s_{14}\cap s_{12})=s_{21}\cap s_{23},~{}~{}~{}~{}J(s_{12}\cap
s_{13})=s_{23}\cap s_{24},~{}~{}~{}~{}I_{2}I_{1}(s_{12}\cap s_{13})=s_{21}\cap
s_{23},$

there is only one isometric types of 4-facets, say $s_{12}\cap s_{14}$. There
is only one isometric type of 3-facets, say $s_{12}\cap s_{13}\cap s_{14}$. In
particular, there is no quadruple intersection of bisectors. So we do not need
the precisely combinatorial structure of the facets. What we really need is
the above mentioned facets are all non-empty. Which is enough for the Poincaré
polyhedron theorem in our (lucky) case. We have the following propositions.

######  Proposition 6.7.

For all $\theta\in(\frac{5\pi}{6},\pi]$, the side $s_{12}=B_{12}\cap D_{R}$ is
a non-empty 5-dimensional object in ${\bf H}^{3}_{\mathbb{C}}\cup\partial{\bf
H}^{3}_{\mathbb{C}}$. Moreover,

  * •

the frontier of $s_{12}\cap{\bf H}^{3}_{\mathbb{C}}$ consists of two non-empty
4-dimensional objects $s_{12}\cap s_{14}$ and $s_{12}\cap s_{13}$;

  * •

the intersection of $s_{12}\cap s_{14}$ and $s_{12}\cap s_{13}$ is the non-
empty 3-dimensional object $s_{12}\cap s_{13}\cap s_{14}$.

######  Proposition 6.8.

For all $\theta\in(\frac{5\pi}{6},\pi]$, the side $s_{13}=B_{13}\cap D_{R}$ is
a non-empty 5-dimensional object in ${\bf H}^{3}_{\mathbb{C}}\cup\partial{\bf
H}^{3}_{\mathbb{C}}$. Moreover,

  1. (1)

the frontier of $s_{13}\cap{\bf H}^{3}_{\mathbb{C}}$ are two disjoint
4-dimensional objects;

  2. (2)

each of the 4-dimensional objects in (1) consists of two parts:

     * •

the union of $s_{13}\cap s_{12}$ and $s_{13}\cap s_{14}$ is a component of the
frontier of $s_{13}\cap{\bf H}^{3}_{\mathbb{C}}$. The intersection of
$s_{13}\cap s_{12}$ and $s_{13}\cap s_{14}$ is the non-empty 3-dimensional
object $s_{12}\cap s_{13}\cap s_{14}$;

     * •

The union of $s_{13}\cap s_{32}$ and $s_{13}\cap s_{34}$ is the other
component of the frontier of $s_{13}\cap{\bf H}^{3}_{\mathbb{C}}$. The
intersection of $s_{13}\cap s_{32}$ and $s_{13}\cap s_{34}$ is the non-empty
3-dimensional object $s_{13}\cap s_{32}\cap s_{34}$.

###  6.3. Proof of Theorem 1.1

After above propositions, the proof of Theorem 1.1 for general
$\theta\in(\frac{5\pi}{6},\pi]$ is similar to the proof when
$\theta=\frac{5\pi}{6}$.

We have the side pairing maps of $D_{R}$ as in Subsection 4.4.

For example, since $I_{1}I_{3}$ is a self-homeomorphism of $s_{13}$,
$I_{1}I_{3}$ exchanges the two components of ${\bf
H}^{3}_{\mathbb{C}}-B_{13}$. We can see that $D_{R}$ and $I_{1}I_{3}(D_{R})$
have disjoint interiors, and they together cover a neighborhood of each point
in the interior of the side $s_{13}$. The cases of the other 5-sides are
similar.

We now consider the tessellation about ridges. Recall that $A_{1}=I_{1}I_{2}$,
$A_{2}=I_{2}I_{3}$, $A_{3}=I_{3}I_{4}$ and $A_{4}=I_{4}I_{1}$. For the ridge
$s_{14}\cap s_{12}$, we have proven it is a nonempty 4-dimensional object. The
ridge circle of it is

$s_{14}\cap s_{12}\xrightarrow{A^{-1}_{1}}s_{21}\cap
s_{24}\xrightarrow{(A_{2}A_{3})^{-1}}s_{24}\cap
s_{41}\xrightarrow{A^{-1}_{4}}s_{14}\cap s_{12}.$

Which gives the relation $A^{-1}_{4}\cdot A^{-1}_{3}A^{-1}_{2}\cdot
A^{-1}_{1}=id$. What we really need (and we proved) is that $s_{14}\cap
s_{12}$, $s_{21}\cap s_{24}$ and $s_{24}\cap s_{41}$ are all non empty.
Moreover

$A^{-1}_{1}(s_{12}\cap s_{13}\cap s_{14})=s_{21}\cap s_{23}\cap s_{24}.$

Then the ridge circle relation is proved by checking only the group action on
the points $p_{0}$, $p_{14}$, $p_{12}$ and $p_{24}$. A standard argument
implies $D_{R}\cup A_{1}(D_{R})\cup A^{-1}_{4}(D_{R})$ covers a small
neighborhood of $s_{14}\cap s_{12}$.

For the ridge $s_{13}\cap s_{14}$, the ridge circle is

$s_{13}\cap s_{14}\xrightarrow{A_{4}}s_{41}\cap
s_{43}\xrightarrow{A_{3}}s_{34}\cap s_{31}\xrightarrow{A_{1}A_{2}}s_{13}\cap
s_{14}.$

Which gives the relation $A_{1}A_{2}\cdot A_{3}\cdot A_{4}=id$. We have also
proved that $s_{13}\cap s_{14}$, $s_{41}\cap s_{43}$ and $s_{34}\cap s_{31}$
are all non empty. A standard argument implies $D_{R}\cup
A^{-1}_{4}(D_{R})\cup(A_{1}A_{2})^{-1}(D_{R})$ covers a small neighborhood of
$s_{13}\cap s_{14}$.

The other ridge circles can be proved similar.

Similar to the proof when $\theta=\frac{5\pi}{6}$, the identification space of
$D_{R}$ by these side pairing maps is complete.

By Poincaré polyhedron theorem, the partial Dirichlet domain $D_{R}$ is in
fact the Dirichlet domain of $\rho_{\theta}(K)<\mathbf{PU}(3,1)$. Now we have
the presentation

$\rho_{\theta}(K)=\left\langle
A_{1},A_{2},A_{3},A_{4}\Bigg{|}\begin{matrix}(A_{1}A_{2})^{2}=(A_{2}A_{3})^{2}=A_{1}A_{2}A_{3}A_{4}=id\end{matrix}\right\rangle$

when $\theta\in(\frac{5\pi}{6},\pi]$. So we have a discrete and faithful
representation of $K$. This ends the proof of Theorem 1.1.

## References

  * [1] Hirotaka Akiyoshi, Makoto Sakuma, Masaaki Wada and Yasushi Yamashita.  Punctured torus groups and 2-bridge knot groups. I.  Lecture Notes in Mathematics, 1909. Springer, Berlin, 2007.
  * [2] Heleno Cunha, Francisco Dutenhefner, Nikolay Gusevskii and Rafael Santos Thebaldi.  The moduli space of complex geodesics in the complex hyperbolic plane.  J. Geom. Anal. 22 (2012), no. 2, 295–319.
  * [3] P. Deligne and G. D. Mostow.  Monodromy of hypergeometric functions and nonlattice integral monodromy.  Inst. Hautes Études Sci. Publ. Math. No. 63 (1986), 5–89.
  * [4] Martin Deraux.  A 1-parameter family of spherical CR uniformizations of the figure eight knot complement.  Geom. Topol. 20 (2016), no. 6, 3571–3621.
  * [5] Martin Deraux.  A new nonarithmetic lattice in $\mathbf{PU}(3,1)$.  Algebr. Geom. Topol. 20 (2020), no. 2, 925–963.
  * [6] M. Deraux and E. Falbel.  Complex hyperbolic geometry of the figure eight knot.  Geom. Topol. 19(2015), 237–293.
  * [7] Martin Deraux, John R. Parker and Julien Paupert.  New non-arithmetic complex hyperbolic lattices.  Invent. Math. 203 (2016), 681–771.
  * [8] Martin Deraux, John R. Parker and Julien Paupert.  New non-arithmetic complex hyperbolic lattices II.  Michigan Mathematical Journal. 70(2021), 133–205.
  * [9] Elisha Falbel and John R. Parker.  The moduli space of the modular group in complex hyperbolic geometry.  Invent. Math. 152 (2003), no. 1, 57–88.
  * [10] David Fisher.  Rigidity, lattices and invariant measures beyond homogeneous dynamics.  arXiv 2111.14922. To appear in Proceedings of the ICM 2022.
  * [11] William M. Goldman.  Complex hyperbolic geometry.  Clarendon, New York, 1999.
  * [12] William M. Goldman and John R. Parker.  Dirichlet polyhedra for dihedral groups acting on complex hyperbolic space.  J. Geom. Anal. 2 (1992), no. 6, 517–554.
  * [13] William M. Goldman and John R. Parker.  Complex hyperbolic ideal triangle groups.  J. Reine Angew. Math. 425 (1992), 71–86.
  * [14] M. Gromov and I. Piatetski-Shapiro.  Nonarithmetic groups in Lobachevsky spaces.  Inst. Hautes Études Sci. Publ. Math. No. 66 (1988), 93–103.
  * [15] Jiming Ma and Baohua Xie.  Spherical CR uniformization of the “magic” 3-manifold.  arXiv:2106.06668 [math.GT].
  * [16] G. A. Margulis.  Discrete groups of motions of manifolds of nonpositive curvature. (Russian)  Proceedings of the International Congress of Mathematicians (Vancouver, B.C., 1974), Vol. 2, pp. 21–34. Canad. Math. Congress, Montreal, Que., 1975.
  * [17] Yair N. Minsky.  Curve complexes, surfaces and 3-manifolds.  International Congress of Mathematicians. Vol. II, 1001–1033, Eur. Math. Soc., Zürich, 2006.
  * [18] G. D. Mostow.  On a remarkable class of polyhedra in complex hyperbolic space.  Pacific J. Math. 86 (1980), no. 1, 171–276.
  * [19] John R. Parker, Jieyan Wang and Baohua Xie.  Complex hyperbolic $(3,3,n)$ triangle groups.  Pacific J. Mathematics, 280(2016), 433–453.
  * [20] John R. Parker and Pierre Will.  A complex hyperbolic Riley slice.  Geom. Topol. 21 (2017), 3391–3451.
  * [21] Mark B. Phillips.  Dirichlet polyhedra for cyclic groups in complex hyperbolic space.  Proc. Amer. Math. Soc. 115 (1992), no. 1, 221–228.
  * [22] Richard Evan Schwartz.  Ideal triangle groups, dented tori, and numerical analysis.  Ann. of Math. (2) 153 (2001), no. 3, 533–598.
  * [23] Richard Evan Schwartz.  A better proof of the Goldman-Parker conjecture.  Geom. Topol. 9 (2005), 1539–1601.
  * [24] Richard Evan Schwartz.  Complex hyperbolic triangle groups.  Proceedings of the International Congress of Mathematicians. (2002) Volume 1: Invited Lectures, 339–350.
  * [25] Richard Evan Schwartz.  Degenerating the complex hyperbolic ideal triangle groups. Acta Math. 186 (2001), no. 1, 105–154.
  * [26] Richard Evan Schwartz.  Real hyperbolic on the outside, complex hyperbolic on the inside.  Invent. Math. 151 (2003), no. 2, 221–295.
  * [27] E. B. Vinberg and O. V. Shvartsman.  Discrete groups of motions of spaces of constant curvature.  Geometry, II, 139–248, Encyclopaedia Math. Sci., 29, Springer, Berlin, 1993.