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 [2014/06/03 11:22]
svsummer
teaching:mfe:is [2015/09/14 13:41]
svsummer [Engineering a runtime system and compiler for AQL]
Line 1: Line 1:
-====== MFE 2014-2015 : Web and Information Systems ======+====== MFE 2015-2016 : 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]]
  
-===== Master Thesis in Collaboration with DPI 24/7 Media Publishing ===== 
  
-The goal of the thesis is to set up a Saas / Paas solution ​for the deployement of the dpi 24/7 media publishing distribution in a Heroku-like style.+===== Graph Indexing ​for Fast Subgraph Isomorphism Testing =====
  
-During ​this master thesis you will not only realize ​theoretical ​and technological analysis ​of the problem of such deployment but also implement a concrete solution for the dpi 24/7 distribution.+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 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 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.
  
-From a technical point of view you will +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.
-  * Develop a service using Docker and Dokku for the on-demand deployment of instances of the DPI 24/7 distribution (full stack architecture) +
-  * Realize performance tests of the developed service +
-  * Study the different options ​of the Paas mode (full stack or elastic deployment)+
  
-Second, you will analyze the different existing solutions for the orchestration of an elastic virtualization architecture.+**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
-Technology used by the DPI 24/7 distribution ​Linux, Varnish, NginX, Php-fpm, Mysql (in background Tomcat, SOLR).+**Status**available
  
-Virtualization technology : Container virtualization and deployment with Dokku 
  
-Virtualization architecture : Full-stack versus Elactic+=====  Complex Event Processing for Security Analytics===== ​
  
