Method and device for searching information points

By using a POI search method that expands the address on the client side and generates a second search text using local user data, the problem that existing POI search results cannot meet personalized needs is solved, resulting in more accurate search results and a better user experience.

CN120804443APending Publication Date: 2025-10-17HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511064855.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2021-06-17
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

In existing technologies, POI search results cannot meet users' personalized needs, resulting in a poor user experience. This is because the user profiles on the server side cannot accurately reflect users' personal information.

Method used

The client obtains the search text entered by the user and the user data stored locally, performs address expansion to generate a second search text, and sends it to the server to obtain search results that better match the user's true intent.

Benefits of technology

It improves the personalization and accuracy of search results, meets users' actual needs, enhances user experience, and avoids the risk of user privacy leaks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120804443A_ABST
    Figure CN120804443A_ABST
Patent Text Reader

Abstract

The invention provides an information point searching method and device, a client performs address extension on a first search text according to the first search text input by a user and first user data stored in the client to obtain a second search text comprising the first search text and first address information obtained based on the first user data, and the second search text is used for searching the first address information. The first address information in the second search text is closely related to the personal information of the user, and the address large probability represented by the first address information represents the address of the POI expected to be searched by the user, so that the large probability in the POI search results fed back by the server based on the second search text can comprise the search results of the POI which the user is interested in or expected by the user; the real search intention of the user is met, the personalized requirements of the user are met, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application, the original application number is 202110670104.3, the original application date is June 17, 2021, and the entire contents of the original application are incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the technical field of search, more particularly, to a method and device for searching information points. BACKGROUND

[0003] POI (point of information) search is a basic requirement of users in the mobile Internet era and has been integrated into every aspect of life, such as daily travel, tourism, catering, etc.

[0004] In the prior art, the process of POI search is roughly as follows: the client sends the search text input by the user to the server, the server analyzes the search text, searches for search results matching the search text using the user portrait of the server, sorts the search results, and feeds back the search results to the client. Since the user portrait of the server cannot well reflect the information related to the user personally, in some scenarios, the search results fed back by the server may not meet the personalized needs of the user, and the user experience is not high.

[0005] Therefore, it is necessary to provide a technology that can meet the personalized needs of users as much as possible and improve the user experience. SUMMARY

[0006] The present application provides a method and device for POI search, which can output search results meeting the real search intention of the user based on the search text input by the user, meet the personalized needs of the user, and improve the user experience.

[0007] In a first aspect, a method for searching information points is provided, comprising:

[0008] obtaining a first search text input by a user;

[0009] determining a second search text according to the first search text and first user data of the client, the first user data comprising a set of addresses, the second search text comprising the first search text and first address information, the first address information representing at least one address, each address corresponding to an information point POI matching the first search text, and each address being related to an address in the set of addresses;

[0010] sending a search request to a server, the search request comprising the second search text;

[0011] receive a plurality of POI search results sent by the server in response to the search request, the plurality of POI search results including M POI search results matching the second search text, M being an integer greater than or equal to 1.

[0012] The first search text is content related to a POI. Exemplarily, the first search text can be at least one of a name of a POI, a type of a POI, or an address of a POI, etc.

[0013] The first user data is local data stored in the client, and the first user data records a large amount of personal information of the user. Exemplarily, the first user data can include application data such as short messages, memos, etc. including local personal information.

[0014] The POI corresponding to each address represents a POI having the address, or the address of the POI is the address corresponding to the POI.

[0015] The POI corresponding to each address matches the first search text, which can be understood as that the related content of the POI corresponding to each address has relevance with the first search text. Exemplarily, the related content of the POI having relevance with the first search text can be represented as the related content of the POI being the same as or partially the same as the first search text, and the related content of the POI can be at least one of a type of the POI, a name of the POI, or an address of the POI.

[0016] Each address represented by the first address information is related to an address in the address set, which has the following two explanations.

[0017] The first explanation: each address represented by the first address information is an address in the address set.

[0018] The second explanation: each address represented by the first address information is obtained based on an address in the address set corresponding to the each address, wherein the address in the address set corresponding to the each address is an address in the address set having the same regional range as the each address.

[0019] The method for searching information points provided in the embodiments of the present application, a client performs address expansion on a first search text input by a user and first user data stored in the client, obtains a second search text comprising the first search text and first address information obtained based on the first user data, sends the second search text to a server through a search request, and the server feeds back a plurality of POI search results based on the second search text. Since the second search text is the search text comprising the first address information obtained based on the first user data of the client, the first address information is closely related to the user, and the address represented by the first address information will probably represent the address of the POI that the user expects to search for, therefore, the POI search results fed back by the server based on the second search text will probably comprise the search results of the POI that the user is interested in or expects, which meets the real search intention of the user, satisfies the personalized needs of the user, improves the user experience, and improves the search performance. In addition, since the first user data is stored in the client of the user personally, the problem of user privacy leakage is avoided as much as possible.

[0020] Optionally, the determining the second search text according to the first search text and the first user data of the client comprises:

[0021] According to the first search text, a candidate POI text set is filtered out from the first user data, each candidate POI text in the candidate POI text set matches the first search text and comprises address information, and the address represented by the address information in each candidate POI text is an address in the address set.

[0022] According to the first search text and the candidate POI text set, the second search text is determined, and each address represented by the first address information is related to the address represented by the address information in the candidate POI text set.

[0023] Wherein, the matching of the candidate POI text and the first search text means that the candidate POI text comprises the same content as part or all of the content of the first search text.

[0024] The method for searching information points provided in the embodiments of the present application performs address expansion on the first search text based on the candidate POI text set filtered from the first user data, and obtains the second search text, which can obtain relatively effective addresses to obtain relatively effective second search text, and reduce the search cost of the server. In addition, when the number of candidate POI texts is small, the method has good applicability and can also reduce the long processing delay caused by the additional multiple filtering of the client.

[0025] Optionally, the candidate POI set includes a plurality of candidate POI texts; and the determining the second search text according to the first search text and the candidate POI text set includes:

[0026] filtering, from the candidate POI text set, a final candidate POI text according to the validity time of the POI corresponding to each candidate POI text and / or the popularity of the POI corresponding to each candidate POI text;

[0027] determining the second search text according to the first search text and the final candidate POI text, each address represented by the address information in the first address information being related to an address represented by the address information in the final candidate POI text.

[0028] The method for searching information points provided by the embodiments can further reduce the number of candidate POI texts by performing second filtering on the candidate POI text set filtered from the first user data, and can obtain more effective addresses to better reduce the search text of the server. In addition, the second filtering on the candidate POI text set is performed according to the validity time of the POI corresponding to the candidate POI text, which considers the timeliness of the POI and can effectively exclude invalid POIs. The second filtering is performed according to the popularity of the POI corresponding to the candidate POI text, which considers the attention of the user to the POI and can effectively sort the POIs that are not interesting to the user.

[0029] Optionally, the popularity of the POI corresponding to each candidate POI text includes the frequency of occurrence of the POI in the client.

[0030] Optionally, the method further includes:

[0031] performing feature extraction on each POI search result to determine at least one feature value corresponding to the each POI search result, the at least one feature value corresponding to the each POI search result including a historical click number of the POI corresponding to the each POI search result, the historical click number being obtained based on software development kit (SDK) log data of the client, the SDK log data recording a click operation of a user on a POI in each APP;

[0032] sorting the plurality of POI search results according to the at least one feature value corresponding to the each POI search result to determine a recommended order.

[0033] The method for searching information points provided in the embodiments of the present application is performed on the multiple POI search results fed back by the server, the client extracts features of each POI search, obtains at least one feature value including the historical click times of the POI corresponding to each POI search result, sorts the multiple POI search results based on the at least one feature value, and obtains the final recommended sorting. Since the historical click times of the POI by the user can reflect the attention degree of the user to the POI, sorting the multiple POI search results based on the historical click times of the POI corresponding to each POI search result can obtain a sorting more personalized to the user. More importantly, compared with the server that can only obtain the click times of the POI in a certain APP, the SDK log data recording the click operations of the POI by various APPs can obtain all the historical click times of the POI by the user, realizes data sharing among various APPs, can obtain a sorting more personalized to the user, and meets the personalized needs of the user. Moreover, in the sorting, the POI search result expected by the user is most probably the first POI search result in the multiple POI search results, which can enable the user to quickly see the POI search result expected by the user, and further improve the user experience.

[0034] Optionally, the sorting, according to the at least one feature value corresponding to each POI search result, of the multiple POI search results to determine the recommended sorting comprises:

[0035] sorting, according to the at least one feature value corresponding to each POI search result, of the multiple POI search results to determine a client sorting;

[0036] determining the recommended sorting according to the client sorting and a server sorting obtained by sorting, by the server, the multiple POI search results, wherein the first POI search result in the recommended sorting is the first POI search result in the client sorting, and the sorting of the POI search results other than the first POI search result in the recommended sorting is the sorting of the POI search results other than the first POI search result in the server sorting.

[0037] The first POI search result in the recommended sorting is the first POI search result in the recommended sorting, and the first POI search result in the client sorting is the first POI search result in the client sorting.

[0038] The method for searching information points provided in the embodiments of the present application considers the historical click times of the user on POIs in the client-side sorting, and the first POI search result in the client-side sorting is most likely to be the POI search result expected by the user. Therefore, taking the first POI search result in the client-side sorting as the first POI search result in the recommended sorting can enable the user to quickly see the POI search result expected by the user, and the recommended sorting has the user personalization feature and good user experience. Meanwhile, the server-side sorting is related to the user portrait, and the server-side sorting has the common characteristics of a type of users. Therefore, taking the sorting of the POI search results other than the first POI search result in the server-side sorting as the sorting of the POI search results other than the first POI search result in the recommended sorting can meet the common experience of the user. Therefore, the recommended sorting obtained by comprehensively considering the client-side sorting and the server-side sorting not only has the user personalization feature, but also has the user common feature, and the comprehensive performance of the recommended sorting is better, and the user experience is better.

[0039] Optionally, the at least one feature value corresponding to each POI search result further includes at least one of the following:

[0040] a feature value for representing the relevance between the second search text and the POI corresponding to each POI search result, or

[0041] a distance between the address currently located by the client and the POI corresponding to each POI search result, or

[0042] a feature value of the type of the POI corresponding to each POI search result.

[0043] Optionally, the client-side sorting is obtained according to a learning-to-rank (LTR) model; and the method further includes:

[0044] updating the SDK log data according to the click operation of the user on at least one POI search result in the plurality of POI search results, to update the LTR model.

[0045] The method for searching information points provided in the embodiments of the present application updates the SDK log data according to the click operation of the user on the POI search result, to update the LTR model, which can enable the LTR model to learn the click behavior of the user in real time, and can learn the habits of the user more quickly, better and more effectively, further improve the personalized needs of the user, and further improve the user experience.

