CN109670111B - Method and device for pushing information - Google Patents

Method and device for pushing information Download PDF

Info

Publication number
CN109670111B
CN109670111B CN201811562666.0A CN201811562666A CN109670111B CN 109670111 B CN109670111 B CN 109670111B CN 201811562666 A CN201811562666 A CN 201811562666A CN 109670111 B CN109670111 B CN 109670111B
Authority
CN
China
Prior art keywords
information
voice data
preset
category
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811562666.0A
Other languages
Chinese (zh)
Other versions
CN109670111A (en
Inventor
佘恒
汪洋
郭一诺
张会茹
李亦锬
李磊
李航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Douyin Vision Beijing Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201811562666.0A priority Critical patent/CN109670111B/en
Publication of CN109670111A publication Critical patent/CN109670111A/en
Application granted granted Critical
Publication of CN109670111B publication Critical patent/CN109670111B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

The embodiment of the application discloses a method and a device for pushing information. One embodiment of the method comprises: receiving voice data which is sent by a client and used for requesting to push information; inputting the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information is used for representing a preset category to which push information requested by the voice data belongs; determining information to be pushed according to the classification result information; and pushing information to be pushed to the client. The implementation mode provides an interactive mode of voice trigger information pushing for a user, and achieves more refined information pushing.

Description

Method and device for pushing information
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a method and a device for pushing information.
Background
With the rapid development and popularization of the mobile internet, a great number of client applications are emerging. More and more client applications provide a wide variety of functionality to users, and users are using various client applications for longer and longer periods of time each day.
At present, a content application is a common client application with high user activity. The content class application can push various types of information to the user, and the user can quickly browse a large amount of information. For example, short video type applications, music type applications, news type applications, picture sharing type applications, and the like.
There are generally two ways in which content-class applications push information to users. One is that the server applied by the content class actively pushes the relevant information to the user according to the historical behavior data of the user. The other is that the server receives an information push request triggered by the user through interactive operation (such as sliding a screen up and down, sliding the screen left and right, clicking a refresh button, and the like) at the client, and returns related information to the client according to the received information push request.
Disclosure of Invention
The embodiment of the application provides a method and a device for pushing information.
In a first aspect, an embodiment of the present application provides a method for pushing information, where the method includes: receiving voice data which is sent by a client and used for requesting to push information; inputting the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information is used for representing a preset category to which push information requested by the voice data belongs; determining information to be pushed according to the classification result information; and pushing information to be pushed to the client.
In some embodiments, the classification model includes a text determination model and a text classification model; and inputting the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information comprises: inputting the voice data into a text determination model to obtain text data corresponding to the voice data; and inputting the text data into a text classification model to obtain classification result information.
In some embodiments, determining information to be pushed according to the classification result information includes: in response to determining that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a first preset category, determining subcategory information of the push information requested by the voice data, wherein the subcategory information is used for indicating a preset subcategory in the preset category to which the push information requested by the voice data belongs; and selecting information from the information set corresponding to the subcategory information as the information to be pushed.
In some embodiments, determining subcategory information for push information requested by voice data comprises: determining text data corresponding to the voice data; and determining the subcategory information according to the text data.
In some embodiments, determining subcategory information from the text data includes: and inputting the text data into a pre-trained sub-category information determination model to obtain sub-category information.
In some embodiments, determining information to be pushed according to the classification result information includes: in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving in an information set corresponding to the second preset category by using the voice data to obtain a retrieval result set; and selecting the retrieval result from the retrieval result set as the information to be pushed.
In some embodiments, determining information to be pushed according to the classification result information includes: and in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a third preset category, selecting information from an information set corresponding to the third preset category as the information to be pushed.
In a second aspect, an embodiment of the present application provides an apparatus for pushing information, where the apparatus includes: the receiving unit is configured to receive voice data sent by the client and used for requesting push information; the classification unit is configured to input the voice data into a classification model trained in advance to obtain classification result information, wherein the classification result information is used for representing a preset class to which push information requested by the voice data belongs; a determining unit configured to determine information to be pushed according to the classification result information; the pushing unit is configured to push the information to be pushed to the client.
In some embodiments, the classification model includes a text determination model and a text classification model; and the classification unit is further configured to: inputting the voice data into a text determination model to obtain text data corresponding to the voice data; and inputting the text data into a text classification model to obtain classification result information.
In some embodiments, the determining unit is further configured to: in response to determining that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a first preset category, determining subcategory information of the push information requested by the voice data, wherein the subcategory information is used for indicating a preset subcategory in the preset category to which the push information requested by the voice data belongs; and selecting information from the information set corresponding to the subcategory information as the information to be pushed.
In some embodiments, the determining unit is further configured to: determining text data corresponding to the voice data; and determining the subcategory information according to the text data.
In some embodiments, the determining unit is further configured to: and inputting the text data into a pre-trained sub-category information determination model to obtain sub-category information.
In some embodiments, the determining unit is further configured to: in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving in an information set corresponding to the second preset category by using the voice data to obtain a retrieval result set; and selecting the retrieval result from the retrieval result set as the information to be pushed.
In some embodiments, the determining unit is further configured to: and in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a third preset category, selecting information from an information set corresponding to the third preset category as the information to be pushed.
In a third aspect, an embodiment of the present application provides a server, where the server includes: one or more processors; storage means for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the method as described in any implementation of the first aspect.
In a fourth aspect, the present application provides a computer-readable medium, on which a computer program is stored, which, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
According to the method and the device for pushing the information, the voice data which are sent by the client and used for requesting for pushing the information are received; inputting the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information is used for representing a preset category to which push information requested by the voice data belongs; determining information to be pushed according to the classification result information; the information to be pushed is pushed to the client, so that an interactive mode of pushing voice trigger information is provided for a user, information corresponding to the preset type is pushed to the client through analyzing the preset type to which the pushing information requested by the voice data belongs, more refined information pushing is achieved, and the viscosity of the user, the activity of the user and the retention rate are improved.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present application may be applied;
FIG. 2 is a flow diagram of one embodiment of a method for pushing information, according to the present application;
FIG. 3 is a flow diagram of yet another embodiment of a method for pushing information according to the present application;
FIG. 4 is a schematic diagram of an application scenario of a method for pushing information according to an embodiment of the present application;
FIG. 5 is a schematic block diagram illustrating one embodiment of an apparatus for pushing information according to the present application;
FIG. 6 is a schematic block diagram of a computer system suitable for use in implementing a server according to embodiments of the present application.
Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 shows an exemplary architecture 100 to which embodiments of the method for pushing information or the apparatus for pushing information of the present application may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The terminal devices 101, 102, 103 interact with a server 105 via a network 104 to receive or send messages or the like. Various client applications may be installed on the terminal devices 101, 102, 103. For example, short video applications, web browser applications, photo sharing applications, news applications, and the like.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices supporting information push and voice entry, including but not limited to smart phones, tablet computers, e-book readers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented as multiple pieces of software or software modules (e.g., multiple pieces of software or software modules to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 105 may be a server that provides various services, such as a backend server that supports client applications installed on the terminal devices 101, 102, 103. The back-end server can receive voice data which is sent by the client and used for requesting for pushing information, and determines the information to be pushed through the analysis and other processing of the voice data. After that, the determined information to be pushed may be returned to the terminal device.
It should be noted that the method for pushing information provided by the embodiment of the present application is generally performed by the server 105, and accordingly, the apparatus for pushing information is generally disposed in the server 105.
The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules (e.g., multiple pieces of software or software modules used to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, a flow 200 of one embodiment of a method for pushing information in accordance with the present application is shown. The method for pushing the information comprises the following steps:
step 201, receiving voice data sent by a client and used for requesting push information.
In the present embodiment, the execution subject (such as the server 105 shown in fig. 1) of the method for pushing information may receive voice data for requesting push information sent by a client (such as the terminal devices 101, 102, 103 shown in fig. 1).
When a user wants to acquire push information, the user can input voice data for requesting the push information through a client used by the user. The client can send the voice data which is input by the user and used for requesting the push information to the execution main body.
Step 202, inputting the voice data into a pre-trained classification model to obtain classification result information.
In this embodiment, the classification result information may be used to indicate a preset category to which push information requested by the voice data belongs. Specifically, one or more categories may be set in advance for push information requested by voice data by a technician according to actual application requirements. The classification model can classify the received voice data to determine which category the push information requested by the voice data belongs to.
One of the major problems with pushing information to a user is the need to analyze the user's real needs, or otherwise identify the user's intent. One common way is to predict the actual needs of the user based on the user's historical behavior data. After the real requirements of the user are analyzed, the retrieval range of the information to be pushed can be narrowed, so that the information with higher quality can be retrieved and pushed to the user.
Based on this, in this embodiment, a technician divides the real requirement of the user or the intention of the user into a plurality of categories in advance, and when receiving the voice data of the user for requesting the push information, determines the preset category to which the intention of the user belongs. And then determining the information to be pushed based on the preset category so as to push the information which is more suitable for the real requirement of the user to the user.
It should be understood that the specific classification into which categories, the classification into several categories, etc. can be determined according to actual business needs and product needs. For example, the category types set by a server dedicated to pushing music-type information and a server dedicated to pushing financial-type information may be very different.
Optionally, the classification model may be obtained by training through the following steps:
step one, a training sample set is obtained. The training samples in the training sample set may include voice data for requesting push information, and classification result information for indicating a preset category to which the push information requested by the voice data belongs.
In practice, the technician may label the classification result information corresponding to the speech data in each training sample.
And step two, determining an initial classification model. The initial classification model may be, among other things, various types of untrained or untrained artificial neural networks. For example, the initial classification model may be a deep learning model. The initial classification model may also be a model that combines a variety of untrained or untrained artificial neural networks. For example, the initial classification model may be a model that combines an untrained convolutional neural network, an untrained recurrent neural network, and an untrained fully-connected layer.
The specific network structure of the initial classification model (e.g., which layers to include, the number of layers per layer, the size of the convolution kernel, etc.) can be determined by the skilled person according to the actual application requirements.
And step three, using a machine learning method to input the voice data in the training samples in the training sample set as an initial classification model, using the classification result information corresponding to the input voice data as an expected output, and training to obtain the classification model.
In particular, the initial classification model may be trained based on commonly used loss functions (e.g., cross-entropy, etc.) that are suitable for training the model for classification. Where the value of the loss function may be used to determine how close the actual output of the model is to the desired output during the training process. Then, parameters of the initial classification model can be adjusted by adopting a back propagation method based on the value of the loss function, and the training is finished under the condition that a preset training finishing condition is met. After the training is completed, the initial classification model after the training is completed can be determined as the above classification model.
Wherein the preset training end condition may include, but is not limited to, at least one of the following: the training time exceeds the preset time, the training times exceeds the preset times, the value of the loss function meets certain conditions and the like.
In some optional implementations of this embodiment, the classification model may include a text determination model and a text classification model. At this time, the voice data may be input to the text determination model first, and the text data corresponding to the voice data may be obtained. Then, the text data can be input into a text classification model, and classification result information is obtained.
The text determination model can be obtained based on various existing voice recognition methods. Alternatively, a well-trained speech recognition model may be directly obtained as the text determination model. Alternatively, the existing network structure of some speech recognition models (such as hidden markov models based on parametric models, vector quantization algorithms based on non-parametric models, etc.) may also be adopted, and the text determination model is obtained by training with training data.
The text classification model can be obtained by training the following steps:
step one, a training sample set is obtained. The training samples in the training sample set may include text data corresponding to voice data used for requesting push information, and classification result information used for representing a preset category to which the push information requested by the voice data belongs.
In practice, the classification result information corresponding to the text data in each training sample may be labeled by a technician.
And step two, determining an initial text classification model. The initial Text classification model may be constructed by a technician according to actual application requirements (such as which layers, the number of layers of each layer, the size of a convolution kernel, and the like are required to be included), or some existing Text classification models (such as Text-CNN (Text convolutional neural network), Text-RNN (Text recurrent neural network), and the like) which are trained or unfinished may be selected as the initial Text classification model.
And step three, using a machine learning method to input the text data in the training samples in the training sample set as an initial text classification model, using classification result information corresponding to the input text data as expected output, and training to obtain the text classification model.
In particular, the initial text classification model may be trained based on commonly used loss functions (e.g., cross entropy, etc.) that are suitable for training the model for classification. Where the value of the loss function may be used to determine how close the actual output of the model is to the desired output during the training process. Then, parameters of the initial text classification model can be adjusted by adopting a back propagation method based on the value of the loss function, and the training is ended under the condition that a preset training ending condition is met. After the training is completed, the initial text classification model after the training is completed may be determined as the text classification model.
Wherein the preset training end condition may include, but is not limited to, at least one of the following: the training time exceeds the preset time, the training times exceeds the preset times, the value of the loss function meets certain conditions and the like.
And step 203, determining information to be pushed according to the classification result information.
In this embodiment, the classification result information may be taken as an aspect to be considered when determining the information to be pushed, so that the determined information to be pushed may conform to the push information really intended by the user corresponding to the client sending the voice data as much as possible. The method for specifically determining the information to be pushed can be flexibly changed.
As an example, a candidate set of information to be pushed may be determined according to historical behavior data of a user. And then selecting candidate information to be pushed belonging to the preset category indicated by the classification result information from the candidate information to be pushed as the information to be pushed. Similarly, it is also possible to determine a candidate information set to be pushed that matches the preset category indicated by the classification result information, and then select candidate pushing information as information to be pushed from the candidate information set to be pushed according to the historical behavior data of the user.
As an example, different algorithms for determining the information to be pushed may also be preset according to the attributes of the information to be pushed corresponding to various preset categories. At this time, after the classification result information is obtained, an algorithm corresponding to a preset category indicated by the classification result information may be executed on the voice data to determine information to be pushed.
In practice, the executing body may execute a corresponding algorithm according to the classification result information to determine the information to be pushed. Or, terminal devices respectively corresponding to various preset categories may be preset, so as to determine information to be pushed according to voice data of various preset categories. At this time, the execution body may transmit the voice data to the terminal device corresponding to the category indicated by the classification result information after obtaining the classification result information. And the terminal equipment determines the information to be pushed and sends the information to the execution main body.
And step 204, pushing information to be pushed to the client.
The method provided by the embodiment of the application realizes an interactive mode of triggering and pushing the information to be pushed by using the voice data. And the received voice data for requesting the push information is classified, so that the information to be pushed is determined according to the category to which the voice data belongs, thereby being beneficial to enabling the determined information to be pushed to be closer to the real intention of a user corresponding to the voice data, and simultaneously saving the time spent by the user for obtaining the required information, the interaction cost required to be spent and the like.
With further reference to fig. 3, a flow 300 of yet another embodiment of a method for pushing information is shown. The flow 300 of the method for pushing information includes the following steps:
step 301, receiving voice data sent by a client and used for requesting to push information.
Step 302, inputting the voice data into a pre-trained classification model to obtain classification result information.
The specific implementation process of steps 301 and 302 may refer to the related description of steps 201 and 202 in the corresponding embodiment of fig. 2, and will not be described herein again.
Step 303, in response to determining that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is the first preset category, determining subcategory information of the push information requested by the voice data; and selecting information from the information set corresponding to the subcategory information as the information to be pushed.
In this step, the sub-category information may be used to indicate a preset sub-category in a preset category to which push information requested by the voice data belongs. The first preset category may be used to indicate that the push information requested by the voice data may be further divided into a further preset sub-category. In other words, the information to be pushed that the user wants is information belonging to a certain preset sub-category.
In this step, a plurality of preset sub-categories may be preset by a technician according to an actual application scenario. For example, if the execution main body is used to push various pictures to the client, it may be preset to: scenery, people, animation, chinese wind, etc. If the execution main body is used for pushing various videos to the client, the following may be preset: entertainment, sports, finance, and so on.
In this step, after determining that the information to be pushed, which is desired by the user and corresponds to the voice data, belongs to a preset sub-category, various methods may be adopted to determine the sub-category information of the push information requested by the voice data.
Alternatively, the fine classification model may be trained in advance, and sub-category information of push information requested by the voice data may be determined using the fine classification model. Specifically, the voice data may be input to a pre-trained fine classification model, and sub-category information of push information requested by the voice data is obtained.
Wherein, the fine classification model can be obtained by training the following steps:
step one, a training sample set is obtained. The training samples in the training sample set may include voice data for requesting push information and subcategory information of the push information requested by the voice data.
In practice, the sub-category information corresponding to the speech data in each training sample may be labeled by a technician.
And step two, determining an initial fine classification model. The initial fine classification model may be, among other things, various types of untrained or untrained artificial neural networks. For example, the initial fine classification model may be a deep learning model. The initial fine classification model may also be a model that combines a variety of untrained or untrained artificial neural networks. For example, the initial fine classification model may be a model that combines an untrained convolutional neural network, an untrained recurrent neural network, and an untrained fully-connected layer.
The specific network structure of the initial fine classification model (e.g., which layers to include, the number of layers per layer, the size of the convolution kernel, etc.) can be set by the skilled person according to the actual application requirements.
And step three, using a machine learning method to take the voice data in the training samples in the training sample set as the input of the initial fine classification model, taking the sub-category information of the input voice data as the expected output, and training to obtain the fine classification model.
In particular, the initial fine classification model may be trained based on commonly used loss functions (e.g., cross-entropy, etc.) that are suitable for training the model for classification. Where the value of the loss function may be used to determine how close the actual output of the model is to the desired output during the training process. Then, parameters of the initial fine classification model can be adjusted by adopting a back propagation method based on the value of the loss function, and the training is finished under the condition that a preset training finishing condition is met. After the training is completed, the initial fine classification model after the training is completed can be determined as the fine classification model.
Wherein the preset training end condition may include, but is not limited to, at least one of the following: the training time exceeds the preset time, the training times exceeds the preset times, the value of the loss function meets certain conditions and the like.
Alternatively, text data corresponding to the voice data may be determined first, and then the subcategory information of the voice data may be determined according to the text data.
In which, the text data corresponding to the voice data can be determined by using various existing voice recognition algorithms. Based on the text data, a plurality of different methods can be adopted to determine the sub-category information corresponding to the voice data.
Optionally, for each preset sub-category, a corresponding keyword library may be preset. After the text data corresponding to the voice data is determined, keywords of the text data may be extracted using various existing keyword extraction algorithms. Then, the similarity between the extracted keywords of the text data and the keyword libraries corresponding to the preset sub-categories can be calculated. And then selecting the subcategory information of the preset subcategory corresponding to the maximum similarity as the subcategory information corresponding to the voice data.
For the keyword library corresponding to any preset sub-category, the similarity between the keyword library and the extracted keywords of the text data can be represented by an average value or a weighted average value of the similarity between the extracted keywords of the text data and each keyword in the keyword library.
Alternatively, the text data may be input to a pre-trained sub-category information determination model, resulting in sub-category information. The subclass information determination model can be obtained by training through the following steps:
step one, a training sample set is obtained. The training samples in the training sample set may include text data corresponding to voice data for requesting push information, and subcategory information of the push information requested by the voice data.
In practice, the sub-category information corresponding to the text data in each training sample may be labeled by a technician.
And step two, determining an initial sub-category information determination model. The initial sub-category information determination model may be constructed by a technician according to actual application requirements (such as which layers are required to be included, the number of layers of each layer, the size of a convolution kernel, and the like). The initial sub-category information determination model can also select some existing Text classification models (such as Text-CNN (Text convolutional neural network), Text-RNN (Text recurrent neural network), etc.) with completed or incomplete training as the initial Text classification model.
Alternatively, the initial sub-category information determination model may include an initial feature extraction model and an initial sub-category classification model. The initial feature extraction model may be used to extract attribute values of preset attributes of the text data. The preset attribute can be set by a technician according to an actual application scenario. As examples, the preset attributes include, but are not limited to: a person indicated by the text data, a time indicated by the text data, a geographic location indicated by the text attribute, etc. The attribute values output by the initial feature extraction model may be input to an initial sub-category classification model, which may output sub-category information.
Specifically, some existing models for slot filling (slot filling) may be selected as the initial feature extraction model, and some existing Text classification models (such as Text-CNN (Text convolutional neural network), Text-RNN (Text recurrent neural network), and the like) which are trained or unfinished may be selected as the initial sub-category classification model of the initial Text classification model.
And step three, using a machine learning method to input the text data in the training samples in the training sample set as the initial sub-category information determination model, using the sub-category information corresponding to the input text data as the expected output of the initial sub-category information determination model, and training to obtain the sub-category information determination model.
Specifically, the initial sub-category information determination model may be trained based on a commonly used loss function (e.g., cross entropy, etc.) suitable for training the model for classification. Where the value of the loss function may be used to determine how close the actual output of the model is to the desired output during the training process. Then, based on the value of the loss function, the parameters of the model determined by the initial sub-category information are adjusted by a back propagation method, and the training is ended under the condition that a preset training ending condition is met. After the training is completed, the trained initial sub-category information determination model can be determined as the sub-category information determination model.
Wherein the preset training end condition may include, but is not limited to, at least one of the following: the training time exceeds the preset time, the training times exceeds the preset times, the value of the loss function meets certain conditions and the like.
It should be noted that, in the case that the initial sub-category information determination model is composed of two or more sub-models, for example, when the initial sub-category information determination model is composed of the initial feature extraction model and the initial sub-category classification model, one of the sub-models may be trained first, then the parameters of the trained sub-model may be fixed, and then the other sub-model may be trained. The specific training mode is various, and the training data required by different training modes may be different. This is not limited by the present application.
Step 304, in response to determining that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving in an information set corresponding to the second preset category by using the voice data to obtain a retrieval result set; and selecting the retrieval result from the retrieval result set as the information to be pushed.
In this step, the second preset category may be used to indicate that the push information requested by the voice data is a search result or an answer to a question expressed by the voice data. In this case, the voice data may represent a question, i.e. the information to be pushed that the user wants is the answer to the question asked.
It should be understood that the speech data may be a question sentence for asking a question or a positive sentence, but is used to express a question. For example, text data corresponding to voice data may be "what is a trailer of XX television? "i want to listen to the trailer of XX television".
In this step, an information set corresponding to the second preset category may be preset. The information set may be an information set stored by the execution subject, or an information set provided by a third-party data source. After determining that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving may be performed in an information set corresponding to the second preset category based on the voice data to obtain a retrieval result set.
Then, the retrieval result can be selected from the retrieval result set as the information to be pushed. For example, a retrieval result may be randomly selected from the retrieval result set, or a first retrieval result may be selected from the retrieval result set as the information to be pushed.
Step 305, in response to determining that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a third preset category, selecting information from an information set corresponding to the third preset category as information to be pushed.
In this step, the third preset category may be used to indicate that the push information requested by the voice data may be any push information, that is, the user wants to browse the information at will, and the content of the information that the user wants to browse is not explicitly limited.
In this case, information may be directly selected from the information set corresponding to the third preset category as information to be pushed. The specific selection mode can be flexibly set. For example, information may be randomly selected from an information set corresponding to a third preset category as information to be pushed, or newly stored information may be selected from an information set corresponding to a third preset category as information to be pushed, and so on. The information set corresponding to the third preset category may be specified in advance by a technician.
Step 306, pushing the information to be pushed to the client.
With continued reference to fig. 4, fig. 4 is a schematic diagram 400 of an application scenario of the method for pushing information according to the present embodiment. In the application scenario of fig. 4, a user may record voice data 401 for requesting push information through a client used and then send the voice data to the execution main body. As shown in the figure, the voice data is "i want to see the ball game of XX". The execution body may input voice data to the classification model 402 after receiving the voice data 401.
As shown in the figure, the classification model 402 is used to determine which of preset classes "a first preset class", "a second preset class", and "a third preset class" the input voice data belongs to. The first preset category may be used to indicate that the push information requested by the voice data may be further divided into a further preset sub-category. The second preset category may be used to indicate that the push information requested by the voice data is an answer to a question expressed by the voice data. The third preset category may be used to indicate that the push information requested by the voice data may be any push information.
As shown by reference numeral 403 in the figure, the voice data 401 belongs to a first preset category. Accordingly, the voice data 401 may be input to the subcategory information determination model 404. As shown in the drawing, the sub-category information determination model 404 is used to determine to which sub-category of preset "entertainment", "sports", "finance", the input voice data belongs.
As shown by reference numeral 405, the voice data 401 belongs to the sub-category of "sports". Therefore, push information, i.e., "ball games" 407 desired by the user, can be selected from the information sets 406 corresponding to the sub-category "sports".
As can be seen from fig. 3, compared with the embodiment corresponding to fig. 2, the flow 300 of the method for pushing information in the present embodiment highlights the classification of the pushing information required by the user into three preset categories. The user can browse some information randomly, the user can ask a question and obtain an answer to the question, and the pushed information required by the user can be further divided into a preset sub-category. And according to different preset categories of the required information, correspondingly adopting different methods to determine the information to be pushed and pushing the information to the terminal equipment used by the user. Because the information is pushed to the user purely according to the historical behavior data of the user, the situation that the user intention is identified wrongly is easy to occur, and the push information received by the user can better meet the real requirement of the user by the method of subdividing the intention of the user. In addition, when the push information required by the user can be further divided into a certain preset sub-category, the information to be pushed can be further selected under the corresponding sub-category, so that the user can receive the push information with higher quality.
With further reference to fig. 5, as an implementation of the method shown in the above-mentioned figures, the present application provides an embodiment of an apparatus for pushing information, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be applied to various electronic devices in particular.
As shown in fig. 5, the apparatus 500 for pushing information provided by the present embodiment includes a receiving unit 501, a classifying unit 502, a determining unit 503, and a pushing unit 504. The receiving unit 501 is configured to receive voice data sent by a client and used for requesting push information; a classification unit 502 configured to input the voice data into a classification model trained in advance, and obtain classification result information, where the classification result information is used to indicate a preset class to which push information requested by the voice data belongs; a determining unit 503 configured to determine information to be pushed according to the classification result information; a pushing unit 504 configured to push information to be pushed to the client.
In the present embodiment, in the apparatus 500 for pushing information: the specific processing of the receiving unit 501, the classifying unit 502, the determining unit 503 and the pushing unit 504 and the technical effects thereof can refer to the related descriptions of step 201, step 202, step 203 and step 204 in the corresponding embodiment of fig. 2, which are not described herein again.
In some optional implementations of this embodiment, the classification model includes a text determination model and a text classification model; and the classification unit 502 is further configured to: inputting the voice data into a text determination model to obtain text data corresponding to the voice data; and inputting the text data into a text classification model to obtain classification result information.
In some optional implementations of this embodiment, the determining unit 503 is further configured to: in response to determining that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a first preset category, determining subcategory information of the push information requested by the voice data, wherein the subcategory information is used for indicating a preset subcategory in the preset category to which the push information requested by the voice data belongs; and selecting information from the information set corresponding to the subcategory information as the information to be pushed.
In some optional implementations of this embodiment, the determining unit 503 is further configured to: determining text data corresponding to the voice data; and determining the subcategory information according to the text data.
In some optional implementations of this embodiment, the determining unit 503 is further configured to: and inputting the text data into a pre-trained sub-category information determination model to obtain sub-category information.
In some optional implementations of this embodiment, the determining unit 503 is further configured to: in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving in an information set corresponding to the second preset category by using the voice data to obtain a retrieval result set; and selecting the retrieval result from the retrieval result set as the information to be pushed.
In some optional implementations of this embodiment, the determining unit 503 is further configured to: and in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a third preset category, selecting information from an information set corresponding to the third preset category as the information to be pushed.
The device provided by the above embodiment of the present application receives, by a receiving unit, voice data sent by a client and used for requesting to push information; the classification unit inputs the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information is used for representing a preset class to which push information requested by the voice data belongs; the determining unit determines information to be pushed according to the classification result information; the push unit pushes information to be pushed to the client, so that an interaction mode of pushing voice trigger information is provided for a user, information corresponding to the preset type is pushed to the client through analyzing the preset type to which the push information requested by voice data belongs, more refined information pushing is achieved, and the promotion of user viscosity, user activity and retention rate is facilitated.
Referring now to FIG. 6, shown is a block diagram of a computer system 600 suitable for use in implementing a server according to embodiments of the present application. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU)601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program performs the above-described functions defined in the method of the present application when executed by a Central Processing Unit (CPU) 601.
It should be noted that the computer readable medium of the present application can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor comprises a receiving unit, a classifying unit, a determining unit and a pushing unit. The names of these units do not in some cases form a limitation on the units themselves, and for example, a receiving unit may also be described as a "unit that receives voice data sent by a client to request push information".
As another aspect, the present application also provides a computer-readable medium, which may be contained in the server described in the above embodiments; or may exist separately and not be assembled into the server. The computer readable medium carries one or more programs which, when executed by the server, cause the server to: receiving voice data which is sent by a client and used for requesting to push information; inputting the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information is used for representing a preset category to which push information requested by the voice data belongs; determining information to be pushed according to the classification result information; and pushing information to be pushed to the client.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention herein disclosed is not limited to the particular combination of features described above, but also encompasses other arrangements formed by any combination of the above features or their equivalents without departing from the spirit of the invention. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.

Claims (6)

1. A method for pushing information, comprising:
receiving voice data which is sent by a client and used for requesting to push information;
inputting the voice data into a pre-trained classification model to obtain classification result information, wherein the classification result information is used for representing a preset category to which push information requested by the voice data belongs, the preset category comprises a first preset category, a second preset category and a third preset category which are obtained by dividing based on user intention, the first preset category represents that the push information requested by the voice data belongs to a preset sub-category, the second preset category represents that the push information requested by the voice data is an answer to a problem expressed by the voice data, and the third preset category represents that the push information requested by the voice data is any push information;
determining information to be pushed according to the classification result information;
pushing the information to be pushed to the client;
the determining information to be pushed according to the classification result information includes:
in response to determining that the classification result information indicates that a preset category to which push information requested by the voice data belongs is a first preset category, determining subcategory information of the push information requested by the voice data, wherein the subcategory information is used for indicating a preset subcategory in the preset category to which the push information requested by the voice data belongs; selecting information from an information set corresponding to the subcategory information as information to be pushed;
in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving in an information set corresponding to the second preset category by using the voice data to obtain a retrieval result set; selecting a retrieval result from the retrieval result set as information to be pushed;
in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a third preset category, selecting information from an information set corresponding to the third preset category as information to be pushed;
wherein the determining subcategory information of push information requested by the voice data comprises: determining text data corresponding to the voice data; inputting the text data into a pre-trained sub-category information determination model to obtain the sub-category information, wherein the sub-category information determination model comprises a feature extraction model and a sub-category classification model, the feature extraction model is used for extracting attribute values of preset attributes of the text data, and the preset attributes comprise at least one of the following items: a person indicated by the text data, a time indicated by the text data, a geographic location indicated by the text data.
2. The method of claim 1, wherein the classification model comprises a text determination model and a text classification model; and
the inputting the voice data into a pre-trained classification model to obtain classification result information includes:
inputting the voice data into the text determination model to obtain text data corresponding to the voice data;
and inputting the text data into the text classification model to obtain the classification result information.
3. An apparatus for pushing information, comprising:
the receiving unit is configured to receive voice data sent by the client and used for requesting push information;
the classification unit is configured to input the voice data into a classification model trained in advance to obtain classification result information, wherein the classification result information is used for representing a preset class to which push information requested by the voice data belongs, the preset class comprises a first preset class, a second preset class and a third preset class which are obtained through classification based on user intention, the first preset class represents that the push information requested by the voice data belongs to a preset sub-class, the second preset class represents that the push information requested by the voice data is an answer to a problem expressed by the voice data, and the third preset class represents that the push information requested by the voice data is any push information;
a determining unit configured to determine information to be pushed according to the classification result information;
a pushing unit configured to push the information to be pushed to the client;
the determination unit is further configured to:
in response to determining that the classification result information indicates that a preset category to which push information requested by the voice data belongs is a first preset category, determining subcategory information of the push information requested by the voice data, wherein the subcategory information is used for indicating a preset subcategory in the preset category to which the push information requested by the voice data belongs; selecting information from an information set corresponding to the subcategory information as information to be pushed;
in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a second preset category, retrieving in an information set corresponding to the second preset category by using the voice data to obtain a retrieval result set; selecting a retrieval result from the retrieval result set as information to be pushed;
in response to the fact that the classification result information indicates that the preset category to which the push information requested by the voice data belongs is a third preset category, selecting information from an information set corresponding to the third preset category as information to be pushed;
wherein the determination unit is further configured to: determining text data corresponding to the voice data; inputting the text data into a pre-trained sub-category information determination model to obtain the sub-category information, wherein the sub-category information determination model comprises a feature extraction model and a sub-category classification model, the feature extraction model is used for extracting attribute values of preset attributes of the text data, and the preset attributes comprise at least one of the following items: a person indicated by the text data, a time indicated by the text data, a geographic location indicated by the text data.
4. The apparatus of claim 3, wherein the classification model comprises a text determination model and a text classification model; and
the classification unit is further configured to:
inputting the voice data into the text determination model to obtain text data corresponding to the voice data;
and inputting the text data into the text classification model to obtain the classification result information.
5. A server, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of claim 1 or 2.
6. A computer-readable medium, on which a computer program is stored, which program, when being executed by a processor, carries out the method of claim 1 or 2.
CN201811562666.0A 2018-12-20 2018-12-20 Method and device for pushing information Active CN109670111B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811562666.0A CN109670111B (en) 2018-12-20 2018-12-20 Method and device for pushing information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811562666.0A CN109670111B (en) 2018-12-20 2018-12-20 Method and device for pushing information

Publications (2)

Publication Number Publication Date
CN109670111A CN109670111A (en) 2019-04-23
CN109670111B true CN109670111B (en) 2021-04-27

Family

ID=66144008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811562666.0A Active CN109670111B (en) 2018-12-20 2018-12-20 Method and device for pushing information

Country Status (1)

Country Link
CN (1) CN109670111B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899718A (en) * 2020-07-30 2020-11-06 北京字节跳动网络技术有限公司 Method, apparatus, device and medium for recognizing synthesized speech
CN112581297B (en) * 2020-12-18 2024-03-12 中国平安人寿保险股份有限公司 Information pushing method and device based on artificial intelligence and computer equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815224A (en) * 2015-11-27 2017-06-09 大唐软件技术股份有限公司 Service acquisition method and apparatus
CN108388563B (en) * 2017-02-03 2022-11-08 北京京东尚科信息技术有限公司 Information output method and device
CN108268450B (en) * 2018-02-27 2022-04-22 百度在线网络技术(北京)有限公司 Method and apparatus for generating information

Also Published As

Publication number Publication date
CN109670111A (en) 2019-04-23

Similar Documents

Publication Publication Date Title
CN107832434B (en) Method and device for generating multimedia play list based on voice interaction
CN105893465B (en) Automatic question answering method and device
CN107241260B (en) News pushing method and device based on artificial intelligence
CN111428010B (en) Man-machine intelligent question-answering method and device
CN108989882B (en) Method and apparatus for outputting music pieces in video
CN107577807B (en) Method and device for pushing information
CN112559800B (en) Method, apparatus, electronic device, medium and product for processing video
CN109582825B (en) Method and apparatus for generating information
CN108268450B (en) Method and apparatus for generating information
CN103970791B (en) A kind of method, apparatus for recommending video from video library
CN106354856B (en) Artificial intelligence-based deep neural network enhanced search method and device
US11354513B2 (en) Automated identification of concept labels for a text fragment
US10692498B2 (en) Question urgency in QA system with visual representation in three dimensional space
CN110288974B (en) Emotion recognition method and device based on voice
CN109670111B (en) Method and device for pushing information
CN112532507B (en) Method and device for presenting an emoticon, and for transmitting an emoticon
WO2021012691A1 (en) Method and device for image retrieval
CN111858916B (en) Method and device for clustering sentences
CN112990176A (en) Writing quality evaluation method and device and electronic equipment
CN109299351B (en) Content recommendation method and device, electronic equipment and computer readable medium
CN109472028B (en) Method and device for generating information
CN114841471B (en) Knowledge point prediction method and device, electronic equipment and storage medium
CN110852078A (en) Method and device for generating title
CN115238676A (en) Method and device for identifying hot spots of bidding demands, storage medium and electronic equipment
CN114265948A (en) Image pushing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: Tiktok vision (Beijing) Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Patentee before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder