An electronic device comprising: a housing; a microphone; at least one speaker; a communication circuit disposed inside the housing; a processor disposed inside the housing and operatively connected with the microphone, the speaker, and the communication circuit; and a memory disposed inside the housing, operatively connected to the processor, and configured to store a plurality of application programs, wherein the memory stores instructions that, when executed by the processor, cause the electronic device to: collect voice data of a user based on a specified condition prior to receiving a wake-up utterance invoking a voice-based intelligent assistant service; transmit the collected voice data to an external server and request the external server to construct a prediction database configured to predict an intention of the user; and output, after receiving the wake-up utterance, a recommendation service related to the intention of the user based on at least one piece of information included in the prediction database, wherein the instructions, when executed, cause the processor to: determine, after receiving the wake-up utterance, a weight for at least one of a type of wake-up utterance, a point in time at which the wake-up utterance is input, and a user having produced the wake-up utterance; wherein determining a weight for a point in time at which the wake-up utterance is input comprises: calculating, based on receiving the wake-up utterance, a time difference between a first time point at which collection of voice data is started and a second time point at which the wake-up utterance is received; and determining a weight for selecting the recommendation service based on a magnitude of the difference. a housing; a microphone; at least one speaker; a communication circuit disposed inside the housing; a processor disposed inside the housing and operatively connected with the microphone, the speaker, and the communication circuit; and a memory disposed inside the housing, operatively connected to the processor, and configured to store a plurality of application programs, wherein the memory stores instructions that, when executed by the processor, cause the electronic device to: collect voice data of a user based on a specified condition prior to receiving a wake-up utterance invoking a voice-based intelligent assistant service; transmit the collected voice data to an external server and request the external server to construct a prediction database configured to predict an intention of the user; and output, after receiving the wake-up utterance, a recommendation service related to the intention of the user based on at least one piece of information included in the prediction database, wherein the instructions, when executed, cause the processor to: determine, after receiving the wake-up utterance, a weight for at least one of a type of wake-up utterance, a point in time at which the wake-up utterance is input, and a user having produced the wake-up utterance; wherein determining a weight for a point in time at which the wake-up utterance is input comprises: calculating, based on receiving the wake-up utterance, a time difference between a first time point at which collection of voice data is started and a second time point at which the wake-up utterance is received; and determining a weight for selecting the recommendation service based on a magnitude of the difference. collect voice data of a user based on a specified condition prior to receiving a wake-up utterance invoking a voice-based intelligent assistant service; transmit the collected voice data to an external server and request the external server to construct a prediction database configured to predict an intention of the user; and output, after receiving the wake-up utterance, a recommendation service related to the intention of the user based on at least one piece of information included in the prediction database, wherein the instructions, when executed, cause the processor to: determine, after receiving the wake-up utterance, a weight for at least one of a type of wake-up utterance, a point in time at which the wake-up utterance is input, and a user having produced the wake-up utterance; wherein determining a weight for a point in time at which the wake-up utterance is input comprises: calculating, based on receiving the wake-up utterance, a time difference between a first time point at which collection of voice data is started and a second time point at which the wake-up utterance is received; and determining a weight for selecting the recommendation service based on a magnitude of the difference. determine, after receiving the wake-up utterance, a weight for at least one of a type of wake-up utterance, a point in time at which the wake-up utterance is input, and a user having produced the wake-up utterance; wherein determining a weight for a point in time at which the wake-up utterance is input comprises: calculating, based on receiving the wake-up utterance, a time difference between a first time point at which collection of voice data is started and a second time point at which the wake-up utterance is received; and determining a weight for selecting the recommendation service based on a magnitude of the difference. calculating, based on receiving the wake-up utterance, a time difference between a first time point at which collection of voice data is started and a second time point at which the wake-up utterance is received; and determining a weight for selecting the recommendation service based on a magnitude of the difference.