LinkRing: A Wearable Haptic Display for Delivering Multi-contact and Multi-modal Stimuli at the Finger Pads

Abstract: LinkRing is a novel wearable tactile display for providing multi-contact and multi-modal stimuli at the finger. The system of two five-bar linkage mechanisms is designed to operate with two independent contact points, which combined can provide such stimulation as shear force and twist stimuli, slippage, and pressure. The proposed display has a lightweight and easy to wear structure. Two experiments were carried out in order to determine the sensitivity of the finger surface, the first one aimed to determine the location of the contact points, and the other for discrimination the slippage with varying rates. The results of the experiments showed a high level of pattern recognition.

\section{Introduction}

\setlength{\parindent}{3.5ex}Recent developments in computer graphics and head-mounted displays contributed to the appearance of different applications and games that implement VR technologies. Nevertheless, there is still a lack of providing haptic feedback, which is a crucial component to accomplish the full user immersion in a virtual environment.

Tactile information obtained from the fingers is one of the most important tools for interacting with the environment as fingertips have a rich set of mechanoreceptors. Thereby, the finger area plays an essential role in haptic perception. Nowadays, there are many research projects aimed at the design and application of fingertip haptic devices. One of the common methods for providing cutaneous feedback to the fingertips is by a moving platform shifting on the finger pad \cite{gabardi2016new}, \cite{chinello2015design}. Several works are focused at delivering mechanical stimulations and can reliably generate normal forces to the fingertip \cite{scheggi2015touch}, as well as shear deformation of the skin \cite{schorr2017three}. The most general method to simulate the object texture is using vibration \cite{Yatani2009}, \cite{Romano2010}, and the friction sensation is usually generated by electrostatic force  \cite{Meyer2014}. A  number of studies investigate the perception of object softness \cite{frediani2014wearable}, \cite{Yem2018}. Villa Salazar et al. \cite{VillaSalazar2020} examined the impact of combining simple passive tangible VR objects and wearable haptic display on haptic sensation by modifying the stiffness, friction, and shape perception of tangible objects in VR. Some research works explore multimodal tactile stimulation. In \cite{Yem2017}, Yem et al. presented FinGAR haptic device, which combines electrical and mechanical stimulation for generating skin deformation,  high/low-frequency vibration, and pressure. Similarly, the work \cite{Yem2019} presents the fingertip haptic interface for providing electrical, thermal, and vibrotactile stimulation.
Still, there is a need for a device that allows users to interact with virtual objects in a more realistic way. The interaction can be improved by the physical perception of the objects and their dimensions. Our approach suggests using a wearable haptic device, which can provide a multi-contact interaction on the finger pad that a person can experience when interacting with a real object.

In this paper, we propose LinkRing, a  novel wearable haptic device with 4-DoF, which provides multi-contact and multi-modal cutaneous feedback on the finger pad (Fig. \ref{fig:main}(a)). The haptic display is designed as the system of two five-bar linkage mechanisms which operate with two independent contact points. The proposed device can deliver a wide range of tactile sensations, such as contact, pressure, twist stimuli, and slippage.
\begin{figure}[h]
\centering
\vspace{-0.5em}
\includegraphics[width=\linewidth]{Main_new.jpg}
\qquad
\vspace{-1.5em}
\caption{a) A wearable haptic display LinkRing. b) A CAD model of wearable tactile display LinkRing.}
\label{fig:main}
\vspace{-1.5em}
\end{figure}

\section{Design of Haptic Display LinkRing}

LinkRing is designed to deliver multi-modal and multi-contact stimuli at the finger pads. The proposed device is based on the planar parallel mechanism, which was previously applied in several works \cite{Tsetserukou2014}, \cite{Altamirano2019}, \cite{moriyama2018development}. Two parallel inverted five-bar mechanisms with 2-DoF each deliver tactile feedback in two independent points on the finger pads. Each of them can generate normal and shear forces at the contact point. And in combination, they can simulate different sizes of grasped objects, the feeling of spinning objects, and the sense of sliding a finger on the surface to the left, to the right, and around the axis perpendicular to the finger pad plane. The prototype consists of 3D-printed parts, namely, motor holders fastened to the finger and links made of flexible PLA and PLA, respectively, and metal spring spacers with diameter 6 mm connecting the system of inverted five-bar linkages (Fig.\ref{fig:main}(b)). The distance between the end-effectors is 26 mm, and it can vary by choosing the different lengths of the spacers. The fastening for the finger was designed as a snap ring to be suitable for different sizes. The specification of the device is shown in Table \ref{spec}.
\begin{table}[h]
\vspace{-0.5em}
\caption{Technical specification  of LinkRing.}
\label{spec}
\centering
\begin{tabular}{lc}
\hline
Motors & Hitec HS-40\\
Material of the motor holders & Soft PLA\\
Material of the links & PLA\\
Weight [g] &  $33$\\
Link length L1, L2 [mm] & $35, 17$\\
Max. normal force at & \\
 each contact point [N] & $1.5 \pm 0.15$
\end{tabular}
\vspace{-1.5em}
\end{table}

The scheme of the wearable haptic display is shown in Fig. \ref{fig:Force}(a). The mechanism has two input links with length $L_1$ controlled by the input angles $\theta_1$, $\theta_2$, two output links with length $L_2$, and the ground link with length D. The developed prototype has the following parameters: $L_1 = 35\ mm$, $L_2 = 17\ mm$, and $D = 15\ mm$. The initial position for the end effector, when the mechanism is symmetric and in contact state with the user's finger, is $H = 22\ mm$. For this position, the input angle is equal to $\alpha = 180-\theta_1=84^{\circ}$, and the angle between the output link and horizontal is the following $\beta = arcsin(\frac{L_1sin\alpha-H}{L_2})=49^{\circ}$. From Fig. \ref{fig:Force}(b) we can calculate the angle $\gamma$ between the force $F_{1}$ and the output link and the angle $\varphi$ between the force $F_{2}$ and the vertical in the following way: $\varphi = 90^{\circ} - \beta=41^{\circ}$ and $\gamma = 90^{\circ} -\alpha + \beta=55^{\circ}$.
\begin{figure}[h]
\centering
\vspace{-0.5em}
\includegraphics[width=0.8\linewidth]{scheme.jpg}
\qquad
\vspace{-1.5em}
\caption{a) Device kinematic scheme. b) Static force diagram.}
\label{fig:Force}
\vspace{-1.5em}
\end{figure}

The device is actuated by Hitec HS-40 servo motors with a low mass and rather high output torque (Weight is 4.8 g, dimensions are 20 $\times$ 8.6 $\times$ 17 mm, maximum torque is 0.6 kg-cm). The maximum force is achieved with the symmetric case when the resulting force applied to the finger is a normal force (directed vertically). In this case: $F_1 = \tau /L_1$; $F_2 = F_1\cdot cos(\gamma)$; $F_n = 2\cdot F_2\cdot cos(\varphi)$. The maximum value of the normal force is $F_n = 1.46\ N$. To verify this result, we experimentally measured the force with a calibrated force sensing resistor (FSR 400). The experiment showed that the maximum generated force is $F = 1.5\ N \pm 0.15\ N$.

\section{User study}
We evaluated the performance of the developed haptic display in two user studies. Firstly, we estimated the distinction in the perception of different static contact patterns simulated on the user’s finger.  Secondly,  we tested the ability of users to distinguish the sliding speed of end effectors at the contact area. For the two experiments, the user was asked to sit in front of a desk, and to wear the  LinkRing display on the left index finger. To increase the purity of the experiment, we asked the users to use headphones and fenced off the hand with a device from the user by a barrier (Fig. \ref{fig:user study} (a)).
\begin{figure}[h]
\centering
\vspace{-0.5em}
\includegraphics[width=\linewidth]{US.jpg}
\qquad
\vspace{-1.5em}
\caption{a) Overview of the experiment. b) Slippage patterns for the experiment. Single arrows indicate the slow speed in the contact point, double arrows mean middle rate, and triple arrows represent fast speed. The direction of the arrow indicates the side of the contact point motion.}
\label{fig:user study}
\vspace{-1.5em}
\end{figure}

\subsection{Static pattern experiment}

The purpose of the experiment was to study the recognition of various patterns on the user’s finger differing in the location of the contact points. Nine patterns with different positions of static points were designed (Fig. \ref{fig:static patterns}). In total, ten subjects took part in the experiment, two women and eight men, from 21 to 30 years old.

Before the experiment, the calibration was conducted for each participant to provide all the contact points on the finger. The calibration was based on two parameters: the thickness and width of the finger. During the training session, each pattern was delivered two times to the user.
\begin{figure}[h]
\centering
\includegraphics[width=0.95\linewidth]{patterns_1st.jpg}
\qquad
\vspace{-1.0em}
\caption{Patterns for the experiment with static points. Blue dots represent pressed point, and black dots show the possible contact locations.}
\label{fig:static patterns}
\vspace{-0.5em}
\end{figure}

