Complex Event Processing (CEP) has emerged as the unifying field for technologies that require processing and correlating heterogeneous distributed data sources in real-time. CEP finds applications in diverse domains, which has resulted in a large number of proposals for expressing and processing complex events. However, existing CEP frameworks are based on ad-hoc solutions that do not rely on solid theoretical ground, making them hard to understand, extend or generalize. Moreover, they are usually presented as application programming interfaces documented by examples, and using each of them requires learning a different set of skills. In this paper we embark on the task of giving a rigorous framework to CEP. As a starting point, we propose a formal language for specifying complex events, called CEPL, that contains the common features used in the literature and has a simple and denotational semantics. We also formalize the so-called selection strategies, which are the cornerstone of CEP and had only been presented as by-design extensions to existing frameworks. With a well-defined semantics at hand, we study how to efficiently evaluate CEPL for processing complex events. We provide optimization results based on rewriting formulas to a normal form that simplifies the evaluation of filters. Furthermore, we introduce a formal computational model for CEP based on transducers and symbolic automata, called match automata, that captures the regular core of CEPL, i.e. formulas with unary predicates. By using rewriting techniques and automata-based translations, we show that formulas in the regular core of CEPL can be evaluated using constant time per event followed by constant-delay enumeration of the output (under data complexity). By gathering these results together, we propose a framework for efficiently evaluating CEPL, establishing solid foundations for future CEP systems. Foundations of Complex Event Processing
Thorn collaborates with Amazon Rekognition to help fight child sexual abuse and trafficking
Thorn is a non-profit organization dedicated to stopping the spread of child sexual abuse material and standing up to child traffickers. Thorn’s tools have been used to identify 5,894 child sex trafficking victims and rescue 103 children where their sexual abuse was recorded and distributed. Using AWS services such as Amazon Rekognition, Thorn has seen a 65% reduction in investigation time, which means finding more victims at a faster pace.
Distilled News
T2F – Text-to-Face generation using Deep Learning
Don’t call it a bandit
Here’s why I don’t like the term “multi-armed bandit” to describe the exploration-exploitation tradeoff of inference and decision analysis.
On Using Hyperopt: Advanced Machine Learning
In Machine Learning one of the biggest problem faced by the practitioners in the process is choosing the correct set of hyper-parameters. And it takes a lot of time in tuning them accordingly, to stretch the accuracy numbers.
Whats new on arXiv
SlimNets: An Exploration of Deep Model Compression and Acceleration
Thorn partners with Amazon Rekognition to help fight child sexual abuse and trafficking
Thorn is a non-profit organization dedicated to stopping the spread of child sexual abuse material and standing up to child traffickers. In 2017, Thorn’s tools were used to identify 5,894 child sex trafficking victims and rescue 103 children where their sexual abuse was recorded and distributed. Using AWS services such as Amazon Rekognition, Thorn has seen a 65% reduction in investigation time, which means finding more victims at a faster pace.
Bring your own pre-trained MXNet or TensorFlow models into Amazon SageMaker
Not only does Amazon SageMaker provide easy scalability and distribution to train and host ML models, it is modularized so that the process of training a model is decoupled from deploying the model. This means that models that are trained outside of Amazon SageMaker can be brought into SageMaker only to be deployed. This is very useful if you have models that are already trained, and you want to use only the hosting part of SageMaker instead of the entire pipeline. This is also useful if you don’t train your own models, but you buy pre-trained models.
Video: How to run R and Python in SQL Server from a Jupyter notebook
Did you know that you can run R and Python code within a SQL Server instance? Not only does this give you a powerful server to process your data science calculations, but it makes things faster by eliminating the need to move data between client and server. Best of all, you can access this power via your favourite interface on your local machine, like the RStudio IDE for R or the VS Code Python extensions.
Artificial Intelligence in the Workplace
Necessity is the mother of invention. Ever since humankind has started creating new things, the focus of their creation is to help them with the task that they need to perform. From vehicles to electricity, humans have created new technology to find ways to make their lives and work easier. The use of machines in the workplace is nothing new; however, with the advancements in technology these machines that used to do simple tasks are now capable of so much more. The invention of robotics and artificial intelligence has elevated these machines to be able to learn and think for themselves.