Location recommendation method, device, equipment and storage medium

By constructing a preset index data set of multiple different attributes and searching candidate locations from different dimensions, the problem of inaccurate position recommendations in the prior art is solved, and higher recommendation accuracy and user requirements matching are achieved.

CN112685525BActive Publication Date: 2025-04-11BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011608725.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-29
Publication Date
2025-04-11
Estimated Expiration
2040-12-29

AI Technical Summary

Technical Problem

In the prior art, the location recommendation is not accurate enough, resulting in the location expected by the user that cannot be effectively recommended.

Method used

By constructing a preset index data set of multiple different attributes, the candidate locations are searched from different dimensions according to the user's original search request, and based on the attribute scores and levels of the candidate locations, multiple associated locations associated with the user's current location are determined for recommendations.

Benefits of technology

Improve the accuracy and coverage of location recommendations, making the recommended location more in line with the actual needs of users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112685525B_ABST
    Figure CN112685525B_ABST
Patent Text Reader

Abstract

The present disclosure provides a location recommendation method, apparatus, device and storage medium, aiming to improve the accuracy of locations recommended to users, the method comprising: obtaining an original search request of a user terminal, the original search request including the current location of the user terminal; searching respectively for a plurality of preset index data sets of different attributes according to the original search request to obtain a plurality of candidate locations; determining a plurality of associated locations of the current location from the plurality of candidate locations according to the attributes of the preset index data set to which each candidate location belongs; and recommending the plurality of associated locations to the user terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a location recommendation method, device, equipment and storage medium. Background Art

[0002] With the development of positioning technology, it is often necessary to provide positioning services to users in related technologies. Generally speaking, when providing positioning services to users, the location related to the search term is returned to the user based on the search term sent by the user. For example, if the search term sent by the user is Oriental Pearl Tower, the user will be provided with the geographical location including the keyword of Oriental Pearl Tower.

[0003] However, when this location search method is used, the location recommended to the user is often not the desired location described by the user, resulting in inaccurate location recommendation. Summary of the invention

[0004] In order to solve the above problems, the present application provides a location recommendation method, apparatus, device and storage medium, aiming to improve the accuracy of locations recommended to users.

[0005] According to a first aspect of an embodiment of the present disclosure, a location recommendation method is provided, the method comprising:

[0006] Obtaining an original search request of a user terminal, wherein the original search request includes a current location of the user terminal;

[0007] According to the original search request, searching for a plurality of preset index data sets of different attributes respectively to obtain a plurality of candidate locations;

[0008] Determining multiple associated positions of the current position from the multiple candidate positions according to the attributes of the preset index data set to which each candidate position belongs;

[0009] The multiple associated locations are recommended to the user terminal.

[0010] Optionally, the method further comprises:

[0011] determining a target location from the plurality of associated locations;

[0012] When the target location is different from the current location, a target search request is constructed and a search operation is performed according to the target location and the search text in the original search request.

[0013] Optionally, after obtaining multiple candidate positions, the method further includes:

[0014] Deduplication is performed on candidate positions belonging to multiple preset index data sets among the multiple candidate positions to obtain multiple different positions;

[0015] Determining multiple associated positions of the current position from the multiple candidate positions according to the attributes of the preset index data set to which each candidate position belongs includes:

[0016] Determine the attribute scores of the plurality of different positions according to the attributes of the preset index data sets to which the plurality of different positions belong, and the data in the preset index data sets to which the plurality of different positions belong, wherein the attribute scores of the positions belonging to the plurality of preset index data sets are the sum of the scores corresponding to the attributes of the plurality of preset index data sets;

[0017] The plurality of associated positions are determined from the plurality of different positions in descending order of attribute scores.

[0018] Optionally, the method further comprises:

[0019] According to the number of preset index data sets to which the multiple different positions belong, the multiple different positions are layered, and the current position is placed in the highest layer, wherein the layer of the position to which the number of preset index data sets is larger is higher than the layer of the position to which the number of preset index data sets is smaller;

[0020] In descending order of the levels, for each associated position at the current level, in descending order of the attribute scores, at least one associated position is selected, and it is determined whether the number of the selected associated positions reaches a preset number;

[0021] When the number of selected associated positions does not reach the preset number, for each associated position at the next level, at least one associated position is selected in descending order of attribute scores until the number of selected associated positions reaches the preset number.

[0022] Optionally, determining a target location from the multiple associated locations includes:

[0023] Obtaining historical search requests of each user terminal located at the current location and the corresponding actual search location;

[0024] Searching in the preset index data sets of the plurality of different attributes according to the historical search requests of each user terminal to obtain the corresponding hit position;

[0025] According to the actual search position and the hit position, estimating the probability that the multiple associated positions are target positions;

[0026] The target position is determined according to the probabilities corresponding to the multiple associated positions.

[0027] Optionally, the method further comprises:

[0028] Obtaining the historical location of each sample terminal, the historical search request of each sample terminal, and the corresponding actual search location;

[0029] According to the historical search requests of each sample terminal, searching in the preset index data sets of the plurality of different attributes to obtain the corresponding hit positions;

[0030] Tagging the historical search requests of each sample terminal according to the historical position and the actual search position to generate a training sample, and / or, tagging the historical search requests of each sample terminal according to the historical position and the hit position to generate a training sample;

[0031] According to the training samples, a preset model is trained to obtain a location prediction model;

[0032] Determining a target location from the plurality of associated locations comprises:

[0033] The multiple associated positions and the current position are input into the position prediction model to obtain the target position.