During the experiment, the participant was provided with a visual guide of the designed patterns. For each trial, end effectors reached a specified location in a non-contact position. After that, one pattern was delivered to the finger for three seconds, and they returned to the non-contact position. After the delivery of the static pattern on the user’s finger, the subject was asked to specify the number that corresponds to the provided contact pattern.
Each pattern was delivered five times in random order. In total, 45 patterns were presented to each subject.
\setlength{\parskip}{12pt} \par \noindent \textbf{Experimental results} \setlength{\parskip}{5pt} \par \noindent
Table \ref{cm1} shows a confusion matrix for actual and perceived static patterns. Every row in the confusion matrix represents all 50 times a contact pattern was provided. The results of the experiment revealed that the mean percent of correct answers for each pattern averaged over all the participants ranged from 68$\%$ to 100$\%$. The mean percentage of the correct answers is $90\%$. The most recognizable contact positions were 1st, 4th, and 5th, with a recognition rate of $98\%$, $98\%$, and $100\%$. And the least distinct pattern was 9th with a rate of $68\%$. It can be observed that a high number of participants confused pattern 9 with 8, which are very close.
\begin{table}[h]
\caption{Confusion matrix for actual and perceived static patterns across all the subjects}
\vspace{-1.5em}
\label{cm1}
\centering
\includegraphics[width=0.8\linewidth]{conf_m1.jpg}
\vspace{-1.5em}
\end{table}

In order to understand if there is a real difference between pattern perception, the experimental results were analyzed using one-factor ANOVA without replication with a chosen significance level of $p<0.05$. According to the test findings, there is a statistically significant difference in the recognition rates for the different contact patterns $(F(8,81) = 2.43,\ p=0.02<0.05)$. It was significantly more difficult for participants to recognize pattern $9th$ than $5th(F(1,18)  =  16,\ p=8.4\cdot 10^{-4}<0.05)$, $1st$ and $4th(F(1,18)  =13.2,\ p=1.88\cdot 10^{-3}<0.05)$, and $2nd$, $6th$ and $7th(F(1,18)  =  6.23,\ p=0.022<0.05)$.

\subsection{Experiment of the recognition of moving patterns}
The objective of the experiment was to study the user recognition of end effector slippage with various speeds which were delivered to the finger at the same time by both contact points. Eleven participants volunteered into the experiments, two females and nine males, from 21 to 31 years old.

Three different speeds for slippage on the finger were used: slow (43 mm/s), middle (60 mm/s), and fast (86 mm/s). The five slippage patterns were designed to study the sensing of the end effectors velocity. Second and third patterns transmit different speeds on contact points, and other patterns deliver equal rates (Fig. \ref{fig:user study} (b)). Each pattern was presented five times in random order, thus, 25 patters were provided to each subject.

\setlength{\parskip}{12pt} \par \noindent \textbf{Experimental results} \setlength{\parskip}{5pt} \par \noindent
The results of the experiment are summarized in a confusion matrix (Table \ref{cm2}). The mean percentage of the correct answers is 81$\%$. The most distinctive speed patterns are 2nd and 3rd, with a recognition rate of $94\%$ and $89\%$. They have represented patterns with different velocities of the end effector in two contact points. And the most confusing pattern is 5th with a recognition rate of 65$\%$.

Using the one-factor ANOVA without replications, with a chosen significance level of $p <0.05$, we found a statistically significant difference among the different dynamic patterns $(F(5,50)=3.28,\ p= 1.83\cdot 10^{-2}<0.05)$. According to ANOVA  results, $2nd$ pattern has a significantly higher recognition rate  than the  patterns  $1st(F(1,20)  =  5.75,\ p=0.026<0.05)$ and  $5th(F(1,20)  =  11.4,\ p=  2.97\cdot 10^{-3}<0.05)$. It was significantly easier for participants to recognize the $3rd$ pattern than the $5th(F(1,20)  =  6.17,\ p=0.022<0.05)$.

\begin{table}[h]
\vspace{-0.5em}
\caption{Confusion matrix for actual and perceived slippage patterns across all the subjects}
\vspace{-1.5em}
\label{cm2}
\centering
\includegraphics[width=0.7\linewidth]{conf_m2_new.jpg}
\vspace{-1.5em}
\end{table}

\section{Conclusion}

We have developed LinkRing, a wearable haptic display that can provide multi-contact stimuli in two independent points of the user’s finger. The device is capable of generating a wide range of tactile sensations such as contact, slippage, twist stimuli, and pressure. The structure of the device is lightweight and easy to wear. The user study revealed high recognition rates in discrimination of static and dynamic patterns delivered to the finger pads. The obtained results allow us to determine the most suitable patterns for further presenting the static and moving object for the finger perception with the proposed display.

The future work will be aimed at expending multi-modal stimuli by adding vibration motors to the end effectors as well as improving the design of the device by reducing its dimensions and increasing its ergonomics. Various virtual applications are going to be developed to study virtual immersion quality and fidelity of multi-modal tactile stimuli. The developed haptic display can potentially bring a highly immersive VR experience in the guiding blind navigation systems, teleoperation, and medical VR simulators.

\bibliographystyle{splncs04}

Human-Computer Interaction (cs.HC); Robotics (cs.RO)


