obtaining natural language descriptions of process specifications
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
Obtaining Natural Language Descriptions of Process Specifi cations
Final Presentation 04.02.2010Business Processes in the Real World 2009
Manuel BlechschmidtSupervisor: Artem Polyvyanyy
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".
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
Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009
4
Live Demonstration
DEMO
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
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
Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009
7
Fragment types
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
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
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“.
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“
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
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
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
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
Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009
16
Architecture
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
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
Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009
19
Evaluation
Obtaining Natural Language Descriptions of Process Specifications | Manuel Blechschmidt | 04.02.2010 | 13. November 2009
20
Evaluation