[0034] Optionally, the plurality of preset index data sets of different attributes are obtained by the following steps:

[0035] Obtaining basic data from multiple different data sources respectively, wherein the basic data includes multiple location names; wherein the multiple different data sources include at least a data source of merchant data, a data source of landmark data, a data source of administrative region data, and a data source of user click behavior;

[0036] Perform word segmentation processing on multiple historical search requests of each user terminal to obtain multiple historical search phrases;

[0037] For the basic data in each data source, the mapping relationship between the multiple historical search phrases and the location names in the basic data is determined respectively, and a preset index data set corresponding to each data source is obtained.

[0038] According to a second aspect of the embodiments of the present disclosure, a location recommendation device is provided, the device comprising:

[0039] A first location obtaining module, configured to obtain an original search request of a user terminal, wherein the original search request includes a current location of the user terminal;

[0040] A second position obtaining module is used to search for a plurality of preset index data sets of different attributes respectively according to the original search request to obtain a plurality of candidate positions;

[0041] A third position obtaining module, configured to determine a plurality of associated positions of the current position from the plurality of candidate positions according to an attribute of a preset index data set to which each candidate position belongs;

[0042] The location recommendation module is used to recommend the multiple associated locations to the user terminal.

[0043] According to a third aspect of an embodiment of the present disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the location recommendation method as described in the first aspect when executed.

[0044] According to a fourth aspect of an embodiment of the present disclosure, a non-temporary computer-readable storage medium is provided. When instructions in the storage medium are executed by a processor, the operations performed by the location recommendation method described in any one of the first aspects can be performed.

[0045] In an embodiment of the present application, based on the original search request of the user terminal, multiple preset index data sets of different attributes can be searched separately to obtain multiple candidate locations; based on the attributes of the preset index data set to which each candidate location belongs, multiple associated locations of the current location of the user terminal are determined from the multiple candidate positions; and then, the multiple associated locations are recommended to the user terminal.

[0046] On the one hand, since multiple candidate locations are searched separately in preset index data sets of multiple different attributes, the multiple candidate locations searched can be understood as being searched based on different dimensions. In this way, the multiple candidate locations searched have a more comprehensive coverage, which can improve the accuracy of recommending locations to users later. On the other hand, since the location recommended to the user is associated with the user's current location, the location recommended to the user matches the user's current information, thereby improving the accuracy of recommending locations to the user. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0048] Figure 1 It is a flowchart of the steps of constructing a preset index data set of multiple different attributes shown in an embodiment of the present application;

[0049] Figure 2 is a flowchart of a location recommendation method according to an embodiment of the present application;

[0050] Figure 3 is a flowchart of a step of determining a target position from the multiple associated positions shown in an embodiment of the present application;

[0051] Figure 4 is another flowchart of steps for determining a target position from the multiple associated positions shown in an embodiment of the present application;

[0052] Figure 5 It is a schematic diagram of a framework of a location recommendation device shown in an embodiment of the present application. DETAILED DESCRIPTION

[0053] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions 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 creative work are within the scope of protection of this application.

[0054] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0055] In the related art, when recommending a location to a user based on the user's search request, the location corresponding to the search term in the search request is generally recommended to the user, and the recommended location is often recommended based on the search term, and its coverage is not comprehensive, resulting in inaccurate locations recommended to the user. For example, if a user searches for "Oriental Pearl" in Beijing, stores related to "Oriental Pearl" in Beijing will generally be recommended to the user. However, the user is actually traveling in Beijing, and the search for Oriental Pearl is to obtain hotels and restaurants near the next stop, Oriental Pearl in Shanghai. However, the search results do not include the Oriental Pearl in Shanghai.

[0056] As a result, the related art has the problem that the locations recommended to users are not accurate enough and the coverage is not high enough.

[0057] In view of this, the applicant has proposed a location recommendation method, the main idea of ​​which is to pre-construct multiple index data sets of different attributes, and when receiving a user's search request, search for relevant locations from the index data sets of different attributes respectively, so as to search for locations from different dimensions, thereby improving the coverage of location search, and then recommend the searched locations associated with the user's current location to the user terminal.

[0058] First, how to obtain a plurality of preset index databases of different attributes in this application is introduced. Specifically, Figure 1 As shown, a flowchart of steps for constructing a plurality of preset index data sets of different attributes is shown, which may specifically include the following steps:

[0059] Step S101: acquiring basic data from a plurality of different data sources respectively, wherein the basic data includes a plurality of location names.

[0060] The multiple different data sources include at least a data source of merchant data, a data source of landmark data, a data source of administrative area data, and a data source of user click behavior.

[0061] In this embodiment, different data sources store data with different attributes. It should be noted that the data stored in each data source may be data associated with a geographic location. The data associated with a geographic location may include a location name, which may be a name representing a region, such as a city name, a street name, etc. For example, the data source of merchant data stores merchant data, such as "Haidilao", where there is Haidilao in every city, and the location name may be the location of a Haidilao store.

[0062] The data source of administrative region data stores administrative division data, for example, Beijing's administrative division data. The data source of landmark data can store landmark buildings in various regions, for example, the Oriental Pearl Tower in Shanghai. The data source of user click behavior can store behavior data of multiple users who have clicked on locations in the past, including the location clicked by the user and the location where the user was when clicking on the location.

[0063] In this embodiment, different data sources may be linked through different data interfaces, or different databases may be used as data sources.

[0064] Step S102: performing word segmentation processing on multiple historical search requests of each user terminal to obtain multiple historical search phrases.

