<!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>NLP4BPM - Natural Language Processing Tools for Business Process Management</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luis Delicado</string-name>
          <email>ldelicado@cs.upc.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josep S`anchez-Ferreres</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Josep Carmona</string-name>
          <email>jcarmona@cs.upc.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Llu´ıs Padr´o</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Department Universitat Polit`ecnica de Catalunya Barcelona</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Business Process Management is facing a drift in the way process information is used within an organization. To reach a wide audience, organizations keep parallel representations of process information, thus making the processes to be understandable by everyone. However, this poses a challenge on the synchronization and transformation between di↵erent process representations. NLP4BPM is an environment to support such crucial tasks. It combines Natural Language Processing tools with process-oriented techniques, and through its web-based interface can be easily accessed from any device.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Process documentation is a key aspect of Business Process Management.
Nowadays organizations store processes descriptions in various representations. The
reason for this is the di↵erent nature stakeholders have: while textual descriptions
of processes are well-suited for non-technical members, they are less appropriate
for describing precise aspects of the underlying process [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In contrast, formal
and graphical process notations (e.g., BPMN) are unambiguous representations
which can be the basis for automating the corresponding processes within the
organization [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but they are oriented to specialized members. In this context,
due to the evolving nature of processes, there is a high risk of having
deviations between the di↵erent representations, a problem that may have serious
consequences for any organization [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In the last decade, the field of Natural Language Processing (NLP) has
become mature enough to provide text analysis accuracies accurate enough for
a variety of applications. Currently, there are several powerful open-source
libraries [
        <xref ref-type="bibr" rid="ref4 ref5 ref6 ref7">4,5,6,7</xref>
        ] that can be easily integrated into any software project, turning
linguistic analysis into a commodity in application contexts such as BPM.
      </p>
      <p>There are several approaches one might consider in order to automate dealing
with consistency issues in multiple representations. One approach is to
generate a textual description in natural language using the most up-to-date process
model. There is also the complementary technique, converting the textual
description into a formal process model. The third approach consists on performing
a comparison of two existing process representations.</p>
      <p>
        In this paper, we introduce NLP4BPM, an online platform o↵ering NLP
based services for the aforementioned BPM use-cases: Converting between
several process model representations as well as comparing process models between
themselves and to textual descriptions. The interface presented covers
adaptations or modifications of techniques that have appeared in the last years [
        <xref ref-type="bibr" rid="ref1 ref8 ref9">1,8,9</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Tool Description</title>
      <p>
        The tool we present o↵ers several functionalities in the context of semantic
understanding of business processes, all of which use natural language processing
techniques:
Text2BPMN: Converts a textual description into a BPMN process model.
BPMN2Text: Converts a BPMN process model into a textual description.
BPMNvsText: Computes an alignment between a model and a textual
description in order to compare them. An alingment is a mapping between
tasks in the model and sentences in the text. The implementation follows
the technique presented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
BPMNvsBPMN: Computes an alignment between two di↵erent BPMN
models. Here the alignment is between the set of tasks of the two process models.
The technique implemented in this module are based on Relaxation Labeling
algorithms.
      </p>
      <p>The di↵erent techniques are developed as independent modules and unified
under the same graphical interface, which is presented in a user-friendly manner.
A screencast of the tool can be found at https://youtu.be/mAsXnEBQMx0
2.1</p>
      <sec id="sec-2-1">
        <title>Architecture and Maturity</title>
        <p>An overview of the architecture of the project can be seen in Figure 1. The
core of the application are the four main modules, implemented as separate
Java projects. The graphical interface is build as a JavaServer Faces (JSF) web
application which integrates the four main modules, and provides a global
configuration interface to all of them. By using the JSF framework, we obtain a
robust way to integrate Java code into a responsive web application that can be
accessed from all kinds of devices: From personal computers to smartphones.</p>
        <p>
          At the very core of all four techniques, there is natural language
processing. In order to o↵er a scalable, robust system, we forward the NLP tasks
to TextServer 1, a distributed REST-like web service running FreeLing [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]
underneath2. The communication between any of the modules and TextServer is
through a JSON API.
        </p>
        <p>The tool is currently under heavy development with the four main modules
being improved. The comparison modules: BPMNvsBPMN and BPMNvsText
are currently at a stable state, while the translation ones: BPMN2Text and
Text2BPMN are early prototypes still being improved.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Usage and Example</title>
        <p>The NLP4BPM web application is available from nlp4bpm.cs.upc.edu. After
login, a main menu is shown to the user with four tabs corresponding to each of
the described modules, as seen in Figure 2.
The left menu contains the configuration parameters of each algorithm. The
configurations vary for each module, but all share a set of common parameters:
Language Due to FreeLing’s multi-language support, our tool also provides
support for performing tasks on many languages besides English, among
which we can find Spanish, French or German. Note that this feature is
under construction for some of the modules.</p>
        <p>Input Files The supported input files are BPMN XML files for the process
models and raw text files for the textual descriptions. Additional format
support is planned as a future extension for several rich document formats as
well as di↵erent process model notations. Also, the support for the (recently
IEEE standard) XES event logs format will be added soon. The users can
upload their own input files or use one of the provided examples.</p>
        <p>The four modules o↵er a very similar interface. Once the user has set the
module-specific parameters and specified the textual description and/or BPMN
model, the Execute button runs the corresponding algorithm.
1 textserver.cs.upc.edu/textserver
2 nlp.cs.upc.edu/freeling</p>
        <p>In the translation modules, the user is shown the resulting BPMN model
or textual description, which is saved in the user’s online directory and can
be downloaded. In the comparison models, a graphical representation of the
comparison is shown to the user.</p>
        <p>Figure 3 shows an example of the resulting comparison from the
BPMNvsText module. A BPMN process model is shown with its tasks and gateways
highlighted in colors. The colors code is used on the sentences below, in order
to show the alignment. For additional information, the user can click one of
the matchings to get information about which linguistic features were found in
common for the sentence and the task.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Significance for the BPM Field</title>
      <p>By providing an easy-to-use environment for the transformation and comparison
of process descriptions, organizations can reach an unprecedented process
awareness. This may be crucial to avoid wrong expectations on the processes within
a company, but also to ensure all the important agents running these processes
are aligned.</p>
      <p>
        We also foresee interesting applications of the environment proposed. For
instance, the environment can be used to assist in the process of process
modeling [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Leopold</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polyvyanyy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Supporting process model validation through natural language generation</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          .
          <volume>40</volume>
          (
          <issue>8</issue>
          ) (
          <year>2014</year>
          )
          <fpage>818</fpage>
          -
          <lpage>840</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosa</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <source>Fundamentals of Business Process Management</source>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>van der Aa</surname>
          </string-name>
          , H.,
          <string-name>
            <surname>Leopold</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mannhardt</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>On the fragmentation of process information: Challenges, solutions, and outlook</article-title>
          .
          <source>In: Enterprise, BusinessProcess and Information Systems Modeling - 16th International Conference, BPMDS</source>
          <year>2015</year>
          , 20th International Conference,
          <source>EMMSAD 2015, Held at CAiSE</source>
          <year>2015</year>
          , Stockholm, Sweden (
          <year>June 2015</year>
          )
          <fpage>3</fpage>
          -
          <lpage>18</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Manning</surname>
            ,
            <given-names>C.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Surdeanu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Finkel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bethard</surname>
            ,
            <given-names>S.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McClosky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The Stanford CoreNLP natural language processing toolkit</article-title>
          . In:
          <article-title>Association for Computational Linguistics (ACL) System Demonstrations</article-title>
          . (
          <year>2014</year>
          )
          <fpage>55</fpage>
          -
          <lpage>60</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Padro´,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Stanilovsky</surname>
          </string-name>
          , E.:
          <article-title>Freeling 3.0: Towards wider multilinguality</article-title>
          .
          <source>In: Proceedings of the Eighth International Conference on Language Resources and Evaluation</source>
          ,
          <string-name>
            <surname>LREC</surname>
          </string-name>
          , Istanbul, Turkey (May
          <year>2012</year>
          )
          <fpage>2473</fpage>
          -
          <lpage>2479</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bird</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loper</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ewan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Natural Language Processing with Python. O'Reilly Media Inc</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Apache</given-names>
            <surname>Software</surname>
          </string-name>
          <article-title>Foundation: Apache OpenNLP</article-title>
          . opennlp.apache.org (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Friedrich</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puhlmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Process model generation from natural language text</article-title>
          .
          <source>In: Advanced Information Systems</source>
          Engineering - 23rd International Conference, CAiSE
          <year>2011</year>
          , London, UK, June 20-24,
          <year>2011</year>
          . Proceedings. (
          <year>2011</year>
          )
          <fpage>482</fpage>
          -
          <lpage>496</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sa</surname>
          </string-name>
          <article-title>`nchez-</article-title>
          <string-name>
            <surname>Ferreres</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmona</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Padro´,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>Aligning textual and graphical descriptions of processes through ILP techniques</article-title>
          .
          <source>In: Advanced Information Systems</source>
          Engineering - 29th International Conference, CAiSE
          <year>2017</year>
          , Essen, Germany, June 12-16,
          <year>2017</year>
          , Proceedings. (
          <year>2017</year>
          )
          <fpage>413</fpage>
          -
          <lpage>427</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Investigating the process of process modeling: Towards an in-depth understanding of how process models are created</article-title>
          .
          <source>In: 18th IEEE International Enterprise Distributed Object Computing Conference, EDOC</source>
          <year>2014</year>
          , Ulm, Germany, September 1-
          <issue>5</issue>
          ,
          <year>2014</year>
          . (
          <year>2014</year>
          )
          <fpage>180</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>