[0046] Optionally, the search request further includes the first search text; and

[0047] The plurality of POI search results further include N POI search results matching the first search text in addition to the M POI search results, N being an integer greater than or equal to 1.

[0048] The method for searching information points provided in the embodiments of the present application can avoid the failure of guessing the search intention, retain the first search text reflecting the original intention of the user and the second search text reflecting the real search intention of the user, and thus can make the server feedback all possible search results as much as possible to comprehensively reflect all intentions of the user, improve the comprehensiveness and accuracy of the search results, and further improve the user experience.

[0049] Optionally, the second search text is an encrypted search text.

[0050] The method for searching information points provided in the embodiments of the present application can avoid the failure of guessing the search intention, retain the first search text reflecting the original intention of the user and the second search text reflecting the real search intention of the user, and thus can make the server feedback all possible search results as much as possible to comprehensively reflect all intentions of the user, improve the comprehensiveness and accuracy of the search results, and further improve the user experience.

[0051] In a second aspect, a device for searching information points is provided, comprising a processing unit and a transceiving unit,

[0052] The processing unit is configured to obtain a first search text input by a user.

[0053] The processing unit is further configured to determine a second search text according to the first search text and first user data of the device, the first user data comprising a set of addresses, the second search text comprising the first search text and first address information, the first address information representing at least one address, each address corresponding to an information point POI matching the first search text, and each address being related to an address in the set of addresses.

[0054] The transceiving unit is configured to send a search request to a server, the search request comprising the second search text.

[0055] The transceiving unit is further configured to receive a plurality of POI search results sent by the server in response to the search request, the plurality of POI search results comprising M POI search results matching the second search text, M being an integer greater than or equal to 1.

[0056] Optionally, the processing unit is specifically configured to:

[0057] The processing unit is further configured to: filter a candidate POI text set from the first user data according to the first search text, each candidate POI text in the candidate POI text set matches the first search text and includes address information, and the address represented by the address information in each candidate POI text is an address in the address set; and determine the second search text according to the first search text and the candidate POI text set, and each address represented by the first address information is related to an address represented by address information in the candidate POI text set. Optionally, the candidate POI set includes a plurality of candidate POI texts; and the processing unit is specifically configured to: filter a final candidate POI text from the candidate POI text set according to a valid time of a POI corresponding to each candidate POI text and / or a popularity of the POI corresponding to each candidate POI text; and determine the second search text according to the first search text and the final candidate POI text, and each address represented by the first address information is related to an address represented by address information in the final candidate POI text. Optionally, the processing unit is further configured to: perform feature extraction on each POI search result to determine at least one feature value corresponding to the each POI search result, the at least one feature value corresponding to the each POI search result includes a historical click number of a POI corresponding to the each POI search result, and the historical click number is obtained based on software development kit (SDK) log data of the device, and the SDK log data records a click operation of a user on a POI in each application program (APP); and sort the plurality of POI search results according to the at least one feature value corresponding to the each POI search result to determine a recommendation ranking. Optionally, the processing unit is specifically configured to: sort the plurality of POI search results according to the at least one feature value corresponding to the each POI search result to determine a client ranking; and determine the recommendation ranking according to the client ranking and a server ranking obtained by sorting the plurality of POI search results on the server, wherein a first POI search result in the recommendation ranking is a first POI search result in the client ranking, and a ranking of a POI search result other than the first POI search result in the recommendation ranking is a ranking of a POI search result other than the first POI search result in the server ranking. Optionally, the at least one feature value corresponding to the each POI search result further includes at least one of the following: a feature value used to represent a relevance between the second search text and a POI corresponding to the each POI search result, a distance between a current address of the device and the POI corresponding to the each POI search result, or a feature value of a type of the POI corresponding to the each POI search result.Optionally, the client ranking is obtained according to a learning-to-rank (LTR) model; and the processing unit is further configured to update the SDK log data according to a click operation of a user on at least one of the plurality of POI search results, to update the LTR model. Optionally, the search request further comprises the first search text; and the plurality of POI search results further comprise N POI search results matching the first search text in addition to the M POI search results, N being an integer greater than or equal to 1. Optionally, the second search text is an encrypted search text. In a third aspect, a device for searching information points is provided, and the device is configured to perform the method provided in the first aspect. Specifically, the device can include modules for performing any of the possible implementation manners of the first aspect. In a fourth aspect, a device for searching information points is provided, and the device includes a processor. The processor is coupled with a memory and is configured to execute instructions in the memory to implement the method in any of the possible implementation manners of the first aspect. Optionally, the device further includes the memory. Optionally, the device further includes a communication interface, and the processor is coupled with the communication interface. In a fifth aspect, a computer-readable storage medium is provided, and the computer-readable storage medium stores a computer program. When the computer program is executed by a device, the device implements the method in the first aspect or any of the possible implementation manners. In a sixth aspect, a computer program product is provided, and the computer program product includes instructions. When the instructions are executed by a computer, the device implements the method in any of the possible implementation manners of the first aspect. In a seventh aspect, a chip is provided, and the chip includes an input interface, an output interface, a processor, and a memory. The input interface, the output interface, the processor, and the memory are connected through internal connection paths. The processor is configured to execute code in the memory. When the code is executed, the processor is configured to execute the method in any of the possible implementation manners of the first aspect. BRIEF DESCRIPTION OF DRAWINGS

[0058] Figure 1 A schematic diagram of a search system provided by an embodiment of the present application.

[0059] Figure 2 A schematic flowchart of a POI search method provided by an embodiment of the present application.

[0060] Figure 3 A GUI of a map provided by an embodiment of the present application.

[0061] Figure 4 A schematic diagram of converting a message in which a hotel is preselected in a short message into a semi-structured POI text provided by an embodiment of the present application.

[0062] Figure 5is a schematic flowchart of determining a second search text by a client according to a first search text and first user data provided by an embodiment of the present application.

[0063] Figure 6 is another schematic flowchart of determining a second search text by a client according to a first search text and first user data provided by an embodiment of the present application.

[0064] Figures 7 to 9 is another GUI of a map provided by an embodiment of the present application.

[0065] Figure 10 is a schematic diagram of a system of POI search provided by an embodiment of the present application.

[0066] Figure 11 is a schematic diagram of interaction between an OS module and a TEE module of a server provided by an embodiment of the present application.

[0067] Figure 12 is a schematic block diagram of an apparatus of POI search provided by an embodiment of the present application.

[0068] Figure 13 is a schematic structural diagram of an apparatus of POI search provided by an embodiment of the present application. DETAILED DESCRIPTION

[0069] The technical solutions in the present application will be described below with reference to the accompanying drawings.

[0070] In the existing POI search, the client sends the search text input by the user to the server, the server analyzes the search text, searches for the search results matching the search text using the user portrait of the server, and feeds back the search results to the client after sorting. The user portrait is a labeled portrait abstracted according to the user demographic information, social relationship, preference habit, and consumption behavior, etc. For example, the user label of a certain person is foodie, and the server searches and sorts to preferentially feed back the restaurant type POI. Since the user portrait represents the characteristics of a certain type of people, it cannot well reflect the information related to the individual user, and therefore, in some scenarios, the search results fed back by the server do not meet the individual needs of the user, affecting the user experience.

[0071] Exemplarily, in a scenario, a user is resident in Shenzhen and needs to go to Hangzhou for business trip, books a Yada Hotel on Jiangling Road in Binjiang, Hangzhou, and after receiving a short message sent by a platform that the hotel booking is successful, the user wants to call a map to search for the Yada Hotel booked in Hangzhou before departure. On a search interface of the map, the user inputs "Yada", and since the user is currently located in Shenzhen, all Yada Hotels displayed on the search interface are in Shenzhen. Actually, the user wants the server to feed back search results including the Yada Hotel on Jiangling Road in Binjiang, Hangzhou. Therefore, the above search results do not meet the actual needs of the user, do not meet the personalized needs of the user, and the user experience is not high.

[0072] Based on this, the embodiment of the present application provides a POI search method. A client performs address expansion on a first search text input by a user and first user data stored in the client to obtain an expanded second search text. The second search text includes address information obtained based on the first user data. The second search text is sent to a server through a search request, and the server feeds back search results based on the second search text. Since the second search text is a search text including address information obtained based on the first user data of the client, the address information is closely related to the user, and the address represented by the address information is likely to represent the address of the POI that the user expects to search for. Therefore, the search results obtained based on the second search text are likely to output search results that meet the real search intention of the user, meet the actual needs of the user, meet the personalized needs of the user, and improve the user experience. In addition, since the user data is stored in the client, the problem that the user's privacy cannot be protected due to storage of the user data in the server is avoided.

[0073] It should be noted that the embodiment of the present application can be applied to any possible search field, for example, can be applied to the field of map search.

[0074] Figure 1 The search system provided by the embodiment of the present application is shown in the schematic diagram. The search system 100 includes a client 110 and a server 120, and the client 110 can be connected with the server 120 through a wired or wireless network.

[0075] The client 110 has functions of requesting search data, storing data, processing data, etc. Exemplarily, the client 110 can be a mobile phone, a tablet computer, an electronic reader, a personal computer, a vehicle-mounted device, a wearable device, a smart home device, etc., which can directly interact with the user.

[0076] In the embodiments of the present application, the client 110 stores user data, which includes two types of data. The first type of data is referred to as first user data, which is application data including local personal information such as short messages, memos, and the like. The second type of data can be understood as user behavior data, which can be software development kit (SDK) log data, and mainly records the use of an application (APP) by the user on the client, including but not limited to: the time at which the user opened a certain APP, the time at which the user closed the APP, the time at which the APP crashed, the frequency at which the user clicked the APP, the frequency at which the user clicked certain content of the APP, and the like.

[0077] In some embodiments, the client 110 can perform address expansion on the first search text input by the user based on the first user data to obtain second search text including address information, so that the server feeds back search results based on the second search text.

[0078] In other embodiments, the client 110 can reorder the search results fed back by the server in combination with the SDK log data to obtain search results with more accurate ordering that meet the actual needs of the user.

[0079] The server 120 has a data search function, a data storage function, and a function of feeding back search results according to a search request sent from the client 110. The server 120 can be a computing device or a server or the like for searching data. Exemplarily, the server 120 can be a server running in a remote server cluster in a data center.

[0080] In the following, the POI search method of the embodiments of the present application is described in detail. Figures 2 to 9 The POI search method of the embodiments of the present application is described in detail.

[0081] Figure 2 is a schematic flowchart of the POI search method 200 provided by the embodiments of the present application.

[0082] In S210, the client obtains first search text input by the user.