[0065] In this embodiment, the historical search request may refer to a search request for a location by the user terminal during the historical process. The search term used by the user during the search may be carried in the historical search request, and the search term may include the name of the target to be searched. For example, it may be a city name, a merchant name, etc. Furthermore, word segmentation processing may be performed on the search terms in each historical search request to obtain historical search word groups.

[0066] When specifically implemented, when performing word segmentation processing on the search terms in the historical search request, one historical search request may obtain one or more historical search word groups. For example, if the search term in the historical search request issued by the user is "Oriental Pearl", the search terms may be "Oriental Pearl", "Pearl", and "Oriental". Another example is that if the search term in the historical search request issued by the user is "Haidilao", the search term is "Haidilao".

[0067] Step S103: For the basic data in each data source, respectively determine the mapping relationship between the multiple historical search word groups and the location names in the basic data to obtain a preset index data set corresponding to each data source.

[0068] In this embodiment, since multiple historical search word groups are obtained, for the basic data in each data source, the multiple location names in the data source may be mapped to the multiple historical search word groups, so as to obtain a mapping relationship between one historical search word group and one or more location names.

[0069] For example, taking the data source of merchant data as an example, the location names of the store locations of each merchant are stored in this data source. Assuming the historical search word group is "Haidilao", then map "Haidilao" to the location names of the stores of the "Haidilao" merchant. Specifically, since there are Haidilao stores in Chengdu, Shanghai, and Beijing, the historical search word group "Haidilao" is mapped to these three cities: Chengdu, Shanghai, and Beijing.

[0070] Another example is taking the data source of landmark data as an example. The location names of the landmark buildings are stored in this data source. Assuming the historical search word group is "Haidilao", and if there is no landmark building named "Haidilao" in this data source, then there is no mapping relationship for this historical search word group "Haidilao". However, for the historical search word group "Oriental Pearl", a mapping relationship between "Oriental Pearl" and Shanghai will be established.

[0071] In this way, for each data source, a mapping relationship between the historical search word group and the location name can be established. After establishing the mapping relationship, the preset index data set of this data source is obtained. In each preset index data set, since there is a mapping relationship between the historical search word group and the location name, the corresponding location name can be obtained according to this mapping relationship and the search term in the user search request.

[0072] Of course, in practice, in order to obtain a richer and more comprehensive mapping relationship between historical search phrases and location names, a sufficient number of historical search requests can be obtained. In this way, enough historical search phrases can be obtained, and when a location search is performed subsequently, a more comprehensive location can be searched.

[0073] After constructing a plurality of preset index data sets of different attributes, these preset index data sets can be used as data sources to support search queries for original search requests of user terminals.

[0074] Specifically, refer to Figure 2 As shown, a flowchart of a location recommendation method according to an embodiment of the present application is shown. Specifically, the method can be applied to a server or a terminal device, and can include the following steps:

[0075] Step S201: obtaining an original search request of a user terminal, wherein the original search request includes the current location of the user terminal.

[0076] In this embodiment, the original search request of the user terminal may refer to the search request initially sent by the user. The original search request may carry the search term used by the user, and the original search request may carry the current location of the user terminal.

[0077] Specifically, when the user of the user terminal enters a search term in the application interface and clicks search, the original search request can be generated and then sent to the server. The server can obtain the original search request and parse the original search request to obtain the search term in the original search request and the current location of the user.

[0078] In one example, the content in the original search request may be processed to obtain the search term. For example, a keyword is extracted from the content in the original search request and used as the search term. The keyword may refer to the content after long-tail words are removed. For example, meaningless words such as "nearby" and "next to" are first discarded, and for the remaining content, a sliding window method is used to extract the key search term to obtain the search term.

[0079] Step S202: According to the original search request, multiple preset index data sets of different attributes are searched respectively to obtain multiple candidate positions.

[0080] In this embodiment, since the original search request can carry a search term, a search can be performed in multiple preset index data sets of different attributes based on the search term. That is, since each preset index data set has a mapping relationship between historical search phrases and location names, for each preset index data set, the search term can be used as a query unit to search for one or more location names that have a mapping relationship with the search term in the preset index data set.

[0081] In specific implementation, one or more location names that have a mapping relationship with the search term and are searched from each preset index data set can be used as candidate locations, thereby obtaining multiple candidate locations. In this embodiment, searching for candidate locations from preset index data sets of different attributes can be considered as searching for candidate locations from different dimensions. For example, searching for candidate locations from the preset index data set corresponding to the data source of administrative area data is searching from the administrative dimension, while searching for candidate locations from the preset index data set corresponding to the merchant data source is searching from the merchant dimension.

[0082] Since the location search is performed from different dimensions according to the search terms, the comprehensiveness of the location search can be improved, that is, the candidate locations obtained by the search can cover a variety of situations, so that the obtained candidate locations are very comprehensive.

[0083] In this embodiment, the multiple candidate locations searched out can be understood as locations to be recommended to the user terminal, and which candidate location to recommend to the user terminal specifically needs to be further screened. The screening process is described in step S203 below.

[0084] Step S203: determining a plurality of associated positions of the current position from the plurality of candidate positions according to the attributes of the preset index data set to which each candidate position belongs.

[0085] In this embodiment, since different preset index data sets are established based on basic data in different data sources, and the basic data in different data sources have different attributes, for example, for the data source of administrative area data, the data source stores the administrative geographical location, such as a certain street, etc.; and for the data source of merchant data, it stores the merchant's data.

