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 [2016/03/16 10:27]
tcalders
teaching:mfe:is [2018/04/30 11:11]
svsummer [Co-locating Big Spatial Data Stored in HDFS]
Line 1: Line 1:
-====== MFE 2015-2016 : Web and Information Systems ======+====== MFE 2018-2019 : Web and Information Systems ======
  
 ===== Introduction ===== ===== Introduction =====
Line 18: Line 18:
 ===== Master Thesis in Collaboration with Euranova ===== ===== Master Thesis in Collaboration with Euranova =====
  
-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:​euranova_masterthesis_2017.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]]
  
 +===== Dynamic Query Processing on GPU Accelerators =====
  
-===== Graph Indexing for Fast Subgraph Isomorphism Testing =====+This master thesis is put forward in the context of the DFAQ Research Project: "​Dyanmic Processing of Frequently Asked Queries",​ funded by the Wiener-Anspach foundation.
  
-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 intractableIn ongoing research, to enable tractable processing ​of this problemwe aim to reduce the number of candidate graphs in D to which a subgraph isomorphism test needs   to be executed. Specificallywe 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.+Within this project, our lab is hence developing novel ways for processing "fast Big Data"i.e., processing of analytical queries where the underlying data is constantly being updatedThe analytics problems envisioned cover wide areas of computer science and include database aggregate queriesprobabilistic inferencematrix chain computation,​ and building statistical models.
  
-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.+The objective of this master thesis ​is to build upon the novel dynamic processing algorithms being developed in the lab, and complement these algorithms by proposing dynamic evaluation algorithms that execute on modern GPU architectures,​ thereby exploiting their massive parallel processing capabilities.
  
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+Since our current development is done in the Scala programming language, prospective students should either know Scala, or being willing to learn it within the context of the master thesis.
  
-**Status**: available 
  
 +**Validation of the approach** Validation of master thesis'​ work should be done on two levels:
 +  * a theoretical level; by proposing and discussing alternative ways to do incremental computation on GPU architectures,​ and comparing these from a theoretical complexity viewpoint
 +  * an experimental level; by proposing a benchmark collection of CEP queries that can be used to test the obtained versions of the interpreter/​compiler,​ and report on the experimentally observed performance on this benchmark.
  
-=====  Complex Event Processing for Security Analytics===== ​ 
  
-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 systemsfrom wireless sensor networks to financial tickers, from traffic management to click-stream inspection."+**Deliverables** ​of the master thesis project 
 +  * An overview of query processing ​on GPUs 
 +  * A definition of the analytics ​queries ​under consideration 
 +  * A description of different possible dynamic evaluation algorithms for the analytical queries on GPU architectures. 
 +  * A theoretical comparison of these possibilities 
 +  * The implementaiton ​of the evaluation algorithm(s) (as an interpreter/​compiler) 
 +  * A benchmark set of queries and associated data sets for the experimental validation 
 +  * An experimental validation of the compilerand analysis of the results.
  
-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 goal, these systems differ in a wide range of aspects, including architecture,​ data models, rule and pattern languages, and processing mechanisms. In 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. 
  
-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. ​  +**Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]]
-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.+
  
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] 
  
-**Status**: ​already taken.+**Status**: ​available
  
 +===== Multi-query Optimization in Spark =====
  
-===== Compiling SPARQL queries into machine code =====+Distributed computing platforms such as Hadoop and Spark focus on addressing the following challenges in large systems: (1) latency, (2) scalability,​ and (3) fault tolerance. Dedicating computing resources for each application executed by Spark can lead to a waste of resources. Unified distributed file systems such as Alluxio has provided a platform for computing results among simultaneously running applications. However, it is up to the developers to decide on what to share.
  
-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 resident. This implies ​that, in 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 plans, and can aid in minimzing memory traffic for boosting performance.+The objective of this master thesis is to optimize various applications running on a Spark platformoptimize their execution plans by autonomously finding sharing opportunities,​ namely finding ​the RDDs that can be shared among these applications, and computing these shared plans once instead ​of multiple times for each query.
  
-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).+**Deliverables** ​of the master thesis project 
 +  * An overview of the Apache Spark architecture. 
 +  * Develop a performance model for queries executed by Spark. 
 +  * An implementation that optimizes queries executed by Spark and identify sharing opportunities. 
 +  * An experimental validation of the developed system.
  
