obtaining natural language descriptions of process specifications

20
Obtaining Natural Language Descriptions of Process Specif i cations Final Presentation 04.02.2010 Business Processes in the Real World 2009 Manuel Blechschmidt Supervisor: Artem Polyvyanyy

Upload: manuel-blechschmidt

Post on 23-Jun-2015

307 views

Category:

Technology


0 download

DESCRIPTION

This presentation will describe a way to automatically derive text description from business process models. The text generation is based on a graph decomposition algorithm which generates a data structure containing the single-entry and single-exit parts of the graph. This tree structure is traversed recursively and text is generated according to the different fragment types. The text patterns are based on characteris- tics of the given fragments. Further some additional constructs like text annotations and events are taken into account for the text generation process. The algorithm has shown in an experiment that the text is un- derstandable and humans are able to redraw the process. The result only differs in some minor details from the original.

TRANSCRIPT

Page 1: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifi cations 

Final Presentation 04.02.2010Business Processes in the Real World 2009

Manuel BlechschmidtSupervisor: Artem Polyvyanyy

Page 2: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

2

Model to Text Transformation

The process starts with the "read order" task. The business flow continues on split "a" with 3 parallel actions: First branch starts with do "check customer status" task and execute "print invoice". If condition "did customer status change?" holds then fulfill the "send letter to customer that his status was upgraded" task. Work on the "receive money from customer" task. The branch is finished. Second branch starts with do the "send customer coupon for next order" task. The branch is finished. Third branch starts with execute the "print packing slip" task. Repeat fulfill "get product from warehouse" task, afterwards do "envelope product with security foil" and finally do "put product in package until "all products in package?" condition holds. Work on the "close package and secure it with tape" task. The branch is finished. Join on split "a". The process is getting now a bit more complex and it has to be decided between 2 branches. First branch starts with do "ask dhl for shipping conditions" task. Afterwards follows merge point: "G1". Continue on branch. Execute "bring package to dhl" task. The branch is finished. Second branch starts with fulfill "ask ups for shipping conditions" task. The process reaches split "G0". It has to be decided to go to merge: "G1" or stay on the branch. Work on "bring package to ups" task. The branch is finished. Complex part is over. Continue with single flow. Do "wait a week" task and execute "check that package arrived".

Page 3: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

3

Motivation

■ Text is understandable by anyone who is able to read(In germany ~100% worldwide 79% Source: OECD)

■ Text can be dispayed by small or old devices

■ Text can be used as labels for abstracted parts

■ Text can be kept in sync with visual diagram

■ Text can be further processed:

□ Text to speech

□ Language translations

Page 4: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

4

Live Demonstration

DEMO

Page 5: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

5

Which part of BPMN is supported in the generation process

■ The most common constructs which are used in over 50% of the bpmn models are [1]:

□ Sequence Flow, Task, End Event, and Start Event.

■ Sequence Flow, Task, End Event, Start Event, XOR Gateways and AND Gateways will be supported during text generation

■ In if and repeat-until cases text annotations will be used

Page 6: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

6

Pseudo algorithm for text generation

■ Map structural patterns to linguistic patterns

■ Normalize BPMN diagram according to specification

■ Decompose business process into a parse tree with a structural extraction algorithm like SPQR [3]

■ Annotate additional information like child count and maximal depth of tree

■ Go recursively through the tree

□ Check the type of fragment you are passing at the moment– Based on the fragment apply linguistic patterns

□ Continue in the tree

Page 7: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

7

Fragment types

Page 8: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

8

Levels of complexity

■ S, P and R can have different dimensions of complexity

■ Found Dimensions:

□ (S,P,R) Amount of nodes

□ (S,P,R) Containess of other structures

□ (P,R) Number of branches– (P,R) Flow direction

□ (P,R) Used Gateway types

■ With these dimensions classes can be defined which will be mapped to different patterns

Page 9: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

9

Mapping fragments to text – Q (trivial)

■ [X] “a”.