-Performance test of the architecture+As noted by [[http://​home.deib.polimi.it/​cugola/​Papers/​cep_survey.pdf|Cugola and Magara]], "an increasing number ​of distributed applications requires processing continuously flowing data ("​events"​) from geographically distributed sources at unpredictable rates to obtain timely responses to complex queries. Examples of such applications come from the most disparate fields: from fraud  detection to network intrusion detection systems, from wireless sensor networks to financial tickers, from traffic management to click-stream inspection."​
  
-Evaluation ​of orchestration container : SaltSerfFlynnFig...+These requirements have led to the development ​of a number of systems specifically designed to process information as a flow (or a set of flows) of continues data "​events"​ according to a set of pre-deployed processing rules. ​ Despite having a common goalthese systems differ in a wide range of aspectsincluding architecturedata models, rule and pattern languages, and processing mechanismsIn part, this is due to the fact that they were the result of the research efforts of different communities,​ each one bringing its own view of the problem and its background to the definition of a solution.
  
-Interested? DIP 27/7 Contact [[ddu@audaxis.com|Dimitri Dujardin]]Academic Supervisor [[svsummer@ulb.ac.be|Stijn Vansummeren]]+The master thesis is put forward in the context of the SPICES "​Scalable Processing and mIning of Complex Events for Security-analytics"​ research project, funded by Innoviris  
 +The objective of this master thesis is to survey the existing systems and compare the strengths and weaknesses when they are applied specifically to the context detecting security breaches (network intrusion, fraud detection, ​...), and help, as part of the research project, in the design & implementation of a new system that overcomes these weaknesses.
  
-===== Automatic detection of name variations ===== +**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-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 availableThis collection contains certificates for about 3 million people, from 1580 until 1955. This collection of paper documents has been indexed by volunteers. For 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:​+**Status**: already taken.
  
-^ Death certificate ^^ 
-|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:  +===== Compiling SPARQL queries into machine code =====
-  - 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 reported. Sometimes 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 namesusing statistical and data mining methods. Because of the large size of the database ​it is very likely that most name variations occur frequentlyIn a pilot studyit was shown that name variations could be detected ​by finding pairs of full names sharing most surnamesbut not allThe differences often were name variationsYour task will be to extend this approach to also include locationsand exploit additional background knowledge such asfor most birth certificates there is a matching death certificate,​ no one has more than one birth and death certificateetc +Due to the increasing availability ​of larger ​and larger cheap RAM memories, the working set of modern ​database ​management systems becomes more and more main memory residentThis implies thatin contrast to traditional database management systems, slow disk accesses are rare, and that hence, the in-memory processing speed of databases becomes an important factor. As recently observed ​by a number ​of researchers(e.g., [[http://​sites.computer.org/​debull/​A14mar/​p3.pdf|Neumann ​and Leis]])one very attractive approach for fast query processing in this context is the just-in-time compilation of incoming queries into machine code. This compilation avoids the overhead of the traditional interpretation of query plansand can aid in minimzing memory traffic for boosting performance.
-This project has a large research componentso your creative input will be required as well. For this project it is absolutely not necessary to speak or understand Dutch.+
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+A number of recent research prototypes exist that compile SQL queries into machine code in this sense: ​ HyPer A Hybrid OLTP&​OLAP High Performance DBMS (http://​hyper-db.de/) and Legobase (https://​github.com/​epfldata/​NewLegoBase and http://​data.epfl.ch/​legobase).
  
-===== Analyzing state-of-the-art technology ​for handwritten text recognition in practical case study ===== +The objective ​of this master thesis is to apply the same methodology to engineer a compiler that translates (fragments of) SPARQL (the standard query language ​for querying RDF data on the semantic web) into machine code. The overall methodology should follow the methodology used by HyPer and Legobase: 
-Toon Calders ​(WITand Olivier Debeir ​(LISA)+  * Use of high-level language to construct the compiler (Scala, http://​scala-lang.org/​) 
 +  * Use of Latent Modular Staging ​(LMS for shortfor generating low-level portable assembly code at runtime ​(http://​scala-lms.github.io/​) 
 +  * Use of LLVM (http://​llvm.org/​) as a portable assembly code and corresponding translator to machine code.
  
-The goal of this project ​is to study the applicability ​of current state-of-the-art text recognition tools in the following practical applicationConsider the following two exemplary documents:+Getting aquaintend with these technologies ​is part of the master thesis objective.
  
-[[https://​dl.dropbox.com/​u/​5119252/​MFE/​069-50-3165-1813-00009.jpg]] \\  +**Validation of the approach** The thesis should propose a benchmark collection of SPARQL queries that can be used to test the obtained SPARQL-to-machine-code compiler and compare its perforance against a reference, interpreter-based SPARQL compiler.
-[[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 ​datathe names of all people have been indexedusually the handwriting is consistent throughout ​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.+**Deliverables** ​of the master thesis project: ​  
 +  - An overview ​of the state of the art in query-to-machine-code compilation. 
 +  ​A description of latent modular staging and how it can be used to construct machine-code compilers. 
 +  - The SPARQL compiler ​(software artifact) 
 +  - A benchmark set of SPARQL queries ​and associated ​data sets for the experimental validation 
 +  - An experimental validation ​of the compilercomparing efficiency of compiled queries against ​reference compiler based on query plan interpretation.
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]] 
  
-===== Process Mining on Company Data for Detecting Security Breaches ===== +**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-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. +**Status**available
-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 workflow: the actor(s), the resources, and the activities. By modeling the normal behavior in the system we are able to detect deviating cases. Based on historical data, the goal is to build models of typical behavior, including the use of resources such as patient records. Such 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 Mining: Discovery, Conformance and Enhancement ​of Business Processes. Springer.+===== An implementation ​of the SCULPT schema language for tabular data on the Web =====
  
 +Despite the availability of numerous standardized formats for semi-structured and semantic web data such as XML, RDF, and JSON, a very large percentage of data and open data published on the web, remains tabular in nature. (Jeni Tennison, one of the two co-chairs of the W3C CSV on the Web working group claims that ``over 90% of the data published on data.gov.uk is tabular data''​.) Tabular data is most commonly published in the form of comma separated values (CSV) files because such files are open and therefore processable by numerous tools, and tailored for all sizes of files ranging from a number of KBs to several TBs. Despite these advantages, working with CSV files is often cumbersome because they are typically not accompanied by a //schema// that describes the file's structure (i.e., ``the second column is of integer datatype'',​ ``columns are delimited by tabs'',​ etc) and captures its intended meaning. Such a description is nevertheless vital for any user trying to interpret the file and execute queries or make changes to it.
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+In other data models, the presence of a schema is also important for query optimization (required for scalable query execution if the file is large), as well as other static analysis tasksFinally, schemas are a prerequisite for unlocking huge amounts of tabular data to the Semantic Web.
  
-===== Mining patterns ​for compression ===== +In recognition of this problem, the CSV on the Web Working Group of the World Wide Web Consortium argues ​for the introduction of a schema language for tabular data to ensure higher interoperability when working with datasets using the CSV or similar formats.
-Toon Calders (WIT)+
  
-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 dataset. The prototypical example is that of a 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 given thresholdOne of the major problems of pattern mining algorithmshowever, 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 problem, techniques 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 compressionFor a collection of patterns, the quality is measured as the description length of the patterns plus the size of the data compressed with these patternsFor instance, if the pattern {breadmilk, 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 dataSurprisinglyhowever, 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.  +The objective ​of this master thesis ​is to implement ​recent proposal ​for such schema language named SCULPT (http://​arxiv.org/​abs/​1411.2351). Concretelythis entails: 
-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?+  * proposing an elegant concrete syntax for SCULPT schemas 
 +  * implement both the in-memory ​and streaming validation algorithms of SCULPT ​proposed in http://​arxiv.org/​abs/​1411.2351 
 +  * extend ​the SCULPT proposal, by investigating how SCULPT can be combined with complementary features recently proposed by the W3C CSV on the Web Working group (http://www.w3.org/​2013/​csvw/​wiki/​Main_Page) 
 +  * and in particularextend sculpt with features that allow tabular files to be converted into RDF 
 +  * create associated tooling for SCULPT (i.e.parser ​and serializer generator, in the spirit of data description tools)
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+\\ 
 +**Deliverables** of this master thesis project: 
 +  - detailed description of the SCULPT proposal (document) 
 +  - overview of the state of the art; in particular other proposals for schema languages for tabular data (document) 
 +  - concrete syntax for sculpt (design document + formal grammar) 
 +  - implementation of SCULPT validation algorithms (software artifact) 
 +  - extension of sculpt with features for converting into RDF (document + software)
  
-===== Pattern Mining for Object Tracking ===== 
-Toon Calders (WIT) 
  
-Pattern mining techniques are more and more often used in computer vision +**Interested?​** Contact: [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-to obtain features that are more discriminative than those extracted +
-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**already taken
  
-Toon Calders, Elisa Fromont, Baptiste Jeudy and Hoang Thanh Lam. +===== Engineering a runtime system ​and compiler ​for AQL =====
-[[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]]+Automatically extracting structured information from text is a task that has been pursued for decades.Since most analytics over text involves information extraction as a first step, IE is a very important part of data analysis in the enterprise today.
  
 +In 2005, researchers at the IBM Almaden Research Center developped a new system specifically geared for practical information extraction in the enterprise. This effort lead to SystemT, a rule-based IE system with an SQL-like declarative language named AQL (Annotation Query Language). The declarative nature of AQL enables new kinds of tools for extractor development,​ and draws upon known techniques form query processing in relational database management systems to offer a cost-based optimizer that ensures high-througput performance. Recent research into the foundations of AQL (http://​researcher.watson.ibm.com/​researcher/​files/​us-fagin/​jacm15.pdf) has shown that, as an alternative,​ it is also possible to build a runtime system for AQL based on special kinds of finite state automata. A potential benefit of this alternate runtime system is that text files need only be processed once (instead of multiple times in the cost-based optimizer backend) and may hence provide greater throughput. On the other hand, the alternate system can sometimes have larger memory requirements than the cost-based optimizer backend.
  
-===== Design ​and Implementation ​of a Curriculum Revision Tool ======+The objective of this master thesis is to design ​and engineer a runtime system and compiler for (a fragment) ​of AQL based on finite state automata. Ideally, to obtain the best performance,​ these automata should be compiled into machine-code when executed. For this compilation,​ the following technologies should be used: 
 +  * A high-level language to construct the compiler (Scala, http://​scala-lang.org/​) 
 +  * Use of Latent Modular Staging (LMS for short) for generating low-level portable assembly from the automata at runtime (http://​scala-lms.github.io/​) 
 +  * Use of LLVM (http://​llvm.org/​) as a portable assembly code and corresponding translator to machine code.
  
-Stijn Vansummeren (WIT), Frédéric Robert (BEAMS)+Getting aquaintend with these technologies is part of the master thesis objective.
  
-This MFE concers the analysis, design, and implementation ​of a +**Validation ​of the approach** The thesis should propose ​benchmark collection of AQL queries and associated input text files that can be used to test the obtained automaton-based AQL compiler and compare its performance against the reference, cost-based optimizer ​of SystemT.
-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 +**Deliverables** ​of the master thesis project
-follows+  ​- An overview ​of AQL, SystemT, and its cost-based optimizer and evaluation engine(document) 
-  ​* It should allow to make different versions ​of the teaching programsmuch 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+  ​- A description of how AQL can be evaluated by means of so-called vset finite state automata. (document) 
-  ​* 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. ) +  - A detailed desription of the state of the art in evaluating finite state automata(document
-  ​* 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.) +  ​- Identification of the AQL syntaxt ​that is to be supported(specification
-  ​* It should load data from (and preferably, save data to) the ULB central administration database. ​ +  ​- The AQL compiler ​(software artifact) 
-  ​* It should give suggestions concerning ​the impact ​of the modifications on the course schedules.+  - A benchmark set of AQL queries ​and associated ​data sets for the experimental validation 
 +  ​- An experimental validation of the compiler, comparing efficiency ​of compiled queries against ​the cost-based reference compiler.
  
-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 projectThe MFE student that selects this topic is expected to:+\\ 
 +**References about SystemT**:​ 
 +  * [[http://​almaden.ibm.com/​cs/​projects/​avatar/​icde2008.pdf|An Algebraic Approach to Rule-Based Information Extraction]]  
 +  * [[http://​www.sigmod.org/​publications/​sigmod-record/​0812/​p007.special.krishnamurthy.pdf|SystemTA System for Declarative Information Extraction]]
  
-  ​Develop this prototype to a production-ready implementation+\\ 
-  * Implement ​the communication with the central ULB database+**References about finite state automata evaluation**:​ 
-  * Implement ​the impact analysis concerning the course schedules+  * Regular expression pattern matching can be simple and fasthttp://​swtch.com/​~rsc/​regexp/​regexp1.html 
-  * Interact with the administration of the Ecole Polytechnique to fine-tune the above requirements;​ test the implementation; ​and integrate remarks after testing+  * Regular Expression Matching: ​the Virtual Machine Approach http://​swtch.com/​~rsc/​regexp/​regexp2.html 
 +  * Regular Expression Matching in the Wild http://​swtch.com/​~rsc/​regexp/​regexp3.html 
 +  * [[http://​www.diku.dk/​kmc/​documents/​AiPL-CrashCourse.pdf|A Crash-Course in Regular Expression Parsing ​and Regular Expressions as Types.]]
  
-Contact : Stijn Vansummeren <stijn.vansummeren@ulb.ac.be>, Frédéric Robert <​frrobert@ulb.ac.be>​+\\ 
 +**Interested?​** ​Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
-===== Design and Development of a Comprehensive DICOM validation application===== ​+\\ 
 +**Status**: taken
  
-Using the new XML machine-readable format of the DICOM standard (in the form of docbook documents), the architecture of software tools and services for the automatic extraction and utilization of the full content of the DICOM standard will be defined and the corresponding software solutions will be developed. A comprehensive DICOM validation application will also be developed as a pilot project using the previously created DICOM standard digital services. 
  
-References: <​http://​dicom.nema.org/;​ http://​www.oasis-open.org/​docbook/>​ +===== Structural compression of relational databases =====
-Requirements:​ XML, XSL, database, Java or Python or C++.+
  
-Contacts : Arnaud Schenkel <​arnaud.schenkel@ulb.ac.be>,​ David Wikler <​david.wikler@ulb.ac.be>,​ Stijn Vansummeren <​stijn.vansummeren@ulb.ac.be>​ +Recent research in database management systems at ULB has shown how to theoretically construct succinct (compressed) representations for relational ​databases ​and semantic web databases. The advantage of these succinct representations is that they allow querying directly **on the succinct representation**,​ without needing to consult the underlying database.
-===== Structural compression of relational and semantic web databases ​=====+
  
-Stijn Vansummeren (WIT)+The goal of this thesis is to study scalable algorithms for constructing the actual succinct representations. Some in-memory algorithms are already known, but given the large size of typical database, distributed and out-of-core alternatives need to be found.
  
-Recent research in database management systems at ULB has shown how to +**Deliverables**:​ 
-theoretically construct succinct ​(compressedrepresentations for +  * Overview of the state of the art in main-memory,​ and distributed ​(bi)simulation-based compression algorithms (document
-relational databases and semantic web databases. The advantage ​of +  * Description ​of the simulation-based compression algorithm to implement (document) 
-these succinct representations is that they allow querying directly +  Selection of the distribution framework (ActorsPregel, ...) (document) 
-*on the succinct representation*without needing to consult the +  * Simulation algorithm (software artifact) 
-underlying database.+  * Experimental analysis of distributed algorithm on a number of datasets(document)
  
-The goal of this thesis is to study scalable algorithms for +**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-constructing the actual succinct representationsSome in-memory +
-algorithms are already known, but given the large size of typical +
-database, distributed and out-of-memory alternatives need to be found.+
  
 +**Status**: available
  
-  * Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] ​  +===== A Scala-based runtime and compiler for Distributed Datalog =====
  
 +Datalog is a fundamental query language in datamanagement based on logic programming. It essentially extends select-from-where SQL queries with recursion. There 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 web. The 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.
  
-===== A contribution to Apache DRILL =====+The system should incorporate recently proposed worst-case join algorithms (i.e., the [[http://​arxiv.org/​abs/​1210.0481|leapfrog trie join]]) and employ known local datalog optimizations (such as magic sets and QSQ.)
  
-Google'​s research lab has produced a remarkable number ​of software +**Validation ​of the approach** The thesis should propose a 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, ...)
-systems for the analytics of Big Data: +
-  ​[[|Map/​Reduce]] for offline, batch-oriented data analysis over arbitrary datasets +
-  ​[[http://​googleresearch.blogspot.be/​2009/​06/​large-scale-graph-computing-at-google.html|Pregel]] for offline analysis over graph-structured datasets +
-  * [[http://​research.google.com/​pubs/​pub36632.html|Dremel]] for on-line analysis over structured datasets+
  
-For Map/Reduce and Pregel, the Apache Software foundation has 
-previously constructed open source implementations ([[http://​hadoop.apache.org/​|Hadoop]],​ 
-[[https://​giraph.apache.org/​|Giraph]]). For Dremel, a project is 
-currently underway to provide an Open Source implementation (known as 
-[[http://​incubator.apache.org/​drill/​index.html|Apache Drill]]). 
  
-The goal of this thesis is to (1) study the current architecture ​of Apache +**Deliverables**:​ 
-Drill, ​(2compare this with the state of the art in query processing +  * Semantics ​of datalog; overview ​of known optimization strategies ​(document) 
-for structured datasets; ​(3contribute to the development of the +  * Description ​of the leapfrog trie join (document) 
-Drill implementation.+  * Datalog system ​(software artifact
 +  * Experimental analysis of developped system on a number of use cases (document)
  
-Students interested in this MFE are highly advised to follow the +\\ 
-course {{http://cs.ulb.ac.be/​public/​teaching/​infoh417|INFOH417 +**Interested?​** Contact ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-Database Systems Architecture}} for a background on query processing +
-in traditional database management systems.+
  
-  ​Contact ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] ​   +**Status**available
-===== Aspects of Text Analytics and Information Extraction =====+
  
-Automatically extracting structured information from text is a task that has been pursued for decades. As a discipline, //​Information Extraction//​ (IE) had its start with the [[http://​acl.ldc.upenn.edu/​C/​C96/​C96-1079.pdf|DARPA Message Understanding Conference in 1987]]. ​ While early work in the area focused largely on military applications,​ recent changes have made information extraction increasingly important to an increasingly broad audience. ​ Trends such as the rise of social media have produced huge amounts of text data, while analytics platforms like Hadoop have at the same time made the analysis of this data more accessible to broad range of users. ​ Since most analytics over text involves information extraction as a first step, IE is a very important part of +===== Design and Implementation ​of a Curriculum Revision Tool =====
-data analysis in the enterprise today.+
  
-Broadly speakingthere are two main schools of thought on the realization of IE: the //​statistical// ​(machine-learningmethodology and the  //​rule-based//​ approach. ​ The first started with simple models, then progressed to approaches based onprobabilistic graph models. Within the rule-based approach, most of the solutions build upon [[https://​www.google.be/​url?​sa=t&​rct=j&​q=&​esrc=s&​source=web&​cd=2&​cad=rja&​ved=0CEEQFjAB&​url=http%3A%2F%2Fwww.dfki.de%2F~neumann%2Fesslli04%2Freader%2Foverview%2FIJCAI99.pdf&​ei=1yZIUdSZPMWHPa2rgagP&​usg=AFQjCNFA6QYIt4yNR0oZRL4yjd--kev37A&​sig2=nEILF_cNDk4JWiVDS5BXvg&​bvm=bv.43828540,​d.ZWU|cascaded finite-state ​ transducers]]. ​ Most systems in both categories were built for academic settings, where most users are highly-trained computational linguists, where workloads cover only a small number of very well-defined tasks and data sets, and where extraction throughput is far less important than the accuracy of results.+Stijn Vansummeren (WIT)Frédéric Robert ​(BEAMS)
  
-In practicethese existing tools suffer from a number of practical problems. For exampleusers need to have an intuitive understanding ​of machine learning or the ability to build and understand complex and highly interdependent rules. Determining why an extractor produced a given incorrect result +This master thesis project concerns the analysisdesignand implementation ​of a software system that can assist in the revision ​of teaching curricula (also known as teaching programs).
-is hence often deemed extremely difficult, which makes reuse of extractors across different data sets and applications impractical. ​ And extremely +
-high CPU and memory requirements made extractors cost-prohibitive to deploy over large-scale data sets.+
  
-In 2005, researchers at the IBM Almaden Research Center started work on a new system ​specifically geared for practical information extraction in the enterprise. ​ This effort lead to [[https://​www.google.be/​url?​sa=t&​rct=j&​q=&​esrc=s&​source=web&​cd=2&​cad=rja&​ved=0CEYQFjAB&​url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.179.356%26rep%3Drep1%26type%3Dpdf&​ei=gyhIUe-XPIexPJ-fgLAG&​usg=AFQjCNHgkbcREbd6bCA26BVf0FuIZ9n7Sg&​sig2=LVQkus_67uSVlwK34BXZ8w&​bvm=bv.43828540,​d.ZWU|SystemT]] , a rule-based IE system with an SQL-like declarative language named [[http://​pic.dhe.ibm.com/​infocenter/​bigins/​v2r0/​topic/​com.ibm.swg.im.infosphere.biginsights.analyze.doc/​doc/​aql_overview.html|AQL (Annotation Query Language)]]. +The primary targetted functionalities of the software ​system ​are as follows:
-The declarative nature of AQL enables new kinds of tools for extractor +
-development,​ and a cost-based optimizer for +
-performance.  ​+
  
-The goal of this thesis is to study and compare both the +  * 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. 
-traditional methods towards information extraction ​and the new +  * 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. ) 
-AQL-based method ​proposed ​by SystemTbased on experimental +  * It should allow to analyze the modifications ​proposed ​in the teaching programsand 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.
-evaluation of information extraction problems on the +  * It should load data from (and preferablysave data to) the ULB central administration database. 
-WebAdditional possible topics of study include the (1+  * It should give suggestions concerning ​the impact ​of the modifications on the course schedules.
-implementation ​and optimization aspects of AQL(2) the extension +
-of AQL with probablistic methods, or (3) the inference ​of AQL +
-rules from examples.+
  
 +A proof-of-concept implementation of a revision tool that supports the first two requirements above is currently being developped 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
  
-Interested? Contact ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+\\ 
 +**Interested?** Contact ​: Stijn Vansummeren (stijn.vansummeren@ulb.ac.be), Frédéric Robert <​frrobert@ulb.ac.be>​
  
-===== Models for programming Data Management in the Cloud ===== 
  
-Many say that "The Cloud" is the next computing platform on the +**Status?** Already taken
-Web. Unfortunately,​ "the cloud" has become a marketing buzzword with +
-many different services offered, from the rental of virtual machines, +
-to the rental of storage space, to specific compute platforms +
-(e.g. MapReduce) that offer transparent parallelization.+
  
-In this thesis, we are interested in the cloud from the point of view 
-of data management. There is a recent trend in data management 
-research to use logic programming rule-based languages to specify 
-distributed applications,​ most notably on the web, as well as 
-inference in the semantic web (see below for a list of 
-references). The goal of this thesis is to study, compare, and where 
-possible extend the current (logic-programming based) proposals for 
-managing data in the cloud. 
  
-  * References: +===== Semi-Supervised Entity Resolution ===== 
-       * http://​boom.cs.berkeley.edu/​ +Toon Calders (WIT)
-       * http://​p2.cs.berkeley.edu/​index.php +
-       * http://​www.comlab.ox.ac.uk/​files/​3608/​RR-10-21.pdf+
  
 +In the big data era large collections of data have become available for analysis. These data, however, often come from different data sources and may contain errors. Consider for instance a company that wants to combine data from marketing and sales in order to see to what extent the targeted marketing campaign has been successful in attracting new customers. A key operation in this analysis is the identification of which records from marketing and sales refer to the same person. In this way it can be determined which targeted potential customers were already clients, and of the contacted non-clients,​ which ones reacted to the marketing campaign. Furthermore,​ most likely the records of marketing are far less reliable and formatted differently than those of sales. For instance, the marketing records won't usually contain a client number. The process of linking these sources together and identifying which records refer to the same person is know as entity resolution. Most existing approaches for entity resolution use either a fixed set of pre-determined rules, which may be sub-optimal for the problem at hand, or are based on learning classifiers which requires large amounts of labelled data.
 +
 +In this thesis you will study the possibility of entity-resolution in the absence of large collections of labelled data, by exploiting redundancies in the features with which records can be compared in combination with an active learning approach in which volunteers can be asked to label some examples on the fly.
 \\ \\
-  ​* Contact ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]   +**Interested?​** Contact [[toon.calders@ulb.ac.be|Toon Calders]]
-  * Status: **already taken**+
  
-===== Distributed Structural Indexes for RDF Data ===== 
  
-In an effort to enable people to share information in a +===== Using Non-Redundant Sequential Pattern Mining ​for Process Discovery ===== 
-structured form on the Web as easily as they can share unstructured +Toon Calders ​(WIT)
-HTML documents today, the World Wide Web Consortium (W3C for short) is +
-calling for the creation of a Web of Linked Data. In the same way as +
-one uses HTML and hyperlinks to publish and connect information on the +
-Web of Documents, one uses the RDF data model and RDF links to publish +
-and connect structured information on the Web of Linked Data. The +
-advantage of RDF over HTML lies in its simplicity: all information is +
-represented uniformly as triples of the form (subject, predicate,​ +
-object). This allows one to represent both facts about entities (e.g., +
-(Tim Berners-Lee,​ age, 54)) and links between entities (e.g. (Tim +
-Berners-Lee,​ author of, http://​...)) ​ in an easily +
-machine-interpretable manner. This is much more difficult with HTML +
-where there is little or no constraint on the way information is +
-represented.+
  
-Linked Data has the potential to turn the Web into one huge database +Process mining is the act of deriving a process model, such as for instance a Petri-net or a BPMN model, based on an event log. An example of such a log could be all events that an insurance company undertakes for pricing a car insurance based on a request from a client. Events could be looking up if the client ​has been blacklisted,​ his or her history w.r.t. car accidents, estimating ​the risk based on car type, age and gender of the requester, making a proposal, soliciting ​the agreement of the client, in case of disagreement,​ contacting a manager to approve a special offer, etc. Based on several traces for different clients may allow the automatic reconstruction ​of a process model. There exist several approaches for process mining, including footprint based algorithms such as Alpha, Alpha+, heuristic algorithms including heuristics miner, genetic algorithms, region based methods, etc. The goal of this thesis is to explore the possibility of using current state-of-the-art data mining algorithms for sequence and episode mining as a basis of a new and improved version of the alpha-algorithm.
-with structured querying capabilities that vastly exceed ​the limited +
-keyword search queries so common ​on the Web of Documents today.+
  
-As a key component of efficient query answering in Linked Data Management systemsmuch research is focused on devising high-performance native RDF indexing data structuresOne class of such indexes, called structural indexes, seem very promising in this respectCurrently however, structural indexes for RDF are difficult to distribute accross the webGiven the importance of distribution in web-scale datathe goal of this thesis is to investigate how structural RDF indexes can be used in a distributed query answering platform.+Van der AalstWM(2011)Process Mining: DiscoveryConformance and Enhancement ​of Business Processes. Springer.
  
  
-  * Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+Interested? ​Contact ​[[toon.calders@ulb.ac.be|Toon Calders]] 
 + 
 +===== Mining patterns for compression ===== 
 +Toon Calders (WIT) 
 + 
 +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 a 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 problem, techniques 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 patterns, the quality is measured as the description length of the patterns plus the size of the data compressed with these patterns. For 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 data. Surprisingly,​ 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.  
 +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 (2) Can we extract useful patterns from existing compression algorithms?​ 
 + 
 +Interested? Contact ​[[toon.calders@ulb.ac.be|Toon Calders]]
  
-                                                                    
  
  
 
teaching/mfe/is.txt · Last modified: 2020/09/29 17:03 by mahmsakr