<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Virtual Employee Implementation Using Temporal Case-based Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>M oscow</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Krasnokazarmennaya st.</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Russia ivan@appmat.ru</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Research University “M oscow Power Engeneering Institute”</institution>
          ,
          <addr-line>M oscow, Krasnokazarmennaya st., 14, 111250</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>This paper discusses the implementation of the virtual employee that implements the function of automatic processing of issues submitted to the software maintenance department. This task is currently relevant and a variety of virtual employees are being introduced in the different areas, since their use allows to automate typical operations, reduce response time and free up human resources for more complex tasks. For the implementation of this system, modified case-based reasoning method based on temporal constraint satisfaction problem (TCSP) was prop osed. This method allows to take into account temporal dependencies and model the history of the events occurring, which allows to describe the dynamics of the system behavior that led to the system failures or incorrect behavior. For comparison of numerical parameters, classic Euclidean metric was used. For estimating the measure of proximity of text parameters of cases, modification of TF-IDF measure was developed. The prop osed modification allows to improve the quality of the classification, because it allows to take into account information on the contribution of the words not only in a separate case but in the entire case base. The paper describes a prototype of developed virtual employee that is used in the process of maintaining the automatic payment terminal software. At the same time, it allows not only to work on the principle of request-response, but also to integrate with various systems, interact with people and line up in business processes.</p>
      </abstract>
      <kwd-group>
        <kwd>virtual employee</kwd>
        <kwd>case based reasoning</kwd>
        <kwd>temporal constraint satisfaction problem</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        This paper discusses the implementation of the virtual employee (VE) [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1-3</xref>
        ]. VE is like
an automated robot who completes a full day work. VE can “work” on positions with
simple or typical duties (for example, technical support engineers, controllers, etc.). In
these areas, VE can be integrated into the real business processes and perform
interaction with people, imitating a real employee.
      </p>
      <p>
        According to literature, such VE is the example of actively investigated in nowadays