[0083] The first search text is related to a POI. Exemplarily, the first search text can be at least one of the name of the POI, the type of the POI, or the address of the POI. Taking the ADO hotel on Jiangling Road in Binjiang, Hangzhou as an example, the name of the POI is ADO, the type of the POI is hotel, and the address of the POI is Jiangling Road in Binjiang, Hangzhou, or Hangzhou.

[0084] In this step, exemplarily, the user can input the first search text through the search box of the APP of the client. For example, Figure 3 A graphical user interface (GUI) of a map is shown, which includes a search box 301 in which the user can manually input or voice input the first search text (e.g., Yada).

[0085] In S220, the client determines a second search text according to the first search text and first user data of the client, the first user data including a set of addresses, the second search text including the first search text and first address information, the first address information representing at least one address, each address corresponding to a POI matching the first search text, and each address being related to an address in the set of addresses.

[0086] In this step, the purpose is to expand the first search text based on the first search text and the first user data to obtain the second search text including the first address information and the first search text, and to accurately guess the real search intention of the user as much as possible.

[0087] The first user data is stored in the local data of the client, and records a large amount of personal information of the user. Based on the first user data, a plurality of POI texts for representing POIs can be obtained, each POI text corresponding to a POI, and each POI text including at least one of the following for the corresponding POI: source information (e.g., short message, memo) representing the source of the POI, name information (e.g., Yada, Shangri-La) representing the name of the POI, type information (e.g., hotel, restaurant, scenic spot, shopping mall) representing the type of the POI, address information (e.g., Jiangling Road, Binjiang, Hangzhou) representing the address of the POI, time information representing the valid time of the POI, and heat information representing the heat of the POI. Among them, the address information of the POI can represent an address, the valid time of the POI can be represented by a start time (start_time) and an end time (end_time), and the heat information of the POI can reflect the heat of the user's attention to a certain POI. Exemplarily, the heat of the POI can be represented by the frequency of the POI appearing in the client.

[0088] For ease of description, the set formed by the above-mentioned plurality of POI texts is referred to as a POI text set.

[0089] In the POI text set, a part of the POI texts can include address information, another part of the POI texts can not include address information, or all the POI texts can include address information. Therefore, each of the POI texts in the at least part of the POI texts includes an address information, and all the address information in the at least part of the POI texts can form the addresses in the address set. The at least part of the POI texts includes part or all of the POI texts in the POI text set. For example, the POI text set includes 5 POI texts, 3 of which include address information, and the other 2 of which do not include address information. Therefore, part of the POI texts in the POI text set include address information, and all the address information in the 3 POI texts is 3 address information, which forms the addresses in the address set. For another example, the POI text set includes 8 POI texts, each of which includes address information. Therefore, all the POI texts in the POI text set include address information, and there are totally 8 address information, which forms the addresses in the address set.

[0090] Exemplarily, the first user data can include application data such as short messages, memos, and the like including local personal information. For example, the user's recent schedule is recorded in the user's memo, which is the data of the first user data. For another example, the content of booking a hotel and a transportation tool in the user's travel is recorded in the short message, which is the data of the first user data.

[0091] In some embodiments, the client can filter and extract the first user data to obtain the plurality of POI texts.

[0092] In an example, when the client filters the first user data, some useless information irrelevant to POI can be filtered out by keywords or mobile phone number segments. For example, in the short message, the bank notification information and the advertising information can be filtered out.

[0093] In an example, the client can use natural language processing (NLP) technology to extract the filtered first user data to obtain the plurality of POI texts.

[0094] In order to facilitate data processing, the client can use semi-structured data to represent the POI texts, and the POI texts represented by the semi-structured data can be referred to as semi-structured POI texts. Figure 4 is a schematic diagram of converting a message of booking a hotel in a short message into a semi-structured POI text provided by an embodiment of the present application. Figure 4 (a) in is the content of the short message, Figure 4(b) semi-structured POI text in the text, where the source information indicates that the text source is a short message, the name information indicates that the name of the POI is "Yaduo Hotel", the type information indicates that the type of the POI is "hotel", the address information indicates that the detailed address of the POI is "Hangzhou Binjiang", the time information includes start_time and end_time, start_time indicates that the start time of the valid time is "2021.4.3", end_time indicates that the end time of the valid time is "2021.4.5", and the frequency information indicates that the frequency of the POI appearing locally on the client is "3", indicating the popularity of the POI.

[0095] In the embodiments of the present application, each address corresponds to a POI, or the address of the POI is the address corresponding to the POI.

[0096] The POI corresponding to each address matches the first search text, which can be understood as the relevant content of the POI corresponding to each address having relevance with the first search text. For example, the relevant content of the POI having relevance with the first search text can be represented by the relevant content of the POI being the same or partially the same as the content of the first search text, and the relevant content of the POI can be at least one of the type of the POI, the name of the POI, or the address of the POI. For example, the first search text is "Yaduo", and the address represented by the first address information is the address of the Yaduo Hotel matching "Yaduo", "Yaduo" is the name of the POI, and the content of the first search text is the same as the name of the POI, having relevance.

[0097] The addresses in the address set represent at least part of the addresses in the address set, which are part or all of the addresses in the address set.

[0098] Each address represented by the first address information is related to the address in the address set, which has the following two explanations.

[0099] The first explanation: each address represented by the first address information is an address in the address set. For example, the address set includes 4 addresses, one of which is "Xian High-tech Zone, 5th Road of Zhaba", the first address information represents one address, the address represented by the first address information is also "Xian High-tech Zone, 5th Road of Zhaba", and the address represented by the first address information is an address in the address set.

[0100] The second explanation: each address represented by the first address information is based on an address corresponding to the each address in the address set, wherein the address corresponding to the each address in the address set is an address in the address set having the same area range as the each address. For the convenience of description, the "address corresponding to the each address in the address set" is briefly described as "corresponding address in the address set". Exemplarily, the area range of each address represented by the first address information is greater than the area range of the corresponding address in the address set. For example, the address set includes four addresses, two of which are "Zhangba Road, Gaoxin District, Xi'an City" and "Chongye Road, Yanta District, Xi'an City", and the first address information represents two addresses, one of which is "Gaoxin District, Xi'an City" and the other of which is "Yanta District, Xi'an City". The area range of "Gaoxin District, Xi'an City" is greater than the area range of "Zhangba Road, Gaoxin District, Xi'an City", and the area range of "Yanta District, Xi'an City" is greater than the area range of "Chongye Road, Yanta District, Xi'an City".

[0101] In the embodiment of the present application, in the process of determining the second search text, the client can perform first screening according to the first search text and the first user data to obtain candidate POI texts matched with the first search text. If the number of candidate POI texts after the first screening is not large, the second search text can be determined according to the candidate POI texts after the first screening. If the number of candidate POI texts after the first screening is large, in order to reduce the search load of the server, second screening can be performed to obtain fewer candidate POI texts, so that the second search text is determined based on the candidate POI texts after the second screening.

[0102] Next, based on the first screening and the second screening, two ways of determining the second search text by the client according to the first search text and the first user data are described in detail.

[0103] Method 1: first screening

[0104] Figure 5 is a schematic flowchart of determining the second search text by the client according to the first search text and the first user data provided in the embodiment of the present application.

[0105] In S221, the client screens candidate POI text set from the first user data according to the first search text, wherein each candidate POI text in the candidate POI text set matches the first search text and includes address information, and the address represented by the address information in the each candidate POI text is an address in the address set.

[0106] As described above, the client can obtain a POI text set based on the first user data, and the client can perform text matching between the first search text and POI texts in the POI text set, and filter at least one candidate POI text including address information and matching the first search text from the POI text set, the at least one candidate POI text forming a candidate POI text set.

[0107] Each candidate POI text in the candidate POI text set matches the first search text, each candidate POI text includes address information, and the address information of each candidate POI text represents an address.

[0108] It should be understood that in this process, the client has filtered out POI texts without address information, and each candidate POI text filtered out includes address information.

[0109] It should also be understood that the candidate POI texts described in the embodiments of the present application match the first search text, which means that the candidate POI texts include the same content as part or all of the content of the first search text. For example, the first search text is "Yaduo", and the filtered candidate POI text includes "Yaduo".

[0110] When the number of candidate POI texts in the candidate POI text set is greater than 1, the other information of the POI corresponding to each candidate POI text is not limited. Continuing with the example where the first search text is "Yaduo", each candidate POI text can be a "Yaduo" at a different address, for example, each candidate POI text can be a Yaduo hotel in different areas of Hangzhou, a Yaduo hotel in different areas of Xi'an, etc.

[0111] Suppose the POI text set includes four POI texts, which are as follows:

[0112] POI text 1: Yaduo, hotel, Hangzhou City xxx1, valid time 1, frequency 3;

[0113] POI text 2: Yaduo, hotel, Hangzhou City xxx2, valid time 2, frequency 2;

[0114] POI text 3: Qitian, hotel, Shenzhen City xxx3, valid time 3, frequency 3;

[0115] POI text 4: Xianggelila, hotel, Shenzhen City xxx4, valid time 4, frequency 3;

[0116] The first search text is "Yaduo", and based on the four POI texts and the first search text, two candidate POI texts are obtained, which are POI text 1 and POI text 2.

[0117] In the embodiments of the present application, the client can include an index module, which includes index libraries corresponding to various types of POIs, and each type of index library stores POI texts corresponding to the type of POI. For example, the index module includes index libraries of types of "hotel", "scenic spot", and "restaurant", and the plurality of POI texts obtained based on the first user data correspond to the three types of POIs. The POI texts corresponding to "hotel" are stored in the index library of the type of "hotel", the POI texts corresponding to "scenic spot" are stored in the index library of the type of "scenic spot", and the POI texts corresponding to "restaurant" are stored in the index library of the type of "restaurant".

[0118] Based on this, the client can find candidate POI texts matching the first search text in the index library corresponding to the type of POI matching the first search text based on the first search text. For example, the first search text is "Yaduo", and the type is "hotel". The client finds candidate POI texts matching "Yaduo" in the index library of the type of "hotel".

[0119] In S222, the client determines the second search text based on the first search text and the set of candidate POI texts, and each address represented by the first address information is related to the address represented by the address information in the set of candidate POI texts.

[0120] In this step, the client determines the first address information based on the address information in the set of candidate POI texts, and determines the second search text based on the first address information and the first search text. For example, the client can combine the first address information and the first search text together to form the second search text.

[0121] The address information in the set of candidate POI texts represents at least part of the address information in the set of candidate POI texts, and the at least part of the address information is part or all of the address information in the set of candidate POI texts. Each address information in the at least part of the address information is address information in a candidate POI text. It should be understood that all address information in the set of candidate POI texts represents the sum of the address information of each candidate POI text in the set of candidate POI texts. For example, the set of candidate POI texts includes three candidate POI texts, and the three candidate POI texts include three address information, which is all the address information in the set of candidate POI texts.