[0086] In this way, the candidate locations searched from different preset index data sets represent the association of different attributes between the candidate location and the search term. The candidate location searched from the merchant data source represents the association between the candidate location and the search term, which is the association between the merchant and the location. For example, if the search term is "Haidilao" and Beijing, Shanghai, and Chengdu are searched from the merchant data source, then the association between the candidate location and "Haidilao" is the association between the merchant and the location.

[0087] For another example, a candidate location searched from a data source of administrative area data indicates that there is an administrative association between the candidate location and the search term. For example, if the search term is "Wangjing" and "Wangjing East Road" is searched from the data set, it indicates that "Wangjing" and "Wangjing East Road" have an administrative association.

[0088] In the present embodiment, since searching for candidate positions from different preset index data sets can be considered as searching for candidate positions from different dimensions, different weights can be set for different search dimensions, that is, different weights can be set for preset index data sets of different attributes. Then, for a candidate position, the importance of the candidate position can be determined based on the weight corresponding to the preset index data set for searching the candidate position, and then based on their importance, multiple associated positions associated with the current position can be determined from the multiple candidate positions.

[0089] Among them, the multiple associated locations associated with the current location can be understood as the same location as the current location, or locations associated with businesses near the current location, or locations associated with user behavior data related to the current location.

[0090] The importance of the candidate location can represent the degree of match between the candidate location and the search term, so that the candidate location with a high degree of match can be determined as an associated location associated with the current location. For example, when searching for Wangjing, Wangjing East Road searched from the administrative division data source is more accurate than Sohu Building searched from the merchant data source.

[0091] Step S204: recommending the multiple associated locations to the user terminal.

[0092] In this embodiment, multiple associated positions may be recommended to the user terminal. Of course, a target position that is more compatible with the user terminal may also be determined from the multiple associated positions and sent to the user terminal.

[0093] By adopting the technical solution of the embodiment of the present application, multiple candidate locations are searched out by searching respectively in preset index data sets of multiple different attributes. In this way, the multiple candidate locations searched out can be understood as being searched out based on different dimensions. In this way, the coverage of the multiple candidate locations searched out is relatively comprehensive, which can improve the accuracy of recommending locations to users in the later stage. On the other hand, since the location recommended to the user is associated with the user's current location, the location recommended to the user matches the user's current information, thereby improving the accuracy of recommending locations to the user.

[0094] In this implementation, after obtaining multiple associated locations, the target location can be determined from the multiple associated locations; when the target location is different from the current location, a target search request is constructed and a search operation is performed based on the target location and the search text in the original search request.

[0095] In this embodiment, the target location that is ultimately recommended to the user terminal can be determined from multiple associated locations. If the target location is different from the current location, the target location and the search text in the original search request can be used as search terms. After the target search request is constructed, the search operation corresponding to the target search request is executed, and the search results obtained from the search operation are fed back to the user terminal.

[0096] The search operation performed may be a route search operation between the target location and the current location, and the corresponding search result may be a route between the target location and the current location. Alternatively, the search may be a search for hotspot merchants near the target location, and the search result may be merchants near the target location.

[0097] Next, the process of how to obtain the target position in the embodiment of the present application is introduced.

[0098] First, to obtain the target position, it is necessary to first screen out multiple associated positions based on multiple candidate positions, and the process of obtaining multiple associated positions can be described as follows.

[0099] 1.1, the process of obtaining multiple associated positions.

[0100] In the present embodiment, since the candidate positions are searched out from preset index data sets of multiple different attributes, the same position may be searched out from different preset index data sets. In this case, after obtaining the multiple candidate positions, the multiple candidate positions can be deduplicated. Specifically, the candidate positions among the multiple candidate positions that belong to multiple preset index data sets can be deduplicated to obtain multiple different positions.

[0101] Among them, deduplication may refer to removing candidate locations that are the same as other candidate locations from multiple candidate locations. For example, Beijing, Shanghai, and Chengdu are searched from the preset index data set corresponding to the merchant data source, and Beijing and Guangzhou are searched from the preset index data set corresponding to the administrative division data source. Then, two Beijings are included in the obtained candidate locations. At this time, only one Beijing can be retained.

[0102] Accordingly, when determining multiple associated positions of the current position from the multiple candidate positions based on the attributes of the preset index data set to which each candidate position belongs, the attribute scores of the multiple different positions can be first determined based on the attributes of the preset index data set to which the multiple different positions each belong and the data in the preset index data set to which the multiple different positions each belong, and then the multiple associated positions can be determined from the multiple different positions in order of the attribute scores from high to low.

[0103] The attribute score of the position belonging to the plurality of preset index data sets is the sum of the scores corresponding to the attributes of the plurality of preset index data sets.

[0104] In this embodiment, different weights can be set in advance for preset index data sets of different attributes. After obtaining the candidate position, the attribute score of the candidate position can be calculated according to the weight corresponding to the attribute of the preset index data set from which the candidate position comes. Since for a candidate position, it may be searched out from multiple preset index data sets, the candidate position can be considered to be hit by multiple preset index data sets. In this way, the attribute score of the candidate position hit by multiple preset index data sets is the sum of the scores corresponding to the attributes of the multiple preset index data sets.

[0105] For example, Beijing, Shanghai, and Chengdu are searched from the preset index data set corresponding to the merchant data source, and Beijing and Guangzhou are searched from the preset index data set corresponding to the administrative division data source. Beijing comes from two preset index data sets. Assuming that the weight corresponding to the preset index data set corresponding to the merchant data source is 0.3, and the weight corresponding to the preset index data set corresponding to the administrative division data source is 0.6, the attribute score of Beijing is 0.9.