robotic process automation (RPA) tool [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Work [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] indicates that using of the RPA
has become a necessity in day to day business activities. The term RPA means
automation of service tasks that were previously performed by humans. The simplest technics
that VE can use is transferring data from multiple input text sources (like email, notes,
spreadsheets) to Enterprise Resource Planning (ERP) or Customer Relationship
Management (CRM) systems [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Some works concern rule-based RPA methods [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ].
Rule-based approach allows automation of repeatable tasks by the use of software tools,
which can mimic actions performed by human users on computers to complete various
business processes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Another works consider using more complicated artificial
intelligence technics for RPA [
        <xref ref-type="bibr" rid="ref10 ref11 ref12">10-12</xref>
        ]. In particular, neural networks and natural language
processing (NLP) can be harnessed to infuse RPA solutions with supervised,
unsupervised and enhanced learning capabilities [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. The work [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] describes construction
of self-improving helpdesk service systemusing case-based reasoning techniques. This
paper discusses an example of building VE for technical support department.
      </p>
      <p>Many software development companies in their daily activities provide technical
support for the released software products. Users are provided with support that
troubleshooting most problems that they experienced. If the error message is received, the
support staff needs to know the parameters and conditions under which the problem
situation occurs. An in-depth analysis of the error and clarification of its cause requires
an understanding of the full picture of the events th at occurred. Usually modern
software recording these events automatically into the log files.</p>
      <p>In this paper, we will consider as an example of a supported product automatic
payment terminals. Installing and configuring payment terminals, as well as subsequent
maintenance, is a complex process that can be conducted incorrectly, especially in the
case of insufficient staff qualifications. At the same time, unskilled specialists are often
inclined to give out any questions about the work of the terminal (including those that
they should solve on their own), as errors of the installed software. As a result, the large
part of the technical support requests , for obvious reasons, have a template decision.
These template decisions can be submitted in the form of decision rules . For example :
“If the user reported that the system was not responding to an attempt to pay with a
contactless card, then it is necessary to check the log records from the contactless card
reader driver. If it contains message “Port “COM#” does not exist”, then recommen d
to check this option”. Since the number of installed terminals amount to several
thousands, the number of calls to the support service is quite large and grows as the new
terminals installs. In order to accompany the terminals, low-skilled specialists who able
to correct only typical errors according to decision patterns are usually hired. In case of
atypical situations, an expert is involved to eliminate the error. If the problem is related
to the equipment and its setting, it is eliminated and this typical decision is added to the
knowledge base of the maintenance specialists. If the problem is related to a defect in
the software, then a new version is released with a fix.</p>
      <p>
        To account for user requests and the accumulation of ty pical decisions, currently
specialized software systems are often used – Service (Help) Desk, hereinafter referred
to as issue tracking systems (ITS) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The core of the ITS is the database, which stores
user requests. Requests are usually filled in via the ITS user interface and have a number
of attributes, such as number (identifier), short description of the user, date and time of
access, version of software, severity (criticality), decision priority, description of steps
to reproduce the problem, the expected result and the actual result, who is responsible
for deciding the request, the current status (status), the decision. Also, ITS usually
provide a software interface (API, application programming interface) that allows to
manipulate requests for the development of automation tools. This API allows to get a list
of issues assigned to a specific executor, create new issues, reassign issues, manage
issue fields, status, make comments to the issue, etc.
      </p>
      <p>A typical issue life cycle is determined by its status (see Fig. 1):
 “open” - issue is registered;
 “in progress” - the person responsible for the decision is appointed;
 “resolved” - decision was developed.</p>
      <p>Information about solved issues in the ITS can be used as a knowledge base (KB) in
the technical support process.</p>
      <p>VE considered in the work can be used as a superstructure above the ITS to reduce
the amount of routine work. Through the program interface of interaction with the ITS,
VE will process incoming issues to the system, conduct a search through the KB of
typical decisions, change the issue status and attributes.</p>
      <p>Methods for finding decisions based on case-based reasoning (CBR) [14] are well
suited to implement such VE. Consider further the proposed design of VE and the
scheme of its operation.</p>
    </sec>
    <sec id="sec-2">
      <title>Virtual Employee Implementation</title>
      <p>General Architecture
The architecture of VE includes the following components (see Fig. 2):
 interface with the ITS;
 case base;
 issue analyzer;
 product log analyzer;
 decision-making unit;
 learning unit.
The decision search unit constructed using a modified CBR method. We will represent
cases in the form of CASE = (x1, x2, …, xn, T, R), where x1,…, xn are issue parameters;
x1 X1, x2X2,…, xn Xn, where n is the number of parameters for case describing, X1,
… , Xn − areas of allowable values of relevant parameters, T – function, that matches
the comparison metric for the corresponding parameter, R − recommendation.</p>
      <p>To evaluate the similarity of numeric parameters, the usual Euclidean metric is
suitable. For the parameters presented in the form of text in natural language (NL), we
propose the approach described below. To determine the similarity of two text
parameters, we will represent each text T as an N-dimensional vector, where N is the number
of all possible words in the target language. For each word w, which appears in the text
of the parameter f of some case c, the value of the coefficient along the corresponding
axis calculates by the following formula:
w</p>
      <p>Weightw(f, c) = IDp Ff,fcw,c  IDFfw,rest ,
where p wf,c – is the probability that if w is present in the text of some parameter f of
case с, that it belongs to case c described by this parameter and calculates by the
following formula:
w
p wf,c  k fw,c ,
k f
where k wf,c – is the number of occurrences of the word w in the text of parameter f
of case c, and k wf – is total occurrences of word w in the text of parameter f in all cases,
n
i.e. k wf  k wf,i , where n – is the total number of cases .</p>
      <p>i1</p>
      <p>IDFfw,c – IDF (inverse document frequency) value for word w within parameter f of
case с, representing the inverse of the frequency with which the word occurs in the text
[15]. IDFfw,rest – IDF value for word w of parameter f for the remaining part of cases rest.
In addition, if the word does not occur in any case in remaining part, then the value
IDFfw,rest sets to a maximu m value and equals |rest| - the number of cases in rest.</p>
      <p>Thus, the similarity metric between the text parameters of the analyzing issue Z and
some case C from case base is determined as follows :</p>
      <p>Sim(Z f ,Cf )  kzw, f Weightw( f ,C) ,</p>
      <p>w
where kzw, f is the number of occurrences of the word w in the text of parameter f
describing input issue Z. If the word is not found in the current case, the value of
proximity is taken to be zero.</p>
      <p>To speed up the calculations, the values of frequencies are pre-calculated and stored
in a special database.</p>
      <p>Important information for comparison is contained in the supported system logs.
Their comparison is a difficult task. To solve it, the architecture of VE has a separate
component – log analyzer.</p>
      <p>For the considered software on the example of an automatic payment terminal
system, the work process can be represented as a sequence of execution of typical
operations. Each operation is described as a set of events. Abnormal situations that occur
during software work can be identified by detecting non-standard or unknown events
in the sequence of operations. Case can include both need for a specific event in the log
— for example, errors of a particular type, or a more complex condition involving the
control of previously occurred events (since the same error can have different causes).
The first case does not present any difficulty for implementation, so we will not
consider it in details. The second case allows for a more qualitative analysis of what is
happening, since the situation will be considered “in dynamics”, and the decision will
be made taking into account the history of the process [16].</p>
      <p>Formally, log is represented as a set of records Rec = (t, s, k, m), where t  D is the
event observation time, s is the event anxiety, s  {error, warning, normal, debug}, k
is the type of event (for example, the start of a transaction, the end of a transac tion,
activation of a bank card searching, etc.), m is additional information (a string constant),
D is a set of real numbers.</p>
      <p>Log usually contains a large amount of events. Some of these events may be
insignificant in the context of the case and can be filtered out. Filtering allows on the one
hand to reduce the amount of the information that needs to be stored as part of a cases,
and on the other hand reduces the matching time. Further, in the filtered log, boundary
events are highlighted - such events that start a particular operation. Each received
operation normalizes - the time of the very first event is subtracted from the time of all
events included in it. Then, among the resulting set of operations, search is performed
for the operation described in case. If a similar or identical operation is found
(depending on the stiffness of the metric), then the similarity in this parameter is considered to
be established.</p>
      <p>In the framework described in this work, the algorithm of comparison of operations
is implemented on the basis of the transition to the metric point constraint satisfaction
problem.</p>
      <p>In this paper, we consider the models, based on the presentation of information about
time as constraints (dependences) between time primitives. In temporal logics using the
concept of constraint satisfaction, information about time is presented as dependences
between temporal primitives (moments, intervals or their combinations). Dependences
between primitives are interpreted as constraints to real time of their appearance.
Usually sets of temporal primitives and relations among them are presented as the
Temporal Constraint Satisfaction Problem (TCSP), which is detailing of a more general
Constraint Satisfaction Problem (CSP), what permits to use CSP methods to solve the
TCSP. Lets see how temporal case based reasoning can be build on the base of the
metric TCSP.</p>
      <p>Metric TCSP defined as Z = (V, D, C), where V - a finite set of temporal variables,
corresponding to the time points; D - range of values of the temporal variables (the set
of integers); C - a finite number of binary temporal constraints Cij={[a1,b1],…,[ak,bk]},
where the intervals are disjoint. Constraint Cij interpreted as (aij≤Vj-Vi≤bij).</p>
      <p>
        Each constraint Cij defines for the temporal variables Vi and Vj allowable distance
between them. Intervals in the constraint Cij are interpreted as a disjunctive [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>We will represent the operation as O = (V, C), where V = {V1, V2, …, Vm} is a finite
set of temporal variables corresponding to time points; C is a finite number of binary
temporal constraints. Each Vi is assigned a record Reci = (ti, si, k i, mi).</p>
      <p>Such a presentation allows to record both the fact of the occurrence of certain events,
their order, and the time of their occurrence (metric). The numbering of events in the
operations depends on the time of occurrence of these events and their type. Due to this,
the process of determining the similarity of operations is greatly facilitated due to the
simplification of the analysis of the similarity of time constraints and the assessment of
the "overlap" of operations against each other [17].</p>
      <p>As a result, to determine the conformity of the two operations O1 and O2, we will
use the following condition:
 the set of time variables O1 and O2 coincides;
 for all Cij1  O1 and Cij2  O2 the condition is satisfied: |lo(Cij1)-lo(Cij2)|&lt; 
|hi(Cij1)-hi(C*ij2)|&lt;, where  is the threshold value, lo(Cij) = ak is a function that
yields the lower bound of the constraint, hi(Cij) = bk is a function that yields the upper
bound of the constraint.</p>
      <p>As a result, the reasoning unit extracts from the case base all cases that exceed a
certain threshold similarity value. At the same time, if several alternative decisions have
found, VE can operate in two custom modes: either choose a case with a maximu m
measure of similarity, or transmit a decision on choosing a more suitable case to an
expert.</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Work</title>
      <p>The paper considers an example of using methods of CBR for constructing virtual
employee for a software maintenance department. The prototype of VE was developed in
C# in the Microsoft Visual Studio 2017 development environment using the Point Time
library and is cross -platform. VE prototype is used in the process of maintaining the
automatic payment terminal software. The case base of that prototype currently
contains 80 precedents. The prototype of VE made it possible to evaluate the practical
benefits of the proposed approach. Currently, work is underway to improve the fullness of
the prototype BP. The implementation of VE allows getting an increase in the speed of
the initial processing of the issues for maintenance, as well as the economic effect due
to the reduction of the burden on specialists.
14. Kolodner, Janet. An introduction to case-based reasoning. Artificial Intelligence Review. 6.</p>
      <p>1992. 3-34. 10.1007/BF00155578.
15. J. Ramos, Using TF-IDF to determine word relevance in document queries”, In First
International Conference on M achine Learning, New Brunswick: NJ, USA, 2003.
16. Eremeev A.P., Kurilenko I.E., Varshavskiy P.R. Temporal Case-Based Reasoning System
for Automatic Parking Complex // International Journal of Computer, Electrical,
Automation, Control and Information Engineering, Vol 2., 2015, № 5, p. 1274-1280.
17. Eremeev A.P., Kurilenko I.E M ethods for modeling temporal dependencies in intelligent
systems using temporal case-based reasoning // Information M odels and Analyses Vol. 2,
2013, № 4, p. 324-335.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. van Diggelen,
          <string-name>
            <surname>J.</surname>
          </string-name>
          , M uller, T., van den Bosh,
          <source>K. Intelligent virtual agents // Proc. 10th International Conf., IVA</source>
          <year>2010</year>
          , Philadelphia, PA, USA. p
          <fpage>28</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kurilenko</surname>
            <given-names>I.E.</given-names>
          </string-name>
          <article-title>Case-based reasoning application to maintenance department virtual employee implementation // XVI Int</article-title>
          .
          <source>AI conference RCAI</source>
          <year>2018</year>
          , vol.
          <volume>2</volume>
          , pp.
          <fpage>238</fpage>
          -
          <lpage>244</lpage>
          . RBC.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jungsun (Sunny) Kim</surname>
          </string-name>
          , Anthony Gatling, (
          <year>2018</year>
          )
          <article-title>"The impact of using a virtual employee engagement platform (VEEP) on employee engagement and intention to stay"</article-title>
          ,
          <source>International Journal of Contemporary Hospitality M anagement</source>
          , Vol.
          <volume>30</volume>
          Issue: 1, pp.
          <fpage>242</fpage>
          -
          <lpage>259</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Sutherland</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Framing a Constitution for Robotistan</article-title>
          .
          <source>Hfs Research</source>
          , ottobre.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. M adakam, Somayya, Holmukhe,
          <string-name>
            <given-names>Rajesh M .</given-names>
            , &amp;
            <surname>Jaiswal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Durgesh</given-names>
            <surname>Kumar</surname>
          </string-name>
          .
          <article-title>The Future Digital Work Force: Robotic Process Automation (RPA)</article-title>
          .
          <source>JISTEM - Journal of Information Systems and Technology M anagement</source>
          ,
          <volume>16</volume>
          , e201916001. Epub January 10,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lacity</surname>
            ,
            <given-names>M .</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Willcocks</surname>
            ,
            <given-names>L. P.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Craig</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2015</year>
          ).
          <source>Robotic process automation at Telefonica O2</source>
          . 15. http://eprints.lse.ac.uk/64516/1/OUWRPS_15_02_published.pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Clint</given-names>
            <surname>Boulton</surname>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>What is RPA? A revolution in business process automation</article-title>
          , https://www.cio.com/article/3236451/business-process
          <article-title>-management/what-is-rparobotic-process-automation-explained</article-title>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>J.</given-names>
            <surname>Geyer-Klingeberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nakladal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Baldauf</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Veit</surname>
          </string-name>
          , “
          <article-title>Process mining and robotic process automation: A perfect match</article-title>
          ,”
          <source>in Proc. of the Dissertation Award</source>
          , Demonstration, and Industrial Track at BPM 2018 co
          <article-title>-located with 16th International Conference on Business Process M anagement (BPM</article-title>
          <year>2018</year>
          ), Sydney, Australia, September 9-
          <issue>14</issue>
          ,
          <year>2018</year>
          ., ser.
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>2196</volume>
          . CEUR-WS.org,
          <year>2018</year>
          , pp.
          <fpage>124</fpage>
          -
          <lpage>131</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Rajesh</surname>
            ,
            <given-names>K.V.N.</given-names>
          </string-name>
          <string-name>
            <surname>Ramesh</surname>
            and
            <given-names>Hanumantha</given-names>
          </string-name>
          <string-name>
            <surname>Rao</surname>
          </string-name>
          (
          <year>2018</year>
          ).
          <article-title>Robotic Process Automation: A Death knell to dead-end jobs</article-title>
          .
          <source>CSI Communications-Knowledge Digest for IT Community</source>
          , Volume No.
          <volume>42</volume>
          , Issue No.
          <volume>3</volume>
          ,
          <fpage>10</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Del Fiol</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>M ichelson</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iorio</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cotoi</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haynes RB</surname>
          </string-name>
          .
          <article-title>A Deep Learning M ethod to Automatically Identify Reports of Scientifically Rigorous Clinical Research from the Biomedical Literature: Comparative Analytic Study</article-title>
          .
          <source>J M ed Internet Res</source>
          <year>2018</year>
          ;
          <volume>20</volume>
          (
          <issue>6</issue>
          ):
          <fpage>e10281</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Jurafsky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , M artin,
          <string-name>
            <surname>J.H.</surname>
          </string-name>
          : Speech and
          <string-name>
            <given-names>Language</given-names>
            <surname>Processing</surname>
          </string-name>
          . Printice Hall (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kai H. Chang</surname>
            ,
            <given-names>Pradeep</given-names>
          </string-name>
          <string-name>
            <surname>Raman</surname>
            ,
            <given-names>W. Homer</given-names>
          </string-name>
          <string-name>
            <surname>Carlisle</surname>
          </string-name>
          , and
          <string-name>
            <surname>James</surname>
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Cross</surname>
          </string-name>
          .
          <year>1996</year>
          .
          <article-title>A self-improving helpdesk service system using case-based reasoning techniques</article-title>
          .
          <source>Comput. Ind</source>
          .
          <volume>30</volume>
          ,
          <issue>2</issue>
          (
          <year>September 1996</year>
          ), pp.
          <fpage>113</fpage>
          -
          <lpage>125</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>ITIL</given-names>
            <surname>Foundation</surname>
          </string-name>
          <article-title>Handbook (3rd ed</article-title>
          .).
          <source>The Stationery Office</source>
          , Norwich.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>