[0122] Each address represented by the first address information is related to an address represented by address information in the candidate POI text set, which can have two interpretations. The first interpretation: each address represented by the first address information is an address represented by address information in the candidate POI text set. The second interpretation: each address represented by the first address information is obtained based on an address corresponding to the each address among addresses represented by address information in the candidate POI text set, wherein the address corresponding to the each address among addresses represented by address information in the candidate POI text set is an address having the same regional range as the each address among addresses represented by address information in the candidate POI text set. For specific examples of the two interpretations, refer to the description of "each address represented by the first address information is related to an address in the address set" above, replace "an address in the address set" with "an address represented by address information in the candidate POI text set", and the rest is not repeated.

[0123] For example, the first search text is "Yaduo", the candidate POI text set includes two candidate POI texts, the address information of one candidate POI text represents an address of "Hangzhou Binjiang Jiangling Road", and the address information of another candidate POI text represents an address of "Hangzhou Fuyang District", then the second search text can be represented as: Yaduo, Hangzhou Binjiang, Hangzhou Fuyang, or the second search text can be represented as: Yaduo, Hangzhou Binjiang Jiangling, Hangzhou Fuyang.

[0124] It should be understood that the fewer the number of candidate POI texts, the better, and when the number of candidate POI texts is small, one screening of the POI text set can determine the second search text. In this way, the long processing delay caused by additional multiple screenings of the client can be reduced.

[0125] Method 2: Secondary screening

[0126] When the number of candidate POI texts is large, the candidate POI text set can be further screened to reduce the number of candidate POI texts, so as to obtain concise and effective address information, thereby reducing the search load of the server.

[0127] Figure 6 is another illustrative flowchart of the client determining the second search text according to the first search text and the first user data provided by the embodiment of the application.

[0128] In S221, the client screens a candidate POI text set from the first user data according to the first search text, each candidate POI text in the candidate POI text set matches the first search text and includes address information, and the address information in the each candidate POI text represents an address in the address set.

[0129] It should be understood that this step is the first screening process in the secondary screening.

[0130] For detailed description of step S221, please refer to the relevant description in Mode 1.

[0131] In S2221, the client screens the final candidate POI text from the candidate POI text set according to the validity time of the POI corresponding to each candidate POI text and / or the popularity of the POI corresponding to each candidate POI text.

[0132] It should be understood that this step is the second screening process in the secondary screening.

[0133] The final candidate POI text includes at least one candidate POI text. Ideally, the final candidate POI text includes one candidate POI text, or in other words, the number of final candidate POI texts is 1.

[0134] It should be understood that the validity time of the POI corresponding to each candidate POI text and / or the popularity of the POI corresponding to each candidate POI text has three cases: the case of the validity time of the POI corresponding to each candidate POI text alone, the case of the popularity of the POI corresponding to each candidate POI text alone, and the case of the validity time of the POI corresponding to each candidate POI text and the popularity of the POI corresponding to each candidate POI text.

[0135] In this step, the client can screen the final candidate POI text from the candidate POI text set according to the validity time of the POI, the popularity of the POI, or the validity time of the POI and the popularity of the POI.

[0136] In some embodiments, the client screens the final candidate POI text from the candidate POI text set according to the validity time of the POI corresponding to each candidate POI text. Illustratively, the client can compare the search time of the first search text with the validity time of the POI corresponding to each candidate POI text. If the search time is within the validity time of the POI, it means that the POI is likely to be a valid POI, and the candidate POI text corresponding to the POI is retained. If the search time is outside the validity time of the POI, it means that the POI is likely to be an invalid POI, and the candidate POI text corresponding to the POI is discarded. The client finally screens the final candidate POI text that meets the above condition.

[0137] For example, the candidate POI text set includes two candidate POI texts, which are: POI text 1: Yada, hotel, Hangzhou City xxx1, valid time 1 (2021.4.3-4.5), frequency 3; POI text 2: Yada, hotel, Hangzhou City xxx2, valid time 2 (2020.10.5-10.9), frequency 2; the search time of the first search text is 2021.4.3, which is within the valid time of the POI corresponding to the POI text 1 (2021.4.3-4.5), so the POI text 1 is selected from the candidate POI text set, and the final candidate POI text is the POI text 1.

[0138] In some other embodiments, the client selects the final candidate POI text from the candidate POI text set according to the heat of the POI corresponding to each candidate POI text. For example, the client compares the heat of the POI corresponding to each candidate POI text, and selects the candidate POI text corresponding to the POI with higher heat to obtain the final candidate POI text. For example, the client selects the candidate POI text corresponding to the POI with the highest heat as the final candidate POI text.

[0139] In an example, the heat of the POI corresponding to the candidate POI text can include the frequency of the POI corresponding to the candidate POI text in the client. It should be understood that the higher the frequency of the POI, the higher the heat of the POI that the user pays attention to, and vice versa, the lower the frequency of the POI, the lower the heat of the POI that the user pays attention to.

[0140] For example, the candidate POI text set includes two candidate POI texts, which are: POI text 1: Yada, hotel, Hangzhou City xxx1, valid time 1, frequency 3; POI text 2: Yada, hotel, Hangzhou City xxx2, valid time 2, frequency 2; the frequency of the POI corresponding to the POI text 1 is “3”, which is greater than the frequency of the POI corresponding to the POI text 2 “2”, which means that the heat of the POI corresponding to the POI text 1 is high, so the POI text 1 is selected from the candidate POI text set, and the final candidate POI text is the POI text 1.

[0141] In some other embodiments, the client can select the final candidate POI text from the candidate POI text set according to the valid time of the POI corresponding to each candidate POI text and the heat of the POI corresponding to each candidate POI text.

[0142] In an example, in a case that the search time of the first search text is within the valid time of the POI corresponding to the partial candidate POI text in the candidate POI text set, the client can take the candidate POI text with higher heat of the POI and within the valid time of the POI as the final candidate POI text.

[0143] In another example, in a case that the search time of the first search text is within the valid time of the POI corresponding to all candidate POI texts or is not within the valid time of the POI corresponding to all candidate POI texts, since the final candidate POI text cannot be effectively screened out, the candidate POI text with higher heat of the POI can be taken as the final candidate POI text.

[0144] In S2222, the client determines the second search text according to the first search text and the final candidate POI text, and each address represented by the first address information is related to the address represented by the address information in the final candidate POI text.

[0145] In this step, the client can determine the first address information according to the address information of the final candidate POI text, and determine the second search text according to the first address information and the first search text. For example, the client can combine the first address information and the first search text together to form the second search text.

[0146] The address information of the final candidate POI text represents at least part of the address information in the final candidate POI text, and the at least part of the address information is part or all of the address information in the final candidate POI text. Each address information in the at least part of the address information is the address information in a candidate POI text. It should be understood that all address information in the final candidate POI text represents the sum of the address information in each candidate POI text in the final candidate POI text. For example, the final candidate POI text set includes two candidate POI texts, and the two candidate POI texts include two address information, which is all address information in the final candidate POI text.

[0147] Each address represented by the first address information is related to the address represented by the address information in the final candidate POI text, which can be interpreted in two ways. For details, please refer to the description of "each address represented by the first address information is related to the address represented by the address information in the candidate POI text set" above. Replace "candidate POI text set" in the above description with "final candidate POI text", and the rest is omitted.

[0148] It should be noted that in the case that the final candidate POI text only includes one candidate POI text, the address information of the final candidate POI text is the address information of the candidate POI text. The client can take the address information of the candidate POI text as the first address information, or the client obtains the first address information based on the address information of the candidate POI text, and combines the first address information and the first search text to obtain the second search text. For example, the first search text is "Yaduo", the final candidate POI text only includes one candidate POI text, and the address information of the candidate POI text indicates that the address is "Jiangling Road, Binjiang District, Hangzhou City". Then, the address indicated by the first address information can be "Hangzhou Binjiang", and the second search text is represented as: Yaduo, Hangzhou Binjiang, or the address indicated by the first address information can be "Hangzhou Binjiang Jiangling", and the second search text is represented as: Yaduo, Hangzhou Binjiang Jiangling.

[0149] In S230, the client sends a search request to the server, and the search request includes the second search text.

[0150] In some embodiments, the second search text is an encrypted search text.

[0151] For example, in order to better protect user privacy, the client can save the second search text in the trusted execution environment (TEE) in the client, and encrypt the second search text in the TEE. Since the second search text includes the first address information related to user privacy, in order to avoid the user privacy being leaked in the data transmission process, by encrypting the second search text, the user privacy can be avoided from being leaked in the data transmission process, and the security is improved.

[0152] In other embodiments, the search request includes the first search text and the second search text. For example, the first search text and the second search text are encrypted search texts.

[0153] For example, in order to better protect user privacy, the client can save the first search text and the second search text to the TEE of the client, and encrypt the first search text and the second search text in the TEE.

[0154] Since the first address information in the second search text is a possible search intention of the user based on address expansion of the first user data by the client, which is a guess, in order to avoid guess mistakes, by carrying the first search text input by the user and the second search text obtained by address expansion in the search request, the first search text reflects the original intention of the user, and the second search text reflects the real search intention of the user, so that the server can feedback all possible search results as much as possible to fully reflect all intentions of the user, while realizing personalized search, improve the comprehensiveness and accuracy of the search results, and further improve the user experience.

[0155] In S240, the server sends a plurality of POI search results to the client in response to the search request, the plurality of POI search results including M POI search results matching the second search text, M being an integer greater than or equal to 1.

[0156] Correspondingly, the client receives the plurality of POI search results.

[0157] In this step, the server searches for POI search results satisfying the search request from the database based on the search request, wherein the POI search results satisfying the search request represent POI search results matching the search text in the search request.

[0158] In some embodiments, the search request includes the second search text, and correspondingly, the plurality of POI search results include M POI search results matching the second search text.

[0159] In an example, if the second search text is encrypted, the server decrypts the second search text and searches for POI search results matching the second search text in the database.

[0160] For example, in order to prevent the second search text from being leaked and better protect user privacy, the server can save the second search text in the TEE and decrypt the second search text in the TEE. It should be understood that the POI search results matching the second search text means that the second search text matches the POI search results. For example, the second search text matches the POI search results, which can be understood as the second search text and the POI search results have relevance, for example, the second search text and the POI search results have relevance can be represented by the content of the second search text being the same or partially the same as the relevant content of the POI corresponding to the POI search results. For example, taking the second search text "Yaduo, Hangzhou Binjiang" as an example, the POI corresponding to the POI search results matching "Yaduo, Hangzhou Binjiang" is a Yaduo hotel located in the Hangzhou Binjiang area.

