Search method, device, electronic device and storage medium
By determining user tags and intentions in the search system, and combining search content to filter candidate hot words from the hot word database, the problem that existing search methods cannot provide personalized results is solved, and personalized search results recommendations for different users are achieved.
Patent Information
- Application Number
- CN202110729468.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-29
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-06-29
AI Technical Summary
Existing search methods cannot provide personalized search results based on the characteristics and intentions of different users, resulting in no difference in the results returned by different users by the same search content.
By detecting that when a search user enters the search interface, he or she determines his or her user tags and search intentions, and combines the search content to determine candidate hot words that match the user from the built hot word library, and finally return the matching target object.
It realizes in-depth exploration based on user characteristics and intentions, provides personalized search results recommendations, and improves user experience.
Smart Images

Figure CN113468422B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a search method, device, electronic device and storage medium. Background Art
[0002] With the advent of the information age, more and more users are searching for content of interest on the Internet.
[0003] The current search method is to obtain search results by fuzzy matching based on the search content input by the user, that is, the search results are determined by the search content input by the user. It can be seen that in the prior art, for different users, the same search content will result in the same search results. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a search method, device, electronic device and storage medium to implement personalized search recommendations for different users. The specific technical solution is as follows:
[0005] The present application provides a search method, the method comprising:
[0006] When detecting that a search user enters the search interface, determining a user tag of the search user, and determining at least one search intention of the search user;
[0007] Determining the search content triggered by the search user on the search interface;
[0008] Determining a target object matching the search user according to the user tag of the search user, at least one of the search intentions, and the search content;
[0009] The target object is returned to the searching user for display.
[0010] The present application provides a search device, the device comprising:
[0011] A first determination module, configured to, when detecting that a search user enters a search interface, determine a user tag of the search user and determine at least one search intention of the search user;
[0012] A second determination module, used to determine the search content triggered by the search user on the search interface;
[0013] A target determination module, configured to determine a target object matching the search user according to a user tag of the search user, at least one of the search intentions, and the search content;
[0014] The information return module is used to return the target object to the search user for display.
[0015] The present application provides an electronic device, including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;
[0016] Memory, used to store computer programs;
[0017] The processor is used to implement the methods provided in the above-mentioned various optional implementations when executing the program stored in the memory.
[0018] The present application provides a storage medium, in which computer instructions are stored. When the storage medium is run on a computer, the computer is enabled to execute the methods provided in the above-mentioned various optional implementations.
[0019] The present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the methods provided in the above-mentioned various optional implementations.
[0020] The technical solution provided by the embodiment of the present application determines the user tag of the search user and at least one search intention of the search user when it is detected that the search user enters the search interface, determines the search content triggered by the search user on the search interface, determines the target object matching the search user based on the user tag of the search user, at least one search intention, and the search content, and returns the target object to the search user. When the user implements the search, the target object ultimately returned to the user is determined based on the user tag, at least one search intention, and the search content. Therefore, in-depth mining of user intentions and user characteristics is achieved, and personalized search result recommendations can be made for different users based on the different intentions and different user characteristics of different users. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0023] Figure 1A flowchart of an embodiment of a search method provided in an embodiment of the present application;
[0024] Figure 2 This is a schematic diagram of the search interface for third-party programs;
[0025] Figure 3 An overall flow chart of an embodiment of the present application, which provides a method of determining multiple candidate hot words from a constructed hot word library according to a user tag of a search user and at least one search intent, and returning the multiple candidate hot words to the search user;
[0026] Figure 4 A flowchart of an embodiment of the present application for determining multiple candidate hot words from a constructed hot word library according to a user tag of a search user and at least one search intent, and returning the multiple candidate hot words to the search user;
[0027] Figure 5 When the search user triggers the candidate hot word "home property insurance", a schematic diagram showing the changes in the interface is displayed;
[0028] Figure 6 When the search user triggers the candidate hot word "social security payment" and then triggers the social security calculator, a schematic diagram showing the changes in the interface is displayed;
[0029] Figure 7 A block diagram of another embodiment of a search device provided in an embodiment of the present application;
[0030] Figure 8 A schematic diagram of the structure of a device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0031] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0032] The search method provided in the present application will be explained below with specific embodiments in conjunction with the accompanying drawings, and the embodiments do not constitute a limitation on the embodiments of the present application.
[0033] See also Figure 1, which is a flow chart of an embodiment of a search method provided in an embodiment of the present application. As an embodiment, the method can be applied to a client or a program. A client refers to an application that provides services to users. An application refers to a program that provides services to users, which can be an application running in an independent process, a sub-application (applet) independent of the main page embedded in the client, a function running on a web browser (also known as WebApp), a mini-program embedded in an email, etc. The above services include but are not limited to: information search services, data collection services, data transmission services, etc. Figure 1 As shown, the method may include the following steps:
[0034] Step 101: When it is detected that a search user enters a search interface, a user tag of the search user is determined, and at least one search intention of the search user is determined.
[0035] In most applications, such as web search interfaces, third-party program search interfaces (mini programs, public accounts), etc., there is usually a search bar on the search interface, and the search bar is generally located at the top of the page. It includes at least an input box and a search icon. Searching can be achieved by clicking the search icon or clicking the enter key on the virtual keyboard. For example, see Figure 2 , which is a schematic diagram of the third-party program search interface.
[0036] Taking mini programs as an example, in practice, when a user wants to use a mini program, he can start the mini program through the client embedded in the mini program. After the mini program is started, a search interface can be rendered. When the search interface is rendered, it means that a user (hereinafter referred to as a search user for the convenience of description) is detected to enter the search interface. In an embodiment of the present application, when a search user is detected to enter the search interface, the user tag of the search user can be determined, and at least one search intention of the search user can be determined. Here, the user tag can characterize the basic attributes, interest preferences, behavior preferences and other information of the search user; search intent refers to the intention of the search user to implement the search behavior. In layman's terms, it refers to what purpose the user wants to achieve through the search behavior.
[0037] For example, based on Figure 2 The search interface shown corresponds to the insurance business scenario, and user tags may include but are not limited to: expert purchasing, information browsing, influenced purchasing, impulse purchasing, and repeat purchasing; search intentions may include but are not limited to purchasing, learning, claims, refunds, repeat purchases, underwriting, activities, and product comparisons.
[0038] The following describes how to determine the user tag of the search user and how to determine at least one search intention of the search user respectively with specific embodiments.
[0039] First, we describe how to determine the user tag of the search user:
[0040] As an embodiment, the following steps may be performed periodically (for example, every 30 days): obtaining user information authorized by multiple users (here, existing users, i.e., registered users), determining user portraits of multiple users respectively based on the user information of multiple users, and then clustering the user portraits of multiple users to obtain multiple clusters, and determining the user tags corresponding to each cluster, and finally, for each user, associating and storing the user ID of the user with the user tag corresponding to the cluster to which the user portrait belongs. It is understandable that user information is likely to change over time, and by periodically performing the above steps, it is possible to update user portraits and then update user tags as time goes by, i.e., as user information changes, so that user tags can accurately represent the user's current basic attributes, interest preferences, behavior preferences and other information.
[0041] Specifically, the above user information may include, but is not limited to: the user's age, gender, permanent location, social relationships, annual income, annual debt, real estate, information that the user pays attention to on a daily basis (such as the public accounts that the user follows), historical browsing behavior information (such as browsed products, public account articles, insurance risk assessments, protection gap calculation assessments, etc.), etc. Among them, historical browsing behavior information refers to the browsing behavior information of the user within a set historical time period (such as the previous 30 days, 60 days, 90 days, etc.).
[0042] The above-mentioned user portrait may include but is not limited to portrait information in the following dimensions: basic attributes (such as the user's age, gender, permanent residence, etc.), wealth value (which can represent the user's wealth, such as annual income, annual debt, real estate, etc.), interests and hobbies (which can represent the user's preference for products, such as the user's preference for critical illness insurance / medical insurance / children's insurance / pension insurance and other types of insurance), behavioral preferences, etc.
[0043] The above clustering of user portraits of multiple users may use clustering algorithms including, but not limited to, unsupervised clustering algorithms based on distance, unsupervised clustering algorithms based on density and clustering, and text clustering algorithms based on k-means and TF-IDF. By clustering user portraits of multiple users, user portraits of similar users may be clustered into the same cluster. Here, similarity may include similarity in basic attributes, similarity in interest preferences, similarity in behavior preferences, etc.
[0044] The above-mentioned determination of the user label corresponding to each cluster can be obtained by the user by analyzing the user portraits in each cluster based on expert experience, statistical knowledge, etc. For example, if the behavioral preference represented by all or most of the user portraits in a certain cluster indicates that the user likes to browse information, then the user label corresponding to the cluster can be determined to be information browsing type; for another example, if the wealth value represented by all or most of the user portraits in a certain cluster indicates that the user has sufficient assets, and the behavioral preference represented by the user portrait indicates that the user has purchased several products, then the user label corresponding to the cluster can be determined to be repeat purchase type; for another example, if the behavioral preference represented by all or most of the user portraits in a certain cluster indicates that the user does not like to browse information, but has purchased several products, then the user label corresponding to the cluster can be determined to be impulse purchase type.
[0045] Based on the above description, in an embodiment of the present application, determining the user tag of the search user includes: determining the user portrait of the search user based on the user information of the search user, then determining the cluster to which the user portrait of the search user belongs, and determining the user tag of the search user based on the cluster.
[0046] In addition, it should be noted that when the search user is an old user, the user tag of the search user can be determined in the above manner, but when the search user is a new user, due to the lack of user information, it is impossible to form a user portrait and thus it is impossible to determine an accurate user tag for the search user. In this case, the default user tag can be first determined as the user tag of the search user.
[0047] The following describes how to determine at least one search intent of a search user:
[0048] In the embodiment of the present application, a statistical summary can be made in advance based on the historical search intent and the corresponding features, and the set rules corresponding to each defined search intent can be defined. For example, the set rule indicates that when a user has visited and read insurance articles more than 3 times within a set historical time period (for example, within the past three months), the user's search intent is determined to be learning. For another example, the set rule indicates that when a user has browsed the cancellation-related instructions more than 3 times within a set historical time period, the user's search intent is determined to be cancellation. Based on this, when it is detected that the search user enters the search interface, the search user's historical browsing information (including but not limited to browsing tracks, browsing times, etc.) within the set historical time period can be obtained, and the historical browsing information can be matched with at least one set rule. When it is determined that the historical browsing information matches the set rule, the search intent corresponding to the set rule is determined as the search user's search intent.
[0049] It should be noted that in practice, the user's historical browsing information may match the set rules corresponding to multiple search intents, which means that the search user's search intent can be one or more. For example, if the search user has visited and read insurance articles more than 3 times and browsed the instructions for insurance cancellation more than 3 times within the set historical time period, it can be determined that the search user's search intent includes learning and insurance cancellation.
[0050] In addition, it should be noted that when the search user is an old user, the search intent of the search user can be determined by the above method, but when the search user is a new user, due to the lack of the user's historical browsing information, the search intent cannot be determined by the above method. In this case, the default search intent can be first determined as the search intent of the search user.
[0051] Step 102: Determine the search content triggered by the search user on the search interface.
[0052] As an example, in practice, the search user can use a virtual keyboard or a physical keyboard to enter the Figure 2 Enter the search content in the search box provided on the search interface of the example, for example, enter "Which is better, a million-dollar medical insurance or a lifetime insurance", that is, the search content is "Which is better, a million-dollar medical insurance or a lifetime insurance", for example, enter "buy a million-dollar medical insurance for parents", that is, the search content is "buy a million-dollar medical insurance for parents".
[0053] In this embodiment, determining the search content triggered by the search user on the search interface includes obtaining the search content input by the search user on the search interface.
[0054] As another example, Figure 2 As shown, several candidate hot words are displayed below the search box: home property insurance, social security payment, electronic insurance policy, and bill inquiry. Based on this, in practice, the search user can select one of the candidate hot words as the search content. Specifically, the search user can click on one of the candidate hot words. When it is detected that the search user clicks on any candidate hot word (for the convenience of description, the candidate hot word clicked by the user is referred to as the first candidate hot word below), it means that the search user's trigger event for the first candidate hot word is detected, and then the first candidate hot word is determined as the search content triggered by the search user on the search interface.
[0055] Furthermore, in the prior art, most applications display words with high search popularity in the site as the candidate hot words. Figure 2 However, this method cannot achieve personalized candidate hot word recommendations for different search users, nor can it achieve adjusting the candidate hot words recommended to the same search user when the user's needs change.
[0056] Based on this, the embodiment of the present application proposes that after detecting that the search user enters the search interface and determining the user tag and at least one search intent of the search user, multiple candidate hot words are determined from the constructed hot word library according to the user tag and at least one search intent of the search user, and the multiple candidate hot words are returned to the search user. Through this implementation method, personalized candidate hot word recommendations can be implemented for different search users, and since the above-mentioned user tags can change with the passage of time and the change of user information, and the above-mentioned search intent is determined based on the historical browsing information within the set historical time period before the current time, it is also possible to adjust the candidate hot words recommended to the user for the same search user as the user's needs change over time. For example, when the user enters the search interface for the first time, "pension insurance" is recommended to the user as a candidate hot word. Later, after the user browses the liver disease-related information and enters the search interface again, "liver disease insurance" is recommended to the user as a candidate hot word.
[0057] See also Figure 3 , is a flow chart of an embodiment of the present application for determining multiple candidate hot words from a constructed hot word library according to a user tag of a search user and at least one search intent, and returning the multiple candidate hot words to the search user. Figure 3 As shown in the figure, the process mainly includes the following steps: search word identification, building a hot word library, calculating word heat value, recall sorting, strategy application, and hot word exposure. Figure 3 As shown, the hot words in the hot word library can come from the results of search word recognition and external hot words; the participating factors of recall sorting include word heat value, user tags and search intent; after recall sorting, further strategy application is performed, and then the final hot words are exposed, that is, displayed on the search interface.
[0058] The following is combined with Figure 4 The process shown is Figure 3 The overall process of the example is explained in detail. Figure 4 As shown, the following steps are included:
[0059] Step 401: Build a hot word library.
[0060] Depend on Figure 3It can be seen that in the embodiment of the present application, a hot word library can be constructed through search word recognition. Specifically, in the embodiment of the present application, the historical search content of multiple users and the information matching the historical search content can be obtained. Here, the multiple users include the search user, and the information matching the historical search content refers to: the information recalled after performing a search based on the historical search content. Afterwards, the historical search content and the information matching the historical search content are used as the target text, and the target text is processed to obtain multiple words, and each word is classified as a hot word in the hot word library, which realizes the construction of a hot word library through search word recognition.
[0061] The above-mentioned processing of the target text includes: extracting keywords, standard word mapping, etc. by means of text segmentation, text clustering, and regularization.
[0062] Among them, the text segmentation can be based on the professional term library that meets the current business scenario, and the maximum matching method is used for text segmentation. It should be noted that by performing text segmentation based on the professional term library that meets the current business scenario, it is possible to avoid dividing the professional term into two or more words. For example, in the insurance business scenario, life insurance is the product name. According to the traditional word segmentation method, life insurance is divided into two words, life insurance and insurance, but these two words completely split the meaning to be expressed by the text. By performing text segmentation through the professional term library, life insurance can be divided into a complete word, thereby completely retaining the meaning to be expressed by the text. Further, after the text segmentation, stop words, words with set parts of speech (such as verbs, adverbs, auxiliary words, demonstrative pronouns, etc.) can be deleted, and the final words can be classified as hot words in the hot word library. For example, for the target text of what is a million medical care, after text segmentation, "million medical care", "is", and "what" can be obtained, a total of three words. By deleting the verb "is" and the demonstrative pronoun "what", "million medical care" is classified as a hot word in the hot word library.
[0063] Text clustering refers to clustering target texts according to a clustering algorithm, grouping semantically similar target texts into one category, and then extracting keywords from each cluster obtained by clustering and classifying them as hot words in the hot word library.
[0064] Regularization refers to the use of regular expressions to extract keywords from the target text and classify the extracted keywords as hot words into the hot word library.
[0065] Standard word mapping refers to mapping the words obtained from the above segmentation or the extracted keywords to professional terms that match the current business scenario. For example, in the insurance business scenario, 1 yuan for the first month is a product feature of Million Medical Insurance. If the words obtained from the segmentation or the extracted keywords are 1 yuan for the first month, then 1 yuan for the first month is mapped to Million Medical Insurance. It is understandable that for users who are not very familiar with the insurance industry, Million Medical Insurance is more intuitive than 1 yuan for the first month.
[0066] In addition, it should be noted that in practice, users can construct a mapping relationship between spoken text and standard words. Thus, after obtaining words through word segmentation or extracting keywords, the constructed mapping relationship can be searched for the words or keywords to determine whether there are corresponding standard words. When it is determined that there are corresponding standard words, the words or keywords are mapped to standard words.
[0067] In addition, by Figure 3 It can be seen that external hot words can also be included in the hot word library. Specifically, the crawler technology can be used to crawl online hot words, which are external hot words, and the crawled online hot words are also included in the hot word library. Through this processing, the hot word library can contain hot words that fit the current hot topics.
[0068] Step 402: Determine the word heat value of each hot word in the constructed hot word library.
[0069] As an example, the Bayesian average method can be used to determine the word heat value. The specific calculation formula is as follows:
[0070]
[0071] In the above formula, Btp represents the historical frequency of the hot word, that is, the total frequency of the hot word searched in the specified historical time period, Atp represents the current frequency of the hot word, that is, the total frequency of the hot word searched in the past 24 hours, Tp represents the sum of the historical frequency and the current frequency, R represents the average score of the hot word, that is, the average score calculated according to the score values assigned to the hot word by users of different platforms, and B represents the word heat value.
[0072] In addition, it should be noted that different users have different levels of knowledge and expression abilities. When different users want to search for the same object, the search content triggered is likely to be different. Based on this, in an embodiment of the present application, similar words can be identified through word recognition. When determining the word heat value, the word frequency is determined based on the hot word itself and similar words to the hot word, and then the word heat value is determined.
[0073] Step 403: For each hot word, the user tag of the search user, at least one search intent, and the word heat value of the hot word are input into the trained first prediction model to obtain the probability value of the search user triggering the hot word.
[0074] In an embodiment of the present application, a first prediction model can be obtained by training a large amount of sample data in advance. Here, the first prediction model can adopt the xgboost binary classification model. The core algorithm of the xgboost binary classification model is to fit the residual of the error function to the predicted value by continuously performing feature splitting. At the same time, we use regularization to limit the complexity of the model to prevent the model from overfitting. The input features of the first prediction model may include the user's user label, at least one search intent, and the word heat value of the hot word, and the output includes the probability value of the user triggering the hot word. Correspondingly, the above-mentioned sample data may include: the user's user label, at least one search intent, the word heat value of the hot word, and the user's trigger state for the hot word (including triggered and not triggered). Among them, the corresponding trigger state is triggered sample data belongs to positive sample data, and the corresponding trigger state is not triggered sample data belongs to negative sample data.
[0075] Based on this, in the embodiment of the present application, for each hot word, the user tag of the search user, at least one search intent, and the word heat value of the hot word are input into the trained first prediction model to obtain the probability value of the search user triggering the hot word. It can be seen that the probability value of the search user triggering the hot word is jointly determined by the word heat value of the hot word itself, the user tag of the search user, and at least one search intent, thereby improving the accuracy of the hot word.
[0076] Step 404: Determine a plurality of candidate hot words from the hot word library according to the probability value corresponding to each hot word.
[0077] As an embodiment, the hot words in the hot word library may be sorted in descending order of probability value, and then the hot words ranked in the top N positions in the sorting result are determined as candidate hot words. Here, N is a positive integer.
[0078] As another embodiment, a hot word with a probability value greater than a set probability threshold may be determined as a candidate hot word. Here, the probability threshold is, for example, 0.6.
[0079] In the embodiment of the present application, after executing step 404 and obtaining multiple candidate hot words, the multiple candidate hot words can be exposed, that is, displayed on the search interface. In this way, in step 102, the search user can trigger the search content on the search interface by clicking on one of the candidate hot words displayed on the search interface.
[0080] In addition, when displaying multiple candidate hot words on the search interface, multiple candidate hot words can be displayed in order from high to low probability values. The sequential display here refers to displaying in order from left to right on the search interface. It is understandable that since users have the reading habit of reading from left to right, the above display method can enable users to first discover the candidate hot words that are most likely to be triggered, thereby improving user experience.
[0081] In addition, by Figure 3 It can be seen that after recall sorting, strategy application is also included. The strategy application here refers to adjusting the candidate hot words finally displayed according to the expert rules that conform to the current business scenario, so as to meet the user's natural characteristics and limitations in object selection, and can also cooperate with the original logic involved in the current business scenario. Specifically, the hot words that conflict with the user's characteristics are eliminated from multiple candidate hot words. For example, if the user himself suffers from a disease that cannot be insured for serious illness insurance, then after recall sorting, all candidate hot words related to serious illness insurance can be eliminated, and candidate hot words related to products that the user can insure can be displayed first; for example, some products, such as Huiminbao, have strong regional attributes. If Huiminbao has not been opened in the user's permanent residence, then after recall sorting, all candidate hot words related to Huiminbao can be eliminated to improve the user experience.
[0082] Step 103: Determine a target object that matches the search user based on the search user's behavioral characteristics, at least one search intent, and the search content.
[0083] Step 104: Return the target object to the search user for display.
[0084] As can be seen from the description of step 102 above, in one embodiment, the search content triggered by the search user on the search interface can be determined by obtaining the search content input by the search user on the search interface; in another embodiment, when the trigger event of the search user on the first candidate hot word displayed on the search interface is detected, the first candidate hot word can be determined as the search content triggered by the search user on the search interface. Corresponding to the two different embodiments, the specific implementation of step 103 is also different.
[0085] Specifically, in the previous embodiment described above, that is, by obtaining the search content input by the search user on the search interface and determining the search content triggered by the search user on the search interface, the search content can be identified to obtain the search entity and the object type referred to by the search entity. Afterwards, for each candidate object belonging to the object type, the text similarity between the candidate object and the search content, the content label of the candidate object, the user label of the search user, and at least one search intention are input into the trained second prediction model to obtain the probability value of the search user clicking on the candidate object. Finally, based on the probability value corresponding to each candidate object, the target object that matches the search user is determined from multiple candidate objects.
[0086] In an example, assuming that the search content is "Which is better, million-dollar medical insurance or lifetime insurance", then by identifying the search content, two search entities, million-dollar medical insurance and lifetime insurance, can be obtained, and the object type referred to by the search entity is product comparison. Based on this, information of the object type of product comparison can be used as a candidate object, such as product comparison tools, articles involving comparative analysis of two products (such as million-dollar medical insurance and lifetime insurance), etc.
[0087] In another example, assuming the search content is "buy a million medical insurance for parents", then by identifying the search content, two search entities, million medical insurance and parents, can be obtained, and the object type referred to by the search entity is medical insurance. Based on this, object information belonging to the object type of medical insurance can be used as candidate objects, such as million medical insurance, multiple insurance (can cover multiple serious diseases), etc.
[0088] In practice, a sequence labeling model can be applied to identify search entities in the search content. For example, for the search content "Which is better, a million-dollar medical insurance or a lifetime insurance", a sequence labeling model can be applied to label the million-dollar medical insurance as the subject and the lifetime insurance as the object. The subject and the object are two search entities. For another example, for the search content "buy a million-dollar medical insurance for parents", a sequence labeling model can be applied to label the million-dollar medical insurance as the subject and the parents as the object. The subject and the object are two search entities.
[0089] Furthermore, the trained relational analysis model is applied to identify the type of information referred to by the search entity. Here, the relational analysis model can adopt the ALBERT (A Lite BERT, a lightweight BERT model with fewer parameters) + Bi-LSTM model structure. Among them, ALBERT is a pre-trained model, and its purpose is to extract text features more conveniently. It can be seen that ALBERT can be used as a text feature extraction model, followed by the classic sequence labeling algorithm Bi-LSTM, which constitutes the ALBERT + Bi-LSTM model structure. The Bi-LSTM algorithm uses the results of a bidirectional LSTM network, which can combine the context information to output the probability value of the text belonging to different labels, and the label here represents the information type. Furthermore, the label with the highest corresponding probability value, that is, the information type, can be used as the information type referred to by the aforementioned identified search entity.
[0090] In an embodiment of the present application, similar to the above-mentioned first prediction model, a second prediction model can be obtained by pre-training a large amount of sample data. Here, the sample data may include: the user's user label, at least one search intent, the content label of the candidate object, the text similarity between the candidate object and the search content, and the user's click status (including click and no click) on the candidate object. Among them, the sample data can be extracted from the historical search behavior data of multiple users, the search content refers to the user's historical search content, and the content label of the candidate object can characterize the specific content of the candidate object. For example, the content label of the tool / product of the social security calculator is social security payment, and the content label of the article titled "Social security was interrupted once, and it actually affected my house purchase" is social security payment. The second prediction model takes the user label, at least one search intent, the candidate object content label, and the text similarity between the candidate object and the search content as input, and takes the probability value of the user clicking on the candidate object as output.
[0091] Based on this, the content label of the candidate object, the text similarity between the candidate object and the search content, the user label of the search user, and at least one search intention can be input into the trained second prediction model to obtain the probability value of the search user clicking on the candidate object.
[0092] The text similarity between the candidate object and the search content can be represented by the Euclidean distance, Manhattan distance, cosine distance, etc. between the text vectors corresponding to the content label of the candidate object and the search content.
[0093] It can be seen that in the embodiment of the present application, when the search user directly enters the search content on the search interface, the search results are not simply obtained by fuzzy matching the search content entered by the user, but the user's initial search intention is identified through text analysis. The initial search intention here refers to the type of object the user wants to search for. Furthermore, by selecting objects that meet the user's initial search intention as candidate objects, the final search results can meet the user's initial search intention and improve the user experience.
[0094] Furthermore, when determining the final target object from the candidate objects, in addition to the user's user tags and search intent, the text similarity between the candidate objects and the search content is also introduced. This can make the final target object have a higher text similarity with the search content, so that the target object can better meet the user's search intent and improve the user experience.
[0095] Then, as an embodiment, the candidate objects may be sorted in descending order of probability values, and then the candidate objects ranked in the top M positions in the sorting result are determined as target objects, where M is a positive integer.
[0096] As another embodiment, a candidate object with a probability value greater than a set probability threshold may be determined as a target object. Here, the probability threshold is, for example, 0.6.
[0097] In the latter embodiment described above, that is, when a trigger event of the search user on the first candidate hot word displayed on the search interface is detected, the first candidate hot word is determined as the search content triggered by the search user on the search interface. It can be first determined whether the search content corresponds to a set object. When it is determined that the search content corresponds to the set object, the set object is determined as a target object that matches the search content, and then the target object is displayed to realize returning the target object to the search user. Through this processing, the set object can be directly returned to the search user, so that the search user can directly access the set object, see Figure 5 , which is a schematic diagram showing the changes in the interface when the search user triggers the candidate hot word "home property insurance". It should be noted that the types of the above-mentioned set objects include but are not limited to articles, products, videos, tools, mutual assistance questions and answers and other information types.
[0098] When it is determined that the search content does not correspond to a set object, multiple target objects matching the search user can be further determined based on the user tag of the search user and at least one search intent, and then an information collection page containing multiple target objects is displayed to realize returning multiple target objects to the user. Furthermore, the search user can trigger any target object in the information collection page, and then display the target object. Figure 6 , in order to trigger the candidate hot word "social security payment" for search users, a collection page including social security card query service and social security calculator is displayed, and then a schematic diagram of the interface changes is displayed when the social security calculator is triggered.
[0099] Specifically, similar to the above-mentioned second prediction model, the third prediction model can be obtained by pre-training a large amount of sample data. Here, the sample data may include: the user's user label, at least one search intent, the content label of the candidate object, the text similarity between the candidate object and the search content, and the user's click status on the candidate object (including click and no click). Among them, the sample data can be extracted from the historical search behavior data of multiple users, and the search content refers to the user's historical search content. The third prediction model takes the user label, at least one search intent, the candidate object content label, and the text similarity between the candidate object and the search content as input, and takes the probability value of the user clicking on the candidate object as output.
[0100] Based on this, when it is determined that the search content does not correspond to the set object, all information whose content labels match the search content is first determined as candidate objects. Then, for each candidate object, the content label of the candidate object, the text similarity between the candidate object and the search content, the user label of the search user, and at least one search intention are input into the trained third prediction model to obtain the probability value of the search user clicking on the candidate object.
[0101] The matching of the content tag and the search content may refer to the semantic similarity between the content tag and the search content. For example, the similarity between the text vectors corresponding to each of the content tags and the search content may be calculated, and the similarity may represent the semantic similarity between the content tag and the search content, and then the content tag whose semantic similarity is greater than a set similarity threshold may be determined as the content tag matching the search content.
[0102] It can be seen that for the same search content, different search results can be recalled due to different user tags and search intentions of different users, thereby realizing personalized search result recommendations. For example, the search content triggered by two users is both "medical insurance", and the search intention of one user is to understand the product, and the search intention of the other user is to compare multiple products within the medical insurance category. Then, according to the above description, although the candidate objects determined for the same search content are the same, due to the different user tags and search intentions of the users, the probability of the two users clicking on the same candidate object will be different, and thus the candidate objects finally recalled by the two users will be different. For example, for the former user, the product introduction page is recalled first, while for the latter user, the product comparison tool is recalled first.
[0103] The technical solution provided by the embodiment of the present application determines the user tag of the search user and at least one search intention of the search user when it is detected that the search user enters the search interface, determines the search content triggered by the search user on the search interface, determines the target object matching the search user based on the user tag of the search user, at least one search intention, and the search content, and returns the target object to the search user. When the user implements the search, the target object ultimately returned to the user is determined based on the user tag, at least one search intention, and the search content. Therefore, in-depth mining of user intentions and user characteristics is achieved, and personalized search result recommendations can be made for different users based on the different intentions and different user characteristics of different users.
[0104] Corresponding to the embodiments of the aforementioned search method, the present application also provides embodiments of a search device.
[0105] See also Figure 7, is a block diagram of an embodiment of a search device provided in an embodiment of the present application, the device includes: a first determination module 71, a second determination module 72, a target determination module 73, and an information return module 74.
[0106] The first determination module 71 is used to determine the user tag of the search user and at least one search intention of the search user when detecting that the search user enters the search interface;
[0107] A second determination module 72, used to determine the search content triggered by the search user on the search interface;
[0108] A target determination module 73, configured to determine a target object matching the search user according to the user tag of the search user, at least one of the search intentions, and the search content;
[0109] The information return module 74 is used to return the target object to the search user for display.
[0110] In a possible implementation manner, the first determining module 71 includes: Figure 7 Not shown):
[0111] The user tag determination submodule is used to search a user tag table according to the user identifier of the search user, wherein the user tag table includes the association relationship between user identifiers and user tags; and determine the user tag associated with the user identifier of the search user as the user tag of the search user.
[0112] In one possible implementation, a label table construction module is used to construct the user label table, specifically including: determining user portraits of multiple users based on user information of multiple users; clustering the user portraits of multiple users to obtain multiple clusters; determining a user label corresponding to each of the clusters; and for each user, associating the user identifier of the user with the user label corresponding to the cluster to which the user portrait belongs, and storing them in the user label table.
[0113] In a possible implementation manner, the first determining module 71 includes: Figure 7 Not shown):
[0114] The intention determination submodule is used to obtain the historical browsing information of the search user within a set historical time period; match the historical browsing information with at least one set rule; when it is determined that the historical browsing information matches the set rule, determine the search intention corresponding to the set rule as the search intention of the search user.
[0115] In a possible implementation manner, the second determining module 72 is specifically configured to:
[0116] The search content input by the search user on the search interface is obtained.
[0117] In a possible implementation manner, the second determining module 72 is specifically configured to:
[0118] Based on the user tag of the search user and at least one of the search intentions, multiple candidate hot words are determined from the constructed hot word library, and the multiple candidate hot words are returned to the search user; when a trigger event of the search user on a first candidate hot word among the multiple candidate hot words is detected, the first candidate hot word is determined as the search content triggered by the search user on the search interface.
[0119] In a possible implementation, the second determining module 72 includes: Figure 7 Not shown):
[0120] The heat determination submodule is used to determine the heat value of each hot word in the constructed hot word library;
[0121] A first prediction submodule is used to input, for each of the hot words, the user tag of the search user, at least one of the search intentions, and the word heat value of the hot word into the trained first prediction model to obtain a probability value of the search user triggering the hot word;
[0122] The first determination submodule is used to determine a plurality of candidate hot words from the hot word library according to the probability value corresponding to each of the hot words.
[0123] In a possible implementation, the device further includes ( Figure 7 (not shown): hot word library construction module, specifically used for:
[0124] Acquire historical search contents of multiple users and information matching the historical search contents, wherein the multiple users include the search user; use the historical search contents and information matching the historical search contents as target text, process the target text to obtain multiple words; and classify each of the words as a hot word into a hot word library.
[0125] In a possible implementation manner, the target determination module 73 is specifically configured to:
[0126] The search content is identified to obtain a search entity and the object type referred to by the search entity; for each candidate object belonging to the object type, the similarity between the candidate object and the search content, the content label of the candidate object, the user label of the search user, and at least one search intention are input into a trained second prediction model to obtain a probability value of the search user clicking on the candidate object; based on the probability value corresponding to each candidate object, a target object matching the search user is determined from a plurality of candidate objects.
[0127] In a possible implementation manner, the target determination module 73 is specifically configured to:
[0128] Determine whether the search content corresponds to a set object; when it is determined that the search content corresponds to a set object, determine the set object as a target object that matches the search content; when it is determined that the search content does not correspond to a set object, determine a candidate object, whose content label matches the search content; for each of the candidate objects, input the similarity between the candidate object and the search content, the content label of the candidate object, the user label of the search user, and at least one of the search intentions into a trained third prediction model to obtain a probability value of the search user clicking on the candidate object; and determine a target object that matches the search user from a plurality of the candidate objects based on the probability value corresponding to each of the candidate objects.
[0129] The present application also provides a device, such as Figure 8 As shown, it includes a processor 801, a communication interface 802, a memory 803 and a communication bus 804, wherein the processor 801, the communication interface 802, and the memory 803 communicate with each other through the communication bus 804.
[0130] Memory 803, used for storing computer programs;
[0131] The processor 801 is used to execute the program stored in the memory 803, and implements the following steps:
[0132] When it is detected that a search user enters a search interface, the user tag of the search user is determined, and at least one search intention of the search user is determined; the search content triggered by the search user on the search interface is determined; based on the user tag of the search user, at least one search intention, and the search content, a target object matching the search user is determined; and the target object is returned to the search user for display.
[0133] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0134] The communication interface is used for communication between the above devices and other devices.
[0135] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0136] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0137] In another embodiment provided by the present application, a storage medium is also provided, in which instructions are stored. When the instructions are executed on a device, the computer executes the search method described in any one of the above embodiments.
[0138] In another embodiment provided by the present application, a computer program product including instructions is also provided, which, when executed on a device, enables the device to execute any of the search methods described in the above embodiments.
[0139] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a storage medium, or transmitted from one storage medium to another storage medium, for example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.
[0140] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0141] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0142] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.
Claims
1. A search method, characterized in that: include: When detecting that a search user enters the search interface, determining a user tag of the search user, and determining at least one search intention of the search user; Determining the search content triggered by the search user on the search interface; Determining a target object matching the search user according to the user tag of the search user, at least one of the search intentions, and the search content; Returning the target object to the search user for display; The determining a target object matching the search user according to the user tag of the search user, at least one of the search intentions, and the search content includes: Identify the search content to obtain a search entity and the type of object referred to by the search entity; For each candidate object belonging to the object type, the similarity between the candidate object and the search content, the content tag of the candidate object, the user tag of the search user, and at least one of the search intentions are input into the trained second prediction model to obtain a probability value of the search user clicking on the candidate object; Determining a target object matching the search user from a plurality of the candidate objects according to the probability value corresponding to each of the candidate objects; The determining the search content triggered by the search user on the search interface includes: According to the user tag of the search user and at least one of the search intentions, a plurality of candidate hot words are determined from the constructed hot word library, and the plurality of candidate hot words are returned to the search user; When a triggering event of a first candidate hot word among the plurality of candidate hot words is detected, the first candidate hot word is determined as the search content triggered by the search user on the search interface; The step of determining a plurality of candidate hot words from a constructed hot word library according to the user tag of the search user and at least one of the search intentions includes: Determine the word heat value of each hot word in the constructed hot word library; For each of the hot words, the user tag of the search user, at least one of the search intentions, and the word heat value of the hot word are input into the trained first prediction model to obtain a probability value of the search user triggering the hot word; According to the probability value corresponding to each of the hot words, a plurality of candidate hot words are determined from the hot word library.
2. The method according to claim 1, characterized in that: The determining the user tag of the searching user includes: Determining a user profile of the search user according to the user information of the search user; Determine the cluster to which the user profile of the search user belongs; A user tag of the searching user is determined according to the cluster.
3. The method according to claim 1, characterized in that The determining at least one search intention of the search user includes: Obtaining historical browsing information of the search user within a set historical time period; Matching the historical browsing information with at least one set rule; When it is determined that the historical browsing information matches the set rule, the search intention corresponding to the set rule is determined as the search intention of the search user.
4. The method according to claim 1, characterized in that: The determining the search content triggered by the search user on the search interface includes: The search content input by the search user on the search interface is obtained.
5. The method according to claim 1, characterized in that The method further includes: constructing the hot word library, specifically including: Acquire historical search contents of multiple users and information matching the historical search contents, wherein the multiple users include the search user; Taking the historical search content and information matching the historical search content as target text, and processing the target text to obtain a plurality of words; Each of the above words is classified as a hot word into a hot word library.
6. The method according to claim 5, characterized in that The method further comprises: Processing the target text by means of text segmentation, text clustering and regularization to obtain keywords of the target text; Determine whether there is a corresponding standard word for the keyword through a mapping relationship between a preset colloquial text and standard words related to the business scenario; If a standard word exists, the keyword is mapped to the standard word and included in the hot word library as a hot word; If there is no standard word, the keyword is included in the hot word library as a hot word.
7. The method according to claim 1, characterized in that The determining a target object matching the search user according to the user tag of the search user, at least one of the search intentions, and the search content includes: Determine whether the search content corresponds to a set object; When it is determined that the search content corresponds to a set object, determining the set object as a target object that matches the search content; When it is determined that the search content does not correspond to a set object, determining a candidate object, the content tag of the candidate object matches the search content; For each candidate object, the similarity between the candidate object and the search content, the content tag of the candidate object, the user tag of the search user, and at least one of the search intentions are input into the trained third prediction model to obtain a probability value of the search user clicking on the candidate object; According to the probability value corresponding to each of the candidate objects, a target object matching the search user is determined from the plurality of candidate objects.
8. The method according to claim 1, characterized in that The step of determining a target object matching the search user from a plurality of the candidate objects according to the probability value corresponding to each of the candidate objects includes: The target objects include at least articles, products, videos, tools and mutual Q&A.
9. A search device, characterized in that: include: A first determination module, configured to, when detecting that a search user enters a search interface, determine a user tag of the search user and determine at least one search intention of the search user; The second determination module is used to determine the search content triggered by the search user on the search interface, wherein the determination of the search content triggered by the search user on the search interface includes: According to the user tag of the search user and at least one of the search intentions, a plurality of candidate hot words are determined from the constructed hot word library, and the plurality of candidate hot words are returned to the search user; When a triggering event of a first candidate hot word among the plurality of candidate hot words is detected, the first candidate hot word is determined as the search content triggered by the search user on the search interface; The step of determining a plurality of candidate hot words from a constructed hot word library according to the user tag of the search user and at least one of the search intentions includes: Determine the word heat value of each hot word in the constructed hot word library; For each of the hot words, the user tag of the search user, at least one of the search intentions, and the word heat value of the hot word are input into the trained first prediction model to obtain a probability value of the search user triggering the hot word; Determine a plurality of candidate hot words from the hot word library according to the probability value corresponding to each of the hot words; A target determination module is used to determine a target object matching the search user according to a user tag of the search user, at least one search intent, and the search content; the determining a target object matching the search user according to the user tag of the search user, at least one search intent, and the search content includes: Identify the search content to obtain a search entity and the type of object referred to by the search entity; For each candidate object belonging to the object type, the similarity between the candidate object and the search content, the content tag of the candidate object, the user tag of the search user, and at least one of the search intentions are input into the trained second prediction model to obtain a probability value of the search user clicking on the candidate object; Determining a target object matching the search user from a plurality of the candidate objects according to the probability value corresponding to each of the candidate objects; The information return module is used to return the target object to the search user for display.
10. An electronic device, characterized in that: include: A processor and a memory, wherein the processor is used to execute a search program stored in the memory to implement the search method according to any one of claims 1 to 8.
11. A storage medium, characterized in that: The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the search method described in any one of claims 1 to 8.
12. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. The processor of the device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the device executes the search method described in any one of claims 1 to 8.
Citation Information
Patent Citations
Search word recommendation method, device and equipment and readable storage medium
CN111611491A
Search result sorting method, device and equipment and computer readable storage medium
CN111949898A