[0106] In this embodiment, when a candidate position is hit by multiple preset index data sets, it can be characterized that the candidate position is highly associated with the search term in the original search request, and the probability that the candidate position is the position actually required by the user terminal is higher. Therefore, the multiple associated positions can be determined from multiple different positions in the order of the attribute scores of each candidate position from high to low. For example, the first N different positions can be used as associated positions. In this way, the determined associated position is more likely to be the position actually required by the user terminal, thereby improving the accuracy of recommending positions to the user terminal.

[0107] In yet another example, in order to improve the search efficiency and accuracy of the associated positions, the multiple associated positions may be determined from the multiple different positions by the following steps:

[0108] Step 1: hierarchize the multiple different positions according to the number of preset index data sets to which the multiple different positions respectively belong, and place the current position in the highest layer.

[0109] The level of the position to which a larger number of preset index data sets belong is higher than the level of the position to which a smaller number of preset index data sets belong.

[0110] In this embodiment, if a candidate position is hit by multiple preset index data sets, indicating that the candidate position is highly associated with the search term in the original search request, the candidate position may be placed in a higher layer. For example, a candidate position hit by N preset index data sets is placed in the first layer, a candidate position hit by N-1 preset index data sets is placed in the second layer, and so on.

[0111] In one example, in order to ensure that the current location of the user terminal can be recalled, the candidate location that is the same as the current location can be placed in the first layer. For example, if the user's current location is Beijing, Beijing among the candidate locations can be placed in the first layer.

[0112] Step 2: In descending order of hierarchy, for each associated position at the current level, in descending order of attribute scores, select at least one associated position, and determine whether the number of selected associated positions reaches a preset number.

[0113] Step 3: When the number of selected associated positions does not reach the preset number, for each associated position at the next level, select at least one associated position in descending order of attribute scores until the number of selected associated positions reaches the preset number.

[0114] In this embodiment, each candidate position in each level can be arranged in descending order according to its attribute score. Thus, when filtering each associated position in descending order according to the level, in the current level, filtering can also be performed in descending order according to the attribute score.

[0115] For example, assuming there are three levels, you can first select at least one associated position in the first level according to the order of attribute scores from high to low. If the number of candidate positions in the first level does not reach the preset number, all candidate positions in the first level will be used as associated positions, and continue to filter out associated positions in the second level according to the order of attribute scores from high to low, and so on, until the number of filtered associated positions reaches the preset number.

[0116] If the number of candidate positions in the first level exceeds a preset number, the preset number of positions arranged in front of the level are used as associated positions in descending order of attribute scores.

[0117] In this way, the candidate locations are divided by level and attribute score, so that the importance of the candidate locations can be distinguished. In this way, the matching degree between the searched associated locations and the original search request of the user terminal is improved, thereby improving the accuracy of location recommendation.

[0118] Through the above method, multiple associated locations associated with the current location can be determined. Since the multiple candidate locations searched are first deduplicated and then distinguished according to the importance of the candidate locations, the multiple candidate locations are truncated according to the importance. In this way, it is ensured that the target location most desired by the user will not have no analysis results due to truncation. At the same time, for the hit candidate locations, the importance of each candidate location is sorted using the attributes of the preset index data set, so that the probability that the selected associated location is the location desired by the user can be 98.8%, which is a highly accurate location recommendation method.

[0119] 1.2, the process of determining a target location from multiple associated locations.

[0120] Reference Figure 3 As shown, a flowchart of the steps of determining a target position from the multiple associated positions in an embodiment of the present application is shown, which may specifically include the following steps:

[0121] Step S301: obtaining historical search requests of each user terminal located at the current location and the corresponding actual search location.

[0122] In this embodiment, the historical search request may include historical search terms, which may represent the user's search needs, wherein the actual search location refers to the location actually clicked by the user in the search results returned by the historical search request. For example, if the historical search term is "Haidilao", and the user clicks Chengdu Haidilao among the returned Beijing Haidilao, Shanghai Haidilao, and Chengdu Haidilao, then the actual search location is Chengdu.

[0123] Step S302: searching in the preset index data sets of the plurality of different attributes according to the historical search requests of each user terminal to obtain corresponding hit positions.

[0124] In this embodiment, as described in steps S201 to S202 above, the search terms in the historical search request can be processed to obtain historical search terms. In this way, the historical search terms are used as query terms to search in preset index data sets of different attributes to obtain the position mapped by the historical search terms, which is the hit position.

[0125] Accordingly, after deduplication is performed on all hit positions searched from the preset index data sets of different attributes, a plurality of different hit positions can be obtained.

[0126] Step S303: based on the actual search position and the hit position, estimate the probability that the multiple associated positions are the target positions.

[0127] In this embodiment, since the actual search position is the position actually clicked by the user, it can reflect the user's actual search demand for the position, and the hit position is searched from a preset index data set based on historical search requests. These hit positions can be considered as candidate positions recommended to the user. Therefore, based on the hit position and the actual search position, the gap between the searched hit position and the position actually required by the user can be reflected, that is, the probability of each hit position being the actual search position can be obtained.

[0128] Based on this, in this embodiment, the probability that multiple associated positions are target positions can be estimated based on the probability that each hit position is the actual search position, wherein the target position here can be understood as an abstract concept that represents the position that the user actually requires.

[0129] Step S304: Determine the target location according to the probabilities corresponding to the multiple associated locations.

[0130] In this embodiment, the target position can be determined according to the order of the probabilities corresponding to the multiple associated positions from high to low. Of course, the target position can be one or more. When the target position is one, the associated position with the highest probability can be used as the target position. When there are multiple target positions, the multiple associated positions arranged in front can be determined as the target position.