-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: +**Interested?​** Contact ​:  ​[[ielghand@ulb.ac.be.ac.be|Iman Elghandour]] or [[svsummer@ulb.ac.be|Stijn Vansummeren]]
-  ​Use of a high-level language to construct the compiler (Scala, http://​scala-lang.org/​) +
-  * Use of Lightweight Modular Staging (LMS for short) for 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.+
  
-Getting aquaintend with these technologies is part of the master thesis objective.+**Status**: available
  
-**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.+===== Accelerated Distributed Platform for Spatial Queries =====
  
-**Deliverables** of the master thesis project: ​  +It is now common ​to query terabytes ​of spatial data. Several new frameworks extend distributed computing platforms such as Hadoop ​and Spark to enable them to efficiently process spatial queries by providing ​(1mechanisms to efficiently store spatial ​data and index them ; and (2) packages ​of built in spatial operations for these platforms. Meanwhileit is now common to accelerate Hadoop and Spark using accelerators such as GPUs and FPGAs.
-  - An overview of the state of the art in query-to-machine-code compilation. +
-  - A description ​of lightweight 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 a reference compiler based on query plan interpretation.+
  
 +The objective of this master thesis is to build a framework that efficiently executes spatial queries on a Spark version that is enabled to run its tasks on GPUs.
  
-**Interested?** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+**Deliverables** of the master thesis project 
 +  * An overview of Spatial queries and frameworks for processing big spatial data. 
 +  * A study of best approaches to represent spatial data while it is queried by Spark and GPUs. 
 +  * An implementation of common spatial operations and computational geometry algorithm on GPUs and Spark. 
 +  * An experimental validation of the developed system.
  
-**Status**: available+**Interested?** Contact ​[[ielghand@ulb.ac.be.ac.be|Iman Elghandour]] or [[svsummer@ulb.ac.be|Stijn Vansummeren]]
  
-===== 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.+**Status**: available
  
-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 tasks. Finally, schemas are a prerequisite for unlocking huge amounts of tabular data to the Semantic Web.+===== Co-locating Big Spatial Data Stored in HDFS =====
  
-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.+Spatial databases employ spatial indexes to speedup ​the access ​of spatial ​data. New frameworks are introduced ​to build such indexes for Hadoop and Spark. However, there are not fully integrated on the file system level.
  
-The objective of this master thesis is to implement a recent proposal for such a schema language named SCULPT (http://​arxiv.org/​abs/​1411.2351). Concretely, ​this entails: +The objective of this master thesis is to build these indexes within the layer of HDFS and use this implementation to co-locate files that are typically accessed together ​by the spatial queries.
-  * 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 particular, extend 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)+
  
-\\ +**Deliverables** of the master thesis project 
-**Deliverables** of this master thesis project: +  ​* An overview ​of spatial queries and frameworks for processing big spatial data. 
-  ​- detailed description ​of the SCULPT proposal (document) +  ​* A study of different types of indexes how they can be built in HDFS, and how we can use the replicas of HDFS to store multiple types of indexes 
-  ​- overview ​of the state of the art; in particular other proposals for schema languages for tabular data (document) +  ​* An implementation of spatial indexes in HDFS. 
-  ​- concrete syntax for sculpt (design document + formal grammar) +  ​* An experimental validation ​of the developed system.
-  - implementation of SCULPT validation algorithms (software artifact) +
-  ​- extension ​of sculpt with features for converting into RDF (document + software)+
  
 +**Interested?​** * Contact : [[ielghand@ulb.ac.be.ac.be|Iman Elghandour]] or [[svsummer@ulb.ac.be|Stijn Vansummeren]]
  
-**Interested?​** Contact: [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] 
  
-**Status**: ​already taken+**Status**: ​available
  
-===== Engineering a runtime system ​and compiler for AQL =====+===== Complex Event Processing in Apache Spark and Apache Storm =====
  
-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 stepIE is a very important part of data analysis in the enterprise today.+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.
  
-In 2005researchers at the IBM Almaden Research Center developped ​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 performanceRecent 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 automataA 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 throughputOn the other handthe alternate system can sometimes have larger memory requirements than the cost-based optimizer backend.+Within this projectour 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 eventsRaw 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 eventsFor examplerepeated failed login attempts by X to Y should trigger a complex event "​password cracking warning"​ that refers to all failed login attempts.
  
-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: +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.
-  * A a high-level ​language ​to construct ​the compiler (Scala, http://scala-lang.org/) +
-  * Use of Lightweight 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.+
  
-Getting aquaintend with these technologies ​is part of the master thesis objective.+**Validation of the approach** Validation of the proposed interpreter/​compiler should be done on two levels: 
 +  * a 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.
  
-**Validation ​of the approach** The thesis should propose a 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 referencecost-based optimizer ​of SystemT.+**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 compilerand analysis ​of the results.
  
-**Deliverables** of the master thesis project: +**Interested?** 
-  ​- An overview of AQL, SystemT, and its cost-based optimizer and evaluation engine. (document) +  ​* Contact : //Stijn Vansummeren//​
-  - A description of how AQL can be evaluated by means of so-called vset finite state automata. (document) +
-  - A detailed desription of the state of the art in evaluating finite state automata. (document) +
-  - Identification of the AQL syntaxt that is to be supported. (specification) +
-  - The AQL compiler (software artifact) +
-  - 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.+
  
-\\ +**Status**: available
-**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|SystemT:​ A System for Declarative Information Extraction]]+
  
-\\ +===== Complex Event Processing ​in Apache Spark and Apache Storm =====
-**References about finite state automata evaluation**:​ +
-  * Regular expression pattern matching can be simple and fast. http://​swtch.com/​~rsc/​regexp/​regexp1.html +
-  * 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.]]+
  