■ Replace [X] with synonym of “do”

■ Special handling

□ Start and End Events

□ Gateways

□ In rigid fragment

Page 10: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

10

Mapping fragments to text - S (serial)

Class of serials without inner structure

2 nodes more then 2 nodes

Do „A“, [then execute „B“]+ and finally work on „C“

Class of serials with inner structure

Do „A“ continue with „C“

Do „A“. [TextForPFragment] Do „C“.

Page 11: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

11

Mapping fragments to text – P (parallel)

GatewayXOR AND

Directconnection fromstart to end. (If)

Directconnection fromend to start.(repeat)

Do „A“ or do „B“ Do „A“ and do „B“ in parallel

if „condition“do „A“

repeat „A“ until „repeat-until-condition“

Page 12: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

12

Mapping fragments to text – R (rigid)

■ Hypothesis:

□ Context changes are unproductive

■ Go through the rigid fragment in a depth-first-approach and mention the task in the order they appear

■ Possible heuristics:

□ Inline small context changes

□ Use diagram positions for heuristics

Page 13: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

13

Experiment

■ The text shown on the first slide was given to the seminar students and the employees of the business process technology members with the request to recreate the business process

■ The most common mistake was that the repeat until loop was not correctly painted. Further start and end events where omitted.

■ Further a some of the participants feld free to add additional bpmn constructs which were not supported by the model to text engine yet

Page 14: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

14

Conclusion and Outlook

■ An approach for generating text from bpmn model was shown

■ The algorithm maps structural patterns of process graphs to textual patterns

■ For the example process with a small experiment it could be shown that the text is quite understandable

■ Next Steps

□ Evaluate more models

□ Refine lingustic patterns

□ Extend language coverage

Page 15: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

15

References

[1] zur Muehlen, Michael and Recker, Jan C. (2008): How Much Language is Enough? Theoretical and Practical Use of the Business Process Modeling Notation . In Proceedings 20th International Conference on Advanced Information Systems Engineering, Montpellier, France.

[2] Core Set of BPMN Elements http://www.bpmn.org/Samples/Elements/Core_BPMN_Elements.htm

[3] Artem Polyvyanyy, Sergey Smirnov, and Mathias Weske: The Triconnected Abstraction of Process Models

[4] Jussi Vanhatalo, Hagen Völzer, and Jana Koehler: The Refined Process Structure Tree

[5] Henrik Leopold (2010): Automatic Detection and Correction of Label Quality in EPCs

Page 16: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

16

Architecture

Page 17: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

17

Agenda

■ Motivation

■ Pseudo algorithm for text generation

■ Architecture

■ Evaluation

■ Further Research

■ Discussion

Page 18: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

18

Parts of the tree which are generated

S - (3,11) : [(6,10), (10,11), (4,5), (3,4), (6,5), (8,7), (7,6), (9,8), (5,9)] C: 11 D: 0 MD: 3

Q - (3,4) : [(3,4)] C: 0 D: 1 MD: 0

Q - (4,5) : [(4,5)] C: 0 D: 1 MD: 0

P - (5,6) : [(6,5), (8,7), (7,6), (9,8), (5,9)] C: 6 D: 1 MD: 2

Q - (6,5) : [(6,5)] C: 0 D: 2 MD: 0

S - (5,6) : [(8,7), (7,6), (9,8), (5,9)] C: 4 D: 2 MD: 1

Q - (5,9) : [(5,9)] C: 0 D: 3 MD: 0

Q - (9,8) : [(9,8)] C: 0 D: 3 MD: 0

Q - (8,7) : [(8,7)] C: 0 D: 3 MD: 0

Q - (7,6) : [(7,6)] C: 0 D: 3 MD: 0

Q - (6,10) : [(6,10)] C: 0 D: 1 MD: 0

Q - (10,11) : [(10,11)] C: 0 D: 1 MD: 0

Page 19: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

19

Evaluation

Page 20: Obtaining Natural Language Descriptions of Process Specifications

Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009

20

Evaluation