Application search method, device, electronic device and storage medium
By matching the application keywords with the application feature information of multiple applications to be matched, and filtering it with application download information, the problem of low application search accuracy is solved, and the accuracy and hit rate of search results are improved.
Patent Information
- Application Number
- CN202111163520.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-30
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2041-09-30
AI Technical Summary
The accuracy of application search in the prior art is low, resulting in a low priority of display of target search applications in the search result list, and the probability that the search results hit the target search application is low.
By matching the application keywords with the application characteristic information of multiple applications to be matched, a candidate application list is generated, and filtering based on the application download information of the candidate application to generate a search result list, thereby determining the target search application.
Improve the accuracy of search results, enhance the display priority of target search applications in the search result list, improve the search hit rate, and thus improve the accuracy of application search.
Smart Images

Figure CN113868533B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of information retrieval technology, and in particular to an application search method, device, electronic device and storage medium. Background Art
[0002] ES (Elastic Search) is a distributed search engine built on Apache Lucene. It supports full-text retrieval, has the ability to scale horizontally, and is suitable for near real-time searches within a large range of documents.
[0003] In the related art, when performing application search, the match method in ES is used to match the application keywords with each application. For example, if the application keyword is "Lianjia", the match method will search for applications containing "chain" and "home" respectively in each application. Applications that are not related to the keywords may appear in the search results, such as "Dajia Lian", "Lianlian", "Cold Chain Butler", etc.; resulting in the target search application having a lower display priority in the search result list; and the applications in the search result list are sorted based on the degree of match with the keyword, that is, the information based on which the applications are sorted is relatively single, resulting in a low probability that the search results hit the target search application; it can be seen that the method of performing application search based on keywords in the related art has the problem of low application search accuracy. Summary of the invention
[0004] The present disclosure provides an application search method, device, electronic device and storage medium to at least solve the problem of low application search accuracy in related technologies. The technical solution of the present disclosure is as follows:
[0005] According to a first aspect of an embodiment of the present disclosure, there is provided an application search method, including:
[0006] receiving an application search request, wherein the application search request includes an application keyword;
[0007] The application keyword is phrase matched with the application feature information of multiple applications to be matched, so as to obtain a candidate application list associated with the application keyword; the multiple candidate applications in the candidate application list are sorted based on the matching information between the multiple candidate applications and the application keyword; the phrase matching is to match the target query phrase corresponding to the application keyword with the application feature information of the multiple applications to be matched;
[0008] Based on the application download information of the multiple candidate applications, filtering the candidate application list to generate a search result list;
[0009] A target search application is determined from the search result list.
[0010] In an exemplary embodiment, the application feature information also includes application name information and application description information;
[0011] The step of performing phrase matching on the application keyword and the application feature information of multiple applications to be matched to obtain a candidate application list associated with the application keyword includes:
[0012] Performing phrase matching on the application keyword with the application name information and the application description information of each application to be matched, respectively, to obtain matching information between the application keyword and each application to be matched;
[0013] Determining the plurality of candidate applications from the plurality of applications to be matched based on matching information between the application keyword and each application to be matched;
[0014] The multiple candidate applications are sorted based on the matching information between the multiple candidate applications and the application keywords to obtain the candidate application list.
[0015] In an exemplary embodiment, performing phrase matching on the application keyword with the application name information and the application description information of each to-be-matched application to obtain matching information between the application keyword and each to-be-matched application includes:
[0016] When the application keyword includes multiple keywords, generating the target query phrase corresponding to the application keyword; the order of the multiple keywords in the target query phrase is consistent with the order of the multiple keywords in the application keyword;
[0017] Perform phrase matching on the target query phrase and the application name information to obtain first matching information;
[0018] Perform phrase matching on the target query phrase and the application description information to obtain second matching information;
[0019] A weighted sum is performed on the first matching information and the second matching information to obtain matching information between the application keyword and the application to be matched.
[0020] In an exemplary embodiment, the determining the plurality of candidate applications from the plurality of applications to be matched based on the matching information between the application keyword and each application to be matched includes:
[0021] Based on the matching information between the application keyword and each application to be matched, an initial matching application is obtained;
[0022] Performing abnormal information detection on the application name information and the application description information of the initial matching application to obtain an abnormal information detection result;
[0023] Based on the abnormal information detection result, the candidate application is determined from the initial matching applications.
[0024] In an exemplary embodiment, determining the candidate application from the initial matching applications based on the abnormal information detection result includes:
[0025] When the application name information or the application description information of the initial matching application contains abnormal information, performing type detection on the publisher type of the initial matching application to obtain a type detection result;
[0026] When the type detection result indicates that the publisher type of the initial matching application is the target type, the initial matching application is determined as the candidate application.
[0027] In an exemplary embodiment, filtering the candidate application list based on the application download information of the multiple candidate applications to generate a search result list includes:
[0028] Determining a target application from the multiple candidate applications according to the application download information of the multiple candidate applications;
[0029] Adding the target application to a preset list;
[0030] Determine a current candidate application in the candidate application list, where the current candidate application is a candidate application in the candidate application list that has not been matched and is ranked first;
[0031] Perform application matching on the current candidate application based on the target application to obtain a matching result;
[0032] When the matching result indicates that the current candidate application is different from the target application, adding the current candidate application to a preset list to which the target application has been added;
[0033] Repeating the steps of determining the current candidate application in the candidate application list to adding the current candidate application to the preset list to which the target application has been added, until the number of applications in the preset list reaches a preset number;
[0034] A preset list including the preset number of applications is determined as the search result list.
[0035] In an exemplary embodiment, the application search request includes an application access request;
[0036] The method further comprises:
[0037] Obtaining recommendation information of the target search application;
[0038] Based on the recommendation information, the target search application is connected to the information to be delivered.
[0039] According to a second aspect of an embodiment of the present disclosure, there is provided an application search device, including:
[0040] A search request receiving unit, configured to receive an application search request, wherein the application search request includes an application keyword;
[0041] A candidate application list generating unit is configured to perform phrase matching between the application keyword and application feature information of multiple applications to be matched, so as to obtain a candidate application list associated with the application keyword; the multiple candidate applications in the candidate application list are sorted based on the matching information between the multiple candidate applications and the application keyword; the phrase matching is to match the target query phrase corresponding to the application keyword with the application feature information of the multiple applications to be matched;
[0042] a search result list generating unit, configured to perform filtering on the candidate application list based on the application download information of the plurality of candidate applications, and generate a search result list;
[0043] The target search application determining unit is configured to determine a target search application from the search result list.
[0044] In an exemplary embodiment, the application feature information also includes application name information and application description information;
[0045] The candidate application list generating unit comprises:
[0046] a phrase matching unit configured to perform phrase matching of the application keyword with the application name information and the application description information of each to-be-matched application, to obtain matching information between the application keyword and each to-be-matched application;
[0047] a candidate application determining unit, configured to determine the plurality of candidate applications from the plurality of applications to be matched based on matching information between the application keyword and each application to be matched;
[0048] The sorting unit is configured to sort the multiple candidate applications based on matching information between the multiple candidate applications and the application keywords to obtain the candidate application list.
[0049] In an exemplary embodiment, the phrase matching unit includes:
[0050] a target query phrase generating unit, configured to generate the target query phrase corresponding to the application keyword when the application keyword includes multiple keywords; the order of the multiple keywords in the target query phrase is consistent with the order of the multiple keywords in the application keyword;
[0051] A first matching unit is configured to perform phrase matching between the target query phrase and the application name information to obtain first matching information;
[0052] A second matching unit is configured to perform phrase matching between the target query phrase and the application description information to obtain second matching information;
[0053] The weighted summing unit is configured to perform weighted summing of the first matching information and the second matching information to obtain matching information between the application keyword and the application to be matched.
[0054] In an exemplary embodiment, the candidate application determining unit includes:
[0055] an initial matching application determining unit, configured to obtain an initial matching application based on matching information between the application keyword and each application to be matched;
[0056] an abnormal information detection unit, configured to perform abnormal information detection on the application name information and the application description information of the initial matching application to obtain an abnormal information detection result;
[0057] The first determining unit is configured to determine the candidate application from the initial matching applications based on the abnormal information detection result.
[0058] In an exemplary embodiment, the first determining unit includes:
[0059] A type detection unit is configured to perform type detection on the publisher type of the initial matching application when the application name information or the application description information of the initial matching application contains abnormal information, and obtain a type detection result;
[0060] The second determining unit is configured to determine the initial matching application as the candidate application when the type detection result indicates that the publisher type of the initial matching application is a target type.
[0061] In an exemplary embodiment, the search result list generating unit includes:
[0062] a target application determining unit, configured to determine a target application from the plurality of candidate applications according to the application download information of the plurality of candidate applications;
[0063] A first adding unit is configured to add the target application to a preset list;
[0064] A third determining unit is configured to determine a current candidate application in the candidate application list, where the current candidate application is a candidate application in the candidate application list that has not been matched and is ranked first;
[0065] An application matching unit, configured to perform application matching on a current candidate application based on the target application to obtain a matching result;
[0066] A second adding unit is configured to add the current candidate application to a preset list to which the target application has been added when the matching result indicates that the current candidate application is different from the target application;
[0067] a repeating execution unit, configured to repeat the steps of determining a current candidate application in the candidate application list to adding the current candidate application to a preset list to which the target application has been added, until the number of applications in the preset list reaches a preset number;
[0068] The fourth determining unit is configured to determine a preset list including the preset number of applications as the search result list.
[0069] In an exemplary embodiment, the application search request includes an application access request;
[0070] The device also includes:
[0071] A recommendation information unit, configured to obtain recommendation information of the target search application;
[0072] The information access unit is configured to access the target search application to the information to be delivered based on the recommendation information.
[0073] According to a third aspect of an embodiment of the present disclosure, a server is provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement the application search method as described above.
[0074] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When instructions in the computer-readable storage medium are executed by a processor of a server, the server is enabled to execute the application search method as described above.
[0075] According to a fifth aspect of an embodiment of the present disclosure, a computer program product is provided, which includes a computer program, wherein the computer program is stored in a readable storage medium, and at least one processor of a computer device reads and executes the computer program from the readable storage medium, so that the device performs the above-mentioned application search method.
[0076] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:
[0077] The present disclosure obtains a candidate application list associated with the application keyword by performing phrase matching on an application keyword and application feature information of multiple applications to be matched; since phrase matching does not segment the application keyword, it can avoid applications that are irrelevant to the application keyword from appearing in the search results, thereby improving the accuracy of the search results; then, based on the application download information of multiple candidate applications in the candidate application list, the candidate application list is filtered to generate a search result list, and a target search application is determined from the search result list; the search result is generated in combination with the application download information of the candidate application, which can improve the display priority of the target search application in the search result list, and correspondingly can improve the search hit rate, thereby improving the accuracy of the application search.
[0078] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0079] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0080] Figure 1 It is a schematic diagram of an implementation environment according to an exemplary embodiment.
[0081] Figure 2 The figure is a flow chart of an application search method according to an exemplary embodiment.
[0082] Figure 3 The figure is a flow chart of a method for generating a candidate application list according to an exemplary embodiment.
[0083] Figure 4 The figure is a flow chart of a method for matching application keywords with applications to be matched according to an exemplary embodiment.
[0084] Figure 5 The figure is a flow chart of a method for determining a candidate application according to an exemplary embodiment.
[0085] Figure 6is a flow chart of another method for determining candidate applications according to an exemplary embodiment.
[0086] Figure 7 The figure is a flow chart of a method for generating a search result list according to an exemplary embodiment.
[0087] Figure 8 The present invention is a flow chart of an application access method according to an exemplary embodiment.
[0088] Fig. 9 The figure is a schematic diagram of a search process according to an exemplary embodiment.
[0089] Fig. 10 is a schematic diagram of small root heap sorting according to an exemplary embodiment.
[0090] Fig.11 The figure is a block diagram of an application search device according to an exemplary embodiment.
[0091] Fig.12 is a schematic diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0092] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.
[0093] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0094] It should be noted that the user information involved in this disclosure (including but not limited to user device information, user personal information, etc.) is all information authorized by the user or fully authorized by all parties.
[0095] See also Figure 1 , which shows a schematic diagram of an implementation environment provided by an embodiment of the present disclosure, the implementation environment may include: at least one request end 110 and a request processing end 120, and the request end 110 and the request processing end 120 can communicate data through a network.
[0096] Specifically, the request end 110 sends an application search request to the request processing end 120, and the application search request includes application keywords of the application to be searched; the request processing end 120 responds to the application search request, searches in the application library according to the application keywords in the application search request, and obtains corresponding application search results; the request processing end 120 returns the application search results to the request end 110, and the request end 110 displays the application search results; the request end 110 responds to the target application selection request and generates a corresponding target application acquisition request; the target application selection request can be triggered by the user selecting a target application based on the application search results; the request processing end 120 responds to the target application acquisition request and returns information related to the target application to the request end 110.
[0097] The request end 110 can communicate with the request processing end 120 based on the browser / server mode (B / S) or the client / server mode (C / S). The request end 110 may include: physical devices such as smart phones, tablet computers, laptops, digital assistants, smart wearable devices, vehicle terminals, servers, etc., and may also include software running in physical devices, such as applications, etc. The operating system running on the request end 110 in the embodiment of the present disclosure may include but is not limited to Android system, IOS system, Linux, Windows, etc.
[0098] The request processing end 120 can establish a communication connection with the request end 110 via wired or wireless communication. The request processing end 120 can include an independently running server, or a distributed server, or a server cluster composed of multiple servers, wherein the server can be a cloud server.
[0099] In order to solve the problem of low application search accuracy in the related art, the embodiment of the present disclosure provides an application search method, the execution subject of the method can be the above-mentioned request processing end, specifically a terminal, a server, a data processing node in a distributed cluster, etc.; please refer to Figure 2 , the method may specifically include:
[0100] S210. Receive an application search request, where the application search request includes application keywords.
[0101] In a specific embodiment, the received application search request may be initiated by the requesting end, and the application keyword in the application search request may be a keyword related to the application to be searched input by the user at the requesting end, or may be a keyword related to the application to be searched selected by the user from a recommended keyword tag. When the user initiates a search operation based on the application keyword, the requesting end generates an application search request accordingly.
[0102] S220. Perform phrase matching on the application keyword and the application feature information of multiple applications to be matched to obtain a candidate application list associated with the application keyword; the multiple candidate applications in the candidate application list are sorted based on the matching information between the multiple candidate applications and the application keyword; the phrase matching is to match the target query phrase corresponding to the application keyword with the application feature information of the multiple applications to be matched.
[0103] In an optional embodiment, the application characteristic information may be information that can be used to match application keywords and can characterize application characteristics.
[0104] In a specific embodiment, phrase matching can be that when performing application keyword matching, the application keyword is generally not segmented, but the application keyword is searched as a whole; for example, the application feature information is searched to see whether the application keyword as a whole is included. For example, the application keywords are A, B, C, and A, B, C are searched as a whole, and the corresponding target query phrase is determined to be ABC, that is, when ABC is included in the application feature information of the application to be matched, it is determined that the application to be matched matches the application keyword ABC.
[0105] In an optional embodiment, phrase matching can also be to perform word segmentation on the application keyword when performing application keyword matching, but it is necessary to ensure that the order of the words after the segmentation is consistent with the order in the original application keyword during matching. For example, the application keyword is ABC, and after the segmentation, A, B, C are obtained. When the application feature information of the application to be matched contains A, B, C, and the order is consistent with ABC, it is determined that the application to be matched matches the application keyword ABC.
[0106] Compared with the solution of directly segmenting application keywords and performing matching based on the segmentation results, the candidate applications determined by phrase matching can avoid the appearance of applications irrelevant to the application keywords in the search results, thereby improving the accuracy of the search results.
[0107] In a specific embodiment, the application feature information also includes application name information and application description information; accordingly, please refer to Figure 3 , which shows a method for generating a candidate application list, which may include:
[0108] S310. Perform phrase matching on the application keyword with the application name information and the application description information of each application to be matched, to obtain matching information between the application keyword and each application to be matched.
[0109] S320. Determine the plurality of candidate applications from the plurality of applications to be matched based on the matching information between the application keyword and each application to be matched.
[0110] S330. Sort the multiple candidate applications based on the matching information between the multiple candidate applications and the application keywords to obtain the candidate application list.
[0111] In a specific embodiment, the application name description information may be information about the functions and usage scenarios of the application to be matched. The degree of matching between the application keyword and each application to be matched can be determined based on the matching information between the application keyword and the application to be matched, and the application to be matched whose matching degree meets the preset matching conditions and the relevant search additional conditions can be determined as a candidate application, and a candidate application list is obtained accordingly. The candidate applications in the candidate application list can be sorted in descending order according to the degree of matching with the application keyword.
[0112] When performing specific matching, for each application to be matched, its application name information and application description information are matched with the application keywords respectively, that is, information of multiple dimensions is matched with the application keywords, which expands the matching range of the application keywords and further improves the hit rate of the application search results.
[0113] In a specific embodiment, see Figure 4 , which shows a method for matching application keywords with applications to be matched, the method may include:
[0114] S410. When the application keyword includes multiple keywords, generate the target query phrase corresponding to the application keyword; the order of the multiple keywords in the target query phrase is consistent with the order of the multiple keywords in the application keyword.
[0115] S420. Perform phrase matching on the target query phrase and the application name information to obtain first matching information.
[0116] S430. Perform phrase matching on the target query phrase and the application description information to obtain second matching information.
[0117] S440. Perform weighted summation on the first matching information and the second matching information to obtain matching information between the application keyword and the application to be matched.
[0118] When matching specifically, the application keyword can be searched in the application name information and in the application description information to obtain corresponding matching information. The first matching information may refer to the frequency a of finding the application keyword in the application name information, and the second matching information may refer to the frequency b of finding the application keyword in the application description information.
[0119] In a specific embodiment, the weight of the first matching information is α, and the weight of the second matching information is β. After weighted summation, the matching information of the application keyword and the application to be matched can be obtained as α*a+β*b, where α:β=N:1.
[0120] The first matching information and the second matching information are weighted and summed to obtain matching information between the application keyword and the application to be matched, and the weights can be flexibly adjusted according to specific implementation scenarios, thereby improving the flexibility and adaptability of matching information calculation.
[0121] In an alternative embodiment, see Figure 5 , which shows a candidate application determination method, which may include:
[0122] S510. Obtain an initial matching application based on the matching information between the application keyword and each application to be matched.
[0123] S520. Perform abnormal information detection on the application name information and the application description information of the initial matching application to obtain an abnormal information detection result.
[0124] S530. Determine the candidate application from the initial matching applications based on the abnormal information detection result.
[0125] According to the above method, matching information between the application keyword and each to-be-matched application can be obtained, and the to-be-matched applications can be screened based on preset matching conditions, specifically determining the to-be-matched information that meets the preset matching conditions as the initial matching application.
[0126] In a specific implementation, abnormal information detection may refer to detecting sensitive information in application name information and application description information, and the abnormal information detection result may indicate whether there is sensitive information in the application name information or application description information of the initial matching application; and the candidate application is determined from the initial matching application according to the abnormal information detection result. For example, sensitive words E, F, etc. may be pre-set, and when the application name information of the initial matching application contains sensitive words E or F, or the application description information contains sensitive words E or F, the initial matching application will not be determined as a candidate application.
[0127] On the basis of determining the initial application, further abnormal information detection is performed to screen out applications that do not contain abnormal sensitive information and remove initial matching applications that do not meet the conditions, thereby achieving personalized application selection and improving the flexibility of application search.
[0128] In a specific embodiment, see Figure 6 , which shows another candidate application determination method, which may include:
[0129] S610. When the application name information or the application description information of the initial matching application contains abnormal information, perform type detection on the publisher type of the initial matching application to obtain a type detection result.
[0130] S620. When the type detection result indicates that the publisher type of the initial matching application is a target type, determine the initial matching application as the candidate application.
[0131] When it is detected that the application name information or application description information of the initial matching application contains abnormal information, the publisher type detection result can be further performed on it. For example, one or more target publishers can be preset. For the initial matching application whose publisher is the target publisher, its publisher type is the target publisher type; for the initial matching application whose publisher is the non-target publisher, its publisher type is the non-target publisher type. Therefore, for an initial matching application, its abnormal information detection result indicates that there is abnormal information in the application name information or application description information, but its type detection result indicates that its publisher type is the target publisher type, so that the initial matching application can be determined as a candidate application; for an initial matching application, its abnormal information detection result indicates that there is abnormal information in the application name information or application description information, and its type detection result indicates that its publisher type is the non-target publisher type, so that the initial matching application will not be determined as a candidate application.
[0132] By setting the method of the target publisher, the initial matching application containing abnormal information can be prevented from being filtered out, so that it can be used to search and view the application of a specific target publisher, and the application search and viewing can be carried out in a targeted manner.
[0133] S230. Based on the application download information of the multiple candidate applications, filter the candidate application list to generate a search result list.
[0134] The candidate application list is sorted based on the matching information between the application keywords and the application to be matched, and on this basis, the application download information of the candidate application can be further combined to determine the search result list. The application download information can specifically include information such as the application download volume and application download ranking.
[0135] In a specific embodiment, see Figure 7 , which shows a method for generating a search result list, which may include:
[0136] S710. Determine a target application from the multiple candidate applications according to the application download information of the multiple candidate applications.
[0137] S720. Add the target application to a preset list.
[0138] In a specific embodiment, the target application may be at least one application with a higher ranking of application download volume among multiple candidate applications, or at least one application with a higher ranking of download volume among multiple candidate applications. The target application is added to the preset list in order.
[0139] S730. Determine a current candidate application in the candidate application list, where the current candidate application is a candidate application that has not been matched and is ranked first in the candidate application list.
[0140] S740. Perform application matching on the current candidate application based on the target application to obtain a matching result.
[0141] S750. When the matching result indicates that the current candidate application is different from the target application, add the current candidate application to a preset list to which the target application has been added.
[0142] Performing application matching on the current candidate application based on the target application may be comparing the target application with the current candidate application to determine whether the two are the same application.
[0143] S760. Repeat steps S730 to S750 until the number of applications in the preset list reaches a preset number.
[0144] S770. Determine a preset list including the preset number of applications as the search result list.
[0145] After determining the target application from the candidate application list based on the download information of the candidate application, the candidate applications are taken out from the remaining candidate applications in the candidate application list and added to the preset list in turn, and each time the application is added to the preset list, it is sorted in the order of addition, that is, the application added earlier is sorted first, and the application added later is sorted last, until the number of applications in the preset list reaches the preset number.
[0146] Based on the application keywords and application matching information, the application download information of the application is introduced to generate the search result list. This can avoid the inaccuracy of determining the search results based solely on the matching information, because generating the search result list by ranking the applications based on a single dimension of information may result in a low probability that the search results hit the target search application. By combining the application download volume information and taking into account the impact of another information dimension on the overall application search result ranking, the application search accuracy is improved.
[0147] S240. Determine a target search application from the search result list.
[0148] In a specific embodiment, after generating a search result list, the request processing end may return the search result list to the requesting end, and the requesting end may display the search result list to facilitate the user to select a target search application from the search result list and trigger a target search application selection request; the requesting end sends the target search application selection request to the request processing end, and the request processing end determines the target search application based on the target search application selection request.
[0149] In a specific embodiment, see Figure 8 , which shows an application access method, which may include:
[0150] S810. Obtain recommendation information of the target search application.
[0151] S820. Based on the recommendation information, the target search application is connected to the information to be delivered.
[0152] The recommended information of the target search application can be information for obtaining the target search application, and specifically can be an acquisition link or acquisition interface of the target search application. In the application promotion and delivery scenario, for the information delivery party, the target search application can be connected to the preset delivery information to generate the application delivery information to be delivered and deliver it, wherein the recommended information of the target search application can be embedded in the delivery information; for the information receiver, when browsing the application delivery information, the application can be converted through the recommended information embedded in the application delivery information. Based on the recommended information of the target search application, connecting the target search application to the information to be delivered can improve the convenience and ease of operation of generating application delivery information.
[0153] The present disclosure obtains a candidate application list associated with the application keyword by performing phrase matching on an application keyword and application feature information of multiple applications to be matched; since phrase matching does not segment the application keyword, it can avoid applications that are irrelevant to the application keyword from appearing in the search results, thereby improving the accuracy of the search results; then, based on the application download information of multiple candidate applications in the candidate application list, the candidate application list is filtered to generate a search result list, and a target search application is determined from the search result list; the search result is generated in combination with the application download information of the candidate application, which can improve the display priority of the target search application in the search result list, and correspondingly can improve the search hit rate, thereby improving the accuracy of the application search.
[0154] The following is a specific example to illustrate the implementation process of the present disclosure. Fig. 9 , which may include:
[0155] 1. Define the index
[0156] The description of the index is shown in Table 1:
[0157] Table 1
[0158]
[0159] For each application, the system will maintain the corresponding index information. It can be seen from Table 1 that the appName application name and appDesc application description are the application name information and application description information mentioned above in this embodiment, and the downloadCount application download quantity corresponds to the application download information mentioned above in this embodiment.
[0160] As can be seen from Table 1, the reason for storing partial application information in the index instead of saving all application information in the index is that saving a large amount of information in the index will occupy storage overhead; and generating an index based on partial application information can be used for information matching during application search, without the need to match based on all application information, thereby improving matching efficiency.
[0161] 2. Create an index
[0162] The index for the day is created regularly every day. The process of creating the index is to query the application duration table regularly every day and store some application information in the index.
[0163] 3. Search and sort
[0164] The search operation is initiated by the user entering a keyword. The system searches for matching applications in the index of a certain day based on the keyword.
[0165] a. Search rules
[0166] (1) Search for apps whose appName or appDesc includes "AB". The weight ratio of the two is 10:1.
[0167] (2) Results where appName or appDesc includes sensitive words such as "E" and "F" are removed, but application providers such as "Company A" and "Company B" are exempted. That is, application providers such as "Company A" and "Company B" are retained in the results even if the application contains keywords that need to be removed.
[0168] (3) The filtering condition is that the application link is not empty.
[0169] (4) The number of query records is 100.
[0170] (5) The search request body is shown in the following JSON string.
[0171]
[0172]
[0173]
[0174] b. Sorting rules
[0175] (1) Take the first M apps with the most downloads
[0176] (2) Select N apps with high scores (the higher the match between the app name and description and the search term, the higher the score)
[0177] (3) The two are combined to produce M+N search results
[0178] Among them, obtaining M applications with the most downloads can be implemented based on a priority queue heap (a priority queue is a data structure that can solve the TopN sorting problem, such as solving the largest or smallest N numbers. The heap solves the largest TopN priority queue). The priority queue is more efficient than sorting all search results. The comparison rule of the heap sorting is based on download_count.
[0179] For example, if there is application information as shown in Table 2, for the sake of convenience, only the key and download count of the application are retained; based on the search results, the two applications with the most downloads are taken, and the three applications with higher matching scores are selected, and finally five applications are sorted and returned.
[0180] Table 2
[0181]
[0182]
[0183] The application information is simplified into the following list of triples: <1,A,100>, <2,B,50>, <3,C,300>, <4,D,200>, <5,E,600>, <6,F,20>. The sorting process is shown in Figure 10. The initial heap has no tuples. The first two tuples are saved in the heap. The tuples are stored in the heap as shown in Figure 10 (1). Each subsequent triple is compared with the top element of the heap, that is, with the red element. If the number of downloads is greater than the top tuple, the top tuple is popped out and the new tuple is added to the heap. The change of the heap is as follows: Figure 10(2) to Figure 10(3) shown.
[0184] Get the tuples in the small root heap in reverse order. The top2 applications are <5,E,600> and <3,C,300>. Add the application to the result list.
[0185] Compare the tuples in the search list with the top2 applications in turn. If they are not equal, add them to the result list; check whether the number of applications in the result list is equal to 5. If so, stop comparing and return the result.
[0186] The final search and sort result list is [<5,E,600>, <3,C,300>, <1,A,100>, <2,B,50>, <4,D,200>].
[0187] 4. Query application details
[0188] The index only stores part of the application information. To obtain application details, you need to query the application market table based on the key in the index.
[0189] 5. Delete the index
[0190] A new index is created every day. As time goes by, historical indexes will occupy a lot of disk space. Therefore, it is necessary to delete some historical indexes, for example, only keep the index of 4 days, and delete the index before 4 days.
[0191] When delivering application information, on the one hand, the information delivery party can search for applications in the application library in advance. The application search solution disclosed in the present invention can prevent users from mistakenly thinking that there are no applications to be promoted in the application library and repeatedly creating applications, thereby saving users' time and improving the application promotion experience; on the other hand, applications spontaneously created by users require manual review, while applications searched from the application library can be exempted from manual review, thereby improving the accuracy of application search, alleviating review pressure, and shortening review delays.
[0192] Fig.11 FIG. 1 is a block diagram of an application search device according to an exemplary embodiment. Fig.11 , the device comprises:
[0193] The search request receiving unit 1110 is configured to receive an application search request, wherein the application search request includes an application keyword;
[0194] The candidate application list generating unit 1120 is configured to perform phrase matching between the application keyword and the application feature information of the multiple applications to be matched, so as to obtain a candidate application list associated with the application keyword; the multiple candidate applications in the candidate application list are sorted based on the matching information between the multiple candidate applications and the application keyword; the phrase matching is to match the target query phrase corresponding to the application keyword with the application feature information of the multiple applications to be matched;
[0195] A search result list generating unit 1130 is configured to perform filtering on the candidate application list based on the application download information of the plurality of candidate applications to generate a search result list;
[0196] The target search application determining unit 1140 is configured to determine a target search application from the search result list.
[0197] In an exemplary embodiment, the application feature information also includes application name information and application description information;
[0198] The candidate application list generating unit 1120 includes:
[0199] a phrase matching unit configured to perform phrase matching of the application keyword with the application name information and the application description information of each to-be-matched application, to obtain matching information between the application keyword and each to-be-matched application;
[0200] a candidate application determining unit, configured to determine the plurality of candidate applications from the plurality of applications to be matched based on matching information between the application keyword and each application to be matched;
[0201] The sorting unit is configured to sort the multiple candidate applications based on matching information between the multiple candidate applications and the application keywords to obtain the candidate application list.
[0202] In an exemplary embodiment, the phrase matching unit includes:
[0203] a target query phrase generating unit, configured to generate the target query phrase corresponding to the application keyword when the application keyword includes multiple keywords; the order of the multiple keywords in the target query phrase is consistent with the order of the multiple keywords in the application keyword;
[0204] A first matching unit is configured to perform phrase matching between the target query phrase and the application name information to obtain first matching information;
[0205] A second matching unit is configured to perform phrase matching between the target query phrase and the application description information to obtain second matching information;
[0206] The weighted summing unit is configured to perform weighted summing of the first matching information and the second matching information to obtain matching information between the application keyword and the application to be matched.
[0207] In an exemplary embodiment, the candidate application determining unit includes:
[0208] an initial matching application determining unit, configured to obtain an initial matching application based on matching information between the application keyword and each application to be matched;
[0209] an abnormal information detection unit, configured to perform abnormal information detection on the application name information and the application description information of the initial matching application to obtain an abnormal information detection result;
[0210] The first determining unit is configured to determine the candidate application from the initial matching applications based on the abnormal information detection result.
[0211] In an exemplary embodiment, the first determining unit includes:
[0212] A type detection unit is configured to perform type detection on the publisher type of the initial matching application when the application name information or the application description information of the initial matching application contains abnormal information, and obtain a type detection result;
[0213] The second determining unit is configured to determine the initial matching application as the candidate application when the type detection result indicates that the publisher type of the initial matching application is a target type.
[0214] In an exemplary embodiment, the search result list generating unit includes:
[0215] a target application determining unit, configured to determine a target application from the plurality of candidate applications according to the application download information of the plurality of candidate applications;
[0216] A first adding unit is configured to add the target application to a preset list;
[0217] A third determining unit is configured to determine a current candidate application in the candidate application list, where the current candidate application is a candidate application in the candidate application list that has not been matched and is ranked first;
[0218] An application matching unit, configured to perform application matching on a current candidate application based on the target application to obtain a matching result;
[0219] A second adding unit is configured to add the current candidate application to a preset list to which the target application has been added when the matching result indicates that the current candidate application is different from the target application;
[0220] a repeating execution unit, configured to repeat the steps of determining a current candidate application in the candidate application list to adding the current candidate application to a preset list to which the target application has been added, until the number of applications in the preset list reaches a preset number;
[0221] The fourth determining unit is configured to determine a preset list including the preset number of applications as the search result list.
[0222] In an exemplary embodiment, the application search request includes an application access request;
[0223] The device also includes:
[0224] A recommendation information unit, configured to obtain recommendation information of the target search application;
[0225] The information access unit is configured to access the target search application to the information to be delivered based on the recommendation information.
[0226] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0227] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided. Optionally, the computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a tape, a floppy disk, an optical data storage device, etc.; when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute any of the methods described above.
[0228] In an exemplary embodiment, a computer program product is also provided, which includes a computer program stored in a readable storage medium, and at least one processor of a computer device reads and executes the computer program from the readable storage medium, so that the device performs any of the above methods.
[0229] Further, Fig.12 A schematic diagram of the hardware structure of a device for implementing the method provided by an embodiment of the present disclosure is shown, and the device may participate in constituting or include the apparatus provided by an embodiment of the present disclosure. Fig.12As shown, the device 10 may include one or more (102a, 102b, ..., 102n are used to illustrate) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a power supply and / or a camera. It can be understood by those skilled in the art that Fig.12 The structure shown is for illustration only and does not limit the structure of the electronic device. Fig.12 More or fewer components as shown, or with Fig.12 Different configurations are shown.
[0230] It should be noted that the one or more processors 102 and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuits may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components of the device 10 (or mobile device). As involved in the embodiments of the present disclosure, the data processing circuit acts as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0231] The memory 104 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the methods described in the embodiments of the present disclosure. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, to implement the above-mentioned player preloading method or player operation method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the device 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0232] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the device 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0233] The display may be, for example, a touch screen liquid crystal display (LCD) that may enable a user to interact with a user interface of device 10 (or mobile device).
[0234] Any of the above methods in this embodiment can be based on Fig.12 The device shown is implemented.
[0235] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0236] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. An application search method, characterized in that: include: receiving an application search request, wherein the application search request includes an application keyword; Perform phrase matching on the application keyword and application feature information of multiple applications to be matched, to obtain a candidate application list associated with the application keyword; the multiple candidate applications in the candidate application list are sorted based on the matching information between the multiple candidate applications and the application keyword; The phrase matching is to match the target query phrase corresponding to the application keyword with the application feature information of the multiple applications to be matched; when the phrase matching is to match the application keyword, the application keyword is not segmented and the application keyword is searched as a whole; or, when the phrase matching is to match the application keyword, the application keyword is segmented and the order of the words after the segmentation is ensured to be consistent with the order in the application keyword during matching; Based on the application download information of the multiple candidate applications, filtering the candidate application list to generate a search result list; The application download information includes the number of downloads; The filtering the candidate application list based on the application download information of the multiple candidate applications to generate a search result list includes: Simplifying the candidate application list into a triple list; the triple corresponding to each candidate application includes the search result sequence number of each candidate application in the candidate application list, the application key and the download count; The first M triples in the triple list are saved in a small root heap, and each subsequent triple in the triple list is compared with the top tuple of the small root heap. If the number of downloads of the subsequent triple is greater than the number of downloads of the top tuple, the top tuple is popped out and the new tuple is added to the small root heap; Get the tuples of the small root heap in reverse order and add the topM applications to the search result list; Compare the applications in the candidate application list with the topM applications in sequence, and if they are not equal, add the current candidate application to the search result list; A target search application is determined from the search result list.
2. The application search method according to claim 1, characterized in that: The application feature information also includes application name information and application description information; The step of performing phrase matching on the application keyword and the application feature information of multiple applications to be matched to obtain a candidate application list associated with the application keyword includes: Performing phrase matching on the application keyword with the application name information and the application description information of each application to be matched, respectively, to obtain matching information between the application keyword and each application to be matched; Determining the plurality of candidate applications from the plurality of applications to be matched based on matching information between the application keyword and each application to be matched; The multiple candidate applications are sorted based on the matching information between the multiple candidate applications and the application keywords to obtain the candidate application list.
3. The application search method according to claim 2, characterized in that: The step of performing phrase matching on the application keyword with the application name information and the application description information of each application to be matched, and obtaining matching information between the application keyword and each application to be matched includes: When the application keyword includes multiple keywords, generating the target query phrase corresponding to the application keyword; the order of the multiple keywords in the target query phrase is consistent with the order of the multiple keywords in the application keyword; Perform phrase matching on the target query phrase and the application name information to obtain first matching information; Perform phrase matching on the target query phrase and the application description information to obtain second matching information; A weighted sum is performed on the first matching information and the second matching information to obtain matching information between the application keyword and the application to be matched.
4. The application search method according to claim 2, characterized in that: The determining the plurality of candidate applications from the plurality of applications to be matched based on the matching information between the application keyword and each application to be matched comprises: Based on the matching information between the application keyword and each application to be matched, an initial matching application is obtained; Performing abnormal information detection on the application name information and the application description information of the initial matching application to obtain an abnormal information detection result; Based on the abnormal information detection result, the candidate application is determined from the initial matching applications.
5. The application search method according to claim 4, characterized in that: The determining the candidate application from the initial matching applications based on the abnormal information detection result includes: When the application name information or the application description information of the initial matching application contains abnormal information, performing type detection on the publisher type of the initial matching application to obtain a type detection result; When the type detection result indicates that the publisher type of the initial matching application is the target type, the initial matching application is determined as the candidate application.
6. The application search method according to claim 1, characterized in that: The filtering the candidate application list based on the application download information of the multiple candidate applications to generate a search result list includes: Determining a target application from the multiple candidate applications according to the application download information of the multiple candidate applications; Adding the target application to a preset list; Determine a current candidate application in the candidate application list, where the current candidate application is a candidate application in the candidate application list that has not been matched and is ranked first; Perform application matching on the current candidate application based on the target application to obtain a matching result; When the matching result indicates that the current candidate application is different from the target application, adding the current candidate application to a preset list to which the target application has been added; Repeating the steps of determining the current candidate application in the candidate application list to adding the current candidate application to the preset list to which the target application has been added, until the number of applications in the preset list reaches a preset number; A preset list including the preset number of applications is determined as the search result list.
7. The application search method according to claim 1, characterized in that: The application search request includes an application access request; The method further comprises: Obtaining recommendation information of the target search application; Based on the recommendation information, the target search application is connected to the information to be delivered.
8. An application search device, characterized in that: include: A search request receiving unit, configured to receive an application search request, wherein the application search request includes an application keyword; a candidate application list generating unit, configured to perform phrase matching between the application keyword and application feature information of a plurality of applications to be matched, so as to obtain a candidate application list associated with the application keyword; The plurality of candidate applications in the candidate application list are sorted based on matching information between the plurality of candidate applications and the application keyword; The phrase matching is to match the target query phrase corresponding to the application keyword with the application feature information of the multiple applications to be matched; when the phrase matching is to match the application keyword, the application keyword is not segmented and the application keyword is searched as a whole; or, when the phrase matching is to match the application keyword, the application keyword is segmented and the order of the words after the segmentation is ensured to be consistent with the order in the application keyword during matching; A search result list generating unit is configured to perform filtering on the candidate application list based on the application download information of the plurality of candidate applications to generate a search result list; the application download information includes the number of downloads; the search result list generating unit is configured to perform: Simplifying the candidate application list into a triple list; the triple corresponding to each candidate application includes the search result sequence number of each candidate application in the candidate application list, the application key and the download count; The first M triples in the triple list are saved in a small root heap, and each subsequent triple in the triple list is compared with the top tuple of the small root heap. If the number of downloads of the subsequent triple is greater than the number of downloads of the top tuple, the top tuple is popped out and the new tuple is added to the small root heap; Get the tuples of the small root heap in reverse order and add the topM applications to the search result list; Compare the applications in the candidate application list with the topM applications in sequence, and if they are not equal, add the current candidate application to the search result list; The target search application determining unit is configured to determine a target search application from the search result list.
9. The application search device according to claim 8, characterized in that: The application feature information also includes application name information and application description information; The candidate application list generating unit comprises: a phrase matching unit configured to perform phrase matching of the application keyword with the application name information and the application description information of each to-be-matched application, to obtain matching information between the application keyword and each to-be-matched application; a candidate application determining unit, configured to determine the plurality of candidate applications from the plurality of applications to be matched based on matching information between the application keyword and each application to be matched; The sorting unit is configured to sort the multiple candidate applications based on matching information between the multiple candidate applications and the application keywords to obtain the candidate application list.
10. The application search device according to claim 9, characterized in that: The phrase matching unit comprises: a target query phrase generating unit, configured to generate the target query phrase corresponding to the application keyword when the application keyword includes multiple keywords; the order of the multiple keywords in the target query phrase is consistent with the order of the multiple keywords in the application keyword; A first matching unit is configured to perform phrase matching between the target query phrase and the application name information to obtain first matching information; A second matching unit is configured to perform phrase matching between the target query phrase and the application description information to obtain second matching information; The weighted summing unit is configured to perform weighted summing of the first matching information and the second matching information to obtain matching information between the application keyword and the application to be matched.
11. The application search device according to claim 9, characterized in that: The candidate application determination unit comprises: an initial matching application determining unit, configured to obtain an initial matching application based on matching information between the application keyword and each application to be matched; an abnormal information detection unit, configured to perform abnormal information detection on the application name information and the application description information of the initial matching application to obtain an abnormal information detection result; The first determining unit is configured to determine the candidate application from the initial matching applications based on the abnormal information detection result.
12. The application search device according to claim 11, characterized in that: The first determining unit includes: A type detection unit is configured to perform type detection on the publisher type of the initial matching application when the application name information or the application description information of the initial matching application contains abnormal information, and obtain a type detection result; The second determining unit is configured to determine the initial matching application as the candidate application when the type detection result indicates that the publisher type of the initial matching application is a target type.
13. The application search device according to claim 8, characterized in that: The search result list generating unit comprises: a target application determining unit, configured to determine a target application from the plurality of candidate applications according to the application download information of the plurality of candidate applications; A first adding unit is configured to add the target application to a preset list; A third determining unit is configured to determine a current candidate application in the candidate application list, where the current candidate application is a candidate application in the candidate application list that has not been matched and is ranked first; An application matching unit, configured to perform application matching on a current candidate application based on the target application to obtain a matching result; A second adding unit is configured to add the current candidate application to a preset list to which the target application has been added when the matching result indicates that the current candidate application is different from the target application; a repeating execution unit configured to repeat the steps of determining a current candidate application in the candidate application list to adding the current candidate application to the preset list to which the target application has been added, until the number of applications in the preset list reaches a preset number; The fourth determining unit is configured to determine a preset list including the preset number of applications as the search result list.
14. The application search device according to claim 8, characterized in that: The application search request includes an application access request; The device also includes: A recommendation information unit, configured to obtain recommendation information of the target search application; The information access unit is configured to access the target search application to the information to be delivered based on the recommendation information.
15. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the application search method as described in any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the application search method as described in any one of claims 1 to 7.
17. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the application search method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Method for realizing concentrated searching on handheld learning terminal
CN102122286A
Retrieved result sorting method and device
CN105447205A
Search response method and device, server and storage medium
CN108038148A
Image searching method and device
CN109783678A
Video sharing method, electronic device and medium
CN110933511A