[0161] Continue with the aboveFigure 3 and Figure 4 For example, assume that the user is in Shenzhen, has made a reservation for the Figure 4 Yaduo Hotel at Jiangling Road, Binjiang, Hangzhou, and has received a short message indicating that the hotel reservation was successful. The user enters the first search text "Yaduo" in the search box 301 in the GUI shown in Figure 3 The client obtains the second search text "Yaduo, Hangzhou Binjiang" based on the first search text and the first user data (including the short message indicating that the hotel reservation in Hangzhou was successful), sends the second search text "Yaduo, Hangzhou Binjiang" to the server through a search request, and the server feeds back the POI search results matching the second search text "Yaduo, Hangzhou Binjiang", as shown in the result list box 302 in Figure 3 The result list box 302 includes 7 (i.e., M = 7) POI search results, and each POI search result corresponds to a POI. Each POI search result corresponds to the Yaduo Hotel in Hangzhou Binjiang (for brevity, only the specific address of POI2 is shown in the figure). POI2 is the hotel that the user expects to search for. As can be seen, compared with the POI search results fed back by the prior art based on the first search text "Yaduo", as shown in Figure 1 the POI search results fed back by the embodiments of the present application can better reflect the real behavior intention of the user, meet the actual needs of the user, satisfy the individualization of the user, and improve the user experience.

[0162] In some other embodiments, the search request includes the first search text and the second search text. Since the first search text is included in the second search text, the search results matching the second search text also necessarily match the first search text. Therefore, the M POI search results match the second search text, and the remaining N POI search results match only the first search text. Thus, the plurality of POI search results include the M POI search results and the N POI search results matching the first search text other than the M POI search results.

[0163] In an example, if the first search text and the second search text are encrypted, the server decrypts the first search text and the second search text, and searches the database for POI search results matching the first search text and POI search results matching the second search text.

[0164] For example, in order to prevent the second search text and the first search text from being disclosed and better protect the privacy of the user, the server can save the first search text and the second search text in the TEE and decrypt the first search text and the second search text in the TEE.

[0165] It should be understood that, in the embodiments of the present application, the POI search result matched with the first search text means that the first search text matches the POI search result, and the specific description about "the first search text matches the POI search result" can refer to the related description about "the second search text matches the POI search result" in the foregoing, and will not be described herein again.

[0166] Figure 7 is another GUI of a map provided by the embodiments of the present application. It is still assumed that the user is in Shenzhen, has made a reservation for the Yada Hotel in Jiangling Road, Binjiang, Hangzhou, and has received the short message indicating that the hotel reservation is successful, and the user inputs the first search text "Yada" in the search box 401 in the GUI shown in Figure 7 The second search text obtained by the client based on the first search text and the first user data (including the short message indicating that the hotel reservation in Hangzhou is successful) is "Yada, Hangzhou Binjiang", and the first search text "Yada" and the second search text "Yada, Hangzhou Binjiang" are sent to the server through a search request. The POI search result fed back by the server is shown in the result list box 402 of Figure 7 The result list box 402 includes 7 POI search results, and one POI search result corresponds to one POI. The first 5 (i.e., M=5) POI search results match both the second search text and the first search text, and the POIs corresponding to the first 5 POI search results are POI1-POI5, which all represent the Yada Hotel in Hangzhou Binjiang (for brevity, only the specific address of POI2 is shown in the figure). The last 2 (i.e., N=2) POI search results in the result list box 402 are POI search results matched only with the first search text "Yada", which all represent the Yada Hotel in Shenzhen.

[0167] It should be understood that, in the process of feeding back the POI search result by the server based on the search request, the server can sort the multiple POI search texts, and feed back the multiple POI search results with the sorting to the client, as shown in Figure 3 or Figure 7 The 7 POI search results are displayed in the result list box according to the sorting.

[0168] Generally, the server can perform feature extraction on each POI search result to obtain a feature value, take the feature value as an input of a sorting model, obtain a result value corresponding to each POI search result through the sorting model, sort the multiple POI search results according to the result value corresponding to each POI search result, and obtain the multiple POI search results with the sorting. The specific implementation process can refer to the existing sorting technology. It should be understood that the sorting model adopted by the server can be various sorting models capable of sorting, and the inputs of various sorting models are different, which are not limited in the embodiments of the present application.

[0169] It should be noted that,Figure 3 and Figure 7 The sorting of the plurality of POI search results shown in the above examples is only illustrative and should not be construed as limiting. As long as there is a POI search result matching the second search text in the plurality of POI search results, the POI search result corresponding to POI2 can be the first POI search result in the sorting. Figure 4 For example, the POI search result corresponding to POI2 can also be the first POI search result in the sorting.

[0170] In summary, the method for POI search provided in the embodiments of the present application includes that the client performs address expansion on the first search text input by the user and the first user data stored in the client to obtain a second search text including the first search text and first address information obtained based on the first user data, sends the second search text to the server through a search request, and the server feeds back a plurality of POI search results based on the second search text. Since the second search text is a search text including first address information obtained based on the first user data of the client, the first address information is closely related to the user, and the address represented by the first address information has a high probability of representing the address of the POI that the user expects to search for, therefore, the POI search result fed back by the server based on the second search text has a high probability of including the search result of the POI that the user is interested in or expects, which meets the real search intention of the user, satisfies the personalized needs of the user, improves the user experience, and improves the search performance. In addition, since the first user data is stored in the client of the user, the problem of user privacy leakage is avoided as much as possible.

[0171] As described above, the server feeds back a plurality of POI search results with sorting, and the data used in the sorting process by the server is limited to the data on the server corresponding to the APP currently used by the user, and data sharing between servers corresponding to different APPs cannot be realized, for example, the server corresponding to application A cannot use the data in the server corresponding to application B, therefore, although the POI search result fed back by the server has a high probability of including the search result of the POI that the user expects, the sorting of the POI search result can not be optimal and cannot well provide personalized sorting for the user. For example, the user is currently using a map, and the server corresponding to the map cannot use the data in the server corresponding to other applications such as Taobao and Meituan when sorting the POI search result, and the sorting of the POI search result fed back by the server corresponding to the map can not be optimal.

[0172] For the user, it is expected that the search result of the POI that the user is interested in is in the front in the sorting, and in an ideal case, the search result of the POI that the user is interested in is located at the first position in the sorting. For example, in the above example, Figure 3As shown in the plurality of POI search results, the user expects that the POI search result corresponding to POI2 (the Yada Hotel on Jiangling Road, Binjiang, Hangzhou) is the first POI search result in the ranking, but actually the POI search result corresponding to POI2 is the second POI search result in the ranking, and the ranking is not personalized enough for the user personally, and is not the optimal ranking.

[0173] Therefore, the embodiment of the present application proposes that the historical click times of POIs can be further obtained according to the SDK log data representing user behaviors, the plurality of POI search results are re-ranked, and POI search results with more accurate ranking are obtained, the ranking has more personalized features with user personal styles, and can well meet user needs and further improve user experience.

[0174] Continuing to refer to Figure 2 In S250, the client extracts features of each POI search result, determines at least one feature value corresponding to the each POI search result, and the at least one feature value includes a historical click time of a POI corresponding to the each POI search result, the historical click time is obtained based on SDK log data of the client, and the SDK log data records click operations of the user on POIs in various APPs.

[0175] The SDK log data is a kind of data recording user behaviors, mainly records the use of the user operating the APP, including the click operation of the user on the POI in each APP. In the implementation, each APP corresponds to an SDK log data, for the convenience of description, the SDK log data corresponding to each APP is recorded as a sub-SDK log data, and the SDK log data of the embodiment of the present application includes the sub-SDK log data corresponding to each APP, and one sub-SDK log data corresponds to one APP.

[0176] For any APP, if the user clicks a certain POI displayed on a certain APP, the client will record the click operation of the user on the POI in the sub-SDK log data corresponding to the APP. Since the SDK log data includes the sub-SDK log data corresponding to each APP, for a certain POI, the client can obtain the historical click times of the user on the POI through the click operations of the user on the POI in each APP in the SDK log data. Therefore, for the POI corresponding to each POI search result of the embodiment of the present application, the user can obtain the historical click times of the POI corresponding to each POI search result through the click operations of the user on the POI corresponding to each POI search result in each APP in the SDK log data.

[0177] It should be understood that the historical click times of the POI corresponding to each POI search result is the sum of the click times of the POI corresponding to each POI search result in each APP by the user. For example, taking POI1 corresponding to a certain POI search result as an example, the SDK log records that the user clicks POI1 in APP1 for 2 times, the user clicks POI1 in APP2 for 1 time, the user clicks POI1 in APP3 for 2 times, and there is no operation of the user clicking POI1 in the SDK log data of the remaining APPs, so the SDK log data of the client obtains the historical click times of POI1 in APP1-APP3 by the user as 5.

[0178] It should be noted that the more times a POI is clicked by the user, the higher the attention of the user to the POI, and the more important the POI is. Therefore, sorting a plurality of POI search results based on historical click times can obtain a more personalized sorting for the user. More importantly, compared to the server that can only obtain the click times of a POI in a certain APP, the embodiment of the application obtains all the historical click times of the POI by recording the SDK log data of the click operations of each APP on the POI, realizes data sharing between each APP, can obtain a more personalized sorting for the user, meets the personalized needs of the user, and in the sorting, the POI search result expected by the user is most likely to be the first POI search result in the plurality of POI search results, so that the user can quickly see the POI search result expected by the user, and further improve the user experience.

[0179] In some embodiments, the at least one feature value corresponding to each POI search result includes one feature value, which is the historical click times of the POI corresponding to each POI search result.

[0180] In other embodiments, the at least one feature value corresponding to each POI search result is a plurality of feature values, which not only includes the historical click times of the POI corresponding to each POI search result, but also includes at least one of the following:

[0181] a feature value for representing the relevance between the second search text and the POI corresponding to each POI search result, or

[0182] the distance between the address where the client currently locates and the POI corresponding to each POI search result, or

[0183] a feature value of the type of the POI corresponding to each POI search result.

[0184] For the feature value for representing the relevance of the second search text to the POI corresponding to each POI search result, the client can obtain the feature value for representing the relevance of the second search text to the POI corresponding to each POI search result according to the second search text and each POI search result, for example.

[0185] In an example, the feature value for representing the relevance of the second search text to the POI corresponding to each POI search result can include the longest common substring length of the name of the POI corresponding to each POI search result and the second search text, and / or the longest common substring length of the address of the POI corresponding to each POI search result and the second search text. For example, if the second search text is "Yaduo, Hangzhou Binjiang", the name of the POI corresponding to a certain POI search result is "Yaduo", and the address of the POI is "Hangzhou Binjiang Jiangling", the longest common substring length of the name of the POI and the second search text is 2, and the longest common substring length of the address of the POI and the second search text is 4.

