Discovering Trigger-Action Rules

We also explored how to use the EUPont model to help users discover proper "low-level" triggers, actions, and rules without requiring any radical change in the adopted representation model. To overcome the information overload issue that characterize contemporary platforms like IFTTT and Zapier, in particular, we explored different approaches and techniques, ranging from optimisation methods and recommendation algorithms to conversational methods. The following are the main outcomes of such an exploration.

EUDoptimizer is an optimization tool that dynamically redesign layouts in trigger-action programming interfaces in an interactive way, i.e., by considering the choices made by end users during the rule definition process. The aim is to promote the discovery of the "right" connected entity to be used for defining the trigger or the action, according to the current user need.
RecRules is a hybrid and semantic recommendation system of IF-THEN rules. Its aim is to allow users to discover new rules on the basis of the underlying functionality, rather than the involved brands or manufacturers. A rule for turning on a Philips Hue lamp, for example, is functionally similar to a rule for opening the Hunter Douglas blinds, because they share a common final goal, i.e., to light up a place.

The RecRules algorithm is hosted on this repository.
TAPrec is an End-User Development platform that supports the composition of trigger-action rules with dynamic recommendations. By exploiting RecRules, TAPrec suggests, at composition time, either a) new rules to be used or b) actions for autocompleting a rule. Recommendations, in particular, are computed to follow the user’s high-level intention, i.e., by focusing on the rules’ final purpose rather than on low-level details like manufacturers and brands.

HeyTAP is a conversational and semantic-powered triggeraction programming platform able to map abstract users’ needs to executable IF-THEN rules. By interacting with a conversational agent, the user communicates her personalization intentions and preferences. User’s inputs, along with contextual and semantic information related to the available connected entities, are then used to recommend a set of IF-THEN rules that satisfies the user’s needs.

HeyTAP2 is a semantic Conversational Search and Recommendation (CSR) system that extends HeyTAP by applying a smarter recommendation algorithm and a navigation-by-preference approach. By exploiting a conversational agent, the user can communicate her current personalization intention by specifying a set of functionality at a high level, e.g., to decrease the temperature of a room when she left it. Stemming from this input, HeyTAP2 implements a semantic recommendation process that takes into account a) the current user’s intention, b) the connected entities owned by the user, and c) the user's long-term preferences revealed by her profile. If not satisfied with the suggestions, the user can converse with the system to provide further feedback, i.e., a short-term preference, thus allowing HeyTAP2 to provide refined recommendations that better align with the her original intention.

The HeyTAP2 algorithm is hosted in this repository. HeyTAP2 was presented at SIGIR 2022:


  • From Users’ Intentions to IF-THEN Rules in the Internet of Things, Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello, ACM Transactions on Information Systems (TOIS) [pdf]
  • HeyTAP: Bridging the Gaps Between Users’ Needs and Technology in IF-THEN Rules via Conversation, Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello, Proceedings of the International Conference on Advanced Visual Interfaces (AVI ‘20) [pdf]
  • TAPrec: Supporting the Composition of Trigger-Action Rules Through Dynamic Recommendations, Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello, Proceedings of the 25th International Conference on Intelligent User Interfaces (IUI ‘20) [pdf]
  • RecRules: Recommending IF-THEN Rules for End-User Development, Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello, ACM Transactions on Intelligent Systems and Technology (TIST) [pdf]
  • EUDoptimizer: Assisting End Users in Composing IF-THEN Rules Through Optimization, Fulvio Corno, Luigi De Russis, and Alberto Monge Roffarello, IEEE Access [pdf]