[0131] When the target location determination process of this embodiment is adopted, the target location can be recommended to the current user based on the historical location search situations of various user terminals, so that the accuracy of the location recommended to the user can be improved.

[0132] In another example, in order to improve the intelligence and efficiency of determining the target location from multiple associated locations, the location prediction model can be used to determine the target location. Specifically, referring to Figure 4 As shown, another flow chart of steps for determining the target position is shown, such as Figure 4 As shown, the process of obtaining the location prediction model may include the following steps:

[0133] Step S401: Obtain the historical location of each sample terminal, the historical search request of each sample terminal, and the corresponding actual search location.

[0134] The sample terminal can be understood as a terminal determined from multiple user terminals for selection as sample data. Generally speaking, the historical position of the sample terminal can refer to the position of the sample terminal in the historical process. The historical search request can refer to the location search performed by the sample terminal in the historical process. The historical search request can include historical search terms, which can represent the search needs of the user of the sample terminal. The actual search position refers to the position actually clicked by the user of the sample terminal in the search results returned by the historical search request. As described in the example of step S301 above, the historical search term is "Haidilao", and the user clicks Chengdu Haidilao in the returned results of Beijing Haidilao, Shanghai Haidilao, and Chengdu Haidilao, then the actual search position is Chengdu.

[0135] Step S402: According to the historical search requests of each sample terminal, a search is performed in the preset index data sets of the plurality of different attributes to obtain a corresponding hit position.

[0136] In this embodiment, as described in step S302, the search terms in the historical search request of the sample terminal can be processed to obtain the historical search terms, and the historical search terms are used as query terms to search in the preset index data sets of different attributes to obtain the position mapped by the historical search terms, which is the hit position. Accordingly, after deduplication of all hit positions searched from the preset index data sets of different attributes, multiple different hit positions are obtained.

[0137] Step S403: generating training samples, specifically including:

[0138] According to the historical position and the actual search position, the historical search requests of the various sample terminals are labeled to generate training samples, and / or, according to the historical position and the hit position, the historical search requests of the various sample terminals are labeled to generate training samples.

[0139] Among them, when labeling the historical search requests of each sample terminal according to the historical location and the actual search location, the historical location and the actual search location can reflect whether the user's location is the same as the location actually searched by the user. Further, it can reflect the probability that the actual search location is the user's historical location. In this way, the label in the historical search request can represent the probability that the location searched by the user is the location where the user is. For example, the user searched for "Oriental Pearl" in Beijing, but the user actually clicked on "Shanghai". In this way, it represents that the user expects to search for "Oriental Pearl" in Shanghai in Beijing, and the label in the corresponding historical search request needs to reflect that the actual search location is not the historical location.

[0140] Among them, when labeling the historical search requests of each sample terminal according to the historical location and the hit location, the historical location and the hit location can reflect whether the user's location is the same as the searched hit location, and further, can reflect the probability that the hit location is the user's historical location. In this way, the label in the historical search request can represent the probability that the location searched by the server is the user's location. For example, the user searched for "Oriental Pearl" in Beijing, but in fact, the multiple hit locations searched include Shanghai and Beijing. In this way, it represents that the searched Shanghai is not the user's location, and the searched Beijing is the user's location.

[0141] Of course, in practice, the historical search requests of each sample terminal can also be labeled according to the historical location, hit location and actual search location to generate training samples. In this case, the relationship between the user's historical location, the searched hit location and the user's actual search location can be integrated to reflect the real location search needs of each user. In this way, the location prediction model obtained through training can more accurately obtain the relationship between the user's current location, multiple associated locations and the location that the user actually wants to search, thereby helping to more accurately determine whether each hit location is the target location actually required by the user.

[0142] Step S404: training a preset model according to the training samples to obtain a position prediction model.

[0143] In this embodiment, when the historical search requests of each sample terminal are labeled according to the historical location and the actual search location to generate training samples, the process of using the training samples to train the preset model can be considered as allowing the preset model to continuously learn the relationship between the location actually searched by the group users and the actual location of the users. That is, through a series of processing of the data in the training samples, the real needs of the group users for location search can be refined as a whole.

[0144] In this way, the obtained location prediction model can predict whether the associated location is the classification result of the associated location actually required by the user, and the classification result can be used to help determine the target location for the user. For example, the classification result of an associated location indicates that it is the associated location actually required by the user, and then the associated location can be recommended to the user.

[0145] When labeling the historical search requests of each sample terminal according to the historical location and the hit location and generating training samples, the location prediction model obtained after training the preset model with the training samples can predict the classification result that the searched hit location is the location required by the user. The target location can be determined for the user based on the classification result. For example, the classification result indicates that the searched hit location (associated location) is the location actually required by the user, and the associated location can be recommended to the user.

[0146] The location prediction models obtained by training the preset models with the two training samples can reflect the probability that the associated location searched by the server is the location actually required by the user. That is, it can reflect the probability that the search results of Shanghai, Nanjing, and Beijing obtained by the user searching for "Oriental Pearl" in Beijing are the search results of Beijing that the user wants.

[0147] Accordingly, after obtaining the location prediction model, the location prediction model can be used to classify multiple associated locations to obtain a target location recommended to the user. Specifically, the multiple associated locations and the current location can be input into the location prediction model to obtain the target location.

[0148] In this embodiment, after obtaining the location prediction model, it can help determine whether the obtained multiple associated locations are the classification results of the location required by the user. In practice, the classification results can be marked with probability, and then, based on the probability, the target location recommended to the user can be determined. Specifically, the multiple associated locations and the user's current location can be input into the location prediction model, and then the probability that the associated location is the location actually required by the user can be obtained. Based on the probability, the target location recommended to the user can be obtained.