[0186] For the distance between the address where the client is currently located and the POI corresponding to each POI search result, it should be understood that the address where the client is currently located can also be understood as the address where the user holding the client is currently located. It should also be understood that the distance between the address where the client is currently located and the POI corresponding to each POI search result represents the distance between the address where the client is currently located and the address of the POI corresponding to each POI search result.

[0187] For the feature value of the type of the POI corresponding to each POI search result, the client can determine the feature value of the type of the POI corresponding to each POI search result according to whether the type of the POI corresponding to each POI search result is the same as the type of the POI corresponding to the second search text, for example.

[0188] In an example, if the type of the POI corresponding to each POI search result is the same as the type of the POI corresponding to the second search text, the feature value of the type of the POI corresponding to the POI search result can be 1, and if the type of the POI corresponding to each POI search result is different from the type of the POI corresponding to the second search text, the feature value of the type of the POI corresponding to the POI search result can be 0. For example, the second search text is "Yaduo, Hangzhou Binjiang", and the type of the POI is a hotel. If the type of the POI corresponding to a certain POI search result is catering, the feature value of the type of the POI corresponding to the POI search result is 0, and if the type of the POI corresponding to a certain POI search result is a hotel, the feature value of the type of the POI corresponding to the POI search result is 1.

[0189] In S260, the client sorts the plurality of POI search results according to the at least one feature value corresponding to each POI search result, and determines a recommended ranking.

[0190] In this way, the client can display the plurality of POI search results to the user according to the recommended ranking.

[0191] To facilitate the description of the process of determining the recommended ranking by the client according to the at least one feature value corresponding to each POI search result, the embodiments of the present application further define two rankings other than the recommended ranking, which are respectively denoted as a server ranking and a client ranking. The server ranking represents a ranking result obtained by the server sorting the plurality of POI search results. The client ranking represents a ranking result obtained by the client sorting the plurality of POI search results. Since the client ranking uses the historical click count of the POI based on the click operation of the POI recorded in the SDK log data of each APP, and the click operation of the APP cannot be utilized by the server, the ranking results of the server ranking and the client ranking are different with a high probability, but in some actual special cases, the ranking results of the server ranking and the client ranking can also be the same.

[0192] In the process of determining the recommended ranking by the client according to the at least one feature value, in one way, the client ranking can be taken as the recommended ranking, and in another way, the client ranking and the server ranking can be considered comprehensively to obtain the recommended ranking.

[0193] Next, based on the above two ways, the process of determining the recommended ranking by the client is described.

[0194] Way A, the recommended ranking is the client ranking

[0195] In this way, the client determines a client recommendation according to the at least one feature value corresponding to each POI search result, and displays the client recommendation to the user as the final recommended ranking.

[0196] Case 1, the at least one feature value corresponding to each POI search result includes a plurality of feature values, and the plurality of feature values include the historical click count of the POI corresponding to each POI search result and at least one of the following: a feature value for representing the relevance between the second search text and the POI corresponding to each POI search result, or the distance between the address currently located by the client and the POI corresponding to each POI search result, or the type of the POI corresponding to each POI search result.

[0197] In this case, the client can use a ranking model, and use the multiple feature values corresponding to each POI search result as the input of the ranking model. The multiple feature values are calculated by the ranking model to obtain an output result. The client ranks the multiple POI search results according to the output result corresponding to each POI search result to obtain the client ranking. Illustratively, in the ranking process, the POI search results are ranked in descending order of the output result to obtain the client ranking.

[0198] Illustratively, if there are POI search results with the same output result, the POI search results can be further ranked in lexicographical order. For example, the output result of POI search result 1 and POI search result 2 is the same, POI1 corresponding to POI search result 1 is “National Stadium”, and POI2 corresponding to POI search result 2 is “Bird’s Nest”. The first letter of “guo” in “National Stadium” is “g”, and the first letter of “niao” in “Bird’s Nest” is “n”. Therefore, “National Stadium” is ranked before “Bird’s Nest”.

[0199] For ease of description, the historical click count of the POI corresponding to each POI search result is denoted as x 1i , the length of the longest common substring of the second search text and the name of the POI is denoted as x 2i , the length of the longest common substring of the second search text and the address of the POI is denoted as x 3i , the distance between the current address of the client and the POI is denoted as x 4i , the feature value of the type of the POI is denoted as x 5i , the output result obtained based on the above x 1i , x 2i , x 3i , x 4i and x 5i is denoted as y i , and i represents the number of the POI search result.

[0200] Suppose that the multiple POI search results include 4 POI search results, denoted as POI search result 1, POI search result 2, POI search result 3, and POI search result 4, wherein,

[0201] The multiple feature values corresponding to POI search result 1 are x 11 , x 21 , x 31 , x 41 and x 51 , and the output result is y1,

[0202] The multiple feature values corresponding to POI search result 2 are x 12 , x 22 , x32 , x 42 and x 52 , the output result is y2,

[0203] The multiple feature values corresponding to the POI search result 3 are: x 13 , x 23 , x 33 , x 43 and x 53 , the output result is y3,

[0204] The multiple feature values corresponding to the POI search result 4 are: x 14 , x 24 , x 34 , x 44 and x 54 , the output result is y4,

[0205] For the above four output results, y1>y2>y3>y4, therefore, the recommended ranking is in the order of POI search result 1, POI search result 2, POI search result 3 and POI search result 4.

[0206] In some embodiments, in the process of sorting the multiple POI search results by the sorting model, each feature value corresponds to a weight according to the importance, the higher the importance, the higher the weight, in the process of sorting by the client, the historical click times of the POI are mainly utilized, therefore, the importance of the historical click times of the POI can be the highest and the weight can also be the highest.

[0207] Exemplarily, by using a simplified formula, the relationship between the output result, the feature value and the weight can be: y i =x 1i *a1, x 2i *a2, x 3i *a3, x 4i *a4 and x 5i *a5, a1 represents the weight corresponding to the feature value x 1i , a2 represents the weight corresponding to the feature value x 2i , a3 represents the weight corresponding to the feature value x 3i , a4 represents the weight corresponding to the feature value x 4i , and a5 represents the weight corresponding to the feature value x 5i .

[0208] In some embodiments, the ranking model of the client can be a learning to rank (LTR) model, which is an algorithm using machine learning and can be a model trained automatically by a machine learning algorithm. Exemplarily, the input of the LTR model can be various feature values with different weights, and the output can be an output result.

[0209] Case 2: The at least one feature value corresponding to each POI search result includes one feature value, which is the historical click number of the POI corresponding to each POI search result.

[0210] In this case, the client ranks the plurality of POI search results according to the historical click number of the POI corresponding to each POI search result, to obtain the client ranking. Exemplarily, in the ranking process, the ranking is performed in the order from high to low of the historical click number, to obtain the client ranking. Exemplarily, if there are POI search results with the same historical click number, the ranking can be performed in the lexicographic order.

[0211] It should be understood that, since the historical click number of the POI corresponding to each POI search result is considered, the first POI search result in the recommended ranking obtained based on the embodiments of the present application is likely to be the POI search result expected by the user.

[0212] Figure 8 is another GUI of a map provided by the embodiments of the present application. It is assumed that the user is in Shenzhen, has made a reservation for a hotel of ADO in Jiangling Road, Binjiang, Hangzhou, and has received a short message indicating that the hotel reservation is successful, and the client ranking obtained is as shown in Figure 8 POI2 corresponds to the POI search result expected by the user, which is the first POI search result in the plurality of POI search results. It should be understood that, Figure 8 the client ranking shown in is only illustrative and should not be construed as a limitation on the embodiments of the present application.

[0213] In the POI search method provided by the embodiments of the present application, a client extracts features from multiple POI search results fed back by a server, obtains at least one feature value, including the historical click count of the POI corresponding to each POI search result, and sorts the multiple POI search results based on the at least one feature value to obtain a final recommended ranking. Because the number of historical clicks on a POI by a user can reflect the user's attention to the POI, sorting the multiple POI search results based on the historical click count of the POI corresponding to each POI search result can provide a more personalized ranking. More importantly, compared to a server that only obtains the number of clicks on a POI within a specific app, the embodiments of the present application obtain the entire historical click count of the user on the POI by using SDK log data that records click operations on the POI by various apps. This enables data sharing between apps, resulting in a more personalized ranking that meets the user's personalized needs. Furthermore, in this ranking, the user's desired POI search result is likely to be the first POI search result among the multiple POI search results, allowing the user to quickly see the desired POI search result, further improving the user experience.

[0214] Method B: Recommended ranking is based on client ranking and server ranking

[0215] In some embodiments, the client ranks the plurality of POI search results according to at least one feature value corresponding to each POI search result to determine a client ranking;

[0216] The recommended ranking is determined based on the client ranking and the server ranking obtained by sorting the multiple POI search results by the server, wherein the first POI search result of the recommended ranking is the first POI search result of the client ranking, and the ranking of the POI search results other than the first POI search result of the recommended ranking in the recommended ranking is the ranking of the POI search results other than the first POI search result of the recommended ranking in the server ranking.

[0217] For a detailed description of client sorting, please refer to the description of method A above, which will not be repeated here.

[0218] It should be understood that the first POI search result in the recommended ranking is the POI search result that is ranked first in the recommended ranking. Similarly, the first POI search result in the client ranking is the POI search result that is ranked first in the client ranking.

[0219] It should also be understood that the first POI search result in the client-side sorting can be the same as or different from the first POI search result in the server-side sorting, but regardless of whether they are the same or different, the first POI search result in the client-side sorting is required to be the first POI search result in the recommended sorting in the implementation, and the first POI search result in the server-side sorting does not need to be considered.

[0220] For example, the plurality of POI search results include 4 POI search results, which are POI search result 1, POI search result 2, POI search result 3, and POI search result 4.

[0221] The server-side sorting is: POI search result 2, POI search result 1, POI search result 3, and POI search result 4,

[0222] The client-side sorting is: POI search result 1, POI search result 2, POI search result 2, and POI search result 4,

[0223] The recommended sorting is: POI search result 1, POI search result 2, POI search result 3, and POI search result 4.

[0224] In this example, the first POI search result in the client-side sorting is POI search result 1, which is the first POI search result in the recommended sorting, and the sorting of the POI search results other than the first POI search result "POI search result 1" in the server-side sorting is: POI search result 2, POI search result 3, and POI search result 4, which is the sorting of the POI search results other than the first POI search result "POI search result 1" in the recommended sorting and sequentially located behind "POI search result 1".

[0225] Figure 9 is another GUI of a map provided by an embodiment of the present application. It is still assumed that the user is in Shenzhen, has made a reservation for a hotel of Yada in Jiangling Road, Binjiang, Hangzhou, and has received a short message indicating that the hotel reservation is successful, and the recommended sorting obtained is as shown in Figure 9 in combination with the server-side sorting shown in Figure 3 and the client-side sorting shown in Figure 8 It can be seen that the POI search result corresponding to POI2 is one POI search result in the client-side sorting shown in Figure 8 is the search result expected by the user, and the sorting of the POI search results corresponding to POI1, POI3, POI4, POI5, POI6, and POI7 is the sorting of the POI search results other than the POI search result corresponding to POI2 in the server-side sorting shown in Figure 3 .