Radio, X-ray and extreme-ultraviolet observations of weak energy releases in the `quiet' Sun

Abstract: We analyzed ground-based low frequency ($<$100\,MHz) radio spectral and imaging data of the solar corona obtained with the facilities in the Gauribidanur observatory during the same time as the very weak soft X-ray flares (sub A-class, flux $\rm {<}10^{-7}\,Wm^{-2}$ in the 1\,-\,8\,$\rm Å$ wavelength range) from the `quiet' Sun observed with the X-ray Solar Monitor (XSM) onboard Chandrayaan-2 during the recent solar minimum. Non-thermal type I radio burst activity were noticed in close temporal association with the X-ray events. The estimated brightness temperature ($T_{b}$) of the bursts at a typical frequency like 80\,MHz is ${\approx}3{\times}10^{5}$\,K. Extreme-ultraviolet (EUV) observations at 94Å with the Atmospheric Imaging Assembly (AIA) onboard the Solar Dynamics Observatory (SDO) revealed a brightening close to the same location and time as the type I radio bursts. As far as we know reports of simultaneous observations of X-ray and/or EUV counterpart to weak transient radio emission at low frequencies from the `quiet' Sun in particular are rare. Considering this and the fact that low frequency radio observations are sensitive to weak energy releases in the solar atmosphere, the results indicate that coordinated observations of similar events would be useful to understand transient activities in the `quiet' Sun.

\subsubsection*{#1}}

\pagestyle{headings}
\markright{Reference sheet: \texttt{natbib}}

\usepackage{shortvrb}
\MakeShortVerb{\|}

\begin{document}
\thispagestyle{plain}

\newcommand{\textsc{Bib}\TeX}{\textsc{Bib}\TeX}
\newcommand{\texttt{#1}\def\filedate{#2}\def\fileversion{#3}}}{\texttt{#1}\def\filedate{#2}\def\fileversion{#3}}}
\begin{center}{\bfseries\Large
    Reference sheet for \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ usage}\\
    \large(Describing version \fileversion\ from \filedate)
\end{center}

\begin{quote}\slshape
For a more detailed description of the \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ package, \LaTeX\ the
source file \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\texttt{.dtx}.
\end{quote}
\head{Overview}
The \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ package is a reimplementation of the \LaTeX\ |\cite| command,
to work with both author--year and numerical citations. It is compatible with
the standard bibliographic style files, such as \texttt{plain.bst}, as well as
with those for \texttt{harvard}, \texttt{apalike}, \texttt{chicago},
\texttt{astron}, \texttt{authordate}, and of course \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}.

\head{Loading}
Load with |\usepackage[|\emph{options}|]{|\texttt{#1}\def\filedate{#2}\def\fileversion{#3}}|}|. See list of
\emph{options} at the end.

\head{Replacement bibliography styles}
I provide three new \texttt{.bst} files to replace the standard \LaTeX\
numerical ones:
\begin{quote}\ttfamily
 plainnat.bst \qquad abbrvnat.bst \qquad unsrtnat.bst
\end{quote}
\head{Basic commands}
The \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ package has two basic citation commands, |\citet| and
|\citep| for \emph{textual} and \emph{parenthetical} citations, respectively.
There also exist the starred versions |\citet*| and |\citep*| that print
the full author list, and not just the abbreviated one.
All of these may take one or two optional arguments to add some text before
and after the citation.
\begin{quote}
\begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
  |\citet{jon90}| & Jones et al. (1990)\\
  |\citet[chap.~2]{jon90}| & Jones et al. (1990, chap.~2)\\[0.5ex]
  |\citep{jon90}| & (Jones et al., 1990)\\
  |\citep[chap.~2]{jon90}| & (Jones et al., 1990, chap.~2)\\
  |\citep[see][]{jon90}| & (see Jones et al., 1990)\\
  |\citep[see][chap.~2]{jon90}| & (see Jones et al., 1990, chap.~2)\\[0.5ex]
  |\citet*{jon90}| & Jones, Baker, and Williams (1990)\\
  |\citep*{jon90}| & (Jones, Baker, and Williams, 1990)
\end{tabular}
\end{quote}
\head{Multiple citations}
Multiple citations may be made by including more than one
citation key in the |\cite| command argument.
\begin{quote}
\begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
  |\citet{jon90,jam91}| & Jones et al. (1990); James et al. (1991)\\
  |\citep{jon90,jam91}| & (Jones et al., 1990; James et al. 1991)\\
  |\citep{jon90,jon91}| & (Jones et al., 1990, 1991)\\
  |\citep{jon90a,jon90b}| & (Jones et al., 1990a,b)
\end{tabular}
\end{quote}

\head{Numerical mode}
These examples are for author--year citation mode. In numerical mode, the
results are different.
\begin{quote}
\begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
  |\citet{jon90}| & Jones et al. [21]\\
  |\citet[chap.~2]{jon90}| & Jones et al. [21, chap.~2]\\[0.5ex]
  |\citep{jon90}| & [21]\\
  |\citep[chap.~2]{jon90}| & [21, chap.~2]\\
  |\citep[see][]{jon90}| & [see 21]\\
  |\citep[see][chap.~2]{jon90}| & [see 21, chap.~2]\\[0.5ex]
  |\citep{jon90a,jon90b}| & [21, 32]
\end{tabular}
\end{quote}
\head{Suppressed parentheses}
As an alternative form of citation, |\citealt| is the same as |\citet| but
\emph{without parentheses}. Similarly, |\citealp| is |\citep| without
parentheses. Multiple references, notes, and the starred variants
also exist.
\begin{quote}
\begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
  |\citealt{jon90}| & Jones et al.\ 1990\\
  |\citealt*{jon90}| & Jones, Baker, and Williams 1990\\
  |\citealp{jon90}| & Jones et al., 1990\\
  |\citealp*{jon90}| & Jones, Baker, and Williams, 1990\\
  |\citealp{jon90,jam91}| & Jones et al., 1990; James et al., 1991\\
  |\citealp[pg.~32]{jon90}| & Jones et al., 1990, pg.~32\\
  |\citetext{priv.\ comm.}| & (priv.\ comm.)
\end{tabular}
\end{quote}
The |\citetext| command
allows arbitrary text to be placed in the current citation parentheses.
This may be used in combination with |\citealp|.
\head{Partial citations}
In author--year schemes, it is sometimes desirable to be able to refer to
the authors without the year, or vice versa. This is provided with the
extra commands
\begin{quote}
\begin{tabular}{l@{\quad$\Rightarrow$\quad}l}
  |\citeauthor{jon90}| & Jones et al.\\
  |\citeauthor*{jon90}| & Jones, Baker, and Williams\\
  |\citeyear{jon90}|   & 1990\\
  |\citeyearpar{jon90}| & (1990)
\end{tabular}
\end{quote}
\head{Forcing upper cased names}
If the first author's name contains a \textsl{von} part, such as ``della
Robbia'', then |\citet{dRob98}| produces ``della Robbia (1998)'', even at the
beginning of a sentence. One can force the first letter to be in upper case
with the command |\Citet| instead. Other upper case commands also exist.
\begin{quote}
\begin{tabular}{rl@{\quad$\Rightarrow$\quad}l}
  when & |\citet{dRob98}| & della Robbia (1998) \\
  then & |\Citet{dRob98}| & Della Robbia (1998) \\
     &   |\Citep{dRob98}| & (Della Robbia, 1998) \\
     &   |\Citealt{dRob98}| & Della Robbia 1998 \\
     &   |\Citealp{dRob98}| & Della Robbia, 1998 \\
     &   |\Citeauthor{dRob98}| & Della Robbia
\end{tabular}
\end{quote}
These commands also exist in starred versions for full author names.

\head{Citation aliasing}
Sometimes one wants to refer to a reference with a special designation,
rather than by the authors, i.e. as Paper~I, Paper~II. Such aliases can be
defined and used, textual and/or parenthetical with:
\begin{quote}
\begin{tabular}{lcl}
  |\defcitealias{jon90}{Paper~I}|\\
  |\citetalias{jon90}| & $\Rightarrow$ & Paper~I\\
  |\citepalias{jon90}| & $\Rightarrow$ & (Paper~I)
\end{tabular}
\end{quote}
These citation commands function much like |\citet| and |\citep|: they may
take multiple keys in the argument, may contain notes, and are marked as
hyperlinks.
\head{Selecting citation style and punctuation}
Use the command |\bibpunct| with one optional and 6 mandatory arguments:
\begin{enumerate}
\item the opening bracket symbol, default = (
\item the closing bracket symbol, default = )
\item the punctuation between multiple citations, default = ;
\item the letter `n' for numerical style, or `s' for numerical superscript
      style, any other letter for
      author--year, default = author--year;
\item the punctuation that comes between the author names and the year
\item the punctuation that comes between years or numbers when common author
      lists are suppressed (default = ,);
\end{enumerate}

The optional argument is the character preceding a post-note, default is a
comma plus space. In redefining this character, one must include a space if
one is wanted.

Example~1, |\bibpunct{[}{]}{,}{a}{}{;}| changes the output of
\begin{quote}
  |\citep{jon90,jon91,jam92}|
\end{quote}
into [Jones et al. 1990; 1991, James et al. 1992].

Example~2, |\bibpunct[; ]{(}{)}{,}{a}{}{;}| changes the output of
\begin{quote}
  |\citep[and references therein]{jon90}|
\end{quote}
into (Jones et al. 1990; and references therein).

\head{Other formatting options}
Redefine |\bibsection| to the desired sectioning command for introducing
the list of references. This is normally |\section*| or |\chapter*|.

Define |\bibpreamble| to be any text that is to be printed after the heading but
before the actual list of references.

Define |\bibfont| to be a font declaration, e.g.\ |\small| to apply to
the list of references.

Define |\citenumfont| to be a font declaration or command like |\itshape|
or |\textit|.

Redefine |\bibnumfmt| as a command with an argument to format the numbers in
the list of references. The default definition is |[#1]|.

The indentation after the first line of each reference is given by
|\bibhang|; change this with the |\setlength| command.

The vertical spacing between references is set by |\bibsep|; change this with
the |\setlength| command.

\head{Automatic indexing of citations}
If one wishes to have the citations entered in the \texttt{.idx} indexing
file, it is only necessary to issue |\citeindextrue| at any point in the
document. All following |\cite| commands, of all variations, then insert
the corresponding entry to that file. With |\citeindexfalse|, these
entries will no longer be made.

\head{Use with \texttt{chapterbib} package}

The \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ package is compatible with the \texttt{chapterbib} package
which makes it possible to have several bibliographies in one document.

The package makes use of the |\include| command, and each |\include|d file
has its own bibliography.

The order in which the \texttt{chapterbib} and \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ packages are loaded
is unimportant.

The \texttt{chapterbib} package provides an option \texttt{sectionbib}
that puts the bibliography in a |\section*| instead of |\chapter*|,
something that makes sense if there is a bibliography in each chapter.
This option will not work when \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\ is also loaded; instead, add
the option to \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}.

Every |\include|d file must contain its own
|\bibliography| command where the bibliography is to appear. The database
files listed as arguments to this command can be different in each file,
of course. However, what is not so obvious, is that each file must also
contain a |\bibliographystyle| command, \emph{preferably with the same
style  argument}.
\head{Sorting and compressing citations}
Do not use the \texttt{cite} package with \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}; rather use one of the
options \texttt{sort} or \texttt{sort\&compress}.

These also work with author--year citations, making multiple citations appear
in their order in the reference list.

\head{Long author list on first citation}
Use option \texttt{longnamesfirst} to have first citation automatically give
the full list of authors.

Suppress this for certain citations with |\shortcites{|\emph{key-list}|}|,
given before the first citation.