[0149] Among them, when multiple associated locations and the user's current location are input into the location prediction model, each associated location can be regarded as the location that the user actually wants to search for, and the output probability can reflect the probability that the associated location actually searched is the target location actually required by the user.

[0150] Through this implementation, since the location prediction model is used to determine the target location recommended to the user from multiple related locations, the intelligence and efficiency of location recommendation can be improved.

[0151] Based on the same inventive concept as the above embodiment, the second aspect of the embodiment of the present disclosure provides a location recommendation device 500, such as Figure 5 As shown, the location recommendation device 500 may specifically include the following modules:

[0152] A first location obtaining module 501 is used to obtain an original search request of a user terminal, wherein the original search request includes a current location of the user terminal;

[0153] A second position obtaining module 502 is used to search for a plurality of preset index data sets of different attributes respectively according to the original search request to obtain a plurality of candidate positions;

[0154] A third position obtaining module 503 is used to determine multiple associated positions of the current position from the multiple candidate positions according to the attributes of the preset index data set to which each candidate position belongs;

[0155] The location recommendation module 504 is configured to recommend the multiple associated locations to the user terminal.

[0156] Optionally, the device may further include the following modules:

[0157] A location determination module, configured to determine a target location from the plurality of associated locations;

[0158] The search module is used to construct a target search request and perform a search operation according to the target location and the search text in the original search request when the target location is different from the current location.

[0159] Optionally, the device may further include the following modules:

[0160] A deduplication module, used for deduplicating candidate positions belonging to multiple preset index data sets among the multiple candidate positions to obtain multiple different positions;

[0161] The third position obtaining module 503 may specifically include the following units:

[0162] a score determination unit, configured to determine the attribute scores of each of the plurality of different positions according to the attributes of the preset index data sets to which the plurality of different positions belong, and the data in the preset index data sets to which the plurality of different positions belong, wherein the attribute scores of the positions belonging to the plurality of preset index data sets are the sum of the scores corresponding to the attributes of the plurality of preset index data sets;

[0163] The screening unit is used to determine the multiple associated positions from the multiple different positions in descending order of attribute scores.

[0164] Optionally, the device may further include the following modules:

[0165] a stratification module, configured to stratify the plurality of different positions according to the number of preset index data sets to which the plurality of different positions belong respectively, and place the current position at the highest level, wherein positions to which a large number of preset index data sets belong are located at a higher level than positions to which a small number of preset index data sets belong;

[0166] A first selection module is used to select at least one associated position for each associated position at the current level in the order of the attribute scores from high to low, and to determine whether the number of the selected associated positions reaches a preset number;

[0167] The second selection module is used to select at least one associated position for each associated position at the next level in descending order of attribute scores when the number of selected associated positions does not reach a preset number, until the number of selected associated positions reaches the preset number.

[0168] Optionally, the location determination module may specifically include the following units:

[0169] An information obtaining unit, used to obtain historical search requests of each user terminal located at the current location and the corresponding actual search location;

[0170] A position search unit, configured to search in the plurality of preset index data sets with different attributes according to the historical search requests of each user terminal, and obtain a corresponding hit position;

[0171] A probability estimation unit, configured to estimate the probability that the plurality of associated positions are target positions according to the actual search position and the hit position;

[0172] The determination unit is used to determine the target position according to the probabilities corresponding to the multiple associated positions.

[0173] Optionally, the device may further include the following modules:

[0174] A sample acquisition module, used to obtain the historical location of each sample terminal, the historical search request of each sample terminal, and the corresponding actual search location;

[0175] A search module, configured to search in the plurality of preset index data sets with different attributes according to the historical search requests of each sample terminal, and obtain the corresponding hit position;

[0176] A sample generation module, configured to label the historical search requests of each sample terminal according to the historical position and the actual search position to generate a training sample, and / or label the historical search requests of each sample terminal according to the historical position and the hit position to generate a training sample;

[0177] A model training module, used to train a preset model according to the training samples to obtain a location prediction model;

[0178] The location determination module is specifically used to input the multiple associated locations and the current location into the location prediction model to obtain the target location.

[0179] Optionally, the plurality of preset index data sets of different attributes are obtained by the following steps:

[0180] Obtaining basic data from multiple different data sources respectively, wherein the basic data includes multiple location names; wherein the multiple different data sources include at least a data source of merchant data, a data source of landmark data, a data source of administrative region data, and a data source of user click behavior;

[0181] Perform word segmentation processing on multiple historical search requests of each user terminal to obtain multiple historical search phrases;

[0182] For the basic data in each data source, the mapping relationship between the multiple historical search phrases and the location names in the basic data is determined respectively, and a preset index data set corresponding to each data source is obtained.

[0183] It should be noted that the device embodiment is similar to the method embodiment, so the description is relatively simple, and the relevant parts can be referred to the method embodiment.

[0184] An embodiment of the present invention further provides an electronic device, which may include a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor is configured to execute the location recommendation method.

[0185] The embodiment of the present disclosure also provides a non-temporary computer-readable storage medium. When the instructions in the storage medium are executed by a processor, the processor is enabled to perform an operation to implement the above-mentioned location recommendation method of the present disclosure.

