Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:mfe:is [2015/04/13 13:47]
svsummer
teaching:mfe:is [2016/04/13 16:18]
msakr
Line 1: Line 1:
-====== MFE 2015-2016 : Web and Information Systems ======+====== MFE 2016-2017 : Web and Information Systems ======
  
 ===== Introduction ===== ===== Introduction =====
Line 19: Line 19:
  
 Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found  Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found 
-{{:​teaching:​mfe:​mt2014_euranova.pdf|here}}+{{:​teaching:​mfe:​master_thesis_euranova_2015.pdf|here}}
  
 These subject include topics on distributed graph processing, processing big data using Map/Reduce, cloud computing, and social networks. These subject include topics on distributed graph processing, processing big data using Map/Reduce, cloud computing, and social networks.
Line 25: Line 25:
   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-===== Automatic detection of name variations ​===== +===== Complex Event Processing in Apache Spark and Apache Storm =====
-Toon Calders (WIT)+
  
-For this project a large data collection consisting ​of historical birth, death, ​and marriage certificates ​of the province of North-Brabant in the Netherlands is available. This collection contains certificates for about 3 million peoplefrom 1580 until 1955. This collection of paper documents has been indexed ​by volunteersFor many of the certificates (unfortunately the index is not complete yet), the names of the people involved in it, and their role have been recorded in a database. Consider for instance the following example of an index entry for a death certificate:​+The master thesis is put forward in the context ​of the SPICES "​Scalable Processing ​and mIning ​of Complex Events for Security-analytics"​ research projectfunded ​by Innoviris.
  
-^ Death certificate ^^ +Within this project, our lab is developping a declarative language for Complex Event Processing (CEP for short). The goal in Complex Event Processing is to derive pre-defined patterns in a stream ​of raw events. Raw events are typically sensor readings (such as "​password incorrect for user X trying to log in on machine Y" or "file transfer from machine X to machine Y"). The goal of CEP is then to correlate these events into complex events. For example, repeated failed login attempts by X to Y should trigger a complex event "​password cracking warning"​ that refers to all failed login attempts.
-|Deceased |Johanna Louise Fredrika Frans | +
-|Relation ​of the deceased |Gerard Cornelius Reincke de Sitter | +
-|Father of the deceased |Carl Ludwig Frans | +
-|Mother of the deceased |Alida Philippina Zehender | +
-|Type of deed |death certificate | +
-|Number of deed |5 | +
-|Place |Beers | +
-|Date of decease |26-02-1825 | +
-|Period |1825 | +
-|Contains |Overlijdensregister 1825 | +
-|Number ​of inventory |50 | +
-|Record number |456 |+
  
-There are, however, several problems with the data recorded by the volunteers:  +The objective ​of this master thesis ​is to build an interpreter/​compiler for this declarative CEP language that targets ​the distributed computing frameworks Apache Spark and/or Apache Storm as backendsGetting aquaintend with these technologies ​is part of the master thesis objective.
-  - Volunteers made mistakes when recording the names +
-  - Natural name variations occur; for instance, during the Napoleonic era, Willem preferred to be called Guillaume. After the French left the Netherlands,​ Willem became Willem again. Other, less spectacular variations: Fredrika versus Frederika. +
-  - Another source ​of variation ​is the granularity at which locations are reportedSometimes locations have been reported at suburb or even neighborhood level, whereas in other records only the city is reported. +
-  - Also the original data contained errors. For instance, the order of names may have been swapped.+
  
-The goal of this graduation project is to automatically detect name variations for location and person names, using statistical and data mining methods. Because ​of the large size of the database it is very likely that most name variations occur frequently. In pilot study, it was shown that name variations could be detected ​by finding pairs of full names sharing most surnames, but not all. The differences often were name variations. Your task will be to extend this approach to also include locations, and exploit additional background knowledge such as: for most birth certificates there is a matching death certificate,​ no one has more than one birth and death certificate,​ etc.  +**Validation ​of the approach** Validation ​of the proposed interpreter/​compiler should be done on two levels: 
-This project has a large research component, so your creative input will be required as well. For this project it is absolutely not necessary to speak or understand Dutch.+  * theoretical level; by comparing the generated Spark/Storm processors to a processor based on "​Incremental computation" ​that is being developped at the lab 
 +  * an experimental level; ​by proposing a benchmark collection ​of CEP queries that can be used to test the obtained interpreter/​compiler, and report on the experimentally observed performance on this benchmark.
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+**Deliverables** of the master thesis project 
 +  * An overview of the processing models of Spark and Storm 
 +  * A definition of the declarative CEP language under consideration 
 +  * A description of the interpretation/​compilation algorithm 
 +  * A theoretical comparison of this algorithm wrt an incremental evaluation algorithm. 
 +  * The interpreter/​compiler itself (software artifact) 
 +  * A benchmark set of CEP queries and associated data sets for the experimental validation 
 +  * An experimental validation of the compiler, and analysis of the results.
  