\head{Local configuration}
Any local recoding or definitions can be put in \texttt{#1}\def\filedate{#2}\def\fileversion{#3}}\texttt{.cfg} which
is read in after the main package file.

\head{Options that can be added to \texttt{\char`\\ usepackage}}
\begin{description}
\item[\ttfamily round] (default) for round parentheses;
\item[\ttfamily square] for square brackets;
\item[\ttfamily curly] for curly braces;
\item[\ttfamily angle] for angle brackets;
\item[\ttfamily colon] (default) to separate multiple citations with
     colons;
\item[\ttfamily comma] to use commas as separaters;
\item[\ttfamily authoryear] (default) for author--year citations;
\item[\ttfamily numbers] for numerical citations;
\item[\ttfamily super] for superscripted numerical citations, as in
     \textsl{Nature};
\item[\ttfamily sort] orders multiple citations into the sequence in
     which they appear in the list of references;
\item[\ttfamily sort\&compress] as \texttt{sort} but in addition multiple
     numerical citations are compressed if possible (as 3--6, 15);
\item[\ttfamily longnamesfirst] makes the first citation of any reference
     the equivalent of the starred variant (full author list) and subsequent
     citations normal (abbreviated list);
\item[\ttfamily sectionbib] redefines |\thebibliography| to issue
     |\section*| instead of |\chapter*|; valid only for classes with a
     |\chapter| command; to be used with the \texttt{chapterbib} package;
\item[\ttfamily nonamebreak] keeps all the authors' names in a citation on
     one line; causes overfull hboxes but helps with some \texttt{hyperref}
     problems.
\end{description}
\end{document}

\section{Introduction} \label{sec:intro}

A variety of small scale energy releases on the Sun (flaring bright points, active region transient brightenings, coronal jets, etc.) have been studied using X-ray and radio observations. While X-rays are dominated by thermal emission from the coronal plasma, radio observations are sensitive to non-thermal emission also. The observations of low frequency type III radio bursts in association with X-ray bright point flares \citep{Kundu1980,Kundu1994} clearly indicated that the latter are capable of accelerating particles to non-thermal energies, as well as producing the heated material detected in soft X-rays.
The detection of type III bursts together with coronal X-ray jets strengthened the above argument \citep{Aurass1994,Kundu1995}.
These results imply that radio observations are an useful complimentary tool for observing signatures of weak, transient energy releases in the solar atmosphere since the related non-thermal emission can be easily detected \citep{Benz1995,Mugundhan2017}.
Note that counterparts to some of the X-ray transients have been reported at higher radio frequencies also.
For e.g., \cite{Gopalswamy1994,White1995,Gary1997} observed correlated active region transient brightenings in soft X-rays and microwaves. Moving further,
X-ray microflares are another independent observational evidence for the small scale energy releases in the solar atmosphere. They were first reported by \cite{Lin1984}.  The energy involved (${\sim}10^{26}$\,erg) is approximately six orders of magnitude lower than the corresponding value for some of the largest solar flares.
Sensitive observations with the soft X-ray telescope onboard YOHKOH revealed that the microflares are present in the `quiet' Sun also \citep{Krucker1997}.
The study of these microflares are of interest because of their possible bearing on the problems of coronal heating and solar flares \citep{Hudson1991,Hannah2011,Benz2017}. Analogous to microflares, \cite{Kundu1986} reported observations of weak non-thermal microbursts in the solar corona at low radio frequencies.
Though it was hinted that a common source of energetic particles could be responsible for both the microflares and microbursts, reports of direct association are rare. The microbursts were found to have some characteristics similar to that of the normal type III bursts, but the relationship was inconclusive. Further the  observations reported were at separate individual frequencies unlike typical spectral observations of type III bursts \citep{Kundu1986,White1986,Thejappa1990,Subramanian1993}.
Recent spectroscopic imaging observations indicate that the weak non-thermal radio emission at low frequencies are more like type I radio bursts \citep{Sharma2018,Mondal2020}.
However there were no details about the counterparts to the radio events in other frequency bands of the electromagnetic spectrum. Note that type I bursts represent the smallest discrete releases of energy observable \citep{Bastian1998}. They are considered to be evidence of successive electron accelerations. So, establishing its association with activities in other regions of the solar atmosphere would be useful to understand the acceleration processes of the non-thermal electrons at the sites of elementary/weakest energy releases.
In this situation, we report observations of weak type I radio burst emission during the same time as soft X-ray observations of a sub-A class level flare and EUV brightening from the  `quiet' solar corona in the complete absence of active regions and flare/coronal mass ejection (CME) activity.

\section{Observations} \label{sec:obs}

The radio observations were carried out using the different facilities operated by the Indian Institute of Astrophysics (IIA) in the Gauribidanur Observatory\footnote{\url{https://www.iiap.res.in/?q=centers/radio}} \citep{Ramesh2011a,Ramesh2014}. The radio spectral images were obtained with the
Gauribidanur LOw-frequency Solar Spectrograph (GLOSS) in the frequency range 85\,-\,40 MHz \citep{Ebenezer2001,Ebenezer2007,Kishore2014,Hariharan2016b}. The GLOSS is an one-dimensional array of eight log-periodic dipole antennas (LPDA) along a North-South baseline. The half-power width of the response pattern of GLOSS around local noon is
${\approx}90{\arcdeg}{\times}6{\arcdeg}$ (right ascension, R.A.\,{$\times$}\,declination, decl.) at the highest frequency of operation, i.e. 85\,MHz. While the width of the response pattern along R.A. is nearly independent of frequency, its width along the declination varies inversly with the frequency due to  interferometric arrangement of the individual antennas. The observations were carried out with an integration time of ${\approx}$1\,sec and bandwidth of
${\approx}$1\,MHz. The minimum detectable flux density is ${\approx}$75\,Jy
(1\,Jy\,=\,$\rm 10^{-26}\,Wm^{-2}Hz^{-1}$) at a typical frequency like 80 MHz.
The antenna and the receiver systems were calibrated by carrying
out observations in the direction of the Galactic center as described in \cite{Kishore2015}. The two-dimensional radio images were obtained with the Gauribidanur RAdioheliograPH (GRAPH) at 80 MHz \citep{Ramesh1998,Ramesh1999a,Ramesh2006b}. The GRAPH is a T-shaped radio interferometer array of 384 LPDAs. Its angular resolution (`beam' size) for observations close to the zenith is
${\approx}5{\arcmin}{\times}7{\arcmin}$ (R.A.\,$\times$\,decl.) at the above frequency. The integration time is $\approx$250\,msec and the observing bandwidth is
$\approx$2\,MHz. The field-of-view (FOV) in the GRAPH images is
${\approx}2{\arcdeg}{\times}2{\arcdeg}$, and the pixel size is
${\approx}14{\arcsec}$. The minimum detectable flux density is
${\approx}$2\,Jy. The GRAPH data were calibrated using the standard Astronomical Image Processing System (AIPS). The combined use of the imaging and spectral data help to understand the radio signatures associated with the corresponding solar activity in a better manner (see for e.g. \cite{Sasikumar2014}).

Figure \ref{fig:figure1} shows the GLOSS observations on 2020 April 21 in the time interval 04:51\,-\,05:30\,UT. The patches of bright emission during the period
$\approx$05:09\,-\,05:11\,UT are typical of  type I or noise storm bursts from the solar corona (see for e.g. \cite{Iwai2013,Mugundhan2018b}). It is widely believed that the bursts are due to plasma radiation at the fundamental plasma frequency \citep{Melrose1980,Kai1985}.
Figure \ref{fig:figure2} shows the frequency averaged time profile of the dynamic spectrum in Figure \ref{fig:figure1}. The presence of enhanced activity during the interval $\approx$05:09\,-\,05:11\,UT could be clearly noticed. It is also similar to the time profiles of groups of type I bursts (see for e.g. \cite{Ramesh2013b,Mugundhan2016}).
No H$\alpha$ and/or GOES soft X-ray flares were reported during the burst interval mentioned above\footnote{\url{https://www.solarmonitor.org/data/2020/04/21/meta/noaa{\_}events{\_}raw{\_}20200421.txt}}. The Sun was totally free of any active regions\footnote{\url{https://www.solarmonitor.org/?date=20200421}} and/or CMEs\footnote{\url{https://cdaw.gsfc.nasa.gov/CME{\_}list/UNIVERSAL/2020{\_}04/univ2020{\_}04.html}}.
The overall location of the bursts can be inferred from the GRAPH difference image (obtained by subtracting a pre-event image to clearly identify the weak emission features) in Figure \ref{fig:figure3} at 80\,MHz.
The two spatially separated contours marked 1 \& 2 correspond to the two maxima (indicated by the same set of numbers) in the time profile of the bursts in Figure \ref{fig:figure2}.
The brightness temperature ($T_{b}$) of the contours 1 \& 2, estimated using the `beam' size of the GRAPH at 80\,MHz, are ${\approx}3{\times}10^{5}$\,K. The `dots' inside the contours in Figure \ref{fig:figure3} correspond to the centroids of some of the individual type I bursts (see Figure \ref{fig:figure4}). We located them following the methodology described in \cite{Ramesh2020a}.
Any ionospheric refraction effects on the radio source positions in the present case are expected to be very minimal since the observations were carried out close to the local noon during which time the zenith angle of the Sun is the least.
Note that the elevation of Sun on 2020 April 21 during the present radio observations was ${\approx}90^{\arcdeg}$.
Secondly, the total duration of the type I radio bursts in the present case is only
$\approx$2\,min (see Figures \ref{fig:figure2} \& \ref{fig:figure4}). This is less than the period
of $\approx$20\,min over which radio source positions at low frequencies usually change due to ionospheric effects \citep{Stewart1982,Mercier1996}.

\begin{figure}[t!]
\centerline{\includegraphics[angle=0,height=7.5cm,width=12cm]{figure1new.pdf}}
\caption{GLOSS dynamic spectrum of the solar radio emission observed on 2020 April 21. The bright emission during the period $\approx$05:09\,-\,05:11\,UT correspond to the type I solar radio bursts mentioned in the text.}
\label{fig:figure1}
\end{figure}

\begin{figure}[t!]
\centerline{\includegraphics[angle=0,height=7.5cm,width=12cm]{figure2new.pdf}}
\caption{The `green' colour plot corresponds to the frequency averaged time profile of the GLOSS dynamic spectrum in Figure \ref{fig:figure1}. Its amplitude values are indicated in the left hand side ordinate axis. The `red' colour line is the fit to the data points. The labels 1 \& 2 indicate the epochs of maximum radio emission from the regions 1 \& 2 in Figure \ref{fig:figure3}, respectively. The `blue' colour profile is the light curve of the soft X-ray emission from the Sun close to the same epoch as the radio observations. Its amplitude values are indicated in the right hand side ordinate axis. The data were obtained with the Chandrayaan-2/XSM \citep{Mithun2020} in the energy range
$\approx$1\,-\,5\,keV with a time binning of ${\approx}$120\,sec.}
\label{fig:figure2}
\end{figure}

\begin{figure}[t!]
\centerline{\includegraphics[angle=0,height=6cm,width=12.5cm]{figure3new.pdf}}
\caption{A composite of the GRAPH difference image of the bursts in Figure \ref{fig:figure1} at 80 MHz and the EUV observations at 94{\AA} with the SDO/AIA \citep{Lemen2012} around the same time as the radio and X-ray observations in Figures \ref{fig:figure1} \& \ref{fig:figure2} on 2020 April 21. The contours labelled 1 \& 2 correspond to the GRAPH observations. The background is the EUV image. Solar north is straight up and east is to the left. The bigger and smaller `boxes' in the left panel image indicate the region around the EUV brightening and the location of maximum emission, respectively. The `zoomed' version of the same brightening is shown in the right side panel. The peak flux density in the GRAPH observations is $\rm {\approx}\,241\,Jy$. Its nearly the same for the contours 1 \& 2, which correspond to the two maxima 1 \& 2 in the radio time profile in Figure \ref{fig:figure2}, respectively. The contours shown are at 80\% level. The `dots' inside the contours 1 \& 2 indicate the centroid locations of the individual type I bursts a\,-\,e \& f\,-\,k in Figure \ref{fig:figure4}, respectively.}
\label{fig:figure3}
\end{figure}

\section{Analysis and Results} \label{sec:anares}

Recently \cite{Vadawale2021} had reported observations of `quiet' Sun X-ray microflares with the Chandrayaan-2/XSM during the solar minimum 2019-2020 (see for e.g. \cite{Ramesh2020b}). Upon inspection we found that some of these flares were observed during the same epoch as the low frequency radio observations of the Sun from Gauribidanur. We considered the X-ray flare observed on 2020 April 21 at
${\approx}$05:10 UT (see Figure \ref{fig:figure2}) for the present work since both radio spectral and imaging observations were available. There was also an EUV brightening observed with the
SDO/AIA at 94{\AA} (see Figure \ref{fig:figure3}) around the same time as the type I radio bursts (Figures \ref{fig:figure1} \& \ref{fig:figure2}) and the X-ray flare (Figure \ref{fig:figure2}). The location of the northern radio contour with label `1' in Figure \ref{fig:figure3} correspond reasonably well with the location of the EUV brightening. The observations of the type I radio bursts over a larger area compared to the EUV brightening could be due to the divergence of the associated field lines (see for e.g. \cite{Li2017}). We speculate that the presence of the two spatially separated radio contours 1 \& 2 (particularly with the latter located just below the equator in the southern hemisphere) suggests interaction at two different locations between inclined, large magnetic loops with foot points in the same hemisphere, north in the present case \citep{Wild1968,Simnett1998}. Note that the probability of trans-equatorial loops are expected to be minimal since there were no active regions on the solar disk. Information on the polarization characteristics of the regions 1 \& 2 would have helped to verify the above. But, observations with the GRAPH in its current configuration are limited to the total intensity mode.
We also checked the location of the 1st sidelobe in the GRAPH `beam', particularly in the north-south direction, to rule out the possibility of any spurious pick-up. It was $\gtrsim\,14^{\arcmin}$ away from the main lobe. The spacing between the contours 1 \& 2 in Figure \ref{fig:figure3} is shorter compared to this. Secondly, the amplitude of the sidelobe is lesser by a factor of
20 (${\approx}$\,13\,dB). But the strength of the two sources 1 \& 2 are nearly the
same.

The peak flux of the XSM flare is
$\rm {\approx}6{\times}10^{-9}\,Wm^{-2}$. It was a very weak event (see
Figure \ref{fig:figure2}).
The total duration of the event is ${\approx}$5\,min. There appears to be two  `peaks' in the flare light curve with a noticeable difference between the corresponding count rates.
The type I radio bursts are present only during the initial phase of the X-ray emission, i.e. close to the 1st of the two `peaks' mentioned above.
The total duration of the radio event is smaller $({\approx}$2\,min).
Assuming that both the X-ray and radio events are related to a common primary phenomenon, the comparitively shorter duration of the radio event indicates that  the electrons responsible for its occurrence are probably thermalized quickly. As a result they cannot travel to larger heights in the corona from where the low frequency radio emission primarily originate \citep{Mondal2020}. The shorter duration of the radio bursts could be also due to the emission being non-thermal in nature as compared to the soft X-ray emission \citep{Reid2017}. Nevertheless we independently calculated the associated energy from the radio observations.

\begin{figure}[t!]
\centerline{\includegraphics[angle=0,height=7.5cm,width=12cm]{figure2anew.pdf}}
\caption{`Zoomed' version of the observations around the maxima in the radio time profile in Figure \ref{fig:figure2}. The labels a\,-\,k indicate some of the individual type I bursts.}
\label{fig:figure4}
\end{figure}

The energy associated with a type I burst can be estimated using the relation $\rm E\,{=}\,S{\delta}t{\delta}{\nu}R^{2}{\Omega}e^{\tau}$ \citep{Elgaroy1977}. Here $\rm S$ is the flux density of the burst, $\rm {\delta}$t is the duration of the burst, ${\nu}$ is the frequency of observation, $\rm {\delta}{\nu}$ is the bandwidth of the burst, $\rm R$ is the Sun-Earth distance, ${\Omega}$ is the solid angle into which the radio waves are emitted, and $\rm \tau$ is the optical depth. In the present case, $\rm S\,{\approx}\,241\,Jy$ (see Figure \ref{fig:figure3}),
$\rm {\delta}t\,{\approx}\,$1\,sec, and $\rm {\delta}{\nu}\,{\approx}\,5\,MHz$ near 80\,MHz (see Figure \ref{fig:figure1}). Assuming
${\Omega}\,{=}\,$0.15\,steradians \citep{Steinberg1974}, $\rm {\tau}\,{\approx}$\,3 at 80 MHz \citep{Ramesh2005b}, and an efficiency ($\eta$) of ${\approx}10^{-10}$ for the type I burst emission process \citep{Prasad2004}, we find $\rm E\,{\approx}\,8.1{\times}10^{22}$\,erg. This is consistent with the reports that ${\sim}10^{21}$\,{-}\,$10^{23}$\,ergs are needed for a single type I burst \citep{Tomin2018}.
We also calculated the energy using the relation $\rm E\,{=}\,n_{th}(n/n_{th})VE_{m}$ (see for e.g. \cite{Ramesh2010c}). Here $\rm n_{th}$ is the number density of the background thermal electrons, $\rm n$ is the number density of the non-thermal electrons, $\rm V$ is the volume of the burst source, and $\rm E_{m}$ is the mean energy of the individual electrons. In the present case $\rm n_{th}\,{=}\,7.9{\times}10^{7}\rm cm^{-3}$ and $\rm E_{m}\,{\approx}\,5$\,keV \citep{Vadawale2021}. Assuming $\rm n/n_{th}\,{=}\,1.23{\times}10^{-7}$ at 80 MHz \citep{Thejappa1991} and
V\,=\,$10^{30}\rm cm^{3}$ (corresponding to a density scale height of
$\rm {\approx}\,10^{10}\,cm$ in the solar corona), we find $\rm E\,{\approx}\,7.8{\times}10^{22}$\,erg. This is in good agreement with the estimated energy using the observed flux density, duration, bandwidth, etc. of the burst  in the present case.
We would like to mention here that the noise storm radiative efficiency $\eta$ mentioned above is typically in the range ${\sim}\,10^{-6}$\,-\,$10^{-10}$. In the present case both the type I bursts and the associated X-ray emission were short lived. Therefore it is likely that the electron acceleration responsible for the type I bursts were triggered by the same process responsible for the associated X-ray microflare \citep{Crosby1996}. The energy of the latter is typically ${\sim}\,10^{27}$\,erg.
Reports indicate that for such an energy input, $\eta$ is expected to be in the range ${\sim}\,10^{-9}$\,-\,$10^{-10}$ \citep{Prasad2004}. We assumed $\eta\,{\approx}\,10^{-10}$ since the observed type I bursts were also weak. The close agreement between the different energy estimates mentioned above is in support of our assumption on the value of $\eta$. However it should be kept in mind that the above calculations will give rise to a lower energy for the type I burst if we assume $\eta\,>\,10^{-10}$. Hence a more tighter constraint on the value of $\eta$ would be better.

Proceeding further, we find that the area enclosed by the contours in Figure \ref{fig:figure3} is nearly same as that of the GRAPH `beam' size at 80 MHz mentioned earlier, i.e.\,${\approx}5^{\arcmin}{\times}7^{\arcmin}$. But results obtained from (i) high angular resolution observations of the solar corona at low radio frequencies during solar eclipses (lunar occultation technique) and (ii) independent long baseline interferometer observations indicate that the `true' size of the individual type I bursts is ${\lesssim}15^{\arcsec}$ \citep{Ramesh2001b,Kathiravan2011,Ramesh2012b,Mugundhan2016,Mugundhan2018a}. There are also reports that the upper limit to the size of a type I burst source is
${\approx}14^{\arcsec}$ \citep{Melrose1980}. These values are much smaller than the GRAPH `beam' size. \cite{Kundu1990,Malik1996,Willson1997} had shown earlier that the centroids of type I burst sources are spatially distributed within the associated noise storm emitting region.
Type I burst models too predict scattered small-scale sites of energy release \citep{Klein1995}.
The dispersion in the centroids of some of the individual type I bursts in the present case (see Figures \ref{fig:figure3} \& \ref{fig:figure4}) is consistent with this.
Therefore it is possible that the contours in Figure \ref{fig:figure3} correspond to an ensemble of type I burst sources, each of size ${\approx}14^{\arcsec}{\times}14^{\arcsec}$. So, we calculated the maximum possible total energy of the type I bursts as
$\rm E_{t}\,{\approx}\,\frac{5{\times}7{\times}3600{\times}8.1{\times}10^{22}}{14{\times}14}\,{\approx}\,5.3{\times}10^{25}$\,erg.
This is in reasonable agreement with the range of energies
($3{\times}10^{26}$\,-\,$7{\times}10^{27}$\,erg) for the soft X-ray microflares reported by \cite{Vadawale2021} since the authors had mentioned that their estimates represent upper limits. Note that the minimum possible energy of the type I bursts in the present case is $\rm E\,{\approx}\,8.1{\times}10^{22}$\,erg. So, our estimates indicate a range of ${\approx}10^{22}$\,-\,$10^{25}$ erg.
\cite{Benz2002} had earlier reported EUV flares in the `quiet' solar corona with energy budget ${\approx}10^{24}$\,-\,$10^{26}$ erg.
\cite{Lin1985} showed that the total energy released into the interplanetary medium in  solar electrons above 2\,keV is ${\approx}10^{25}$\,-\,$10^{26}$ erg.
The above numbers and arguments confirm that the type I radio bursts are an independent ground based observational tool to probe weak activity in the `quiet' regions of the corona also in addition to its known association with sunspot activity (see for e.g. \cite{Ramesh2000b}).

\section{Summary} \label{sum}

We had presented co-temporal/co-spatial observations of weak type I radio bursts, X-ray microflare, and EUV brightening from the `quiet' Sun which was completely devoid of any active regions. There is close agreement between the energy budgets estimated independently from the radio and X-ray observations. As far as we know, this is the first time such simultaneous observations of transient activity in the `quiet' Sun have been reported. Considering that type I radio bursts like those described in this work hint activity in the outer layers of the solar corona which is currently inaccessible to observations in X-rays and extreme ultra-violet (EUV), combined investigations of weak energy releases observed at the same time in all the aforementioned domains would be helpful to understand the energies deposited at different levels in the solar corona in addition to the associated mechanisms themselves. For e.g. \cite{Li2017} had shown that magnetic reconnection driven by multiple moving magnetic features \citep{Harvey1973,Bentley2000} in/near an active region at the photosphere are correlated with EUV brightenings and type I bursts. But there were reports of
H$\alpha$ and X-ray flares during the observing period reported by the above authors. Several active regions too were present. Nevertheless, it would be interesting to explore such moving features in the `quiet' Sun also to explain weak energy releases as described in this work.

We express our gratitude to the Gauribidanur observatory staff members for their help in the observations and upkeep of the facilities. M.Rajesh and K.P.Santosh are acknowledged for their assistance to the present work. The SDO/AIA data are courtesy of the NASA/SDO and the AIA science teams. We thank the referee for his/her kind comments which helped us to describe the results more clearly.

Solar and Stellar Astrophysics (astro-ph.SR)


Generating Philosophical Statements using Interpolated Markov Models and Dynamic Templates

Abstract: Automatically imitating input text is a common task in natural language generation, often used to create humorous results. Classic algorithms for learning to imitate text, e.g. simple Markov chains, usually have a trade-off between originality and syntactic correctness. We present two ways of automatically parodying philosophical statements from examples overcoming this issue, and show how these can work in interactive systems as well. The first algorithm uses interpolated Markov models with extensions to improve the quality of the generated texts. For the second algorithm, we propose dynamically extracting templates and filling these with new content. To illustrate these algorithms, we implemented TorfsBot, a Twitterbot imitating the witty, semi-philosophical tweets of professor Rik Torfs, the previous KU Leuven rector. We found that users preferred generative models that focused on local coherent sentences, rather than those mimicking the global structure of a philosophical statement. The proposed algorithms are thus valuable new tools for automatic parody as well as template learning systems.

\section{Introduction}

Imitating input text is a popular natural language generation task.
One way of achieving this is by manually writing an context-free grammar, which often results in a relatively small and predictable generative space due to the large effort it takes to create such a grammar.
Markov chains are a useful tool for learning to imitate input sequences automatically.
These usually work best for generating short texts, as they tend to derail quickly due to their limited memory.
A textual Markov chain learner calculates how often a certain word follows the $n$ previous words \cite{norris1997markov-chains}.
One consideration designers of such systems have is choosing this $n$: a high number enforces grammatically more sensible sentences, but more source text plagiarism, whereas a low number leads to more random but original output \cite{papadopoulos2014plagiarism}.
In this paper, we propose two potential solutions for this trade-off for generating short, philosophical statements, by developing an algorithm that generates more locally coherent text, and another algorithm that mimics the global structure of a philosophical statement .
We demonstrate our algorithms by training on the tweets and columns of the previous KU Leuven rector, Rik Torfs, and deploying it as a Twitterbot called TorfsBot.

\section{Method}

\subsection{Interpolated Markov Model}

A first solution to partially mitigate the classic trade-off between originality and syntactic correctness is by interpolating between several different Markov models.
That is, the algorithm trains multiple Markov models with a different order (e.g. with $k\in\{2,3,4\}$), and gives a weight to every Markov model (e.g. $w_2=1, w_3=200,w_4=400$).
When the interpolated Markov model chooses a next word, the count of every possible candidate is multiplied with the weight of the Markov model it originates from.
It then selects the next word from all weighted candidates using roulette wheel selection on the summed counts of all candidates.
In this step, additional heuristic functions $f$ could further influence the weights, e.g. preferring certain topical words, rhymes etc.
In summary, the model thus does not only look at the previous two words to know the probability of of the next word, but also at the previous three and previous four words, sums all probabilities of all possible words according to these other models, but gives a higher probability of picking a word predicted by a model looking at more previous words.

Thus, the new formula to calculate the probability of candidate words can be derived from the classic Markov model by adding some extensions.
The classic Markov model of order $k$, which looks back $k$ words to predict the probability of word $s_{i+1} \in$ vocabulary $V$ from previous words $s_0, s_1, \ldots, s_i$, uses the following formula \cite{papadopoulos2014plagiarism}:

\begin{equation}
p(s_{i+1} | s_{0}, s_{1}, \ldots, s_{i}) = p(s_{i+1} | s_{i-k}, s_{i-k+1}, \ldots, s_{i})
\end{equation}

with $p(s_{i+1} | s_{i-k}, s_{i-k+1}, \ldots, s_{i})$ the number of times $s_{i+1}$ occurred after $s_{i-k}$, $s_{i-k+1}$, $\ldots$, $s_{i}$ in the training corpus, divided by the number of times $s_{i-k}$, $s_{i-k+1}$, $\ldots$, $s_{i}$  followed by any word occurred.

We first extend this with a normalisation function $n$, increasing the variety while decreasing the size of the resulting automaton. This function maps the words to lowercase and removes any non-alphanumeric character.

\begin{equation}
p(s_{i+1} | s_{0}, s_{1}, \ldots, s_{i}) = p(s_{i+1} | n(s_{i-k}), n(s_{i-k+1}), \ldots, n(s_{i}))
\end{equation}

The following formula combines evidence from multiple such Markov models with maximum order $k$ by weighting every model using weight $w_j$, creating an interpolated Markov model:

\begin{equation}
p(s_{i+1} | s_{0}, s_{1}, \ldots, s_{i}) = \frac{\sum_{j=1}^k w_j \cdot p(s_{i+1} | n(s_{i-j}), n(s_{i-j+1}), \ldots, n(s_{i})) }{\sum_{j=1}^{k}w_j}
\end{equation}

These weights can then be further influenced by a function $f$, which increases the weight if the new word fulfills certain conditions, such as having close phonetic distance, contextually related to previously generated words, or combinations thereof:

\begin{equation}
\label{eq:weight-influence-markov}
p(s_{i+1} | s_{0}, s_{1}, \ldots, s_{i}) =
\frac{
\sum_{j=1}^k w_j \cdot p(s_{i+1} | n(s_{i-j}), \ldots, n(s_{i}))
\cdot
f(s_{i+1}, \ldots, s_1)
}
{
\sum_{v \in V}
\sum_{j=1}^k w_j \cdot p(v | n(s_{i-j}), \ldots, n(s_{i}))
\cdot
f(v, s_i, \ldots, s_1)
}
\end{equation}

The algorithm uses any start of a sentence in the training data as $s1$, $\ldots$, $s_{min_k(w_k \neq 0)}$ to kick start the generatibe process using Equation \ref{eq:weight-influence-markov}, until an ending token is obtained as $s_{i+1}$.
After generating a candidate, the algorithm performs several post-processing extensions for improving the quality of the final generated texts.

\subsubsection{Shortening}

Since philosophical statements and tweets tend to be better when short, the first post-processing step of the algorithm shortens generated text if it is longer than a specific threshold.
For our purposes, we set this threshold to the previous Twitter limit of 140 characters.
It achieves this shortening by removing sentences between the first and last sentence, and leaving some middle sentences if there is enough space left.
Due to the fact that the Markov chains enforce that both the beginning and the endings truly occur as beginnings and endings in the training data, they tend to feel as respectively introductions and conclusions.
This pattern of skipping intermediary sentences, and thus just going from introduction to conclusion, is a property also generally present in philosophical statements and tweets.
Another way the algorithm achieves snappy texts is by first generating multiple candidates and then preferring shorter ones by using roulette wheel selection using the inverse text length as the main factor of the weight.

\subsubsection{Punctuation fixing}

As a second post-processing step, the algorithm fixes the brackets and quotation marks by adding complementary brackets and quotation marks at the beginning or endings of clauses or sentences.
If no good position for the other bracket can be found, the bracket or quotation mark is deleted.
This is a necessary step due to the fact that Markov models are only able to keep track of the last several generated words.
Contrary to many neural networks text generators \cite{karpathy2015rnn,radford2019gpt2}, these Markov models are thus most of the time unaware what the current level of nested brackets is during generation.
As such, this post-processing step fixes several obvious mistakes in the generated texts.

\subsubsection{News insertion}
Since tweets are often bound to events happening when the tweet was written, using them as training data might result in referencing past dates, events and news.
To mitigate this, the third post-processing step is to link specifics in the generated text such to the present and to current events, as this makes a text feel more relevant and thus improves its quality \cite{winters2019clin}.
To achieve this, the algorithm searches for occurrences of full dates, months and years using regular expressions, and replaces them with a (parts of) a random date in the near future; we chose one to four days.
It also searches the text for named entities, as these are either tied to events from the time it was written, or serve as good candidates for adding references to current events.
It finds these by searching for title-cased words in unexpected spots, as this is a well-working proxy for named entity recognition in our target languages.
The system filters out named entities that occur more than a specific threshold in the training corpus, such that it does not replace names that are archetypal references for the author the system imitates.
The system then crawls the front page of a news website and selects a news article based on unigram similarity to the training corpus, where the score is calculated in a way similar to the scores of the naive Bayes algorithm.
It uses this article to replace the filtered names from the generated text by the named entities of the chosen news article, giving priority to the most frequent named entities in the article.
If the generated text contains any quotes that are longer than three words (and thus a proper quote, and not word emphasis), it also replaces the quote with a quote from the article if there is one.
All these replacements help the generated text feel more grounded in the present and current affairs.

\subsubsection{Originality check}

The final post-processing step is checking if the generated text is original enough compared to the training corpus.
While there are clever extensions to create a Markov automaton that checks for originality while generating \cite{papadopoulos2014plagiarism}, we opted for a post-processing step due to being less memory intensive  as well as the limited length of the generated texts.
This is achieved by normalising both by converting to lower case and removing non-alphanumeric characters, and checking if the normalised generated text occurs fully in, or as a part of an element of the normalised training corpus.
If there is overlap, it restarts the full process and generates a new text.

\subsection{Dynamic Templates}

Templates are often used for generating text, and are especially popular in computational humour \cite{binsted1994jape,manurung2008standup,winters2018automaticjokegeneration,winters2019goofer}.
A template is essentially a sentence with slots, where every slot is a variable that a data source can fill.
Context-free grammars allow designers to generate texts using specified templates, and have been used to create thousands of Twitterbots \cite{compton2017shared}, e.g. by using the popular Tracery tool \cite{compton2015tracery}.
However, creating such a grammar by hand is not only tedious, but also tends to caricaturize the target due to having a limited number of templates.

We propose solving the issue of creating templates by hand by dynamically extracting templates from base texts by knowing what types of content we want to insert, and identify good slots for replacing words by identifying the key words of a chosen sentence.
This way, the global structure of the statement is retained.
These base texts with yet-to-define slots is what we call ``dynamic templates''.

To generate a text using dynamic templates, the algorithm first receives a corpus of base texts $B$, a corpus of content text $C$ and a unigram model $U$ as input.
The algorithm then picks several consecutive lines from $C$ and uses their words as a proxy for finding a set of related context words.
It then creates a mapping from their part-of-speech tags to every present word.
For the dynamic template itself, it selects a random text from the base text corpus $B$ and analyses all the present part-of-speech tags.
The algorithm then proposes a list of possible replacements based on matching part-of-speech tags and the mapping to content text words.
The part-of-speech tags do not only contain information about the type, but also more specific information e.g. the tense of a verb.
This ensures that words that are replaced generally still have the correct syntactical relation to other words in the sentence.
Words that do not have matching part-of-speech tags present in the selected lines from $C$ are not replaced.
Some types of words, such as auxiliary verbs and other structural words, are also not allowed to be replaced due to breaking the grammatical correctness of the sentence.
The possible replacements are sorted by ascending frequency using the unigram model $U$, to prefer rare words, as a proxy for the key contextual words.
The algorithm must replace a certain minimum number of words, proportional to the length of the string, since we do not want short sentences with too common words without replacements, or long sentences with only one word being replaced.
The replacement process continues until words to be replaced are more common than a minimum percentile in $U$, modelling the word commonness distribution.
Similar to the interpolated Markov model model, it then also performs the news insertion step to make the generated texts more tied to current events.
The pseudocode for this algorithm can be found in Algorithm \ref{alg:dynamic-templates}.

\begin{algorithm}[h!]
 \KwData{Base corpus $B$, content corpus $C$, unigram model $U$, minimum frequency percentile $p=0.62$, replacement factor $l=25$}
 \KwResult{Text using structure from $b \in B$ and context from $c_1, c_2, ..., c_j \in C$}
 $b \leftarrow selectRandom(B)$ \;

 $c_1, \ldots, c_j \leftarrow selectRandom(C, j)$ \;

 $M^b \leftarrow createMappingWordsToPOSTags(b)$\;

 $M^b \leftarrow filterUnreplaceable(M^b)$\;

 $M^b \leftarrow sortAscendingFrequency(M^b, U)$\;

 $P^c \leftarrow createMappingPOSTagsToWords(c_1, c_2, \ldots, c_j)$\;

 $minR \leftarrow length(b) / l$\;

 $minFreq \leftarrow percentile(U, p) $\;

 R $\leftarrow$ \{\}\;

 \While{$|R| \leq minR$ or ($ |M^b| >0$ and $U(M^b_0) \geq minFreq$) }{
    $w_b \leftarrow M^b_0$;

    $M^b \leftarrow M^b \setminus w_b$\;

    $candidates \leftarrow P^c(M^b(w_b))$\;

    \If{$|candidates| \geq 0$}{

       $w_c \leftarrow selectRandom(candidates)$\;

   }
    $R \leftarrow R \cup \{(w_b, w_c)\}$\;

}
\Return $applyReplacers(b, R)$\;

 \caption{Dynamic Template algorithm in pseudocode}
 \label{alg:dynamic-templates}
\end{algorithm}

The algorithm thus inserts context words into a base text that is used as a template to dynamically respond to the content that needs to be inserted.
This mix of context words into a structure used in a different context can often cause a bisociation, a jump between two frames of references usually present in creative works, between the original narrative and the new context \cite{koestler1964act-of-creation}.
As an example, consider one of the recent tweets by our Twitterbot employing this algorithm, which we translated from Dutch to English. By using an original tweet by Rik Torfs, namely

\begin{center}
$b =$ \textit{``Are there also atheists that don't believe in atheism?''}\footnote{\url{https://twitter.com/torfsrik/status/620144837719932928}}
\end{center}

and combining this with a fragment of a column by the same author as context text

\begin{center}
$c_1, c_2, c_3 $ =
\textit{``They see the fact that the former Supreme Being is not trying to deny this newly acquired insight as proof of them being right. Even with the Church, things are not going well. Norse popes.''}\footnote{\url{http://www.standaard.be/cnt/s73709av}}
\end{center}

we get the following result after executing our algorithm, and finding the replacements $R = \{(atheists, popes), (atheism, the\_supreme\_being)\}$\footnote{Note that \textit{``Supreme Being''} in Dutch is only one word (namely \textit{``opperwezen''}), and that \textit{``atheism''} in Dutch has an article, thus providing \textit{``the''}.}:

\begin{center}
$result = $
\textit{``Are there also popes that do not believe in the supreme being?''}\footnote{\url{https://twitter.com/TorfsBot/status/1101507600095633410}}
\end{center}

\subsection{Automatic Replying}

There are several methods for making the text generation algorithms interactive, such that the Twitterbot would not only send out stand-alone tweets into the world but also respond to user replies.
One way would be to bias the interpolated Markov model towards words related to words of the conversation by incorporating a factor in $f$ of Equation \ref{eq:weight-influence-markov} that gives a higher weight to relevant context words.
This method could however influence the generator to obsessively use certain rare words, which it would not do in normal circumstances.
Another way of adapting to a user text is inserting relevant context words that have been used by the user as $c$ in our dynamic templates approach.
This is dangerous due to inserting potentially out-of-corpus words from an untrusted source, which attackers might use to make the bot behave offensively and break platform guidelines.

We devised a new method for generating replies using any text generation algorithm without modifying the algorithm.
Since philosophical statements stereotypically tend to be vague and only somewhat related to previous text, the approach first generates philosophical statements like it normally does, and then picks an optimal one to use in the conversation as a reply.
The algorithm first analyses the conversation so far by making a weighted unigram of the words present in it.
The weight of a word in the conversation unigram is multiplied by a factor depending on the author and how recent the text is.
The weight factor is zero for any reply in the conversation longer than ten replies ago, and one if the reply came from the bot.
For the replies of the user, the most recent one has a high weight factor and decreasing linearly for every previous reply, with a minimum total weight factor of one.
The algorithm then generates thousands of random candidates using the interpolated Markov model, as this is a very efficient generator.
It ends by picking the best candidate by looking for the text that has the most rare words in common with weighted unigram coming from the conversation, by summing the weights of the words the text has in common with the conversation and dividing this by the word count in unigram model $U$.
The score of a candidate is also inversely proportional to the difference in length between the last reply and the candidate, such that the bot prefers replying short if the user replies with short answers, and engage using long arguments if the user is also replying using long answers.
This thus helps incorporating topics from earlier in the conversation, and follow the tone of the conversation \footnote{Some (Dutch) examples can be found on \url{https://twitter.com/TorfsBot/status/}$id$ for $id\in \{951851129306009600,  951514464737775616, 937812233085743104\}$}.

\section{Evaluation}

\subsection{Qualitative Performance}

As mentioned earlier, we implemented a Twitterbot called TorfsBot\footnote{\url{https://twitter.com/TorfsBot}}, which imitates tweets made by previous KU Leuven rector Rik Torfs.
This bot uses both the interpolated Markov model and dynamic templates to generate tweets, and uses the interpolated Markov model as text generator for the reply algorithm.
For the interpolated Markov model algorithm, the bot uses both tweets and columns written by Torfs as training data, putting more emphasis on the former by multiplying the weight of the n-grams from this source by ten.
For the dynamic templates, we used the tweets as base texts and the columns for content texts.
TorfsBot has more than 850 followers, making it one of the most popular Dutch Twitterbots\footnote{\url{https://botwiki.org/?s=dutch}}.
We compared the algorithms and their average interactions ($=\frac{likes+retweets}{tweets}$) in Table \ref{tab:algorithm-evaluation-interactions}.
We also compare a subset of the replies, namely those not from a conversation with one single outlier user, who is responsible for 1883 total replies.
From these results, we can see that the locally coherent algorithm (namely the interpolated Markov model) usually produces more prefered content than the globally coherent algorithm (the dynamic template algorithm).
One reason for this result could be that, compared to spotting errors in complicated grammatical structures, it is easier to detect words that can not follow each other, which then drastically lowers the credence in the wisdom of the philosophical statement.

\begin{table}[h]
\caption{Analysing 8582 TorfsBot tweets from September 2016 to April 2019}
\label{tab:algorithm-evaluation-interactions}
\centering
\begin{tabular}{l  r  r}
\toprule
\textit{\textbf{Algorithm}}               & \textit{\textbf{Tweets}} & \textit{\textbf{Avg. Interactions}} \\
\midrule
\textbf{Interpolated Markov Model}        & 2375                                           & 1.11                                                                   \\
\textbf{Dynamic Templates}                & 1956                                           & 0.77                                                                    \\
\textbf{Replies}                          & 4271                                           & 0.23                                                                    \\
\textbf{Replies without outlier user} & 2388                                           & 0.39                                                                    \\ \bottomrule
\end{tabular}
\end{table}

\subsection{Applicability to Other Domains and Languages}

We also implemented a similar bot using the interpolated Markov models for generating poetry based on the works of Belgian poet Maarten Inghels, called InghelsBot\footnote{\url{https://twitter.com/InghelsBot}}.
This system uses the weight influencers $f$ of Equation \ref{eq:weight-influence-markov} to prefer similar sounding words next to each other using rhyming dictionaries and Levenshtein distance.
It also uses the additional normalisation function $n$ on some of its internal Markov models to normalise to just the part-of-speech tag.
This bot shows that interpolated Markov model works for multiple languages as well as for other text types (namely English and Dutch poetry) without much modifications.

\section{Code}

The code of TorfsBot and all of its dependencies has been made available through \url{https://github.com/twinters/torfs-bot}.
The code to train the interpolated Markov models is also separately available on \url{https://github.com/twinters/markov}

\section{Future Work}

There are several possible improvements to further develop the discussed algorithms.
One large improvement would be using better methods for discovering related words, e.g. by training word embeddings on the training data \cite{mikolov2013word2vec}.
This would allow the dynamic template algorithm to replace the words of the dynamic template with words that have all have similar difference vectors, such that all context words of the resulting sentence are analogous to the context of the base text.
The embeddings could also help the reply generator estimate the relatedness of words better than just plainly using the words themselves.

Another interesting improvement would be interpolating the interpolated Markov model with other sequential generators, such as LSTMs or fine-tuned versions of GPT-2 \cite{radford2019gpt2}, as these are able to keep track of the previously generated texts for much longer and thus produce texts with better grammar.

Since our bots are deployed on Twitter and are thus able to receive constant feedback from users, it would also be interesting to use this feedback mechanism to improve the perceived quality of generated texts.
For example, it might be able to learn which contexts or which base texts work great in dynamic templates.
\section{Conclusion}

We designed and implemented two different algorithms for imitating input text, and made it interactive.
We then showed that the text generated by our systems are well-appreciated by users, and found that the interpolated Markov model got the most positive user feedback, implying that local coherence might be more important than the global structure when generating philosophical statements.

\subsection*{Acknowledgements}

This work was partially supported by Research foundation - Flanders (project G.0428.15).

\bibliographystyle{splncs04}