[0186] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0187] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0188] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0189] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0190] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0191] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0192] Finally, 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 terminal 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 terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0193] The above is a detailed introduction to a location recommendation method, device, equipment and storage medium provided by the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A location recommendation method, characterized in that: The method comprises: obtaining an original search request of a user terminal, wherein the original search request includes the current location of the user terminal; searching respectively for a plurality of preset index data sets of different attributes according to the original search request to obtain a plurality of candidate locations; determining a plurality of associated locations of the current location from the plurality of candidate locations according to the attributes of the preset index data set to which each candidate location belongs; and recommending the plurality of associated locations to the user terminal; After obtaining a plurality of candidate positions, the method further includes: removing duplicates from the candidate positions belonging to a plurality of preset index data sets among the plurality of candidate positions to obtain a plurality of different positions; determining a plurality of associated positions of the current position from the plurality of candidate positions according to the attributes of the preset index data set to which each candidate position belongs, including: determining the attribute scores of the plurality of different positions according to the attributes of the preset index data sets to which the plurality of different positions respectively belong and the data of the plurality of different positions in the preset index data sets to which they respectively belong, wherein the attribute scores of the positions belonging to the plurality of preset index data sets are the sum of the scores corresponding to the attributes of the plurality of preset index data sets; determining the plurality of associated positions from the plurality of different positions in descending order of the attribute scores; When a candidate position is searched out from multiple preset index data sets, that is, is hit by multiple preset index data sets, it indicates that the candidate position has a high degree of association with the search term in the original search request.

2. The method according to claim 1, characterized in that: The method further includes: determining a target location from the multiple associated locations; and when the target location is different from the current location, constructing a target search request and performing a search operation based on the target location and the search text in the original search request.

3. The method according to claim 1, characterized in that The method also includes: stratifying the multiple different positions according to the number of preset index data sets to which the multiple different positions respectively belong, and placing the current position in the highest layer, wherein the layer where the positions to which the number of preset index data sets is larger is located at a higher layer than the positions to which the number of preset index data sets is smaller; selecting at least one associated position for each associated position in the current layer in order of the attribute scores from high to low, and judging whether the number of the selected associated positions reaches the preset number; when the number of the selected associated positions does not reach the preset number, selecting at least one associated position for each associated position in the next layer in order of the attribute scores from high to low, until the number of the selected associated positions reaches the preset number.

4. The method according to claim 2, characterized in that: Determining a target location from the multiple associated locations includes: obtaining historical search requests of each user terminal located at the current location and the corresponding actual search location; searching in a preset index data set of the multiple different attributes according to the historical search requests of each user terminal to obtain a corresponding hit location; estimating the probability that the multiple associated locations are the target locations according to the actual search location and the hit location; and determining the target location according to the probabilities corresponding to each of the multiple associated locations.

5. The method according to claim 2, characterized in that: The method also includes: obtaining the historical location of each sample terminal, the historical search request of each sample terminal, and the corresponding actual search location; searching in the preset index data set of the multiple different attributes according to the historical search request of each sample terminal to obtain the corresponding hit location; labeling the historical search request of each sample terminal according to the historical location and the actual search location to generate a training sample, and / or, labeling the historical search request of each sample terminal according to the historical location and the hit location to generate a training sample; training a preset model according to the training sample to obtain a location prediction model; determining the target location from the multiple associated locations, including: inputting the multiple associated locations and the current location into the location prediction model to obtain the target location.

6. The method according to any one of claims 1 to 5, characterized in that: The preset index data sets of the multiple different attributes are obtained through the following steps: obtaining basic data from multiple different data sources respectively, the basic data including multiple location names; wherein the multiple different data sources include at least a data source of merchant data, a data source of landmark data, a data source of administrative area data, and a data source of user click behavior; performing word segmentation processing on multiple historical search requests of each user terminal to obtain multiple historical search phrases; for the basic data in each data source, determining the mapping relationship between the multiple historical search phrases and the location names in the basic data respectively, to obtain the preset index data sets corresponding to each data source.

7. A location recommendation device, characterized in that: The device comprises: a first position acquisition module, used to obtain an original search request of a user terminal, wherein the original search request includes the current position of the user terminal; a second position acquisition module, used to search for a plurality of preset index data sets of different attributes respectively according to the original search request to obtain a plurality of candidate positions; a third position acquisition module, used to determine a plurality of associated positions of the current position from the plurality of candidate positions according to the attributes of the preset index data set to which each candidate position belongs; and a position recommendation module, used to recommend the plurality of associated positions to the user terminal; A deduplication module is used to deduplicate candidate positions belonging to multiple preset index data sets among the multiple candidate positions to obtain multiple different positions; according to the attributes of the preset index data set to which each candidate position belongs, determine multiple associated positions of the current position from the multiple candidate positions, including: according to the attributes of the preset index data set to which the multiple different positions respectively belong, and the data of the multiple different positions in the preset index data set to which they respectively belong, determine the attribute scores of the multiple different positions respectively, wherein the attribute scores of the positions belonging to the multiple preset index data sets are the sum of the scores corresponding to the attributes of the multiple preset index data sets; according to the order of the attribute scores from high to low, determine the multiple associated positions from the multiple different positions; When a candidate position is searched out from multiple preset index data sets, that is, is hit by multiple preset index data sets, it indicates that the candidate position has a high degree of association with the search term in the original search request.

8. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor is executed, the location recommendation method according to any one of claims 1 to 6 is implemented.

9. A computer-readable storage medium, characterized in that: The computer program stored therein enables the processor to execute the location recommendation method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Position recommendation method and device, electronic equipment and computer readable storage medium

    CN111488527A

  • A navigation apparatus and method for searching point of interest thereof

    KR1020110120690A