[0226] In this way, since the first POI search result in the client ranking is most likely to be the POI search result expected by the user due to the historical click times of the user on the POI taken into account by the client ranking, the first POI search result in the recommended ranking is taken as the first POI search result in the recommended ranking, so that the user can quickly see the POI search result expected by the user, the recommended ranking has the user personalization feature, and the user experience is good; meanwhile, since the server ranking is related to the user portrait and the server ranking has the common characteristics of a type of users, the ranking of the POI search results other than the first POI search result in the server ranking is taken as the ranking of the POI search results other than the first POI search result in the recommended ranking, so that the common experience of the users can be met. Therefore, the recommended ranking obtained by combining the client ranking with the user personalization and the server ranking with the globalization has both the user personalization feature and the user common feature, the comprehensive performance of the recommended ranking is better, and the user experience is better.

[0227] As described above, the client can sort the plurality of POI search results by using the LTR model, when the user clicks some POI search results, the client records the click operation of the user on the POI search result in the SDK log data to update the SDK log data, and the client can update the LTR model in real time based on the updated SDK log data, so that the LTR model can learn the click behavior of the user in real time, can learn the habits of the user more quickly, better and more effectively, further improve the personalized needs of the user, and further improve the user experience.

[0228] Therefore, in some embodiments, after the client displays the plurality of POI search results for the user in the recommended ranking, the method further includes:

[0229] The client updates the SDK log data according to the click operation of the user on at least one POI search result in the plurality of POI search results, to update the LTR model.

[0230] In this process, for the plurality of POI search results, the user clicks at least one POI search result of interest, and the client records the click operation of the user on each POI search result in the SDK log data, so as to update the SDK log data to update the LTR model.

[0231] Exemplarily, the client obtains POI click information according to the updated SDK log data, the POI click information includes the click times of the user on each POI, the each POI includes the POI corresponding to the at least one POI search result, and the click times of the each POI are taken as the input of the LTR model to update the LTR model.

[0232] It should be understood that the POI click information is information used to record the click operation of the user clicking each POI, including the number of clicks of the user clicking each POI. Exemplarily, the POI click information can also include other content, for example, content including the time of the user clicking each POI, etc.

[0233] It should also be understood that the at least one POI search result in the plurality of POI search results is a POI search result clicked by the user, which is part or all of the plurality of POI search results, including the POI search result finally expected by the user. The POI search result finally expected by the user is a certain search result in the plurality of POI search results. In actual cases, the user will not only click the search result of the POI expected by the user, but also may click other POI search results due to other factors. Therefore, the at least one POI search result is all the POI search results clicked by the user.

[0234] Exemplarily, the client can also add the second search text to the set of search texts used to update the LTR model, add the POI corresponding to the at least one POI search result clicked by the user to the set of POIs used to update the LTR model, obtain the feature values of the relevance of each search text to each POI, the feature values of the type of the POI corresponding to each POI search result, etc. based on the set of search texts and the set of POIs, and combine the number of clicks of each POI obtained based on the SDK log data, to update the LTR model by taking these feature values and the number of clicks of each POI as inputs of the LTR model.

[0235] It should be understood that the set of search texts, the set of POIs, and the SDK log data can be understood as training data used to update the LTR model.

[0236] It should be noted that, as described above, each feature value input into the LTR model has a corresponding weight. Updating the LTR model is actually equivalent to updating the weight corresponding to each feature value.

[0237] Figure 10 The system 300 provided by the embodiment of the present application is a POI search system, which comprises a client 310 and a server 320. The client 310 comprises a data management module 311, an address expansion module 312, a TEE module 313, and a ranking model 314. The system 300 will be described below in combination with the POI search method described above.

[0238] 1. Data management module 311

[0239] The data management module 311 uniformly manages user data related to POI search in the client 310, and provides data and interface support for the address expansion module 312 and the ranking module 314, and is mainly divided into three parts: a data source layer, a data processing layer, and an index layer.

[0240] The data source layer includes two categories of first user data and SDK log data, wherein the first user data is mainly application data such as short messages and notes containing local personal information, and the SDK log data is log information of the APP calling the sdk of the client. The specific description of these two types of data can be referred to the related description in the foregoing, and will not be described again.

[0241] The data processing layer: mainly processes the data in the data source layer according to rules and provides it for the upper layer.

[0242] (1) For the first user data, the data processing layer is used to filter, extract and deliver the processed data to the index database of the index layer.

[0243] In an example, the data processing layer is used to filter noise data, and filter the advertising information or useless data in the first user data through keywords or mobile phone number segments. For example, filter out bank notification information and advertising information in short messages.

[0244] In an example, the data processing layer is used to extract POI text, and use NLP technology to extract a plurality of POI texts related to POI from the first user data.

[0245] The data processing layer is also used to store the plurality of POI texts in the index database of different POI types in the index layer according to the types of the POIs corresponding to the POI texts.

[0246] (2) For the SDK log data, the data processing layer is used to obtain the click times of each POI by means of log analysis on the click operation of the POI in the SDK log data, and use the click times of each POI as the input of the ranking model in the ranking module 314 to update the ranking model.

[0247] The processing process of the data processing layer on the first user data and the SDK log data can be referred to the related description of the method in the foregoing, and will not be described again.

[0248] The index layer: the index layer includes index databases corresponding to POIs of various types, and each type of index database stores POI texts of the corresponding type. As shown in the figure, the index layer includes index databases of types "hotel", "scenic spot" and "restaurant". Figure 10

[0249] 2、Address expansion module 312​

[0250] The address expansion module 312 is configured to perform address expansion on the first search text input by the user according to the first user data to obtain the second search text, and finally realize personalized recall for the user. The process of address expansion performed by the address expansion module 312 to obtain the second search text can refer to the related description of step S220 in the method 200 above, and will not be repeated here.

[0251] 3. The TEE module 313

[0252] The TEE module 313 is configured to encrypt the second search text, or the second search text and the first search text in the TEE, and send it to the TEE module 321 of the server 320.

[0253] 4. The sorting module 314

[0254] The purpose of the sorting module 314 is to sort the POI search results, and the sorting model is configured in the sorting module 314. The sorting module 314 is configured to perform feature extraction on the plurality of POI search results fed back by the server 320, obtain at least one feature value including the historical click count of the POI corresponding to each POI search result, take the at least one feature value as the input of the sorting model, and utilize the sorting model to reorder the plurality of POI search results to return the recommended sorting conforming to the user's search intent.

[0255] The process of the sorting module 314 sorting the plurality of POI search results to determine the recommended sorting can refer to the related description of steps S250 and S260 in the method 200 above, and will not be repeated here.

[0256] The server 320 can include a TEE module 321 and an operation system (OS) module 322, and the TEE module 321 and the OS module 322 are concurrent running environments on the server, and the TEE module 321 provides security protection for the OS module 322. Next, the interaction between the TEE module 321 and the OS module 322 of the server 320 will be described in combination with the following Figure 11

[0257] Figure 11 is a schematic diagram of the interaction between the OS module 321 and the TEE module 322 of the server provided by the embodiment of the present application. In this process, the search request includes the first search text and the second search text as an example.

[0258] ​It should be understood that, since the purpose of the TEE module 321 is to protect user privacy in consideration of security, as long as the process involving the use of the first search text and the second search text is performed in the TEE module 321, the process of searching for a matching POI search result in the database based on the first search text and the second search text is performed in the OS module 322.

[0259] In S401, the OS module 322 receives the encrypted first search text and the second search text, decrypts the first search text and the second search text in the TEE module 321, and stores them in the TEE module 321.

[0260] In S402, the OS module 322 sends the recall template with default values to the TEE module 321, the TEE module 321 inputs the first search text and the second search text into the default values of the recall template to construct a complete recall request, and outputs the recall request and sends it to the OS module 322, and the OS module 322 outputs a plurality of POI search results matched with the recall request based on the recall request. It should be understood that the recall template can also be understood as a request template with default values, and the recall request is used to request search results from the database.

[0261] In S403, the OS module 322 sends the plurality of POI search results to the TEE module 321, the TEE module 321 calculates the feature value of the POI corresponding to each POI search result based on the first search text, the second search text and the plurality of POI search results, sends the feature value of the POI corresponding to the POI search result to the OS module 322, and the OS module 322 completes the sorting of the plurality of POI search results and outputs the plurality of POI search results with server sorting.

[0262] Next, the device for searching information points provided by the embodiments of the present application is described in combination with Figures 12 to 13 , the device for searching information points provided by the embodiments of the present application is described in combination with

[0263] Figure 12 The device 500 for searching information points provided by the embodiments of the present application is shown, which can be the client described above or a chip in the client. The device 500 includes a processing unit 510 and a transceiver unit 520.

[0264] In a possible implementation, the device 500 is configured to perform each process and step corresponding to the client in the above method 200.

[0265] The processing unit 510 is configured to obtain a first search text input by a user.

[0266] The processing unit 510 is further configured to determine a second search text according to the first search text and first user data of the device, the first user data comprising a set of addresses, the second search text comprising the first search text and first address information, the first address information indicating at least one address, each address corresponding to a point of interest (POI) matching the first search text, and each address being related to an address in the set of addresses.

[0267] The transceiver unit 520 is configured to send a search request to a server, the search request comprising the second search text.

[0268] The transceiver unit 520 is further configured to receive a plurality of POI search results sent by the server in response to the search request, the plurality of POI search results comprising M POI search results matching the second search text, M being an integer greater than or equal to 1.

[0269] The processing unit 510 can be configured to perform the procedures and steps of steps S210 and S220 in the method 200, and the transceiver unit 520 can be configured to perform the procedures and steps corresponding to the client in steps S230 and S240 in the method 200.

[0270] It should be understood that the specific processes of each unit performing the corresponding steps in each method described above have been described in detail in the method embodiments described above, and for the sake of brevity, will not be described here.

[0271] It should be understood that the device 500 herein is embodied in the form of functional units. The term "unit" herein can refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combination of logical circuit and / or other suitable components supporting the described functions.

[0272] The apparatus 500 of each of the above-mentioned solutions has the function of implementing the corresponding steps performed by the access network device or the core network device in the above-mentioned methods; the function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions; for example, the communication unit can be replaced by a transmitter and a receiver, and other units such as the processing unit can be replaced by a processor, which respectively performs the transceiving operations and related processing operations in each method embodiment. In addition, the communication unit in the apparatus 500 can also be composed of a sending unit and a receiving unit, and for performing operations related to receiving, the function of the communication unit can be understood as the receiving operation performed by the receiving unit, and for performing operations related to sending, the function of the communication unit can be understood as the sending operation performed by the sending unit.