-===== Analyzing state-of-the-art technology for handwritten text recognition in a practical case study ===== +**Interested?​** 
-Toon Calders (WIT) and Olivier Debeir (LISA)+  * Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
-The goal of this project is to study the applicability of current state-of-the-art text recognition tools in the following practical application. Consider the following two exemplary documents:+**Status**available
  
-[[https://​dl.dropbox.com/​u/​5119252/​MFE/​069-50-3165-1813-00009.jpg]] \\  
-[[https://​dl.dropbox.com/​u/​5119252/​MFE/​069-50-3165-1815-00003.jpg]] 
  
-These two documents are scans of birth certificates (actually both are 2 birth certificates) from the Dutch city Grave. We have a huge collection of such paper documents; about 3 million, of which several tens of thousands have been scanned. Furthermore,​ we have an index on these documents, created by volunteers. This index contains, ​for the birth certificate,​ the name of the child, the name of the father and mother, and the witnesses. As you can see in the documents, however, much more information is available. Your task is to answer the following question: is it realistic, given the current state-of-the-art to do automatic recognition of hand-written texts such as these certificates?​ Most of the documents are very structured, with limited number of possible values (age of a person, profession),​ and there is a huge amount of training data; the names of all people have been indexed, usually the handwriting is consistent throughout a whole book with certificates. This graduation project includes a thorough literature study and experimentation with (original combinations of) state-of-the-art image recognition techniques adapted to our specific case. The project will be carried out in collaboration with the research labs WIT and LISA.+===== Graph Indexing ​for Fast Subgraph Isomorphism Testing =====
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+There is an increasing amount of scientific data, mostly from the bio-medical sciences, that can be represented as collections of graphs (chemical molecules, gene interaction networks, ​...). A crucial operation when searching in this data is that of subgraph ​   isomorphism testing: given a pattern P that one is interested in (also a graph) in and a collection D of graphs (e.g., chemical molecules), find all graphs in G that have P as a   ​subgraph. Unfortunately,​ the subgraph isomorphism problem is computationally intractable. In ongoing research, to enable tractable processing of this problem, we aim to reduce the number of candidate graphs in D to which a subgraph isomorphism test needs   ​to ​be executed. Specifically,​ we index the graphs in the collection D by means of decomposing them into graphs for which subgraph ​  ​isomorphism *is* tractable. An associated algorithm that filters graphs that certainly cannot match P can then formulated based on ideas from information retrieval.
  
-===== Process Mining ​on Company Data for Detecting Security Breaches ===== +In this master thesis project, the student will emperically validate ​on real-world datasets the extent to which graphs can be decomposed into graphs ​for which subgraph isomorphism is tractable, and run experiments to validate the effectiveness of the proposed method in terms of filtering power.
-Toon Calders (WIT)+
  
-According to a recent report of Price Waterhouse Cooper, the most common source of security incidents are current employees, followed at a distance by former employees and only after that truly external threats such as hactivists. [http://​www.pwc.com/​gx/​en/​consulting-services/​information-security-survey/​giss.jhtml?region=&​industry=] ​ This observation leads to the conclusion that in an intelligent security event management system, should also concentrate on internal threats to security. +**Interested?** Contact ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-The goal of the thesis is to analyze the possibility of using process mining to help in the detection of silent attacks. We will concentrate on company-specific data. From this data typical behavior will be detected and modeled as a process or workflow. We consider three aspects of a workflowthe actor(s), the resources, and the activitiesBy modeling the normal behavior in the system we are able to detect deviating casesBased on historical data, the goal is to build models of typical behavior, including the use of resources such as patient recordsSuch a system would be able to detect for instance if a certain patient record is consulted much more often than usual, or by more people, or outside of the normal workflow (e.g., only reading information,​ but not writing). Such a pattern could indicate unjustified access to for instance the patient record of a famous patient.  +
-For modeling the workflows, we propose the use of process mining (Van der Aalst, 2011). Process mining is a state-of-the-art technology concerned with the automatic extraction of process models from event logs. Consider, e.g., a hospital registering all activities that are carried out for the treatment of patients, ranging from the admission, various measurements being taken from the patient, medicine administered,​ surgical procedures, to the resignation of the patient. Process mining could be used to extrapolate from these examples, a common model of how the hospital deals with a patient. There are several applications of process mining; first it can be used to improve the processes by standardizing them; many companies and organizations may only have informal procedures. By process mining the process logs are used to extract a general model of the actual business processes. Such a model can guide the automation process.  +
-In this thesis the goal is to analyze how process mining could be used for anomaly detection; how can the discovered models be used to detect abnormal behavior in a company network? Much like in credit card fraud detection, the approach is to first model normal behavior, in this case using process mining, in order to detect diverging behavior that could indicate security breaches in the network.+
  
-Van der Aalst, W. M. (2011). Process MiningDiscovery, Conformance and Enhancement of Business Processes. Springer.+**Status**available
  
 +===== A Scala-based runtime and compiler for Distributed Datalog =====
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+Datalog is a fundamental query language in datamanagement based on logic programmingIt essentially extends select-from-where SQL queries with recursionThere is a recent trend in data management research to use datalog to specify distributed applications,​ most notably on the web, as well as do inference on the semantic webThe goal of this thesis is to engineer a basic **distributed datalog system**, i.e., a system that is capable of compiling & running distributed datalog queries. The system should ​be implemented in the Scala programming language. Learning Scala is part of the master thesis project.
  
-===== Mining patterns for compression ===== +The system should: 
-Toon Calders ​(WIT)+  * incorporate recently proposed worst-case join algorithms ​(i.e., the [[http://​arxiv.org/​abs/​1210.0481|leapfrog trie join]]) 
 +  * employ known local datalog optimizations (such as magic sets and QSQ)
  
-Data mining is the research discipline that studies the extraction of information from large amounts of data. One of the typical data mining tasks is pattern mining where we try to find regularities that occur frequently in a dataset. ​The prototypical example is that of supermarket storing for every customer visiting the supermarket,​ the transaction;​ that is, the set of items that were bought by that customer. The frequent itemset mining problem now is to detect which combinations of products were more often sold together than a given threshold. One of the major problems of pattern mining algorithms, however, is the enormous amount of redundant patterns they generate; for instance, very popular items, such as toilet paper, tend to appear in many frequent combinations purely due to chance. In order to deal with this problemtechniques based upon compression ​and minimum description length were proposed to reduce the number ​of patterns. The rationale behind ​the minimal description length principle is that a set of patterns that describes well what is happening in the dataset should allow for a good compression. For a collection of patternsthe quality is measured as the description length of the patterns plus the size of the data compressed with these patternsFor instance, if the pattern {bread, milk, butter} has a high frequency, we could opt to replace every occurrence of this pattern by a special code, effectively reducing the encoding length of the dataSurprisingly,​ however, the MDL principle was until now only used to rule out redundant patterns, and it has not been researched yet how well the discovered patterns actually do compress the data as compared to compression algorithms such as Lempel–Ziv–Welch +**Validation ​of the approach** ​The thesis should propose ​benchmark collection ​of datalog queries and associated data workloads ​that be used to test the obtained system, and measure key performance characteristics (elasticity ​of the system; memory frootprint; overall running time, ...)
-Hence, in this highly research oriented graduation project, two research questions are central: (1) How good do non-redundant pattern sets based on MDL allow compressing data, and (2Can we extract useful patterns from existing compression algorithms?+
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+**Required reading**:​ 
 +  * Datalog and Recursive Query Processing - Foundations and trends in query processing. 
 +  * LogicBlox, Platform and Language: A Tutorial (Todd JGreen, Molham Aref, and Grigoris Karvounarakis) 
 +  * Dedalus: Datalog in Time and Space (Peter Alvaro, William RMarczak, Neil Conway, Joseph M. Hellerstein,​ David Maier, and Russell Sears) 
 +  * Declarative Networking (Loo et al). For the distributed evaluation strategy. 
 +  * Parallel processing of recursive queries in distributed architectures (VLDB 1989) 
 +  * Evaluating recursive queries in distributed databases (IEEE trans knowledge and data engieneering,​ 1993)
  
-===== Pattern Mining for Object Tracking ===== +**Deliverables**:​ 
-Toon Calders ​(WIT)+  * Semantics of datalog; overview of known optimization strategies ​(document) 
 +  * Description of the leapfrog trie join (document) 
 +  * Datalog system (software artifact) 
 +  * Experimental analysis of developped system on a number of use cases (document)
  
-Pattern mining techniques are more and more often used in computer vision +**Interested?​** 
-to obtain features that are more discriminative than those extracted +  * Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-using computer vision algorithmsThis is true for example in content-based +
-images/​videos retrieval, indexing, classification,​ tracking, etcHowever, the main +
-drawback of using traditional pattern mining techniques is their inefficiency when +
-dealing with huge set of data (for example provided by Google image or Youtube +
-for videos) or when trying to tackle real-time analysis problems. The data mining +
-community has been working on the “Big Data” problem for many years coming +
-up with promising solutions such as stream mining. The aim of this project +
-is to explore the possibility of using pattern mining in data streams for the (real-time) analysis of videos and, in particular, for object tracking.+
  
-For more extensive information regarding the context and problem setting, see the following paper:+**Status**available
  
-Toon Calders, Elisa Fromont, Baptiste Jeudy and Hoang Thanh Lam. 
-[[http://​labh-curien.univ-st-etienne.fr/​~fromont/​|Analysis of Videos using Tile Mining.]]\\ 
-In: //ECML/PKDD Workshop on Real-World Challenges for Data Stream Mining//, Prague, 2013 
- 
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]] 
- 
- 
-===== Design and Implementation of a Curriculum Revision Tool ====== 
- 
-Stijn Vansummeren (WIT), Frédéric Robert (BEAMS) 
- 
-This MFE concers the analysis, design, and implementation of a 
-software system that can assist in the revision of teaching curricula 
-(also known as teaching programs). 
- 
-The primary targetted functionalities of the  software system are as 
-follows: 
-  * It should allow to make different versions of the teaching programs, much in the same way as version control systems like GIT and subversion offer the possibility to make different "​development branches"​ of a program'​s source code. 
-  * It should ​ allow an extensible means to check the modified program for inconsistentcies. (For example, if course X has course Y as prerequisite,​ then course Y should not be scheduled in 2nd semester and X in 1st semester. Moreover, the total number of ECTS of all courses should be at most 60 ECTS. ) 
-  * It should allow to analyze the modifications proposed in the teaching programs, and summarize the impact that these changes could have on other programs. (For example, if a course is removed from the computer science curriculum, it should be flagged that it should also be removed from all curricula that included the course.) 
-  * It should load data from (and preferably, save data to) the ULB central administration database. ​ 
-  * It should give suggestions concerning the impact of the modifications on the course schedules. 
- 
-A proof-of-concept implementation of a revision tool that supports the first two requirements above is currently being developed in the context of a PROJH402 project. The MFE student that selects this topic is expected to: 
- 
-  * Develop this prototype to a production-ready implementation. 
-  * Implement the communication with the central ULB database. 
-  * Implement the impact analysis concerning the course schedules. 
-  * Interact with the administration of the Ecole Polytechnique to fine-tune the above requirements;​ test the implementation;​ and integrate remarks after testing 
- 
-Contact : Stijn Vansummeren <​stijn.vansummeren@ulb.ac.be>,​ Frédéric Robert <​frrobert@ulb.ac.be>​ 
  
  
Line 159: Line 115:
  
    * Contact: [[ezimanyi@ulb.ac.be|Esteban Zimányi]]    * Contact: [[ezimanyi@ulb.ac.be|Esteban Zimányi]]
- + 
 +=====Efficient Management of (Sub-)structure ​ Similarity Search Over Large Graph Databases. =====  
 + 
 +The problem of (sub-)structure similarity search over graph data has recently drawn significant research interest due to its importance in many application areas such as in Bio-informatics,​ Chem-informatics,​ Social Network, Software Engineering,​ World Wide Web, Pattern Recognition,​ etc.  Consider, for example, the area of drug design, efficient techniques are required to query and analyze huge data sets of chemical molecules thus shortening the discovery cycle in drug design and other scientific activities.  
 + 
 +Graph edit distance is widely accepted as a similarity measure of labeled graphs due to its ability to cope with any kind of graph structures and labeling schemes. ​ Today, graph edit similarity plays a significant role in managing graph data , and is employed in a variety of analysis tasks such as graph classification and clustering, object recognition in computer vision, etc.  
 + 
 +In this master thesis project, ​ due to the hardness of graph edit distance (computing graph edit distance is known to be NP-hard problem), the student ​ will investigate the current approaches that deals with problem complexity while searching for similar (sub-)structures. ​ At the end, the student should be able to empirically analyze and contrast some of the interesting approaches. ​  
 + 
 +=====A Generic Similarity Measure For Symbolic Trajectories===== 
 +Moving object databases (MOD) are database systems that can store and manage moving object data. A moving object is a value that changes over time. It can be spatial (e.g., a car driving on the road network), or non-spatial (e.g., the temperature in Brussels). Using a variety of sensors, the changing values of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. There are two types of MOD. The first is the trajectory database, that manages the history of movement. The second type, in contrast, manages the stream of current movement and the prediction of the near future. This thesis belongs to the first type (trajectory databases). The research in this area mainly goes around proposing data persistency models and query operations for trajectory data.  
 + 
 +A sub-topic of MOD is the study of semantic trajectories. It is motivated by the fact that the semantic of the movement is lost during the observation process. You GPS logger, for instance, would record a sequence of (lon, lat, time) that describe your trajectory. It won't, however, store the purpose of your trip (work, leisure, …), the transportation mode (car, bus, on foot, …), and other semantics of your trip. Research works have accordingly emerged to extract semantics from the trajectory raw data, and to provide database persistency to semantic trajectories.  
 + 
 +Recently, Ralf Güting et al. published a model called “symbolic trajectories”,​ which can be viewed as a representation of semantic trajectories:​ 
 +Ralf Hartmut Güting, Fabio Valdés, and Maria Luisa Damiani. 2015. Symbolic Trajectories. ACM Trans. Spatial Algorithms Syst. 1, 2, Article 7 (July 2015), 51 pages. 
 +A symbolic trajectory is a very simple structure composed of a sequence of pairs (time interval, label). So, it is a time dependent label, where every label can tell something about the semantics of the moving object during its associated time interval. We think this model is promising because of its simplicity and genericness. ​   
 + 
 +The goal of this thesis is to implement a similarity operator for symbolic trajectories. There are three dimensions of similarity in symbolic trajectories:​ temporal similarity, value similarity, and semantic similarity. Such an operator should be flexible to express arbitrary combinations of them. It should accept a pair of semantic trajectories and return a numerical value that can be used for clustering or ranking objects based on their similarity. Symbolic trajectories are similar to time series, except that labels are annotated by time intervals, rather than time points. We think that the techniques of time series similarity can be adopted for symbolic trajectories. This thesis should assess that, and implement a similarity measure based on time series similarity. The implementation is required to be done as an extension to PostGIS. We have already implemented some temporal types and operations on top of PostGIS, where you can start from.   
 + 
 +Here is a list of deliverables that should guide you working on this thesis. It is, however, fine to suggest modifications to this list during the work. 
 +  * Reporting on the state of art of semantic trajectory similarity measures. 
 +  * Reporting on the state of art in time series similarity measures. 
 +  * Assessing the application of time series similarity to symbolic trajectories. 
 +  * Implementing symbolic trajectories on top of PostGIS. 
 +  * Implementation and evaluating the proposed symbolic trajectory similarity operator. ​   
 + 
 +   * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
 
teaching/mfe/is.txt · Last modified: 2020/09/29 17:03 by mahmsakr