A Recommendation System for Trigger-Action Programming Rules via Graph Contrastive Learning.

Sensors (Basel)

College of Computer Science and Technology, Changchun University, Changchun 130022, China.

Published: September 2024

Trigger-action programming (TAP) enables users to automate Internet of Things (IoT) devices by creating rules such as "IF Device1.TriggerState is triggered, THEN Device2.ActionState is executed". As the number of IoT devices grows, the combination space between the functions provided by devices expands, making manual rule creation time-consuming for end-users. Existing TAP recommendation systems enhance the efficiency of rule discovery but face two primary issues: they ignore the association of rules between users and fail to model collaborative information among users. To address these issues, this article proposes a graph contrastive learning-based recommendation system for TAP rules, named GCL4TAP. In GCL4TAP, we first devise a data partitioning method called DATA2DIV, which establishes cross-user rule relationships and is represented by a user-rule bipartite graph. Then, we design a user-user graph to model the similarities among users based on the categories and quantities of devices that they own. Finally, these graphs are converted into low-dimensional vector representations of users and rules using graph contrastive learning techniques. Extensive experiments conducted on a real-world smart home dataset demonstrate the superior performance of GCL4TAP compared to other state-of-the-art methods.

Download full-text PDF

Source
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC11435971PMC
http://dx.doi.org/10.3390/s24186151DOI Listing

Publication Analysis

Top Keywords

graph contrastive
12
recommendation system
8
trigger-action programming
8
rules graph
8
contrastive learning
8
iot devices
8
rules
5
graph
5
users
5
system trigger-action
4

Similar Publications

Want AI Summaries of new PubMed Abstracts delivered to your In-box?

Enter search terms and have AI summaries delivered each week - change queries or unsubscribe any time!