Learning to Recommend Trigger-Action Rules for End-User Development
Lecture Notes in Computer ScienceReuse in Emerging Software Engineering Practices(2020)
Abstract
Trigger-action programming (TAP) is a popular programming paradigm in the IoT world. It allows non-professional end users to program by themselves, in a form of a set of trigger-action rules, for automating IoT devices and online services meeting their needs. Since the number of smart devices/services keeps increasing and the combinations between triggers and actions become numerous, it is challenging for novice users to present their demands through TAP. On the other hand, a number of TAP rules do exist in TAP communities; it is promising to collect these rules and recommend appropriate ones to end users during their development. This paper conducts a preliminary empirical study, revealing three problems in recommending TAP rules, i.e., the cold-start problem, the repeat-consumption problem, and the conflict problem. To solve these problems, we propose rtar, a semantic-aware approach to recommending trigger-action rules: (1) it designs a trigger-action knowledge graph (TaKG) for modeling the relationships among IoT devices/ services, triggers, and actions; and (2) it learns to recommend trigger-action rules by extracting features from TaKG and training a ranking model. We evaluate rtar against RecRules (a state-of-the-art approach) on real user data collected from IFTTT, one of the largest TAP communities. The results clearly show the strengths of rtar. In particular, rtar outperforms RecRules by 26% in R@5 and 21% in NDCG@5, indicating that rtar is of higher precision than RecRules in rule recommendations.
MoreTranslated text
Key words
rules,development,learning,trigger-action,end-user
AI Read Science
Must-Reading Tree
Example
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined