Patent attributes
A computer-implemented method comprising: outputting questions to a user via one or more user devices, and receiving back responses to some of the questions from the user via one or more user devices; over time, controlling the outputting of the questions so as to output the questions under circumstances of different values for each of one or more items of metadata, wherein the one or more items of metadata comprise at least a time and/or a location at which a question was output to the user via the one or more user devices; monitoring whether or not the user responds when the question is output with the different metadata values; training the machine learning algorithm to learn a value of each of the items of metadata which optimizes a reward function, and based thereon selecting a time and/or location at which to output subsequent questions.