Communications in Computer and Information Science
87
Filip Zavoral Jakub Yaghob Pit Pichappan Eyas El-Qawasmeh (Eds.)
Networked Digital Technologies Second International Conference, NDT 2010 Prague, Czech Republic, July 7-9, 2010 Proceedings, Part I
13
Volume Editors Filip Zavoral Charles University Prague, Czech Republic E-mail:
[email protected] Jakub Yaghob Charles University Prague, Czech Republic E-mail:
[email protected] Pit Pichappan Al Imam University Riyadh, Saudi Arabia E-mail:
[email protected] Eyas El-Qawasmeh Jordan University of Science and Technology Irbid, Jordan E-mail:
[email protected]
Library of Congress Control Number: Applied for CR Subject Classification (1998): H.4, C.2, H.3, I.2, D.2, H.5 ISSN ISBN-10 ISBN-13
1865-0929 3-642-14291-5 Springer Berlin Heidelberg New York 978-3-642-14291-8 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. springer.com © Springer-Verlag Berlin Heidelberg 2010 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper 06/3180 543210
Message from the Chairs
The Second International Conference on ‘Networked Digital Technologies’ (NDT2010)––co-sponsored by Springer––was organized and hosted by the Charles University in Prague, Czech Republic, during July 7–9, 2010 in association with the Digital Information Research Foundation, India. NDT2010 was planned as a major event in the computer and information sciences and served as a forum for scientists and engineers to meet and present their latest research results, ideas, and papers in the diverse areas of Web and Internet technologies, computer science, and information technology. This scientific conference included guest lectures and the presentation of 85 research papers in the technical session. This meeting was a great opportunity to exchange knowledge and experience for all the participants who joined us from all over the world and to discuss new ideas in the area of Web applications. We are grateful to the Charles University in Prague for hosting this conference. We use this occasion to express our thanks to the Technical Committee and to all the external reviewers. We are grateful to Springer for co-sponsoring the event. Finally, we would like to thank all the participants and sponsors.
May 2010
Filip Zavoral Mark Wachowiak Jakub Yaghob Veli Hakkoymaz
Preface
On behalf of the NDT 2010 conference, the Program Committee and Charles University in Prague, Czech Republic, we welcome you to the proceedings of the Second International Conference on ‘Networked Digital Technologies’ (NDT 2010). The NDT 2010 conference explored new advances in digital and Web technology applications. It brought together researchers from various areas of computer and information sciences who addressed both theoretical and applied aspects of Web technology and Internet applications. We hope that the discussions and exchange of ideas that took place will contribute to advancements in the technology in the near future. The conference received 216 papers, out of which 85 were accepted, resulting in an acceptance rate of 39%. These accepted papers are authored by researchers from 34 countries covering many significant areas of Web applications. Each paper was evaluated by a minimum of two reviewers. Finally, we believe that the proceedings document the best research in the studied areas. We express our thanks to the Charles University in Prague, Springer, the authors and the organizers of the conference.
May 2010
Filip Zavoral Mark Wachowiak Jakub Yaghob Veli Hakkoymaz
Organization
General Chairs Filip Zavoral Mark Wachowiak
Charles University, Czech Republic Nipissing University, Canada
Program Chairs Jakub Yaghob Veli Hakkoymaz
Charles University, Czech Republic Fatih University, Turkey
Program Co-chairs Noraziah Ahmad Yoshiro Imai Eyas El-Qawasmeh
University Malaysia Pahang, Malaysia Kagwa University, Japan Jordan University of Science and Technology, Jordan
Publicity Chair Maytham Safar
Kuwait University, Kuwait
Proceedings Chair Pit Pichappan
Al Imam University, Saudi Arabia
Table of Contents – Part I
Information and Data Management A New Approach for Fingerprint Matching Using Logic Synthesis . . . . . . Fatih Ba¸sc¸ift¸ci and Celal Karaca
1
Extracting Fuzzy Rules to Classify Motor Imagery Based on a Neural Network with Weighted Fuzzy Membership Functions . . . . . . . . . . . . . . . . . Sang-Hong Lee, Joon S. Lim, and Dong-Kun Shin
7
Distributed Data-Mining in the LISp-Miner System Using Techila Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ˇ unek and Teppo Tammisto Milan Sim˚
15
Non-negative Matrix Factorization on GPU . . . . . . . . . . . . . . . . . . . . . . . . . Jan Platoˇs, Petr Gajdoˇs, Pavel Kr¨ omer, and V´ aclav Sn´ aˇsel
21
Chatbot Enhanced Algorithms: A Case Study on Implementation in Bahasa Malaysia Human Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abbas Saliimi Lokman and Jasni Mohamad Zain
31
Handwritten Digits Recognition Based on Swarm Optimization Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Salima Nebti and Abdellah Boukerram
45
A Framework of Dashboard System for Higher Education Using Graph-Based Visualization Technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wan Maseri Binti Wan Mohd, Abdullah Embong, and Jasni Mohd Zain An Efficient Indexing and Compressing Scheme for XML Query Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-En Liao, Wen-Chiao Hsu, and Yu-Lin Chen
55
70
Development of a New Compression Scheme . . . . . . . . . . . . . . . . . . . . . . . . . Eyas El-Qawasmeh, Ahmed Mansour, and Mohammad Al-Towiq
85
Compression of Layered Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bruno Carpentieri
91
Classifier Hypothesis Generation Using Visual Analysis Methods . . . . . . . Christin Seifert, Vedran Sabol, and Michael Granitzer
98
Exploiting Punctuations along with Sliding Windows to Optimize STREAM Data Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lokesh Tiwari and Hamid Shahnasser
112
XII
Table of Contents – Part I
A Framework for In-House Prediction Markets . . . . . . . . . . . . . . . . . . . . . . . Miguel Velacso and Nenad Jukic Road Region Extraction Based on Motion Information and Seeded Region Growing for Foreground Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . Hongwu Qin, Jasni Mohamad Zain, Xiuqin Ma, and Tao Hai Process Mining Approach to Promote Business Intelligence in Iranian Detectives’ Police . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mehdi Ghazanfari, Mohammad Fathian, Mostafa Jafari, and Saeed Rouhani Copyright Protection of Relational Database Systems . . . . . . . . . . . . . . . . . Ali Al-Haj, Ashraf Odeh, and Shadi Masadeh Resolving Semantic Interoperability Challenges in XML Schema Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chiw Yi Lee, Hamidah Ibrahim, Mohamed Othman, and Razali Yaakob Some Results in Bipolar-Valued Fuzzy BCK/BCI-Algebras . . . . . . . . . . . A. Borumand Saeid and M. Kuchaki Rafsanjani
120
128
135
143
151
163
Security The Effect of Attentiveness on Information Security . . . . . . . . . . . . . . . . . . Adeeb M. Alhomoud
169
A Secured Mobile Payment Model for Developing Markets . . . . . . . . . . . . Bossi Masamila, Fredrick Mtenzi, Jafari Said, and Rose Tinabo
175
Security Mapping to Enhance Matching Fine-Grained Security Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monia Ben Brahim, Maher Ben Jemaa, and Mohamed Jmaiel
183
Implementation and Evaluation of Fast Parallel Packet Filters on a Cell Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yoshiyuki Yamashita and Masato Tsuru
197
On the Algebraic Expression of the AES S-Box Like S-Boxes . . . . . . . . . . M. Tolga Sakallı, Bora Aslan, Ercan Bulu¸s, Andac S ¸ ahin Mesut, Fatma B¨ uy¨ uksara¸co˘glu, and Osman Karaahmeto˘glu
213
Student’s Polls for Teaching Quality Evaluation as an Electronic Voting System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marcin Kucharczyk
228
An Improved Estimation of the RSA Quantum Breaking Success Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Piotr Zawadzki
234
Table of Contents – Part I
Mining Bluetooth Attacks in Smart Phones . . . . . . . . . . . . . . . . . . . . . . . . . Seyed Morteza Babamir, Reyhane Nowrouzi, and Hadi Naseri
XIII
241
Users’ Acceptance of Secure Biometrics Authentication System: Reliability and Validate of an Extended UTAUT Model . . . . . . . . . . . . . . . Fahad AL-Harby, Rami Qahwaji, and Mumtaz Kamala
254
Two Dimensional Labelled Security Model with Partially Trusted Subjects and Its Enforcement Using SELinux DTE Mechanism . . . . . . . . Jaroslav Jan´ aˇcek
259
A Roaming-Based Anonymous Authentication Scheme in Multi-domains Vehicular Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chih-Hung Wang and Po-Chin Lee
273
Human Authentication Using FingerIris Algorithm Based on Statistical Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ahmed B. Elmadani
288
Aerial Threat Perception Architecture Using Data Mining . . . . . . . . . . . . . M. Anwar-ul-Haq, Asad Waqar Malik, and Shoab A. Khan
297
Payload Encoding for Secure Extraction Process in Multiple Frequency Domain Steganography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Raoof Smko, Abdelsalam Almarimi, and K. Negrat
306
An Implementation of Digital Image Watermarking Based on Particle Swarm Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hai Tao, Jasni Mohamad Zain, Ahmed N. Abd Alla, and Qin Hongwu
314
Genetic Cryptanalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abdelwadood Mesleh, Bilal Zahran, Anwar Al-Abadi, Samer Hamed, Nawal Al-Zabin, Heba Bargouthi, and Iman Maharmeh
321
Multiple Layer Reversible Images Watermarking Using Enhancement of Difference Expansion Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shahidan M. Abdullah and Azizah A. Manaf
333
Modeling and Analysis of Reconfigurable Systems Using Flexible Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laid Kahloul, Allaoua Chaoui, and Karim Djouani
343
Using Privilege Chain for Access Control and Trustiness of Resources in Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jong P. Yoon and Z. Chen
358
XIV
Table of Contents – Part I
Social Networks Modeling of Trust to Provide Users Assisted Secure Actions in Online Communities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lenuta Alboaie and Mircea-F. Vaida
369
A Collaborative Social Decision Model for Digital Content Credibility Improvement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Yuan-Chu Hwang
383
Improving Similarity-Based Methods for Information Propagation on Social Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Francesco Buccafurri and Gianluca Lax
391
Approaches to Privacy Protection in Location-Based Services . . . . . . . . . . Anna Rohunen and Jouni Markkula Social Media as Means for Company Communication and Service Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elina Annanper¨ a and Jouni Markkula A Problem-Centered Collaborative Tutoring System for Teachers Lifelong Learning: Knowledge Sharing to Solve Practical Professional Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thierry Condamines Bridging the Gap between Web 2.0 Technologies and Social Computing Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Giorgos Kormaris and Marco Spruit
402
410
420
430
Ontology Using Similarity Values for Ontology Matching in the Grid . . . . . . . . . . . . Axel Tenschert Rapid Creation and Deployment of Communities of Interest Using the CMap Ontology Editor and the KAoS Policy Services Framework . . . . . . Andrzej Uszok, Jeffrey M. Bradshaw, Tom Eskridge, and James Hanna
444
451
Incorporating Semantics into an Intelligent Clothes Search System Using Ontology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ching-I Cheng, Damon Shing-Min Liu, and Li-Ting Chen
467
SPPODL: Semantic Peer Profile Based on Ontology and Description Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Younes Djaghloul and Zizette Boufaida
473
Table of Contents – Part I
Ontology Based Tracking and Propagation of Provenance Metadata . . . . Miroslav Vacura and Vojtˇech Sv´ atek
XV
489
Real Time Biometric Solutions for Networked Society A Real-Time In-Air Signature Biometric Technique Using a Mobile Device Embedding an Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ J. Guerra Casanova, C. S´ anchez Avila, A. de Santos Sierra, G. Bailador del Pozo, and V. Jara Vera On-Demand Biometric Authentication of Computer Users Using Brain Waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Isao Nakanishi and Chisei Miyamoto Encrypting Fingerprint Minutiae Templates by Random Quantization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bian Yang, Davrondzhon Gafurov, Christoph Busch, and Patrick Bours
497
504
515
Web Applications Method for Countering Social Bookmarking Pollution using User Similarities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Takahiro Hatanaka and Hiroyuki Hisamatsu
523
A Human Readable Platform Independent Domain Specific Language for WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Balazs Simon and Balazs Goldschmidt
529
A Human Readable Platform Independent Domain Specific Language for BPEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Balazs Simon, Balazs Goldschmidt, and Karoly Kondorosi
537
Impact of the Multimedia Traffic Sources in a Network Node Using FIFO scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tatiana Annoni Pazeto, Renato Moraes Silva, and Shusaburo Motoyama
545
Assessing the LCC Websites Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saleh Alwahaishi and V´ aclav Sn´ aˇsel
556
Expediency Heuristic in University Conference Webpage . . . . . . . . . . . . . . Roslina Mohd Sidek, Noraziah Ahmad, Mohamad Fadel Jamil Klaib, and Mohd Helmy Abd Wahab
566
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
577
Table of Contents – Part II
Green Computing and Health Care Informatics Lot-Size Planning with Non-linear Cost Functions Supporting Environmental Sustainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Markus Heck and Guenter Schmidt Electronic Health Record (Dossier M´edical Personnel) as a Major Tool to Improve Healthcare in France: An Approach through the Situational Semiotic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Christian Bourret Data Mining Technique for Medical Diagnosis Using a New Smooth Support Vector Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Santi Wulan Purnami, Jasni Mohamad Zain, and Abdullah Embong
1
7
15
Rule Induction as a Technique in Genomic Analysis for Cancer . . . . . . . . M. Adib, Md. Mosharrof Hossain Sarker, S. Syed Ahmed, Ezendu Ariwa, and Fuzail Siddiqui
28
Clustering Analysis for Vasculitic Diseases . . . . . . . . . . . . . . . . . . . . . . . . . . Pınar Yıldırım, Cınar ¸ Ceken, ¸ Ka˘gan Ceken, ¸ and Mehmet R. Tolun
36
Analysis on the Characteristics of Electroencephalogram (EEG) and the Duration of Acupuncture Efficacy, Depending on the Stimulation at the Acupuncture Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jeong-Hoon Shin and Dae-Hyeon Park
46
Web Services Architecture, Modeling and Design Open Service Platform Based Context-Aware Services across Home . . . . . Jin-Neng Wu and Yu-Chang Chao
60
Web Services Testing Approaches: A Survey and a Classification . . . . . . . Mohamad I. Ladan
70
Benefits of Semantics on Web Service Composition from a Complex Network Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chantal Cherifi, Vincent Labatut, and Jean-Fran¸cois Santucci
80
Development Tool for End-to-End QoS Sensitive Frameworks and Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bogdan Iancu, Adrian Peculea, and Vasile Teodor Dadarlat
91
XVIII
Table of Contents – Part II
Learning-Based Call Admission Control Framework for QoS Management in Heterogeneous Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abul Bashar, Gerard Parr, Sally McClean, Bryan Scotney, and Detlef Nauck
99
A Multi-Objective Particle Swarm Optimization for Web Service Composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hamed Rezaie, Naser NematBaksh, and Farhad Mardukhi
112
A Comparison between EJB and COM+ Business Components, Case Study: Response Time and Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Abedulhaq Abu-Kamel, Raid Zaghal, and Osama Hamed
123
Integration of Similar Location Based Services Proposed by Several Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Roula Karam, Franck Favetta, Rima Kilany, and Robert Laurini
136
Distributed and Parallel Computing A Central Management for Reducing Volumes of Data Harvested from Distributed Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Min-hwan Ok and Duck-shin Park A Trial Evaluation of Distributed Campus Network Environment Based on Comparison of Theoretical and Real Performance of Packet Flow Amount Using Video Transmission System . . . . . . . . . . . . . . . . . . . . . . . . . . Yoshiro Imai, Yukio Hori, Kazuyoshi Kawauchi, Mayumi Kondo, Toshikazu Sone, Yoshitaka Seno, Nobue Kawada, Shinobu Tada, Miho Yokoyama, and Rieko Miki Locality Preserving Scheme of Text Databases Representative in Distributed Information Retrieval Systems . . . . . . . . . . . . . . . . . . . . . . . . . . Mohammad Hassan and Yaser Hasan
145
152
162
Neural Networks Solving the Problem of Flow Shop Scheduling by Neural Network Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saeed Rouhani, Mohammad Fathian, Mostafa Jafari, and Peyman Akhavan Artificial Neural Network-Based Algorithm for ARMA Model Order Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Khaled E. Al-Qawasmi, Adnan M. Al-Smadi, and Alaa Al-Hamami
172
184
Table of Contents – Part II
Efficient Substructure Preserving MOR Using Real-Time Temporal Supervised Neural Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Othman M.K. Alsmadi, Zaer. S. Abo-Hammour, and Adnan M. Al-Smadi
XIX
193
E-Learning Dynamic Properties of Knowledge Networks and Student Profile in e-Learning Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Radoslav Fasuga, Libor Holub, and Michal Radeck´y
203
An Optimized Cost-Benefit Analysis for the Evaluation in E-Learning Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gianni Fenu and Massimiliano Picconi
215
Services Recommendation in Systems Based on Service Oriented Architecture by Applying Modified ROCK Algorithm . . . . . . . . . . . . . . . . . Agnieszka Prusiewicz and Maciej Zieba
226
Web Mining Mining Website Log to Improve Its Findability . . . . . . . . . . . . . . . . . . . . . . Jiann-Cherng Shieh
239
Mining Relations between Wikipedia Categories . . . . . . . . . . . . . . . . . . . . . Julian Szyma´ nski
248
Web Document Classification by Keywords Using Random Forests . . . . . Myungsook Klassen and Nikhila Paturi
256
Wireless Networks Minimizing the Effects of Multi-rate WLANs by Adapting Link Adaptation and Call Admission Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . M. Fatih T¨ uys¨ uz and Hacı A. Mantar Marmot: A Novel Low-Power Platform for WSNs . . . . . . . . . . . . . . . . . . . . P´eter V¨ olgyesi, J´ anos Sallai, S´ andor Szilv´ asi, Prabal Dutta, and ´ Akos L´edeczi Steerable Distributed Large-Aperture Audio Array Using Low-Power Wireless Acoustic Sensor Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ J´ anos Sallai, Akos L´edeczi, Xenofon Koutsoukos, and P´eter Volgyesi An Experimental Wireless Platform for Acoustic Source Localization . . . S´ andor Szilv´ asi and P´eter V¨ olgyesi
262
274
281
289
XX
Table of Contents – Part II
A Simulation Discipline in OpenUP to Satisfy Wireless Sensor Networks Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gian Ricardo Berkenbrock and Celso Massaki Hirata
295
Architecture for Interoperability between Instant Messaging and Presence Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Patricia E. Figueroa and Jes´ us A. P´erez
306
An Approach towards Time Synchronization Based Secure Protocol for Wireless Sensor Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arun Kumar Tripathi and Ajay Agarwal
321
Intelligent Agent Based Systems, Cognitive and Reactive AI Systems Agent Behavior Diagram for Intelligent Agents . . . . . . . . . . . . . . . . . . . . . . Michal Radeck´ y, Petr Gajdoˇs, and Radoslav Fasuga Multi-agent System Environment Based on Repeated Local Effect Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kazuho Igoshi, Takao Miura, and Isamu Shioya
333
342
Hierarchical Model of Trust in Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jan Samek and Frantisek Zboril
356
Multi-Agent Linear Array Sensors Modeling . . . . . . . . . . . . . . . . . . . . . . . . . Benadda Belkacem and Fethi Tarik Bendimerad
366
A Framework for Intelligent Games . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diana F. Adamatti
376
Agent-Based Digital Networking in Furniture Manufacturing Enterprises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anthony Karageorgos, Dimitra Avramouli, Christos Tjortjis, and Georgios Ntalos Detecting Malwares in Honeynet Using a Multi-agent System . . . . . . . . . . Michal Szczepanik and Ireneusz J´ o´zwiak Reputation Model with Forgiveness Factor for Semi-competitive E-Business Agent Societies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Radu Burete, Amelia B˘ adic˘ a, and Costin B˘ adic˘ a RoadMic: Road Surface Monitoring Using Vehicular Sensor Networks with Microphones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Artis Mednis, Girts Strazdins, Martins Liepins, Andris Gordjusins, and Leo Selavo
381
396
402
417
Table of Contents – Part II
Model Generated Interface for Modeling and Applying Decisional Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thomas Tamisier, Yoann Didry, Olivier Parisot, J´erˆ ome Wax, and Fernand Feltz
XXI
430
Information and Data Management Directed Graph Representation and Traversal in Relational Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mohammad Beydoun and Ramzi A. Haraty
443
Transferring Clinical Information between Heterogeneous Hospital Database Systems in P2P Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Meghdad Mirabi, Hamidah Ibrahim, and Leila Fathi
456
Lowest Data Replication Storage of Binary Vote Assignment Data Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Noraziah Ahmad, Ainul Azila Che Fauzi, Roslina Mohd. Sidek, Noriyani Mat Zin, and Abul Hashem Beg The Location Path to Hell Is Paved With Unoptimized Axes: XPath Implementation Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Martin Kruliˇs and Jakub Yaghob Neighbour Replica Transaction Failure Framework in Data Grid . . . . . . . Noraziah Ahmad, Noriyani Mat Zin, Roslina Mohd. Sidek, Mohammad Fadel Jamil Klaib, and Mohd. Helmy Abd Wahab Mobile Agent-Based Digital Rights Management Scheme Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bartlomiej Zi´ olkowski and Janusz Stoklosa A Toolkit for Application Deployment on the Grid . . . . . . . . . . . . . . . . . . . Jie Tao and Holger Marten A Parallel Tree Based Strategy for Test Data Generation and Cost Calculation for Pairwise Combinatorial Interaction Testing . . . . . . . . . . . . Mohammad Fadel Jamil Klaib, Sangeetha Muthuraman, Noraziah Ahmad, and Roslina Mohd Sidek Integrity Check for Printed Binary Document Images . . . . . . . . . . . . . . . . . Dave Elliman, Peter Blanchfield, and Ammar Albakaa FACE – A Knowledge-Intensive Case-Based Architecture for Context-Aware Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monica Vladoiu, J¨ org Cassens, and Zoran Constantinescu
466
474
488
496
503
509
523
533
XXII
Table of Contents – Part II
Application of Genetic Algorithm in Automatic Software Testing . . . . . . . Faezeh Sadat Babamir, Alireza Hatamizadeh, Seyed Mehrdad Babamir, Mehdi Dabbaghian, and Ali Norouzi Reliability Optimization of Complex Systems Using Genetic Algorithm under Criticality Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Samer Hamed, Belal Ayyoub, and Nawal Al-Zabin A Novel Technique for ARMA Modelling with Order and Parameter Estimation Using Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zaer. S. Abo-Hammour, Othman M.K. Alsmadi, and Adnan M. Al-Smadi
545
553
564
Networks Metadata Management in P2P over Mobile Ad Hoc Network . . . . . . . . . . Pekka Kaipio and Jouni Markkula
577
Prediction of Network Delay with Variable Standard Deviation, Skewness and Kurtosis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renads Safins
587
A New Computational Model to Evaluate the Quality of Perceptual Voice Using E-Model in VOIP Communications . . . . . . . . . . . . . . . . . . . . . . Meysam Alavi and Hooman Nikmehr
594
Modeling and Verification of RBAC Security Policies Using Colored Petri Nets and CPN-Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Laid Kahloul, Karim Djouani, Walid Tfaili, Allaoua Chaoui, and Yacine Amirat GSM-Based Notification System for Electronic Pigeon Hole . . . . . . . . . . . . Mohd Helmy Abd Wahab, Ahmad Al’ Hafiz Riman, Herdawatie Abdul Kadir, Rahmat Sanudin, Ayob Johari, Roslina Mohd Sidek, and Noraziah Ahmad An Efficient Alert Broadcasting Scheme Considering Various Densities in VANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hyunsook Kim New Secure Communication Protocols for Mobile E-Health System . . . . . M. Aramudhan and K. Mohan Determination of IDS Agent Nodes Based on Three-Tiered Key Management Framework for MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marjan Kuchaki Rafsanjani and Arsham Borumand Saeid On Wind Power Station Production Prediction . . . . . . . . . . . . . . . . . . . . . . Jiˇr´ı Dvorsk´ y, Stanislav Miˇsa ´k, Luk´ aˇs Prokop, and Tadeusz Sikora
604
619
631 639
648 656
Table of Contents – Part II
Packet Count Based Routing Mechanism – A Load Balancing Approach in MANETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bollam Nagarjun, L. Sathish, S. Santhosh Chaitanya, Md. Tanvir Ansari, and Shashikala Tapaswi A Comparative Study of Statistical Feature Reduction Methods for Arabic Text Categorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fouzi Harrag, Eyas El-Qawasmeh, and Abdul Malik S. Al-Salman A Scalable Framework for Serializable XQuery . . . . . . . . . . . . . . . . . . . . . . . Sebastian B¨ achle and Theo H¨ arder Artificial Neural Network Based Technique Compare with “GA” for Web Page Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ali Alarabi and Kamta Nath Mishra
XXIII
669
676 683
699
Generating XForms from an XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . J´ an Kasarda, Martin Neˇcask´ y, and Tom´ aˇs Bartoˇs
706
Semantic Information Retrieval on Peer-to-Peer Networks . . . . . . . . . . . . . Mehmet Ali Ert¨ urk, A. Halim Zaim, and Selim Akyoku¸s
715
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
727
A New Approach for Fingerprint Matching Using Logic Synthesis Fatih Başçiftçi and Celal Karaca Tehncical Education Faculty, Selcuk University, Konya, Turkey
[email protected],
[email protected]
Abstract. In this study, a new approach based on logic synthesis to match feature points from fingerprint images is developed and introduced. For fingerprint matching we propose logic minimization method to make matching process easy and fast. We think that use logic minimization method might be used as a reliable in fingerprint recognition. Keywords: Biometric, fingerprint recognition, logic synthesis.
1 Introduction of Biometrics and Fingerprint A biometric is a physical or psychological feature that can be measured and quantified. This quantified feature can be used to authenticate a person with a degree of certainty by comparing different measurements of this feature. Clearly the degree of certainty depends on the type and quality of the biometric and the authentication algorithm used. Fingerprint biometrics was one of the first biometrics that is used for identification and authentication purposes. It is still widely used in many areas and people accept that fingerprints are unique and can be used for identification. Since it is widely used, it is crucial to have a secure fingerprint authentication system. Generally macro and micro features are used to identify a fingerprint image [1]. Macro features can be seen with the naked eye but to see the micro features, a sensor device is necessary. The most common macro features are ridge patterns as illustrated in Figure 1.On the other hand, common minutia points (i.e. micro features) are ridge ending, ridge bifurcation and dot (or island) as illustrated in Figure 2. Some of the main macro and micro features are marked in Figure 3. In our study, we will work on feature points determined fingerprint image to match feature points between two fingerprint images by using logic minimization. Feature points will be taken an important role for our matching process.
2 Logic Synthesis Two-level logic minimization is a basic problem in logic synthesis [3, 4]. The minimization of Boolean Functions (BFs) can lead to more effective computer programs and circuits. Minimizing functions can be important because, electrical circuits consist of individual components that are implemented for each term or literal for a given function. This allows designers to make use of fewer components, thus reducing the cost of a particular system [5]. F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 1–6, 2010. © Springer-Verlag Berlin Heidelberg 2010
2
F. Başçiftçi and C. Karaca
Arch
Loop
Whorl
Fig. 1. Ridge Patterns
Ridge Ending
Bifurcation
Dot
Fig. 2. Micro Features
Fig. 3. Macro Micro Features
A wide variety of Boolean minimization techniques have been explained in [3-8], most of which work on two-step principles: first, identifying the prime implicants (PIs) of chosen On-minterm and second, determining a set of the essential prime implicants (EPIs). Since the size of the PIs can be as large as 3n/n for a function of n variables. The PIs identification step can become computationally impractical as n increases [4, 6]. In our study, we used logic synthesis to minimize fingerprint points from scanned fingerprint image. Using logic minimization we do not have to match all fingerprint points on the image, we only look at the feature points determined fingerprint image.
A New Approach for Fingerprint Matching Using Logic Synthesis
3
2.1 Minimization Method In order to simplify the given Boolean Function, Exact Direct Cover Minimization Algorithm has been developed. This algorithm is explained in [7]. Exact Direct Cover Minimization Method algorithm is given in below. For shortness and formality of the explanations the following notations are used in the below algorithm. The number of variables of a function: n; Status Word: SW; a set of On-cubes: SON; a set of Off-cubes: SOFF; an element of the set SON to be handled: λ; a set of prime implicants: SPI; a set of essential prime implicants: SEPI; coordinate subtraction (sharp product) operation: #; unite operation: ∪; temporarily used variables: Q0, Q1, α, β. 1. Put SW=∅, 2. Take out the first minterm from SON set, mark it by λ, 3. Transform one by one all of elements of SOFF. Mark it by Q0, 4. Apply the absorption operation to Q0. Mark the result by Q1, 5. Coordinate Subtract the set Q1 from the n dimensional full cube. Mark the result by SPI, 6. Apply the Great or Less operation to SPI set. Note that element α is greater than element β if the set of SON # α is powerless than the set of SON # β, 7. If the result is not single element then SW=SW ∪λ and goto 2 8. If the result is single element then mark it by Essen-
tial Prime Implicant (EPI), 9. Put SON=SON # EPI, SW=SW # EPI, SEPI = SEPI ∪ EPI 10.If SON ≠ ∅ then go to 2 11.If SW = ∅ then END else SON = SW 12.If SON = ∅ and SW ≠ ∅ then CALL BS 13.go to 3 BS 1. Take out the first minterm from SON set, mark it by λ, 2. Transform one by one all of elements of SOFF. Mark it by Q0, 3. Apply the absorption operation to Q0. Mark the result by Q1, 4. Coordinate Subtract the set Q1 from the n dimensional full cube. 5. Apply the Great or Less operation to the elements of SPI set. 6. If the result is single element then mark it by EPI, Otherwise select one of them and mark it by EPI, 7. Put SON = SON # EPI, SEPI = SEPI ∪ EPI, 8. RETURN
4
F. Başçiftçi and C. Karaca
3 Proposed Method A fingerprint is comprised of ridges and valleys. The ridges are the dark area of the fingerprint and the valleys are the white area that exists between the ridges. Many classifications are given to patterns that can arise in the ridges. Process of a scanned fingerprint image have shown at figure 4 (original scanned image), figure 5 (image after cleaning process), figure 6 (lines thinned image) and figure 7 (feature points determined image) [9]. Our work will start after this process.
Fig. 4. Input image
Fig. 5. Cleaned image
Fig. 6. Lines thinned image
Fig. 7. Feature points
In this study we propose a new approach that how logic synthesis works to match feature points determined fingerprints. We choose 10 different points at the scanned fingerprint. The choosed points will use as input values of logic function. Input Values of the logic function: x1, x2, x3, x4, x5, x6, x7, x8, x9, x10 Output Value of the logic function: Y. We choosed 6 different input values as feature points of the fingerprint. If these 6 points match on the fingerprint, our output value: Y is going to be 1; Y=1 that means the fingerprint matches. Otherwise our output value Y: is going to be 0; Y=0 that means the fingerprint does not match. Input and output cases are shown at Table 1. After logic minimization we got simplification input values for function that shown at Table 2. Table 1. Input and output values for function Input
Input Cases
x1
Determined feature point
x2
Feature point
x3
Determined feature point
x4
Feature point
x5
Determined feature point
x6
Feature point
x7
Determined feature point
x8
Feature point
x9
Determined feature point
x10
Determined feature point
Output
Output Cases
Y
Match/not match
A New Approach for Fingerprint Matching Using Logic Synthesis
5
Table 2. Simplification input values for function Output Symbols
Y
Output Cases
Match
1111110000 1000011111 1000101111 1000111101 1000111110 1001001111 1001010111 1001011011 1001011101 1001011110 1001100111 1001101011 1001101101 1001101110 1001110011 1001110101 1001110110 1001111001 1001111010 1001111100
Sample Simplification Functions (x1,x2,x3,x4,x5,x6,x7,x8,x9,x10) 1010001111 1100100111 1101100101 1011010110 1100101011 1101100110 1011011001 1100101101 1101101001 1011011010 1100101110 1101101010 1011011100 1100110011 1101101100 1011100011 1100110101 1101110001 1011100101 1100111001 1101110010 1011100110 1100111010 1101110100 1011101001 1100111100 1101111000 1011101010 1101000111 1110000111 1011101100 1101001011 1110001011 1011110001 1101001101 1110001101 1011110010 1101001110 1110001110 1011110100 1101010011 1110010011 1011111000 1101010101 1110010101 1100001111 1101010110 1110010110 1100010111 1101011001 1110011001 1100011011 1101011010 1110011010 1100011101 1101011100 1110011100 1100011110 1101100011 1110101001
If we look at table 2 for a few examples of input values, how logic function works to recognize fingerprint image. Examples: Successful one: 1001110101 for this input value x1=1, x2=0, x3=0, x4=1, x5=1, x6=1, x7=0, x8=1, x9=0, x10=1 for this case 6 different points are taking value of 1 (x1, x4, x5, x6, x8, x10) and other 4 points are taking value of 0 (x2, x3, x7, x9). For our minimization method, minimum 6 point should get value of 1 for matching. So for this input value (1001110101), our output is going to be 1 that shows the fingerprint matched. Unsuccessful one: 0001110100 for this input value x1=0, x2=0, x3=0, x4=1, x5=1, x6=1, x7=0, x8=1, x9=0, x10=0 for this case 4 different points are taking value of 1 (x4, x5, x6, x8) and other 6 points are taking value of 0 (x1, x2, x3, x7, x9, x10). For our minimization method, minimum 6 point should get value of 1 for matching. So for this input value (1001110101), there are only 4 matched points that is not enough for recognition, so our output is going to be 0 that shows the fingerprint didn’t match.
4 Conclusions In this study we proposed logic minimization method for fingerprint recognition. We have used 10 different fingerprint points for matching scanned fingerprint image. So for logic function there are 210=1024 input values. After logic minimization we got 198 simplification input values. By this method, reduced functions for each input
6
F. Başçiftçi and C. Karaca
have been obtained. So for using logic synthesis we do not have to look all points of a fingerprint image. We only look simplification input values after minimization. For our example, there were 1024 input values at the beginning, after logic minimization we got 198 simplification input values. That means 5 times less than beginning. In conclusion, using logic synthesis for fingerprint recognition systems minimizes time for matching process. We think that use logic minimization method might be used as a reliable in fingerprint recognition.
Acknowledgements This work is supported by the Coordinator ship of Selcuk University’s Scientific Research Projects.
References 1. Reid, P.: Biometrics for Network Security. Prentice-Hall, Englewood Cliffs (2004) 2. Uludag, U., Jain, A.: Securing fingerprint template: Fuzzy vault with helper data. In: Proc. IEEE Workshop on Privacy Research in Vision (PRIV), NY, USA (June 2005) 3. Sasao, T.: Worst and Best Irredundant Sum-of–Product Expressions. IEEE Transactions on Computers 50(9), 935–947 (2001) 4. Mishchenco, A., Sasao, T.: Large-Scale SOP Minimization Using Decomposition and Functional Properties. In: IEEE CNF, Design Automation Conference, Proceedings, June 2-6, pp. 149–154 (2003) 5. Kahramanli, S., Başçiftçi, F.: Boolean Functions Simplification Algorithm of O(N) Complexity. Journal of Mathematical and Computational Applications 8(4), 271–278 (2002) 6. Kahramanlı, Ş., Güneş, S., Şahan, S., Başçiftçi, F.: A New Method Based on Cube Algebra for The Simplification of Logic Functions. The Arabian Journal For Science and Engineering 32(1B), 1–14 (2007) 7. Başçiftçi, F., Kahramanlı, Ş.: An Off-Cubes Expanding Approach to the Problem of Separate Determination of the Essential Prime Implicants of the Single-Output Boolean Functions. In: EUROCON 2007, Warsaw-Poland, September 09-12, pp. 432–438 (2007) ISBN:1-4244 0813-X 8. Brayton, R.K., Hachtel, G.D., McMullen, C.T., Singiovanni-Vincentelli, A.: Logic Algorithms for VLSI Synthesis. Kluwer Academic, Boston (1984) 9. Özkaya, N., Sağıroğlu, Ş.: Minutiate Extraction Based on Artifical Neural Networks for Fingerprint Recognition Systems. Pamukkale University Engineering Faculty. Journal of Engineering Sciences 13(1), 91–101 (2007) 10. He, Y., Tian, J., Luo, X., Zhang, T.: Image enhancement and minutiae matching in fingerprint verification. Pattern Recognition Letters 24(9-10), 1349–1360 (2003) 11. Benhammadi, F., Amirouche, M.N., Hentous, H., Bey Beghdad, K., Aissani, M.: Fingerprint matching from minutiae texture maps. Pattern Recognition 40(1), 189–197 (2007) 12. Liu, E., Liang, J., Pang, L., Xie, M., Tian, J.: Minutiae and modified Biocode fusion for fingerprint-based key generation. Journal of Network and Computer Applications (Available online December 21, 2009) (in press) (corrected proof)
Extracting Fuzzy Rules to Classify Motor Imagery Based on a Neural Network with Weighted Fuzzy Membership Functions Sang-Hong Lee1, Joon S. Lim2, and Dong-Kun Shin3,∗ 1,2 College of IT, Kyungwon University, Korea {shleedosa,jslim}@kyungwon.ac.kr 3 Division of Computer, Sahmyook University, Korea
[email protected]
Abstract. This paper presents a methodology to classify motor imagery by extracting fuzzy rules based on the neural network with weighted fuzzy membership functions (NEWFM) and twenty-four numbers of input features that are extracted by wavelet-based features. This paper consists of three steps to classify motor imagery. In the first step, wavelet transform is performed to filter noises from signals. In the second step, twenty-four numbers of input features are extracted by wavelet-based features from filtered signals by wavelet transform. In the final step, NEWFM classifies motor imagery using twentyfour numbers of input features that are extracted in the second step. In this paper, twenty-four numbers of input features are selected for generating the fuzzy rules to classify motor imagery. NEWFM is tested on the Graz BCI datasets that were used in the BCI Competitions of 2003. The accuracy of NEWFM is 83.51%. Keywords: Fuzzy neural networks, brain-computer interface, wavelet transform, NEWFM, feature extraction.
1 Introduction A brain-computer interface (BCI) is a new technique that is intended to help to disabled people to communicate with a computer using their brain’s mental tasks. There have been many studies using fuzzy neural network (FNN) in the BCI system. FNN is the combination of neural network and fuzzy set theory, and provides the interpretation capability of hidden layers using knowledge based the fuzzy set theory [7-9]. Xu used fuzzy support vector machine (SVM) for classification of EEG signals [1]. Ting used probabilistic neural network (PNN) as a classifier [2]. Müller, Lotte, and Bashashati have reviews that SVM is the most common and efficient classifier [3-5]. ∗
Corresponding author.
F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 7–14, 2010. © Springer-Verlag Berlin Heidelberg 2010
8
S.-H. Lee, J.S. Lim, and D.-K. Shin
Xu and Ting used wavelet-based features to make initial inputs after signals are filtered by wavelet transform to classify motor imagery. Wavelet-based features [6] are used in many studies such as epileptic seizure classification [10-11] and signal-related classification [12]. This paper consists of three steps to classify motor imagery. In the first step, wavelet transform is performed to filter noises from signals. In the second step, twenty-four numbers of input features are extracted by wavelet-based features [6] from filtered signals by wavelet transform. In the final step, NEWFM classifies motor imagery using twenty-four numbers of input features that are produced in the second step. In this paper, twenty-four numbers of input features are selected for generating the fuzzy rules to classify motor imagery. NEWFM is tested on the Graz BCI datasets that were used in the BCI Competitions of 2003. The accuracy of NEWFM is 83.51%.
2 Overview of Motor Imagery Classification Model Fig. 1 shows EEG signal classification model that is proposed in this paper. In the first step, wavelet transform is performed to filter noises from signals. In the second step, twenty-four numbers of input features are extracted by wavelet-based features [6] from filtered signals by wavelet transform. In the final step, NEWFM classifies motor imagery using twenty-four numbers of input features that are produced in the second step.
Fig. 1. Diagram of Motor Imagery Classification Model
2.1 Experimental Data This paper uses the Graz BCI datasets that were used in the BCI Competitions of 2003. This dataset was recorded from a normal subject (female, 25y) during a feedback session. The subject sat in a relaxing chair with armrests. The task was to control a feedback bar by means of imagery left or right hand movements. The order of left and right cues was random. The experiment consists of 7 runs with 40 trials each. The experiment consisted of 7 runs with 40 trials each. In the available 280 trials, 140 labeled trials were used to train the classifiers, whereas the other 140 trials are for testing the generalization performance of the trained classifiers. All runs were conducted on the same day with several minutes break in between. Given are 280 trials of 9s length. As Fig.2 shows, the first 2s was quite, at t=2s an acoustic stimulus indicates the beginning of the trial,
Extracting Fuzzy Rules to Classify Motor Imagery Based on a NEWFM
9
the trigger channel (#4) went from low to high, and a cross “+” was displayed for 1s; then at t=3s, an arrow (left or right) was displayed as cue. At the same time the subject was asked to move a bar into the direction of a cue. Three bipolar EEG channels (anterior ‘+’, posterior ‘-‘) were measured over C3, Cz, and C4. The EEG was sampled with 128 Hz, it was filtered between 0.5 and 30Hz.
1
2
3 5 cm
C3
1
Cz
2
C4
3
0
1
2
3
4
5
6
7
8
9
sec
Feedback period with Cue Trigger Beep
Fig. 2. Electrode positions (left) and timing scheme (right)
2.2 Wavelet-Based Feature Extraction DWT is a transformation to basis functions that are localized both in scale and in time. DWT decomposes the original signal into a set of coefficients that describes the frequency content at given times [16]. As Fig. 3 shows, this paper makes wavelet coefficients from level 1 to level 3 using Haar wavelet transform. Fig. 4 shows approximation and detail coefficients taken by Haar wavelet transform from left motor imagery and right motor imagery.
Fig. 3. Sub-band decomposition of DWT at level 3
The extracted wavelet coefficients provide a compact representation that shows the energy distribution of the signal in time and frequency. In order to further diminish the dimensionality of the extracted feature vectors, statistics over the set of the wavelet coefficients are used [6]. The following statistical features are used to represent the time-frequency distribution of EEG signals: (1) Mean of the absolute values of the coefficients in each sub-band. (2) Median of the values of the coefficients in each sub-band.
10
S.-H. Lee, J.S. Lim, and D.-K. Shin
(3) Average power of the wavelet coefficients in each sub-band. (4) Standard deviation of the coefficients in each sub-band. Wavelet-based features 1, 2, and 3 represent the frequency distribution of the signal and the feature 4 the amount of changes in frequency distribution. These feature vectors, calculated for the frequency bands d2–d3 and a3, are used for classification of EEG signals.
Fig. 4. Examples of A3, D2, and D3 in sub-band decomposition of DWT
Extracting Fuzzy Rules to Classify Motor Imagery Based on a NEWFM
11
3 Neural Network with Weighted Fuzzy Membership Function (NEWFM) Neural network with weighted fuzzy membership function (NEWFM) is a supervised classification neuro-fuzzy system using bounded sum of weighted fuzzy membership functions (BSWFM) [13-15][17]. The structure of NEWFM, illustrated in Fig. 5, comprises three layers namely input, hyperbox, and class layer. The input layer contains n input nodes for an n featured input pattern. The hyperbox layer consists of m hyperbox nodes. Each hyperbox node Bl to be connected to a class node contains n BSWFMs for n input nodes. The output layer is composed of p class nodes. Each class node is connected to one or more hyperbox nodes. An hth. Input pattern can be recorded as Ih={Ah=(a1, a2, … , an), class}, where class is the result of classification and Ah is n features of an input pattern.
Fig. 5. Structure of NEWFM
The connection weight between a hyperbox node Bl and a class node Ci is represented by wli, which is initially set to 0. From the first input pattern Ih, the wli is set to 1 by the winner hyperbox node Bl and class i in Ih. Ci should have one or more than one connections to hyperbox nodes, whereas Bl is restricted to have one connection to a corresponding class node. The Bl can be learned only when Bl is a winner for an input Ih with class i and wli = 1.
4 Experimental Results The accuracy of NEWFM is evaluated by the same data sets which were used in Xu [1]. Table 1 and Table 2 display the comparison of accuracy for Xu with NEWFM. In this experiment, two hypoboxes are created for classification. While a hyperbox that
12
S.-H. Lee, J.S. Lim, and D.-K. Shin
contains a set of lines (BSWFM) in Fig. 6 is a rule for class 1 (the left motor imagery), the other hyperbox that contains a set of lines (BSWFM) is another rule for class 2 (the right motor imagery). The graphs in Fig. 6 are obtained from the training process of the NEWFM program and graphically show the difference between the left motor imagery and right motor imagery for each input feature. Table 1. Accuracy for four kinds of wavelet transforms used in Xu
Accuracy
Sym2
Bior3.1
Db4
Coif3
80.00%
77.86%
80.71%
80.00%
Table 2. Comparisons of accuracy for Xu with NEWFM
Accuracies
NEWFM
Db4 in Xu
83.57%
80.71%
(a) BSWFM of C3 Fig. 6. Trained BSWFM of twenty-four numbers of input features for all features in C3 and C4
Extracting Fuzzy Rules to Classify Motor Imagery Based on a NEWFM
13
(b) BSWFM of C4 Fig. 6. (continued)
5 Concluding Remarks This paper proposes a new classification model based on neural network with weighted fuzzy membership function (NEWFM). NEWFM is a new model of neural networks to improve classification accuracy by using self adaptive weighted fuzzy membership functions. The degree of classification intensity is obtained by bounded sum of weighted fuzzy membership functions extracted by NEWFM. In this paper, wavelet-based features are used for extracting twenty-four numbers of input features. NEWFM classifies motor imagery using twenty-four numbers of input features that are produced in the second step. In this paper, twenty-four numbers of input features are selected for generating the fuzzy rules to classify motor imagery. NEWFM is tested on the Graz BCI datasets that were used in the BCI Competitions of 2003. The accuracy of NEWFM is 83.51%. NEWFM outperforms Xu’s classifier by 2.8% for test sets.
14
S.-H. Lee, J.S. Lim, and D.-K. Shin
References 1. Xu, Q., Zhou, H., Wang, Y., Huang, J.: Fuzzy support vector machine for classification of EEG signals using wavelet-based features. Medical Engineering & Physics 31, 858–865 (2009) 2. Ting, W., Guo-zheng, Y., Bang-hua, Y., Hong, S.: EEG feature extraction based on wavelet packet decomposition for brain computer interface. Measurement 41, 618–625 (2008) 3. Müller, K.R., Krauledat, M., Dornhege, G., Curio, G., Blankertz, B.: Machine learning techniques for brain–computer interfaces. Biomed. Eng. 49, 11–22 (2004) 4. Lotte, F., Congedo, M., Lećuyer, A., Lamarche, F., Arnaldi, B.: A review of classification algorithms for EEG-based brain–computer interfaces. J. Neural Eng. 4, 1–13 (2007) 5. Bashashati, A., Fatourechi, M., Ward, R.K., Birch, G.E.: A survey of signal processing algorithms in brain–computer interfaces based on electrical brain signals. J. Neural Eng. 4, 32–57 (2007) 6. Tzanetakis, G., Essl, G., Cook, P.: Audio analysis using the discrete wavelet transform. In: D’ Attellis, C.E., Kluev, V.V., Mastorakis, N. (eds.) Mathematics and Simlulation with Biological Economical and Musicoacoustical Applications, pp. 318–323. WSES Press, New York (2001) 7. Wang, J.S., Lee, C.S.G.: Self-Adaptive Neuro-Fuzzy Inference System for Classification Applications. IEEE Trans., Fuzzy Systems 10, 790–802 (2002) 8. Simpson, P.: Fuzzy min-max neural networks-Part 1: Classification. IEEE Trans., Neural Networks 3, 776–786 (1992) 9. Carpenter, G.A., Grossberg, S., Reynolds, J.: ARTMAP: Supervised real-time learning and classification of nonstationary data by a self-organizing neural network. Neural Networks 4, 565–588 (1991) 10. Kemal Kiymik, M., Akin, M., Subasi, A.: Automatic recognition of alertness level by using wavelet transform and artificial neural network. Journal of Neuroscience Methods 139, 231–240 (2004) 11. Subasi, A.: EEG signal classification using wavelet feature extraction and a mixture of expert model. Expert Systems with Applications 32, 1084–1093 (2007) 12. Kandaswamy, A., Sathish Kumar, C., Ramanathan, R.P., Jayaraman, S., Malmurugan, N.: Neural classification of lung sounds using wavelet coefficients. Computers in Biology and Medicine 34, 523–537 (2004) 13. Lim, J.S., Wang, D., Kim, Y.-S., Gupta, S.: A neuro-fuzzy approach for diagnosis of antibody deficiency syndrome. Neurocomputing 69, 969–974 (2006) 14. Lim, J.S.: Finding Fuzzy Rules by Neural Network with Weighted Fuzzy Membership Function. International Journal of Fuzzy Logic and Intelligent Systems 4(2), 211–216 (2004) 15. Lim, J.S.: Finding Features for Real-Time Premature Ventricular Contraction Detection Using a Fuzzy Neural Network System. IEEE Transactions on Neural Networks 20, 522– 527 (2009) 16. Mallat, S.: Zero crossings of a wavelet transform. IEEE Trans. Inf. Theory 37, 1019–1033 (1991) 17. Shin, D.-K., Lee, S.-H., Lim, J.S.: Extracting Fuzzy Rules for Detecting Ventricular Arrhythmias Based on NEWFM. In: Theeramunkong, T., Kijsirikul, B., Cercone, N., Ho, T.-B. (eds.) PAKDD 2009. LNCS, vol. 5476, pp. 723–730. Springer, Heidelberg (2009)
Distributed Data-Mining in the LISp-Miner System Using Techila Grid Milan Šimůnek1 and Teppo Tammisto2 1
University of Economics, Prague, Czech Republic 2 Techila Technologies, Tampere, Finland
[email protected],
[email protected]
Abstract. Distributed data-mining opens new possibilities for answering evercomplex analytical questions that the owners of databases want to ask. Even highly optimized data-mining algorithms with many decades of research have their limits and growing complexity of tasks exceeds computing power of a single PC. It starts to be difficult to get results in acceptable time for an interactive work. Moreover, new goals of research require to run iteratively many tasks to automate the whole KDD process. Need is therefore to speed-up maximally solving of every single task. This article describes newly implemented algorithm to divide the whole task into sub-tasks solved in parallel on grid nodes. There are presented the first results and further possible improvements. Keywords: Data-mining, grid, distributed computing, algorithm implementation.
1 Introduction Today trends in the area of Knowledge Discovery in Databases (KDD) lead to ever complex data-mining tasks that need to be solved. These trends are followed in research and development of the academic system LISp-Miner [1]. Used data-mining algorithms are highly optimized and based on research and experiences dating back to 1960’s. But even these optimizations have their limits and solution-times on a single PC could not be significantly improved forever. One possible solution is to divide task among many PCs/processors organized into some kind of grid. This paper describes changes to the original GUHA algorithm to be able of distributed generation and verification of patterns. There are several possibilities how to divide the whole task into sub-tasks computed afterwards in parallel on grid nodes. The solution proposed here is the most promising one. The paper* is organized as follows. The LISp-Miner system is introduced in the next section and some of its distinct features are mentioned. A description of the used distributed environment is in the third section. The fourth, main section of this paper, explains proposed solution for dividing complex task into suitable sub-tasks and *
The work described here has been supported by the project 201/08/0802 of the Czech Science Foundation.
F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 15–20, 2010. © Springer-Verlag Berlin Heidelberg 2010
16
M. Šimůnek and T. Tammisto
explains also the main challenges faced. There are presented the first experiences with distributed solving of data-mining tasks also in the fourth section. The last section of this paper proposes directions for further development.
2 LISp-Miner System The LISp-Miner system (developed since 1996 at University of Economics, Prague) is an academic system used mainly for data-mining research and teaching. It is used at several universities in Czech Republic, Finland, France and USA and for real data analysis (see e.g. [2]). It is freely available at http://lispminer.vse.cz. The system is based on many decades of related research of the GUHA method. Theoretical foundations were published in books and papers since 1960’s (see e.g. [3], [4], [5], [6]). LISp-Miner is one of several implementations of the GUHA method and now it consists of seven data-mining procedures plus several modules supporting the Bussiness understanding and Data preprocessing phases of the data-mining process (see e.g. [7]). We would like to stress that these procedures mine not for simple association rules in sense of the shopping baskets (see e.g. [8]) but for more complex types of patterns – e.g. 4ft-association rules, action rules, set-difference rules, K×L frequency dependencies… with a really rich syntax of so called derived Boolean attributes (briefly described in the next sub-section, for details see e.g. [9], [10]). The used optimized algorithms have allowed up to present time to mine for these complex patterns in reasonable time for interactive work. The above-mentioned rich syntax and growing user needs lead to a growing complexity of tasks and therefore growing solution times. On the other hand the rich syntax could be successfully exploited for proposed distributed solution (see sect. 4). For simplicity reasons we would discuss only the 4ft-association rule syntax that is used in the 4ft-Miner procedure. The 4ft-association rule has form of: ϕ ≈ ψ / χ. The pattern means that derived Boolean attributes of ϕ and ψ are associated in the way corresponding to the 4ft-quantifier ≈ if the condition χ (a derived Boolean attribute too) is satisfied. A brief Boolean attributes description follows, for details see [9]. Basic Boolean attributes are based on user-defined many-categorial attributes. Basic Boolean attribute has syntax of Attribute( Category) and logical value of true or false could be assigned for each row of analyzed data matrix if there is value from this Category in this row and in the column specified by the Attribute. Examples are: • District( Prague) … true if district is Prague, false otherwise; • Quality( good) … true if for good quality of loan, false otherwise. Derived boolean attributes are automatically generated from basic Boolean attributes by the system using (possible many) logical conjunctions, disjunctions and negation. Examples are: • • • • •
District(Prague) ∨ District(Plzen) – true if district is Prague OR Plzen; Duration(1) ∨ Duration(2) ∨ Duration(3) – true if duration of loan is 1 to 3 years; District(Prague) ∧ Duration(1) – true if district is Prague AND duration is 1 year; District(Plzen) ∨ Duration(3) – true if district is Plzen OR duration is 3 years; ¬District(Prague) – true if district is NOT Prague.
Distributed Data-Mining in the LISp-Miner System Using Techila Grid
17
Even more complex derived Boolean attribute could be generated: • (District(Prague, Plzen) ∧ Duration(<=3)) ∧ (¬Age<20;30) ∨ Quality(good)) – true if district is Prague or Plzen and duration is 3 years or less and simultaneously age is not between 20 and 30 or quality of loan is good. User of the LISp-Miner system has many parameters available to define preciously what kinds of patterns he or she demands to be generated. From point of view of gridification the most important ones are those which restrict the minimal and maximal length of ϕ, ψ and χ (in terms of used basic Boolean attributes). User could restrict e.g. maximal length of ψ to be 3, so only up to three basic Boolean attributes could be used to create derived Boolean attribute representing ψ. Analogously user could force the minimal length of ψ to be at least 2, therefore ψ could consists of two or three basic Boolean attributes only. Similarly, user could influence number disjunction of categories for one attribute (so called length of coefficient). This pairs of minimal-maximal lengths – each for ϕ, ψ and χ and each for coefficient of every attribute used offer good way how to divide complex tasks into sub-tasks suitable for distributed solving on grid nodes (see later).
3 Techila Grid Techila Grid is developed since 2006, is already deployed on majority of Finnish universities and several real-world problems were solved using it (see e.g. [11]). It offers computer grid-like features while utilizing power of ordinary PC clients. This concept allows to set-up grid nearly everywhere with near-to-zero hardware costs and to add computing power as needed by simple registering more PC clients. The PC-Grid is able to provide low latency results for the gridified problems even in large-scale computation networks. Intelligent nodes allow optimized distribution of computation jobs with rather small amount of network traffic. They are independently monitoring their own state and making the decisions based on it. The nodes are connected to the server all the time allowing them to report changes in their status immediately and also allowing the server to give them orders with no delay. All the communication is secured and data are compressed. We choose this grid as a platform for implementation of distributed computing in the LISp-Miner system due to our long-term cooperation with Technical University of Tampere, Finland. There is currently more than 400 PCs in laboratories registered into the grid. It was a great advantage while implementing grid support into the LISpMiner because we had a possibility to do testing right from the start. An import decision factor (for University of Economics, Prague as an academic institution) was possibility to install the grid server as a virtual server (in e.g. VMWare) and to register existing PCs (in offices, laboratories and dormitories) as nodes. Any grid-related calculation is immediately suspended if user activity is noticed so ordinary users are not restricted by registering their PCs into grid. No new hardware had to be purchased so the initial costs were significantly reduced. Total grid computing power could be easily increased by registering more PCs.
18
M. Šimůnek and T. Tammisto
4 Modifying Algorithm for Distributed Solving of Task The main problem that had to be addressed while incorporating grid features into the LISp-Miner system was how to divide data-mining task into sub-tasks that could be solved (in parallel) on particular grid nodes. The goal was to find a general solution that could be used in all the implemented GUHA procedures within the LISp-Miner system, although they mine for different parents and used data-mining algorithm is different. A caution had to paid to the fact, that system is systematically used in teaching and several commercial applications and used algorithms are thoroughly proven and well debugged after many years of deployment. There was an imminent danger that a significant upgrade could introduce hidden bugs and degrade many years of work. An ideal way to incorporate the grid would be to add a new layer above these data-mining core algorithms and to make as little changes to core as possible. 4.1 Previous Non-grid Implementation of Data-Mining Algorithm Used implementation of data-mining algorithms (each for every GUHA procedure) is based on original GUHA procedure DB-ASSOC [3]. The main feature is to walkthrough all the possibly interesting patterns and to verify each of them in analyzed data. Only successfully verified patterns are included into results. The total amount of possibly interesting patterns is really huge so the algorithm was developed with aim to its effectiveness and was equipped with several optimizations – namely to identify parts of the state-space that could not contain verifiable patterns and to immediately skip such parts. As a result there is a sequential deep-first walk-through-tree algorithm with massive skipping of branches based on properties in the analyzed data. This allows very fast processing but problems emerge while trying to divide processing onto grid nodes. The first problem is a sequential nature of algorithm. The algorithm consists of single function PrepareNextVariant returning the immediate next pattern from the current one. Massive skips of the whole branches are the second problem. They yield to very complex changes in patterns during a single call to PrepareNextVariant that are highly influenced by analyzed data itself. A tree-branch could be skipped for one set of analyzed but had to be carefully walk-through for another data. This feature highly complicates an estimation of the total number of patterns that have to be verified and suitable division of the whole task into sub-tasks. 4.2 Proposed Solution Proposed solution takes user defined task parameters and checks pairs of minimalmaximal length restrictions defined by user for each derived Boolean attribute (separately for ϕ, ψ and χ). For every pair where minimal length < maximal length it suggests to divide task into (maximal length- minimal length+ 1) variants, where each variant has its task parameters changed so maximal length = minimal length = n for this particular pair and where n is going from minimal to maximal length defined in the original task. Total number of sub-tasks is given by the permutation of number of
Distributed Data-Mining in the LISp-Miner System Using Techila Grid
19
variants for min-max pair. Lets suppose we had a task where minimal length for ϕ, ψ and χ is the same and is 1 and maximal length is same too and is 3. So we could divide this task into 27 sub-tasks (3* 3* 3). We will get the same results by solving all of the 27 sub-tasks as by solving the original one. These sub-tasks are computationally independent and could be solved in parallel on different grid nodes. Things get a little bit complicated after we include min-max pairs for length of coefficient and hierarchical structure of derived attributes. But the overall concept remains the same and we have already successfully incorporated proposed solution into two procedures – see the next subsection. The most important feature of this solution is that no changes to the original optimized algorithm for solving of tasks are needed and this solution is applicable for all the GUHA-procedures implemented so far in the LISp-Miner system. The most significant drawback is a non-even complexity of emerged sub-tasks, although it is not straightforward that the sub-task of 27 (length 3-3-3) is the most difficult to solve (due to optimization used in the original algorithm). We would like to address this problem in our future work. Some duplicities in found patterns among different subtasks are another drawback of this solution. It is not always possible to create nonoverlapping sub-tasks, so duplicities should be dropped while aggregating results from sub-tasks. Proposed algorithm was implemented initially into the 4ft-Miner procedure (for 4ft-association rules) and then into the Action 4ft-Miner procedure (for 4ft-actionrules) where its potential is even higher due to the more complex pattern syntax. A real data analysis was undertaken using distributed grid verification and results were compared to solving-times of the same task on a single computer. First experiments were done using the grid installed on the Technical University of Tampere with just 30 clients dedicated to this experiment. Task parameters and analyzed data have been sent each time from Prague (with cache always cleared). Another rather experimental grid solution (with up to 10 grid nodes available) was established at the University of Economics, Prague for development purposes and to better understanding of grid behavior. A significant improvement in solution times was observed right from the first tasks. The grid overhead due to division of a task into sub-tasks, upload all the necessary data to the grid and then to download the results is reasonably small and its relative importance decreases by growing complexity of task, see Tab. 1. Table 1. Local and grid solution times on TUT and UEP grids Nr. 1 2 3 4 5 6
Task A (4ft-Miner) B (4ft-Miner) B (4ft-Miner) B (4ft-Miner) C (Act4ft-Miner) C (Act4ft-Miner)
Local Time 0h 14m 14s 3h 48m 3h 48m 3h 48m 30h 23m 30h 23m
Grid Time 0h 9m 48s 0h 21m 38s 0h 53m 01s
1h 5m 28s 1h 06m 35s 5h 44m 57s
Grid TUT TUT UEP UEP TUT UEP
Active nodes 30 30 4 5 24 5
20
M. Šimůnek and T. Tammisto
We observed that task taking more than 1 minute to solve is generally better to run on grid instead of locally (while processing analyzed data up to 10 MB). We realized also that non-even complexity of sub-tasks together with big differences in HW parameters of grid nodes could lead to unexpected results (see the task B on lines 3 and 4 where the solution time was better with less active nodes – when the slowest one was shut-down). There is therefore a good potential for improvements.
5 Further Steps The most important problem that has to be solved is to improve strategy of dividing task into sub-tasks and to obtain more balanced sub-tasks based on their solution time. Efficiency of the distributed solution of tasks on grid could be further improved by forward identification of the most complex sub-tasks and by providing this information to the grid to assign them in priority onto the most powerful nodes. We are already working on implementing the “snapshot feature” that will allow to re-allocate sub-tasks onto another node even in the middle of computation (if a node is shutdown or a more powerful one is idle and could deliver results faster).
References 1. Šimůnek, M.: Academic KDD Project LISp-Miner. In: Abraham, A., Franke, K., Köppen, M. (eds.) Advances in Soft Computing – Intelligent Systems Design and Applications, pp. 263–272. Springer, Heidelberg (2003) 2. Rauch, J., Tomečková, M.: System of Analytical Questions and Reports on Mining in Health Data – A Case Study. In: MCCSIS 2007, pp. 176–181. IADIS, Lisabon (2007) 3. Hájek, P., Havránek, T.: Mechanising Hypothesis Formation – Mathematical Foundations for a General Theory, p. 396. Springer, Heidelberg (1978) 4. Rauch, J.: Some Remarks on Computer Realisations of GUHA Procedures. International Journal of Man-Machine Studies 10, 23–28 (1978) 5. Rauch, J.: Main Problems and Further Possibilities of the Computer Realizations of GUHA Procedures. International Journal of Man-Machine Studies 15, 283–287 (1981) 6. Hájek, P., Holeňa, M., Rauch, J.: The GUHA method and its meaning for data mining. Journal of Computer and System Sciences 76, 34–48 (2010) 7. Rauch, J., Šimůnek, M.: Dealing with Background Knowledge in the SEWEBAR Project [online]. In: Berendt, B., et al. (eds.) Knowledge Discovery Enhanced with Semantic and Social Information, pp. 89–106. Springer, Berlin (2009) 8. Aggraval, R., et al.: Fast Discovery of Association Rules. In: Fayyad, U.M., et al. (eds.) Advances in Knowledge Discovery and Data Mining. AAAI Press, Menlo Park (1996) 9. Rauch, J., Šimůnek, M.: Alternative Approach to Mining Association Rules. In: Lin, T.Y., Ohsuga, S., Liau, C.J., Tsumoto, S. (eds.) Data Mining: Foundations, Methods, and Applications. Springer, Heidelberg (2005) 10. Rauch, J., Šimůnek, M.: Action Rules and the GUHA Method: Preliminary Considerations and Results. In: Rauch, J., Raś, Z.W., Berka, P., Elomaa, T. (eds.) Foundations of Intelligent Systems. LNCS, vol. 5722, pp. 76–87. Springer, Heidelberg (2009) 11. Kanniainen, J., et al.: Use of Distributed Computing in Derivative Pricing. In: 5th Int. Conference on Computational Management Science. Imperial College London (2008)
Non-negative Matrix Factorization on GPU Jan Platoˇs, Petr Gajdoˇs, Pavel Kr¨ omer, and V´ aclav Sn´ aˇsel Department of Computer Science, FEI, VSB - Technical University of Ostrava, 17. listopadu 15, 708 33, Ostrava-Poruba, Czech Republic {jan.platos,petr.gajdos,pavel.kromer,vaclav.snasel}@vsb.cz
Abstract. Today, the need of large data collection processing increase. Such type of data can has very large dimension and hidden relationships. Analyzing this type of data leads to many errors and noise, therefore, dimension reduction techniques are applied. Many techniques of reduction were developed, e.g. SVD, SDD, PCA, ICA and NMF. Non-negative matrix factorization (NMF) has main advantage in processing of nonnegative values which are easily interpretable as images, but other applications can be found in different areas as well. Both, data analysis and dimension reduction methods, need a lot of computation power. In these days, many algorithms are rewritten with the GPU utilization, because GPU brings massive parallel architecture and very good ratio between performance and price. This paper introduce computation of NMF on GPU using CUDA technology. Keywords: NMF, parallelism, CUDA, GPU computing.
1
Introduction
Data analysis and data mining are techniques that are used in many areas. Data for analysis is usually in raw format and it is necessary to apply data preprocessing, data cleaning and other techniques. Another problem is that the data may have very large dimension and hidden relationships between columns. Both problems are solved using of some dimension reduction techniques or feature extraction techniques. At present, there are several books that describe methods for dimension reduction. David Skillicorn in the book [25] described several methods based on matrix decomposition, such as Singular Value Decomposition (SVD) [4, 26, 27, 7, 13, 16], Semi-Discrete Decomposition (SDD), Principal Component Analysis (PCA) [9,12] etc. Lars Eld´en in the book [8] described methods for dimension reduction and theirs application to various problems such as Text Mining, Classification of Handwritten Digits, etc. Methods for dimensionality reduction have already been successfully used to various problems many times. The most significant techniques are Principal Component Analysis and Singular Value Decomposition. Both are shortly described in following paragraphs.
Corresponding author.
F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 21–30, 2010. c Springer-Verlag Berlin Heidelberg 2010
22
J. Platoˇs et al.
Principal Component Analysis (PCA) is the main linear technique for dimension reduction. This method performs a linear mapping of given data to a lower dimensional space in such a way, that the variance of the data is maximized in the low-dimensional representation. We refer to [9, 12] for more details. In practice, correlation matrix of the data is constructed and eigenvectors of this matrix are computed. The eigenvectors corresponding to the set of largest eigenvalues (the principal components) can now be used to reconstruct a large fraction of the variance of the original data. The original space is reduced (with data loss, but hopefully retaining the most important variance) to the space spanned by a the set of selected eigenvectors. This method is frequently used because it is a simple, non-parametric method for extracting relevant information from confusing data sets. I. K. Fodor described several methods in the book [9] that were based on components analysis, such as Principal Components Analysis (PCA), Independent Component Analysis (ICA), etc. Kurucz et al. [12] extend applicability of PCA to very large scale social networks.PCA was also used for the mapping of geochemical data. A testing data matrix was prepared from the chemical and physical analyses of the coals altered by thermal and oxidation effects [22]. For this problem was used technique PCA based on Singular Value Decomposition. The Singular Value Decomposition (SVD) [4] represents an important technique used for factorization of rectangular real or complex matrix. SVD is used for computing the pseudoinverse of a matrix, solving homogeneous linear equations, solving the total least square minimization problem and finding approximation matrix. See following to read more about SVD [26, 7, 13, 16]. SVD was used as a very good solution for clustering searching results [26]. Also it was successfully used to solve the problem of nearest-neighbor search of high-dimensionality spaces. That is critical for many applications, e.g. contentbased retrieval from multimedia databases, similarity search of patterns in data mining, and nearest-neighbor classification [7]. V. Sn´aˇsel et al. described usage of dimensionality reduction methods to solve the problem of Dimensional Binary Datasets [27]. Sheetal et al. [13] presented an implementation of Singular Value Decomposition (SVD) of a dense matrix on GPU using CUDA programming model. This allows significantly acceleration computing SVD for large matrices. Singular Value Decomposition (SVD) breaks a n × m matrix A into three matrices U , Σ and V . (1) A = U ΣV T U is a (n×n) orthogonal matrix whose column vectors are called the left singular vectors of A, V is a (n × m) orthogonal matrix whose column vectors are termed the right singular vectors of A, and Σ is a (m × m) diagonal matrix having the singular values of A ordered decreasingly. Columns of U form an orthogonal basis for the column space of A. Singular value decomposition is well-known because of its application in information retrieval as LSI. SVD is especially suitable in its variant for sparse matrices [1].
Non-negative Matrix Factorization on GPU
23
Because the singular values usually fall quickly, we can take only k greatest singular values with the corresponding singular vector coordinates and create a kreduced singular decomposition of A. We can approximate the decomposition as Ak = Uk Σk VkT
(2)
and we call the decomposition k-reduced singular value decomposition. Rank-k SVD is the best rank-k approximation of the original matrix A. This means that any other decomposition will increase the approximation error, calculated as a sum of squares (F robeniusnorm) of error matrix B = A − Ak . This paper is focused on the Non-negative Matrix Factorization which was designed for processing of non-negative numbers. NMF was applied in many areas, e.g. image processing [14], where NMF was used for recognition of parts of images, clustering emails from Enron corpus1 [5], clustering of Wikipedia pages according citations [17]. NMF may be also used in Intrusion detection systems [21, 20, 28] In Section 2, description of Non-negative Matrix Factorization is depicted. Section 3 contains a short introduction to GPU computing and Section 4 contains description of NMF implementation on GPU. Section 5 contains experimental results and comparison of CPU and GPU approach for two collections. Finally, Section 6 contains short summary of the paper and future works.
2
Non-negative Matrix Factorization
Non-negative matrix factorization [14,15] is a class of decompositions whose members are not necessarily closely related to each other [8,25]. It was designed for data sets in which attribute values are not negative. A side-effect of this feature is that the mixing of components in decompositions can be additive only. A set of data S can be expressed as a m × n matrix A, where m is the number of attributes and n is the number of records in S. Each column Aj of A is an encoding of a particular record in S and every entry aij of vector Aj is the value of i-th term with regard to the semantics of Aj , where i ranges across attributes. The NMF problem is defined as a searching for an approximation of the matrix A with respect to some metric (e.g., the norm) by factoring A into the product W × H of two reduced matrices W and H. Each column of W is a basis vector which contains an encoding of a semantic space or concept from A and each column of H contains an encoding of the linear combination of the basis vectors that approximates corresponding column of A. Dimensions of W and H are m × k and k × n, where k is the reduced rank. Usually, k is much smaller than n. Finding an appropriate value of k depends on application and it is also influenced by the nature of the collection itself. Common approaches to NMF obtain an approximation of A by computing a (W, H) pair to minimize the Frobenius norm of the difference A − W H. The matrices W and H are not unique. Usually H is initialized to zero and W to a randomly generated matrix where each Wij > 0 and these initial values are improved with iterations of the algorithm. 1
http://www.cs.cmu.edu/~ enron, 2010-02-14.
24
2.1
J. Platoˇs et al.
Computation Algorithms
NMF is computed in an iterative process. Minimization rules are applied in every iteration to minimize difference between W × H and original matrix A. The first approach to solve this problem was based on multiplicative rules defined be Lee and Seung [15] and it can be described by following steps: 1. Initialize matrix W and H with random numbers 2. For each iteration compute T A (a) H = H ∗ W TWW H+ (b) W = W ∗
AH T W HH T +
where the constant is set to 10−9 , W T and H T represents the transposition of matrix W and H, symbol ∗ represents per element matrix multiplication and division (the fraction) is per element as well. The second group of algorithms is based on gradient descend method. GDCLS [24] algorithm is a typical representant of this group. We refer to [6] for more detail of this algorithm and a description of others. There is a number of optimization tasks related to NMF [11]. Unconstrained NMF, which corresponds to the original NMF introduced above, is a non-convex problem with known algorithms that can compute its global optimum. Unfortunately, they are not able to deal with real-world sized data and so algorithms finding local optimum have to be employed. Although the NMF codes are rather sparse, in Sparsity constrained NMF is the sparsity controlled directly. The sparsity constraints control to what extent basis functions are sparse, and how much each basis function contributes to the reconstruction of only a subset of the original data matrix A.
3
GPU Utilization
Modern graphics hardware play an important role in the area of parallel computing. Graphics cards have been used to accelerate gaming and 3D graphics applications, but now, they are used to accelerate computations with relatively distant topics, e.g. remote sensing, environmental monitoring, business forecasting, medical applications or physical simulations etc. Architecture of GPUs (Graphics Processing Unit) is suitable for vector and matrix algebra operations which leads to the wide usage of GPUs in the area of information retrieval, data mining, image processing, data compression, etc. Nowadays, one does not need to be an expert in graphics hardware because of existence of various APIs (Application Programming Interface), that help programmers to implement their software faster. Nevertheless, it will be always necessary to keep basic rules of GPU programming to write code more effective. There are two graphics hardware leaders, vendors that prefer they own solution before any other, ATI and nVIDIA. The first mentioned developed technology called ATI Stream [2] and the second one presented nVIDIA CUDA [18].
Non-negative Matrix Factorization on GPU
25
Comparison of these two APIs is not a goal of this article. We refer to [18] for more information. Our implementation was realized in nVIDIA CUDA technology, because of hardware availability and experience with this technology. CUDA is an acronym for Compute Unified Device Architecture. It is a general purpose parallel computing architecture that leverages the parallel compute engine in nVIDIA graphics processing units. GeForce GTX 280 was used in our experiments. The GPU processor is composed of 30 multiprocessors. Each SIMD (Single Instruction Multiple Data) multiprocessor drives eight arithmetic logic units (ALU) which process the data, thus each ALU of a multiprocessor executes the same operations on different data, lying in the registers. In contrast to standard CPUs which can reschedule operations (out-of-order execution), the selected GPU is an in-order architecture. This drawback is overcome by using multiple threads as described by Wellein et al. in [10]. Current general purpose CPUs with clock rates of 3 GHz outrun a single ALU of the multiprocessors with its rather slow 1.3 GHz. The huge number of 240 parallel processors on a single chip compensates this drawback. The processing is optimized for floating point calculations and a FMA (Fused Multiply Add) is four step pipelined, thus its latency is four clock cycles. Additional operations have different specifications and therefore require different numbers of clock cycles to complete. GPU producers prefer double precision in later GPUs because of their wide utilization in scientific computations. CUDA Capability 1.3 and above is necessary to have double precision support. Andrecut [3] in 2009 described computing based on CUDA on two variants of Principal Component Analysis (PCA). The usage of parallel computing on GPU improved efficiency of the algorithm more than 12 times in comparison with CPU. Preis et al. [23] applied GPU on methods of fluctuation analysis, which includes determination of scaling behavior of a particular stochastic process and equilibrium autocorrelation function in financial markets. The speed up was more than 80 times than the previous version running on CPU. Patnaik et al. [19] used GPU in the area of temporal data mining in neuroscience. They analyzed spike train data with the aid of a novel frequent episode discovery algorithm. Achievement of more than 430 speed up is described in mentioned paper. We refer to [10] for more nVidia CUDA examples.
4
Computation of NMF on GPU
The utilization of GPU in NMF is not so difficult, especially in case of basic version of NMF with multiplicative rules, because these rules are defined as the series of matrix multiplication and per element division. Matrix multiplication represents the task, for which GPUs were optimized since their creation. Per element operations are also often used in graphics rendering, because they are used for post processing effects such as motion-blur, bloom, heat-shimmering, etc. The realization of matrix multiplication was simplified, because nVIDIA CUDA contains specially optimized implementation of BLAS library. This library
26
J. Platoˇs et al.
contains functions for Vector-Vector, Vector-Matrix, and finally Matrix-Matrix operations. Our implementation use only Sgemm operation for matrix multiplication. This operation is able not only multiply matrices but is able to transpose first, second or both matrices. Other necessary functions, especially per element division and Frobienus norm were implemented manually in C for CUDA. Because of the fact, that CUDA is extension to standard C programming language, reimplementing of methods is simple. For comparison purposes, CPU based NMF computation was implemented. This implementation was written in C++ and it was optimized for maximal performance.
5
Experimental Results
Two collection were used in our experiments. Both contain samples of intrusion detection data [29]. They are composed of five class of attacks. Learning and testing sets of events are available for every class. Each event is described by 41 features. Fourth class representing user-root attacks was used. Teaching collection contains 5092 events (records) and testing collection contains 6892 records. Both were used in our experiments. This was the hardware configuration: CPU Intel Core2Quad, 8GB RAM, nVIDIA GeForce GTX 280, 1024MB GRAM with 240 CUDA cores. 5.1
Results on Smaller Collection
The first experiment was run on smaller collection containing 5092 × 41 values. A set k = {12, 17, 25, 33, 41} was used and number of iterations equals 10, 50, 100, 500, 1000. The selection of k values is the same like in our previous work on Designing of Intrusion Detection System using NMF [20, 21, 28]. Results are shown in Table 1 and the final speed up realized by GPU in comparison with CPU is shown in Figure 1. The missing values denotes using ”-” symbols means, that these results was not computed due to theirs enormous running time. Table 1. Computation time [ms], small collection Computation time on CPU [ms] number of basis vectors (k) Iterations 12 17 25 33 41 CPU GPU CPU GPU CPU GPU CPU GPU CPU GPU 10 1146 399 1787 399 2993 419 4312 405 5999 399 50 5885 515 9313 519 16464 545 24285 567 34742 580 100 12308 628 19567 675 33958 730 53870 755 78742 775 500 81907 1715 162713 1905 199894 2080 289228 2311 481204 2317 1000 201626 3011 - 3416 - 3803 - 4268 - 4298
Non-negative Matrix Factorization on GPU
27
Speed-up factor
250,0 200,0 k = 12
150,0
k = 17
100,0
k = 25 50,0
k = 33
0,0
k = 41 10
50
100
500
1000
Number of iterations
Fig. 1. Speedup on GPU, small collection
Computation on GPU is much faster than on CPU as may be seen from results. When k and number of iterations are small, the speedup is small as well, because of the overheads in data copying between system and GPU. On the other hand, larger k and higher number of iteration lead to speed up more that 100 times and for k = 41 and 500 iterations it is more that 200 times. 5.2
Results on Larger Collection
The second experiment was run on collection containing 6892×41 values, i.e. this collection has 35 % more records that the previous one. The set of k and number of iterations stay unchanged. Results are shown in Table 2 and the final speed up realized by GPU in comparison with CPU is shown in Figure 2. The missing values denotes using ”-” symbols means, that these results was not computed due to theirs enormous running time. Table 2. Computation time [ms], large collection Computation time on CPU [ms] number of basis vectors (k) Iterations 12 17 25 33 41 CPU GPU CPU GPU CPU GPU CPU GPU CPU GPU 10 1564 402 2399 410 3977 416 5927 420 8075 422 50 8092 563 12789 567 22314 599 35229 632 48800 637 100 17665 741 28361 774 48813 830 75122 880 108987 890 500 107700 2264 167262 2442 275312 2663 389674 2967 627278 3029 1000 277317 4292 - 4309 - 4778 - 5406 - 5556
For large collection, computation on GPU leads to better speedup than for small collection. It can be seen in tables and figures. Efficiency of GPU is much higher for tasks which may be parallelized.
28
J. Platoˇs et al.
Speed-up factor
250,0 200,0 k = 12
150,0
k = 17
100,0
k = 25 50,0
k = 33
0,0
k = 41 10
50
100
500
1000
Number of iterations
Fig. 2. Speedup on GPU, large collection
6
Conclusion
This paper described the possibility of computation of Non-negative Matrix Factorization using GPU. GPU has many parallel executive units and it enables us to solve some problems faster than on standard CPU. The final speed up was more than 200 times. In the future, we would like to test larger collections and improve implementation of NMF on GPU using optimization. Improvements for very large collections, which can not be store in main memory, is the main task of near future work. Acknowledgement. This work was supported by the Ministry of Industry and Trade of the Czech Republic, under the grant no. FR-TI1/420.
References 1. Abdulla, H.D., Polovincak, M., Snasel, V.: Using a matrix decomposition for clustering data. In: International Conference on Computational Aspects of Social Networks, pp. 18–23 (2009) 2. AMD ATI. Ati stream technology (February 2010), www.amd.com/stream 3. Andrecut, M.: Parallel gpu implementation of iterative pca algorithms. Journal of Computational Biology 16(11), 1593–1599 (2009) 4. Berry, M., Dumais, S., Letsche, T.: Computational Methods for Intelligent Information Access. In: Proceedings of the 1995 ACM/IEEE Supercomputing Conference, San Diego, California, USA (1995) 5. Berry, M.W., Browne, M.: Email surveillance using non-negative matrix factorization. Comput. Math. Organ. Theory 11(3), 249–264 (2005) 6. Berry, M.W., Browne, M., Langville, A.N., Pauca, V.P., Plemmons, R.J.: Algorithms and applications for approximate nonnegative matrix factorization. Computational Statistics & Data Analysis 52(1), 155–173 (2007) 7. Castelli, V., Thomasian, A., Li, C.-S.: Csvd: Clustering and singular value decomposition for approximate similarity search in high-dimensional spaces. IEEE Transactions on Knowledge and Data Engineering 15, 671–685 (2003)
Non-negative Matrix Factorization on GPU
29
8. Eld´en, L.: Matrix Methods in Data Mining and Pattern Recognition (Fundamentals of Algorithms). Society for Industrial and Applied Mathematics, Philadelphia (2007) 9. Fodor, I.K.: A survey of dimension reduction techniques. Technical report, Lawrence Livermore National Laboratory (2002) 10. Hager, G., Zeiser, T., Wellein, G.: Data access optimizations for highly threaded multi-core cpus with multiple memory controllers. In: IPDPS, pp. 1–7. IEEE, Los Alamitos (2008) 11. Heiler, M., Schn¨ orr, C.: Learning sparse representations by non-negative matrix factorization and sequential cone programming. J. Mach. Learn. Res. 7, 1385–1407 (2006) 12. Kurucz, M., Benczur, A., Pereszlenyi, A.: Large-scale principal component analysis on livejournal friends network. In: Proceedings of SNAKDD 2008 (2008) 13. Lahabar, S., Narayanan, P.J.: Singular value decomposition on gpu using cuda. In: IPDPS ’09: Proceedings of the 2009 IEEE International Symposium on Parallel & Distributed Processing, Washington, DC, USA, pp. 1–10. IEEE Computer Society, Los Alamitos (2009) 14. Lee, D.D., Seung, H.S.: Learning the parts of objects by non-negative matrix factorization. Nature 401, 788–791 (1999) 15. Lee, D.D., Seung, H.S.: Algorithms for non-negative matrix factorization. In: Leen, T.K., Dietterich, T.G., Tresp, V. (eds.) Advances in Neural Information Processing Systems, pp. 556–562. MIT Press, Cambridge (2001) 16. Moravec, P., Gajdos, P., Snasel, V., Saeed, K.: Normalization impact on svd-based iris recognition, pp. 60–64 (June 2009) 17. Nielsen, F.˚ A.: Clustering of scientific citations in wikipedia. In: Wikimania 2008, Richard Petersens Plads, Building 321, DK-2800 Kgs. Lyngby, Informatics and Mathematical Modelling, Technical University of Denmark (June 2008) 18. nVidia. Cuda programming guide 2.3 (February 2010), http://developer.nvidia.com/object/cuda_2_3_downloads.html 19. Patnaik, D., Ponce, S.P., Cao, Y., Ramakrishnan, N.: Accelerator-oriented algorithm transformation for temporal data mining. CoRR, abs/0905.2203 (2009) 20. Platoˇs, J., Sn´ asel, V., Kr¨ omer, P., Abraham, A.: Detecting insider attacks using non-negative matrix factorization. In: IAS, pp. 693–696. IEEE Computer Society, Los Alamitos (2009) 21. Platoˇs, J., Sn´ aˇsel, V., Kr¨ omer, P., Abraham, A.: Designing Light Weight Intrusion Detection Systems: Non-negative Matrix Factorization Approach. In: Socioeconomic and Legal Implications of Electronic Intrusion, Information Science Reference, 1st edn., pp. 216–229 (April 2009) 22. Praus, P.: Svd-based principal component analysis of geochemical data. Central European Journal of Chemistry 3(4), 731–741 (2005) 23. Preis, T., Virnau, P., Paul, W., Schneider, J.J.: Accelerated fluctuation analysis by graphic cards and complex pattern formation in financial markets. New Journal of Physics 11(9), 093024, 21 (2009) 24. Shahnaz, F., Berry, M.W., Pauca, V.P., Plemmons, R.J.: Document clustering using nonnegative matrix factorization. Inf. Process. Manage. 42(2), 373–386 (2006) 25. Skillicorn, D.: Understanding Complex Datasets: Data Mining using Matrix Decompositions. Chapman & Hall/CRC (2007) 26. Snasel, V., Kromer, P., Platos, J.: Evolutionary approaches to linear ordering problem. In: Bhowmick, S.S., K¨ ung, J., Wagner, R. (eds.) DEXA 2008. LNCS, vol. 5181, pp. 566–570. Springer, Heidelberg (2008)
30
J. Platoˇs et al.
27. Snasel, V., Kromer, P., Platos, J., Husek, D.: On the implementation of boolean matrix factorization. In: Bhowmick, S.S., K¨ ung, J., Wagner, R. (eds.) DEXA 2008. LNCS, vol. 5181, pp. 554–558. Springer, Heidelberg (2008) 28. Snasel, V., Platos, J., Kromer, P., Abraham, A.: Matrix factorization approach for feature deduction and design of intrusion detection systems. In: Rak, M., Abraham, A., Casola, V. (eds.) Proceedings of IAS 2008, pp. 172–179 (2008) 29. The UCI KDD Archive. Kdd cup data (February 2010), http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
Chatbot Enhanced Algorithms: A Case Study on Implementation in Bahasa Malaysia Human Language Abbas Saliimi Lokman and Jasni Mohamad Zain Faculty of Computer Systems & Software Engineering, Universiti Malaysia Pahang, Lebuhraya Tun Razak, 26300 Kuantan, Pahang Darul Makmur
[email protected],
[email protected] http://www.ump.edu.my
Abstract. Chatbot is one of a technology that tried to encounter the question that popped into computer science field in 1950 which is ”Can machines think?” [6]. Proposed by mathematician Alan Turing, the question later becomes the pinnacle reference for researchers in artificial intelligence discipline. Turing later also introduces ”The Imitation Game” that now known as ”Turing Test” where the idea of the test is to examine whether machine can fool a judge into thinking that they are having a conversation with an actual human. The technology back then was great but in rapid evolution of computer science, it can become even better. Evolution is computer scripting language, application design model, and so on, clearly have its advantage towards enabling more complex features in developing a computer program. In this paper, we propose an enhanced algorithm of a chatbot by taking advantages of relational database model to design the whole chatbot architecture that enable several features that cannot or difficult to be done in previous state of computer science programming technique. Started with some literature of a previous developed chatbot, then a detailed description of each new enhanced algorithm together with testing and results from the implementation of these new algorithms that can be used in development of a modern chatbot. These several new algorithms will enable features that will extend chatbot capabilities in responding to the conversation. These algorithm is actually implemented in design and development of chatbot that specifically deal with Bahasa Malaysia language, but taking to account that language in chatbot is really about the data in chatbot knowledge-based, the algorithm is seems transferable wherever it fits into another human language. Keywords: Chatbot, sentence processing, pattern matching, knowledgebased, coversation path.
We would like to thank Universiti Malaysia Pahang (UMP) for the support grant for this research no. GRS 070166.
F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 31–44, 2010. c Springer-Verlag Berlin Heidelberg 2010
32
1
A.S. Lokman and J.M. Zain
Introduction
Through Artificial Intelligence Chatting Robot or Chatbot, human can interact with computer by using natural language which is a language that human used to interact with each other. First introduced by Joseph Weizenbaum (an MIT professor) in 1966 [9], ELIZA became the first chatbot that later became an inspiration for computer science and linguistic researchers to create a computer application that can understand and response to human language. The huge breakthrough in chatbot technology came in 1995 where Dr. Richard Wallace, an ex-Processor of Carnegie Mellon University combine his background in computer science with his interest in the internet and natural language processing to produce A.L.I.C.E. Artificial Linguistic Internet Computer Entity. A.L.I.C.E. that later described as a modern ELIZA is a three times winner of Loebner’s annual instantiation of Turing’s Test for machine intelligence [10]. When computer science evolves, so does the chatbot technology. As for a chatbot that need to have a huge knowledge-based which some call it as a ”chatbot’s brain”, managing data is really critical. Reviewing the evolving of chatbot technology that paralleling with the evolving of computer science technology, starting with ELIZA that stored the data by embedding the knowledge-based right into the code, then came A.L.I.C.E. that using AIML (Artificial Intelligence Markup Language) which is a derivative of Extensible Markup Language or XML [1] [7]. Now, with a relational database model with Database Management System (DBMS) technology, came a chatbot that actualize it. One of an example is VPbot, an SQL-Based chatbot for medical application. Developed by Dr. Griffin Webber from Harvard University, VPbot is a chatbot that takes advantage of a relational database model to stored, manage and even used SQL language (that is a database language) to do the chatbot data processes.
2 2.1
Chatbots Literature ELIZA
The fundamental technical problems with which ELIZA must be preoccupied are the following: (1) The identification of the ”most important” keyword occurring in the input message; (2) The identification of some minimal context within which the chosen keyword appears, for example if the keyword is ”you”, is it followed by the word ”are” (in which case an assertion is probably being made); (3) The choice of an appropriate transformation rule and, of course, the making of the transformation itself; (4) The provision of mechanism that will permit ELIZA to respond ”intelligently” when the input text contained no keywords; and (5) The provision of machinery that facilities editing, particularly extension, of the script on the script writing level [9]. In ELIZA, input sentence are analyzed on the basis of decomposition rules that are triggered by key words appearing in the input text. Then, responses are generated by reassembly rules associated with selected decomposition rules [9]. The basic principal of decomposition rules in ELIZA is that the input sentence
Chatbot Enhanced Algorithms
33
will be analyzed from left to right. Each word is looked up in database for keywords. If a word is identified as keywords, then the decomposition rules will apply. Let say the input sentence is ”Yesterday, my chest hurt badly” and the keywords that ELIZA’s looking is ”hurt”. After analyzing each word, ELIZA found the word ”hurt” in the sentence and decomposition rules applies as (0 hurt 0) means: 1. All words in front of ”hurt” 2. The word ”hurt” itself 3. All words following ”hurt” All those three decomposition components then will be used to generate response. 2.2
A.L.I.C.E.
A.L.I.C.E’s knowledge about English conversation pattern is stored in AIML files. In order for AIML to work with A.L.I.C.E, the knowledge-based in AIML is stored using a mechanism called Graphmaster. The Graphmaster consists of collection of nodes called Nodemappers. These Nodemappers map the branches from each node. The branches are either single words or wildcards. A convenient metaphor for AIML patterns is the file system stored in our computer that are organized hierarchically (tree structure). The file system has a root, such as ”c:¨and the root have some branches that are files, and some that are folders. The folders, in turn, have branches that are both folders and files. The leaf nodes of the whole tree structure are files. Every file has a ”path name” that spells out its exact position within the tree. The Graphmaster is organized in exactly the same way. AIML that stored a pattern like ”I LIKE TO *” is metaphorically are ”g:/I/LIKE/TO/star”. All of the other patterns that begin with ”I” also go into the ”g:/I/” folder. All of the patterns that begin with ”I LIKE” go in the ”g:/I/LIKE/” subfolder. So it’s like the folder ”g:/I/LIKE/TO/star” has a single file called ”template.txt” that contains the template [7]. Following the Graphmaster rules, A.L.I.C.E pattern matching process can be described as follows (let say the input sentence first word is ”yesterday” and the AIML was stored in file system architecture with folders and files): 1. From template file in the root folder, find a match pattern. If no match was found, try: 2. Find the subfolder ” ”. If found, try matching all remaining suffixes from the input sentence following the first word ”yesterday” (the whole input sentence). If no match was found, try: 3. Find the subfolder ”yesterday”. If found, try matching all remaining suffixes minus ”yesterday”. If no match was found, try: 4. Find the subfolder ”*”. If found, try matching all remaining suffixes from the input sentence following the first word ”yesterday”. If no match found, change directory to the parent of this folder and put back ”yesterday” on the head of the input.
34
A.S. Lokman and J.M. Zain
These processes will run recursively until the input is null (all words in the input sentence have been processes), or until the match is found in the template, then the process will stop. 2.3
VPbot
VPbot, a modern chatbot that store it’s language rules’ in a relational data model. It mostly shares many of the same features as A.L.I.C.E., but it is often easier to define new language rules in VPbot that with AIML. Whereas A.L.I.C.E. is designed to be able to produce generic responses to a wide range of topics, VPbot is best suited for a targeted topic of conversation. The VPbot algorithm accepts three input variables, a vpid, the current topic, and a sentence. The vpid is a unique identifier for each VPbot instance. The topic is an optional variable, which can be used to handle pronouns. Although the topic is an input variable in the general VPbot algorithm, in the Virtual Patient implementation, the student can neither see the topic nor change it. It is simply a variable that the Virtual Patient stores internally and returns to the chatbot with the next question. Note that while the VPbot topic serves a purpose similar to that of the AIML
and tags, it is used differently in VPbot [8]. The third input variable is a sentence entered by user. The output of VPbot is a new sentence and a new topic. As with AIML, the output sentence can be dynamically constructed using parts of the input sentence; the database does not have to store every possible response. Although VPbot uses SQL rather than AIML, there is a certain limit. As stated by Dr. Webber in his thesis, there are some limitations on what is possible with a single SQL statement, primarily because true recursion is not supported. However, in a restricted domain, such as a doctor-patient conversation, the full capabilities of AIML are not needed [8]. 2.4
Recap
In summary, those three chatbots are mostly used word-by-word analyzing technique (from left to right of an input sentence) that typically similar to human incremental parsing technique [5] in processing an input data/sentence. Some of them also implementing an algorithm regarding synonyms in linguistic in order to minimize the keywords matching possibilities. Other technique that shares the same objective is the used of variable that will hold the conversation topic (topic and that tags in AIML and topic variable in VPbot) by the intention to makes the chatting conversation is attached to the topic specified, or to produce a next response that related to the previous response. Either it is incremental parsing or holding the conversation topic, both technique are interrelated with the theory of human sentence processing where human brain had a working memory for sentence processing, either it is specialized or not (from general human memory) [2] [3] [4]. Nevertheless, for all these algorithms and techniques, we found a several ways for chatbot to enhanced it capabilities. The next section (section 3) will be a description of several sets of new algorithms or techniques
Chatbot Enhanced Algorithms
35
for chatbot that will enhance its productivity, usability, and also accurateness in response selection. Although all this algorithms are actually implemented in Bahasa Malaysia human language chatbot, the logic and technique was rather transferable. The description will cover a problem that those algorithms try to solve and then in another next section (section 4), a technical description (testing and results) for each one of them will be discussed.
3 3.1
New Enhanced Algorithms Extension and Prerequisite
Extension and Prerequisite are designed to make chatbots more capable in remembering the path within the conversation. This was an attempt to implement the working memory on human sentence processing technique within the brain of a chatbot. In general, chatbots are designed to response for user’s input in a one-way input-response mechanism that not actually holds the conversation path. It was like a search engine where user typed an input and engine will response specifically to that input without any relation to the previous input, and when a new input is inserted, the process will start all over again, holding nothing related to the previous search. Although there is a used of a technique that will hold the ”topic” of the conversation, it is not exactly draw the conversation path because the ”topic” mechanism is used as a state of what the conversation is all about, not in a state of where the conversation begin, go through, and end. In specific knowledge chatbot, a path can be useful to handle chatbot’s responses that related to each other (have an interaction in it’s meanings). Extension and Prerequisite are designed to works with each other. In all responses data, we put another two variables named Extension and Prerequisite where the default value for both variables is ”0”. The value will changed if that particular response linked to other responses (can be linked to more than one response) that later will draw a path. This path is used to hold the conversation specific ”issue” in order to reduce the needs for chatbot to scan the whole database for keywords (scanning will be focused on what is next in the path if the response had it defined in Extension variable). This path is very practical when there is a sets of responses pointing to final response that only triggered if the conversation follow the path toward an end of it. For example, a set of questions doctor have to ask in order to diagnosed a patient where the first answer from patient will trigger the second question that depending on the first answer; example question is ”what is your gender?” that had two possible answers which is ”male” or ”female” in which will determine the next question. As for Prerequisite variable, it will hold a value of the previous response that triggered the new response. In managing the response’s interactions, Extension and Prerequisite value will make it easy for chatbot’s authot to navigate through the path. In a meaning description, Extension is for the next responses and Prerequisite is for the previous responses. The visual explanation of Extension and Prerequisite are as follows: (Abbreviations note: Response Id = rid; Extension = ext; Prerequisite = pre)
36
A.S. Lokman and J.M. Zain
Fig. 1. Sample path for Extension and Prerequisite
Extension and Prerequisite are designed to works with each other. In all responses data, we put another two variables named Extension and Prerequisite where the default value for both variables is ”0”. The value will changed if that particular response linked to other responses (can be linked to more than one response) that later will draw a path. This path is used to hold the conversation specific ”issue” in order to reduce the needs for chatbot to scan the whole database for keywords (scanning will be focused on what is next in the path if the response had it defined in Extension variable). This path is very practical when there is a sets of responses pointing to final response that only triggered if the conversation follow the path toward an end of it for example, a sets of questions doctor have to ask in order to diagnosed a patient where the first answer from patient will trigger the second question that depending on the first answer; example question is ”what is your gender?” that had two possible answers which is ”male” or ”female” in which will determine the next question (the response can start to draw two path that represent the user’s answer ”male” or ”female” respectively). As for Prerequisite variable, it was mostly used in managing the Extension and Prerequisite. In order to make interactions between responses easy to manage, the UI (User Interface) for chatbot’s knowledge-based needs to be created. In the UI, Extension and Prerequisite value will be visible in order for the chabot’s author to easily navigate through the path. In a meaning description, Extension is for the next responses and Prerequisite is for the previous responses that is related to the selected response.
Chatbot Enhanced Algorithms
3.2
37
General Word Percentage (GWP)
General Words Percentage (GWP) is used to determine which response is more appropriate when the outcome from finding a longer keywords, less changed (synonyms replacement) keywords and all technique regarding finding a best suited keywords was still resulting in more than one possible responses (assuming chatbot can only choose one most-appropriate response to reply to user, which usually is). To make GWP works, the chatbot needs to had following components: 1) a set of database that contains a general words, which in the context of Bahasa Malaysia language, a ”penanda wacana” which is a words/phrases that used in a sentence to connect one point to another. These general words mostly used in every basic sentence which for example in English language are the words ”and”, ”or”, ”therefore”, and so on. 2) a variable that will hold the value of GWP attached to a chatbot’s responses data. In the process on inserting or editing the response in the knowledge-based, algorithm will scan for a general words in the new inputted response and calculated the GWP by the following equation: (total count of general words / total count of all words) * 100. So the response will holding a GWP value that is a percentage of general words over all words in the response sentence. The idea when analyzing the GWP value to determine which response is more appropriated is that the lowest GWP value will win by the logic of lowest general words percentage means that the response sentence had more ”meaning words” rather than general words. ”Meaning words” means a words that actually represent the meaning of what that sentence would like to say, not the words that just connect an idea/meaning of a small sentence or phrases that combined to become the complete sentence. 3.3
Synonyms and Root-Words
Most of previous developed chatbot had make the used of synonyms data in linguistic either to expand the possibility of keywords matching, remove the need to create a redundant keywords that had the same meaning but in different words, or just to simplify the input sentence. Synonyms in chatbot can be either a single words, phrases or event a complete sentence because at the end of the process, all synonyms will mostly be replaced with more relevant data that is suitable for each particular chatbot. As developing chatbot for Bahasa Malaysia language, other than synonyms, there is another issue in this linguistic that need to be tackled that is an ”imbuhan”. ”Imbuhan” is a Bahasa Malaysia term for additional character that being added to the words (mostly verb) in order to make it more suitable for the sentence (active or passive sentence for example). The appearance of an ”imbuhan” in a words makes the pattern to be match becoming bigger as one word can have different ”imbuhan” at a different time although it still principally represent the same meaning. To avoid the need to create redundant keywords that had the same meaning (similar as for synonyms), we introduce the Root-words database. A database that will include all appropriated root words that can have an ”imbuhan” attached to it. The
38
A.S. Lokman and J.M. Zain
database will cover two types of root words that is root words that will still be the same after the ”imbuhan” is being removed and also root words that will slightly changed after the ”imbuhan” is being removed. The algorithm steps are simple. 1) scan an appearance of a root words in an input sentence using incremental parsing technique. 2) if a root word is detected, replace original word (from input sentence) with root word from Root-words database. 3) if Root-words database contains a ”swap” data (in the case where the root word is changing because of the ”imbuhan”), replace original word with swap word from the Root-words database.
4
Testing, Results and Discussions
This section will discussed an implementation of all new proposed algorithms and techniques in a chatbot named ViDi (acronyms for Virtual Diabetes Physician) that is a Bahasa Malaysia human language chatting robot which function as virtual Diabetes physician. ViDi will answer any questions asked by users regarding Diabetes disease by providing responses that is designed by the actual Diabetes physician/doctor (author of ViDi’s knowledge-based). These response set are the result from multiple discussions between three medical doctors in order to produce a simplified version of definitions, descriptions and everything regarding an information on Diabetes disease. There are two parts of UI in ViDi; 1) the ViDi chatting interface and 2) the vBrain, that is an UI for ViDi’s knowledge-based management. Both parts are developed using HTML, PHP, javascript, AJAX, CSS and mySql programming languages and techniques. Fig. 2 and Fig. 3 will show a rough preview of UI for ViDi and vBrain (there will be more detail images of the UI later).
Fig. 2. 1) ViDi chatting interface. 2) vBrain: Managing ViDi’s responses.
Chatbot Enhanced Algorithms
39
Fig. 3. 1) vBrain: Managing ViDi’s keywords and Extension data for each response. 2) vBrain: Managing Synonyms, Root-words and General words.
The idea of building vBrain for ViDi’s knowledge-based management is to make it easy for an actual doctor or anyone (for other chatbot) without an experience in computer’s programming languages to author the chatbot’s knowledgebased. vBrain also being created to work as a front-end UI that will help authors managing responses interaction regarding implementing the architecture of Extension and Prerequisite and others that matter. 4.1
Extension and Prerequisite
In vBrain’s UI section for author to enter new response (refer Fig. 4), there is an input box for Extension data. If that response had more than one Extension data, author can separate the Response Id by using commas (,) and if there is no Extension, author can just leave it as default value of ”0”. After author save the new response, vBrain will automatically update all Prerequisite data for responses related to the newly added Extension data. This mechanism also applied when a previous response data is being edited. In a nutshell, Extension is manually entered/edited by author while Prerequisite is automatically adjusted by vBrain regarding the change happens in a responses set, which is whether a new response is ”added” or a previous response is ”edited”.
Fig. 4. Add New Response UI
40
A.S. Lokman and J.M. Zain
Following figure (Fig. 5) will show an example of responses with Extension and Prerequisite data in vBrain UI. This example is a simple one-to-one interaction within two responses that only have one Extension and one Prerequisite data (note that Extension and Prerequisite can be more that one data).
Fig. 5. 1) Response with Extension data. 2) Response with Prerequisite data.
Fig. 6. Sample conversation ViDi with user regarding the implementation of Extension and Prerequisite
For an example (shown in Fig. 5), two responses by the Match Id 10 and 11 are connected to each other by Extension (response 11 is Extension to response 10) and Prerequisite (response 10 is Prerequisite for response 11). In a chatting conversation, once response 10 is triggered, ViDi will hold the Extension value of 11 that will be used in keywords matching process whereby the next input is entered. If none of the keywords set for Extension response 11 is matched for the new input, ViDi then will look for other response’s keywords sets to be match. Remember that this will only happens if there is none match for the Extension response’s keywords which describe that in keywords matching process, the precedence always goes to response within the Extension value. Another thing is that ViDi will not run the matching process for responses that had Prerequisite data unless that particular response is in the previous matched response’s Extension data. Sample conversation for this response’s relation is shown in the Fig. 6 above.
Chatbot Enhanced Algorithms
4.2
41
General Words Percentage (GWP)
Fig. 7 will show a sample database table for ViDi’s responses data with GWP value of two point floating number. As mention earlier, GWP value is calculated by total count of general words divided by total count of all words in input sentence and the result of that will be multiply by 100 so that we get the percentage value of general words in the sentence. Since the GWP value is calculated when the response is being added or edited, ViDi then will only need to retrieve each related response’s GWP value whenever it is needed. The need to use GWP values occur when there are multiple final responses after the keywords matching process is done. This situation then will require ViDi to chose response with the lowest GWP value to be a winner by the logic of response’s with lowest GWP value holds the more meaningful sentence that the others given the description that the sentence had more ”meaning words” rather than general words apart from other responses (mention earlier in section 3.2). Taking into account if there is more than one response with the same lowest GWP value, ViDi then will have no choice but to choose a random response among those responses to be the winner assuming all responses had the same value of meaning to be revealing in their respective sentence.
Fig. 7. A sample database table for ViDi’s responses data with GWP value at the last column from the left. Note that second column (from the left) is holding the Macth Id data.
We put into a test One-match keywords data ”testing1” to all responses (response’s Match Id 25, 26 and 27) and ”testing2” only to response 25 and 26 in order to demonstrate how ViDi will chose its final winning response in a condition that final responses had more than one data. Referring to Fig. 8 below, keywords data ”testing1” will trigger three final responses and with response 27 had the lowest GWP value (2.86 over 3.51 and 5.71), it became the winner. Then for keywords data ”testing2” that triggered two final responses (25 and 26), the winner is response 25 with lowest GWP value of 3.51 over 5.71. 4.3
Synonyms and Root-Words
Most of previous developed chatbot had indicated the implementation of synonyms replacement but none of them had really implied the mechanism of root words replacement. It is generally because that mechanism is not essential when developing chatbot for the used of English language (general language used) but when dealing with Bahasa Malaysia language, it became otherwise by the reason of Bahasa Malaysia had its own linguistic component named ”imbuhan”
42
A.S. Lokman and J.M. Zain
Fig. 8. Testing the selection of winner response over several final responses after keywords matching process
that made it possible for the same meaning word to have a lot of variations in it’s spelling. If synonyms replacement were to be made without limiting the word’s variations, synonyms database will be really huge with redundant words with the same meaning, and also authoring that database will be really hard considering the flexibility of ”imbuhan”. ”Imbuhan” by all syntactic means is an additional character that being added into the words (mostly verb) in order to make it more suitable for the sentence condition, for example, a sentence’s types (passive or active). There are simply two conditions where ”imbuhan” affected the root words which are 1) ”imbuhan” that did not change the root words after being added and 2) ”imbuhan” that will slightly changed the root words in order to adapted into it. For the second condition, ”slightly changed” means a changed that is considered minor, which involved only the change of one to two character in average. Therefore, in managing Root-words, there will be two parameters involved that are word and swap. Word is a root word within the word while swap is a word that will be replacing word if the root word matched the second condition of ”imbuhan” affection. For Synonyms, it uses basic parameters (as mostly used by other chatbots) that are input (a word to matched with an input word from user) and swap (a synonym word that will be replacing input once the input matched with the input from user). In the input normalization process, the precedence goes to Root-words replacement over Synonyms replacement. This is because the needs for algorithms to eliminate word’s variations by Root-words replacement before getting it normalize by Synonyms replacement that has no jurisdiction over words with incorporated ”imbuhan” component. In conjunction to that, a swap data for Synonyms database must not contain any word with ”imbuhan” attached to it in order to avoid unnormalize words being sent to the next step of sentence processing (after normalization process is done). Fig. 9 below will show a sample of vBrain UI for managing Synonyms and Root-words data and then Fig. 10 will show a sample data from before and after normalization regarding Synonyms and Root-words replacement processes.
Chatbot Enhanced Algorithms
43
Fig. 9. vBrain UI for managing Synonyms and Root-words
Fig. 10. Sample of input data before and after normalization process regarding Synonyms and Root-words (noted that this will not actually be shown in the real conversation between users and ViDi)
5
Conclusion
Although the case study of the new proposed algorithms and techniques is just within Bahasa Malaysia language, the logic and technique was rather transferable. Using an approach of relational database model is a remarkable choice when dealing with a large amount of data as in knowledge-based needed by chatbot. The relation within the data in the knowledge-based database really open a whole new possibilities in the interaction within chatbot data processes. Those interaction makes it possible to have a lot more features embedded into chatbot processing algorithm such as the replacement of the ”topic” variable to connect response to one another, to the used of Extension and Prerequisite that is much more capable in define and maintain not only one, but multiple path within multiple responses, and focus to the specific interaction rather than make it open wide to other interaction that is not so much into the conversation topic
44
A.S. Lokman and J.M. Zain
or issue. Reducing the range of possibilities in keywords matching is one of the important things in developing chatbot because the chatting process is happen in real time where every seconds is precious. You do not want to leave the user on hold for a long time because the user might lose their interest into chatting with your chatbot. Therefore, any algorithm that can shorten the process of finding the match is very critical in developing chatbot, but not too skeptical that it will choose a less relevant response over the much more relevant one because focusing on process speed that it forget the conservative components of a chatbot that is conversation to human that requires a relevant and applicable responses. That is why we taking into account both performances and accurateness over chatbot process that define our algorithms and technique to be the enhancement of previously known chatbot algorithms.
References 1. Sawar, A., Atwell: Chatbots: are they really useful? LDV-Forum Band 22(1), 31–50 (2007) 2. Caplan, D., Waters, G.: Verbal working memory and sentence comprehension. Behavioral and brain Sciences 22, 77–126 (1999) 3. Gibson, E.: Linguistic complexity: locality of syntactic dependencies. Cognition 68, 1–76 (1998) 4. King, J., Just, A.: Individual differences in syntactic processing: the role of working memory. Journal of Memory and Language 30, 580–602 (1991) 5. Crocker, M.W., Pickering, M., Clifton Jr., C. (eds.): Architectures and Mechanisms for Language Processing. Cambridge University Press, Cambridge (2000) 6. Turing, A.M.: Computing Machinery & Intelligence. Mind LIX(236) (1950) 7. Wallace, R.: AIML Pattern Matching Simplified, http://alicebot.org 8. Webber, G.M.: Data Representation and Algorithms For Biomedical Informatics Applications, PhD thesis, Harvard University (2005) 9. Weizenbaum, J.: ELIZA- A Computer Program For the Study of Natural Language Communication Between Man And Machine. Communication of the ACM 9(1) (1966) 10. Shah, H.: A.L.I.C.E.: an ACE in Digitaland. TripleC 4(2), 284–292 (2006)
Handwritten Digits Recognition Based on Swarm Optimization Methods Salima Nebti and Abdellah Boukerram Department of computer science, Ferhat Abbess University, Setif, 19000, Algeria [email protected], [email protected]
Abstract. In this paper, the problem of handwritten digits recognition is addressed using swarm based optimization methods. These latter have been shown to be useful for a wide range of applications such as functional optimization. The proposed work places specific swarm based optimization methods that are the particle swarm optimizer and variations of the bees’ colony optimization in handwritten Arabic numerals recognition so that to improve the generalization ability of a recognition system through the use of two alternatives. In the first one, swarm based methods have been used as statistical classifiers whereas in the second one a combination of the famous gradient descent back-propagation learning method and the bees algorithm has been proposed to allow better accuracy and speediness. Comparative study on a variety of handwritten digits has shown that high recognition rates (99.82%) have been obtained. Keywords: Handwritten digits recognition, particle swarm optimization, the bees’ algorithm, artificial bee colony optimization, Multi layer perceptron.
1 Introduction Handwritten characters recognition has gained a significant attention and still on the level of research as humans need to communicate with computer in the easiest manner to help and speed interaction as well as the exchange of information [5]. The objective of an optical character recognition system (OCR) is to give significance in a numerical format of alphabetical letters, numerical numbers and other type styles such as punctuation without human intervention. Handwritten character recognition is an important task as it helps automation of a great number of applications such as automatic reading of bank checks, postal addresses and more; especially for tablet PC applications…... Handwritten character recognition systems can be distinguished into two main categories: online and off-line recognition systems. The first one treats the data in real time when the user writes the text, while the second one treats the data coming from a scanned document after text acquisition [11]. Characters recognition is a difficult task due to the large changeability of writing styles and it is a hard task on the level of text recognition where recognition goes by many processes that are: text segmentation into sentences, sentences into words and F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 45–54, 2010. © Springer-Verlag Berlin Heidelberg 2010
46
S. Nebti and A. Boukerram
words could be segmented into letters for their recognition. In all these processes, a lexicon dictionary is essential to deduce the correct assumption during recognition [10],[3]. The majority of character recognition systems are based on neural networks thanks to their generalization capability which is their ability to treat distinct examples from the learned data [4]. Artificial Neural networks (ANN) have been successfully applied to handwritten characters recognition. Evolutionary optimization provides new solutions for a wide range of neural networks applications. They can bring a great number of solutions such as neural networks learning and neural networks architecture evolution. The reasons behind their use consist mainly in their ability to explore large search spaces with a minimum knowledge concerning the objective function to optimize. The use of evolutionary algorithms such as genetic algorithms [2], genetic programming [15], simulated annealing [1] and particle swarm optimization [14], [16] has been justified very effective for many applications. In this work, we show that swarm based algorithms can indeed be used effectively, to make a recognition system capable to give good results. Particle swarm optimization and the bees’ colony optimization have been adapted for handwritten Arabic digits classification. Also, we show that the bees’ algorithm and the multi layer perceptron (MLP) can be combined effectively, to make a robust recognition system. Details of these algorithms are given with their adaptation also the obtained results. The rest of the paper is organized as follows. In section 2 a brief description of MLP neural network. In sections 3 and 4, the basic concepts underlying the bees’ algorithm and the artificial bee colony optimization are presented. In section 5, the tackled problem is formulated. In section 6, some experimental results are presented. Finally, conclusion and future works are drawn.
2 The Multi-Layer Perceptron The multi layer perceptron (MLP) is a supervised neuronal classifier which consists of an input layer whose size is equal to the input data size, one or more hidden layers whose size is determined by experiment and the output layer whose size is equal to the number of the target classes. In MLP networks, each neuron is connected to a number of inputs that can be the input data or the outputs of the preceding layers. From each neuron, information is propagated to the next layer using an activation function (usually a sigmoid function) applied to the scalar product between the inputs and the corresponding weights [7].
net j = bias * W bias + ∑ O pk (W jk ) k
O pj ( net j ) =
1 − λ net j 1+ e
(1)
Handwritten Digits Recognition Based on Swarm Optimization Methods
Opj : function "j": "p": "Wjk": "netj":
47
is the output from neuron "j" for pattern "p" using asigmoid activation the current neuron indicates the current pattern is the synaptic weight from intput k to neuron "j" is the total weight of neuron j
3 The Bees’ Algorithm The Bees Algorithm is a recent meta-heuristic that imitates the foraging behavior of honey bees when searching for food sites. This algorithm achieves a neighborhood search in joint with a random search for combinatorial or functional optimization [13]. To find an optimal solution, a proportion of the population is specified as representative bees (sites) searching for best patches and the remaining bees scout randomly from one patch to another during exploration [12]. The following is the bees’ algorithm in pseudo code [12], [13]: Initialize a population of solutions in a random way. Evaluate the fitness of each individual. While (stopping criterion is not satisfied) Select sites for neighborhood search. Recruit bees for selected sites Recruit more bees around the elite sites Evaluate the recruited bees’ fitnesses. Replace each site (elite site) by the fittest bee from its neighborhood. Assign the remaining bees in a random way then evaluate their fitnesses. End while
4 The Artificial Bee Colony Optimization (ABC) The ABC algorithm is a recent population based algorithm proposed by Karaboga [6] inspired from the intelligent behavior of honey bees when searching for food sources. The population in ABC algorithm is organized in three sub-groups: employed bees, onlookers and scouts. In ABC algorithm, food sources are possible solutions to an optimization problem and their nectar amounts correspond to fitnesses of the associated solutions [6]. Initialize the food sources in a random way (employed and onlooker bees) For a number of iterations do For each employed bee do Determine its fitness Produce a new solution in its neighborhood (its site) If it is better, it replaces the current employed bee End Calculate the probability value of the sources preferred by the onlooker bees
48
S. Nebti and A. Boukerram
For each onlooker bee do Select a source based on the estimated probability. Produce a new solution in its neighborhood If it is better, it replaces the current onlooker bee end Initialize the abandoned sources in a random way (not improved solutions) Memorize the best food source End [8]
5 Problem Formulation The described approach can be summarized in the following steps: 5.1 The Preprocessing Step We perform the following preprocessing steps: • • •
Binarization using Otsu method Crop each character from its image by eliminating the blank spaces Skeletization (thining)
5.2 Features Extraction Step In this paper, we have considered two famous feature extractors: Zoning and Hu moments. Zoning: The character image is divided into 8 by 8 zones, then the normalized number of foreground pixels i.e. the pixels density in each zone is considered as a feature item, so the feature vector of each character image has a size of 64 (8*8) features. Hu moments: The first 7 Hu moments were used; these features have been chosen since they are known by their invariance to translation, scaling and rotation. 5.3 The Classification Step We have developed two alternatives: The first alternative After determination of feature vectors it is possible to assign them to known character classes (here ten classes: from 0 to 9). In this work each particle (bee) is a set of ten feature vectors of randomly chosen characters from the training database, these features are considered as clusters centers. A cluster is a group of characters having the same class. The center is the character capable to give the minimum of the sum of squared error (SSE). The aim of PSO (the bees algorithm) is to minimize the SSE between the training data and the set of handwritten characters being recognized then to save the best characters that give the best minimized fitness (i.e. the sum of squared error).
Handwritten Digits Recognition Based on Swarm Optimization Methods
49
The proposed approach uses PSO or Bees colony optimisation dynamics to search for good characters classification. Algorithm: The particle swarm optimizer (bees colony optimizer) for characters recognition 1. Transform the set of characters being recognized into feature vectors. 2. Initialise a population of particles (bees) with a number of character features (this number is equal to the number of characters being recognized). For i =1 to number of characters being recognized do 3. Depending on the fitness between the current particle (bee: a character) and using the suitable optimizer method generate new particle (bee) i.e. new character in the current generation. Save the best character that have the minimum sum of squared error. 4. Check if the specified number of iterations is reached or no. 5. If no go to Step 3. 6. end End for i The second alternative This alternative is a combination of the famous back-propagation algorithm with the BA that allows high accuracy. In so doing, we have considered ten MLPs to recognize the ten digits (0 ..9). the output of each MLP is 1 for the considered digit class and 0 for all the other digits. For example the output of the first MPL that recognizes the digit 1 is: 1000000000 0000000000 0000000000 …………………. The output of the second MLP that recognizes the digit 2 is: 0000000000 0100000000 0000000000 …………………. The output of the third MLP that recognizes the digit 3 is: 0000000000 0000000000 0010000000 …………………. And so on. We have considered this scheme to find the unrecognized digits during the test step. (the unrecognized character is the character not classified by any one of the ten networks).
50
S. Nebti and A. Boukerram
The following is a description of this method. Algorithm: The bees algorithm with MLP trained by back-propagation for digits recognition 1. Transform the set of characters being recognized into feature vectors. 2. Apply back-propagation to train the ten MLPs 3. Test the networks and determine the characters which are not recognized 4. Send these characters as inputs to the BA classifier described above.
6 Results and Discussion To assess the performance of the proposed algorithms, different kinds of handwritten digits have been used like handwritten digits obtained from the MNIST database and scanned samples of handwritten digits. The initial parameter settings during experiments were as summarized in the table below: Table 1. Initial parameter setting The first alternative PSO based Classifier
The BA based Classifier
The ABC based Classifier
NumberOfparticles:200
Number of bees: 200
The inertia weight : A decreasing inertia weight from 0.78 to 0.1
Number of sites: 40
Number of iterations for scouting: 20
The cognitive and social factors :1.49
Number of elite sites:20 Number of bees around sites:50 Number of bees around elite sites: 80
Number of onlooker bees:100
Size of neighborhood: 0.0234
Number of employed bees:100
The second alternative Number of bees: 200
For each MLP
Number of sites: 40
The number of Hidden neurons: 32
Number of elite sites:20
The number of Output neurons: 10
Number of bees around sites:50
Number of epochs:5000
Number of bees around elite sites: 80
The number of training characters : 8000
Size of neighborhood: 0.0234
The number of testing characters: 2000
Handwritten Digits Recognition Based on Swarm Optimization Methods
51
For all the following results, we have used 10 000 selected digits from the MNIST database, 8000 digits were used for training (i.e. 800 digits per class) and the other 2000 digits were used for testing (i.e. 200 digits per class). Concerning the ABC approach, it is adapted with some changes; we have employed the notion of neighborhood used in the BA in the place of random selection of possible solutions as neighbors. Also we have used the Sum of Squared Error between the characters being recognized and the characters used for training as fitness without any alteration as in the ABC algorithm. The probability of the preferred sources by the onlooker bees is: (the-fitness-of-an-employed-bee / Sum-of-allemployed-bees-fitnesses). With these changes, the algorithm is more stable when applied to handwritten digits recognition. In table2, we summarize the obtained results after 10 runs for each algorithm. Table 2. Comparative results The first alternative The recognition rate The used classifier
Zoning features
Hu moments
PSO (100 iteration) ABC (100 iteration) BA (100 iteration) K-nn
80.428 % 80 % 92.857 % 90%
92.2% 84.49% 99.8% 98%
The used classifier
The second alternative The recognition rate
Back-propagation(50000 iteration) without regularization or cross validation
80.01%
combined back-propagation BA (5000 iteration for each MLP with BP + 100 iteration for the BA)
99.82%
As these results show, it is seen that in the first alternative that the BA based training approach gives the best results, PSO algorithm gives better results than ABC when dealing with handwritten digits recognition. Also, it has been found that the Hu moment feature extractor contributes to a better classification than the zoning feature extractor. In the second alternative the combined back-propagation with the BA gives the best results compared to the famous back-propagation algorithm because the misclassified digits using the MLP will be then correctly classified using a good classifier such as the bees’ algorithm. These mentioned results are very promising when compared to [9].
52
S. Nebti and A. Boukerram
Also, it is important to say that we have found in the MNIST database a number of similar digits which belong to different classes (i.e. having the same feature vector but different labels i.e. different target vectors) For example we have found: are similar to digit 6 but labeled as digit 5. is similar to digit 4 but labeled as digit 8. is similar to digit 8 but labeled as digit 3…. and more. When we have eliminated these digits, a recognition rate of 100% has been obtained by the BA and the combined Back-propagation with the BA, using 7500 training digits and 2000 testing digits. The graphs bellow show the behavior of some classifiers I.e. the minimization of the sum squared error (SSE) on the training data during iterations when the Hu moment features are considered.
0.02
0.015
0.018
0.014
0.016
SSE
0.013
SSE
0.014
0.012
0.012 0.011
0.01 0.01
0.008
0.009
0.008
0.006 0.004 0
10
20
30
40
50
60
70
80
90
100
0
10
20
30
Fig. 1. The ABC classifier behavior: Recognition Rate 80.9%
40
50
60
70
80
90
100
iterations
iterations
Fig. 2. The BA classifier behavior: Recognition Rate 99.85% 0.09 0.08 0.07
Mse
SSE 0.06 0.05 0.04 0.03 0.02 0.01
iterations
Fig. 3. The combined Bp with BA classifier behavior: Recognition Rate 99.87%
0
10
20
30
40
50
60
70
80
90
100
iterations
Fig. 4. The PSO classifier behavior: Recognition Rate 90.65%
Handwritten Digits Recognition Based on Swarm Optimization Methods
53
7 Conclusion Our work focuses on applying swarm based optimization methods as training classifiers for handwritten digits recognition. We have shown how particle swarm optimization and the bees’ colony optimization methods can be used to guide the search for better numerals that are the most close to the numerals being recognized and thus allowing good recognition accuracy by maintaining diversity. Experiments show very promising results in terms of accuracy. When dealing with handwritten digits recognition, the use of the BA often gives the best results compared to PSO, ABC and the famous K nearest neighbor (K-nn) classifier. Also, it is found that the combined BA with Back-propagation for training a MLP gives the highest results in terms of accuracy and speediness due to hybridization. We have found that the neural approach is the best, it takes an enormous time for training but once the training finishes, the best weights are saved for a very quick recognition time, in contrast to the other presented approaches which give good results but a very long time for recognition which make their use impossible in the real applications. As future works, we can easily extend this work to recognize the handwritten Latin characters based on structural and geometrical features. Also we can reduce the training time based on digits selection using these swarm optimization algorithms as clustering methods before the training step. Also we guess that the use of these metaheuristics for neural networks architecture evolution (i.e.: to determine the best number of hidden layers and hidden neurons) will give good quality results.
References 1. Arnaud, A.L., Adeodato, P.J.L., Vasconcelos, C.G.: MLP Neural Networks Optimization through Simulated Annealing in a Hybrid Approach for Time Series Prediction. In: SBC ENIA 2005 - V Encontro Nacional de Inteligência Artificial, pp. 1110–1113 (2005) 2. Branke, J.: Evolutionary algorithms for neural network design and training. Technical Report No. 322, University Karlsruhe, Institute AIFB (1995) 3. Bloomberg, D., et al.: Extraction of Text-Related Features for Condensing Image Documents. In: SPIE, vol. 2660, pp. 72–88 (1996) 4. Vesely, A.: Neural networks in data mining. AGRIC. ECON. – CZECH 49(9), 427–431 (2003) 5. Harnett, J.: Developments in OCR for automatic data entry. In: Picken, C. (ed.) Proceedings of a conference on Translating and the Computer, November 14-15, 1985, vol. 7, pp. 109–117. CBI Conference Centre, London (1986) 6. Karaboga, D.: An Idea Based On Honey Bee Swarm for Numerical Optimization. Techn. Rep. TR06, Erciyes Univ. Press, Erciyes (2005) 7. Rojas, R.: A Graph Labelling Proof of the Backpropagation Algorithm. ACM Commun. 39(12es), 207–215 (1996) 8. Karaboga, D., Akay, B.: Artificial Bee Colony (ABC), Harmony Search and Bees Algorithms on Numerical Optimization. In: IPROMS 2009, Innovative Production Machines and Systems Virtual Conference, Cardiff, UK (2009) 9. Gorgel, P., Oztas, O.: Handwritten Character Recognition System Using Artifıcial Neural Networks. Istanbul University – Journal of Electrical & Electronics Engineering 7(1), 309– 313 (2007)
54
S. Nebti and A. Boukerram
10. Makhoul, J., Starner, T., Schwartz, R.M., Chou, G.: On-Line Cursive Handwriting Recogni-tion Using Hidden Markov Models and Statistical Grammars. In: Proceedings of Human Language Technology Conference HLT 1994, pp. 432–436 (1994) 11. Park, J.: Hierarchical Character Recognition and its uses in handwritten word/phrase recognition, PHD thesis (1999) 12. Pham, D.T., Ghanbarzadeh, A., Koc, E., Otri, S., Rahim, S., Zaidi, M.: The Bees Algorithm. Technical Note, Manufacturing Engineering Centre, Cardiff University, UK (2005) 13. Pham, D.T., Ghanbarzadeh, A., Koç, E., Otri, S., Rahim, S., Zaidi, M.: The Bees Algorithm – A Novel Tool for Complex Optimisation Problems. In: Proceedings of IPROMS 2006 Conference, pp. 454–461 (2006) 14. Su, T., Jhang, J., Hou, C.: A hybrid artificial neural networks and particle swarm optimization for function approximation. International Journal of Innovative Computing, Information and Control 4(9), 2363–2374 (2008) 15. Tan, C.L., Chia, H.W.K.: Neural Logic Network Learning using Genetic Programming. In: Proc. 17th Int’l Joint Conf. Artificial Intelligence (IJCAI ’01), vol. 2, pp. 803–808 (2001) 16. Wu, P., Shieh, C.S., Kao, J.H.: The Development of Neural Network Models by Revised Particle Swarm Optimization. In: JCIS 2006, pp. 1951–6851 (2006), http://cui.unige.ch/AI-group/teaching/dmc/07-08/cours/ dm06-mlp-handouts.pdf
A Framework of Dashboard System for Higher Education Using Graph-Based Visualization Technique Wan Maseri Binti Wan Mohd1, Abdullah Embong2, and Jasni Mohd Zain3 Faculty of Computer System & Software Engineering University Malaysia Pahang [email protected], [email protected], [email protected]
Abstract. We propose a novel approach of knowledge visualization method by adopting graph-based visualization technique and incorporating Dashboard concept for higher education institutions. Two aspects are emphasized, knowledge visualization and human-machine interaction. The knowledge visualization helps users to analyze the comprehensive characteristics of the students, lecturers and subjects after the clustering process and the interaction enable domain knowledge transfer and the use of the human’s perceptual capabilities, thus increases the intelligence of the system. The knowledge visualization is enhanced through the dashboard concept where it provides significant patterns of knowledge on real-world and theoretical modeling which could be called wisdom. The framework consists of the dashboard model, system architecture and system prototype for higher education environment is presented in this paper. Keywords: Data Mining, Knowledge Discovery, Knowledge Visualization.
Data Visualization,
1 Introduction For many tasks of exploratory data analysis, visualization plays an important role. Data visualization is widely accepted by the medical, scientific, engineering, entertainment and business industries due to its ability to add value to existing data, but have not been widely studied for applications in higher education data analysis. It is critical for the higher educationist to identify and analyze the relationships among different entities such as students, subjects, lecturers, environment and organizations to ensure the effectiveness of their important processes. Furthermore, higher education will find larger and wider applications for data visualization than its counterpart in the business sector, because higher education institutions carry three duties that are data mining intensive: scientific research that relates to the creation of knowledge, teaching that concerns with the transmission of knowledge, and institutional research that pertains to the use of knowledge for decision making [1]. The study to investigate a new concept of University Dashboard was motivated by the findings from a previous study comparing the existing university reporting system and the new expected dashboard through qualitative and quantitative study done F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 55–69, 2010. © Springer-Verlag Berlin Heidelberg 2010
56
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
among the stakeholders of Malaysian Higher Education Institution [16]. Table 1 shows the comparison between the current reporting system and the new expected dashboard required by the university. Table 1. Comparison between Features of the current reporting system and the new expected dashboard
1
New University Dashboard Illustrate the Overall Summary of Student Performance at a glance using Dashboard Concept and incorporating Key Performance Indicator.
2
Incorporating Data Mining engine to cluster the Student’s Result for knowledge exploration
3
Incorporating Forecasting engine to forecast the Future Student Performance
4
Incorporating Opinions from Education Experts on the student performance and suggestion for improvement as part of knowledge management mechanism.
5
Incorporating Related Publications such as article, conference proceeding, paperwork and technical report which relates to the student performance.
6
Incorporating Drill-down Features to zoom into Cluster’s Behavior and Analysis by Faculty, year and race
7
Incorporating Knowledge Management Elements to process the Explicit Knowledge such as Data Clustering of Student’s Result, Detail Student Behavior and Analysis of Results. Incorporating Knowledge Management Elements to process the Tacit Knowledge such as Expert Opinion and Skill and Experience through publications such as knowledge bank in the terms of Technical Report, Article, Journal, Paperwork and etc.
8
Current University Reporting System The current dashboard is just a normal reporting without incorporating the Key Performance Indicator and display details without summary for the University. The current system does not incorporate Data Mining process. The results are only go through normal information retrieval with predefine requirements The current system does not incorporate forecasting engine. It only displays the current status and history. The current report does not include expert opinion. Opinions are recorded as part of meeting minutes without proper documentation – no knowledge management mechanism. No sufficient research being done to improve student performance. The findings are not attached to the academic system for review or to help in decision making. Drill down only for faculty, year, race etc, but not to detail student’s behavior. Student behavior is not captured in any university application. Very limited knowledge management for explicit knowledge. The current system just display result without exploring the insight of the information. The current systems display only the result of explicit knowledge without tacit knowledge.
A Framework of Dashboard System for Higher Education
57
Based on the above findings, a new Knowledge Based Dashboard system has been designed to facilitate knowledge visualization as part of knowledge management activities specifically to support knowledge sharing, usage and exploration in Higher Learning Institutions. It has been designed as a holistic approach by combining various techniques including software intelligent engines, graph-based visualization technique, integration of explicit and tacit knowledge and trend analysis. This paper explains the overall concept and design of knowledge based Dashboard framework, dashboard features, visualization technique used in the dashboard and the components of the dashboard by illustrating the dashboard prototype.
2 Related Works 2.1 Visual Data Mining The main reason for data visualization is the limitation of human beings to absorb the large amount of information. The volumes of data are overwhelming and the human visual systems and brain are not equipped to work with the data in this form [2]. In brief, data visualization is a method of presenting the output so that the entire problem and the solution are clearly visible to domain experts [3]. Data visualization uses graphical and numerical tools to reveal the information contained in data [2]. It is more effective approach for understanding and communication than the use of common numerical tools. Graphical methods hold a key for visualization. 2.2 Data Visualization Technique and Software Visual representation of data has evolved rapidly in recent years. Ankerst (1999) gives a comprehensive overview over existing visualization techniques for large amounts of multidimensional data [4]. In general, visualization techniques are powerful tools that are frequently employed in knowledge discovery processes. Visualizations can make complex relationships easily understandable and stimulate visual thinking [5]. Especially, tools which visualize the cluster structure of data are valuable for exploring and understanding data. Such tools include data histograms for one-dimensional data as well as algorithms which project high-dimensional data to a two-dimensional visualization space trying to preserve the topology [5]. Recently, several techniques of data visualization have been introduced. Among the popular techniques are independence diagrams [6], equiwidth histograms, correlation coefficients and scatterplots, geometric techniques, icon-based techniques, pixeloriented techniques, hierarchical techniques, graph-based techniques and dynamic techniques [7]. 2.3 Graph-Based Visualization Technique Multiple relationships can be represented within a single graph by displaying the name of each relationship as the label of an edge or arc, or by using different colors or
58
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
line styles to render the edges or arcs associated with each relationship [12]. Beside the graph structure, interactive graph-based interfaces have been discussed in various studies. Interactivity is desirable to browse and edit data. However, as graphs increase in size, interactive interfaces risk information overload and low responsiveness. Bondy and Murty (1976) provide an excellent introduction to graph theory [9]. The basic data structures and algorithms for manipulating graphs are out-lined in [10]. A general introduction to database theory can be obtained from [11]. Subsequently, Freire (2004) highlighted the challenge of preserving the mental map during graph navigational actions. Performing incremental layouts after each navigational or editing step implies that there will be greater differences between successive views, and therefore greater care is required to preserve the mental map during interaction. Freire (2004) have also identified a series of general “factors” that contribute to mental map preservation which are predictability, degree of change and traceability[12]. 2.4 Digital Dashboard Digital dashboard is visual, at-a-glance displays of data pulled from disparate business systems to provide warnings, action notices, next steps, and summaries of business conditions [14]. Today, digital dashboard technology is available "out-ofthe-box" with many software providers on the scene. The concept of “information overload” has been the driving force behind the creation of Digital Dashboards. In a typical organization there are so many different sources of pertinent information from which to make decisions, yet it can be so difficult to obtain the information into a format that is truly useful [15]. The term Dashboard has transcended the automotive arena to enter the business world hand in hand with visualization. The main function of a digital dashboard technology is to synchronize information in one visible and easy-to-read place. Hence a digital dashboard is a graphic representation that contains a series of gauges and depictions that summarize the state of the company, be it financial, sales or more generally of any indicator that allows you to know the situation, possibly in real time, of your business [15]. 2.5 Data Visualization in Higher Education Major applications of data visualization identified for higher education institutions are alumni, institutional effectiveness, marketing and enrollment management; for example, data visualization allows the higher institutions to act before a student drops out, to plan for resource allocation based on number of students taking a particular course, to identify those who are most likely to donate or participate in alumni related activities, to identify how do students learn best, what courses are often taken together and what learning experiences are most contributive to overall learning outcomes [1]. Although there are several studies done on data visualization in higher education, the effectiveness of the visualization system is still an open area to be explored. The study proposes a holistic approach of visualizing the data in higher education environment.
A Framework of Dashboard System for Higher Education
59
The motivation for this paper is to develop a framework of Graph-based Dashboard Visualization system as a visualization tool for knowledge discovery in higher education environment which integrates the dashboard and graph-based visualization concepts.
3 The Framework of Dashboard System for Higher Education Environment As the computer system become more advance, the demand for better visualization of data increases. In this paper, several concepts and techniques has been combined and integrated to improve the data visualization, hence improve the understanding of the data. The proposed framework has the following characteristics: (1) User friendly interface, (2) Representing the overview of the data dimensions using dashboard concept or single visual cue and (3) Providing graph-based visualization interface using cluster and feature vectors view with the color scheme to understand the insight of the data while preserving the mental-map. 3.1 Framework Design Fig. 1 illustrates the framework of the new visualization system for higher education. The system is designed in 3 structured layers to provide a systematic, natural and convenient visualization of data [9]. In a layered graph, each layer corresponds to an abstraction level that contains a view of a collection of data starting from overview and drill down further into the detail to zoom insight the data. The first layer represents the summary or overview of data which implies the health of the institution in dashboard form, while the second layer provides the users with the insight of the data to further understand the internal pattern through the cluster view in graph form, and the third layer provide the behavior of the cluster through feature vectors view for further action. In higher education system, each level of organization’s hierarchy needs a specific view of the data. Thus, the proposed framework is designed to fulfill each level’s need by providing different view for each level of user in the institution. The dashboard layer is designed for management members of the organization to visualize the overall health of main subject in the organization. The second layer which shows the cluster of the object such as student is designed for implementer such as lecturers in higher education institution. The cluster of student is important to help the lecturers to understand the overall pattern and identify clusters need to be further investigated for necessary action. The last layer which is feature vectors layer explains the behavior of each cluster to give more information to the implementer to take further action. Furthermore, the interaction with the domain knowledge at dashboard layer shall allow them to change the performance indicator and the system shall trigger the clustering process to reprocess the clustering algorithm based on the input. Subsequently in the cluster layer, the interactivity shall improve the clustering process based on domain expert’s inputs. At the third layer which is feature vector view, the domain expert shall facilitate the system to define more attributes for each particular cluster. These interactions shall improve the intelligence and accuracy of the clustering process and at the same time, the system facilitates the knowledge forecasting.
60
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
Layer Interaction
Dashboard View
Layer Interaction
Cluster View
Layer Interaction
Feature Vectors View
Fig. 1. Framework of Graph-based Dashboard Data Visualization System
3.1.1 Dashboard Layer First layer represents dashboard of the organization, in which the main function is to synchronize information generated through data mining process in one visible and easy-to-read place. The concept of summarizing data through aggregation and roll-ups concept has been applied in this study[16]. Applying the roll-ups and aggregation concepts, the framework proposes a new aggregation and roll-ups techniques illustrated in Fig. 2.
Student 1
Student 2 Student 3
Student 4 Cluster 1 Student 6
Student 5
Transformation through aggregation And roll-ups techniques
40
60
20
80 6
Current number of student In the associated cluster
0
10 0
Targeted number of student In the associated cluster
Fig. 2. The transformation process through aggregation and roll-ups technique applied in graphbased Dashboard System
A Framework of Dashboard System for Higher Education
61
3.1.2 Cluster Layer Cluster layer comprises of clusters generated by a data mining process with clustering technique namely MaxD K-means clustering [16]. MaxD Clustering technique is identified as the most appropriate clustering technique for the study because it does not need any parameter to be input for the clustering engine. In higher education environment, the need to explore the unknown is highly demanded. For example, the unknown pattern of student’s cluster has to be determined without specifying the number of clusters expected. The generated clusters then are visualized in layer 2 using graph-based technique as shown in Fig. 3. Graph-based technique is proposed in this framework since it easily illustrates the size of cluster, distance between the items and the centroid and distance among the clusters. The clustering process will generate several clusters such as excellence, less excellence, medium cluster and not performing cluster of students. The clustering technique is considered more explorative compared to the normal reporting system. In normal reporting, the category of students is fixed and predefined, while, in clustering process, the number of generated category is naturally derived by the process of clustering. The visualization is further improved by using different color for each cluster.
Clustered using MaxD Clustering engine
Fig. 3. Clustering process using MaxD Clustering engine
3.1.3 Feature Vectors Layer To further understand the behavior or attributes of each cluster, a feature vectors is incorporated in third layer of the system. The idea is motivated from the study done by jonyer (2001), whereby the data is presented as feature vectors and represented as a collection of small, star-like, connected graphs. In the study, SUBDUE (The substructure discovery system) yields better results using a more general representation including a placeholder node (student in our example) that serves as the center node in the star [17]. Fig. 4 below illustrates the example of feature vectors of a student.
62
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
> 3.5
CGPA
Yes
Active
Having notebook
Co-curriculum
Student
Stay in Hostel Avg. number of subject per semester Yes
5
Fig. 4. Feature Vectors for Students in Higher Education
4 System Architecture The system starts with clustering processing to cluster the information in the existing organization’s database. At the same time, input from Key Performance Indicator (KPI) System will generate the dashboard for the targeted KPI. For the above processing, interaction with the domain experts shall improve the intelligence of the system. The outputs from the above processes shall be further processed by the Visualization Engine to produce the final output through Interactive Dashboard Knowledge Visualization System. The architecture of the system is shown in Fig. 5.
Key Performance Indicator
Domain Expert
Dashboard Process Visualization Engine Process Clustering Process (MaxD)
Interactive Dashboard Knowledge Visualization System Visualization Webpage
Database Domain Expert
Fig. 5. System Architecture of Interactive Dashboard Knowledge Visualization System
A Framework of Dashboard System for Higher Education
63
5 System Prototype The dashboard for Higher Education Institutions is designed to facilitate the management of the university in decision making and strategic planning. The web based prototype of the Dashboard was developed using Php Programming Language and MySQL database system, while the clustering and forecasting engines were developed using Oracle Form 6i and Oracle Database 11g. In this prototype, a Dashboard of student performance has been designed and developed to illustrate the usage of dashboard and visualization concept. Based on the above Dashboard features and visualization techniques, the components of Dashboard are derived as the following: 1) Health of the Institution at a Glance, 2) Knowledge Exploration, 3) Trend Analysis and Tacit Knowledge of experts. Those components are demonstrated via a development of prototype as shown in Fig. 6(a) and 6(b). Each Dashboard component shall be explained in the following section.
Fully Web-based
Overall Summary Reflects the Health of The Institution
Incorporating Data Mining Through MaxD K-Means Clustering
Provide Drill-down capability To Explore Student’s Behavior
Screen Shot of University Dashboard Case Study: First Class Student (Pg. 1)
Fig. 6(a). Components of Dashboard
Incorporating Tacit Knowledge
Screen Shot of University Dashboard Case Study: First Class Student (Pg. 2)
Provide Drill-down capability For Further analysis
Incorporating Document Bank for further research
Fig. 6(b). Components of Dashboard
64
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
5.1 Health of the Institution at a Glance The first component of the proposed Dashboard is ‘at a glance dashboard’. Using dashboard as shown in Fig. 7, the management of the institution can view at a glance the status of the performance in current semester, previous semester and next semester.
Fig. 7. Health of the Institution at a Glance
Fig. 8. Clusters Generated By MaxD K-Means Clustering Engine
5.2 Knowledge Exploration Knowledge exploration is the second components of the proposed Dashboard. The knowledge of the performance is explored by displaying the clusters of students based on their performance. The clusters have been generated by MaxD K-Means Clustering engine. In this case study, the clusters of student are based on the range of CGPA
A Framework of Dashboard System for Higher Education
65
derived by the clustering engine. The clusters illustrate the group of students with the same performance. Then each cluster shall be further explored via cluster’s behavior. The purpose of viewing the behavior is to help the management to identify the characteristics for each cluster in order to make recommendation and action. For example, by exploring the cluster with CGPA 3.5, the characteristic of the student in this cluster can be identified through cluster’s behavior and as a recommendation, the same characteristics and behavior can be practiced by other students to improve their CGPA. The prototype of the clusters and cluster’s behavior is shown in Fig. 8 and Fig. 9. Fig. 9 shows examples of characteristics or behavior of first class students which describe their study styles, attitudes and engagement time. Thus, by exploring these characteristics, other student will be able to practice the same thing in order to help them improve their performance.
Result First Class Student’s Factors (Student)
Strategize Learning
Interested With the subject
Create Own assignments Good SPM Result
Attend Class fully
Search extra material
Well Educated parents
First Class Factors (Student)
Consistent Learning Style
Study Group
Close to lecturers
Well Defined target Mix with Good Friends
Positive Attitudes
Fig. 9. Behavior of First Class Student Cluster
5.3 Trend Analysis The third component of the Dashboard is trend analysis. The trend analysis basically is the process of data transformation from information into knowledge to help the management in decision making. Trend analysis is done through analyzing knowledge in the form of trend or pattern for certain duration of time. The purpose of trend analysis is to identify the problems at high level. If there is any problem at high level, then the detail information will be furnished to investigate and solve the problems. Trends and patterns will be generated through executive information system (EIS) from institution’s database. The trends are presented in graphical format for effective visualization. Fig. 10 shows the trend analysis for student performance in graphical form with drill-down feature.
66
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
Fig. 10. Trend Analysis of Student Performance
Besides the trend analysis shown in Fig. 10, the study has identified other type of trend analysis for student performance based on the investigation from selected participants from Malaysian Higher Learning Institutions. The types of trend analysis are shown in Fig. 11.
Executive Information System
Trend by Faculty
Trend by Subject
Trend by subject
Trend by Lecturer
Trend by Year
Trend by Lecturer
Trend by Faculty
Trend by class
Trend by Subject
Trend by Semester
Trend by Semester
Trend by semester
List of student
List of Student
List of Student
List of Student
List of Student
Student Profile
Student Profile
Student Profile
Student Profile
Student Profile
Fig. 11. Types of Trend Analysis for Student Performance
In general, trend analysis in Higher Institution Education should include all aspect of management including trend analysis of teaching delivery performance, staff performance, management and supervision performance, facility performance, student affair and services, financial performance, product development performance and external service performance. All these analyses will be generated through EIS. 5.4 Expert Opinion Expert opinions captured in the Dashboard for Higher Education Institution is mainly about interpretation and opinion from the experts on the generated knowledge displayed on the Dashboard. In the current situation, this knowledge is captured during the meeting and is not attached or embedded with the generated knowledge. Fig. 12
A Framework of Dashboard System for Higher Education
67
shows the components of tacit knowledge captured from education experts to interpret the result of knowledge processing including the result of clustering, forecasting and trend analysis. The knowledge proposed in this study comprise of expert interpretation based on knowledge, experience and observation. The referred publications such as journal, conference paper, books and article are also captured as supporting tacit knowledge from external experts.
Fig. 12. Components of Expert Opinion
Fig. 13 illustrates the prototype of expert opinion captured from experts during the analysis of knowledge displayed on the Dashboard. The expert opinion includes interpretation of knowledge, opinion to solve a particular problems related to the knowledge displayed and referred publications for the related subject matter. The referred publication is also known as knowledge bank.
Fig. 13. The Prototype of Expert Opinion in Dashboard
68
W.M.B. Wan Mohd, A. Embong, and J.M. Zain
6 Conclusion In this paper, we addressed problems with the existing visualization system, in which the understanding of data plotted in current system is difficult to understand. We propose a holistic framework of data visualization system which shall improve the visual impact of the system. By designing the system to be multi-layered, it shall improve the visualization and personalization level. The framework of the system combines dashboard and graph-based concept to ensure that data is visualized in appropriate view for each group of users. The example of graph-based dashboard system design and prototype is illustrated for higher education environment.
References 1. Luan, J.: Data Mining and Its Applications in Higher Education. In: Serban, A., Luan, J. (eds.) Knowledge Management: Building a Competitive Advantage for Higher Education. New Directions for Institutional Research, vol. 113. Jossey Bass, San Francisco (2002) 2. Anand, M., Bharath, B.N., Chaitra, Kiran Kumar, M.S.,Vinay, C., Bharatheesh, T.L.: Visual Data MiningApplication in Material, http://www.geocities.com/anand_palm/ 3. Sarabjot, S.A., Bell, D.A., Hughes, J.G.: The Role of Domain Knowledge in Data Mining. In: Conference on Information and Knowledge Management (CIKM 1995), Proceedings of the fourth international conference on Information and knowledge management, Baltimore, MD, USA, pp. 37–43. ACM Press, New York (1995) 4. Ankerst, M., Elsen, C., Ester, M., Kriegel, H.-P.: Visual Classification: An Interactive Approach to Decision Tree Construction. In: Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining, KDD 1999, San Diego CA USA, pp. 392–396. ACM Press, New York (1999) 5. Pampalk, E., Goebl, W., Widmer, G.: Visualizing Changes in the Structure of Data for Exploratory Feature Selection. In: SIGKDD 2003, Washington, DC, USA (2003) 6. Berchtold, S., Jagadish, H.V., Ross, K.A.: Independence Diagrams: A Technique for Visual Data Mining. In: Proc. KDD 1998, 4th Intl. Conf. on Knowledge Discovery and Data Mining, New York City, pp. 139–143 (1998) 7. Han, J., Cercone, N., RuleViz : A Model for Visualizing Knowledge Discovery Process. In: Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, Boston, MS, USA, pp. 244–253. ACM Press, New York 8. Emanuel, G.N.: Challenges in Graph-Based Relational Data Visualization. In: Proceedings of the 1992 conference of the Centre for Advanced Studies on Collaborative research CASCON ’92, IBM Centre for Advanced Studies Conference, Toronto, Canada, vol. 1, pp. 259–277 (1992) 9. Bondy, J.A., Murty, U.S.R.: Graph Theory with Applications. North Holland, Amsterdam (1976) 10. Tarjan, R.E.: Data Structures and Network Algorithms. CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 44. SIAM, Philadelphia (1983) 11. Ullman, J.D.: Principles of Database and Knowledge-base Systems, vol. 1. Computer Science Press, Rockville (1988) 12. Freire, M., Rodríguez, P.: A graphbased interface to complex hypermedia structure visualization. In: Proceedings of the working conference on Advanced visual interfaces, ACM 2004, Gallipoli, Italy, pp. 163–166 (2004)
A Framework of Dashboard System for Higher Education
69
13. Eades, P., Sugiyama, K.: How to Draw a Directed Graph. Journal of Information Processing 13(4) (1990) 14. Abel, T.: Microsoft Office 2000: Create Dynamic Digital Dashboards Using Office, OLAP, and DHTML. MSDN Magazine (2000), http://msdn.microsoft.com/msdnmag/issues/0700/Dashboard/ (posted on 2006) 15. Marcus, A.: Dashboard in your Future. Interactions (January-February 2006), http://www.denniskennedy.com/blog/2006/06/ is_there_a_digital_dashboard_in_your_future_a.html (posted on June 22, 2006) 16. Mohd, W.M.W., Zain, J.M., Embong, A.: MaxD K-means: Auto-generation of Initial Number of Cluster and Centroid based on Distance of Data Points. In: Industrial Conference on Data Mining, ICDM 2007 Symposium Poster (2007) 17. Jonyer, I., Cook, D.J., Holder, L.B.: Graph-Based Hierarchical Conceptual Clustering. Journal of Machine Learning Research 2, 19–43 (2001)
An Efficient Indexing and Compressing Scheme for XML Query Processing I-En Liao , Wen-Chiao Hsu, and Yu-Lin Chen National Chung Hsing University, Computer Science and Engineering, 250 Kuo Kuang Road, Taichung 402, Taiwan [email protected]
Abstract. Due to the wide-spread deployment of business-to-business (B2B) E-commerce, XML has become the standard format for data exchange over the Internet. How to process XML queries efficiently is an important research issue. Various indexing techniques have been proposed in the literature. However, they suffer from some of the following problems in various degrees. First, some indexing methods require huge size for index structures, which could be bigger than the original XML document in some cases. Second, some of them require long index construction time to minimize the size of index structures. Third, some of them can’t support complex queries efficiently. To overcome the aforementioned problems, we propose an indexing method called NCIM (Node Clustering Indexing Method). The experimental results show that NCIM can compress XML documents with high compression rate and low index construction time. It also supports complex queries efficiently. Keywords: XML Indexing, Structural Summary Index, XML Query, Node Clustering.
1
Introduction
XML (Extensible Markup Language) is a self-describing data representation format, and it is also a metalanguage specification for describing other languages. With hundreds of XML-based languages been developed, XML has become the standard format for data exchange over the Internet. The proliferation of XML documents asks for efficient query processing techniques as a result. On the other hand, the XML representation is not efficient in terms of data storage compared to a database, since tag names are repeated throughout the XML document. Therefore, we can also expect that compressing schemes are needed in the future when more and more handheld devices, such as PDA and mobile phones, download many XML documents for query purposes. XPath [1] and XQuery [2] are the most widely used query languages for XML query specifications. These two query languages use path expressions to traverse XML tree structure. They process XML queries by searching all paths in
Corresponding author.
F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 70–84, 2010. c Springer-Verlag Berlin Heidelberg 2010
An Efficient Indexing and Compressing Scheme for XML Query Processing
71
the XML tree for matching patterns, and this process may be time-consuming because the matching patterns may be scattered at different locations in the document. Various indexing techniques have been proposed in the literature for improving the performance of query processing. They can be categorized into three main classes [3]: structural summary indices, structural join indices, and sequence-based indices. However, these indexing methods focused mainly on how to speed up the query processing of XML documents. They suffer from some of the following problems in various degrees. First, some indexing methods require huge size of index structures, which could be bigger then the original XML document in some cases. Second, some of them require long index construction time in order to minimize the size of index structures. Third, some of them cannot support complex queries efficiently. To overcome the aforementioned problems, we propose a novel indexing method called NCIM (Node Clustering Indexing Method), which uses hash-based tables to build indices. The merits of the proposed method are two folds: 1. By clustering nodes with the same tag name, NCIM is not only an indexing method but also a compressing scheme for XML documents. The proposed method has very low index construction time as well as small index size. 2. The index structures of NCIM are stored using hash-based tables which support fast access to data and efficient processing of various queries, such as twig queries, partial matching queries, and content queries with constrained predicates. The rest of this paper is organized as follows. We review the related work in Section 2. In Section 3, we introduce the concept of NCIM and demonstrate how it works to process various queries. The experimental results are reported in Section 4, and the conclusion is given in Section 5.
2
Related Work
In this section, we briefly present some research results in the literature on indexing XML documents. 2.1
Structural Summary Indexing Methods
The basic idea of the structural summary indexing methods is to merge the same sub-structures in an XML document. Two common ways to summarize structure are summary by label paths [4,5,6,7] and summary by bisimulation [8,9,10,11]. DataGuides [6] summarize all label paths in the XML document(Fig. 1). A label path is a sequence of one or more labels from root to a specific node. Each node in a DataGuide has an extent for the corresponding nodes in the original XML document. The advantage is to reduce the search space for simple regular expression. However, DataGuide is not feasible for twig queries, since the summarized structure is not the same as the original XML document.
72
I-E. Liao, W.-C. Hsu, and Y.-L. Chen
Fig. 1. (a) The XML data graph and (b) it’s DataGuide
Fig. 2. The 1-index and the A(k)-index
The 1-index [11] groups nodes that have the same set of incoming paths together based on the concept of bisimulation [12]. Two data nodes u and v are bisimilar iff 1. u and v have the same label; 2. if u has a parent u0 , then v has a parent v0 such that v0 is bisimilar to u0 , and symmetrically for v. A(k)-index [10] groups nodes based on local similarity to reduce the size of the 1-index. The parameter k guarantees the similarity up to kth ancestors. Fig. 2 represents the 1-index and the A(k)-index with different value of k. The maximal bisimulation of A(k)-index, as in Fig. 2(d), is equal to 1-index. If the length of a query is less than or equal to k, the evaluation result of A(k)-index is accurate. Otherwise, referencing to the XML document is indispensable. Unlike 1-index and A(k)-index, that set a fixed local similarity for all equivalence classes, D(k)-index [8,9] adopts different local similarities according to the query load. In other word, each index node may have different similarity at a given time. By varying k, D(k)-index can be flexible and of a smaller size compared to 1-index and A(k)-index. However, keeping track of query load is space-consuming and the adjustment of k is time-consuming. The PCIM (Path Clustering Indexing Method) [13] clustered paths with the same root-to-leaf nodes and reduce the space cost of the index. An XML document is indexed using two hash-based tables, the Structural Index and the Content Index, with tag names as hashing keys for efficient searching(Fig. 3).
An Efficient Indexing and Compressing Scheme for XML Query Processing
73
Fig. 3. (a) The Structural Index and (b) the Content Index
Each node n is labelled with a quadruple (level, n , n , p), where “level” represents the depth of n with the root as level 1, “n ” is the serial number of n derived from a depth-first traversal of the tree (the root node is assigned 1 also), “n ” is the largest serial number of n’s descendents, and the “p” is the position of the corresponding content in the Content Index. The PCIM reduces the index space with a high compression ratio and efficiently process complex queries. 2.2
Structural Join Indexing Methods
Most of the structural join indices rely on encoding the XML document to capture the position and the structural relationship between document elements. The codes of elements are clustered by the tag name. A given query is broken down into individual simple paths. The query processor determines elements that match sub-query tree nodes and then joins the obtained sets together with a merge-join algorithm [3]. This approach produces huge amount of intermediate results that cause unnecessarily high processing cost. Various techniques have been proposed to speed up merge-join processing. Chien et al. [14] proposed a structural join algorithm, that based on B+ -tree, improves the performance by inserting sibling pointers in the indexes, which allows descendants to be skipped if they do not match the required structural relationship. However, it is not effective in skipping ancestors. XR-tree [15] extends B+ -tree and indexes element nodes on their region codes in pair (start, end). XRtree effectively skips not only descendants but also ancestors. A problem of this approach is that it is inefficient in handling recursive ancestor elements. When a node happens to be ancestor of two or more other nodes, it will be searched for and retrieved as many times as the number of its descendant nodes [16]. Catania et al. [17] proposed a new lazy approach to handle XML updates and structural join processing in an efficient way. This approach uses segments, labelled by the global position, local position and length, as the unit of updates. The traditional structural join algorithm is improved by the segment-based extended algorithm, which improves query performance. One shortcoming is that the update log must be maintained in order to manage the segments. The XCut [18] is a comprehensive holistic twig matching algorithm to expedite XML query processing. XCut takes advantage of double-ended queues to queue
74
I-E. Liao, W.-C. Hsu, and Y.-L. Chen
Fig. 4. An example for TwigStack
two inner entries of index trees accessed by level-order traversal and XB+ -tree for fast evaluation of a twig by calling the routine recursively from the twig root in a way similar to XRTwig. This approach permits early filtration at the inner level of index trees when processing a twig query. Joint with the leaf entries having full specifications of query elements, parent-child edges, and predicates selection can be determined quickly at query tree nodes. The TwigStack [19], a stack-based algorithm, uses a chain of linked stacks to compactly represent partial results of root-to-leaf query paths, which are then composed to obtain matches for the twig pattern. However, before a new element comes, the TwigStack has to check the element index to make sure all branches are satisfied. Also, it encounters obstacles when following-sibling relationships exist in the query. An example of TwigStack for twig query are shown in Fig. 4. The TRACK [20], similar to stacks in TwigStack, builds the tree structure for leaf nodes and then traces leaf-to-root paths back to the root. The algorithm can avoid too much time spending on checking the element index and make sure all the branches are satisfied before a new element comes. The TRACK uses the tree structures instead of the chain of linked stacks to encode final tree matches that avoid the merging process and improve the process of queries. 2.3
Sequence-Based Indexing Methods
Sequence-based indexing methods aim at avoiding expensive join operations in query processing [21]. They represent XML documents and queries as sequences and sub-sequences so that a query can be answered through subsequence matching. Many algorithms proposed in the literature start with sequence representations of tree structures. For example, ViST [22] labels nodes in pre-order traversals. PRIX [23] transforms XML documents and twig queries into Pr¨ ufers sequences that are mapped to a virtual trie tree. A problem with ViST is that the index has quadratic size in the worst case, if the trees indexed are very deep [24]. PRIX uses Pr¨ ufer sequences to solve this problem. Wang and Meng [21] used a more cleaver sequencing which is similar to ViST. Examples presented in Fig. 5 and Table 1 show the different labelling schemes among these approaches. Since structural information had been included in sequences, extra join operations are not necessary. Besides, twig queries and partial matching are transformed to sequences for matching, and they can be preformed efficiently. One challenge of the sequence-based methods is how to avoid false alarm and false dismissal. Table 1 illustrates such cases.
An Efficient Indexing and Compressing Scheme for XML Query Processing
75
Fig. 5. An XML document and query examples
Table 1. False alarm and false dismissal in different methods
3
Overview of NCIM
In this section, we introduce the methodology of the proposed NCIM (Node Clustering Indexing Method) method and demonstrate how queries can be processed efficiently using NCIM. 3.1
The Methodology of NCIM
The construction of NCIM can be divided into two phases: document labelling and index construction. Practically, these two phases can be done in parallel through traversing XML document once. We explain these steps using the XML data tree shown in Fig. 6, where ovals represent elements with tags’ name inside, and rectangles represent plain texts. We treat the attributes as elements and add the character “@” in the front of attribute name. The document labelling scheme of NCIM applies only to the element nodes (the text nodes are not included) of an XML data tree. A element node n of an XML data tree is labelled with a 3-tuple (level, n , n ) for non-leaf nodes and a 2-tuple (level, n ) for leaf nodes, where “level” is the depth of n, “n ” (start number) is the serial number of n derived from a depth-first traversal of the data tree, and “n ” (end number) is the serial number after visiting all child nodes of n. Leaf nodes omit n for saving space. An attribute node has the same values of level and n as its parent for identifying to whom it belongs, and it does not have n for the same reason as leaf nodes.
76
I-E. Liao, W.-C. Hsu, and Y.-L. Chen
Fig. 6. An XML data tree
Fig. 7. A labelled XML data tree
The benefit of this labelling schema is in easy determination of the structural relationships between nodes. Given two nodes x and y, if x ∈ (y , y ], we know that x is a descendent of y. Moreover, if the difference of levels between x and y is equal to 1, then x and y have parent-child relationship. On the other hand, when the difference is greater than 1, we know that x and y have ancestor-descendent relationship. Fig. 7 shows the labelling results on the sample XML data tree. In index construction phase, the NCIM contains four hashed-based tables: the non-leaf node index, the leaf node index, the level index of non-leaf node, and the level index of leaf node. The non-leaf nodes labelled by (level, n , n ) are clustered using the pair (tag name, level) and stored in the non-leaf node index. That means (tag name, level) is used as the hashing key, and each hash entry points to a linked list which holds n and n of the nodes with same tag name and level. The structure of the leaf node index is similar to that of the non-leaf node index. However, since the leaf nodes are labelled by (level, n ), the place in the linked list node that holds n is used to store the text content. Fig. 8 illustrates the non-leaf node and leaf node indices, respectively, for Fig. 7. The advantage of using hash tables is to gain fast accesses on the needed data. Moreover, clustering the nodes with the same tag name and level reduces the index space and accelerates the processing of queries. A problem arises when a
An Efficient Indexing and Compressing Scheme for XML Query Processing
77
Fig. 8. (a)Non-leaf node index and (b) Leaf node index
Fig. 9. Level indices of (a) non-leaf nodes and (b) leaf nodes
query contains the ancestor-descendant axis (“//”). It is hard to determine the level of the tag after “//”. To solve this problem, we create the other two hash tables, namely, the level index of non-leaf nodes and the level index of leaf nodes, as shown in Fig. 9. The tag name is used as the hash key, and the levels with same tag name are clustered together in a linked list. Most of the indexing methods store the indices in the memory for fast access. In order to reduce the required space, we use integer labelling scheme to represent structure information where possible. Besides, we cluster nodes with same tag name and level to compress repetitive sub-structures in the XML documents. 3.2
Query Processing in NCIM
A query expressed as an XPath expression can be represented as a query tree. There are several basic types of query. The single-path query is a simple query starting from the root, e.g., /dblp/article. The partial matching(or recursive) query contains “//”, e.g., //article/author. The twig query contains “[ ]”, e.g., /dblp/article[year]/title). The content query with constrained predicates is a query with predicates constraining on the retrieved text, e.g., //article/year= “1997”. Any query is basically composed of one or more basic types of query. The pseudo-code of the query evaluation algorithm is presented in Fig. 10. Given a path expression Q, it is evaluated by calling a recursive function PathMatch(line 6). The PathMatch retrieves the first path relation symbol, “/”, “//” or “[”, and the following tag name segment, the substring between the first and the second symbols in subQ(lines 11-12). If the symbol is “[”, it encounters a twig structure and should recrusively call the PathMatch funcrion(lines 13-17). If the symbol is “/”, the level of the node is set to pLevel + 1(line 19). If the symbol is “//”, use the tag name as a search key, get the levels from level indices, and
78
1 2 3 4 5 6 7 8
I-E. Liao, W.-C. Hsu, and Y.-L. Chen
Input: A path expression, Q Output: A set of subtrees in Document that match Q, M Function QueryEvaluation (Q) { pNode = null; //Parent node pLevel = 0; //Level of the parent node Call PathMatch( pNode, pLevel, Q ); Output the matched results M; }
9 Function PathMatch (pNode, pLevel, subQ ) 10 { if subQ is null, return; 11 R = the first symbol in subQ; 12 nNode = the first tag name segment in SubQ; 13 if( R = ‘‘[’’) { 14 TwigQ = the subString between ‘[’ and ‘]’ in subQ; 15 Call PathMatch( pNode, pLevel, TwigQ); 16 SubQ = the substring of subQ after TwigQ; 17 Call PathMatch( nNode, subQ); } 18 else { 19 if( R = ‘‘/’’ ) nLevel is set to pLevel +1; 20 else Get correct nNode’s levels from the Level indeices; 21 Call CheckMatch( pNode, R, nNode, nLevel ); 22 SubQ = the substring of subQ after nNode segment; 23 Call PathMatch(nNode, nLevel, subQ); } 24 } 25 Function CheckMatch(pNode, R, nNode, nLevel) 26 { if (nNode contains ‘‘=’’) 27 Get the corresponding linked lists of nNode from Leaf node index; 28 else 29 Get the corresponding linked lists of nNode from 30 Non-leaf and Leaf node indices; 31 if(M is empty) Add the nNode’s labels to M; 32 else { 33 Compare the pNode’s lists in M with nNode’s lists; 34 if(matched pNodes are found for an nNode) 35 Add the nNode’s labels to M; 36 if(no matched nNode for a pNode) 37 Delete pNodes labels from M; } 38 }
Fig. 10. Query Evaluation Algorithm
An Efficient Indexing and Compressing Scheme for XML Query Processing
79
filter out the levels that are less than pLevel+1 (line 20). Funcrtion CheckMatch is called(line 21) to retrieve the corresponding linked lists in leaf or non-leaf nodes indices by using the tag name in nNode and the value of nLevel(lines 26-30). Finally, compare the start and end numbers in the linked lists and check whether they are suitable for the query(lines 31-37). The results, stored in M, are produced at the end of procedure QueryEvaluation (line 7). We demonstrate a complex query, //Mastersthesis[author =“Frank”]/title, to show how NCIM processes the query. The segment of “//Mastersthesis” is first retrieved. Because it starts with “//”, we get “2” as the level of “Mastersthesis” form level index of non-leaf nodes and then find the location of (Mastersthesis, 2) in the non-leaf node index. There are two nodes in the linked list. Keep them as candidates and proceed to the next step. Since we encounter a twig structure, [author =“Frank”], we keep the parent node “author” and deal with the twig structure. Because “author” contains a content predicate, i.e., author =“Frank”, only the level index of leaf node has to be checked. Then we search the leaf nodes index and get the positions of “author” using (author, 3) as the search key. There is only one node of “author” selected. Compare the start numbers and the end numbers of “Masterthesis” and “author”, a matched result is produced, i.e., the second node of (Masterthesis, 2), and the third node of (author, 3). The remaining sub-query, /title, is processed in the same way. The final matched structure is the second node of (Masterthesis, 2), the third node of (author, 3), and the third node of (title, 3).
4
Experimental Results
In this section, we report the experimental results of the proposed indexing technique. We compare the performance of NCIM with the PCIM [13], Wang/Meng’s method [21], and XQEnging [25] on three datasets: DBLP, Swiss-Prot, and XMark. All algorithms are implemented in java, and the experiments have been performed on a Windows XP system with a 1.86GHz Intel Core2 CPU, 2GB RAM, and 1132MB page size. 4.1
Datasets
We chose the DBLP [26], the XMark [27], and the Swiss-Prot [28] as the datasets for experiments because they have different characteristics and are widely used in benchmarking XML indexing methods. The DBLP has many repetitive structures comparing to the other two datasets. The XMark has the largest maximumdepth among these three datasets. The total number of nodes in Swiss-Prot is largest among three datasets. The statistical data of datasets are shown in Table 2, where the size of contents is equal to the size of strings in the text nodes, and the size of structure is defined to be the total size minus the size of contents. 4.2
Performance Analysis
We examined the performance with respect to the index construction time, required index size, and query processing time.
80
I-E. Liao, W.-C. Hsu, and Y.-L. Chen Table 2. The statistical data of different datasets Datasets
Sizes (MB) Structure Content Total DBLP 56 71 127 SwissProt 67 42 109 XMark 42 69 111
Number of Nodes Max Elements Attributes Depth 3,332,130 404,276 6 2,977,031 2,189,859 5 1,666,315 381,878 12
Fig. 11. The comparison of index construction time
The index Construction time of different methods are compared and shown in Fig. 11. Usually, the structural summary indexing methods spend more time than other classes of indexing methods because summarizing structure is timeconsuming. That is the reason that PCIM requires more time than the other three methods. Clearly, NCIM is very efficient in index building time. It is important to know that the XQEngine is the only one, among four methods, that builds index only on the structural part of XML. As we know, the contents (plain texts) of XML are not compressed in other three methods. We filter out the plain texts from each indexing method in order to measure the compression rate more accurately. Fig. 12 shows the size of original XML structure vs. the required index size without text contents for different methods.
Fig. 12. Size of XML structure vs. index sizes of different methods
An Efficient Indexing and Compressing Scheme for XML Query Processing
81
The Wang/Meng’s method, a sequence-based indexing method, records the ancestor’s tag name from root for each node and requires larger index size. The XQEngine, an open source embedded Java component, requires the largest index space. The index size of the PCIM is the smallest one among four methods because it is a summarized structure. There is a modest increase in the index size of NCIM comparing to PCIM in each dataset. This is the trade-off between time and space. Obviously, it is worth because NCIM saves a lot of time in building index than PCIM. Using the compression ratio defined in Equation (1), the PCIM and the NCIM can compress an XML document up to 88% and 74%, respectively, that are much better than Wang/Meng’s method (7% at most) and XQEngine (-9% at most). The compression ratio charts are shown in Fig. 13. Comp.Ratio =
uncomp.size − comp.size × 100% uncomp.size
(1)
Fig. 13. Compression ratio of different methods
We compared the query processing time using the 20 queries, as listed in Table 3, on different datasets. Each query is composed of one or more basic types of query. Fig. 14 shows the comparison of query processing time among Wang/Meng’s method, XQEngine, PCIM, and NCIM. Both PCIM and NCIM store indices in hash tables and are more efficient than the other two methods. In most of the cases, the NCIM outperforms the PCIM for some reasons. First, PCIM stores text contents in the other tables, whereas NCIM stores them in the leaf node index under the corresponding tag name, which results in reducing search time on processing queries with selection predicates. Second, the integer comparisons are much faster than string comparisons. The PCIM uses strings to represent labels, but NCIM uses integers where possible. Third, in PCIM, the contents with the same path are combined and separated by two full-form characters, “ | ” and “ ; ”. It takes time to decompose them during query processing.
82
I-E. Liao, W.-C. Hsu, and Y.-L. Chen Table 3. The statistical data of different datasets Query No. Dataset XPath Expressions Q1 Q2
DBLP DBLP
Q3 Q4 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20
DBLP DBLP DBLP Swissprot Swissprot Swissprot Swissprot Swissprot Swissprot XMark XMark XMark XMark XMark XMark XMark XMark
//article[@rating=“SUPERB”]/title //article[@reviewid=“RosenthalDataAdministration gpezda”]/title //inproceedings/author=“Stephan Busemann” //inproceedings/booktitle /dblp/mastersthesis[author][school] /root/Entry[@id=“PRT ANTGR”]//Comment //Entry/Org=“Homo” //Ref/Author=“Chang Y.S” //Entry/Ref//Cite /root/Entry/Ref/MedlineID //Entry[AC][Species] //item[@id=“item8”]/location //item[@id=“item8108”]/location //item[@id=“item8”]/description//bold //person//city=“Windhoek” //open auction/initial=“17.72” //item//mailbox//from /site/regions/africa/item/location //person[name][phone]
Number of Matching Patterns 27 1 7 212,273 5 1 4,326 25 92,546 76,574 108,586 1 1 2 52 4 20,946 550 25,358
Fig. 14. The comparison of query processing time
5
Conclusions and Future Work
In this paper, we proposed a novel indexing method, called the NCIM (Node Clustering Indexing Method). The NCIM clusters the nodes with same tag names
An Efficient Indexing and Compressing Scheme for XML Query Processing
83
and stores them in the hash-based tables. The experimental results show that the NCIM can compress XML documents effectively with average compression ratio of 66.6%. The index construction time of NCIM is below 30 seconds on three tested datasets, and it also supports complex queries efficiently. A limitation of the NCIM is that we assume the indices can fit into the main memory. Although the NCIM can compress XML documents effectively, it may not be suitable when the index size of XML document exceeds the size of main memory. There are some recent work [29,30] discussing storing the indices in the secondary memory. The future work will be on solving that problem as well as supporting update operations.
References 1. Clark, J., DeRose, S.: XML path language (XPath) version 1.0. W3C Recommendation (1999), http://www.w3.org/TR/xpath 2. Boag, S., Chamberlin, D., Fernandez, M., Florescu, D., Robie, J., Simeon, J., Stefanescu, M.: XQuery 1.0: An XML query language. Working Draft (2001), http://www.w3.org/TR/2001/WD-xquery-20011220 3. Catania, B., Maddalena, A., Vakali, A.: XML document indexes: A classification. IEEE Internet Computing 9(5), 64–71 (2005) 4. Chung, C., Min, J., Shim, K.: APEX: an adaptive path index for XML data. In: 2002 ACM SIGMOD International Conference on Management of Data (SIGMOD ’02), pp. 121–132. ACM Press, New York (2002) 5. Cooper, B., Sample, N., Franklin, M.J., Hjaltason, G.R., Shadmon, M.: A fast index for semistructured data. In: 27th International Conference on Very Large Data Bases, pp. 341–350 (2001) 6. Goldman, R., Widom, J.: DataGuides: enabling query formulation and optimization in semistructured databases. In: 23rd International Conference on Very Large Data Bases, pp. 436–445 (1997) 7. Zhang, B., Geng, Z., Zhou, A.: SIMP: efficient XML structural index for multiple query processing. In: 9th International Conference on Web-Age information Management (WAIM), pp. 113–118. IEEE Computer Society, Washington (2008) 8. Chen, Q., Lim, A., Ong, K.W.: D(k)-index: an adaptive structural summary for graph-structured data. In: 2003 ACM SIGMOD international Conference on Management of Data (SIGMOD ’03), pp. 134–144. ACM Press, New York (2003) 9. Chen, Q., Lim, A., Ong, K.W.: Enabling structural summaries for efficient update and workload adaptation. Data Knowl. Eng. 64(3), 558–579 (2008) 10. Kaushik, R., Shenoy, D., Bohannon, P., Gudes, E.: Exploiting local similarity for indexing paths in graph-structured data. In: 18th International Conference on Data Engineering (ICDE), pp. 129–140. IEEE Computer Society, Washington (2002) 11. Milo, T., Suciu, D.: Index structures for path expressions. In: Beeri, C., Bruneman, P. (eds.) ICDT 1999. LNCS, vol. 1540, pp. 277–295. Springer, Heidelberg (1998) 12. Haw, S., Lee, C.: Evolution of structural path indexing techniques in XML databases: A survey and open discussion. Advanced Communication Technology 3, 2054–2059 (2008) 13. Hsu, W.-C., Liao, I.-E., Wu, S.-Y., Kao, K.-F.: An efficient XML indexing method based on path clustering. In: 20th IASTED International Conference on Modelling and Simulation (MS ’09), pp. 339–344 (2009)
84
I-E. Liao, W.-C. Hsu, and Y.-L. Chen
14. Chien, S., Vagena, Z., Zhang, D., Tsotras, V.J., Zaniolo, C.: Efficient structural joins on indexed XML documents. In: 28th International Conference on Very Large Data Bases. VLDB Endowment, pp. 263–274 (2002) 15. Jiang, H., Lu, H., Wang, W., Ooi, B.C.: XR-Tree: indexing XML data for efficient structural joins. In: 19th International Conference on Data Engineering (ICDE), pp. 253–264. IEEE Computer Society, Washington (2003) 16. Moro, M.M., Vagena, Z., Tsotras, V.J.: Tree-pattern queries on a lightweight XML processor. In: 31st International Conference on Very Large Data Bases. VLDB Endowment, pp. 205–216 (2005) 17. Catania, B., Ooi, B.C., Wang, W., Wang, X.: Lazy XML updates: laziness as a virtue, of update and structural join efficiency. In: 2005 ACM SIGMOD international Conference on Management of Data (SIGMOD ’05), pp. 515–526. ACM Press, New York (2005) 18. Sheu, S., Wu, N.: XCut: Indexing XML data for efficient twig evaluation. In: 22nd International Conference on Data Engineering (ICDE), p. 127. IEEE Computer Society, Washington (2006) 19. Bruno, N., Koudas, N., Srivastava, D.: Holistic twig joins: optimal XML pattern matching. In: 2002 ACM SIGMOD international Conference on Management of Data (SIGMOD ’02), pp. 310–321. ACM Press, New York (2002) 20. Li, D., Li, C.: Track: a novel XML join algorithm for efficient processing twig queries. In: 19th Conference on Australasian Database, pp. 137–143 (2007) 21. Wang, H., Meng, X.: On the Sequencing of Tree Structures for XML Indexing. In: 21st International Conference on Data Engineering (ICDE), pp. 372–383. IEEE Computer Society, Washington (2005) 22. Wang, H., Park, S., Fan, W., Yu, P.S.: ViST: a dynamic index method for querying XML data by tree structures. In: 2003 ACM SIGMOD International Conference on Management of Data (SIGMOD ’03), pp. 110–121. ACM Press, New York (2003) 23. Rao, P., Moon, B.: PRIX: Indexing and querying XML using Prufer sequences. In: 20th International Conference on Data Engineering (ICDE), p. 288. IEEE Computer Society, Washington (2004) 24. Grimsmo, N.: Faster path indexes for search in XML data. In: 19th Conference on Australasian Database, pp. 127–135 (2007) 25. Katz, H.: XQEngine: XML query engine (2005), http://xqengine.sourceforge.net/ 26. Ley, M.: DBLP database web site (2008), http://www.informatik.uni-trier.de/~ ley/db/ 27. XMARK, An XML benchmark project (2003), http://monetdb.cwi.nl/xml/ 28. UniProt Consortium, UniProtKB/Swiss-Prot, http://www.expasy.ch/sprot/sprot_details.html 29. Chen, Z., Gehrke, J., Korn, F., Koudas, N., Shanmugasundaram, J., Srivastava, D.: Index structures for matching XML twigs using relational query processors. Data Knowl. Eng. 60(2), 283–302 (2007) 30. Wu, X., Liu, G.: XML twig pattern matching using version tree. Data Knowl. Eng. 64(3), 580–599 (2008)
Development of a New Compression Scheme Eyas El-Qawasmeh, Ahmed Mansour, and Mohammad Al-Towiq Jordan University of Science and Technology, Jordan [email protected], [email protected], [email protected]
Abstract. Huffman coding is a simple lossless data compression technique that tries to take advantage of entropy by using a Variable-Length encoding to build a code table to encode a source file symbols. In this paper, we have re-visited Huffman coding and enhance it by considering the second order form of characters rather the first order form of characters. Results showed that using the second order form improves the compression ratio by around 8% than the existing Huffman coding. Keywords: Compression, Decompression, Huffman Coding.
1 Introduction Data compression aims to remove redundant data in order to reduce the size of a data file [Mathews, 1995] [Ziviani, et. Al. 2000]. For example, an ASCII file is compressed into a new file, which contains the same information, but with smaller size. The compression of a file into half of its original size increases the free memory that is available for use [Mandal, J., 2000]. The same idea applies to transmission of messages through the network with limited bandwidth channels. Data compression has a wide range of applications especially in data storage and data transmission [Ziviani, et al., 2000] [Brisaboa, et. all, 2003]. Some of these applications include: 1) voice compression applications such as “satellite connectivity, international voice trunking, Wireless Local Loop and rural telephony”, [Cutter Network site, http://www.bestdatasource.com/RAD/VMUX2100.htm, visited June, 2010], 2)Video compression, and 3) Image compression [Servetto, S, 1999]. Other applications include virusscanning software, archiving systems, and real-time interactive control of large-scale simulations at remote super computer sites [University of South Carolina (USC), http://ip.research.sc.edu/catalog/97154 /sw.htm. Visited June, 2006]. Currently, the communications through networks have resulted in a large amount of data that is transferred daily, especially the multimedia data, which slows the network due to large sizes of its files. Therefore, use of efficient compression techniques will reduce the time of data transmission and the cost of communications [Adler, M. and Mitzenmacher, 2001] [Wu, D., et. Al, 2001]. Compression increases the use of the World Wide Web, since any improvements on compression increases the amount of transmitted data over the Internet. F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 85–90, 2010. © Springer-Verlag Berlin Heidelberg 2010
86
E. El-Qawasmeh, A. Mansour, and M. Al-Towiq
Currently, there are many lossless compression techniques and algorithms. In lossless techniques, the restored file is identical to the original file. These techniques can be classified into three main categories. They are: substitution, statistical, and dictionary based data compression [El-Qawasmeh, et al., 2007]. The substitution category replaces a certain repetition of characters by a smaller one. Run Length Encoding (RLE) is one of these techniques that take advantage of repetitive characters. The second category involves generation of the shortest average code length based on an estimated probability of characters [Vitter, 1989]. An example of this category is Huffman coding [Huffman D.A, 1952]. In Huffman coding, the most common symbols in the file assigned the shortest binary codes, and the least common assigned the longest codes. The last category is dictionary based data compression schemes such as Lempel-Zif-Welch (LZW). This category involves the substitution of sub-string of text by indices or pointer code, relative to a dictionary of the substrings [Mandal, J., 2000] [Nelson M.1989]. The proposed algorithm uses the ideas of Huffman. However, instead of considering the frequency of each letter alone in the text, it considers a pair of letters. This called the second order form of letters where each two unique letters are considered (we call it a unique couple of letter). In other words, the proposed methods consider the frequency of each two adjacent letters and apply Huffman code on it. This will allow us to get some saving since many cases of couple of letters (pair of letters) do not exist in many languages. The conducted experiments verified our algorithm. The organization of this paper will be as follows: Section 2 is the current related word. Section 3 is the suggested approach. Section 4 is the performance results. Section 5 is a discussion, and section 6 is the conclusion.
2 Current Related Work Huffman coding is one of the best entropy encoding algorithms used as a lossless data compression technique. The main idea in Huffman coding is to use a Variable-Length encoding to build a code table to encode a source file symbols like characters in a file. Huffman coding algorithm takes an input file and the frequency of each letter, and then it applies the greedy method on it. It combines the lowest two frequencies to get a new node in a bottom-up fashion until the result is a tree with one node marked as a root with frequency equal to one. In case, the frequency of the letters is not available, Huffman scan the file that it needs to do compression for it and find the frequency of each letter. The proposed method that will be described in detail in the following section, reads the whole file, and consider the frequency of each two adjacent letters. As a result, we will gain some saving. The reason for saving is that many adjacent letters will not occur, and this reduces the number of bits that we need to presents these two bits. More details are listed in the following section.
3 Proposed Approach The suggested method uses the algorithm of Huffman. However, it introduces an enhancement to it so that we can consider every two letters. It starts by reading the
Development of a New Compression Scheme
87
whole file, and through reading it, it builds a table that contain every two unique symbols, and their corresponding frequency in respect to the whole file. As an example, let us assume that we have a file that contains only the following text: ”Hello Holland”. Then our proposed method will treat "He", "ll", "o ", "Ho", "ll", "an" and "d.". It will build Table No. 1. Table 1. Frequency table for a file that contains “Hello Holland”
Couple of letters Frequency
"He" 1/7
"ll" 2/7
"o " 1/7
"Ho" 1/7
"an" 1/7
"d." 1/7
3.1 Compression Process The algorithm of the compression process is listed below. It should have a setup. The setup starts by building the frequency table for the couple of letters. The number of entries in this table is equal to the number of distinct couples of letters and all of them will be assigned a frequency equal to zero at beginning. For example, the two adjacent letters such as “ab” will be treated as one couple and they will be assigned a frequency equal to zero. Improved_Huffman_Compression (Input: Any file) Begin - Scan the file and for each couple of letters increment the frequency value in the frequency table. - Generate Huffman tree from the frequency table. - Generate the associated code table and find the associated code for each two unique letters. - Replace the two unique letters with its associated code. End We improve the traditional Huffman code by taking each two characters as one symbol (a couple of letters) and perform the remaining steps as the traditional Huffman code. On the other side, the decompression process, which is identical to decompression done by Huffman coding, however, in the proposed scheme, each couple of letters represents a one symbol. The details are listed below. 3.2 Decompression Process On the other side, the decompression works exactly as Huffman. Improved_Huffman_Decompression (Inputs: Compressed file, Huffman tree) Begin - Create an empty file to write the decompressed file. - Scan the compressed file and exchange each associated code with its two unique letters. - Store the couple of in the decompressed file. End
88
E. El-Qawasmeh, A. Mansour, and M. Al-Towiq
On the other side, the decompression process, which is identical to decompression done by Huffman coding, however, in the proposed scheme, each couple of letters represents a one symbol. The details are listed below.
4 Performance Results In order to find the performance of the suggested method, we did many experiments. All these experiments were carried out on on P4 with a CPU speed of 2.00GHz with 2.5 GB RAM and it uses Windows 7 Ultimate OS. The first experiment that was conducted is to find the percentage of compression ratio and compare it with the traditional Huffman coding. The compression measure that we used is the Compression ratio = new file size / old size. In this experiment, we did compression for files with the following size: 15, 30, 45, 60, 75, 60, 105, 120, 135, and 150 KB. The results of these experiments are depicted in Figure 1. 100% Compression Ratio
Proposed 80%
Huffman
60% 40% 20% 0% 0k
15k 30k 45k 60k 75k 90k 105k 120k 135k 150k Size in KB
Fig. 1. The compression ratio between different file sizes
The tested files in Figure 1 were generated in a systematic way. For example, for the 100 KB, we generated a 100 x 1024 x 8 bits where each bit is either 0 or 1. The generation of 0s and 1s was randomly, and each 8 bits are converted to its corresponding ASCII code. It is clear from Figure 1 that the suggested approach is better than regular Huffman with an amount that is approximately 8%. The second experiment that we conducted is the compression time. In this experiment, we find the required time for doing the compression using our suggested approach and the traditional Huffman. Results of this experiment is depicted in Figure 2.
Development of a New Compression Scheme
89
180 160 140 120
Proposed
100
Time (s)
Huffman
80 60 40 20 0
0k 15k 30k 45k 60k 75k 90k 105k 120k 135k 150k Size in KB Fig. 2. The CPU time Normalized
It is clear from Figure 2 that the suggested approach is better than regular Huffman in the compression time with an amount that is half of the original Huffman.
5 Discussion We have seen that the suggested approach reduce the size of the files by an amount of around 8% less than traditional Huffman. However, this enhancement does not decreases the compression ratio only, it also reduce the running time of the compression process to the half of the orgianl Huffam, this reduction comes from the reduction in the number of symbols comparing to the traditional Huffman coding. The suggested approach takes advantage from the idea of first order forms. It uses second order form where it merges the letter with the following one. This assumes that the number of different permeation is around 256*256 = 65,0000. However, get less than this number. The reason for this is that many unique couples of letters that do not occur in the most languages have no entry in the frequency table and thus have been removed from the frequency table if there frequency is zero. It is also expected that if we use the third order form, then the compression ratio will be improved. However, the size of the frequency table will be higher, and it does not worth to investigate it. However, it is practically applicable. The authors have tried many approaches to reduce the compression ratio using other approaches. However, they failed. The first failed approach that we tested is to divide the text into letters and take the ASCII number of the letter then check the length of the ASCII number if it is less than three we add zeros to the left of it to make the length equal three (because the length of ASCII number of each letter is one or two or three), after that we establish a frequency table of ten positions from zero to ten and apply Huffman on it, the expected results were negative because we add digits
90
E. El-Qawasmeh, A. Mansour, and M. Al-Towiq
(zeros) to the ASCII numbers, so for each letter the number of digits in the ASCII is three, that means it is length is 12 bit and it is very cost. The second failed approach that we tested is to make some enhancement on The first failed approach by taking the ASCII numbers in hexadecimal, so here there is no need to add zeros to the left of each ASCII number because the length of it is two in all the ASCII numbers, and then follow the same steps as in the first failed approach. The obtained results were better than the obtained results in the first failed approach but it still negative.
6 Conclusions The paper suggested lossless method try to take advantage from the second order form of letters. It uses Huffman coding. However, instead of finding the frequency for each single letter, it finds it for any couple of letters. The compression ratio was improved by around 8% and the running time of compression was reduced to around 50% of the original size.
References 1. Mathews, G.J.: Selecting a General-Purpose Data Compression Algorithm. In: Proceedings of the Science Information Management and Data Compression Workshop, pp. 55–64. NASA science Publication 3315, USA (1995) 2. Ziviani, N., Moura, E., Navarro, G., Baeza-Yates, R.: Compression: A Key for NextGeneration Text Retrieval Systems. IEEE Computer 33(11), 37–44 (2000) 3. Mandal, J.: An Approach Towards Development of Efficient Data Compression Algorithms and Correction Techniques. Ph. D. Dissertation, Jadavpur University, India (2000) 4. Brisaboa, N., Iglesias, E., Navarro, G., Parama, J.: An Efficient Compression Code for Text Databases. In: Proceedings of 25th European Conference on IR Research, ECIR, Italy, pp. 468–481 (2003) 5. Cutter Network site, http://www.bestdatasource.com/RAD/VMUX2100.htm (visited June 2006) 6. Servetto, S.: Compression and Reliable Transmission of Digital Image and Video Signals. Ph.D Dissertation, University of Illinois at Urbana-Champaign, USA (1999) 7. University of South Carolina (USC), http://ip.research.sc.edu/catalog/97154sw.htm (visited June 2006) 8. Adler, M., Mitzenmacher, M.: Towards Compressing Web Graphs. In: Proc. of the IEEE Data Compression Conference, Utah, USA, pp. 203–212 (2001) 9. Wu, D., Hou, Y., Zhu, W., Zhang, Y., Peha, J.: Streaming Video over the Internet: Approaches and Directions. IEEE Trans. on Circuits and Systems for Video Technology 11(3), 282–300 (2001) 10. El-Qawasmeh, E., Al-Towaiq, M., Snasel, V.: Increasing The Efficiency of Data Compression. In: Proceedings of National Conference on Software Engineering & Computer Systems 2007 (NaCSES’07), Kuantan, Malaysia, August 20-21, pp. 1–6 (2007) 11. Vitter, J.S.: Dynamic Huffman Coding. Journal of ACM 15(2), 158–167 (1989) 12. Huffman, D.: A Method for the Construction of Minimum-Redundancy Codes. Proceedings IRE 40(9), 1089–1101 (1952) 13. Nelson, M.: LZW Data Compression. Dr. Dobb’s Journal 14(10), 62–75 (1989)
Compression of Layered Documents Bruno Carpentieri Dipartimento di Informatica ed Applicazioni “R.M. Capocelli”, Università di Salerno, Via Ponte Don Melillo, Fisciano (SA), Italy [email protected]
Abstract. Bitmaps documents are often a superposition of graphic and textual content together with pictures. Simard et al. in [1] showed that the compression performance on these documents could be improved when we separate images from text and we apply different compression algorithms on these different types of data. In this paper we study layered image compression via a new software tool. Keywords: Layered documents, text compression, image compression, lossless compression.
1 Introduction Digital documents are nowadays widespread and the idea of a paperless office is becoming more realistic. Data compression is crucial for the transmission and storage of digital documents. Research and standardization in data compression is primarily targeted to specific types of digital information sources: there are separate compression standards and techniques for each type of images, text, audio, etc.. As an example, image compression algorithms are designed having in mind a specific image type with well-defined characteristics (natural images, synthetic images, textual images, etc.) and for each image type there are specific compression algorithms. Many standard algorithms are therefore available to compress digital images (JPEG, JPEG2000 [4],, JPEG-LS [5], etc.) and there are several compression formats for textual data (JBIG, JBIG2, CCIT G4 [6], etc.). Each of these standards and formats reflects a specific area of research on a restricted type of data on which more algorithms are continually being developed to improve on existing methods. When we apply one of these algorithms to a different kind of image it does often not perform well enough, compared to other algorithms that are better tailored for that type of images. Bitmaps documents are generally images that contain a superposition of graphic or textual content together with pictures. These documents do not compress well using standard image compression techniques, because the presence of text introduces sharp edges on top of the smooth surfaces typically found in natural images (see [1], [2]). F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 91–97, 2010. © Springer-Verlag Berlin Heidelberg 2010
92
B. Carpentieri
Fig. 1. Original image (left side) and two layers separation (right side)
The compression performance on these documents can be improved by separating images from text and by applying different compression algorithms on the different types of data that are in the document. Figure 1 shows a layered image and its decomposition into two separate layers. These layers can be compressed separately with specifically tailored compressors to enhance both compression ratio and decompressed image quality.
2 SLIm In [1], Simard et al. have proposed to separate text and line drawing from the background image through their SLIm algorithm. The resulting layers can then be compressed separately with algorithms specifically tailored (the acronym SLIm stands for Segmented Layered Image). SLIm segments the image into three separate components: background, foreground and binary mask where a binary mask is a binary image in which every pixel is a flag that indicates if the pixel belongs to the foreground or to the background. Text, annotations and drawings are captured through the binary mask and compressed by using an appropriate coder. The rest of the data (image) goes through an image coder. Every coder shall deal only with the type of data for which it was designed. It can be shown that this separation improves significantly the compression of the whole document. After the separation, the pixels that do not belong to the current layer can be treated as “don’t care” pixels and they can be opportunely set to enhance the compression of the current layer.
Compression of Layered Documents
93
Fig. 2. SLIm diagram
As shown in Figure 2 (from [1]), SLIm has four steps: computation of the mask, segmentation of foreground/background, codec for the layer related to the images, codec for the mask. After the mask has been calculated, the segmenter uses the mask to separate the foreground (for example text and/or bitmaps) from the background (image). They are separately compressed by using off-the-shelf coders to codify the whole bitmap of the background (in which the foreground pixels are substituted by “don’t care” pixels) and the whole bitmap of the foreground (in which the background pixels are substituted by “don’t care” pixels). SLIm improves the compression of each layer by assigning values that enhance the compression performance of the specific compressor to the "don't care" pixels. Finally SLIm recombines them as specified by the mask.
3 Don’t Care Pixels Once the mask has been computed, SLim separates foreground from background. The decoder will reconstruct the image accordingly to the mask: a pixel that belongs to the foreground does not need to be encoded in the background and a pixel that belongs to the foreground does not need to be encoded in the background. Therefore the pixels of the original image that, after the separation, do not belong to the layer that is currently compressed could be set to a value that can improve the compression of the current layer: they will be not decoded by the decoder in the decompression of this layer. These pixels, in this framework, are called “don’t care” pixels (see [1], [3]). One of the critical steps is to decide the values that have to be assigned to the “don’t care” pixels. The problem, as stated in [1] and [3], is to interpolate the valid pixels in the masked locations in a way that produces a smooth image, without sharp edges. This shall improve compression. One of the solutions proposed by Simard et al. in [1] is to run two averaging filters, one that scans the image from left to right and from top to bottom and replaces each masked pixel by the average of the left and above pixels, and the other that runs in the opposite direction, from the bottom right of the image.
94
B. Carpentieri
Fig. 3. The application diagram
After the two filters are executed a linear combination of the results from both filters is weighted by the distance of the nearest non-masked pixel encountered by the filters and this linear combination is substituted in the image to the “don’t care”. Other simple solutions are to assign a constant value (for example 0 or 1) to the “don’t care” pixels. Ansalone and Carpentieri, in [3], propose other efficient solutions for the setting of the “don’t care” pixels based on the “perimeter” average, i.e. an average of the values of the pixels surrounding the text regions.
4 A Software Tool for Layered Image Compression To test the compression of layered documents, we have developed a JAVA software tool that applies the techniques described in [1]. Figure 3 illustrates the structure of this software tool. The Application module includes the Java class CTSoftware that is the application root and implements the user interface. The Compressor package includes the classes that are used to compress a bitmap image. These are the MainCompress class, that is used to organize the all the services that are offered by the compressor, MAskComputation that computes the binary mask as in [1], Segmenter that separates the foreground from the background, ImageEncoder that codes background and foreground as indicated by the user, BinaryEncoder that codes the binary mask, CombineBit that creates the final compressed file.
Compression of Layered Documents
95
Fig. 4. The test data set, from left to right, top to bottom: ABCD, Diabolik1, NAIF, Prova, Diabolik2
The Decompressor package includes the classes that are used to decompress a file coded by the Compressor. It includes the MainDecompress class that is the root class that calls all the decompressor services, the BinaryDecoder class, that decodes the binary mask, the CreateImage class that restores the original bitmap by merging together foreground and background, the Dscript class that interfaces with the external applications to decompress the subfiles, the ImageDecoder class that decodes background and foreground. The Off-the-Shelf components are pre-existing, external programs that are used to compress and decompress from/to one of the existing standard formats as JPEG, JPEG-LS, JPEG near lossless, JPEG2000, JBIG, etc.. Figure 4 shows five compound documents on which the software tool has been tested. Table 1 presents the results of our preliminary experiments in which the five images have been losslessly compressed. Each row of the table shows the image name, its original size, the two methods used to compress the background and foreground layer, the strategy used to set the “don’t care” pixels, the resulting compressed size and the compression ratio.
96
B. Carpentieri Table 1. Preliminary experimental results
Image Name ABCD ABCD ABCD ABCD Diabolik1 Diabolik1 Diabolik1 Diabolik1 NAIF NAIF NAIF NAIF NAIF Prova Prova Prova Prova Prova Diabolik2 Diabolik2 Diabolik2 Diabolik2 Diabolik2 Diabolik2
Original size (in KB) 79,782 KB 79,782 KB 79,782 KB 79,782 KB 836,318 KB 836,318 KB 836,318 KB 836,318 KB 476,062 KB 476,062 KB 476,062 KB 476,062 KB 476,062 KB 122,870 KB 122,870 KB 122,870 KB 122,870 KB 122,870 KB 259,948 KB 259,948 KB 259,948 KB 259,948 KB 259,948 KB 259,948 KB
Separate layers compression Background Foreground JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JBIG JPEG-LS JBIG JPEG-LS JBIG JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JBIG JPEG-LS JBIG JPEG-LS JBIG JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JPEG-LS JBIG JPEG-LS JBIG
Don’t care BLACK WHITE AVERAGE FILTERING BLACK WHITE AVERAGE FILTERING BLACK WHITE BLACK WHITE FILTERING BLACK WHITE BLACK WHITE FILTERING BLACK WHITE AVERAGE FILTERING WHITE BLACK
Compressed size (in KB) 5,99 KB 7,49 KB 11,684 KB 27,412 KB 209,447 KB 212,464 KB 280,645 KB 432,810 KB 16,532 KB 16,101 KB 9,213 KB 8,776 KB 21,788 KB 7,636 KB 10,252 KB 7,056 KB 7,618 KB 12,756 KB 199,149 KB 198,944 KB 252,166 KB 259,948 KB 140,635 KB 137,876 KB
Compression ratio 1:12.987466 1:10.389634 1:6.8283124 1:2.9104772 1:3.9929814 1:3.936281 1:2.9799855 1:1.9322982 1:28.796394 1:29.567232 1:73.62543 1:54.2459 1:21.849733 1:16.090885 1:11.984979 1:17.41355 1:16.128904 1:9.63233 1:1.0227618 1:1.0238158 1:0.8077298 1:0.783549 1:1.4483024 1:1.477284
These preliminary experimental results show the importance of the setting of the “don’t care” pixels: depending on the strategy used to set these “don’t care” pixels the compression ratio is very different. To the best of our knowledge this software tool is unique, there are no other similar tools in the literature so far.
5 Conclusions Simard et al. in [1] showed that the compression performance on compound documents can be improved by separating images from text and by applying different compression algorithms on the different types of data that are in the document. In this paper we study layered image compression via a new software tool, the preliminary experimental results obtained through this software tool show that the choice of the settings for the “don’t care” pixels is crucial. Future work will concentrate on the improvement of the technique described in [3] for setting the “don’t care” pixels.
Acknowledgments I would like to thank my students Federico Distante and Giovanni Longo who implemented a preliminary version of the software tool described in this paper.
Compression of Layered Documents
97
References 1. Simard, P.Y., Malvar, H.S., Rinker, J., Renshaw, E.: A Foreground/Background Separation Algorithm for Image Compression. In: Proceedings of the Data Compression Conference (DCC’04). IEEE Press, Snowbird (2004) 2. de Queiroz, R.L.: Compression of Compound Documents. In: Proceedings of ICIP 1999, pp. 209–213 (1999) 3. Ansalone, A., Carpentieri, B.: How to set “don’t care” pixels when lossless compressing layered documents. WSEAS Transactions on Information Science and Applications 4(1) (2007) 4. Taubman, D.S., Marcellin, M.W.: JPEG2000 Image Compression, Fundamentals, Standards, and Practice. Kluwer, Boston (2002) 5. Weinberger, M.J., Seroussi, G., Sapiro, G.: The LOCO-I lossless image compression algorithm: Principles and standardization into JPEG-LS. IEEE Trans. Image Processing IP-9, 1309–1324 (2000) 6. Malvar, H.S.: Fast adaptive encoder for bi-level images. In: Proceedings of IEEE Data Compression Conference, pp. 253–262 (2001)
Classifier Hypothesis Generation Using Visual Analysis Methods Christin Seifert, Vedran Sabol, and Michael Granitzer Know-Center Graz, Austria {cseifert,vsabol,mgrani}@know-center.at http://www.know-center.at
Abstract. Classifiers can be used to automatically dispatch the abundance of newly created documents to recipients interested in particular topics. Identification of adequate training examples is essential for classification performance, but it may prove to be a challenging task in large document repositories. We propose a classifier hypothesis generation method relying on automated analysis and information visualisation. In our approach visualisations are used to explore the document sets and to inspect the results of machine learning methods, allowing the user to assess the classifier performance and adapt the classifier by gradually refining the training set. Keywords: Text Categorisation, Visual Analysis.
1
Introduction
In today’s information-driven world new documents, such as news, scientific publications, technical reports or patents are produced at an astonishing rate. Frequently the need arises to supply recipients with particular topics of interest with relevant new documents. This task can be automated by using a classifier trained to recognise documents which are relevant to a particular topic, i.e. classify the documents to the corresponding topical category. Obviously, accurate automatic approaches for large data sets are highly desirable. As the performance of a classification model strongly depends on the training data, the classifier needs training data that is representative for the data set. All categories must be sufficiently covered with examples which preferably contain no contradictions. The situation is further aggravated in dynamic data sets where the problem of keeping the training set up to date may arise as new topics appear, vocabularies drift, or interests of the recipients gradually change. In this paper we present a work in progress which attempts to address these issues by a visual analytics-based approach, where automated analysis is combined with information visualisation to unite the strengths of high-speed computer processing with immense pattern recognition capabilities of the human visual apparatus. We propose a classifier hypothesis generation method combining unsupervised and supervised machine learning methods complemented by human involvement via visual analysis GUI components. Users’ general knowledge and intuition are F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 98–111, 2010. c Springer-Verlag Berlin Heidelberg 2010
Classifier Hypothesis Generation Using Visual Analysis Methods
99
decisive factors in steering the training set definition process and providing feedback to the system. Definition of the training set for a category usually begins by selecting candidate documents using a keyword search. In our approach the potentially large and diverse search result set is analysed by a clustering algorithm and presented to the user in an Information Landscape visualisation. The insights the user gains while exploring the topical structures in the landscape are used for specifying the training set of the classifier. After the classifier was trained and new documents were classified, classification results with high confidence values may be gradually added to the training set if deemed good by the user. A classifier visualisation is used to (periodically) assess the training set of the classifier and identify classes and documents where the confidence values produced by the classifier do not appear satisfactory. These documents can be analysed again using clustering and Information Landscape with the goal of improving and tuning the training set assignments. Requirements for the proposed concept, which is currently in a prototype stage, are derived in cooperation with real world users who, within their productive environments, need to supply relevant documents to recipients interested in particular topical categories. Obviously, correct assignments of documents to categories as well as precise category definitions are central to the task. The remainder of the paper is structured as follows: In section 2 we will briefly review related work, section 3 describes our approach and the required building blocks in detail. Section 4 is dedicated to a usage scenario on the Reuters-21578 text collection. We conclude and given an outlook to future work in section 5.
2
Related Work
The interdisciplinary research field of visual analytics focuses on reasoning facilitated by interactive visual interfaces [22]. It is a combination of automated discovery and interactive visualisation [9] used for understanding patterns in large data sets and discovering previously unknown facts and relationships. A core challenge in Visual Analytics is the analysis of massive repositories of unstructured texts [22]. The Information Landscape is a visual representation used to visualize complex relationships in large data sets. It has been successfully applied to convey topical relatedness in text document data sets in systems such as IN-SPIRE [11]. Information Landscapes have been extended to accommodate hierarchically organized text repositories, for example in InfoSky [3] and [17]. Mayer et al. [13] propose a map-based interface to large text collections based on self-organising maps (SOMs). This SOM-based visualisation also provides access to hierachical topical clusters and could be used in our combined approach interchangeable with the Information Landscape. Interactive machine learning offers a way to integrate background knowledge of domain experts into data mining models, in case the visualisations are designed appropriately [21]. For the task of classification, several visualisations have been proposed, most of them for specific classification models like for the Naive Bayes classifier [5]. Visualisations suitable for arbitrary classifiers are either restricted
100
C. Seifert, V. Sabol, and M. Granitzer
to binary classification tasks, i.e. the visualisation based on self-organizing maps in [16], or applicable to only a small number of classes like the cobweb-based visualisation of the classifier decision quality [6]. A visualisation for arbitrary classifier has been proposed in [19], however the applicability to massive text data sets has not been shown yet. Interactive approaches include an interactive decision tree [12] and support vector machine construction [15]. However these approaches are not targeted at laypersons. The Nora project [14] aims at constructing classifiers from large text repositories by letting the user label text documents with one of two category labels. The authors claim that their user interface design can be easily adapted to other text classification task where users can create training sets for classifiers. We think that an explicit representation of the overall classifier and its quality is missing in the interface. Another interactive text classification application has been proposed in the field of intrusion detection [4] where the authors combined a Naive Bayes classifier with a colour coded representation of text, and again let the user interactively label the incoming connection as benign or malicious. Here again, the user has no overview of the classifier and its quality, making it hard to assess the suitability of the classification model for the task. Besides visual approaches, automatic approaches exist for creating classifiers from large data sets, namely semi-supervised learning techniques [24] and activelearning techniques [20]. Semi-supervised models need to be carefully designed and adapted to the problem structure in order to improve classifier performance compared to purely supervised learning [24]. Thus, semi-supervised approaches are not suitable for our application domain, because we can not make a-priori assumptions about the classification problem (e.g., estimated model complexity, data distribution). Active-learning techniques generate new training data by asking the user to label the date items for which the classifier is least confident [20]. Such techniques can be combined with our visual approach to increase the classifier’s performance, once the categories are defined. For our application domain, the categories may evolve over time and thus a pure active learning approach is not applicable.
3
Combined Approach
Our approach to user-centred hypothesis generation for text categorisation is summarised in figure 1(a). Automatic techniques (depicted in dark grey boxes) alternate with users’ analysis and actions (depicted by the light-grey boxes, tagged with the symbolic user). As figure 1(a) shows the approach is characterised by an analysis-action loop which is terminated when the user is satisfied with the classification hypothesis. In detail, our approach consists roughly of the following steps: 1. Search (optional): Automatically finding potential documents of interest using keyword search. 2. Pattern analysis in the Information Landscape: Understand topical structures in the data set and select documents covering relevant topics. If
Classifier Hypothesis Generation Using Visual Analysis Methods
(a) process
101
(b) building blocks
Fig. 1. Overview of the combined user-centred clustering and classification approach
no search was performed before the whole document set is is chosen for the Information Landscape. 3. Building the classification hypothesis: – Training: Use selected documents to train a new category or to modify (add/remove documents from) an existing one. – Classification: Classify selected documents and, optionally, add documents with high confidence values to the training set of the assigned category. – Visualisation: Inspect the classifier and, if deemed necessary, select documents for further analysis and refinement in the Information Landscape (step 2). The building blocks necessary to implement the described approach are depicted in figure 1(b) and briefly described in detail in sections 3.1- 3.7. Note that the majority of the applied algorithms and visualisations are implemented within the KnowMiner knowledge discovery framework [10] and VisTools visualisation library [17]. Applying clustering and classification methods in the document space will result in a structure as depicted in figure 2. This structure contains two, in general orthogonal dimensions: the clustering tree and a forest of tree stumps imposed by the classification. The first structure devised by the clustering algorithm is visualised in the Information Landscape. Note, that the tree-like structure imposes a non-overlapping division of of the document set, i.e., a document only belongs to one of the next-to-bottom level clusters. The second structure, the decision tree stumps were imposed by the classification algorithm. The categories (on the right-hand side of figure 2) further divide the document set - independent of the cluster hierarchy. As we apply a multi-label classifier this second structure
102
C. Seifert, V. Sabol, and M. Granitzer
Fig. 2. Structure of the document space: hierarchical cluster tree superimposed by categories modelled by the classifier. Dark red documents are training documents for one class, light red are the documents classified by the classifier.
is in general not a partitioning of the document set, i.e., one document can belong to more than one category. The clustering hierarchy corresponds to topical structures implicitly present in the document space which are useful for gaining insight into the data, whereas the division imposed by the classifier corresponds to the structure explicitly defined by the application domain and users’ needs. 3.1
Document Preprocessing and Indexing
Before any of the analytic algorithms and visualisations can be applied on text documents, these documents need to be preprocessed and transformed into a term space representation. Each document is represented by term vector where components of the vector are the frequencies (occurrence counts) of terms in the document. To extract relevant terms from a document we apply a part of speech tagger to identify nouns which are subsequently stemmed and stop word-filtered. As vectorisation of text documents may be quite time consuming, raw vectors are stored so they can be quickly retrieved when needed for processing by an algorithm. Also, all documents which are imported and stored in their vectorised form are also indexed so they can be quickly retrieved using full text search. 3.2
Hierarchical Clustering
Clustering is an unsupervised machine learning technique which partitions a given set of items, in our case text documents, into subsets (clusters) of related items. Documents assigned to the same cluster are similar to each other according to a similarity function. We apply the k-means algorithm recursively using the cosine similarity measure, which is known to perform well for text data [23].
Classifier Hypothesis Generation Using Visual Analysis Methods
103
Recursive application of k-means creates a hierarchy of clusters and sub-clusters where the leaves of the created cluster tree correspond to single documents. Each cluster in the hierarchy is labelled with the highest weight terms (i.e. extracted keywords) of the underlying documents. A mechanism for splitting and merging of clusters attempts to guess the ”optimal” number of child-clusters, whereby the number of children is limited for usability reasons (i.e. to avoid scanning of long lists). The split-and-merge strategy also prevents the degeneration of the hierarchy. The resulting cluster hierarchy is suitable for browsing of the document set and we also refer to it as ”virtual table of contents”. 3.3
Projection Algorithm
The projection algorithm performs a dimensionality reduction of the high dimensional term space. In the resulting 2D visualisation space high-dimensional relationships (i.e. topical similarities) are preserved as well as possible so that topically similar documents (and clusters) are placed close to each other while dissimilar ones are positioned far apart. The algorithm [17] is a combination of hierarchical clustering techniques, force-directed placement and spatial tessellation, which proceeds recursively along the cluster hierarchy: First, the top level clusters are placed inside a rectangular area using a simple force-directed placement algorithm. The similarity of the centroids is calculated as the cosine similarity in the vector space representation of the centroids. After the top-level centroids are placed a Voronoi subdivision is calculated using the centroids as generator points for the Voronoi regions. The sub-clusters of a specific cluster are recursively projected inside the Voronoi region of a this cluster. The leafs (documents) of the hierarchy are placed within the Voronoi area of their parent cluster using the same force-directed placement method. 3.4
Multi-label Text Classification
The purpose of text classification algorithms is assigning category labels to previously unseen documents. Classification is a supervised machine learning technique, meaning that the algorithms learns the categories from a training set comprising of document-category pairs. Especially in text classification tasks single-label classification is not sufficient, meaning that each document may belong to more than one predefined category. We apply an adapted K-Nearest Neighbour (KNN) algorithm [2,1] for multi-label classification. As similarity we use the cosine similarity on the TF-IDF weighted vector-space representation of the documents. The output of the classifier for each classified document is a list of categories accompanied with a confidence value for each category. The visual analytics application is in principle independent of the specific classifier, as long as multi-label classification is supported. We use a KNN implementation to accommodate the dynamic nature of document repositories which are often growing at a fast rate. KNN training performance is suitable for frequently changing training sets where documents defining a training set of category are added (or removed) fairly often, and where categories need to be reorganised from time to time.
104
3.5
C. Seifert, V. Sabol, and M. Granitzer
Information Landscape
The Information Landscape is a visual representation based on the geographic map metaphor. It is used to visualize complex relationships in large data sets by conveying relatedness through spatial proximity. We use an Information Landscape to visualise projection and clustering results provided by the algorithms described in sections 3.2 and 3.3. The cluster hierarchy is represented by nested polygonal areas which were generated by the Voronoi area subdivision. A region of the landscape corresponding to a cluster is labelled by highest weight terms of cluster’s centroid. Documents, which are placed at the bottom of the hierarchy, are visualised as dots. Hills represent regions populated by a large number of topically related documents. They are separated by lower areas or see which represent sparsely populated regions. The landscape (see figure 3) is an interactive GUI component designed for explorative navigation in the visualised data set. It adheres to the well-known information visualisation mantra (“overview first, zoom and filter, details-ondemand“) by providing an overview of the whole data set and, when required, offering insight into at finer levels of detail. Labels are useful both for orientation and navigation - clicking on the label will trigger a short animated ”flight” to the corresponding cluster and reveal the areas and labels of its sub-clusters. At the finest level of details information on individual documents will be displayed. This provides an adaptive level of detail which is always adjusted to the zoom level and the area currently explored by the user. Free zooming, panning, rotating and tilting are also available. The landscape offers several mechanisms for selecting documents: using a lasso selection tool, single selection through mouse clicks, depending on the cluster membership, and using search. Selected documents are enlarged and/or displayed in a different colour. 3.6
Classifier Visualisation
The visualisation of the classifier provides an overview of the quality and the model of arbitrary classifiers. It is described in detail in [18] for single-label classification tasks. In our application data items may belong to more than one category (multi-label classification). For each classified document the classifier delivers category assignments consisting of pairs in the form category label, confidence, where confidence is a real number between 0 and 1 (highest). In the visualisation the categories are equally distributed on the circumference of a circle while the items are attracted to the categories according to their confidence values. This means that items placed near the categories belong to this category with high confidence. On the contrary, items placed in the centre of the circle are assigned to more than one category with high confidence. Thus, the visualisation gives an overview of the item distributions over categories. If most of the items are placed in the centre, this indicates a strong multi-label classification model. In the contrary, if most of the items are placed near the categories, it is an indication of a predominantly single-label classification model. As mentioned in [18] in the classifier visualisation the placement of the items is ambiguous.
Classifier Hypothesis Generation Using Visual Analysis Methods
105
This ambiguity is resolved by user interaction: Moving the mouse over a data item displays the corresponding assignments of the classifier, highlighting the category for which the classifier is most confident. Furthermore, on mouse over the content of the data item is shown allowing the user to assess the classifier’s decision. The classifier visualisation offers single selection on mouse click as well as a lasso selection to select several similarly classified items 3.7
Interaction Mechanisms
Table 1 shows all tasks that can be performed using both interfaces. Some tasks, like “delete items” can be performed in both user interfaces. Other tasks can only be performed in one of the interfaces. For instance, “delete class” is only possible from the classification window, since a class is not visible as such in the Information Landscape. Table 1. Overview of the tasks that can be performed from the interfaces Information Landscape (IL) and classifier window (CW) task
invoked in results in IL CW
create category
delete from category
1
delete category
classify inspect documents
4
inspect category
inspect classifier
a new category is created from the selected documents and the classifier is retrained selected documents are deleted from the category and the classifier is retrained the selected category is deleted and the classifier is retrained the selected documents are classified and the output of the classifier is presented to the user an Information Landscape is built from the selected documents an Information Landscape is built from the training documents of the selected category shows the classifier visualisation for the training data
Usage Scenario
We performed our experiments on the Reuters 21578 text collection. The hierarchical clustering results in 10 top-level clusters as shown in Figure 3. This structure of the information space is purely unsupervised. The Information Landscape in Figure 3 gives an overview of the entire text collection, showing clusters of similar documents and associated labels. The user can investigate the cluster hierarchy and get an insight in the overall content of the collection. The user 1
Category deletion can not be explicitly invoked from the Information Landscape, but a category is automatically deleted if all its training documents are deleted.
106
C. Seifert, V. Sabol, and M. Granitzer
Fig. 3. Selection of documents in the Information Landscape
might be interested in other partitions of the data set which are not detected by the unsupervised methods. For example, the user might want to distinguish the categories “politics”, “computers”, “cars”, “sports” and “planes”. First, these categories are not explicitly represented, they only exist as a mental model in the user’s mind. While investigating the Information Landscape the user might come across documents that belong to one of these categories. The user can then select these documents (as shown in figure 3) and can create a new category from the selected documents. In the background, the selected documents are added to the classifier as new training data for the specific category (if the category does not exist in the classifier yet, it will be created). After repeating the steps “investigation” and “adding training documents to the classifier” the user might have found example documents for each of the categories of interest. He or she might then be interested of the current available documents for each category and the quality of the classifier that he or she has implicitly generated. This information is provided by the classification window. The training document for each class are presented as a list to the user. If the user detects wrongly assigned documents for a category he or she can simply remove them from the list and the classifier is retrained on the reduced training data set. For assessing the overall classifier quality the user can switch to the classification visualisation view as shown in Figure 5. In the figure, it can be seen that there are many documents belonging to more than one class (the central area). Only for the class “car” there are documents belonging to no other class. Further, there are some documents belonging to exactly 2 classes, these are the documents lying on the imaginary line between the “cars” and the “sports” rectangle as well as on the imaginary
Classifier Hypothesis Generation Using Visual Analysis Methods
107
line between “cars” and “computers”. The user might investigate the content of the interesting documents by moving the mouse over the items and eventually discover misclassified items. If user discovers that the classification model is not in line with his or her mental model of the categories, e.g., that the categories should be more distinct (i.e. lesser documents in the centre of the visualisation), the user could select the conspicuous documents and generate a new Information Landscape in order to further investigate them. Similarly a new Information Landscape can be generated for all training documents of one category. The resulting landscape is shown in figure 6 This might lead to further insights and actions, for instance finding and deletion wrongly assigned training documents. After cleaning up the classifier by consolidating the training sets, the user might be interested if there are more documents inside the collection that fit into these categories. Back in the Information Landscape he or she then selects documents and gets them classified. The classification result for the documents selected in figure 3 is shown in figure 4. Then the classification results can be investigated and, in the case the classifier correctly classified the documents, can be added to the trainings data set.
5
Discussion
Generating classifier hypothesis for large dynamic text data repositories is a challenging and time-consuming task. We described our work in progress, which combines automatic and visualisation-based approaches. The user is presented an interactive visualisation of the text collection, the Information Landscape, which
Fig. 4. Classification results for selected documents
108
C. Seifert, V. Sabol, and M. Granitzer
Fig. 5. Overview of the classifier’s training data set
Fig. 6. Information landscape generated by selected documents (training documents for class “plane”
Classifier Hypothesis Generation Using Visual Analysis Methods
109
is useful for gaining insights into topical structures present in the data set. The newly discovered information is useful for defining the training set of the classifier. The resulting classifier can be evaluated by the means of a classifier visualisation and refined further if necessary. We see clear advantages of our approach in the case when the categories are not pre-defined, but emerge during investigation of the document set. However, we also believe that the Information Landscape is useful for analysis and improvements of existing training sets, for example when the quality of the classifications is deemed unsatisfactory by the user.
6
Future Work
As our approach relies heavily on visualization and user interaction, usability evaluation of selected components would be necessary to discover eventual shortcomings. Some components, such as the Information Landscape, have already been evaluated in formal usability experiments [3,17]. Evaluation of the classifier visualisation component and its interaction with the Information Landscape appears as a natural next step. Even more importantly, an evaluation of the overall effectiveness of our approach is necessary to assess its practical applicability. As the development of our method is being driven by real world scenarios, we plan to test the effectiveness of our method with pilot users who in their daily work deal with assigning documents to topical categories. To obtain objective performance figures, we will compare the performance (expressed by quality and productivity indicators) of our classifier-based method to the solutions currently employed by the pilot users. These include either reading of documents and manually assigning them to categories, or when the amount of documents is prohibitively large, constructing complex Boolean search queries to narrow down the document set. Also, subjective user satisfaction should be evaluated through questionnaires and by collecting user remarks, which will help us identify main problems sources and provide hints on how to deliver remedies. Further direction for development of the system include primarily incorporating active learning methods to improve the classifier’s performance once the categories are defined. Also we plan to integrate other classification models, such as Support Vector Machines [8] and the Class-Feature-Centroid classifier [7]. Acknowledgments. The Know-Center is funded within the Austrian COMET Program - Competence Centers for Excellent Technologies - under the auspices of the Austrian Ministry of Transport, Innovation and Technology, the Austrian Ministry of Economics and Labor and by the State of Styria. COMET is managed by the Austrian Research Promotion Agency (FFG).
References 1. Aha, D.W.: Tolerating noisy, irrelevant and novel attributes in instance-based learning algorithms. Int. J. Man-Mach. Stud. 36(2), 267–287 (1992) 2. Aha, D.W., Kibler, D., Albert, M.K.: Instance-based learning algorithms. Mach. Learn. 6(1), 37–66 (1991)
110
C. Seifert, V. Sabol, and M. Granitzer
3. Andrews, K., Kienreich, W., Sabol, V., Becker, J., Droschl, G., Kappe, F., Granitzer, M., Auer, P., Tochtermann, K.: The InfoSky Visual Explorer: Exploiting hierarchical structure and document similarities. Information Visualization 1(3-4), 166–181 (2002) 4. Axelsson, S.: Combining a bayesian classifier with visualisation: Understanding the IDS. In: Proceedings of the 2004 ACM workshop on Visualization and data mining for computer security, pp. 99–108. ACM Press, New York (2004) 5. Becker, B.G.: Research report: Visualizing decision table classifiers. In: Information Visualization. IEEE Computer Society Press, Los Alamitos (1998) 6. Diri, B., Albayrak, S.: Visualization and analysis of classifiers performance in multiclass medical data. Expert Systems with Applications 34(1), 628–634 (2008) 7. Guan, H., Zhou, J., Guo, M.: A class-feature-centroid classifier for text categorization. In: Proceedings of the 18th international conference on World Wide Web (WWW), pp. 201–210. ACM, New York (2009) 8. Joachims, T.: Text categorization with support vector machines: learning with many relevant features. In: N´edellec, C., Rouveirol, C. (eds.) ECML 1998. LNCS, vol. 1398, pp. 137–142. Springer, Heidelberg (1998) 9. Keim, D.A., Mansmann, F., Oelke, D., Ziegler, H.: Visual analytics: Combining automated discovery with interactive visualizations. In: Boulicaut, J.-F., Berthold, M.R., Horv´ ath, T. (eds.) DS 2008. LNCS (LNAI), vol. 5255, pp. 2–14. Springer, Heidelberg (2008) 10. Klieber, W., Sabol, V., Muhr, M., Kern, R., Granitzer, M.: Knowledge Discovery using the Knowminer framewor. In: Proceedings of the IADIS International Conference on Information Systems, pp. 307–314 (2009) 11. Krishnan, M., Bohn, S., Cowley, W., Crow, V., Nieplocha, J.: Scalable visual analytics of massive textual datasets. In: IEEE International on Parallel and Distributed Processing Symposium, IPDPS 2007, pp. 1–10 (March 2007) 12. May, T., Kohlhammer, J.: Towards closing the analysis gap: Visual generation of decision supporting schemes from raw data. In: Joint Eurographics and IEEE VGTC Symposium on Visualization (EuroVis), Computer Graphics Forum, vol. 27, pp. 911–918 (2008) 13. Mayer, R., Roiger, A., Rauber, A.: Map-based interfaces for information management in large text collections. Journal of Digital Information Management 6(4), 294–302 (2008) 14. Plaisant, C., Rose, J., Yu, B., Auvil, L., Kirschenbaum, M.G., Smith, M.N., Clement, T., Lord, G.: Exploring erotics in emily dickinson’s correspondence with text mining and visual interfaces. In: JCDL’06: Proceedings of the 6th ACM/IEEECS joint conference on Digital libraries, pp. 141–150. ACM, New York (2006) 15. Poulet, F.: Towards Effective Visual Data Mining with Cooperative Approaches, pp. 389–406. Springer, Heidelberg (2008) 16. Rheingans, P., des Jardins, M.: Visualizing high-dimensional predictive model quality. In: Proceedings of IEEE Visualization, pp. 493–496 (2000) 17. Sabol, V., Kienreich, W., Muhr, M., Klieber, W., Granitzer, M.: Visual knowledge discovery in dynamic enterprise text repositories. In: IV ’09: Proceedings of the 2009 13th International Conference Information Visualisation, pp. 361–368. IEEE Computer Society, Washington (2009) 18. Seifert, C., Lex, E.: A novel visualization approach for data-mining-related classification. In: Proceedings of the 13th International Conference on Information Visualisation (IV), July 2009, pp. 490–495. Wiley, Chichester (2009) 19. Seifert, C., Lex, E.: A visualization to investigate and give feedback to classifiers. Poster and Demo at Eurovis 2009 (June 2009) (unpublished)
Classifier Hypothesis Generation Using Visual Analysis Methods
111
20. Settles, B.: Active learning literature survey. Computer Sciences Technical Report 1648, University of Wisconsin–Madison (2009) 21. Ware, M., Eibe, F., Holmes, G., Hall, M., Witten, I.H.: Interactive machine learning: letting users build classifiers. International Journal of Human-Computer Studies 55(3), 281–292 (2001) 22. Wong, P.C., Thomas, J.: Visual analytics. IEEE Computer Graphics and Applications 24, 20–21 (2004) 23. Zhao, Y., Karypis, G.: Evaluation of hierarchical clustering algorithms for document datasets. In: CIKM ’02: Proceedings of the eleventh international conference on Information and knowledge management, pp. 515–524. ACM Press, New York (2002) 24. Zhu, X.: Semi-supervised learning literature survey. Technical Report 1530, Computer Sciences, University of Wisconsin (2008)
Exploiting Punctuations along with Sliding Windows to Optimize STREAM Data Manager Lokesh Tiwari and Hamid Shahnasser* San Francisco State University San Francisco, CA, USA [email protected]
Abstract. Data stream processing has found enormous use in real time applications such as financial tickers, network and sensor monitoring, manufacturing processes and others. STREAM is Data Stream Management System which implements sliding window query model in its architecture. We explore the existing architectural model in an effort to achieve faster results and improve the overall system functionality. In this paper, we analyze the STREAM data manager for the possible optimization of the query processing. We discuss the potential inadequacies of the current query model and put forward the use of punctuations along with sliding windows to improve the memory utilization and query processing. Keywords: Data Stream Management System, Punctuation, Sliding window, STREAM data manager.
1 Introduction Data Stream Management Systems (DSMS) provide a comprehensive tool for real time stream monitoring. Data Stream Management Systems that provide online data management capabilities has been successfully used in systems related to the financial applications, military purposes, sensor networks and others [1]-[4]. Data Stream is a continuous sequence of tuples which is ordered by a timestamp. In other words, stream is a sequence of timestamped tuples which are unbounded and include the notion of time. As the input data stream of DSMS is continuous and unbounded, the memory requirement of DSMS correspondingly increases. The continuous nature of the real time data stream makes it difficult to define the start and end constraints on the input stream while processing the data. Thus, the foremost requisite of any DSMS is to bound the data stream to keep a check on the memory requirements and processing resources [5], [6]. Most of the applications using Data Stream Management Systems are real time with no prior information of the data traffic stream [2]-[4]. The length of the data elements, classification of incoming tuples with respect to the relative streams, stream burst rate and time variations of incoming tuples are * This work has been partially supported by UNCFSP NASA Science and Technology Institute grant. F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 112–119, 2010. © Springer-Verlag Berlin Heidelberg 2010
Exploiting Punctuations along with Sliding Windows
113
unknown. Thus queries cannot be optimized to use the available memory resources without avoiding the possibility of memory overload. Without knowing the size of the input stream, it is impossible to place a boundary on the memory requirements of the queries. There is unlimited number of attributes that would be required to fully cover the entire domain and anticipate every possible data tuple for future event. For real time data management applications, the incoming stream needs to be combined with various other continuous streams in order to evaluate the required queries. Such join operations over the continuous data stream need to store the incoming data to join it with corresponding future data. The operator’s throughput is affected (in a negative way) as the join state becomes bulky and thereby affecting the overall system performance [7]. Thus, it does not make any practical logic to compare an individual tuple of one unlimited stream with all the tuples of another infinite stream for query evaluations. The STREAM management system addresses this problem of infinite memory requirement with the use of sliding windows in its architecture [7], [8]. The architecture restricts the memory requisite of the join state by dropping the tuples out of the active window in a timely fashion. 1.1 Organization of the Paper The rest of the paper is organized as follows. Related work covered in section 2 talks about previous work regarding data stream management system. Section 3 presents an example of an online bidding system explaining the challenges involved with sliding windows as being used in STREAM data manager. Section 4 consists of the analysis with regard to optimization of the architecture of STREAM data manager. Future work and conclusion is presented in section 5.
2 Related Work Among various well-known Data Stream Management Systems - TelegraphCQ uses SQL-like query language which uses the sliding window for the bounds on continuously arriving data stream [9] Gigascope uses GSQL, which is a specific subset of SQL [10], [11]. Aurora implements a declarative streaming query language for the processing system [12]. STREAM uses CQL based query system with sliding windows in its architecture [13]. Several join processing solutions have been implemented as the continuous data stream management receives increasing attention. The primitive well-known pipelined join solution are the symmetric hash join [14], XJoin [15] and ripple joins [16]. These joins faced the problem of potentially unlimited runtime for the join state as the streaming data arrives continuously. Other related work emphasized on memory consumption while keeping a check on the required resources by using constraints. These constraints could be time-based constraints as with sliding windows approach [7], [8], [17], [18] or value based as with k-constraint algorithms [19]. Another approach using dynamic constraints that help in query optimization is application of Punctuations [20], [21]. The time-based window join algorithms exploit the time range for tuples to use as a boundary over incoming data stream. Tuples that are outside the active window can be removed from the join operation [8], [18]. The K-constraint-exploiting algorithm
114
L. Tiwari and H. Shahnasser
[19] exploits clustered data arrival patterns to detect and purge expired data to shrink the join state. The patterns are statistically specified and hence only characterize the restrictive cases of real-world data. This approach is limited in its usability as the precision of the join result suffers when the actual data fails to obey the static constraints such as ordering and clustering [19]. Punctuations [20], [21] are assertions about what can and cannot appear in the remainder of data stream. Punctuations allow the blocking operators of the query to start processing on the input when appropriate to obtain most accurate results. Punctuations are essentially end-of-stream indicators which provide a bound on the input for a blocking operator.
3 Motivation The current STREAM architecture employ sliding windows approach to bound the dataset and apply a constraint on the memory usage [7], [8], [22]. An active window which can be time-based (such as Range of 12 hours) or count-based (over 1000 tuples) is defined within the query manager. The query manager considers the data tuples that are present in the active window for processing. Once the data element moves out of the window range, the element can be dropped and would not be considered for further query evaluation. STREAM system has been successfully implemented for an online bidding website such as eBay [23]. We introduce a running example to explain the possible optimization of STREAM data manager. In any online auction system, multiple auctions for individual items are open at any given time. For the items opened for bidding, multiple users keep on bidding with increasing value. Thus, a continuous stream of bids for each item is received. Also, at any given time, new items are being submitted and new members are registered with the online auction system. Thus, multiple streams are available for real time processing at any time. In the STREAM data manager, each auction is represented by a tuple in the Auction stream and each bid is represented by a tuple in the Bid stream. The tuples arrive in an order based on timestamp as required by the system. A common query in such an environment is represented in the example below. This query asks for the number of bids for each unique auction within a period of 24 hours from its opening time. The query plan would require a join operator which joins the Auction stream and the Bid stream to evaluate the result. The group-by operator groups the tuples in the result stream by the item identifier value. The 24 hour window is applied onto the Auction stream using the join operator. However, the use of siding window causes concerns as explained further. Example of CQL Query for STREAM
Select
A.item, Count (*)
From
Auction [Range 24 hours] A, Bid B Where
Group By
A.item = B.item A.item
Exploiting Punctuations along with Sliding Windows
115
Table 1. Auction Stream (A)
Item X Y Z
Seller Seller_1 Seller_2 Seller_3
Bid start price 25. 00 75. 00 50. 00
timestamp 10:05:00 10:10:06 10:12:52
Table 2. Bidding Stream (B)
Item Bidder Bidder_1 X Bidder_2 Y Bidder_3 Z < X, *, *, * >
Bidding price 30. 00 90. 00 45. 00
timestamp 11:14:23 11:33:00 14:33:09
As there are many auctions within the 24 hour period and the number of bids for each item within this period is also increasing at a high rate, the join state for both streams increases consistently. The increase in the join state of the streams eventually increases the memory and the processing requirements. Each item has a unique item identifier associated with it as shown in the Table 1. If many auctions are opened during this range of 24 hours with corresponding large number of bids, the join state becomes vast. Each bid tuple corresponds to its equivalent auction stream as each auction has unique identifier. The bid steam need not be maintained in the system after completion of the join operation as it is not going to match any future auction tuples. In such a case, we can insert punctuations for such an instance so that the process is terminated once the bid stream is joined to the corresponding Auction stream. The sliding window also uses additional time and resources for Auction tuples that are open for duration less than the window range of 24 hours. With respect to the online auctions, there would be many auctions with a smaller active period (auctions that are open for less than 24 hours). Such auctions can be removed from the state before the end of the window range to save the resources and produce faster partial results. Punctuation for announcing the end of the join operation can be implemented to optimize the system in such a case. The use of punctuation allows the STREAM data management system to output results before the final window range. In Table 2, the incoming tuple <X, *, *, *> is a punctuation which represents that no further bids for item X are coming in future. The punctuations can be inserted to notify the end of auction stream. In Table 2, the punctuation informs that there are no more bids expected for the auction item X. The use of punctuation is useful for the above mentioned cases; however, the sliding window proves functional for the Auctions that have the duration of more than 24 hours. Join results are not produced for the tuples that arrive after the window range. The future bids for such auctions are directly being dropped as they do not contribute to the required query results. The isolated use of punctuations would lead to overload of the system as there would be countless punctuations to be addressed for each ongoing auction. The computational cost of the system would increase,
116
L. Tiwari and H. Shahnasser
effectively reducing the system performance. In this paper, we propose the combined use of sliding window and punctuations for efficient use of the resources in such operations.
4 Analysis Exploiting punctuations alongside sliding window in STREAM can be used to optimize the system as discussed in section 3. Using punctuations in combination with sliding windows would allow the STREAM data manager to provide faster partial results. The results can be processed once the punctuation is received (the operator need not wait for the end of active window). Also, punctuations help resolve the issue caused by blocking operators [21]. 4.1 Memory Resource Overhead Memory utilization is an important aspect of any Data Stream Management System since the incoming data stream is unbounded which eventually requires unlimited memory for query processing. To cope with the high memory requirement, constraints need to be applied on the data stream. STREAM data manager uses sliding window to keep a check on the memory requirements [7], [8]. With the use of sliding windows, a time based constraint (defining a time range) or count based constraint (defining the number of tuples) is applied on the incoming real time data stream. The memory requirements of the system are kept in check as the data tuples under consideration for the query are restricted within the active window. However, there are certain cases where the processing can be done before the end of the active window (as explained in section 2). In such join operations, the partial results can be generated before the end of active window and free up memory resources. Punctuations can be used to produce the partial results by implying the end of related data tuples. Use of punctuations effectively allows reducing the memory consumption as the data that is no longer needed to be stored can be purged. Fine grained punctuation may degrade the efficiency of the system and increase the processing time. Ding et. al [20] observe that for a punctuation-to-tuple ratio of 15%, the punctuation processing overhead does not affect the overall system throughput. However, the STREAM data manager also needs to block any tuples violating punctuation, which causes additional computational cost. 4.2 Blocking Operators Combining the punctuations with the existing sliding windows approach in STREAM would also prove helpful with the blocking operators. Blocking query operator is a query operator that is unable to produce the first tuple of its output until it has seen its entire input. Common examples of sorting query operators are Sum, Sort, Count, and Average. Such operators (blocking) are an issue when used with streaming data since the incoming streams could be unbounded. The current STREAM system can process the blocking operators once the active window is completed and produce the required results. The inclusion of punctuations would enable the system to produce results
Exploiting Punctuations along with Sliding Windows
117
even if the sliding window is not completed. Punctuations allow the blocking operators of the query to start processing on the input stream as soon as possible to obtain most accurate results. This is useful for real time applications such as online bidding and financial tickers [3], [23]. 4.3 Join Operators The real time data streams systems such as for online bidding systems or sensor networks adhere to some semantic constraints which can be utilized to detect and purge the no longer needed data in join state [1], [3]. In streams with data clustered together by unique identifiers, the termination point for each join value is already known. This termination point can be used to confine the join operation with use of punctuations inserted into the data streams. Once a punctuation (signifying the end of join) is received in the stream, the corresponding punctuation can be checked in the other streams involved in the join operation and restrict the joining with any future tuples. 4.4 Overall Assessment In this paper, we propose the combined use of punctuations along with sliding windows to optimize the overall performance of the system. As explained in earlier sections, we can exploit punctuations in the existing system to further enhance the functionality and increase the output processing rate. Using punctuations in a Data Stream Management requires the system to understand the semantic of the punctuations that are included in the incoming stream and allow for the apt actions. Exclusive use of punctuation for bounding the incoming real time data stream increases the overhead of the system and results in higher computational cost [20], [21]. In addition, it creates a dependency for the input to carry the additional punctuation information which may not be possible for all data streams. To increase the efficiency of the system in order to optimize the memory utilization, a combination of sliding window and punctuation would be ideal. The inadequacies of sliding windows (being used by STREAM) can be eliminated with use of punctuations. The computational cost of the combined system would be almost similar to the current system using sliding windows when no punctuations are received within the active window range.
5 Future Work and Conclusion The STREAM data manager shows optimization possibilities in various aspects as reviewed in earlier sections. In this paper, we propose the combined use of punctuations in addition to the existing sliding windows schema to achieve better flexibility of system and increase the query processing throughput. Additional research is required for design of a schema to incorporate punctuations into the STREAM data manager. Poor designed punctuation architecture may result in decreasing the existing efficiency of the STREAM data manager as punctuations add for additional computational cost.
118
L. Tiwari and H. Shahnasser
References 1. Madden, S., Franklin, M.J.: Fjording the stream: an architecture for queries over streaming sensor data. In: 18th International Conference on Data Engineering, pp. 555–566 (2002) 2. Hammad, M.A., Aref, W.G., Elmagarmid, A.K.: Stream window join: tracking moving objects in sensor-network databases. In: 15th International Conference on Scientific and Statistical Database Management, pp. 75–84 (2003) 3. Zhu, Y., Shasha, D.: StatStream: statistical monitoring of thousands of data streams in real time. In: 28th International Conference on Very Large Data Bases, pp. 358–369 (2002) 4. Madden, S., Franklin, M.J., Hellerstein, J.M., Hong, W.: The design of an acquisitional query processor for sensor networks. In: ACM SIGMOD International Conference on Management of Data, pp. 491–502 (2003) 5. Golab, L., Ozsu, M.T.: Issues in data stream management. SIGMOD Rec. 32(2), 5–14 (2003) 6. Babcock, B., Babu, S., Datar, M., Motwani, R., Widom, J.: Models and issues in data stream systems. In: Twenty-First ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pp. 1–16 (2002) 7. Arasu, A., Babcock, B., Babu, S., McAlister, J., Widom, J.: Characterizing memory require-ments for queries over continuous data streams. ACM Transactions on Database Systems (TODS), 162–194 (2004) 8. Motwani, R., Widom, J., Arasu, A., Babcock, B., Babu, S., Datar, M., Manku, G., Olston, C., Rosenstein, J., Varma, R.: Query Processing, Resource Management, and Approximation in a Data Stream Management System. CIDR (2003) 9. Chandrasekaran, S., Cooper, O., Deshpande, A., Franklin, M.J., Hellerstein, J.M., Hong, W., Krishnamurthy, S., Madden, S.R., Reiss, F., Shah, M.A.: TelegraphCQ: continuous data-flow processing. In: ACM SIGMOD international Conference on Management of Data, pp. 668–668 (2003) 10. Cranor, C., Johnson, T., Spataschek, O., Shkapenyuk, V.: Gigascope: a stream database for network applications. In: ACM SIGMOD International Conference on Management of Data, pp. 647–651 (2003) 11. Cranor, C., Gao, Y., Johnson, T., Spataschek, O., Shkapenyuk, V.: Gigascope: high performance network monitoring with an SQL interface. ACM SIGMOD International Conference on Management of Data, p. 623ff. (2003) 12. Abadi, D., Carney, D., Çetintemel, U., Cherniack, M., Convey, C., Lee, S., Stonebraker, M., Tatbul, N., Zdonik, S.: Aurora: a new model and architecture for data stream management. The VLDB Journal 12, 120–139 (2003) 13. Arasu, A., Babu, S., Widom, J.: The CQL continuous query language: semantic foundations and query execution. The VLDB Journal, 121–142 (2006) 14. Wilschut, N., Apers, P.M.: Dataflow query execution in a parallel main-memory environment. In: First international Conference on Parallel and Distributed information Systems, pp. 68–77 15. Urhan, T., Franklin, M.: XJoin: A reactively scheduled pipelined join operator. IEEE Data Engineering Bulletin, 27–33 (2000) 16. Haas, P.J., Hellerstein, J.M.: Ripple joins for online aggregation. In: ACM SIGMOD international Conference on Management of Data, pp. 287–298 (1999) 17. Golab, L., Özsu, M.T.: Processing sliding window multi-joins in continuous queries over data streams. In: 29th international Conference on Very Large Data Bases. VLDB Endowment, vol. 29, pp. 500–511 (2003)
Exploiting Punctuations along with Sliding Windows
119
18. Kang, J., Naughton, J.F., Viglas, S.D.: Evaluating window joins over unbounded streams. In: 19th International Conference on Data Engineering,, pp. 341–352 (2003) 19. Babu, S., Srivastava, U., Widom, J.: Exploiting k-constraints to reduce memory overhead in continuous queries over data streams. ACM Trans. Database Syst. 29(3), 545–580 (2004) 20. Ding, L., Rundensteiner, E.A.: Evaluating window joins over punctuated streams. In: Thirteenth ACM international Conference on information and Knowledge Management, pp. 98–107 (2004) 21. Li, H., Chen, S., Tatemura, J., Agrawal, D., Candan, K.S., Hsiung, W.: Safety guarantee of continuous join queries over punctuated data streams. In: 32nd international Conference on Very Large Data Bases, pp. 19–30 (2006) 22. Motwani, R., Widom, J., Arasu, A., Babcock, B., Babu, S., Srivastava, U., Wang, Z.: STREAM: the Stanford stream data manager, http://infolab.stanford.edu/stream 23. Motwani, R., Widom, J., Arasu, A., Babcock, B., Babu, S., Srivastava, U., Wang, Z.: STREAM: the Stanford stream data manager, http://infolab.stanford.edu/stream/sqr
A Framework for In-House Prediction Markets Miguel Velacso1 and Nenad Jukic2 1
Carlson School of Management, University of Minnesota, 321 Nineteenth Avenue South Minneapolis, MN 55455, USA [email protected] 2 School of Business Administration, Loyola University Chicago, 1 E Pearson Chicago, IL 60611, USA [email protected]
Abstract. In-house prediction markets are a new method for collecting and aggregating information dispersed throughout an organization. This method is capable of accessing and aggregating certain organizational information that has previously not been attainable via traditional methods such as surveys, polls, group meetings, or suggestion boxes. Such information is often of great tactical and/or strategic value. Existing in-house prediction markets, which are either opened to all members of the organization or to pre-selected groups of experts within the organization, base participant’s power to influence the market strictly on the amount of their assets (usually in mock currency). We propose a more nuanced design approach that considers additional factors for determining the participant’s influence on the market over the long term. The goal of this design approach is to improve the accuracy and decision-support viability of inhouse prediction markets. Keywords: Prediction Markets, Organizational Information, Decision Support, Crowdsourcing.
1 Introduction Somebody visiting Google’s headquarters during the last four years may notice that quite a few employees seem to be sitting at their desks during lunch time trading stocks on their computers. Although e-trading has become quite ubiquitous, one would be jumping to conclusions too soon by that Google employees just like to trade online. What the visitor is actually seeing is the result of a new method for collecting and aggregating dispersed information, usually called prediction markets. Instead of buying shares, Google employees are trading in stocks representing the “Number of customers that Gmail will have at the end of the fiscal year” or the “Probability of a new competitor in the field of video search to appear in the market this quarter”. Accessing dispersed information within a company to better inform decision making has always been an issue, more so since most managers nowadays realize that employees along the company’s hierarchy possess information that is hard to reach but may be relevant to decision making [1]. Traditional methods of accessing and aggregating this dispersed information like surveys, polls, group meetings, suggestion F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 120–127, 2010. © Springer-Verlag Berlin Heidelberg 2010
A Framework for In-House Prediction Markets
121
boxes, etc, have proven to be of value, and are well documented by past and current management literature (for a condensed review on how these methods differ from prediction markets, see [10]). The first documented prediction markets [8] took place during the US presidential elections between 1868 and 1940, but have only recently gained some momentum amongst the managerial community. Pioneered by Siemens in 1997, more and more companies have introduced prediction markets into their corporate culture; Google’s being the largest implementation so far with almost 300 markets and over 80,000 trades since their inception in April 2005 [3]. This renewed interest in prediction markets has been fueled by the success of experimental prediction markets during the last decade that have emerged from very different environments. Academia has produced some, such as the Iowa Electronic Markets, operated by faculty at the University of Iowa Henry B. Tippie College of Business. Others, such as Intrade (www.intrade.com) or Hollywood Stock Exchange (www.hsx.com), have been created by for-profit firms that act as a market platform and allow users to set up markets for trading in countless topics. As James Surowiecki stated in his book The Wisdom of Crowds [11]: ". . . the most mystifying thing about [prediction] markets is how little interest corporate America has shown in them... companies have remained, for the most part, indifferent to this source of potentially excellent information, and have been surprisingly unwilling to improve their decision making by tapping into the collective wisdom of their employees."
2 Brief Overview of Prediction Markets In this section we give a brief overview of prediction markets (for a more detailed description see [13]). In its simple form, a prediction market is just like a market for a single stock, where the price of the stock reflects the probability of an event happening. A common example is a stock that pays $100 if candidate A wins the presidential election and $0 if candidate A loses. A price of $60 reflects the market giving event “candidate A wins the election” a 60% probability of happening.
Fig. 1. Prediction market example - US Presidential Elections 2008
122
M. Velacso and N. Jukic
The evolution of this stock can be seen in a real prediction market over the 2008 US presidential elections in Figure 1, candidate A being in this case the now President Obama. While the price of a stock is commonly used in prediction markets, it is not implied that these markets have to be actually traded in a real currency. Various instantiations of prediction markets use mock currency instead of real one, and prizes are awarded to top performers. Figure 2 depicts a typical prediction market set up.
Real Event Dispersed Information
Motivate
Trades
Agent
Rewards
Used to trade
Marketplace
Results of trades accumulate into
Portfolio Value
Used to purchase
Fig. 2. Typical prediction market set up
Prediction markets elicit and aggregate dispersed information possessed by the different agents who disclose this information via trades in the existing prediction markets or marketplace. At the end of a particular market, the real event determines the outcome of the stock (in the previous example, the outcome of the election determined whether the “Obama” contract paid $100 or $0), which in turn determines the result of the trades of the agents. The accumulated results of the trades and the market value of stocks an agent may have at a particular point in time1 conform the portfolio value that said agent has available for trading or for purchasing rewards. The motivation provided by these rewards constitutes the information eliciting mechanism of prediction markets. In the past 2008 US presidential elections, the predictions at Intrade over the outcomes of each state were 100% accurate, beating any other major prediction method (http://electoralmap.net/index.php). The Hollywood Stock Exchange’s track record for predicting the winners of the 8 top categories at the Oscar awards is also impressive: since its inception in 1999, it has predicted correctly 83% of said awards (http://www.hsx.com/about/press_rel.htm). Studies on the accuracy of prediction markets versus polls and surveys [2], [5] show that prediction markets are at least as accurate, when not clearly superior. It is important to note at this point that, while the 1
The portfolio value is translated to currency at the end of a market, since the market stops and pays off the stock when the real event takes place.
A Framework for In-House Prediction Markets
123
information obtained from a prediction market can be used for making predictions, the price of a stock does not as such reflect the probability of an event happening, but the consensus about the probability of an event happening that agents trading in said market give to the event. The power of prediction markets is in its information aggregation and eliciting capabilities2. There are elements in the design of prediction markets that make them aggregate information differently and more efficiently than by other means. After all, how many employees spend their free time voluntarily and carefully answering polls or surveys?
3 A Framework for In-House Prediction Markets Prediction markets where real currency is used face the potential problem when the amount of power of a given agent in a prediction market is determined by the current available monetary wealth of the agent. If two agents have the exact same information to disclose to the market via a trade in a particular stock, the agent that has more available money will influence the final price more than the agent that has less. Everything else being equal, it doesn’t seem like a difference in wealth is a good reason for a difference in the potential influence on the price that each agent has. Although “public” prediction markets have captured more academy and media attention than their “in-house” counterparts, we focus on internal prediction markets deployed by companies for decision support purposes. While the design change we propose can be easily extended to a public prediction market, we argue that there is a difference on the final objective of both types of prediction markets that makes our framework a better fit for in-house implementation. Public prediction markets are run by companies, but their objective is not to provide information for decision making but to benefit from the fees the agents pay when they trade. An in-house prediction market, on the other hand, is run by a company to improve decision making, and thus a mechanism directed to the improvement of the aggregation of information is a more direct concern, since the company does not profit from the number and volume of trades, but from the information the agents disclose via those trades. This decision in turn determines that we are going to be dealing exclusively with mock currency markets, since companies have found that legislation issues prevents them for utilizing real currency [11]. Moreover, a study on the issue of real vs. mock currency [9] showed no statistical difference between the predictions of a sports-based real money market and a similar mock currency one. Mock currency markets also lend themselves better to the kind of design modification we propose, which tries to acknowledge the existence of experts3 amongst the agents participating in the market, while recognizing that an a priori identification of said experts is impractical both from the point of view of pure implementation problems and the fact that a categorization of expertise is likely to be tainted with whatever particular notions of the concept of 2
Perhaps a more accurate name for prediction markets would be “information markets”, by which they are also known, but the term has not stuck with the community so far. 3 For the purpose of this paper, we define an expert as an agent which has correct information and discloses it to the market by participating in trades.
124
M. Velacso and N. Jukic
expertise the market organizer has. Instead of an a priori classification, we propose a proxy classification of the expertise of the agents, based on previous performance. Prediction markets have a built-in mechanism for rewarding participating agents according to the contribution to the market: the profits/losses an agent obtains from his trades in the market. We propose to adapt this concept for the a posteriori identification of experts.
4 Proposed Framework Principles A literature review of several real world implementations of prediction markets in large companies [3], [4], [6], [7] shows that while some companies (e.g. Google) have open in-house markets, where all employees have access to the prediction markets, others (e.g. Intel, GE) restrict the access to the market to a previously defined set of agents, deemed by the company to be experts on the issue traded. In our solution, an a priori identification of experts is substituted by a mechanism that assigns higher weight to agents that recurrently contribute good information to the system, so our design acts as an open in-house market. By giving higher weight to experts while maintaining an open market so all potential agents can participate, our design is positioned to elicit more relevant information than a preselected experts design and aggregate information better than an open design in which every agent’s opinion is considered to have the same weight (i.e. an average of the opinion of the agents). At the end of a market we find the other potential point of improvement. In most real world implementations, the amount of currency the participating agents have at the end of a determined period of time is taken into account for rewarding expert agents for their contribution, be it by allowing them to redeem their mock currency for prizes, awarding a prize to the agent with most earnings, or/and displaying the agent’s results for social recognition. The amount each agent has to trade at the end of a market is then either reset, so all agents start again with the same potential capability of influencing the market, or agents are free to carry their historical performance over consecutive markets, thus gaining a capability of influencing the market that is directly proportional to the relative value of their portfolio. The amount of currency an agent has available for trading can be assimilated to the amount of power that an agent has for influencing the current market price, which we now formally term “market power”. In actual documented implementations this market power is the same as the amount of the portfolio of an agent at a given time. If an agent doubles his portfolio’s value by a successful series of trades, his market power becomes twice as much as it was before. While this equal variation of power and portfolio value can be accepted from the point of view of making it easy for the agent to link his performance with the rewards, we propose to separate the concepts of market power and amount available for purchasing rewards4 (which we now term “incentive power”). The incentive power is going to consist on the benefits/loses the agent obtains from the normal trading in the market. 4
Or social recognition by means of a ranking, or to determine the top best agent/s for a series of prizes.
A Framework for In-House Prediction Markets
125
Separating market power from incentive power serves two different functions. First, it allows us to implement short term rewards while maintaining a market power based on long term performance. By separating incentive power from market power we allow for agents to still have access to rewards without having to “sacrifice” market power by exchanging it for prizes. Second, it allows us to set a different market power for each agent. We argue that while the variation of an agent’s market power should be linked to the agent’s performance, it should not be a direct 1 to 1 proportion (as is the case in current implementations of prediction markets that are linked to agents’ performance). While 1 to 1 proportion seems adequate for determining the agent’s incentive power in a simple, intuitive way, we propose that there are factors that permit further qualification of information contribution, depending on the particular circumstances in which the agent contributed to the system. The argument about the characteristics of real actual prediction markets and our proposed solution is summarized in Table 1. We address the problem of whether to open the market to preselected experts or to all potential agents by giving higher weight to experts while maintaining an open market so all potential agents can participate. Table 1. Comparison of the current in-house prediction markets and the proposed framework Problem
Solutions in the cases reviewed - Pres elected Experts
Agent selection
Amount availab le for trading
Amount availab le for rewards
- Open to all in-hous e agents - Equal to historical performance - Same initial amount for every market
- Equal to performance
Our Solution - Open to all in-hous e agents (but different weights)
- Linked to performance but moderated by other factors
- Equal to performance
Current prediction markets designs either reset the agents’ amount available for trading at the end of each market so all of the agents have the same amount of currency, or they allow agents to carry on their benefits to the next market in a 1 to 1 proportion. Our framework requires assigning higher weight to expert’s opinions, and it does so by linking that weight to recurrent performance in previous prediction markets, so a reset of the amount available for trading at the end of each market that translates into the same initial weight for all agents in the upcoming markets is not a viable way for implementing it. A marketplace in which the agent’s market power is determined directly by the agent’s historical performance is more similar to our solution, although we argue that while market power should be linked to historical performance, it should be moderated and not in a 1 to 1 proportion. Our proposed model extension and refinement is expressed in Figure 3, which complements and modifies the actual typical design seen in Figure 2.
126
M. Velacso and N. Jukic
Current market information accumulates into
Real Event Dispersed Information
Current market information contributes to
Trades
Marketplace Results of trades contribute to Results of trades accumulate into
Historical Market Information
Determines
Motivate
Agent
Rewards
Used to trade
Weight Assignment Mechanism
Incentive Power
Used to purchase
Market Power
Fig. 3. Proposed prediction market set up
As we can see in Figure 2, currently the results of the trades of an agent are used to determine both the portfolio value (the amount available for trading, which we term market power) and the amount available for rewards (which we term incentive power). The portfolio value is either reset at the end of a determined period of time, or agents are allowed to carry the portfolio value over to new markets. Our solution takes a middle approach. In it, every agent starts with the same market power (e.g. 100 points). After a market or series of parallel markets has been run, we allow the agents to exchange their final points for rewards, but instead of having every agent start at the same market power level in the subsequent round of prediction markets, we assign a different market power to each agent based on the weight assignment mechanism that assigns more power to agents with higher level of expertise.
5 Conclusions and Future Work Existing in-house prediction markets, base participant’s power to influence the market strictly on the amount of their assets (usually in mock currency). We propose a more nuanced design approach that considers additional factors for determining the participant’s influence on the market over the long term. The goal of this design approach is to improve the accuracy and decision-support viability of in-house prediction markets. In our future work we will develop a working prototype prediction market system based on our proposed framework. We are currently developing several different weight assignment mechanisms (using different algorithms) for testing in our prototype. The goal of the prototype is to prove the proposed framework’s ability to improve the quality of the input (prediction of the agent moderated by his market power) of a prediction market by deriving the market power as a function of the agent’s past performance and the markets circumstances on which the performance was achieved.
A Framework for In-House Prediction Markets
127
References 1. Berg, J.E., Rietz, T.A.: Prediction Markets as Decision Support Systems. Information Systems Frontiers 5(1), 79–93 (2003) 2. Chen, Y., Chu, C., Mullen, T., Pennock, D.M.: Information Markets vs. Opinion Polls: An Empirical Comparison. In: Proceedings of the 6th ACM Conference on Electronic Commerce, EC ’05, Vancouver, BC, Canada, June 2005, pp. 58–67. ACM, New York (2005) 3. Cowgill, B., Wolfers, J., Zitzewitz, E.: Using Prediction Markets to Track Information Flows: Evidence from Google, Working Paper (2008), http://bocowgill.com/GooglePredictionMarketPaper.pdf 4. Dye, R.: The Promise of Prediction Markets: A Roundtable. The McKinsey Quarterly, pp. 83–93 (2008) 5. Gruca, T.S., Berg, J.E., Cipriano, M.: Consensus and Differences of Opinion in Electronic Prediction Markets. Electronic Markets 15(1), 13–22 (2005) 6. Hopman, J.W.: Using Forecasting Markets to Manage Demand Risk. Intel Technology Journal 11(2) (2007) 7. LaComb, C.A., Barnett, J.A., Pan, Q.: The Imagination Market. Information Systems Frontier 9(2-3), 245–256 (2007) 8. Rhode, P., Strumpf, K.: Historical Prediction Markets: Wagering on Presidential Elections, UNCC Hill, NUNCC Hill. Journal of Economic Perspectives 18(2) (2004) 9. Servan-Schreiber, Wolfers, Pennock, Galebach: Prediction Markets: Does Money Matter? Electronic Markets 14(3) (2004) 10. Sunstein, C.R.: Infotopia: How Many Minds Produce Knowledge. Oxford University Press, Oxford (2006) 11. Surowiecki, J.: The Wisdom of Crowds: Why The Many Are Smarter Than The Few and How Collective Wisdom Shapes Business, Economies, Societies, and Nations, 1st edn. Doubleday, New York (2004) 12. Surowiecki, J.: Wagers of Sin. The New Yorker (September 25, 2006) 13. Wolfers, J., Zitzewitz, E.: Prediction Markets. The Journal of Economic Perspectives 18(2), 107–126 (2004)
Road Region Extraction Based on Motion Information and Seeded Region Growing for Foreground Detection Hongwu Qin, Jasni Mohamad Zain, Xiuqin Ma, and Tao Hai Faculty of Computer Systems and Software Engineering University Malaysia Pahang Kuantan, 26300, Malaysia [email protected], [email protected], [email protected], [email protected]
Abstract. This paper proposes a road region extraction method based on the motion information of foreground objects and seeded region growing (SRG) algorithm. By learning on a training set of a scene over a period of time, we get the trajectory of moving object, then use SRG algorithm in which the trajectory is used as seed to extract road region. As a result, instead of detecting foreground objects in a conventional pixel by pixel manner, detection can be mainly performed on or near the pixels of road region so as to facilitate and accelerate foreground detection. In addition, the regions outside road region most of the time do not need to be transmitted in visual communication. Experimental results represent the accuracy and usefulness of our proposed method. Keywords: Foreground detection, seeded region growing, region extraction, visual surveillance.
1 Introduction Foreground detection in a video sequence is a fundamental and critical task in many vision applications including automated visual surveillance, traffic monitoring and analysis, and human-machine interface. In a computer vision application, foreground detection is always followed by several other tasks: objects tracking, objects classification and activity recognition. So, an efficient foreground detection algorithm is demanded in order to real-time implement the entire vision application. Many foreground detection methods have been proposed in the past decade. A widely-used approach to foreground detection is background subtraction, where each video frame is compared against a background model. Pixels in the current frame that deviate significantly from the background model are considered to be foreground objects [1]. However, either the simplest background model of temporally averaged image or the complex nonparametric approaches [2] [3] and parametric approaches[4] [5] are time-consuming because every pixel per frame has to be processed in these methods. Can we only process a part of pixels in one frame? In fact, processing a part of pixels is enough to accomplish task in many vision applications. An example is shown in Fig. 1(a), an automated visual surveillance system is placed on expressway for traffic analysis; the image captured by camera includes sky, road, grass, and tree. Obviously, it is not necessary to process the pixels in sky F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 128–134, 2010. © Springer-Verlag Berlin Heidelberg 2010
Road Region Extraction Based on Motion Information and SRG
129
region and most of pixels in grass and tree regions, we only need to extract road regions and process the pixels in or near it. From Fig. 1(b), we can estimate that it will save almost 2/3 processing time for us. Therefore, as long as we find out the road areas, we can pay more attention on dealing with road region so as to improve the efficiency of foreground detection.
10% 8%
38%
road sky grass tree
44%
(a)
(b)
Fig. 1. (a) An example of outdoor scene in surveillance system; (b) Percentage of different region in the scene image
In this paper, we propose a method that integrates motion information of foreground objects and SRG algorithm to extract road region in outdoor automated visual surveillance system. By learning on a training set of a scene over a period of time, we get the trajectory of moving objects, then use SRG algorithm in which the trajectory is used as seeds to extract road regions. In our experiment, we use the motion trajectories of vehicles because the trajectories of vehicles are more reliable than that of human for locating the road. Our work is based on two assumptions: the first one is that the outdoor surveillance systems are mainly used for monitor human and vehicles. So the scenes with high probability contain roads. The other is when moving vehicle appears in the scene it must be moving on roads. The two assumptions are reasonable for an outdoor surveillance system. The extraction of road region has another advantage that in visual communication, most of the time the regions outside road region do not need to be encoded and transmitted. The rest of the paper is organized as follows. In section 2, we present the method for capturing the motion trajectory. Section 3 describes the SRG algorithm. Section 4 provides experimental results and discussions. Conclusions are made in section 5.
2 Motion Trajectory Extraction To obtain the motion trajectories of moving objects, we need to learn on a training set of a scene over a period of time. This procedure includes three steps: detection, classification and tracking. It is possible some moving background objects like waving trees exist in the scene. Therefore, we use Gaussian mixture model (GMM)[4] as background model for foreground detection, and then we classify the objects into two types: human and vehicles. After that, Kalman Filter is used to track the objects. Finally, select parts of foreground pixels as motion trajectories. Each pixel in the scene is modeled by a mixture of K Gaussian distributions. The probability of observing the current pixel value can be written as
130
H. Qin et al. K
P ( X t ) = ∑ ω i ,t ∗ η ( X t ; μ i ,t , Σ i ,t ) i =1
where
ωi,t
is the weight parameter,
μ i,t
is the mean value and Σ i ,t
(1)
= σ i2 I is the
th
covariance matrix of the i Gaussian component in the mixture at time t , and where η is a Gaussian probability density function
η ( X t ; μ , Σ) =
1 n 2
( 2π ) Σ
e
1 2
1 − ( X t − μ t )T Σ −1 ( X t − μ t ) 2
(2)
First, the Gaussians are ordered by the value of ω / σ , and then the first B distributions are chosen as the background model, where b
B = arg min (∑ ω i > T ) i =1
b
(3)
The threshold T is the minimum prior probability that the background is in the scene. Background subtraction is performed by marking a foreground pixel any pixel that is more than 2.5 standard deviations away from any of the B distributions [10]. After the background subtraction and denoise, we get the masks of moving objects. It is clear that the most obvious types of targets which will be of interest are humans and vehicles. For this reason, a dispersedness model [9] is used to classify humans and vehicles. Dispersedness Dk is defined as Dk =
Pk2 Sk
(4)
where Pk is the perimeter, and S k is the area of the object. Clearly, a human, with its more complex shape, will have larger dispersedness than a vehicle. When an object appears with Dk < λ , the object is classified as vehicle, otherwise as human. λ is a threshold obtained by training. Then, we match the vehicle frame by frame, namely tracking. Here we model a Kalman Filter for every vehicle for tracking. The detail about Kalman Filter can be found in [6]. During tracking we select a part of pixels in the vehicle as the motion trajectory. We can not affirm that all pixels of the vehicle are inside road region. However, we can affirm the most bottom pixels of the mask of the vehicle must be inside road areas. So we select these pixels to form the trajectory. Finally, we get the trajectory of the vehicle through tracking the vehicle for a period of time. Fig.3 (d) illustrates the trajectory of a vehicle moving on the road.
3 Seeded Region Growing SRG [7] performs a segmentation of an image, which starts with assigned seeds, and grow regions by merging a pixel into its nearest neighboring seed region. The seeds could be selected either manually or automatically [8]. The algorithm is suitable to segment the
Road Region Extraction Based on Motion Information and SRG
131
images in which the individual objects or regions in the image are characterized by connected pixels of similar value [7]. In general, the pixels in road areas have similar value. Therefore, we use SRG algorithm to extract the road areas. Instead of segmenting the image to many regions using a number of seeds in conventional SRG algorithm, here we only need to segment one region, namely road region, so one seed region is enough. We use the trajectory of vehicle obtained previously as seed region. The algorithm for implementing SRG is as follows, Put seed points in set R . Calculate the mean of R . Calculate ξ of every seed point with the mean.
Put all seed points in List in an increasing order of ξ . While List is not empty: Remove first point y from List. Repeat test eight neighbors of y : If the neighbor point has not been in R Calculate δ of the neighbor point with the mean of R . If ξ > M Put the neighbor point in set B . Else Put the neighbor point in R . Put the point in the List according to ξ . Update the mean of the pixels in R .
ξ is a measure of distance between a pixel and the region it adjoins. The definition for ξ is where R denotes the road region, B denotes the boundary, M is a threshold and N
ξ = ∑ ξi i =1
ξ i =| vi − mean[vi ( y )] | y∈R
(5) (6)
vi is the color value of the pixel. If we implement SRG in RGB color space, then i ∈ {R, G, B} , vi denote one of R, G, and B components. List denotes a sequen-
where
tially sorted list, which is similar to SSL in [7]. The RGB color space is suitable for color display, but is not good for color analysis because of its high correlation among R, G, and B components. However, in YUV [11] color space, the intensity and chromatic components can be easily and independently controlled. When different parts of road have different illumination, YUV model can eliminate the influence caused by different illumination. Fig.2 illustrates the difference between RGB and YUV on measuring the similarity of pixels on roads. At a first glance, it seems that all pixels on the road have the same color value. In fact there exists difference among them, especially the areas inside the red rectangle in Fig.2 (a) has
132
H. Qin et al.
distinct different intensity from other parts of the road due to the occlusion of buildings. We select a pixel marked by a blue point in Fig.2 (a) and try to find the pixels which have similar value to it in both RGB and YUV color space. Fig.2 (b) is the result in RGB space with the same threshold 20 in R, G, and B components. Fig.2 (c) is the result in YUV space with the threshold 60 in Y, 6 in U and V components. It is obvious that more similar pixels are included in YUV space. So YUV model are more suitable to find out similar regions. Y = 0.299R + 0.587G + 0.114B
(7)
U = − 0.14713 R − 0.28886 G + 0 .436 B
(8)
V = 0.615R − 0.51499G − 0.10001B
(9)
(a)
(b)
(c)
Rectangle and similar pixels Fig. 2. The difference between RGB and YUV on measuring the similarity of pixels on roads. (a) the region enclosed by the red rectangle has different illumination with other road region; (b) red pixels are similar to the blue point in (a) in RGB space; (c) red pixels are similar to the blue point in YUV space.
4 Experiment Results In order to evaluate the accuracy and usefulness of our road extraction method, two types of experiments have been performed: ( ) compare with the result of manual segmentation, ( ) perform foreground detection pixel by pixel and foreground detection only in road region respectively, and compare their performance. The experiments were performed on a PC with Intel Pentium D 3.0GHz Processor. The test images are from PETS2001 dataset. The image resolution is 320×240 pixels. Fig. 3 illustrates the results of manual segmentation and our method respectively. To measure the accuracy of our method, we define the accuracy 0 ≤ a ≤ 1 of our method as follows
Ⅰ
Ⅱ
a=
P ∩Q P ∪Q
(10)
where P denotes the segmentation result obtained by our method and Q denotes the manual segmentation result. The accuracy is 1 only if P is identical to Q . The accuracy on the test dataset is a = 95% .From the result, we can see that only several little regions are not extracted. These regions can be filled by simple image processing techniques
Road Region Extraction Based on Motion Information and SRG
133
such as dilation and opening operations. In this case almost an entire region can be extracted. This experimental result demonstrates the accuracy of the proposed method. We conducted foreground detection pixel by pixel and foreground detection only in road region using three different algorithms respectively: temporal difference (TD), background model that can be adaptive with a simple Infinite Impulse Filter (BIIF) and Gaussian background model (GB). Considering partial projection of the object moving on the road may be out of the road region, so the boundary of the road region should be extended some pixels toward outside when foreground detection algorithms are being implemented. Here we extended 25 pixels. Fig. 4 illustrates the ratio of computation time of each algorithm performing in two manners. From the result, we can see it will save about 64% of computation time on average. This experimental result demonstrates the usefulness of the proposed method.
(a)
(d)
(b)
(e)
(c)
(f)
Trajectory and road Fig. 3. (a) is the original scene without any foreground objects; (b) and (c) is two frames of the training image sequences which include a car; In (d), trajectory of the car is marked by a red line; (e) red pixels show the manual segmentation mask of road region; (f) red pixels show the mask of road region by using proposed algorithm.
Fig. 4. Ratio of computation time of each algorithm performing in two manners
134
H. Qin et al.
5 Conclusion In this paper we present a road region extraction method based on vehicle motion trajectory and seeded region growing algorithm. By learning a scene over a period of time, we get the motion trajectory of vehicle, and then perform SRG algorithm which use the pixels on the trajectory as seeds to extract road region. The method can be used as preprocessing step in an automated visual surveillance system to facilitate and accelerate foreground objects detection, tracking, and analysis. Experimental results represent the accuracy and usefulness of our proposed method. Acknowledgments. Special thank go to my supervisor, Prof. Dr. Jasni Mohamad Zain, who guided me through this research, inspired and motivated me. We thank University Malaysia Pahang for supporting this research.
References 1. Cheung, S.-C., Kamath, C.: Robust Techniques for Background Subtraction in Urban Traffic Video. In: Panchanathan, S., Vasudev, B. (eds.) Proc. Elect. Imaging: Visual Comm. Image Proce. 2004 (Part One) SPIE, vol. 5308, pp. 881–892 (2004) 2. Kim, K., Chalidabhongse, T.H., Harwood, D., Davis, L.: Background Modeling and Subtraction by Codebook Construction. In: Proc. IEEE Int’l Conf. Image Processing, vol. 5, pp. 3061–3064 (2004) 3. Sheikh, Y., Shah, M.: Bayesian object detection in dynamic scenes. In: CVPR, vol. (1), pp. 74–79 (2005) 4. Stauffer, C., Grimson, W.E.L.: Adaptive Background Mixture Models for Real-Time Tracking. In: Proc. IEEE CS Conf. Computer Vision and Pattern Recognition, vol. 2, pp. 246–252 (1999) 5. Wren, C., Azarbaygaui, A., Darrell, T., Pentland, A.: Pfinder: realtime tracking of the human body. IEEE Trans. Pattern Anal. Machine Intell. 19, 780–785 (1997) 6. Koller, D., Weber, J., Huang, T., Malik, J., Ogasawara, G., Rao, B., Russel, S.: Towards robust automatic traffic scene analysis in real-time. In: Proc. of the International Conference on Pattern Recognition, Israel (November 1994) 7. Adams, R., Bischof, L.: Seeded region growing. IEEE Transactions on Pattern Analysis and Machine Intelligence 16(6), 641–647 (1994) 8. Fan, J., Yau, D.K.Y., Elmagarmid, A.K., Aref, W.G.: Automatic image segmentation by integrating color-edge extraction and seeded region growing. IEEE Transactions on Image Processing 10(10), 1454–1466 (2001) 9. Lipton, A.J., Fujiyoshi, H., Patil, R.S.: Moving target classification and tracking from real-time video. In: Proc. of IEEE Workshop on Applications of Computer Vision, pp. 8–14 (1998) 10. KaewTraKulPong, P., Bowden, R.: An Improved Adaptive Background Mixture Model for Real-Time Tracking with Shadow Detection. In: Proc. European Workshop Advanced Video Based Surveillance Systems (2001) 11. http://en.wikipedia.org/wiki/YUV
Process Mining Approach to Promote Business Intelligence in Iranian Detectives` Police Mehdi Ghazanfari, Mohammad Fathian, Mostafa Jafari, and Saeed Rouhani Department of Industrial Engineering, Iran University of Science and Technology, Tehran, Iran [email protected]
Abstract. Most of business processes leave their ‘‘footprints’’ in transactional information systems, i.e., business process events are recorded in so-called event logs on Enterprise systems. These systems can be used as a lead in police investigation. This paper field is in providing techniques and tools for discovering process, control, data, organizational, and social structures from event logs as the goal of process mining and the basic idea of process mining is to diagnose business processes to promote Detectives` Police knowledge in computer crimes. In this paper we focus on the potential use of process mining techniques to enable Iranian Detectives` Police for discovering grounds of crime. This application is an approach that provides new view in police investigation. This paper explains process mining how can assist the monitoring enterprise systems. Keywords: Business Intelligence, Evaluation, Process mining; Detective police.
1 Introduction Nowadays many systems have some kind of event log often referred to as ‘‘history’’, ‘‘audit trail’’, ‘‘transaction log’’, etc [2–5]. The event log typically contains information about events referring to an activity and a case. The case (also named process instance) is the ‘‘request’’ which is being handled, e.g., a customer order, a job application, an insurance claim, a building permit, etc. Typically, events have a timestamp indicating the time of occurrence. Moreover, when people are involved, event logs will characteristically contain information about the executive person or the one who has initiate the event, i.e., the performer. Besides the availability of event logs there is an increasing interest in monitoring business processes and meanwhile there is a constant pressure to improve the performance and efficiency of business processes [6, 7]. This requires more fine-grained monitoring facilities like those illustrated by today’s buzzwords such as business activity monitoring (BAM), business operations management (BOM), and business process intelligence (BPI). Business process mining, or process mining for short, aims the automatic construction of models explaining the behavior observed in the event log. For example, based on some event log, one can construct a process model expressed in terms of a Petri net. Over the last couple of years many tools and techniques for process mining have been developed [2, 3, 5, 8]. F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 135–142, 2010. © Springer-Verlag Berlin Heidelberg 2010
136
M. Ghazanfari et al.
Therefore, it is important to consider new techniques, tools and algorithms while reaching this field, because Transactional systems, i.e., ERP, SCM & CRM will be implemented on all business, so process mining will be a knowledge discovery key in police investigation. The remainder of this paper is organized as follows. Section 2 briefly introduces Detectives` Police, Section 3 briefly introduces the concept of business process mining and Section 4 describes the proposed approach for Iranian Detectives Police. Sections 5 presents the results of mining the process, with proposed approach on sample case. Section 6 includes the conclusion and concludes the paper.
2 Police Detectives Roles Police detectives are responsible for investigations and detective work. Detectives may be called Investigations Police, Judiciary/Judicial Police, and Criminal Police. Detectives typically make up roughly 15%-25% of a police service's personnel. In some cases, police are assigned to work "undercover", where they conceal their police identity to investigate crimes, such as organized crime or narcotics crime, that are unsolvable by other means. In some cases this type of policing shares aspects with espionage [11]. Detectives, by contrast, usually investigate crimes after they have occurred and after patrol officers have responded first to a situation. Investigations often take weeks or months to complete, during which time detectives spend much of their time away from the streets, in interviews and courtrooms, for example. Rotating officers also promotes cross-training in a wider variety of skills, and serves to prevent "cliques" that can contribute to corruption or other unethical behavior [12].
3 Process Mining: An Overview The goal of process mining is to extract information about processes from transaction logs [2]. We assume that it is possible to record events such that (i) each event refers to an activity (i.e., a well-defined step in the process), (ii) each event refers to a case (i.e., a process instance), (iii) each event can have a performer also referred to as originator (the person executing or initiating the activity), and (iv) events have a timestamp and are totally ordered. Table 1 shows an example of a log involving 19 events, five activities, and six originators. In addition to the information shown in this table, some event logs contain more information on the case itself, i.e., data elements referring to properties of the case. Event logs such as the one shown in Table 1 are used as the starting point for mining. We distinguish three different perspectives: (1) the process perspective (‘‘How?’’), (2) the organizational perspective (‘‘who?’’), and (3) the case perspective (‘‘what?’’) [1]. The process perspective focuses on the control flow, i.e., the ordering of activities. The goal of mining this perspective is to find a good characterization of all possible paths, e.g., expressed in terms of a Petri net [9] or event-driven process chain (EPC)
Process Mining Approach to Promote Business Intelligence
137
[10]. The organizational perspective focuses on the originator field, i.e., which performers are involved and how are they related. The goal is to either structure the organization by classifying people in terms of roles and organizational units or to show relations between individual performers. The case perspective focuses on properties of cases. Cases can be characterized by their path in the process or by the originators working on a case. However, cases can also be characterized by the values of the corresponding data elements. For example, if a case represents a replenishment order, it may be interesting to know the supplier or the number of products ordered. To illustrate the first two perspectives consider Fig. 1. The log shown in Table 1 contains information about five cases (i.e., process instances). The log shows that for four cases (1–4) the activities A–D have been executed. For the fifth case only three activities are executed: activities A, E, and D. each case starts with the execution of A and ends with the execution of D. If activity B is executed, then also activity C is executed. However, for some cases activity C is executed before activity B. Based on the information shown in Table 1 and by making some assumptions about the completeness of the log (i.e., assuming that the cases are representative and a sufficient large subset of possible behaviors is observed), we can deduce the process model shown in Fig. 1(a). The model is represented in terms of a Petri net [9]. The Petri net starts with activity A and finishes with activity D. These activities are represented by transitions. After executing A there is a choice between both executing B and C in parallel or just executing activity E. Note that for this example we assume that two activities are in parallel if they appear in any order. By distinguishing between start events and complete events for activities it is possible to explicitly detect true parallelism, i.e., concurrent execution of tasks. Fig. 1(a) does not show any information about the organization, i.e., it does not use any information on the people executing activities. However, Table 1 shows information about the performers. For example, we can deduce that activity A is executed by either Saeed or Reyhaneh, activity B is executed by Saeed, Reyhaneh, Ali, or Mehdi, C is executed by Saeed, Reyhaneh, Ali, or Mehdi, D is executed by Fatemeh or Amir, and E is executed by Amir. We could indicate this information in Fig. 1(a). The information could also be used to ‘‘guess’’ or ‘‘discover’’ organizational structures. For example, a guess could be that there are three roles: X, Y, and Z. For the execution of A role X is required and Saeed and Reyhaneh have this role. For the execution of B and C role Y is required and Saeed, Reyhaneh, Ali, and Mehdi have this role. For the execution of D and E role Z is required and Fatemeh and Amir have this role. For five cases these choices may seem arbitrary but for larger data sets such inferences capture the dominant roles in an organization. The resulting ‘‘activity–Role–performer diagram’’ is shown in Fig. 1(b). The three ‘‘discovered’’ roles link activities to performers. Fig. 1(c) shows another view on the organization based on the transfer of work from one individual to another, i.e., not focusing on the relation between the process and individuals but on relations among individuals (or groups of individuals). Consider, for example, Table 1. Although Mehdi and Ali can execute the same activities (B and C), Ali is always working with Saeed (cases 1 and 2) and Mehdi is always working with Reyhaneh (cases 3 and 4). Probably Mehdi and Ali have the same role but based on the small sample
138
M. Ghazanfari et al.
shown in Table 1 it seems that Saeed is not working with Mehdi and Reyhaneh is not working with Ali. These examples show that the event log can be used to derive relations between performers of activities, thus resulting in a Sociogram. For example, it is possible to generate a Sociogram based on the transfers of work from one individual to another as is shown in Fig. 1(c). Each node represents one of the six performers and each arc represents that there has been a transfer of work from one individual to another. There is a ‘‘transfer of work from A to B’’ if, for the same case, an activity executed by A is directly followed by an activity executed by B. For example, both in cases 1 and 2 there is a transfer from Saeed to Ali. Fig. 1(c) does not show frequencies. However, for analysis purposes these frequencies can be added. The arc from Saeed to Ali would then have weight 2. (Typically, we do not use absolute frequencies but weighted frequencies to get relative values between 0 and 1.) Fig. 1(c) shows that work is transferred to Fatemeh but not vice versa. Ali only interacts with Saeed and Mehdi only interacts with Reyhaneh. Amir is the only person transferring work to herself. Besides the ‘‘How?’’ and ‘‘Who?’’ question (i.e., the process and organization perspectives), there is the case perspective that is concerned with the ‘‘What?’’ question. Fig. 1 does not address this. In fact, focusing on the case perspective is most interesting when also data elements are logged but these are not listed in Table 1. Table 1. An event log Case id
Activity id
Originator
Timestamp
Case 1
Activity A
Saeed
9-3-2007:15.01
Case 2
Activity A
Saeed
9-3-2007:15.12
Case 3
Activity A
Reyhaneh
9-3-2007:16.03
Case 3
Activity B
Mehdi
9-3-2007:16.07
Case 1
Activity B
Ali
9-3-2007:18.25
Case 1
Activity C
Saeed
10-3-2007:9.23
Case 2
Activity C
Ali
10-3-2007:10.34
Case 4
Activity A
Reyhaneh
10-3-2007:10.35
Case 2
Activity B
Saeed
10-3-2007:12.34
Case 2
Activity D
Fatemeh
10-3-2007:12.50
Case 5
Activity A
Reyhaneh
10-3-2007:13.05
Case 4
Activity C
Mehdi
11-3-2007:10.12
Case 1
Activity D
Fatemeh
11-3-2007:10.14
Case 3
Activity C
Reyhaneh
11-3-2007:10.44
Case 3
Activity D
Fatemeh
11-3-2007:11.03
Case 4
Activity B
Reyhaneh
14-3-2007:11.18
Case 5
Activity E
Amir
17-3-2007:12.22
Case 5
Activity D
Amir
18-3-2007:14.34
Case 4
Activity D
Fatemeh
19-3-2007:15.56
Process Mining Approach to Promote Business Intelligence
139
Fig. 1. Some mining results for the process perspective (a) and organizational (b and c) perspective
The case perspective looks at the case as a whole and tries to establish relations between the various properties of a case. Note that some of the properties may refer to the activities being executed, the performers working on the case, and the values of various data elements linked to the case. Using clustering algorithms it would, for example, be possible to show a positive correlation between the size of an order or its handling time and the involvement of specific people. Orthogonal to the three perspectives (process, organization, and case), the result of a mining effort may refer to logical issues and/or performance issues. For example, process mining can focus on the logical structure of the process model (e.g., the Petri net shown in Fig. 1(a)) or on performance issues such as flow time. For mining the organizational perspectives, the emphasis can be on the roles or the social network (cf. Fig. 1(b) and (c)) or on the utilization of performers or execution frequencies.
4 Proposed Approach To apply process techniques in police investigation field, converted log data to transactions like T that is equal to cases in process mining problem can be used. With the above discussion, the proposed approach for finding the interesting process models is schematically illustrated in the flow chart in Fig. 2. The proposed approach is described as follow: Step 1. Step 2.
Convert Suspected Systems Event Log to Transaction Data. Input Data for process mining.
Step 3.
Select best process model in regards of criteria.
Step 4.
Form Activity chains and show process.
Step 5.
Diagnose Crime Pattern by Detectives
140
M. Ghazanfari et al.
Convert Event Log
Input data
Select best process model in regards of criteria
Form Activity chains and show process
Form Activity chains and show process model
Fig. 2. Flow chart of the proposed approach
5 Illustrative Example An example of event log data in order process of official ERP is used to illustrate the proposed approach presented in Section 3. Event log first are filled in transactional format in Clementine (powerful data mining tool). This example log is illustrated in Fig 3. For process mining a Clementine stream in Fig 4 was designed to derive, filter and set data from source in order to apply the algorithm on it.
Fig. 3. Log Example
In following proposed approach, the algorithm is run for 6 times because there were 7 tasks. This means in this approach for finding chains we need the relation of tasks one after another. By using algorithm, the association rules between task1 & task2, task2 & task3, task3 & task4, task4 & task5, task5 & task6, task6 & task7 are mined with specified thresholds. After finding rules with respect of criteria and forming chains, the configurable rules are selected. The selected rules for the sample case are presented in Fig 5.
Process Mining Approach to Promote Business Intelligence
141
Fig. 4. Design process mining Stream in Clementine
In final step of the approach, which is formed by streams-association rules- are sorted. In Fig 5 rules that form one chain are colored alike. Finally with drawing these chains, process model is produced. Mined process model which is the result of example event log mining, can be illustrated. With applying the proposed approach, a data mining technique like association rules algorithm can be tested in family research field process mining. Increasing trend of using intelligent tools in systems like ERP, SCM, and CRM develop the need of process mining applications to detectives’ police investigation, so design new approach that support discovering knowledge in transactional systems and business area can be useful.
Fig. 5. Explored Association Rules
142
M. Ghazanfari et al.
6 Conclusion It is important to consider new techniques, tools and algorithms while reaching to detectives’ police investigation field, because Transactional systems, i.e., ERP, SCM & CRM will be implemented on every organization world while, so process mining will be a knowledge discovery key for detectives’ police . In this paper we focused on the potential use of process mining algorithms as key police investigation field. This application is formed as an approach that gives new criteria in police investigation research. The major section of this approach is looking for chains that will be formed. An example of log was applied to illustrate how process mining with multiple criteria can discover knowledge. Applying other process mining algorithms, comparison of them and designing and implementing tools with the base of this approach are recommended for future research.
References [1] Van der Aalst, W.M.P., Van Hee, K.M.: Workflow Management: Models, Methods, and Systems. MIT Press, Cambridge (2002) [2] Van der Aalst, W.M.P., Van Dongen, B.F., Herbst, J., Maruster, L., Schimm, G., Weijters, A.J.M.M.: Workflow mining: a survey of issues and approaches. Data Knowl. Eng. 47(2), 237–267 (2003) [3] Agrawal, R., Gunopulos, D., Leymann, F.: Mining process models from workflow logs. In: Sixth International Conference on Extending Database Technology, pp. 469–483 (1998) [4] Grigori, D., Casati, F., Dayal, U., Shan, M.C.: Improving business process quality through exception understanding, prediction, and prevention. In: Apers, P., Atzeni, P., Ceri, S., Paraboschi, S., Ramamohanarao, K., Snodgrass, R. (eds.) Proceedings of the 27th International Conference on Very Large Data Bases (VLDB’01), pp. 159–168. Morgan Kaufmann, Los Alamitos (2001) [5] Sayal, M., Casati, F., Dayal, U., Shan, M.C.: Business process cockpit. In: Proceedings of 28th International Conference on Very Large Data Bases (VLDB’02), pp. 880–883. Morgan Kaufmann, Los Alamitos (2002) [6] Ghazanfari, M., Rouhani, S., Jafari, M., Taghavifard, M.: ERP Requirements for supporting management decisions & Business Intelligence. The Icfai University Journal of Information Technology V(3) (2009) [7] Rouhani, S., Ghazanfari, M.: Ranking Explored Association Rules with ANP. In: The first national Data mining Conference (IDMC), Amirkabir University of technology, Tehran (2007) [8] Van der Aalst, W.M.P., Weijters, A.J.M.M., Maruster, L.: Workflow Mining: Which Processes can be Rediscovered? BETA Working Paper Series, WP, vol. 74. Eindhoven University of Technology, Eindhoven (2002) [9] Reisig, W., Rozenberg, G. (eds.): APN 1998. LNCS, vol. 1491. Springer, Heidelberg (1998) [10] Keller, G., Teufel, T.: SAP R/3 Process Oriented Implementation. Addison-Wesley, Reading (1998) [11] Ratcliffe, J.: Strategic Thinking in Criminal Intelligence. The Federation Press, Annadale (2007) [12] Sheptycki, J.: High Policing in the Security Control Society. Policing: a Journal of Policy and Practice 1(1), 70–79 (2007) doi:10.1093/police/pam005
Copyright Protection of Relational Database Systems Ali Al-Haj1, Ashraf Odeh2, and Shadi Masadeh3 1
Princess Sumaya University for Technology, Amman, Jordan [email protected] 2 Royal Scientific Society, Amman, Jordan [email protected] 3 Al-Isra Private University, Amman, Jordan [email protected]
Abstract. Due to the increasing use of databases in many real-life applications, database watermarking has been suggested lately as a vital technique for copyright protection of databases. In this paper, we propose an efficient database watermarking algorithm based on inserting a binary image watermark in Arabic character attributes. Experimental results demonstrate the robustness of the proposed algorithm against common database attacks. Keywords: Relational databases, copyright protection, watermarking.
1 Introduction Considerable amount of research has been done for watermarking multimedia data [1,2,3], however there has been relatively little research done on watermarking database systems [4,5,6]. Database watermarking is different than database security which focuses on issues like access control techniques and data security issues and not on securing proof of rights over relational data. This is why database watermarking has been suggested lately as a vital technique for copyright protection of databases. The increasing use of databases in many real-life applications is creating an ever increasing need for watermarking databases. The followings are examples where database watermarking might be of a crucial importance [7,8,9,10]: •
•
•
Protecting rights over outsourced relational databases is ever increasing interest, especially considering areas where sensitive, valuable data is to be outsourced. A good example is a data mining application, where data is sold in pieces to parties specialized in mining it. Given the nature of the data, it is hard to associate rights of the originator of it. Watermarking can be used to solve this issue. There are companies specialized in compiling large number of semiconductor parts into databases. Such companies license these databases at high prices to design engineers. So they need a methodology to verify their ownership of their databases in cases where design engineers may manipulate the databases and claim its ownership. The internet is exerting tremendous pressure on those data providers to create web services that allow users to search and access databases remotely.
F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 143–150, 2010. © Springer-Verlag Berlin Heidelberg 2010
144
A. Al-Haj, A. Odeh, and S. Masadeh
While this trend is a boon to end users, it is exposing the data providers to the threat of data theft. They are therefore demanding capabilities for identifying pirated copies of their data. Watermarking databases has unique requirements that differ from those required for watermarking digital audio or video products. Such requirements include; maintaining watermarked database usability, preserving database semantics, preserving database structure, watermarked database robustness, blind watermark extraction, and incremental updatability , among many other requirements. In this paper we describe a database watermarking algorithm for Arabic character attributes. The remaining of this paper is organized as follows. In section 2 the watermarking algorithm is described in details. In section 3 the robustness of the proposed algorithm is evaluated against common database attacks. Finally, concluding remarks are given in section 4.
2 Proposed Time Attribute-Based Watermarking Many Arabic characters are expandable; and thuds watermark bits can be hidden in their extensions, without sacrificing the readability and appearance of the character. For example (one) can be written ( )واﺣ ﺪor in extended form ()واﺣــ ـﺪ. Both have the same meaning but the second can carry binary information. In the algorithm, a binary image is used to watermark the relational database. The bits of the image are segmented into short binary strings that are encoded in non-numeric, multi-word attributes of selected tuples of the database. The embedding process of each short string is based on expanding the first character of a word whose location is determined by the decimal equivalent of the short string. Extraction of a short string is done locating the word in which one of its characters was expanded. The image watermark is then constructed by converting the decimals into binary strings. A major advantage of using the space-based watermarking is the large bit-capacity available for hiding the watermark. This facilitates embedding large watermarks or multiple small watermarks. This is in contrast to bit-based algorithms where watermark bits have limited potential locations that can be used to hide bits without being subjected to removal or destruction. The proposed algorithm has two procedures: watermark embedding procedure and watermark extraction procedure. The two procedures are described in the following sub-sections. 2.1 Watermark Embedding Procedure The watermark embedding procedure consists of the following operational steps: Step 1: Arrange the watermark image into m strings each of n bits length. Step 2: Divide the database logically into a sub-set has m tuples. Step 3: Embed the m short stings of the watermark image into each m-tuple. Step 4: Embed the n-bit binary string in the corresponding tuple of a sub-set as follows:
Copyright Protection of Relational Database Systems
• •
145
Find the decimal equivalent of the string. Let the decimal equivalent be d. Embed the decimal number d in a pre-selected non-numeric, multiword attribute by expanding the first expandable character of the dth word of the attribute.
Step 5: Repeat step 4 for each tuple in the subset. Step 6: Repeat steps 4 and 5 for each subset of the database under watermarking. The watermark is a of 3 x 3 binary image. Each of the three 3-bit binary strings is transformed into its decimal equivalent as shown in Figure 1(a), and embedded in the 3-tuple sub-set, as shown in Figure 1(b),. The count of the word with the red-colored character-extension (-) indicates the decimal equivalent of the embedded short binary string. Extension is performed on the fist expandable character of the word.
ϩΩϮϋ ΪϤ˰Σ Ϳ νϮϋ ϑήη ˯ϻ ϩΩϮϋ ΪϤΣ Ϳ νϮϋ ϑή˰η ΪϤΤϣ (a).
(a)
ϩΩϮϋ ΪϤ˰Σ Ϳ νϮϋ ϑήη Ϊϳί
(b)
Fig. 1. (a). Binary image watermark, and (b). its decimal equivalent vector
An illustration of the embedding procedure is shown in the two figures below. The binary image watermark is transformed into its decimal equivalent vector as shown in Figure 1, and a snapshot of the watermarked database is shown in Figure 2. The tuples in the figure constitute the records of the database, and the Ais are the 'Time' attributes of the database tuples. A snapshot of the relational database after embedding the watermark throughout the database is shown in Fig. 2. The tuples in the figure constitute the database, and the A's are the watermarked non-numeric, multi-word attributes for each tuple. 2.2 Watermark Extraction Procedure The Watermark extraction procedure is blind. It requires neither the knowledge of the original un-watermarked database nor the watermark itself. This property is critical as it allows the watermark to be detected in a copy of the database relation, irrespective of later updates to the original relation. The watermark extraction procedure is a direct reversal of the watermark embedding procedure as described in the following steps: Step 1: Locate the tuples of each sub-set in the database. Step 2: Locate the non-numeric multi-word attribute of each tuple in the sub-set.
146
A. Al-Haj, A. Odeh, and S. Masadeh
Step 3: In the selected attribute: • Find the word which has one of its characters expanded. • Count the number of the word starting from the begining. • Convert decimal equivalent of the count into a binary string. Step 4: Repeat steps 2 and 3 for all tuples of the sub-set. Step 5: Construct watermark by putting together extracted strings into an m x n image. Step 6: Repeat steps 1 through 5 to extract all copies of the embedded watermark. A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
…
…
An-1
An
tuple1 tuple2 tuple3 tuple4 tuple5 tuple6 tuple7 tuple8 tuple9 tuple10 tuplen Fig. 2. A snapshot of the watermarked database
3 Performance Evaluation The database watermarking algorithm described in this chapter has been evaluated and tested on an experimental database that we have constructed. The database consists of 1200 tuples, and runs under the Oracle platform. We concentrated our performance evaluation on the robustness of the proposed algorithm by virtue of the fact that, database watermarking algorithms must be developed in such a way to make it difficult for an adversary to remove or alter the watermark beyond detection without destroying the value of the object. In particular, the database watermarking algorithm should make the watermarked database robust against the following types of attacks: subset deletion attack, subset addition attack, subset alteration attack, and finally subset selection attack. (1). Subset Deletion Attack: In this type of attack, the attacker may delete a subset of the tuples of the watermarked database hoping that the watermark will be removed. The graph shown in Fig. 3 indicates that the watermark will be removed only and only if most of the database tuples were deleted! That is, even the removal of 95% of
Copyright Protection of Relational Database Systems
147
watermark detected
100% 80% 60% 40% 20% 0% 0
10
20
30
40
50
60
70
80
90
100
sub deletion(%)
Watermark detected in sub deletion attack Fig. 3. Robustness results due to the 'subset deletion attack'
the database will not result in removing the watermark. This is due to the fact that the proposed algorithm embeds the same watermark everywhere in the database, making this type of attack ineffective. (2). Subset Addition Attack: In this type of attack, the attacker adds a set of tuples to the original database. This type of attack has little impact on the watermark embedded through our algorithm. The graph shown below in Fig. 4 indicates that the watermark will never be removed even if the added tuples are as many as the original tuples. That’s, only the added tuples will not carry the watermark information.
watermark detected
100% 80% 60% 40% 20% 0% 0
10
20
30
40 50 60 sub addition(%)
70
80
90
100
Watermark detected in sub addition attack Fig. 4. Robustness results due to the 'subset addition attack'
(3). Subset Alteration Attack: In this type of attack, the attacker alters the tuples of the database through operations such as such linear transformation. The attacker hopes by doing so to remove the watermark from the database. The graph shown in
148
A. Al-Haj, A. Odeh, and S. Masadeh
Fig. 5 indicates that the watermark will remain in the watermarked database even if 90 % of the tuples of the database were altered. This is due to the fact that the proposed algorithm embeds the same watermark everywhere in the database, making this type of attack ineffective.
watermark detected
100% 80% 60% 40% 20% 0% 0
10
20
30
40 50 60 sub alteration(%)
70
80
90
100
Watermark detected in sub alteration attack Fig. 5. Robustness results due to the 'subset alteration attack'
(4). Subset Selection Attack: In this type of attack, the attacker randomly selects a subset of the original database that might still provide value for its intended purpose. The attacker hopes by doing so that the selected subset will not contain the watermark. However, since the proposed algorithm embeds the watermark in the whole database, this attack has little impact. The graph shown in Fig. 6 indicates that the watermark will remain in the watermarked database even if the attacker selects a subset as small as 10% of the original database. That is, no matter how small the subset the attacker selects, the watermark will remain in the selected subset and thus maintain the required copyright protection.
watermark detected
100% 80% 60% 40% 20% 0% 0
10
20
30
40 50 60 sub selection(%)
70
80
Watermark detected in sub selection attack Fig. 6. Robustness results due to the 'subset selection attack'
90
100
Copyright Protection of Relational Database Systems
149
Finally we computed the embedding and extraction times of the Arabic-Character Attribute based Watermarking Algorithm as a function of the size of the database (number of tuples used for watermarking). Furthermore, to show the time-performance of the algorithm compared with other reported database watermarking algorithms, we applied the algorithms of [11,12] on the same experimental database. The results are shown in Fig. 7 for the embedding time and in Fig. 8 for the extraction time. As seen in the figures, our algorithm takes more time than other two algorithms.
Embedding Results
Embedding Time (ms)
700 600 500 400 300 200 100 0 1000
3000
5000
7000
9000
11000
Data Size (Tuples)
Statistical WM (Sion et al. 2003)
Arabic-character attribute WM
Bit-based WM (Huang et al.2004)
Fig. 7. Embedding time of the Arabic-Character Algorithm WM based compared with two other algorithms
Extracting Results 700 Extracting Time (ms)
600 500 400 300 200 100 0 1000
3000
5000
7000
9000
11000
Data Size (Tuples)
Statistical WM (Sion et al. 2003)
Arabic-character attribute WM
Bit-based WM (Huang et al.2004)
Fig. 8. Extracting time of the Arabic-Character Algorithm WM based compared with two other algorithms
150
A. Al-Haj, A. Odeh, and S. Masadeh
4 Conclusions In this paper, we described a watermarking algorithm based on hiding watermark bits in the extensions of expandable Arabic characters of non-numeric, multi-word, attributes of subsets of tuples. A major advantage of using this approach is the large bit-capacity available to hide large watermarks. This is opposite to the other proposed algorithms where watermark bits have limited potential bit-locations that can be used to hide them effectively without being subjected to removal or destruction. The robustness of the proposed algorithm was verified against a number of database attacks such subset deletion, subset addition, subset alteration and subset selection attacks.
References 1. Potdar, V., Han, S., Chang, E.: A Survey of Digital Image Watermarking Techniques. In: Proceedings of the IEEE International Conference on Industrial Informatics, pp. 709–716 (2005) 2. Langelaar, G., Setyawan, I.: Watermarking Digital Image and Video Data. IEEE Signal Processing Magazine 17, 20–43 (2000) 3. Arnold, M.: Audio Watermarking: Features, applications and Algorithms. In: Proc. of the 5th IEEE International Conference on Computer and Multimedia and Expo., pp. 1013– 1016 (2000) 4. Agrawal, R., Hass, P., Kiernan, J.: Watermarking relational data: framework, algorithms and analysis. The VLDB Journal The International Journal on Very Large Data Bases 12(3), 157–169 (2003) 5. Lee, Y., Swarup, V., Jajodia, S.: Fingerprinting Relational Databases: Schemes and Specialties. IEEE Trans. Dependable and secure Computing 2(1), 34–45 (2005) 6. Agrawal, R., Kiernan, J.: Watermarking Relational Databases. In: Proc. of the 28th International Conference on Very Large Databases, Hong Kong, August 2002, pp. 946–950 (2002) 7. Zhang, Z., Jin, X., Wang, J., Li, D.: Watermarking Relational Database Using Image. In: Proc. of the 2004 International Conference on Machine Learning and Cybernetics, China, August 2004, pp. 1739–1744 (2004) 8. Hildebrandt, E., Saake, G.: User Authentication in Multi-database systems. In: The 9th International Workshop on Database and Expert Systems Applications, Vienna, Austria (1998) 9. SIIA: Database Protection: Making the case for a new federal database protection law (2000), http://www.siia.net/sharedcontent/gove/issues/ip/dbbrief.html 10. Zhang, Z., Jin, X., Wang, J., Li, D.: A Robust Watermarking Scheme for Relational Data. In: Proc. of the 13th Workshop on Information Technology and Engineering, December 2003, pp. 195–200 (2003) 11. Huang, M., Cao, J., Peng, Z., Fang, Y.: A new watermark mechanism for relational data. In: Proc. of the 4th International Conference on Computer and Technology, China, September 2004, pp. 946–950 (2004) 12. Sion, R., Atallah, M., Prabhakar, S.: Rights Protection for Relational Data. IEEE Trans. Knowledge and Data Engineering 16(12), 1509–1525 (2004)
Resolving Semantic Interoperability Challenges in XML Schema Matching Chiw Yi Lee, Hamidah Ibrahim, Mohamed Othman, and Razali Yaakob Faculty of Computer Science, Universiti Putra Malaysia 43300 Serdang, Selangor, Malaysia [email protected], [email protected], [email protected], [email protected]
Abstract. XML (Extensible Markup Language) Schema is a text based description of XML document which provides valid format of XML dataset. Nowadays, XML has become the most popular used method in encoding structured data for information exchange. The layering technology in XML allows it to be used independently from standardized representation and interoperates disparate Information Systems (ISs) in exchanging valuable information. However, these distributed IS are always structured in multiple data formats and with different semantic meaning. The nature of heterogeneous and distributed in ISs had eventually risen up the problem of semantic conflicts. This paper proposed some rules which focus on: Word Similarity and Word Relatedness using WordNet that are not only reconcile semantic conflicts but also bring integrated access to XML data by mapping dispersed electronic data which is semantically matched. Even the proposed approach is rather generic; this paper focuses only on certain domain which is medical domain. Keywords: exchange.
Semantic
conflicts,
Semantic
interoperability,
Information
1 Introduction Obtaining high quality information has become in recent years a challenging task as data should be gathered and filtered from a large, open and frequently changing network of distributed data sources, with blurred semantics and no central control over the data sources’ structure and availability [2]. Thus, XML (Extensible Markup Language) meta data was developed to cater for this need. It is a simple but powerful markup language that consists of a set of rules which encodes information electronically. It also enables the use of XSL to build user interfaces to present and edit the underlying data [5]. XML Schema (www.w3.org/XML/schema.html) is a document type definition (DTD) successor that expresses shared vocabularies and provides a guide for characterizing an XML document’s structure, content, and semantics [12]. In order to maintain the validity and well-form of the information being encoded, every XML document needs to be referenced to a text-based description of schema which contains F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 151–162, 2010. © Springer-Verlag Berlin Heidelberg 2010
152
C.Y. Lee et al.
the structure of the content, semantic meanings and constraint data type of each element inside the XML document. Besides, this description also includes identification information such as source, format, date, and user defined annotations that are tailored precisely to describe their respective component, without subscribing to a standardized vocabulary of element names. This means every single set of these self-describing XML meta data is domain specific but it is still human and machine readable. Due to the nature of independence from standardized representation, XML has become the dominant standard for representing information over the World Wide Web nowadays. It allows information to be exchanged across distributed ISs and this has been a key research field in every single domain recently. The widespread adoption of electronic records all around the world has brought to the exponentially grow of digitalized information. However, these distributed and independently developed information is stored in various proprietary of data type, standard, terminology, data architecture, communication method, and semantics that may contain conflicting data among themselves. The distributed schema set normally has their own data structure, constraints, and format and do not comfort to any well known rigid structure such as relational model. These loosely coupled set of schemas make it an interesting issue but complicated obstacle in schema matching process. Semantic conflict, which is known as conflict occurs: (i) between two semantically different concepts, (ii) or use of different terms to describe the same concept in most databases. It is the main conflict that causes semantic interoperability failure in electronic information exchange nowadays. Data across constituent databases may be related but differing in terms of name, structure, and meanings. Identification of semantically related data in various databases and figuring out the resolution of the schematic differences among the semantically related data are like a heavy burden that falls on every enterprise to manually convert between the data formats, resolve conflicts, integrate data, and interpret results in order to make visible use of this information. Thus, resolving semantic interoperability challenges in electronic data provides a uniform method for query translation and heterogeneity resolution to reduce the burden of enterprise to be familiar with all contents and structures of the information sources. Manually constructing schema matching across distributed XML schemas would be a tedious and time consuming task. Therefore, this paper aims to resolve semantic interoperability challenges in medical domain by automating patient XML schema matching to improve the efficiency of electronic patient data exchange across heterogeneous data sources over the internet. The proposed rules not only maintain the semantic interoperability of information exchange, but also improve the correctness and reliability of data exchange over the internet. The paper is organized as follows: section 2 provides background information of previous approaches that have been done over the semantic issues in integrating patient data or maintaining the interoperability of patient information exchange. Section 3, on the other hand presents the semantic interoperability challenges, which
Resolving Semantic Interoperability Challenges in XML Schema Matching
153
is called semantic conflicts and briefly describes the types of semantic conflicts. Section 4 shows the rules to reconcile semantic conflicts and an attribute-match algorithm proposed by us. Section 5 shows the experiment results and section 6 discusses future work and concludes the aim of this research.
2 Previous Approaches Several papers had discussed and reviewed the semantic issues in integrating patient data in order to achieve data interoperability whenever information exchange is needed. There are plenty of approaches being proposed to resolve the incompatibles in electronic data exchange. Some approaches are being used specifically in healthcare domain while some are general in used. Some of these solutions use differing standards and data architectures to reconcile semantic conflicts that may prove to be the greatest obstacle to semantic operability [3]. In [13], a semantic approach which employed Object-Relationship-Attribute Model for Semi-Structured Data (ORA-SS) is proposed to resolve structural conflicts in XML schema integration process. The ORA-SS model distinguishes between objects, relationships and attributes and outputs an integrated schema. Meanwhile, [14] presented an XML schema integration framework that is capable in integrating simultaneously n schemas by detecting and resolving possible conflicts that occur between the XML schemas. The integration process is divided into 5 main steps: schema cleaning and union, normal form conversion, conflict resolution, schema merging, and reconstruction. It employed XDD as its underlying model to represent the common ontology, general rule, and resolution guidelines required by integration process. Archetypes are computable expression of a domain content model of medical records [7]. This paper defined data interoperability as the ability to transfer data to and use data in any conforming system such that the original semantics of the data are retained irrespective of its point of access and therefore, it claimed that standardization data is critical in accurate information exchange. It is proposed as a method for modeling clinical concepts which conform to the openEHR Reference Model (RM) and mainly focused on the issue of ambiguity of the intended meaning of data in both the data models and terminology systems. The expression is in the form of structured constraint statements, inherited from the RM and the intended purpose of archetypes is to empower clinicians to define the content, semantics, and data entry interfaces of systems independently from the information system [1]. In [8], a methodology used to perform data mapping function in data standardization and a Model Standardization using Terminology (MoST) system are developed to test the methodology using openRHR Archetype Models and SNOMED. Context and non-context methods with lexical and semantic techniques are employed to find matches and the most appropriate matches resulting from filtering process are presented to the modeler. In [9], papers related to patient data exchange and published between years of 1995-2005 are reviewed by examining the approaches used to integrate patient medical data from heterogeneous data sources. The result showed that HL7 is the most common used messaging standard. HL7 (http://www.hl7.org) is a not-for-profit
154
C.Y. Lee et al.
volunteer organization that develops specifications; the most widely used messaging standard that enables disparate healthcare applications to exchange key set of clinical and administrative data. It provides standards for interoperability that improve care delivery, optimize workflow, reduce ambiguity, and enhance knowledge transfer among healthcare providers, government agencies, the vendor community, fellow Standard Developing Organizations (SDOs), and patients. A semantic mediation of exchanging messages in improving the interoperability among healthcare information systems is proposed in [11]. Exchanged messages are transformed into OWL (Web Ontology Language) ontology instances and then mediated through an ontology mapping tool called OWLmt that uses OWL-QL engine to reason over the source ontology instances while generating the target ontology instances according to the mapping patterns defined through a GUI. In Japan, [4] designed a prototype model that utilized HL7 Clinical Document Architecture (CDA) with the Japanese local standard in order to develop a referral letter system for electronic exchange of clinical information. The model expressed the corresponding concepts as standard data items in HL7 CDA and found that most of the content defined in the referral module in Medical Markup Language (MML) could be represented in the HL7 CDA model in order to provide worldwide standard to meet local clinical needs. A composite approach for automated source-to-target mapping that contains both direct and indirect schema mappings is presented in [6]. Three basic techniques are applied to compare source and target schema elements: (1) terminological relationships (e.g., synonyms and hypernyms), (2) data-value characteristics (e.g., string length), and (3) domain-specific, regular-expression matches (i.e. the appearance of expected strings). However, one possible constraint in this approach is the need to construct comprehensive domain ontology for the application domain.
3 Semantic Interoperability Challenges: Semantic Conflicts Figure 1 shows the diagram which classifies semantic conflict into: i) data level conflicts and ii) schema level conflicts. This paper only focuses on schema level conflicts and will leave data level conflicts as future work. Semantic conflict at the schema level refers to only those meta data of the XML schema such as element name, element data type, identifier, and constraints on data format or range of the data. However, the attached XML document data will not be taken into consideration. There are 6 common types of schema level conflicts, which are: naming conflicts, entity identifier conflicts, schema isomorphism conflicts, generalization conflicts, aggregation conflicts, and schematic discrepancies. Naming Conflicts It is a conflict where two similar or identical concepts that are represented by two totally different name or perhaps two almost alike names. It also occurs when two different concepts that are named in almost alike or totally similar name.
Resolving Semantic Interoperability Challenges in XML Schema Matching
155
SEMANTIC CONFLICT
Data Level Conflicts Data Value Conflicts
Data Representation Conflicts Data Unit Conflicts Data Precision Conflict Known Data Value Reliability Conflicts Spatial Domain Conflicts
Schema Level Conflicts Naming Conflicts Entity Identifier Conflicts Schema Isomorphism Conflicts Generalization Conflicts Aggregation Conflicts Schematic Discrepancies
Fig. 1. Diagram of the Types of Semantic Conflict
Example: Two identical concepts which have different name such as: sex and gender. However, sometimes two almost alike names would have different meaning such as: mail_address and email_address. Entity Identifier Conflicts It is a conflict where two sets of semantically identical XML schema are using different identifiers (primary key). Elements in XML schema are structured in text based and all of them are user-defined for human readable. Therefore, different XML schema might have different identifiers. Example: Assume that elements in XML Schema Book1 and Book2 are extracted and shown in the following format: Book1(ISDN, Title, Code) might have ISDN as its identifier while Book2(ISDN, Title, Code) might use Code as its identifier. Although both sets of elements are similar in every attribute, it is impossible to say that both identifiers: Book1.ISDN is identical to Book2.Code. Schema Isomorphism Conflicts It is a conflict where two sets of semantically identical XML schema consist of different number of elements. It is possible that concept A that only consists of two elements EA1 and EA2 is identical to concept B which consists of 4 elements EB1, EB2, EB3, and EB4. Example: Assume that elements in XML schema Address1 and Address2 are extracted and shown in the following format: Address1(street, town, city, country)
156
C.Y. Lee et al.
consists of 4 elements, while Address2(street, city, country) only consists of 3 elements. However, both schemas Address1 and Address2 are still considered semantically identical to each other. Generalization Conflicts It is a conflict where the first XML schema is being inherited by the second schema. It might have some elements that are being inherited by another schema which is referred to as subconcept. The inheritance relationship of sub- and superconcept gives rise to a hierarchy. Example: Assume that elements in XML schema student, male_student, and female_student are extracted and shown in the following format: student(id, name, sex), male_student(id, name), and female_student(id, name). It is obvious that schema student is the superconcept of both male_student and female_student. Aggregation Conflicts It is a conflict where the first XML schema is an inheritance concept of the second schema. It might inherit the same elements or behaviors of another schema which is referred to as superconcept. The inheritance relationship of sub- and superconcept also gives rise to a hierarchy as stated above. Example: Assume that elements in XML schema Address1, Address2, and street are extracted and shown in the following format: Address1(street, city, country), Address2(street, city, country), and street(street1, street2). It is obvious that both schemas Address1 and Address2 are semantically identical to each other even though schema Address2 is aggregated by schema street. Schematic Discrepancies It is a conflict where data in one database are corresponding to meta data in another. However, this conflict is not considered in this paper. Example: Assume that elements in XML schema Collection and Item are extracted and shown in the following format: Collection(cd, book, journal), and Item(ISBN, type). In this case, schema Item might contain a tuple of data with Item.type = “book” that is corresponding to the metadata (element) in schema Collection.
4 Resolving Semantic Conflicts Due to the nature of independence from standardized representation, elements in XML schema are written in a hierarchical view for users’ convenience to add new elements and to delete unneeded elements. Before dealing with the conflicting elements, it is wise to extract only validated elements from XML schema. Figure 2(i) shows an example of simple XML schema while Figure 2(ii) depicts extracted elements from the XML schema. Assume that there is a source XML schema s and a target XML schema t. Schema s consists of an element set S[S(attrs1, attrs2, …, attrsn)] while schema t consists of an element set [T(attrt1, attrt2, …, attrtm)]. Each of them consists of a set of elements that might be conflicting with each other. We have proposed five rules to resolve the semantic conflicts stated in section 3 and this is presented below.
Resolving Semantic Interoperability Challenges in XML Schema Matching
157
<xsd:element name="PMS_Patient_DEMOGRAPHIC"> <xsd:complexType> <xsd:element name="PATIENT_NAME" type="xsd:string"/> <xsd:element name="ID_NO" type="xsd:string"/> <xsd:element name="CURR_CITY" type="xsd:string"/> <xsd:element name="PATIENT_CATEGORY" type="xsd:string"/> <xsd:element name="DATE_OF_BIRTH" type="xsd:date"/> <xsd:element name="GENDER" type="xsd:string"/> <xsd:element name="RACE" type="xsd:string"/> <xsd:element name="RELIGION" type="xsd:string"/> <xsd:element name="NATIONALITY" type="xsd:string"/> <xsd:element name="MARITAL_STATUS" type="xsd:string"/> <xsd:element name="MATRIC_NO" type="xsd:string"/> <xsd:element name="MODE_OF_PAYMENT" type="xsd:string"/>
2(i)
|---- PMS_Patient_DEMOGRAPHIC |---- PATIENT_NAME |---- ID_NO |---- CURR_CITY |---- PATIENT_CATEGORY |---- DATE_OF_BIRTH |---- GENDER |---- RACE |---- RELIGION |---- NATIONALITY |---- MARITAL_STATUS |---- MATRIC_NO |---- MODE_OF_PAYMENT
2(ii) Fig. 2(i). A Simple Example of XML Schema; Fig. 2(ii). Extracted Elements from XML Schema
Rule 1 Matching a non-vague element name E1 with another non-vague element name E2.
∈
∈
If (attrsi words in WordNet) && (attrtj words in WordNet) where i = {1, 2, 3, …, n}, j = {1, 2, 3, …, m}, then calculate word similarity between attrsi and attrtj. Formulation for word similarity between attrsi and attrtj as shown below: (NE1/NE2) * 100% .
(1)
158
C.Y. Lee et al.
where NE1 is the number of characters in element name E1 that is similar to the substring of element name E2, while NE2 is the total number of characters in element name E2. Equation (1) is only applied to both E1 and E2 which return glosses (definitions of word) from WordNet and NE1 < NE2. Rule 2 Matching a vague element name E1 with a non-vague element name E2.
∈
words in WordNet) && (attrtj ∉ words in WordNet) where i = {1, 2, 3, If (attrsi …, n}, j = {1, 2, 3, …, m}, then tokenize attrtj to o partitions until Fkattrtj words in WordNet where k = {1, 2, 3, …, o}, and calculate word similarity between attrsi and Fkattrtj. or If (attrsi ∉ words in WordNet) && (attrtj words in WordNet) where i = {1, 2, 3, …, n}, j = {1, 2, 3, …, m}, then tokenize attrsi to p partitions until Flattrsi words in WordNet where l = {1, 2, 3, …, p}, and calculate word similarity between Flattrsi and attrtj.
∈
∈
∈
Obviously, E1 does not return any glosses from WordNet while E2 returns glosses from WordNet. In this case, E1 is tokenized into n+1 fragments based on the existence of n underscore; _, as the separator. The formula for word similarity between attrsi and Fkattrtj or Flattrsi and attrtj would be the number of fragments in E1 that is similar to E2 divided by the n+1 fragments as shown by the equation below: [FE1/(n+1)] * 100% .
(2)
where FE1 is the number of fragments in vague element E1 that is similar to nonvague element name E2. Rule 3 Matching both vague element names E1 and E2. If (attrsi ∉ words in WordNet) && (attrtj ∉ words in WordNet) where i = {1, 2, 3, …, n}, j = {1, 2, 3, …, m}, then tokenize attrsi to p partitions until Flattrsi words in WordNet where l = {1, 2, 3, …, p}, tokenize attrtj to o partitions until Fkattrtj words in WordNet where k = {1, 2, 3, …, o}, and calculate word similarity between Flattrsi and Fkattrtj.
∈
∈
Both vague element names are tokenized into n+1 fragments based on the existence of n underscore; _, as the separator. The equation for word similarity between Flattrsi and Fkattrtj is shown below: [FE1/(NE1+1)] * (FE2/(NE2+1)] * 100 .
(3)
Resolving Semantic Interoperability Challenges in XML Schema Matching
159
where FE1 is the number of fragments in element name E1 that is similar to fragments of element name E2, while NE1 is the total number of underscore; _, in E1. Similarly FE2 is the number of fragments in element name E2 that is similar to fragments of element name E1, while NE2 is the total number of underscore; _, in E2.
∈
Rule 4 If equation (1), (2), & (3) shows 0 (zero), and (attrsi words in WordNet) && (attrtj words in WordNet) where i = {1, 2, 3, …, n}, j = {1, 2, 3, …, m}, then calculate the overlapped phrase(s) score for both element names.
∈
Overlapped phrase refers to shared words (overlaps) for both definitions (gloss) of two element names. The equation for obtaining overlapped phrase score is shown below [10]: (NOP1)2+ (NOP2)2+ (NOP3)2+…+(NOPM)2 .
(4)
where Nop is the N consecutive words for each overlapped phrase that shared (overlapped) between two element names, while M is the number of last overlapped phrases.
∈
Rule 5 words in WordNet) && If equation (1), (2),(3) & (4) shows 0 (zero), and (attrsi (attrtj words in WordNet) where i = {1, 2, 3, …, n}, j = {1, 2, 3, …, m}, then obtain hypernym and hyponym list for both element names from WordNet.
∈
WordNet is a lexical database where each unique meaning of a word is represented by a synonym or synset which is connected to each other through explicit semantic relations that are defined in WordNet. If a noun synset A is connected to another noun synset B through the is-a-kind-of relation then A is said to be a hypernym of synset B and B a hyponym of A [10]. A summarized of algorithm consisting of rules as stated above is depicted in Figure 3.
5 Experiment and Results Figure 4 shows an extracted XML source schema patient and an extracted XML target schema outpatientt that both are shown in relational model. These two schemas would be used in data exchange over the internet. The experiment is tested using these two schemas, where patient as the source schema and outpatientt as the target schema using the rules being proposed above to reconcile the semantic conflicts during the process of electronic patient data exchange.
160
C.Y. Lee et al.
For each attribute in schema S and T Check whether attrsi words in WordNet && attrtj where i = {1, 2, 3, …, n}, j = {1, 2, 3, …, m}
∈
∈
∈
∈ words in WordNet,
If (attrsi words in WordNet) && (attrtj words in WordNet) Calculate the word similarity between attrsi and attrtj with equation (1) else if (attrsi words in WordNet) && (attrtj words in WordNet) Tokenize attrtj to o partitions until Fkattrtj words in WordNet where k = {1, 2, 3, …, o} Calculate the word similarity between attrsi and Fkattrtj with equation (2) else if (attrsi words in WordNet) && (attrtj words in WordNet) Tokenize attrsi to p partitions until Flattrsi words in WordNet where l = {1, 2, 3, …, p} Calculate the word similarity between Flattrsi and attrtj with equation (2) else if (attrsi words in WordNet) && (attrtj words in WordNet) Tokenize attrsi to p partitions until Flattrsi words in WordNet where l = {1, 2, 3, …, p} Tokenize attrtj to o partitions until Fkattrtj words in WordNet where k = {1, 2, 3, …, o} Calculate the word similarity between Flattrsi and Fkattrtj with equation (3) else if equation (1), (2), & (3) == 0 && (attrsi words in WordNet) && (attrtj words in WordNet) Calculate the overlapped phrase(s) score for both element names with equation (4) else Obtain hypernym and hyponym list for both element names from WordNet
∈
∈
∉
∉
∈
∉
∉
∈
∈
∈ ∈
∈
Fig. 3. Attribute-match Algorithm
patient (id, p_name, sex, home_addr(street, town, country)) outpatient (passport_no, name, gender, address) Fig. 4. patient and outpatient Schemas
Table 1 shows a brief view of conflicts being tackled for every element from two different XML schemas. Given the result generated by the proposed rules and attribute-match algorithm, the result shows that every semantic conflict has been resolved and matching elements are found.
Resolving Semantic Interoperability Challenges in XML Schema Matching
161
Table 1. Result of Matching and Unmatched Elements Source Element
Target Element
Result
Type of Conflicts
p_name sex home_addr
name gender address
Matched Matched Matched
street
address
Matched
postcode
address
Matched
id
passport_no
Not Matched
Naming Conflict Naming Conflict Generalization/Aggregation/ Schema Isomorphism Conflict Generalization/Aggregation/ Schema Isomorphism Conflict Generalization/Aggregation/ Schema Isomorphism Conflict Entity Identifier Conflict
The results shown in Table 1 are significant if compared with other works because they are based on a very simple algorithm that relies on 5 main rules for both element names from different sources.
6 Discussion and Conclusion As stated in section 2, standardization is the most popular method in electronic data exchange nowadays. Most of the developed countries apply this technique in HL7 and Archetypes. However, it appears as an obstacle especially in non-developed countries as most of them are still using simple or even outdated schema that are not compatible with the format in HL7 and Archetypes. It takes a great effort to convert all these schemas into the same format and standard as being used in HL7 and Archetypes. Furthermore, it is too time consuming. Therefore, the proposed rules and attribute-matching algorithm helps in tackling the limitation as stated above, by providing a generic approach in reconciling semantic conflicts in those heterogeneous and non-standardize electronic data exchange without changing their structure of schemas but still generating the same result as in HL7 and Archetypes. However, the patient data security issue will be an improvement for this research that should be considered in the future. Acknowledgement. Our thanks to the University Putra Malaysia (UPM) for supporting this work under grant number 05/01/07/0162RU.
References 1. Beale, T., Hear, S.: Archetype Definition and Principles, Technical Report Rev 0.6, OpenEHR Foundation (2005) 2. Gal, A.: Semantic Interoperability in Information Services: Experiencing with CoopWARE. ACM SIGMOD Record 28(1), 68–75 (1999) 3. Ferranti, J.M., Musser, R.C., Kawamoto, K., Hammon, W.E.: The Clinical Document Architecture and the Continuity of Care Record: A Critical Analysis. Journal of the American Medical Informatics Association 13(3), 245–252 (2006)
162
C.Y. Lee et al.
4. Yong, H., Jinqiu, G., Ohta, Y.: A Prototype Model using Clinical Document Architecture (CDA) with a Japanese Local Standard: Designing and Implementing a Referral Letter System. Acta Medica Okayama 62(1), 15–20 (2008) 5. Topkara, U., Song, X.C., Woo, J., Park, S.P.: Connected in a Small World: Rapid Integration of Heterogeneous Biology Resources. In: Proceedings of the 2nd International Workshop on Grid Computing Environments /Supercomputing, Tampa, FL (2006) 6. Xu, L., Embley, D.W.: A Composite Approach to Automating Direct and Indirect Schema Mappings. Information Systems 31(8), 697–732 (2006), doi:10.1016/j.is.2005.01.003 7. Qamar, R., Rector, A.: Semantic Issues in Integrating Data from Different Models to Achieve Data Interoperability. In: Proceedings of the Medinfo Conference, Brisbane, Australia (2007) 8. Qamar, R., Rector, A.: Semantic Mapping of Clinical Model to Biomedical Terminologies to Facilitate Data Interoperability. In: Proceedings of the Healthcare Computing 2007 Conferences, Harrogate, UK (2007) 9. Cruz-Correia, R.J., Vieira-Marques, P.M., Ferreira, A.M., Almeida, F.C., Wyatt, J.C., Costa-Pereira, A.M.: Reviewing the Integration of Patient Data: How Systems are Evolving in Practice to Meet Patient Needs. Proceedings of BMC Medical Informatics and Decision Making (2007) 10. Banerjee, S., Pedersen, T.: Extended Gloss Overlaps as a Measure of Semantic Relatedness. In: Proceedings of the 18th International Conference on Artificial Intelligence (IJCAI’03), Acapulco, Mexico (2003) 11. Bicer, V., Laleci, G.B., Dogac, A., Kabak, Y.: Artemis Message Exchange Framework: Semantic Interoperability of Exchange Messages in the Healthcare Domain. ACM SIGMOD Record 34(3), 71–76 (2005), doi:10.1145/1084805.1084819 12. Vakali, A., Catania, B., Maddalena, A.: XML Data Stores: Emerging Practices. IEEE Internet Computing 9(2), 62–69 (2005) 13. Yang, X., Li Lee, M., Wang Ling, T.: Resolving Structural Conflicts in the Integration of XML Schemas: A Semantic Approach. In: Song, I.-Y., Liddle, S.W., Ling, T.-W., Scheuermann, P. (eds.) ER 2003. LNCS, vol. 2813, pp. 520–533. Springer, Heidelberg (2003) 14. Doan, D.D., Wuwongse, V.: XML Database Schema Integration using XDD. In: Dong, G., Tang, C., Wang, W. (eds.) WAIM 2003. LNCS, vol. 2762, pp. 1066–1075. Springer, Heidelberg (2003)
Some Results in Bipolar-Valued Fuzzy BCK/BCI-Algebras A. Borumand Saeid and M. Kuchaki Rafsanjani Faculty of Math and Computer, Shahid Bahonar university of Kerman, Kerman, Iran [email protected], [email protected]
Abstract. In this note, by using the concept of Bipolar-valued fuzzy set, the notion of bipolar-valued fuzzy BCK/BCI-algebra is introduced. Moreover, the notions of (strong) negative s-cut, (strong) positive t-cut are introduced and the relationship between these notions and crisp subalgebras are studied.
1
Introduction
As it is well known, BCK/BCI-algebras are two classes of algebras of logic. They were introduced by Imai and Iseki [6, 7]. BCI-algebras are generalizations of BCK-algebras. Most of the algebras related to the t-norm based logic, such as M T L-algebras, BL-algebras [3, 4], hoop, M V -algebras and Boolean algebras et al., are extensions of BCK-algebras. In 1965, Zadeh [12] introduced the notion of a fuzzy subset of a set. Since then it has become a vigorous area of research in different domains. There have been a number of generalizations of this fundamental concept such as intuitionistic fuzzy sets, interval-valued fuzzy sets, vague sets, soft sets. Lee [9] introduced the notion of bipolar-valued fuzzy sets. Bipolar-valued fuzzy sets are an extension of fuzzy sets whose membership degree range is enlarged from the interval [0, 1] to [−1, 1]. In a bipolar-valued fuzzy set, the membership degree 0 means that elements are irrelevant to the corresponding property, the membership degree (0, 1] indicates that elements somewhat satisfy the property, and the membership degree [−1, 0) indicates that elements somewhat satisfy the implicit counter-property. Bipolarvalued fuzzy sets and intuitionistic fuzzy sets look similar each other. However, they are different each other(see [9]). Now, in this note we use the notion of Bipolar-valued fuzzy set to establish the notion of bipolar-valued fuzzy BCK/BCI-algebras; then we obtain some related results which have been mentioned in the abstract.
2
Preliminaries
In this section, we present now some preliminaries on the theory of bipolarvalued fuzzy set. In his pioneer work [12], Zadeh proposed the theory of fuzzy F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 163–168, 2010. c Springer-Verlag Berlin Heidelberg 2010
164
A.B. Saeid and M.K. Rafsanjani
sets. Since then it has been applied in wide varieties of fields like Computer Science, Management Science, Medical Sciences, Engineering problems etc. to list a few only. Definition 1. [9] Let G be a nonempty set. A bipolar-valued fuzzy set B in G is an object having the form B = {(x, μ+ (x), ν − (x)) | x ∈ G} where μ+ : G → [0, 1] and ν − : G → [−1, 0] are mappings. The positive membership degree μ+ (x) denotes the satisfaction degree of an element x to the property corresponding to a bipolar-valued fuzzy set B = {(x, μ+ (x), ν − (x)) | x ∈ G}, and the negative membership degree ν − (x) denotes the satisfaction degree of an element x to some implicit counter-property corresponding to a bipolar-valued fuzzy set B = {(x, μ+ (x), ν − (x)) | x ∈ G}. If μ+ (x) = 0 and ν − (x) = 0, it is the situation that x is regarded as having only positive satisfaction for B = {(x, μ+ (x), ν − (x)) | x ∈ G}. If μ− (x) = 0 and ν − (x) = 0, it is the situation that x does not satisfy the property of B = {(x, μ+ (x), ν − (x)) | x ∈ G} but somewhat satisfies the counter property of B = {(x, μ+ (x), ν − (x)) | x ∈ G} . It is possible for an element x to be such that μ+ (x) = 0 and ν − (x) = 0 when the membership function of the property overlaps that of its counter property over some portion of G. For the sake of simplicity, we shall use the symbol B = (μ+ , ν − ) for the bipolar-valued fuzzy set B = {(x, μ+ (x), ν − (x)) | x ∈ G}. Definition 2 (6). Let X be a non-empty set with a binary operation “ ∗ ” and a constant “0”. Then (X, ∗, 0) is called a BCI-algebra if it satisfies the following conditions: (i) ((x ∗ y) ∗ (x ∗ z)) ∗ (z ∗ y) = 0, (ii) (x ∗ (x ∗ y)) ∗ y = 0, (iii) x ∗ x = 0, (iv) x ∗ y = 0 and y ∗ x = 0 imply x = y, for all x, y, z ∈ X. We can define a partial ordering ≤ by x ≤ y if and only if x ∗ y = 0. If a BCI-algebra X satisfies 0 ∗ x = 0, for all x ∈ X, then we say that X is a BCK-algebra. A nonempty subset S of X is called a subalgebra of X if x ∗ y ∈ S, for all x, y ∈ S. We refer the reader to the books [5, 11] for further information regarding BCK/BCI-algebras. Definition 3 (11). Let μ be a fuzzy set in a BCK/BCI-algebra X. Then μ is called a fuzzy BCK/BCI-subalgebra of X if μ(x ∗ y) ≥ min{μ(x), μ(y)}, for all x, y ∈ X.
Some Results in Bipolar-Valued Fuzzy BCK/BCI-Algebras
165
Bipolar-Valued Fuzzy Subalgebras of BCK-Algebras
3
From now on (X, ∗, 0) is a BCK/BCI-algebra, unless otherwise is stated. Definition 4. A bipolar-valued fuzzy set B = (μ+ , ν − ) is said to be a bipolarvalued fuzzy subalgebra of a BCK/BCI-algebras X if it satisfies the following conditions: (BF1) μ+ (x ∗ y) ≥ min{μ+ (x), μ+ (y)}, (BF3) ν − (x ∗ y) ≤ max{ν − (x), ν − (y)}, for all x, y ∈ X. Example 1. Consider a BCI-algebra X = {0, a, b, c} with the following Cayley table: ∗0abc 00abc aa0c b bbc0a ccba0 Let B = (μ+ , ν − ) be a bipolar-valued fuzzy set in X with the mappings μ+ and ν − defined by: 0.7 if x = 0 μ+ (x) = 0.3 if x = 0
and −
ν (x) =
−0.4 −0.2
if x = 0 if x = 0
It is routine to verify that B is a bipolar-valued fuzzy subalgebra of X. Lemma 1. If B is a bipolar-valued fuzzy subalgebra of X, then μ+ (0) ≥ μ+ (x) and ν − (0) ≤ ν − (x), for all x ∈ X. Proposition 1. Let B be a bipolar-valued fuzzy subalgebra of X, and let n ∈ N . Then n n + + − (i) μ ( x ∗ x) ≥ μ (x) and ν ( x ∗ x) ≤ ν − (x), for any odd number n, n n (ii) μ+ ( x ∗ x) = μ+ (x) and ν − ( x ∗ x) = ν − (x), for any even number n. where
n
n−times
x ∗ x =x ∗ x ∗ ... ∗ x .
Theorem 1. Let B be a bipolar-valued fuzzy subalgebra of X. If there exists a sequence {xn } in X, such that lim μ+ (xn ) = 1 and lim ν − (xn ) = −1. n→∞
n→∞
Then μ+ (0) = 1 and ν − (0) = −1.
Theorem 2. The family of bipolar-valued fuzzy subalgebras of X forms a complete distributive lattice under the ordering of bipolar-valued fuzzy set inclusion ⊂.
166
A.B. Saeid and M.K. Rafsanjani
A fuzzy set μ of X is called anti fuzzy subalgebra of X, if μ(x∗y) ≤ max{μ(x), μ(y)}, for all x, y ∈ X. Proposition 2. A bipolar-valued fuzzy set B of X is a bipolar-valued fuzzy subalgebra of X if and only if μ+ is a fuzzy subalgebras and ν − is an anti fuzzy subalgebras of X. Definition 5. Let B = (μ+ , ν − ) be a bipolar-valued fuzzy set and (s, t) ∈ [−1, 0] × [0, 1]. Define: 1) the sets Bt+ = {x ∈ X | μ+ (x) ≥ t} and Bs− = {x ∈ G | ν − (x) ≤ s}, which are called positive t-cut of B = (μ+ , ν − ) and the negative s-cut of B = (μ+ , ν − ), respectively, 2) the sets > Bt+ = {x ∈ X | μ+ (x) > t} and < Bs− = {x ∈ G | ν − (x) < s}, which are called strong positive t-cut of B = (μ+ , ν − ) and the strong negative s-cut of B = (μ+ , ν − ), respectively, (t,s) 3) the set XB = {x ∈ X | μ+ (x) ≥ t, ν − (x) ≤ s} is called an (s, t)-level subset of B, (t,s) 4) the set S XB = {x ∈ X | μ+ (x) > t, ν − (x) < s} is called a strong (s, t)-level subset of B, 5) the set of all (s, t) ∈ Im(μ+ )×Im(ν − ) is called the image of B = (μ+ , ν − ). Theorem 3. Let B be a bipolar-valued fuzzy subset of X such that the least upper bound t0 of Im(μ+ ) and the greatest lower bound s0 of Im(ν − ) exist. Then the following condition are equivalent: (i) B is a bipolar-valued fuzzy subalgebra of X, (t,s) (ii) For all (s, t) ∈ Im(ν − ) × Im(μ+ ), the nonempty level subset XB of B is a (crisp) subalgebra of X. (iii) For all (s, t) ∈ Im(ν − ) × Im(μ+ ) \ (s0 , t0 ), the nonempty strong level (t,s) subset S XB of B is a (crisp) subalgebra of X. (t,s) (iv) For all (s, t) ∈ [−1, 0] × [0, 1], the nonempty strong level subset S XB of B is a (crisp) subalgebra of X. (t,s) (v) For all (s, t) ∈ [−1, 0] × [0, 1], the nonempty level subset XB of B is a (crisp) subalgebra of X. Theorem 4. Each subalgebra of X is a level subalgebra of a bipolar-valued fuzzy subalgebra of X. Theorem 5. Let S be a subset of X and B be a a bipolar-valued subset of X which is given in the proof of Theorem 3.10. If B is a bipolar-valued fuzzy subalgebra of X, then S is a subalgebra of X. Now we generalize the Theorem 3.10 Theorem 6. Let X be a BCK-algebra. Then for any chain of subalgebras S0 ⊂ S1 ⊂ · · · ⊂ Sr = X there exists a bipolar-valued fuzzy subalgebra B of X whose level subalgebras are exactly the subalgebras of this chain.
Some Results in Bipolar-Valued Fuzzy BCK/BCI-Algebras
167
Theorem 7. If B = (μ+ , ν − ) is a bipolar-valued fuzzy subalgebra of X, then the set XB = {x ∈ X | μ+ (x) = μ+ (0), ν − (0) = ν − (x)} is a subalgebra of X. Theorem 8. Let M be a subset of X. Suppose that N is a bipolar-valued fuzzy set of X defined by: α if x ∈ M μ+ (x) = N β otherwise
and − (x) νN
=
γ δ
if x ∈ M otherwise
for all α, β ∈ [0, 1] and γ, δ ∈ [−1, 0] with α ≥ β and γ ≤ δ. Then N is a bipolar-valued fuzzy subalgebra if and only if M is a subalgebra of X. Moreover, in this case XN = M . Proof. Let N be a bipolar-valued fuzzy subalgebra. Let x, y ∈ X be such that x, y ∈ M . Then + + μ+ N (x ∗ y) ≥ min{μN (x), μN (y)} = min{α, α} = α
and
− − − νN (x ∗ y) ≤ max{νN (x), νN (y)} = min{γ, γ} = γ
therefore x ∗ y ∈ M . Conversely, suppose that M is a subalgebra of X, let x, y ∈ X. (i) If x, y ∈ M , then x ∗ y ∈ M , thus + + μ+ N (x ∗ y) = α = min{μN (x), μN (y)}
and
− − − νN (x ∗ y) = γ = max{νN (x), νN (y)}.
(ii) If x ∈ M or y ∈ M , then + + μ+ N (x ∗ y) ≥ β = min{μN (x), μN (y)}
and
− − − νN (x ∗ y) ≤ δ = max{νN (x), νN (y)}.
This shows that N is a bipolar-valued fuzzy subalgebra. Moreover, we have + − + + − XN := {x ∈ X | μ+ N (x) = μN (0), νN (x) = μN (0)} = {x ∈ X | μN (x) = α, νN (x) = γ} = M.
168
4
A.B. Saeid and M.K. Rafsanjani
Conclusion
Bipolar-valued fuzzy set is a generalization of fuzzy sets. In the present paper, we have introduced the concept of bipolar fuzzy subalgebras of BCK/BCI-algebras and investigated some of their useful properties. In our opinion, these definitions and main results can be similarly extended to some other fuzzy algebraic systems such as groups, semigroups, rings, nearrings, semirings (hemirings), lattices and Lie algebras. It is our hope that this work would other foundations for further study of the theory of BCK/BCI-algebras. Our obtained results can be perhaps applied in engineering, soft computing or even in medical diagnosis. In our future study of fuzzy structure of BCK/BCI-algebras, may be the following topics should be considered: (1) To establish a bipolar-valued fuzzy ideals of BCK/BCI-algebras; (2) To consider the structure of quotient BCK/BCI-algebras by using these bipolar-valued fuzzy ideals; (3) To get more results in bipolar-valued fuzzy BCK/BCI-algebras and application.
References 1. Akram, M., Dar, K.H., Jun, Y.B., Roh, E.H.: Fuzzy structures on K(G)-algebra. Southeast Asian Bulletin of Mathematics 31(4), 625–637 (2007) 2. Gau, W.L., Buehrer, D.J.: Vague sets. IEEE Transactions on Systems, Man and Cybernetics 23, 610–614 (1993) 3. Hajek, P.: Metamathematics of Fuzzy Logic. Kluwer Academic Publishers, Dordrecht (1998) 4. Haveshki, M., Borumand Saeid, A., Eslami, E.: Some types of filters in BL-algebras. Soft Computing 10, 657–664 (2006) 5. Huang, Y.S.: BCI-algebra. Science Press, China (2006) 6. Imai, Y., Iseki, K.: On axiom systems of propositional calculi. XIV Proc. Japan Academy 42, 19–22 (1966) 7. Iseki, K.: An algebra related with a propositional calculus. XIV Proc. Japan Academy 42, 26–29 (1966) 8. Iseki, K., Tanaka, S.: An introduction to the theory of BCK-algebras. Math. Japonica 23(1), 1–26 (1978) 9. Lee, K.M.: Bipolar-valued fuzzy sets and their operations. In: Proc. Int. Conf. on Intelligent Technologies, Bangkok, Thailand, pp. 307–312 (2000) 10. Lee, K.M.: Comparison of interval-valued fuzzy sets, intuitionistic fuzzy sets, and bipolar-valued fuzzy sets. J. Fuzzy Logic Intelligent Systems 14(2), 125–129 (2004) 11. Meng, J., Jun, Y.B.: BCK-algebras. Kyungmoon Sa Co, Korea (1994) 12. Zadeh, L.A.: Fuzzy sets. Inform. and Control 8, 338–353 (1965)
The Effect of Attentiveness on Information Security Adeeb M. Alhomoud School of Computing, Informatics and Media University of Bradford [email protected]
Abstract. This paper presents a brief overview of a larger study on the impact of attentiveness, in addition to other factors related to the human factors, on information security in both private and government organizations in Saudi Arabia. The aim of the initial experiment was to sense the existence of attentiveness in relation to information security; the results were encouraging enough to go for a larger scale experiment with additional human factors such as awareness, workload and passwords, etc. We believe this is to be the first study to investigate the effect of attentiveness as a part of the Saudi culture context on organizational information security. Keywords: Human Factors, Attentiveness, Information Security, Saudi Organizations, Saudi Culture.
1 Introduction Nowadays any organization has to consider security as part of its own infrastructural design and provide all that is needed to strengthen defences against intrusions and attacks. The initial steps carried out in securing any network, whether it is a small network or an enterprise network, involve buying the technology needed and putting it into the infrastructural design of the network. As this technology is the first thing that comes to mind when planning to provide a secure environment in any organization, we need to keep in mind and focus on other important aspects, i.e. the human who is going to interact with this technology (as a technical member of staff or an end-user). Knowing that technology is not enough by itself to secure the information and that information security involves both technology and humans [1], we are going to address the human part of security as it is often described to be the weakest link in a security system. Most organizations can afford to buy most, if not all, of the security related equipment (e.g. intrusion dedication/prevention systems, firewalls, monitoring systems) necessary to protect their network, but how much effort and money is spent on avoiding human factors and errors that will eventually impact the organization. The objective of this paper is to shed light on the existence of attentiveness in the field of information security within Saudi culture. As this initial survey is part of a larger study we link attentiveness to the human factor, along with other human factors, and measure the impact on both private and government sectors in Saudi Arabia. F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 169–174, 2010. © Springer-Verlag Berlin Heidelberg 2010
170
A.M. Alhomoud
This paper is organized as follows: by now, the reader is already familiar with the content of section one which is an introduction. Section two will provide a literature review. Section three will explain the meaning of attentiveness, while section four covers the initial experiment. This is followed by the discussion and conclusions in section five.
2 Literature Review The human threats within an organization’s information security are described as human errors or human factors. As human errors are interlinked with human factors, since one can lead to the other, in the following paragraphs we will cover the major human errors that are practiced in the information security field based on previous studies. The “Act of Human Error or Failure” is at the top of Whiteman’s list with regard to threats to information security [2]. These human errors can be non-deliberate (such as an accidental programming error that crashes the system or unintended cutting of a cable during excavation) or deliberate, made by human choice which usually results from poor management or operational practices. An example of human error is what is called a mistake or slip. Mistakes can happen by applying the wrong security patch to the wrong piece of software, while a slip is forgetting the task of applying the patch to the related software. In 2000, the Western Union system was compromised and opened to an attack following which approximately 15,700 customer credit card numbers were stolen. The attack was accomplished when Western Union undertook regular maintenance and a file containing all credit card information was left unprotected when the system resumed operation. Another example of a mistake that can lead to a security breach is leaving network ports open on a firewall or simply misconfiguring the devices [3]. Human errors can be caused by workload. Based on interviews with security specialists and network administrators carried out by Kraemer and Crayon, the level of workload can play a major role in security. As one network administrator said: “It is pretty much on the backburner. It is like we don’t have anybody … but it’s like I don’t have time to do it either”. This illustrates how workload may affect the management of tasks, as many other examples of network administrators’ mistakes are connected to how they manage tasks such as patch management and vulnerability monitoring [4]. A study on Dutch organizations [5] showed that the level of security is higher in organizations where system administrators do not have too high a workload. It has also been found that the delay in applying system patches can be due to two reasons: workload or a small chance that a vulnerability will be exploited. Therefore, we can conclude that not having the right number of human resources capable of fulfilling the job in the right time period will lead to a security risk, which we believe is related to poor management in the first place. The following two subsections are divided to represent the relationships between humans and passwords, and humans and their impact.
The Effect of Attentiveness on Information Security
171
2.1 Passwords and the Human Element Passwords play a major role in security. Losing a password means impairing security or damaging one of the security elements (availability, integrity and confidentiality). Passwords are considered to be first line of defence against intrusion into computer systems [6]. Nowadays, the end-user entry of username–password is practiced many times during the day and on a daily basis (e.g. employees logging into their company’s network, checking emails, etc). Network and website administrators usually set the rule that will force the user to use no less than 8 characters. The reason for this is, basically, the longer the password, the longer it will take to be guessed or cracked. It is normal practice in some organizations where administrators use automatic password generators to create complex passwords that will be hard to crack. Some enforce a more strict policy for passwords; using passwords not found in a dictionary, not names of friends and not made up of numbers only. The reason for this is to avoid brute force attacks as they use dictionary words as passwords; a dictionary of 60,000 words was compiled back in the 1980s [6] . But this enforcement of password policy can backfire on administrators. A survey undertaken by Carstens and McCauley-Bell, addressing 257 university students and employees, showed that 27% of them wrote down their passwords on paper to refer to it when inputting [7]. Another type of human error involves using social security numbers, telephone number, dates of birth, etc: “the easier the password is to remember it is likely to be the easier to be guessed or cracked” [8]. In addition, staff or users who choose weak passwords or share their user IDs with others are considered be contributing human errors which will lead to a weak security environment [3]. A survey study by Adams and Sasse in relation to user behaviour towards passwords indicates that from a total of 139 responses received, 50% of the respondents wrote down their passwords in one form or another, while the remaining 50% left these questions blank [9]. Users tend to write down their passwords when they are forced to change them every month. The more restrictions we enforce on passwords to make them more secure, the more they are likely to be less memorable which leads to writing them down [9]. 2.2 The Impact of the Human Earlier study states that 70% of security breaches at companies occur because of actions taken by employees, either indirectly or directly [10]. In fact, Gonzalez and Sawicka stated that “ … human factors are implicated in 80-90% of organizational accidents” [1]. The CSI survey shows that insider abuse of net access increased from 42% to 59% in 2007 [11]. Fortunately, this percentage decreased in 2008 to 44% [12]. But sadly, 16.1% of respondents in the 2009 CSI survey estimated that nearly all of their losses were caused by insiders in terms of non-malicious attacks (such as careless insiders) [13].
172
A.M. Alhomoud
3 The Meaning of Attentiveness In our study we want to introduce a human factor that is related to culture, especially in Saudi Arabia; we are trying to find an English term that describes the behaviour we are targeting. In the mean time we will use the term “attentiveness”. According to the Oxford English Dictionary the word “attentiveness” (noun) is derived from the word attentive which is “... considerately attending to the comfort or wishes of others” [14]. It dates back to the 14th century and one of its meanings is “heedful of the comfort of others” [15]. To be more precise, we will try to explain what we really mean about the behaviour we are studying that we believe introduces a security risk. In Saudi culture, most people are considered to be generous and this generosity can affect information security. How is that so? In any organization (and this is seen and personally encountered) an employee that has a certain level of access may need to escalate his limited access or gain access to a resource that he or she is not allowed to have access to. A common practice is for that employee to simply ask his friend or colleague to provide him with a username and password. Although his colleague may not want to give him his password, he will still do it. Some will refuse to give out their passwords, but instead type the password in person. This raises a question: why do they refuse to give it out but type it in person? Is there any difference between the two?
4 The Initial Experiment The survey was designed according to the guidelines and rules for conducting a survey and writing a questionnaire [16], [17], [18], [19]. We designed this experiment in the English language and translated it into Arabic to ensure as accurate answers as possible and to make sure that questions were understandable. As mentioned before, this survey was meant for a larger study, but it addresses the attentiveness aspect and impact on information security. We carried out this initial survey on 43 Saudi users within Saudi organizations. The respondents’ demographic records show the major respondent ages were between 25 and 35 years old. The number of male participants was 28, to 15 female. Sixteen of the respondents held Masters degrees, three held diplomas, another sixteen held Bachelors degrees, and eight had high school certificates. We asked the 43 respondents if they had ever given any of their passwords to any one of their friends; 42% of the respondents said yes. And when asked what they would do if a colleague at work or a place of study insisted on using their computer, 44% said that they would allow him/her with some feelings of discomfort, at this stage we believe that “attentiveness” is responsible for this type of action: why would the user do something he or she is not comfortable doing, and what are the consequences to an organization’s information security?
The Effect of Attentiveness on Information Security
No 16%
173
Yes with some feelings of discomfort 44%
YYes without aany feelings of discomfort d 40%
F 1. Indication of attentiveness existence Fig.
When we asked our 43 respondents r what they would do if their colleague or friiend asked them to provide their password in order to access the internet, 13 respondeents o their password, while 27 said that they would refusee to said that they would give out wing give the password, but theyy would type it in for their colleague without him know it. Only 3 of the respondentts would refuse to expose their password or type it in.
Refuse to give out the passwo ord but typee it themseelf 63%
Give out the password 30%
Refuse to give out the password 7%
Fig. 2.. Respondents’ percentage of typing in passwords
The number of people willing to type in their password without revealing the password was more than do ouble the number of those who shared their password, and this gave us the motivation n to pursue this issue and consider how this behaviouur is affecting security.
5 Discussions and Co onclusions To our knowledge, this is th he first study that focuses on the influence of attentivenness as an important factor whiich can have great consequences on an organization’s information security. The fin ndings mentioned in the previous section encouraged us to go further with a larger exp periment to investigate the effectiveness of the attentivenness
174
A.M. Alhomoud
factor, along with other human related factors such as awareness, workload, etc. on Saudi organizations’ (private and government) information security; with considerations of gender, age and education level being major moderating factors.
References 1. Gonzalez, J.J., Sawicka, A.: A Framework for Human Factors in Information Security. In: WSEAS International Conference on Information Security, Rio de Janeiro (2002) 2. Whitman, M.E.: Enemy at the gate: threats to information security. Communications of the ACM 46, 95 (2003) 3. Hinson, G.: Human factors in information security. IsecT Ltd. (2003) 4. Kraemer, S., Carayon, P.: Human errors and violations in computer and information security: The viewpoint of network administrators and security specialists. Applied Ergonomics 38, 143–154 (2007) 5. Caminada, M., van de Riet, R., van Zanten, A., van Doom, L.: Internet security incidents, a survey within Dutch organizations. Computers & Security 17, 417–433 (1998) 6. Gehringer, E.F.: Choosing passwords: security and human factors. ISTAS 2, 369–373 (2002) 7. Carstens, D.S., McCauley-Bell, P.R., Malone, L.C., DeMara, R.F.: Evaluation of the human impact of password authentication practices on information security. Informing Science: International Journal of an Emerging Transdiscipline 7, 67–85 (2004) 8. Schultz, E.E., Proctor, R.W., Lien, M.C., Salvendy, G.: Usability and security an appraisal of usability issues in information security methods. Computers & Security 20, 620–634 (2001) 9. Adams, A., Sasse, M.A.: Users are not the enemy. Communications of the ACM 42, 46 (1999) 10. Kaplan-Leiserson, E.: People and Plans: Training’s Role in Homeland and Workplace Security. T AND D 57, 66–74 (2003) 11. CSI: Computer Crime and Security Survey 2007. Computer Security Institute (2007) 12. CSI: Computer Crime and Security Survey 2008. Computer Security Institute (2008) 13. CSI: Computer Crime and Security Survey online podcast presentation (2009) 14. Compact Oxford English Dictionary, http://www.askoxford.com 15. Merriam-Webster Dictionary, http://www.m-w.com 16. Moser, C.A., Kalton, G.: Survey methods in social investigation (1972) 17. Fink, A.: The survey handbook. Sage Publications, Thousand Oaks (2003) 18. Fink, A.: How to conduct surveys: A step by step guide. Sage Publications, Thousand Oaks (2008) 19. Berdie, D.R., Anderson, J.F., Niebuhr, M.A.: Questionnaires: design and use. Scarecrow Press (1986)
A Secured Mobile Payment Model for Developing Markets Bossi Masamila, Fredrick Mtenzi, Jafari Said, and Rose Tinabo School of Computing, Dublin Institute of Technology, Kelvin Street, Dublin 8, Dublin, Ireland [email protected], [email protected], [email protected], [email protected]
Abstract. The evolution of mobile payments continues to take place at the great speed with changing business models and technology schemes. With the omnipresent availability of mobile phone and other mobile devices, mobile payment presents an investment opportunity to developing markets. However, the success of mobile payment depends on the security of the underlying technology and the associated business model. In this paper, a mobile payment model for developing market is discussed. This mobile payment model comprises the features that can accommodate secured local payments in remote locations with limited network coverage.
1 Introduction Mobile payment can be defined as any payment transaction, which involves the use of mobile devices, such as mobile phone [1]. It provides a convenient way of payment in which a customer can conduct payment anytime anywhere for services such as bills and retailers payments; payroll services, loan disbursement and repayment. Mobile payment presents a strategic value in both developed and developing markets. However, the value of the transaction, customer experience demands and payment model are not developed equally in each market. Mobile payment model defines the framework on which economic, social and other values can be created through mobile payment services. The choices of the business model include mobile payment platform and various mobile bearer channels, suited to different market segments [2]. Most of the developing markets, bank and other financial institutions do not have the mobile payment model that allows them to deal with low saving balances, small transactions and larger number of customers [3]. This prompt a need for a system that can be accessible to every neighborhood and that can handle a large volume of low-value daily saving transactions for developing markets. With the omnipresent availability of mobile phone and other mobile devices, mobile payment has the promising future especially to the developing markets. It has the potential to overcome the financial access problem to developing markets, and extend beyond traditional banks’ coverage by accommodating unbanked communities. It will F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 175–182, 2010. © Springer-Verlag Berlin Heidelberg 2010
176
B. Masamila et al.
drive the economic system toward a cashless transaction environment by eliminating or minimizing physical cash handling, which has been a source of fraudulent or criminal activity. It will open the window for the value of money to be better utilized as cash held outside the banking system is not available for investment [3, 4, 5]. However, the success of mobile payment depends on the security of the underlying technology. As such, security can be regarded as the enabling factor for the success of mobile payment applications [6]. Mobile payment systems involve the integration of different industries such as mobile network operator, bank, Merchants, retailer, agents, and utility companies. These industries handle different information systems, vary in size, they are exposed in different security threats, and they have different security schemes. However, interconnecting these industries gives some common advantage characteristics, but the costs of poor security are often distributed [7]. In this paper, we present a secured mobile payment model for developing market. Properly designed mobile payment model can provide better security than the traditional means of payments [8]. This paper is structured as follows: Section one presents an introduction to mobile payment, section two presents the proliferation of mobile payment services, it discussed the mobile payment landscape. Section three presents security concern in mobile payment services. Section four presents the mobile payment model for developing markets and section five presents concluding remarks for this paper.
2 Proliferation of Mobile Payment Services 2.1 Introduction The spreading of mobile phone and increasing values of their applications across the world depends on the number of factors such as technology change, economic difference, technology adaptability, culture and regulations [9]. Equally, the spread and application of mobile payment across the world are not uniform. This section will give a brief discussion on the proliferation of mobile payment, starting with few cases in developed countries, which will be followed by cases from developing countries. 2.2 Mobile Payment in Developed Countries In most of the developed economies people have wide and easy access to the banking system, with an extensive usage of internet systems and credit cards. Most retail establishments have facilities that can accept both internet based and credit card transaction in addition to cash and such facilities can be easily accessed in local service areas such as taxi cabs and even parking meters [5]. For example, in Japan the giant mobile operator DoCoMo extended the functionality of the SIM card by including credit card services. By using contactless FeliCa Technology, the account represented by the chip in the phone can be charged by waving the phone in close proximity to FeliCa point of sale device. FeliCa technology is deployed in mass transit system in Japan, by NFC vendors such as Mobile Suica, Osaif-Keita system. In South Korea where the mobile
A Secured Mobile Payment Model for Developing Markets
177
market access is almost saturated, consolidations between mobile carriers and banks have been formed for different business strategies. Subscribers exploit their mobile phones to shop in virtual malls, and online boutiques and are able to use their handsets for almost any type of payment; credit card, cash, prepaid vouchers and post-paid subscribers billing [10]. 2.3 Mobile Payment in Developing Markets In developed markets, there is a large number of prepaid users who use their phone for text and voice as well as recharging handsets on the prepaid based system. These users are an ideal target for mobile payment services. They have no access to any bank, and they are not connected to the internet or credit card systems, but the can perform financial transactions that evidence their ability to purchase and activate prepaid cards for additional credit and transfer air-time credit to their friends, and comrades [5, 9] In Philippines, a middle income developing country, major mobile service provider Globe Telecoms and Smart Communications have developed a larger scale mobile banking services. Their product such as G-cash and Smart Money are used to transfer money around the country and circumventing the banking system [10, 5]. Smart is associated with Banco D’Oro in offering SmartMoney and Maestro debit card that can enable SMART client to use conventional ATM and POS devices and can be used for mobile payment services. Globe Telecoms provides G-cash product that supports local and international remittances transfers and payments with the support of over 700,000 agents countrywide. M-Pesa is the mobile banking services offered by Safaricom in Kenya [9]. In Kenya, M-Pesa services are available to subscribers with or without a bank account, and supports subscriber to deposit cash, transfer money, withdraw money through M-Pesa urgent or participating ATM network, buy Safaricom airtime, pay bills and manage M-PESA account [11]. In Tanzania, the Mobipawa account, supported by e-fulusi Africa, allow subscribers to transfer, receive, save and withdraw money as well as purchase goods and services through the use of mobile phones [12]. Most of these successful deployments have been through consolidations. Consolidation provides shared access that creates the opportunity to gain greater returns from all sorts of infrastructure investments [4]. For instance, Vodafone partnered with Safaricom in Kenya for M-Pesa product and has extended the same version to Tanzania and Afghanistan [13]. Zain and Western Union are working together to deliver mobile money transfer services in Africa and the Middle East through Zain’s Zap platform. In Philippines, Western Union service allows mobile subscribers to receive funds sent from selected Western Union Agent locations directly into their mobile phone. MoneyGram International and SMART Communications enable SMART subscribers to receive money transfer to their SMART Money account on their mobile phones [14]. Globe Telecoms has partnered with a number of financial institutions in the Philippines, in order to mitigate the legal constraints of running the financial service while holding a telecommunication license [15]. In India, the Nokia Money initiative based on Obopays platform for developing market is designed to work in partnership with multiple network operators and banks, involving distributors and merchants in a dynamic open ecosystem that will seamlessly provide the new services to customer.
178
B. Masamila et al.
With the growing mobile phone penetration rate and availability of mobile banking platforms and open source software will fuel the spread and use of mobile payment services in developing markets.
3 Related Work Mobile payment technologies are presented by [16] with the state of the art in mobile payment solution, and mobile payment principals. However, this paper has pointed out few areas that need future consideration such as security and standardization. Mcash platform presented by [15] through PostgreSQL, Database, open source WAP and SMS gateway that runs in UNIX platform. This platform is intended for money transfer that can accommodate low-income communities with limited security capabilities. However, this work can be used for developing markets, which are characterized with low-income, but it lacks the ability to support local payments. [20] presented Signet: Low-cost auditable transaction Using SIMs and Mobile phone that can securely enable in-personal transactions in developing markets. It provides a ground work for developing mobile financial transactions in a trusted environment in a close range independent of the main network. But this system does not grantee the security of authentication credentials. Initiatives on developing common standards for financial services have been around for sometime now. Security standards, forums, and organizations have been formed through merged vendors, manufactures and developers. These can be used for defining different secured environments for mobile transactions [21]. For instance, Mobile electronic Transaction (MeT) was formed by Ericsson, Motorola, and Nokia in order to develop a common framework for mobile e-business by creating a personal trusted device that integrates security and transaction applications into a mobile terminal platform [22, 23]. The Payment Card Industry Data Security Standard (PCI DSS) was jointly created by Visa International, Master-card, Discover Financial Services, JCB International and American Express to create the common industry security requirements. The PCI DSS is a multifaceted security standard that establishes comprehensive requirements for enhancing payment account data security [24, 25]. Another initiative is the creation of Secure Electronic Transaction (SET) as detailed by [24], was jointly supported by Master-card, Visa, Microsoft, and Netscape. SET was created to ensure the security of financial transactions on the Internet. SET seeks to preserve relationships between merchants and acquires as well as between payers and their bank. It concentrates on securely communicating credit card numbers to the existing financial infrastructure [8]. Though some of these standards share common aims, they have significant differences in their contents and intended use, which reflects on their implicit design goals. Some are intended to be applied in a very prescriptive manner to a limited range of information systems and available security technologies, while others are intended to be applicable to a very wide range of information system. According to [26], the lack of standards has given rise to lot of local and fragmented versions of mobile payments offered different stakeholders. This lack of common standard and unequal market segment distribution leads to lack of end-to-end security in mobile financial transactions motivate the need to address the mobile payment model for developing markets.
A Secured Mobile Payment Model for Developing Markets
179
4 Security Concerns in Mobile Payment Systems Security is the major concern in the adaption of mobile payment in developing markets. As such the adoption and wide spread application of mobile payment depends on the strength of security. The following are security concerns in mobile payment systems for developing markets: •
•
•
•
Larger network that have emerged as the result of consolidation are prone to security implications. Applications for mobile payment solutions are complex in nature with mismatching set of possibilities that are caused by the involvement of multiple players [27, 28, 29]. The lines differentiating these players have become blurred with the crossover of mobile phone. The benefit of consolidation and sharing infrastructure are apparent, but the costs of poor security are often distributed. Proliferation of mobile payment technologies has led to lack of cohesive technology standards that can provide a universal mode of payment. This lack of common standard creates local and fragmented version of mobile payment offered by different stakeholders, which leads to lack of end-to-end security [26]. In developing markets, mobile payment service providers depend on agents for customer acquisition and for managing liquidity. They access customer’s sensitive information such as the user name, mobile number and other credentials that are used for identification and authentication purpose. These agents are not well equipped to preserve customer’s sensitive information and can easily lead to information leakage. Any loss of control over protected or sensitive information by service providers is a serious threat to business operations as well as, potentially, customer security [6, 30]. With the current technology and the wide spread of mobile applications, mobile devices that use mobile payments and users cause major risk to the security of mobile payment. Mobile devices can be easily infected with virus that could perform unauthorized payments or send user information such as PIN codes through close range communication technologies such as bluetooth, Radio frequency identification (RFID) and Near Field Communication (NFC) [31].
For wide application and usability, a secured mobile payment model for developing market, must address these security concern.
5 Mobile Payment Model for Developing Markets According to [26] mobile payment solution can be classified according to the type of payment effected and based on the technology adopted. The combination of these classifications presents three basic payment models; Bank account based model, Credit card based model and Telecommunication Company billing based model. Where in each model, the mobile number is linked with the payment solution. In this paper, we suggest the bank account payment model capable of local payment services. In this model mobile network operator or mobile banking switch operators are allowed to run the payment and account management platforms on behalf of the banks (See Fig. 1.).
180
B. Masamila et al.
Fig. 1. Mobile Payment Platform (Author, 2010)
Mobile payment platform remains in the realm of the banks under appropriate subcontracting agreements with mobile operators. In this model, the user could order products and services from one or mode service providers or businesses who will then contact, the bank through the mobile network operator for verification involving the user and amount of purchase. This scenario could be used for peer-to-peer business-toconsumer and business-to-business mobile payment supporting both micro-payment and macro-payments. With current technology advancement, close range identification and authentication between the customers, agents and merchants can be achieved through bluetooth, Radio Frequency Identification (RFID) and Near Field Communication (NFC) [32]. In this model, bluetooth technology is preferred as handsets with bluetooth capability are becoming a commonplace in the developing markets, where RFID and NFC are well pronounced in developing markets. Bluetooth with solutions such as Signet [20] will extend mobile payment remote parts of developing markets. This local communication should address identification, authentication and confidentiality issues between the users, agents and merchants as any failure of security in these three services may lead to a serous business threat.
6 Conclusion Mobile payment in developing market are yet to be adopted in large scale though handsets, network operators and mobile payment technologies are all in place. The penetration of mobile phone in developing market and the wide application of mobile banking makes mobile payment an attractive market. However, common global standards for interoperability of devices and security of payments are essential for success of mobile payment systems. Local payments with close range technologies such as Bluetooth will speed-up the usage of mobile payment in developing markets.
A Secured Mobile Payment Model for Developing Markets
181
References 1. Microsoft and M-Com: Mobile Payments-Delivering Compelling Customer and Shareholder Value through a Complete, Coherent Approach, http://www.mcom.co.nz/assets/sm/263/12/ M-Comandmicrosoft-MobilePaymentWhitePaper.pfd 2. Richard, B., Alemayehu, M.: Developing E-banking Capabilities in a Ghanaian Bank: Preliminary Lessons. Journal of Internet Banking and Commerce (2006) 3. Christen, B., Mas, I.: It’s time to address the microsavings challenge, scalably. Enterprise Development and Microfinance 20(4), 274–285 (2009) 4. Prahalad, C., Hammond, A.: Serving the world’s poor, profitably. Harvard Business Review 80(9), 48–59 (2002) 5. Wishart, N.: Micro-payment systems and their application to mobile networks. An infoDev Report, The International Bank for Reconstruction and Development. The World Bank, Washington (2006) 6. Pickens, M., Porteous, D., Rotman, S.: Scenarios for Branchless Banki in 2020. Technical report, CGAP and DFID (2009) 7. Jenkins, B.: Developing Mobile Money Ecosystems. IFC and Harvard Kennedy School (2008) 8. Asokan, N., Janson, P., Steiner, M., Waidner, M.: The state of the art in electronic payment systems. IEEE Computer 30(9), 28–35 (1997) 9. Donner, J.: Research approaches to mobile use in the developing world: A review of the literature. The Information Society 24(3), 140–159 (2008) 10. Porteous, D.: The enabling environment for mobile banking in Africa. Bankable Frontiers Associates, Boston, USA (2006) 11. Ivatury, G., Mas, I.: The early experience with branchless banking. Consultative Group to Assist the Poor, CGAP (2008) 12. E-fulusi.: Products and Services-Mobipawa (2007), http://www.mobipawa.co.tz/mobipawa 13. Camner, G., Sjoblom, E.: Can the success of M-PESA be repeated? (2009), http://www.valuablebits.com/?p=430 14. Mostafaa, T., Mohsen, A.K., Tom, J.P.: Micro-Payment Systems and their application to Mobile Networks (2006), http://www.infodev.org/en/Publication.43.html 15. Mirembe, D., Kizito, J., Tuheirwe, D., Muyingi, H.: Model for Electronic Money Transfer for Low Resourced Environments: M-Cash. In: Proc. Third International Conference on Broadband Communications, Information Technology & Biomedical Applications, pp. 389–393 (2008) 16. McKitterick, D., Dowling, J.: State of the art review of mobile payment technology. TCD Computer Science Technical Reports, Citeseer (2003) 17. El-Masri, S., Suleiman, B.: A Framework for Providing Mobile Web Services. In: The Second International Conference on Innovations in Information Technology (IITâTM05), Citeseer (2005) 18. Vijay, S.A.: Mobile Application Security Framework for the Handheld Devices in Wireless Cellular Networks. In: Wireless World Research Forum (WWRF), Helsinki, Finland (2007) 19. Beach, A., Gartrell, M., Han, R.: Solutions to Security and Privacy Issues in Mobile Social Networking. In: IEEE International Conference on Computational Science and Engineering, vol. 4, pp. 1036–1042 (2009)
182
B. Masamila et al.
20. Paik, M., Subramanian, L.: Signet: low-cost auditable transactions using SIMs and mobile phones. SIGOPS Oper. Syst. Rev. 43(4), 73–78 (2009) 21. Antovski, L., Gusev, M.: M-payments. In: Proceedings of the 25th International Conference on, Information Technology Interfaces, ITI 2003, pp. 95–100 (2003) 22. Susanna, F., Bengt, S.: Secure electronic transactionsâ”The mobile phone evolution continues. Ericsson Review 4, 162–167 (2001) 23. Ding, M., Hampe, J.: Changing Technological and Business Landscapes for mPayment: Is Local Mobile Payment Emerging as the Winner. In: 8th International Workshop on Mobile Multimedia Communications, Munich, Germany (2003) 24. Rowlingson, R., Winsborrow, R.: A comparison of the Payment Card Industry data security standard with ISO17799. Computer Fraud & Security 2006(3), 16–19 (2006) 25. Christian, J.M.: PCI DSS and Incident Handling: What is requred before, during and after an incident. Technical report, SANS Institute (2009) 26. Carr, M.: Mobile Payment Systems and Services: An Introduction. Mobile Payment Forum, Citeseer (2007) 27. Nie, J., Hu, X.: Mobile Banking Information Security and Protection Methods. In: International Conference on Computer Science and Software Engineering (2008) 28. Mallat, N., Rossi, M., Tuunainen, V.: Mobile banking services. Communications of the ACM 47(5), 42–46 (2004) 29. Varshney, U.: Supporting Group-Oriented Mobile Services Transaction, pp. 10–15. IEE Computer Society (2007) 30. Krugel, G., Solin, M., Desai, S., Paul, L., White, A.: Mobile Money for the Unbanked; Annual Report 2009. Technical report, GSMA (2009) 31. Wang, P., Gonzalez, M., Hidalgo, C., Barabasi, A.: Understanding the spreading patterns of mobile phone viruses. Science 324(5930), 1071 (2009) 32. Dellutri, F., Me, G., Strangio, M.: Local authentication with bluetooth enabled mobile devices. In: Proceedings of the Joint International Conference on Autonomic and Autonomous Systems and International Conference on Networking and Services, p. 72. IEEE Computer Society, Los Alamitos (2005)
Security Mapping to Enhance Matching Fine-Grained Security Policies Monia Ben Brahim, Maher Ben Jemaa, and Mohamed Jmaiel ReDCAD Laboratory, University of Sfax, National School of Engineers of Sfax, BP 1173, 3038 Sfax, Tunisia [email protected], {maher.benjemaa,Mohamed.Jmaiel}@enis.rnu.tn http://redcad.org/
Abstract. In the heterogeneous environment of Web service, it is common that the data processed by a service consumer and a service provider present several syntactic heterogeneities such as data name heterogeneity and data structure heterogeneity. However, current approaches of security policy (SP) matching don’t consider such heterogeneities that may exist between the protection scopes of fine-grained SPs. In this paper, we show how this can lead to wrong matching results and propose a security mapping approach to enhance the correctness of matching results when dealing with fine-grained SPs. Keywords: Web service, message security, fine-grained security, security policy, policy matching, security mapping, mediation policy.
1 Introduction Message security is one of the major concerns when using web services. That’s why several new specifications appeared to enable security aspects for web service messages. The two OASIS standards WS-Security [1] and WS-SecurityPolicy [2] are the most important of these specifications. WS-Security standard defines mechanisms that enhance SOAP to protect messages. WS-SecurityPolicy language is built on top of WS-Policy [3] framework and defines a set of policy assertions that consider the WS-Security message security model. Message protection mainly means the confidentiality and the integrity of data transmitted through the message. Confidentiality and integrity can be assured by applying security mechanisms such as encryption and digital signature, based on XML Encryption [4] and XML Signature [5] specifications. An important characteristic of encryption and signature is their high flexibility. They can be applied to arbitrary parts of the SOAP message, and even different parts of a message can be encrypted (or signed) using different encryption (or signature) algorithms and keys. We call a security policy that describes alike fine-grained security a fine-grained security policy. Along with its functional description, a WS-Security-enabled WS provides its security policy description as well. Similarly, a security aware service requestor (a client F. Zavoral et al. (Eds.): NDT 2010, Part I, CCIS 87, pp. 183–196, 2010. © Springer-Verlag Berlin Heidelberg 2010
184
M. B. Brahim, M. B. Jemaa, and M. Jmaiel
application) has its own security policy that specifies its preferred policy to protect the exchanged messages with the service. Therefore, when searching a WS, the requestor, given a set of functional equivalent service implementations, it only selects a service whose security policy is compatible with its policy. To automate the check of compatibility between two security policies, WS-Policy framework defines a mechanism called policy intersection. Because it is a purely syntactic approach, WS-Policy intersection has several limitations that sometimes lead to wrong results when computing the compatibility between two policies [10]. To overcome the lack of semantics, some researchers tried to augment WS-Policy (including WS-SecurityPolicy) with semantics either using ontologies [15], [17], [19], or by introducing an entailment relation that reflects the semantics of assertions and policies [10]. These semantics-based approaches greatly improve the effectiveness and accuracy of the policy intersection mechanism. However, the semantic policy matching can’t be directly applied when matching two fine-grained security policies. In fact, while the scopes of protection (data to be protected) of two fine-grained SPs to be matched are semantically equivalent, many syntactic heterogeneities may exist between them. This is due to the heterogeneous environment of Web services where it is common that the service consumer and the service provider process syntactically heterogeneous data. Particularly, in Web service compositions, it is expected that the data spreading between a Web service and its pre-Web services and its post-Web services in the process flow present many syntactic heterogeneities. The semantics added to WS-SecurityPolicy concern the message security concepts and the semantic relations between them such as generalization and specification relations, and not the syntactic relations between the protection scopes in the involved security policies. Thus, applying the security policy matching mechanisms offered by the semantic approaches without considering the syntactic heterogeneities of data can also lead to wrong matching results. In this paper, we propose a security mapping process to resolve the syntactic heterogeneities between the protection scopes of two fine-grained SPs. This security mapping process generates a mediation policy that can be matched with one of the original policies, without any heterogeneity issue. In this way, we improve the correctness of policy matching when dealing with fine-grained SPs. Besides, by providing a security mediation technique, our approach supports the loose-coupling offered by SOA and Web service technology. The paper is organized as follows. In the next section, we present the WSSecurityPolicy standard and the current semantic approaches based on it. We also explain how the presented approaches allow the specification of fine-grained SPs and how the SPs can be attached to the service and request descriptions. In section 3 we exhibit the importance of a security mapping step before matching fine-grained SPs. Section 4 introduces in detail the security mapping approach. An illustrative example is presented in Section 5, followed by conclusion and future work.
2 Security Policies Web service providers and requestors specify their message related security requirements and capabilities using policies. WS-SecurityPolicy has recently become a
Security Mapping to Enhance Matching Fine-Grained Security Policies
185
standard for specifying policies related to message security. Moreover, based on WSPolicy (including WS-SecurityPolicy) which has a strong industry support, several approaches propose extending WS-Policy with specification of semantics as well as mechanisms for matching the semantics-enriched policies. 2.1 WS-SecurityPolicy WS-SecurityPolicy standard defines a set of security policy assertions for use with the WS-Policy framework. These assertions describe how SOAP messages are to be secured according to the WS-Security protocol. Typically, the published policies are compliant with the WS-Policy normal form. In the normal form, An All operator represents a policy alternative and comprises the alternative assertions. Policy alternatives are grouped into an ExactlyOne operator. WS-SecurityPolicy assertions mainly describe: the token types for security tokens, the cryptographic algorithms, and the scope of protection which means the parts of the SOAP message that shall be encrypted or signed. WS-Policy also defines the Policy intersection algorithm to match two policies written in normal form. According to Policy intersection, matching two policies is reduced to finding two compatible alternatives. A policy alternative A1 is compatible with a policy alternative A2 if for each assertion in A1, there exists a compatible assertion in A2 and vice versa. The assertion matching is a purely syntactic comparison of the Qualified Names of the assertions without considering domain-specific (such as security) semantics. A policy matching process that relies only on this domain-independent matching of assertions is prone to get wrong results [10]. 2.2 Semantic Approaches Despite its lack of semantics, WS-Policy framework is widely accepted in the industry. To not lose this industry support and to overcome the lack of semantics, many approaches propose enhancing WS-Policy with domain knowledge. In [15], the authors add constructs to WS-Policy language to express semantic information. A semantic approach is also investigated in [17] where the authors enhance the policies of WS-Policy with semantics by creating the policy assertions based on terms from an ontology. In [17], a semantic policy matching algorithm is also proposed. The approach proposed by Garcia et al. [19] is similar to the one proposed in [17], but it mainly deals with integrity and confidentiality of message exchange between a web service and a service client. Garcia et al. create a message security ontology as foundation to support WS-Policy with semantics. In [10], the author explains the weaknesses of WS-policy intersection and presents a new approach for checking the compatibility of policies. His solution is based on an entailment relation that reflects the semantics of assertions and policies. Concerning message security, the above mentioned approaches enable more expressive specification of security policies and more accurate policy matching than the WS-Policy framework does. However, as we will explain it in the rest of this paper, when dealing with fine-grained SPs, a security mapping process is needed before applying the policy matching mechanisms proposed by these approaches.
186
M. B. Brahim, M. B. Jemaa, and M. Jmaiel
2.3 Fine-Grained Security Policy WS-Security protocol [1] allows a coarse-grained encryption and signing of the whole message body. Moreover, based on the high flexibility offered by XML Signature and XML Encryption, it provides support for fine-grained signatures and encryption. In fact, the data to be protected in a SOAP message can be an arbitrary XML element or XML element content. This allows protecting only the critical data in the message instead of protecting the whole body. In general, this allows to distinguish between diferent body parts with different sensitivities (i.e. at different security levels) and protect them with different encryption and signature algorithms and keys. Any security policy language that considers the WS-Security message security model provides fine-grained security description. For instance,WS-SecurityPolicy standard defines the protection assertions EncryptedElements and SignedElements to specify arbitrary elements in the message that require confidentiality protection and integrity protection respectively. The message nodes to be protected are identified using XPath [6] expressions. Below, we give two examples of a fine-grained SP. The one on the left is written in WS-SecurityPolicy language, and the one on the right represents a fine-grained SP which is semantics-enriched in the way proposed by Garcia et al [19].
2.4 Policy Attachment In the following, we explain the attachment of security policies to service and request descriptions. Service policy attachment. A service provider can attach his (WS-Policy based) security policies to the Web service description. Policy documents can be attached to the WSDL elements at the endpoint level, at operation level, and at message level. The WS-PolicyAttachment [7] specification indicates how to associate policy documents with WSDL elements. The effective security policy for a SOAP message results from the combination of the corresponding endpoint, operation, and message policies. Client policy attachment. In a security aware service discovery, the service requestor specifies its security policy along with its functional request. Dynamic service discovery usually requires semantic descriptions of the service as well as of the service
Security Mapping to Enhance Matching Fine-Grained Security Policies
187
request. If the requestor wants to apply a fine grained security to its data to be exchanged with the service, it should attach its fine-grained security policy to a detailed description of its data. For instance, a client can use WSDL with semantic annotations (SAWSDL) to describe the service it expects and attach the fine-grained security policy documents to the appropriate WSDL elements. In fact, the use of SAWSDL or SAWSDL based languages to describe the service request has been proposed in many approaches ([12], [16], [9]) in recent literature.
3 The Need for Security Mapping The semantic web service matching returns a set of services that satisfy the functional requirements of the service requestor. Among these candidate services, only a service whose SP is compatible with the client policy can be chosen. Thus, client and service policies must be matched to check their compatibility. Each one of the fine-grained SPs has its own scope of protection. Although these protection scopes are semantically equivalent data, they may be syntactically different. The syntactic heterogeneities1 include data name heterogeneity, data structure heterogeneity, as well as Inputs/Outputs number heterogeneity2. Suppose that a service request include the following Input: Name Card
Type Card CType CNumber
Description The credit card information which includes the card type and the card number
The service request also specifies a fine-grained SP with the WS-SecurityPolicy language. The protection assertion of this policy is: <sp:EncryptedElements> <sp:XPath> /.../Card
In the other hand, suppose that a candidate service description includes the following Inputs:
Input1 Input2 1
Name Card CNumber
Type String String
Description The credit card type The credit card number
We ignore the operation name heterogeneity because the operation name is an atomic data and the related heterogeneity can be resolved by semantic matching only. 2 We consider both WSDL 1.1 and WSDL 2.0.
188
M. B. Brahim, M. B. Jemaa, and M. Jmaiel
Let suppose that the protection assertion of the service policy is identical to the protection assertion of the client policy and that the other security assertions of the two policies are compatible to each other. According to WS-Policy intersection, the two protection assertions are also compatible. Thus the security policies of requestor and provider are compatible and the candidate service can be chosen. Of course such a matching yields a false positive result because the requestor SP requires that both the card number and the card type must be encrypted, while the service SP indicates that only the card type is encrypted in the incoming SOAP message. In fact, WS-Policy intersection completely ignores the parameters of assertions (i.e. attributes and child elements). So, even if the protection assertion of the service policy was empty, the two protection assertions would remain compatible according to WS-Policy intersection. Even if we were to use semantic approaches to represent and match the two protection assertions, it would also lead to a false positive result. In fact, when dealing with protection scope comparison, semantic policy matching just does a string matching to the XPath expressions. This can also yield false negative results when the protection scopes have the same content but different names or paths. Let examine another counter-example where semantic policy matching (and of course WS-Policy intersection also) doesn’t return a correct result. Suppose now that a service request includes the following Inputs:
Input1 Input2
Name CType CNumber
Type String String
Description The credit card type The credit card number
The requestor indicates, through a fine-grained SP, that it is willing to protect CType Input with TDES encryption algorithm and CNumber Input with AES-256 encryption algorithm. Furthermore, suppose that a candidate service description includes the following Input: Name Card_Info
Type String
Description The credit card information which is a concatenation between the card type and the card number
In his SP, the candidate service provider requires that the CardInfo Input must be encrypted using the AES-256 cipher. Actually, since AES-256 cipher is stronger than TDES cipher [14], the service and client policies are compatible. However, semantic policy matching considers that the two policies are not compatible because the matcher doesn’t consider the fact that cardInfo is the concatenation of CType and CNumber. Indeed, semantic approaches rely on a description (e.g. security ontology) of semantic relationships between the security concepts. But this security description doesn’t include any information about the scopes of protection.
Security Mapping to Enhance Matching Fine-Grained Security Policies
189
To sum up, we are confronted with the following limitations of WS-Policy intersection and semantic policy matching: − WS-Policy Intersection is a syntactic approach and completely ignores protection assertions parameters − Semantic policy matching is useful only when matching coarse-grained SPs or when the protection scopes of fine-grained SPs are semantically and syntactically identical Therefore, to enhance WS-Policy intersection and to effectively benefit from the semantic reasoning capability provided by the semantic policy matching, we must resolve the syntactic heterogeneities between the protection scopes of fine-grained security policies. In the following section, we present a security mapping process that resolves these heterogeneities.
4 The Security Mapping Approach Generally, a candidate service (more exactly a service operation) has two security policies: an inbound security policy (ServiceInbSP) which is attached to its incoming message, and an outbound policy (ServiceOutbSP) which is attached to its outgoing message. Similarly, a service request specifies two security policies: the request inbound security policy (RequestInbSP) which is related to the incoming message of the expected service, and the request outbound security policy (RequestOutbSP) which is related to the outgoing message of the expected service. So, a security aware service selection involves matching, in one hand, the RequestInbSP with the ServiceInbSP and, on the other hand, the RequestOutbSP with the ServiceOutbSP. To resolve the heterogeneity issues discussed in the previous section, before matching two fine-grained SPs, we project one of them on the protection scope of the other policy. We call this projection process a security mapping. The security mapping generates a SP that we call a mediation policy. The mediation policy can then be matched with the other SP. The security mapping is based on the XML schema mapping between the two protection scopes. For the service discovery phase, one of the two policies must be projected regardless it is the client policy or the service policy. However, for the service invocation phase, this differs. In fact, in the service invocation process, it is expected that a trusted mediator will transform, based on the XML schema mapping, the secure SOAP messages exchanged between the client and the service. For this reason, from the selection step, we distinguish between two kinds of security mapping: the clientto-service security mapping and the service-to-client security mapping. In the former mapping, it is the RequestInbSP that must be projected on the Inputs of the candidate service to generate a mediation SP that can be matched with the ServiceInbSP. While, in the latter mapping, it is the ServiceOutbSP that must be projected on the Outputs specified in the service request to generate a mediation SP that can be matched with the RequestOutbSP. Fig. 1 illustrates the interaction between the client-to-service security mapping process and the policy matching process.
190
M. B. Brahim, M. B. Jemaa, and M. Jmaiel
Fig. 1. Interaction between the client-to-service security mapping and the policy matching
4.1 Security Mapping Algorithm The security mapping process is based on the mapping between the XML schemas of the protection scopes. Given one target schema and several source schemas, the XML schema mapping produces a set of mapping links that describe the way instances of the target schema are derived from the instances of the source schemas [18]. In the case of client-to-service security mapping, the source schemas for the XML schema mapping are the request Inputs’ schemas and the target schema is a service Input’s schema. While in the case of service-to-client security mapping, the source schemas are the service Outputs’ schemas and the target schema is a request Output’s schema. It is efficient that the XML schema mapping exploits the semantic matching between request and service Inputs and Outputs since this semantic matching has already been done in the semantic service matching phase [13]. In the following, we detail the algorithm of the client-to-service security mapping. The service-to-client mapping can be realized analogously. A (non-optimized) version of the client-to-service security mapping is shown in Fig. 2. The generation of the mediation SP is made iteratively for each service Input (line 7). The schema mapping between the XML schema of the service Input as target schema and the XML schemas of request Inputs as source schemas produces a set of mapping links between each data element of the service Input and the data elements of the request Inputs (lines 9-10). A mapping link describes how a concrete data element of the service Input can be fulfilled by the data elements of the request Inputs. Based on this mapping link and on the requestInbSP, the basicSecurityMapping algorithm called in line 11 generates the mediation SP on the involved data element of the service Input. In fact, the basic security mapping determines how the mediation SP on this data element can be obtained from the client SP on the related data elements of the request Inputs. The basic security mapping operations corresponding to several kinds of schema mapping links are detailed in the next section.
Security Mapping to Enhance Matching Fine-Grained Security Policies
191
Fig. 2. Client-to-service security mapping algorithm
Then, the mediation SP on the service Input is obtained by merging all mediation SPs related to the data elements of this Input (line 14). Similarly, the mediation SP on the incoming message of the service is the result of merging all mediation SPs related to the service Inputs (line 16). The merge operation is a policy processing operation defined in WS-Policy. It consists in combining sub-policies written in the normal form to construct a single policy. Besides, we define a new policy processing operation that we call clean. This operation improves the writing form of a policy resulting from a merge operation. This is done by eliminating all repetitions that may occur after the merge step. For instance, if two SPs, related each one to a service Input, are identical, merging these two SPs will lead to a resulting SP that contains repetitive assertions. The role of the clean operation is to eliminate these repetitions. Most XML schema mapping approaches (such as [13] and [8]) apply a top-down strategy to generate mapping links. At the top level, correspondences between complex elements are established. At the bottom level, finer level matching is done to identify correspondences among simple elements inside each pair of compatible
192
M. B. Brahim, M. B. Jemaa, and M. Jmaiel
complex elements. A possible optimization of the security mapping algorithm is to avoid useless finer level schema mappings between matched complex elements, whenever the SP on the source element is coarse-grained. For instance, given that the two complex schema elements shown in Fig. 3 are matched and that SPPerson (the security policy on Person data element) is coarse-grained, we can deduce the mediation SP on Employee data element and it is not necessary to refine the mapping process to identify correspondences among the elements inside Person and Employee schemas.
Fig. 3. Two matched complex schema elements
4.2 Basic Security Mapping Operations The aim of this section is to define the basic security mapping operations corresponding to several kinds of XML schema mapping operations. According to [8], there exist various possible transformation operations between two XML schemas elements or attributes. The most common are connect, rename, concatenate, split, union, and selection: − The connect operation defined as Connect: t= connect (s), generates a construction3 t which has the same content and label as s without any modification. In this case, the security policy on the construction t SPt = SPs. − The rename operation defined as Rename: t= rename (s), generates a construction that is the same as the construction s, but with a different name t. In this case, SPt = Keep (SPs). The keep function preserves the same SP on s, but takes into account the linguistic differences between s and t. − The concatenate4 operation defined as Concatenate: t = concatenate (s 1 ... s i ), generates a construction t whose value is obtained by concatenating s 1 ... s i values. In this case, SPt = Merge (MaxConf (SPs1… SPsi), MaxInteg (SPs1… SPsi)). The MaxConf function returns the strongest confidentiality policy among SPs1…SPsi. While, the MaxInteg function returns the strongest integrity policy among SPs1… SPsi. We rely on [14], to compare confidentiality mechanisms and integrity mechanisms. 3 4
Construction refers to schema elements or attributes. Called also merge operation. But we choose here the concatenate appellation to avoi