-\\ +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.
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+
  
-\\ +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.
-**Status**: taken+
  
 +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 backends. Getting aquaintend with these technologies is part of the master thesis objective.
  
-===== Structural compression ​of relational databases =====+**Validation ​of the approach** Validation of the proposed interpreter/​compiler should be done on two levels: 
 +  * a 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.
  
-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.+**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 compilerand analysis of the results.
  
-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. +**Interested?** 
- +  * Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
-**Deliverables**: +
-  ​* Overview of the state of the art in main-memory,​ and distributed (bi)simulation-based compression algorithms (document) +
-  * Description of the simulation-based compression algorithm to implement (document) +
-  * Selection of the distribution framework (Actors, Pregel, ...) (document) +
-  * Simulation algorithm (software artifact) +
-  * Experimental analysis of distributed algorithm on a number of datasets. (document) +
- +
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+
  
 **Status**: available **Status**: available
  
-===== 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.+===== Graph Indexing for Fast Subgraph Isomorphism Testing =====
  
-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.)+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 graphin 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.
  
-**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, ...)+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.
  
- 
-**Deliverables**:​ 
-  * 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) 
- 
-\\ 
 **Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] **Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
 **Status**: available **Status**: available
  
-===== Design and Implementation of a Curriculum Revision Tool ===== 
  
-Stijn Vansummeren (WIT), Frédéric Robert (BEAMS)+=====Sentiment Analysis=====
  
-This master thesis project concerns 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:+The sentiment analysis task aims to detect subjective information polarity in the target text by applying Natural Language Processing (NLP), text analysis and computational linguistics techniques. With the emergence ​of web 2.0, it becomes easy for Internet users to post their opinionated comments and share their thoughts via social networks, forums and especially Twitter. With more resources and NLP tools becoming available and with the recent developed sentiment lexicons, sentiment analysis is having more attention from the research community. Nevertheless,​ Named Entities (NEs) effectiveness was not studied even though it is easily noticeable that social resources include many NEs. In ongoing research, we aim to investigate the effectiveness of Named Entities (person, location and organization entities) on sentiment analysis and dive beyond the Named Entities recognition to propose a framework of Named Entities polarity classification and process an empirical evaluation on their effectiveness on Sentiment classification.
  
-  * 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. +In this master thesis project, the student will empirically validate on real-world datasets ​the effectiveness ​of Named Entities ​(personlocation ​and organization entitieson sentiment analysis ​and run experiments ​on different languages ​(FrenchDutchEnglish ​and German).
-  * It should allow an extensible means to check the modified program for inconsistentcies. ​(For exampleif 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 exampleif a course is removed from the computer science curriculumit 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 tothe 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 developped in the context of a PROJH402 project. The MFE student that selects this topic is expected to: +**Interested?​** Contact : [[haddad.hatem@gmail.com|Hatem Haddad]]
-  * 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 (stijn.vansummeren@ulb.ac.be), Frédéric Robert <​frrobert@ulb.ac.be>​ +
- +
- +
-**Status?** Already taken+
  
 +**Status**: available
  
 =====Publishing and Using Spatio-temporal Data on the Semantic Web===== =====Publishing and Using Spatio-temporal Data on the Semantic Web=====
Line 235: Line 203:
  
    * 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. 
 +
    
 +**Deliverables** of the master thesis project
 +  * 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. ​  
 +
 +
 +**Interested?​**
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
 +
 +**Status**: available
 +
 
teaching/mfe/is.txt · Last modified: 2020/09/29 17:03 by mahmsakr