1. A method comprising: generating, by one or more processors, a natural language log describing an interaction between a user and a first application, where the user interacts with the first application utilizing a first interaction mode; analyzing, by one or more processors, the natural language log using natural language processing to determine first user data; and utilizing, by one or more processors, the first user data by a second application, where the user interacts with the second application utilizing a second interaction mode different from the first interaction mode, and where the second application does not receive the first user data from the user via the second interaction mode.