The disclosure provides for associating users with roles in projects. Implementations include determining entity features of project entities. The project entities are grouped into projects based on similarities of the entity features between the project entities. From content of the project entities of a project of the projects, occurrences of events with respect to users are determined, where each event corresponds to one or more predefined user activities. The occurrences of the events are analyzed to determine, for each user of a plurality of the users, an engagement level of the user with the project. A role for the project is assigned to the user from predefined roles based on applying a role feature corresponding to the engagement level of the user to a machine learning model that represents the role, and an assignment of the user to the role is incorporated into a project repository.
展开▼