[0273] In the embodiments of the present application, Figure 12 The apparatus in the above-mentioned solutions can also be a chip or a chip system, for example, a system on chip (SoC). Correspondingly, the transceiving unit can be a transceiving circuit of the chip, which is not limited here.

[0274] Figure 13 An apparatus 600 for searching another information point provided by an embodiment of the present application is shown. It should be understood that the apparatus 600 can be specifically a client in the above-mentioned embodiments, and can be used to perform each step and / or process corresponding to the client in the above-mentioned method embodiments.

[0275] The apparatus 600 includes a processor 610, a transceiver 620 and a memory 630. The processor 610, the transceiver 620 and the memory 630 communicate with each other through an internal connection path. The processor 610 can implement the function of the processing unit 510 in various possible implementation manners of the apparatus 600, and the transceiver 620 can implement the function of the transceiving unit 520 in various possible implementation manners of the apparatus 600. The memory 630 is used to store instructions, and the processor 610 is used to execute the instructions stored in the memory 630, or in other words, the processor 610 can invoke these stored instructions to implement the function of the processor 610 in the apparatus 600 to control the transceiver 620 to send and / or receive signals.

[0276] Optionally, the memory 630 can include a read-only memory and a random access memory, and provide instructions and data for the processor. A part of the memory can also include a non-volatile random access memory. For example, the memory can also store device type information. The processor 610 can be used to execute the instructions stored in the memory, and when the processor 610 executes the instructions stored in the memory, the processor 610 is used to perform each step and / or process of the above-mentioned method embodiments corresponding to the access network device or the core network device.

[0277] In a possible implementation, the apparatus 600 is configured to perform the procedures and steps corresponding to the client in the method 200 described above.

[0278] The processor 610 is configured to obtain a first search text input by a user.

[0279] The processor 610 is further configured to determine a second search text according to the first search text and first user data of the apparatus, the first user data comprising a set of addresses, the second search text comprising the first search text and first address information, the first address information indicating at least one address, each address corresponding to a point of interest (POI) matching the first search text, and each address being related to an address in the set of addresses.

[0280] The transceiver 620 is configured to send a search request to a server, the search request comprising the second search text.

[0281] The transceiver 620 is further configured to receive a plurality of POI search results sent by the server in response to the search request, the plurality of POI search results comprising M POI search results matching the second search text, M being an integer greater than or equal to 1.

[0282] It should be understood that the specific processes of each device performing the corresponding steps in each method described above have been described in detail in the method embodiments described above, and for brevity, will not be described here.

[0283] It should be understood that in the embodiments of the present application, the processor of the apparatus described above can be a central processing unit (CPU), and the processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.

[0284] In the implementation process, each step of the above method can be completed by the integrated logic circuit of hardware in the processor or the instructions in the form of software. The steps of the method disclosed in the embodiments of the present application can be directly embodied as hardware processor execution completion, or executed by a combination of hardware and software units in the processor. The software unit can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, register, etc. The storage medium is located in the memory, and the processor executes the instructions in the memory, and combines the hardware to complete the steps of the above method. To avoid repetition, it will not be described in detail here.

[0285] Those skilled in the art can clearly understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0286] It should be noted that the terms "first", "second" are used only for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. The features limited by "first", "second" can explicitly or implicitly include one or more of the features.

[0287] In the embodiments of the present application, "at least one" means one or more, and "multiple" means two or more. "At least part of the element" means part or all of the element. "And / or" describes the association between the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the following three cases: A exists alone, A and B exist together, and B exists alone, where A and B can be singular or plural. The character " / " generally represents that the front and rear associated objects are in an "or" relationship.

[0288] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0289] In several embodiments provided by the present application, it should be understood that the disclosed system, device and method can be implemented by other ways. For example, the device embodiments described above are only schematic, for example, the division of the units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices or units, and can be electrical, mechanical or other forms.

[0290] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments of the present application.

[0291] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.

[0292] If the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application or the parts of the technical solutions that essentially contribute to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0293] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for searching information points (POIs), characterized in that: include: Obtain M POI search results based on the second search text, where M is an integer greater than 1; Performing feature extraction on each POI search result in the M POI search results to obtain at least one feature value corresponding to each POI search result; The M POI search results are sorted according to the at least one feature value corresponding to each POI search result to generate a sorting of the M POI search results.

2. The method according to claim 1, characterized in that The at least one feature value corresponding to each POI search result includes a historical number of clicks on the POI corresponding to each POI search result.

3. The method according to claim 1 or 2, characterized in that The ranking of the M POI search results is a result obtained by the client ranking the M POI search results.

4. The method according to any one of claims 1 to 3, characterized in that The at least one characteristic value is a plurality of characteristic values, and the plurality of characteristic values ​​includes at least one of the following: A feature value for indicating the relevance between the second search text and the POI corresponding to each POI search result; The distance between the client's current address and the POI corresponding to each POI search result, The characteristic value of the type of POI corresponding to each POI search result, The user's interactive behavior includes at least one of exposure and stay.

5. The method according to any one of claims 1 to 4, characterized in that The at least one feature value is a plurality of feature values, and the plurality of feature values ​​include a click time of the POI corresponding to each POI search result.

6. The method according to claim 2, characterized in that The historical number of clicks is obtained based on the client's software development kit SDK log data, and the SDK log data records the user's click operations on the POI in various application programs APP.

7. The method according to any one of claims 1 to 6, characterized in that Before obtaining M POI search results based on the second search text, the method further includes: Get the first search text entered by the user; The second search text is obtained according to the first search text and the first user data.

8. The method according to claim 7, characterized in that The first user data includes an address set, the second search text includes the first search text and first address information, the first address information represents at least one address, and the at least one address is related to addresses in the address set.

9. The method according to claim 8, characterized in that Obtaining the second search text according to the first search text and the first user data includes: Filtering a set of candidate POI texts from the first user data according to the first search text, each candidate POI text in the set of candidate POI texts matching the first search text and including address information, the address set being a set of addresses included in the set of candidate POI texts; The second search text is obtained according to the first search text and the candidate POI text set, and each address represented by the first address information is related to the address represented by the address information in the candidate POI text set.

10. The method according to claim 9, characterized in that The candidate POI set includes a plurality of candidate POI texts; and obtaining the second search text according to the first search text and the candidate POI text set includes: Filtering a final candidate POI text from the candidate POI text set according to the effective time of the POI corresponding to each candidate POI text and / or the popularity of the POI corresponding to each candidate POI text; The second search text is obtained according to the first search text and the final candidate POI text, and each address represented by the first address information is related to the address represented by the address information in the final candidate POI text.

11. The method according to claim 3, characterized in that The result obtained by the client sorting the M POI search results is obtained according to a learning-to-rank (LTR) model; and the method further includes: According to a user's click operation on at least one POI search result among the M POI search results, SDK log data is updated to update the LTR model.

12. The method according to any one of claims 1 to 11, characterized in that The second search text is an encrypted search text.

13. A device for searching information points (POIs), characterized in that: Including processing unit, The processing unit is configured to obtain M POI search results based on the second search text, where M is an integer greater than 1; Also configured to perform feature extraction on each of the M POI search results to obtain at least one feature value corresponding to each of the POI search results; It is further configured to sort the M POI search results according to the at least one feature value corresponding to each POI search result, so as to generate a sorting of the M POI search results.

14. The device according to claim 13, characterized in that The at least one feature value corresponding to each POI search result includes a historical number of clicks on the POI corresponding to each POI search result.

15. The device according to claim 13 or 14, characterized in that The ranking of the M POI search results is a result obtained by the client ranking the M POI search results.

16. The device according to any one of claims 13 to 15, characterized in that The at least one characteristic value is a plurality of characteristic values, and the plurality of characteristic values ​​includes at least one of the following: A feature value for indicating the relevance between the second search text and the POI corresponding to each POI search result; The distance between the client's current address and the POI corresponding to each POI search result, The characteristic value of the type of POI corresponding to each POI search result, The user's interactive behavior includes at least one of exposure and stay.

17. The device according to any one of claims 13 to 16, characterized in that The at least one feature value is a plurality of feature values, and the plurality of feature values ​​include a click time of the POI corresponding to each POI search result.

18. The device according to claim 14, characterized in that The historical number of clicks is obtained based on the client's software development kit SDK log data, and the SDK log data records the user's click operations on the POI in various application programs APP.

19. The device according to any one of claims 13 to 18, characterized in that The processing unit is further configured to obtain a first search text input by a user; It is also used to obtain the second search text according to the first search text and the first user data.

20. The device according to claim 19, characterized in that The first user data includes an address set, the second search text includes the first search text and first address information, the first address information represents at least one address, and the at least one address is related to addresses in the address set.

21. The device according to claim 20, characterized in that The processing unit is specifically configured to filter out a set of candidate POI texts from the first user data based on the first search text, wherein each candidate POI text in the set of candidate POI texts matches the first search text and includes address information, where the address information is an address included in the set of candidate POI texts; It is also used to obtain the second search text according to the first search text and the candidate POI text set, and each address represented by the first address information is related to the address represented by the address information in the candidate POI text set.

22. The device according to claim 21, characterized in that The processing unit is specifically configured to screen out a final candidate POI text from the candidate POI text set according to the effective time of the POI corresponding to each candidate POI text and / or the popularity of the POI corresponding to each candidate POI text; It is also used to obtain the second search text based on the first search text and the final candidate POI text, and each address represented by the first address information is related to the address represented by the address information in the final candidate POI text.

23. The device according to claim 15, characterized in that The result obtained by the client sorting the M POI search results is obtained according to a learning to sort LTR model; The processing unit is further configured to update SDK log data according to a user's click operation on at least one POI search result among the M POI search results, so as to update the LTR model.

24. The device according to any one of claims 13 to 23, characterized in that The second search text is an encrypted search text.

25. An information point search device, characterized in that: include: Memory, for storing computer instructions; A processor, configured to call the computer instructions stored in the memory to execute the method according to any one of claims 1 to 12.

26. A computer-readable storage medium, characterized in that Used to store computer instructions, wherein the computer instructions are used to implement the method according to any one of claims 1 to 12.

27. A computer program product, characterized in that The method comprises computer instructions for implementing the method according to any one of claims 1 to 12.

28. A chip, characterized in that: The chip includes: Memory: used to store instructions; A processor, configured to call and execute the instructions from the memory, so that a communication device equipped with the chip executes the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Retrieval method and equipment

    CN103942221A

  • User attribute based personalized big data searching method and system

    CN105701171A

  • Information recommendation method and device, terminal, and storage medium

    CN112639770A