WO2018223993A1 - 一种应用软件搜索方法、装置及服务器 - Google Patents

一种应用软件搜索方法、装置及服务器 Download PDF

Info

Publication number
WO2018223993A1
WO2018223993A1 PCT/CN2018/090150 CN2018090150W WO2018223993A1 WO 2018223993 A1 WO2018223993 A1 WO 2018223993A1 CN 2018090150 W CN2018090150 W CN 2018090150W WO 2018223993 A1 WO2018223993 A1 WO 2018223993A1
Authority
WO
WIPO (PCT)
Prior art keywords
application software
search
list
target
resource database
Prior art date
Application number
PCT/CN2018/090150
Other languages
English (en)
French (fr)
Inventor
潘岸腾
Original Assignee
广州优视网络科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 广州优视网络科技有限公司 filed Critical 广州优视网络科技有限公司
Publication of WO2018223993A1 publication Critical patent/WO2018223993A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • the present invention relates to the field of Internet technologies, and in particular, to an application software search method, apparatus, and server.
  • an application store such as AppStore, Android Market, etc.
  • applications such as camera-type applications including camera 360, beauty camera, Poco camera, etc.
  • This kind of application software search method cannot provide users with intelligent and optimized download service, and the search results displayed by the user have poor experience for users, and often there is no application software that the user wants to download or the application experience of the searched application software is not good. Can not meet the user's download and use needs very well.
  • an object of the present invention is to provide an application software search method, apparatus and server to improve the above problems.
  • An embodiment of the present invention provides an application software search method, which includes: calculating a first similarity between an input search term and each application software in a resource database; and each application software in the resource database according to a pre-statistic User behavior data, calculating quality data of each application software; generating a first search list of the search term according to the calculated first similarity and the quality data corresponding to each application software in the resource database,
  • the first search list includes at least one application software in the resource database.
  • Another embodiment of the present invention provides an application software search device, where the device includes: a first similarity calculation module, configured to calculate a first similarity between the input search term and each application software in the resource database; and the quality data calculation module And calculating, according to pre-statistically obtained user behavior data of each application software in the resource database, quality data of each application software; a first search list generating module, configured to calculate each of the resource databases according to the calculation And generating, by the first similarity and the quality data corresponding to the application software, a first search list of the search term, the first search list including at least one application software in the resource database.
  • the software function module includes: a first similarity calculation module, configured to calculate a first similarity between the input search term and each application software in the resource database; and a quality data calculation module, configured to perform pre-statistics Calculating the user behavior data of each application software in the resource database, and calculating the quality data of each application software; the first search list generating module, configured to calculate, according to the calculated corresponding data of each application software in the resource database A similarity and the quality data, generating a first search list of the search terms, the first search list including at least one application software in the resource database.
  • Another embodiment of the present invention provides a server, including: a memory, configured to store executable instructions, and a processor, configured to execute, according to the control of the executable instructions, an application software search method provided by another embodiment of the present invention. .
  • Another embodiment of the present invention provides a computer readable storage medium, wherein the computer readable storage medium stores a computer software product, and the computer software product includes instructions for causing a computer device to execute An application software search method provided by other embodiments of the present invention.
  • the application software searching method, device and server provided by the embodiment of the present invention calculate the first similarity between the input search term and each application software in the resource database, and then the user behavior of each application software in the resource database according to the pre-statistical data. Data, calculating quality data of each application software, and finally generating a first search list of search terms according to the first similarity and quality data corresponding to each application software in the calculated resource database.
  • This kind of application software search method that comprehensively considers the similarity between the search term and the application software and the quality data of the application software, the search result can significantly improve the user's download and use experience, and the user can get the desired result from the search result. Or applications that you like to use and have quality assurance.
  • FIG. 1 is a schematic diagram of communication interaction between a server and at least one electronic device according to an embodiment of the present invention
  • FIG. 2 is a schematic block diagram of a server according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of an application software searching method according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a search interface of an App Store in an example according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a search result display interface obtained by searching according to a search term “camera” input by the search interface in FIG. 4 according to an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram of a browsing interface entered after clicking “camera 360” shown in FIG. 5 according to an embodiment of the present disclosure
  • FIG. 7 is a flowchart of another application software searching method according to an embodiment of the present invention.
  • FIG. 8 is a functional block diagram of an application software search apparatus according to an embodiment of the present invention.
  • Icon 100-server; 200-electronic device; 110-application software search device; 120-memory; 130-processor; 140-communication unit; 150-resource database; 1102-first similarity calculation module; Calculation module; 1106-first search list generation module; 1108-target application software acquisition module; 1110-second similarity calculation module; 1112-sortment indicator calculation module; 1114-second search list generation module; 1116-search result list Generate modules.
  • FIG. 1 is a schematic diagram of interaction between a server 100 and at least one electronic device 200 according to an embodiment of the present invention.
  • the electronic device 200 can establish a communication connection with the server 100 through a network for data transmission or interaction.
  • the server 100 can provide at least one installation package (Application, APP) suitable for various operating systems for downloading by the electronic device 200.
  • the electronic device 200 can access the server 100 through the network to download an installation package of an application applicable to an operating system of the electronic device 200, and install the application into the electronic device 200.
  • Application Application
  • the application may be an application software store, such as an App Store, an Android Market, a Mobile Market, or the like.
  • the application software store installed on the electronic device 200 is opened in the foreground, the user can browse various application softwares on the opened interface, or search for the application software that he wants to browse or download by inputting a search term on the interface. .
  • the server 100 may be, but not limited to, a network server, a file transfer protocol server, and the like.
  • the electronic device 200 can be, but is not limited to, a smart phone, a tablet computer, a personal digital assistant, a mobile internet device, and the like.
  • the network may be, but is not limited to, a wired network or a wireless network.
  • the operating system of the electronic device 200 may be, but not limited to, an Android system, an IOS system, a Windows phone system, and the like.
  • the server 100 includes an application software search device 110, a memory 120, a processor 130, a communication unit 140, and a resource database 150.
  • the memory 120, the processor 130, and the communication unit 140 are electrically connected directly or indirectly to implement data transmission or interaction.
  • the application software search device 110 includes at least one software function module that can be stored in the memory 120 or in an operating system of the server 100 in the form of software or firmware.
  • the processor 130 is configured to execute an executable module stored in the memory 120, such as a software function module, a computer program, and the like included in the application software search device 110.
  • the communication unit 140 is configured to establish a communication connection between the server 100 and the electronic device 200 through the network, and is used to send and receive data through the network.
  • the resource database 150 can be used to store information such as various application software in an application store. Alternatively, the resource database 150 may be stored in the memory 120 for the processor 130 to access when executing, for example, a software function module included by the application software search device 110.
  • the server 100 may only refer to several of them.
  • the server 100 may only relate to the memory 120 and the processor 130 for storing executable instructions, and the processor 130 is configured to execute the application provided by the implementation of the present invention according to the control of the executable instructions stored in the memory 120.
  • Software search method is configured to execute the application provided by the implementation of the present invention according to the control of the executable instructions stored in the memory 120.
  • FIG. 3 is a flowchart of an application software searching method according to an embodiment of the present invention.
  • the method in this embodiment is applicable to the server 100. It should be noted that the method is not limited to the specific order of FIG. 3 and the following. The steps shown in Fig. 3 will be explained in detail below.
  • Step S101 Calculate a first similarity between the input search term and each application software in the resource database.
  • an application software store such as an App Store, a Huawei App Store, a Huawei App Store, etc.
  • the user can input a search term on the application interface, and then the electronic device 200
  • the search term is sent to the server 100 to cause the server 100 to perform an application search in the resource database 150 based on the received search term.
  • the implementation process of calculating the first similarity between the search term and the target application software by using the target application software in the resource database 150 as an example is exemplarily described below. It can be understood that the manner of calculating the first similarity may not be limited thereto.
  • the text information describing the target application software is obtained in advance.
  • the text information may include a name of the target application software or an introduction text of the target application software.
  • the text information may also be a combination of the name of the target application software and the introduction text.
  • the name or the introduction text of the target application software may be manually set by the target application software uploader or the administrator and sent to the server 100 when the server 100 is uploaded, or may be sent from the specific webpage through the network. Go grab. If the name or text is from a webpage, the webpage information such as the html element attached to the crawled content may be removed to obtain corresponding text information.
  • the text information of the target application software and the search term are subjected to word segmentation processing.
  • the word segmentation result can be filtered to preserve the word segmentation that reflects the text content when the word segmentation process is performed. For example, you can use punctuation (such as: period, comma, and comma) in the word segmentation results and word segments that do not express the substance (such as "no need", “no", "", and "again”. Filtered.
  • the text information of each participle in the target application software and the term frequency appearing in the search term are calculated.
  • the term frequency is used to indicate the frequency at which a participle appears in its corresponding text content.
  • the following formula can be used to calculate the word frequency of each word segment in the text information of the target application software:
  • n i represents the number of occurrences of the participle t i in the text information of the target application software
  • ⁇ k n k represents the sum of the occurrences of all the participles in the text information of the target application software
  • tf i represents the participle t i in the target application The frequency that appears in the textual information of the software.
  • n'i represents the number of occurrences of the participle t i in the search term
  • ⁇ k n' k represents the sum of the occurrences of all the participles in the search term
  • tf' i represents the participle t i in the search term The frequency of occurrence.
  • the inverse document frequency of each word segment is calculated.
  • a set of all target application software in the resource database 150 is denoted by J. isContain i, j indicates whether the participle t i appears in the text information corresponding to the target application software j. If it is equal to 1, it indicates that it appears, and if it is equal to 0, it indicates that it does not appear.
  • idf i represents the inverse document frequency of the participle t i
  • the specific calculation formula can be:
  • a tf-idf (term frequency-inverse document frequency) value of each word segment in the text information of the target application software is calculated.
  • the manner of calculating the tf-idf value of the participle ti in the text information of the target application software may be:
  • idf i represents the inverse document frequency of the participle t i
  • tf i represents the frequency at which the participle t i appears in the text information of the target application software
  • tf-idf i represents the participle t i in the text information of the target application software Tf-idf value.
  • the tf-idf value of each word segment in the search word is calculated.
  • the manner of calculating the tf-idf value of the participle t i in the search term may be:
  • idf i represents the inverse document frequency of the participle t i
  • tf′ i represents the frequency at which the participle t i appears in the search term
  • tf-idf′ i represents the tf-idf value of the participle t i in the search term.
  • the tf-idf vector corresponding to the target application software is obtained:
  • Tdf (tf-idf 1 ,tf-idf 2 ,...,tf-idf i ,...)
  • tdf represents the tf-idf vector of the target application software.
  • Tdf' (tf-idf' 1 , tf-idf' 2 ,...,tf-idf' i ,7)
  • tdf' represents the tf-idf vector of the search term.
  • the first similarity between the search term and the target application software is calculated according to the vectors tdf and tdf', and the specific calculation formula may be:
  • the first similarity is represented by the cosine value of the tf-idf vector of the search term and the target application software.
  • the first similarity of the input search term to each application in the resource database 150 can be calculated in accordance with the method described in the above examples.
  • Step S103 Calculate quality data of each application software according to user behavior data of each application software in the resource database 150 obtained in advance.
  • the user behavior data of the application software may be related to the number of users who browse the application software in an average period of time and the number of users who download the application software on average.
  • the preset time period may be a certain time period before the current time, for example, may be N days or hours before the current time, or the application software is free from the online application to start the current time period.
  • the average number of users browsing the application software may refer to the number of users who browse the application software on average per day, or may refer to the number of users who browse the application software every hour.
  • the average number of users who download the application software may refer to the number of users who download the application software on average per day, or the number of users who download the application software every hour.
  • the “browsing” application software mainly includes the user seeing the application software on the display interface of the application software store, for example, and clicking to enter the browsing interface of the introduction application software to perform the browsing operation.
  • the display interface displays the search result as shown in FIG. 5 (only schematic of).
  • the user can click on the "camera 360” option on the display interface, and then enter the browsing interface introducing the basic information of "camera 360" as shown in FIG. 6, where the user can Browse the introduction information of "Camera 360", this is a "Browse” operation.
  • the manner of calculating the quality data of each application software may be:
  • Num sum represents the number of users who averaged the application software within a preset time period
  • num br represents the number of users who browse the application software in an average time period
  • num dl represents an average download of the application software within a preset time period.
  • the above “exposure” application software mainly includes an operation that the application software is displayed to the user for viewing on a display interface such as an application store. That is to say, the number of users who averagely expose the application software in the preset time period may refer to the number of users who view the application software on average during the preset time period, for example, the user who views the application software on average every day during the preset time period. Number, or the average number of users who viewed the application per hour, and so on.
  • Step S105 Generate a first search list of search terms according to the first similarity and quality data corresponding to each application software in the calculated resource database 150.
  • the first search list includes at least one application software in the resource database 150.
  • the process of generating the first search list may be: first sorting the application software in the resource database 150 according to the calculated first similarity, for example, sorting in descending order of the first similarity, Obtaining a candidate search list; then, the application software in the candidate search list is sequentially divided into multiple groups, each group includes a first preset number of application software; and then, respectively, calculating a first preset number of application software in each group Quality data, and sorting the first preset number of application software according to the calculated quality data, for example, sorting in descending order according to the quality data; finally, selecting the second one of the first preset number of application software of each group A preset number of application software is added to a pre-initialized empty list to obtain the first search list.
  • the application software included in the first search list may be a second preset number of application software with the quality data ranked first in the descending order.
  • the first preset number may be a preset fixed value or an arbitrary value within a preset numerical interval.
  • the first preset number may be a preset fixed value 25, or may be any value within the preset value interval [10, 30]. That is to say, when the application software in the candidate search list is sequentially divided into multiple groups, the number of application software included in each group may be the same (for example, all 25), or may be different (for example, the number of application software of each group is Change between 10 and 30).
  • the first preset number may be set to a fixed value, and the number of application software of the last group may be less than the first preset number when grouping.
  • the ratio of the second preset number to the first preset number may be a predetermined ratio, such as any ratio between 0.6 and 0.8.
  • the first preset number is set to a fixed value of 15, and the second preset number is set to 12, that is, the ratio of the two is 0.8.
  • step S1 for all the application software in the resource database 150, the first similarity between the input search term and each application software is calculated by applying the method described in step S101. All application software whose corresponding similarity is greater than a preset value (for example, greater than 0) is extracted, and then sorted in descending order according to the first similarity to obtain a candidate search list.
  • a preset value for example, greater than 0
  • step S2 the first preset number of application softwares in the front row are extracted from the candidate search list, and the quality data of the first preset number of application softwares are calculated, and then the descended order of the calculated quality data is performed. Finally, the second preset number of application software whose quality data is excluded is added to a pre-initialized target list.
  • the target list is initially an empty list.
  • step S3 it is determined whether the candidate search list is empty. If it is not empty, the process returns to step S2. If the number of remaining application software in the candidate search list is less than the first preset number, the execution may be continued by default and adapted. The value of the second preset number is changed according to the predetermined ratio (0.8 in this example); if the candidate search list is empty, the current target list is taken as the first search list.
  • the predetermined ratio 0.8 in this example
  • each time the application software is added to the target list it may be sequentially added in order from the back to the front in the target list.
  • the first search list obtained in this embodiment may be directly returned to the electronic device 200 as a search result list that the search term is searched for, to be presented to the user by the electronic device 200.
  • the user can select the application software that he wants to browse or download in the search result list. Since the search result comprehensively considers the quality data of the application software and the first similarity with the search term, the user can better improve the user's Download the experience.
  • FIG. 7 is a flowchart of another application software searching method according to an embodiment of the present invention. As shown in FIG. 7, the method in this embodiment includes the following steps: step S201 to step S217.
  • Step S201 Calculate a first similarity between the input search term and each application software in the resource database 150.
  • Step S203 Calculate the quality data of each application software according to the user behavior data of each application software in the resource database 150 obtained in advance.
  • Step S205 Generate a first search list of the search term according to the calculated first similarity and the quality data corresponding to each application software in the resource database 150.
  • Step S207 according to the historical search data of the search term, pre-statistically obtain target application software that matches the search term.
  • the historical search feedback data of the search term in the preset time period may be used to count whether more than half of the users search for the search term and then select to download the same application software, and if so, the application software is Search for target matching software for word matching.
  • the preset time period may be a time period of any length, for example, may be a time period from the online store to the current time, or a time period from the first search of the search term to the current time.
  • Step S209 calculating a second similarity between each application software in the resource database 150 and the target application software.
  • the second similarity may refer to cooperative filtering Jaccard similarity.
  • the manner of calculating the second similarity between each application software in the resource database 150 and the target application software may be:
  • the similarity between each application software in the resource database 150 and the target application software is calculated.
  • i denotes any application software in the resource database 150
  • a denotes the target application software
  • Sim a i denotes a second similarity between the application software i and the target application software a
  • UserInstalled i denotes all users of the resource database 150 (For example, or in all users of the application store) a subset of users of the application software i is installed
  • UserInstalled a represents a subset of users in which all users of the resource database 150 have the target application software a installed
  • T i represents the application software set of tags i
  • T a represents the application of a set of tags.
  • the tag set of the above application software refers to a set of one or more tags of the type of identification application software manually handwritten by the operation, for example.
  • the set of tags corresponding to the application software "WeChat” may be ⁇ social, communication ⁇ .
  • Step S211 calculating a ranking indicator of each application software according to the calculated second similarity of each application software and the number of users installing each application software.
  • Or i represents a ranking indicator of any application software i in the resource database 150;
  • I represents a collection of all application software in the resource database 150;
  • avg j ⁇ I (Sim a,j ) represents all application software in the resource database 150.
  • indicates the number of users of the installation user of the application software i;
  • ) indicates the average number of users of the installation users of all the application software in the resource database 150 ;
  • ⁇ , ⁇ are preset weight parameters, both of which are greater than 0, and the sum is 1.
  • Step S213 sorting the application software in the resource database 150 according to the ranking indicator to generate a second search list.
  • all the application software in the resource database 150 are sorted according to the descending order of the ranking indicators to generate a second search list.
  • Step S215 combining the first search list and the second search list, generating a current search result list of the search term.
  • generating the search result list in which the search term is searched by the first search list and the second search list may be implemented by the following steps S01-S03.
  • step S01 a target list is initialized, and the target list is initially an empty list.
  • Step S02 adding application software to the target list.
  • the step of adding application software to the target list includes acquiring, in order from the first search list, for example, from front to back, a third preset number of application software to join the target list, and from the first The second predetermined number of application softwares are acquired in the second search list in order (for example, from front to back) to join the target list.
  • the third preset number and the fourth preset number are preset according to a total number of application software that can be displayed per screen by the device for displaying the search result list.
  • the third preset number may be set to 30% of the total number of application software that can be displayed per screen
  • the fourth preset number may be set to 70% of the total number of application software that can be displayed per screen.
  • the electronic device 200 can display 6 application software per screen
  • the third preset number can be set to 2
  • the fourth preset number can be set to 4.
  • Step S03 determining whether the first search list and the second search list are empty.
  • the current target list is used as the current search result list of the search word and output.
  • step S001 a target list is initialized, and the target list is initially empty.
  • step S002 it is determined whether the number of application software in the first search list is greater than or equal to the third preset number. If the value is greater than or equal to, the third preset application software added in the first search list is added. In the target list, if less than, all the application software in the first search list is added together into the target list; and it is determined whether the number of application software in the second search list is greater than or equal to the fourth pre- If the number is greater than or equal to, the fourth preset number of application software in the second search list is added to the target list, and if less than, all the application software in the second search list is Add to the target list.
  • Step S003 determining whether the first search list and the second search list are all empty. If all are empty, output the target list as a search result list of the search term; if one of them is empty, add all remaining application software in another non-empty search list together After the target list, the target list is output as the search result list of the search term; if both are not empty, the process returns to the above step S002.
  • the application software when the application software is extracted from the first search list and the second search list and added to the target list, it may be sequentially added in order from the back to the front in the target list.
  • Step S217 sending a current search result list of the search term to the electronic device 200 for display.
  • the application software search method provided in this embodiment considers both the quality data of each application software in the resource database 150 and the first similarity with the search term, and considers each application software and historical search in the resource database 150.
  • the second similarity of the target application software matching the search term, and the search result list obtained by the comprehensive and comprehensive search method can improve the user's search experience and subsequent browsing or downloading experience.
  • FIG. 8 is a functional block diagram of an application software search apparatus 110 according to an embodiment of the present invention.
  • the application software search device 110 includes a first similarity calculation module 1102, a quality data calculation module 1104, a first search list generation module 1106, a target application software acquisition module 1108, a second similarity calculation module 1110, a ranking indicator calculation module 1112, and a The second search list generating module 1114 and the search result list generating module 1116.
  • the first similarity calculation module 1102 is configured to calculate a first similarity between the input search term and each application software in the resource database 150.
  • the first similarity calculation module 1102 can be used to perform step S101 shown in FIG. 3 and step S201 shown in FIG. 7.
  • the specific operation method can refer to the detailed description of step S101 described above.
  • the quality data calculation module 1104 is configured to calculate quality data of each application software according to user behavior data of each application software in the resource database 150 obtained in advance.
  • the quality data calculation module 1104 can be used to perform step S103 shown in FIG. 3 and step S203 shown in FIG. 7.
  • step S103 For the specific operation method, reference may be made to the above detailed description of step S103.
  • the first search list generating module 1106 is configured to generate a first search list of the search term according to the calculated first similarity and the quality data corresponding to each application software in the resource database 150.
  • the first search list includes at least one application software in the resource database 150.
  • the first search list generating module 1106 can be used to perform the step S105 shown in FIG. 3 and the step S205 shown in FIG. 7.
  • the specific operation method can refer to the above detailed description of step S105.
  • the target application software obtaining module 1108 is configured to obtain, in advance, the target application software that matches the search term according to the historical search data of the search term.
  • the target application software obtaining module 1108 can be used to perform the step S207 shown in FIG. 7.
  • step S207 For the specific operation method, reference may be made to the detailed description of step S207.
  • the second similarity calculation module 1110 is configured to calculate a second similarity between each application software in the resource database 150 and the target application software.
  • the second similarity calculation module 1110 can be used to perform step S209 shown in FIG. 7.
  • the specific operation method can refer to the above detailed description of step S209.
  • the ranking indicator calculation module 1112 is configured to calculate a ranking indicator of each application software according to the calculated second similarity of each application software and the number of users installing each application software.
  • the ranking indicator calculation module 1112 can be used to perform the step S211 shown in FIG. 7.
  • the specific operation method can refer to the detailed description of the step S211.
  • the second search list generating module 1114 is configured to sort the application software in the resource database 150 according to the ranking indicator to generate a second search list.
  • the second search list generating module 1114 can be used to perform step S213 shown in FIG. 7.
  • the specific operation method can refer to the above detailed description of step S213.
  • the search result list generating module 1116 is configured to generate a current search result list of the search term in combination with the first search list and the second search list.
  • the search result list generating module 1116 can be used to perform step S215 shown in FIG. 7.
  • the specific operation method can refer to the above detailed description of step S215.
  • Each of the above modules may be implemented by software code.
  • each of the above modules may be stored in a memory of the server.
  • the above modules can also be implemented by hardware such as an integrated circuit chip.
  • each block of the flowchart or block diagram can represent a module, a program segment, or a portion of code that includes one or more of the Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may also occur in a different order than those illustrated in the drawings.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or function. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • each functional module in each embodiment of the present invention may be integrated to form a separate part, or each module may exist separately, or two or more modules may be integrated to form a separate part.
  • the functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory, a random access memory, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种应用软件搜索方法、装置及服务器,属于互联网技术领域。所述应用软件搜索方法的一种实现方式包括:计算输入的搜索词与资源数据库中每个应用软件的第一相似度(S201),然后根据预先统计得到的资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据(S203),最后再根据计算得到的资源数据库中每个应用软件对应的第一相似度和质量数据,生成搜索词的第一搜索列表(S205)。这种综合考虑了搜索词与应用软件的相似度以及应用软件的质量数据的应用软件搜索方法,其搜索出的结果可以明显提升用户的下载使用体验,用户可以从搜索结果中得到自己想要使用或者喜欢使用的并且有使用体验保障的应用软件。

Description

一种应用软件搜索方法、装置及服务器 技术领域
本发明涉及互联网技术领域,具体而言,涉及一种应用软件搜索方法、装置及服务器。
背景技术
现有技术中,用户可以在应用软件商店(如AppStore、AndroidMarket等)中免费下载或付费下载应用软件,以便于娱乐、学习或工作。众所周知,应用软件商店中同一类型的应用软件通常具有多款(如相机类型的应用软件包括相机360、美颜相机、Poco相机等等),若事先没有既定的下载对象,用户在通过应用软件商店获取想要下载的某一类型的应用软件时,通常是在应用软件商店的界面上先输入搜索词进行搜索,再在搜索结果中自行选择。这种应用软件搜索方式无法为用户提供智能优化的下载服务,展示出的搜索结果给用户的体验不佳,经常会出现没有用户想要下载的应用软件或者搜索出的应用软件使用体验欠佳,不能很好的满足用户的下载使用需求。
发明内容
有鉴于此,本发明的目的在于提供一种应用软件搜索方法、装置及服务器,以改善上述问题。
本发明实施例提供一种应用软件搜索方法,该方法包括:计算输入的搜索词与资源数据库中每个应用软件的第一相似度;根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据;根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库中的至少一个应用软件。
本发明另一实施例提供一种应用软件搜索装置,该装置包括:第一相似度计算模块,用于计算输入的搜索词与资源数据库中每个应用软件的第一相似度;质量数据计算模块,用于根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据;第一搜索列表生成模块,用于根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库中的至少一个应用软件。
本发明另一实施例提供一种服务器,所述服务器包括:存储器;处理器;及应用软件搜索装置,该应用软件搜索装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,该应用软件搜索装置包括:第一相似度计算模块,用于计算输入的搜索词与资源数据库中每个应用软件的第一相似度;质量数据计算模块,用于根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据;第一搜索列表生成模块,用于根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库中的至少一个应用软件。
本发明另一实施例提供一种服务器,包括:存储器,用于存储可执行指 令;处理器,用于根据所述可执行指令的控制,运行服务器执行本发明其他实施例提供的应用软件搜索方法。
本发明另一实施例提供一种计算机可读取存储介质,其中,所述计算机可读取存储介质中存储有计算机软件产品,所述计算机软件产品包括若干指令,用以使得一台计算机设备执行本发明其他实施例提供的应用软件搜索方法。
本发明实施例提供的应用软件搜索方法、装置及服务器,计算输入的搜索词与资源数据库中每个应用软件的第一相似度,然后根据预先统计得到的资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据,最后再根据计算得到的资源数据库中每个应用软件对应的第一相似度和质量数据,生成搜索词的第一搜索列表。这种综合考虑了搜索词与应用软件的相似度以及应用软件的质量数据的应用软件搜索方法,其搜索出的结果可以明显提升用户的下载使用体验,用户可以从搜索结果中得到自己想要使用或者喜欢使用的并且有质量保障的应用软件。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种服务器与至少一个电子设备的通信交互示意图;
图2为本发明实施例提供的一种服务器的方框示意图;
图3为本发明实施例提供的一种应用软件搜索方法的流程图;
图4为本发明实施例提供的一示例中App Store的搜索界面示意图;
图5为本发明实施例提供的根据图4中搜索界面输入的搜索词“相机”进行搜索后得到的搜索结果展示界面示意图;
图6为本发明实施例提供的点击图5中所示的“相机360”后进入的浏览界面示意图;
图7为本发明实施例提供的另一种应用软件搜索方法的流程图;
图8为本发明实施例提供的一种应用软件搜索装置的功能模块框图。
图标:100-服务器;200-电子设备;110-应用软件搜索装置;120-存储器;130-处理器;140-通信单元;150-资源数据库;1102-第一相似度计算模块;1104-质量数据计算模块;1106-第一搜索列表生成模块;1108-目标应用软件获取模块;1110-第二相似度计算模块;1112-排序指标计算模块;1114-第二搜索列表生成模块;1116-搜索结果列表生成模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,是本发明实施例提供的服务器100与至少一个电子设备200进行通信的交互示意图。所述电子设备200可通过网络与服务器100建立通信连接,以进行数据传输或交互。所述服务器100可以提供至少一个适用于各种操作系统的应用(Application,APP)的安装包供所述电子设备200下载。所述电子设备200可通过所述网络访问所述服务器100以下载适用于该电子设备200的操作系统的应用的安装包,并将所述应用安装到所述电子设备200中。
本实施例中,所述应用可以是应用软件商店,如App Store、AndroidMarket、MobileMarket等。当安装于所述电子设备200上的应用软件商店在前台打开时,用户可以在打开的界面上浏览各款应用软件,或者在界面上通过输入搜索词搜索自身想要浏览或下载使用的应用软件。
本实施例中,所述服务器100可以是,但不限于,网络服务器、文件传输协议服务器等。所述电子设备200可以是,但不限于,智能手机、平板电脑、个人数字助理、移动上网设备等。所述网络可以是,但不限于,有线网络或无线网络。所述电子设备200的操作系统可以是,但不限于,安卓(Android)系统、IOS系统、Windows phone系统等。
请参阅图2,是本发明实施例提供的所述服务器100的方框示意图。所述服务器100包括应用软件搜索装置110、存储器120、处理器130、通信单元140以及资源数据库150。
所述存储器120、处理器130以及通信单元140之间直接或间接的电性连接,以实现数据的传输或交互。所述应用软件搜索装置110包括至少一个可以软件或固件的形式存储于所述存储器120中或固化在所述服务器100的操作系统中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述应用软件搜索装置110所包括的软件功能模块及计算机程序等。
所述通信单元140用于通过所述网络建立所述服务器100与电子设备200之间的通信连接,并用于通过所述网络收发数据。
所述资源数据库150可以用于存储例如应用软件商店中各种应用软件的信息。可选地,资源数据库150可以存储于所述存储器120中,以供所述处理器130在执行例如所述应用软件搜索装置110所包括的软件功能模块时访问。
应用于本发明实施例中,虽然服务器100示出了多个装置,但是服务器100可以仅涉及其中几个装置。例如,服务器100可以仅涉及存储器120和处理器130,存储器120用于存储可执行指令,处理器130用于根据存储器120中存储的可执行指令的控制,运行服务器100执行本发明实施提供的应用软件搜索方法。
请参阅图3,是本发明实施例提供的一种应用软件搜索方法的流程图。本实施例中的方法适用于所述服务器100。所应说明的是,本方法不以图3及下述的具体顺序为限制。下面将对图3所示的各步骤进行详细阐述。
步骤S101,计算输入的搜索词与资源数据库中每个应用软件的第一相似度。
作为一种实施方式,当应用软件商店(如App Store、华为应用商城、小米应用商店等)在电子设备200的前台打开时,用户可以在应用界面上输入搜索 词,然后通过电子设备200将所述搜索词发送到服务器100,以使服务器100根据接收到的搜索词在资源数据库150中进行应用软件搜索。
下面以所述资源数据库150中的一个目标应用软件为例,示例性地阐述所述服务器100计算所述搜索词与目标应用软件的第一相似度的实现过程。可以理解,计算该第一相似度的方式可以不限制于此。
预先获取描述该目标应用软件的文本信息。所述文本信息可以包括目标应用软件的名称或者该目标应用软件的介绍文字。所述文本信息还可以是该目标应用软件的名称和介绍文字的组合。作为一种可能的实现方式,目标应用软件的名称或者介绍文字可以是目标应用软件上传者或管理者手动设置并在上传服务器100时一并发送到服务器100的,也可以通过网络从特定网页中去抓取。若上述名称或文字来源于网页,可以将抓取内容中附带的例如html元素的网页信息剔除后得到相应的文本信息。
然后,使用预设的分词算法,例如最大匹配法、逆向匹配法、双向匹配法等,对该目标应用软件的文本信息及搜索词进行分词处理。在本实施例中,在进行分词处理时可以对分词结果进行过滤以保留能反映文本内容的分词。例如,可以将分词结果中的标点符号(如:句号、顿号及逗号等)和不表达实质内容的分词(如:“无需”、“没有”、“的”及“又”等连接词)过滤掉。
计算出每个分词在所述目标应用软件的文本信息、所述搜索词中出现的词频(term frequency)。词频(term frequency)用于表示分词在其对应文本内容中出现的频率。本实施例中,可以采用以下计算式计算每个分词在目标应用软件的文本信息中的词频:
Figure PCTCN2018090150-appb-000001
其中,n i表示分词t i在目标应用软件的文本信息中出现的次数,∑ kn k表示在目标应用软件的文本信息中所有分词出现的次数之和,tf i表示分词t i在目 标应用软件的文本信息中出现的频率。
类似地,本实施例中,可以采用以下计算式计算每个分词在搜索词中的词频:
Figure PCTCN2018090150-appb-000002
其中,n′ i表示分词t i在搜索词中出现的次数,∑ kn′ k表示在所述搜索词中所有分词出现的次数之和,tf′ i表示分词t i在所述搜索词中出现的频率。
再根据所述资源数据库150中的所有目标应用软件对应的文本信息,计算每个分词的逆文档频率(inverse document frequency)。以J表示资源数据库150中所有目标应用软件的集合,isContain i,j表示分词t i是否在目标应用软件j对应的文本信息中出现,若等于1则表示出现了,若等于0则表示没有出现,idf i表示分词t i的逆文档频率,具体计算公式可以为:
Figure PCTCN2018090150-appb-000003
然后,根据每个分词的逆文档频率和在目标应用软件的文本信息中的词频,计算每个分词在该目标应用软件的文本信息中的tf-idf(term frequency-inverse document frequency)值。具体地,计算分词ti在该目标应用软件的文本信息中的tf-idf值的方式可以是:
tf-idf i=tf i×idf i
其中,idf i表示分词t i的逆文档频率,tf i表示分词t i在该目标应用软件的文本信息中出现的频率,tf-idf i表示分词t i在该目标应用软件的文本信息中的tf-idf值。
以及,根据每个分词的逆文档频率和在搜索词中的词频,计算每个分词在搜索词中的tf-idf值。具体地,计算分词t i在搜索词中的tf-idf值的方式可以是:
tf-idf′ i=tf′ i×idf i
其中,idf i表示分词t i的逆文档频率,tf′ i表示分词t i在搜索词中出现的频率,tf-idf′ i表示分词t i在搜索词中的tf-idf值。
最后,按照上述方法计算出每个分词在目标应用软件的文本信息中的tf-idf值后,得到对应该目标应用软件的tf-idf向量:
tdf=(tf-idf 1,tf-idf 2,...,tf-idf i,...)
其中,tdf表示该目标应用软件的tf-idf向量。
以及,按照上述方法计算所述出每个分词在搜索词中的tf-idf值后,得到该搜索词的tf-idf向量:
tdf′=(tf-idf′ 1,tf-idf′ 2,...,tf-idf′ i,...)
其中,tdf′表示该搜索词的tf-idf向量。
再根据向量tdf和tdf′计算出搜索词与目标应用软件的的第一相似度,具体计算式可以是:
sim=cos<tdf,tdf′>
即,通过所述搜索词与目标应用软件的tf-idf向量的余弦值表示第一相似度。
按照上述示例中所述的方法可以计算出输入的搜索词与资源数据库150中每个应用软件的第一相似度。
步骤S103,根据预先统计得到的所述资源数据库150中每个应用软件的用户行为数据,计算每个应用软件的质量数据。
本实施例中,应用软件的用户行为数据可以与在预设时段内平均浏览该应用软件的用户数和平均下载该应用软件的用户数相关。其中,预设时段可以是当前时刻之前的一定时段,例如,可以是当前时刻之前的N天或小时,或者是该应用软件自在应用软件商店上线发布开始至当前的时段。另外,本实施例中, 所述平均浏览该应用软件的用户数可以是指平均每天浏览该应用软件的用户数,也可以是指平均每小时浏览该应用软件的用户数。类似地,平均下载该应用软件的用户数可以是指平均每天下载该应用软件的用户数,也可以是指平均每小时下载该应用软件的用户数。
这里需要说明的是,本实施例中,所述“浏览”应用软件主要包括用户在例如应用软件商店的展示界面上看到该应用软件,并点击进入到介绍应用软件的浏览界面进行浏览的操作。以App Store为例,在一个示例中,如图4所示,用户在App Store搜索界面的搜索框内输入“相机”后,展示界面展示出如图5所示的搜索结果(仅是示意性的)。以其中的“相机360”为例,用户可以点击展示界面上的“相机360”选项后,进入到如图6所示的介绍“相机360”基本信息的浏览界面,在该浏览界面上用户可以浏览“相机360”的介绍信息,此为一次“浏览”操作。
作为一种实施方式,计算每个应用软件的质量数据的方式可以是:
根据计算式:
Figure PCTCN2018090150-appb-000004
计算每个应用软件的质量数据。其中,Num sum表示在预设时段内平均曝光该应用软件的用户数;num br表示在预设时段内平均浏览该应用软件的用户数;num dl表示在预设时段内平均下载该应用软件的用户数。
这里需要说明的是,上述“曝光”应用软件主要包括在例如应用软件商店的展示界面上该应用软件被展示给用户观看的操作。也就是说,在预设时段内平均曝光该应用软件的用户数可以是指在预设时段内平均观看到该应用软件的用户数,例如在预设时段内平均每天观看到该应用软件的用户数,或平均每小时观看到该应用软件的用户数,等等。
以上仅仅是所述应用软件质量数据的一种计算方式,在其它实施例方式中,还可以加入用于反映用户对所述应用软件的其它用户行为数据来计算所述质量数据。
步骤S105,根据计算得到的资源数据库150中每个应用软件对应的第一相似度和质量数据,生成搜索词的第一搜索列表。
本实施例中,所述第一搜索列表包括资源数据库150中的至少一个应用软件。
作为一种实施方式,生成所述第一搜索列表的过程可以是:先根据计算出的第一相似度对资源数据库150中的应用软件进行排序,例如可以按照第一相似度的降序进行排序,得到候选搜索列表;再将该候选搜索列表中的应用软件按序分为多组,每组包括第一预设数目个应用软件;然后,分别计算每组中的第一预设数目个应用软件的质量数据,并根据计算出的质量数据对该第一预设数目个应用软件进行排序,例如按照质量数据进行降序排列;最后,在每组的第一预设数目个应用软件中选择第二预设数目个应用软件加入预先初始化的一空列表中,得到所述第一搜索列表。优选地,第一搜索列表中包括的应用软件可以是在按照降序排列时质量数据排列靠前的第二预设数目个应用软件。
本实施方式中,所述第一预设数目可以为一预设的固定数值或为一预设的数值区间内的任意值。例如,该第一预设数目可以是预设的固定数值25,或者可以是预设的数值区间[10,30]内的任意值。也就是说,上述将候选搜索列表中的应用软件按序分为多组时,每组包括的应用软件数目可以相同(例如都是25个),也可以不同(例如各组的应用软件数目在10~30之间变化)。例如,可以将所述第一预设数目设定为一固定值,分组时最后一组的应用软件 数目可以不足于第一预设数目。所述第二预设数目与所述第一预设数目之比可以为预定比例,如0.6~0.8之间任意比例。
下面给出一具体示例,以更好的阐述本实施例中生成所述第一搜索列表的过程,但可以是理解的是,该示例仅是示意性的。本示例中设定所述第一预设数目为固定数值15,设定所述第二预设数目为12,即,两者比值为0.8。
步骤S1,对资源数据库150中的所有应用软件,应用步骤S101中所述的方式计算出输入的搜索词与每个应用软件的第一相似度。提取对应相似度大于预设值(如大于0)的所有应用软件,然后按照第一相似度进行降序排列,得到候选搜索列表。
步骤S2,从所述候选搜索列表中取出排在前面的第一预设数目个应用软件,计算该第一预设数目个应用软件的质量数据,然后按照计算出的质量数据的重新降序排列,最后截取质量数据排在前面的第二预设数目个应用软件添加进预先初始化的一目标列表中。该目标列表初始时为空列表。
步骤S3,判断所述候选搜索列表是否为空,如果不为空,则返回步骤S2,若此时候选搜索列表中剩余应用软件数目小于所述第一预设数目,可以默认继续执行,并适应性的按照所述预定比例(本示例中为0.8)改变所述第二预设数目的值;如果所述候选搜索列表为空,则将当前的所述目标列表作为所述第一搜索列表。
本示例中,作为一种实施方式,每次将应用软件添加进所述目标列表时,可以按照在所述目标列表中从后至前的顺序依次添加。
本实施例中得到的所述第一搜索列表可以直接作为搜索词本次被搜索的搜索结果列表返回到所述电子设备200,以通过所述电子设备200展示给用户。用户可以在该搜索结果列表中选择自己想要浏览或者下载的应用软 件,由于本次搜索结果综合考虑了应用软件的质量数据和与搜索词的第一相似度,所以可以较好的提升用户的下载使用体验。
请参阅图7,是本发明实施例提供的另一应用软件搜索方法的流程图。如图7所示,本实施例的方法中包括如下步骤:步骤S201-步骤S217。
步骤S201,计算输入的搜索词与资源数据库150中每个应用软件的第一相似度。
步骤S203,根据预先统计得到的所述资源数据库150中每个应用软件的用户行为数据,计算每个应用软件的质量数据。
步骤S205,根据计算得到的所述资源数据库150中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表。
本实施例中的步骤S201~步骤S205的具体实现方式可以参照图3所示实施例中对步骤S101~步骤S105的详细阐述,在此不再赘述。
步骤S207,根据所述搜索词的历史搜索数据,预先统计获得与该搜索词匹配的目标应用软件。
本实施例中,可以根据预设时段内该搜索词的历史搜索反馈数据,统计是否有超过一半的用户搜索该搜索词后选择下载同一个应用软件,如果有,那么该应用软件即为与该搜索词匹配的目标应用软件。可以理解,所述预设时段可以是任意长度的时间段,例如可以是应用软件商店自上线发布至当前时刻的时段,或者自该搜索词第一次被搜索至当前时刻的时段等等。
步骤S209,计算所述资源数据库150中每个应用软件与所述目标应用软件的第二相似度。
作为一种实施方式,所述第二相似度可以是指协同过滤Jaccard相似性。相应地,计算资源数据库150中的每个应用软件与目标应用软件的第二相似度的方式可以是:
根据计算式:
Figure PCTCN2018090150-appb-000005
计算所述资源数据库150中每个应用软件与该目标应用软件的相似度。其中,i表示资源数据库150中的任一应用软件,a表示所述目标应用软件;Sim a,i表示应用软件i与目标应用软件a的第二相似度;UserInstalled i表示资源数据库150的所有用户(例如,或者说,应用软件商店的所有用户)中安装了应用软件i的用户子集;UserInstalled a表示资源数据库150的所有用户中安装了目标应用软件a的用户子集;T i表示应用软件i的标签集合,T a表示应用软件a的标签集合。
上述的应用软件的标签集合是指例如由运营手工打上的标识应用软件类型的一个或多个标签的集合。例如,应用软件“微信”对应的标签集合可以是{社交、通信}。
步骤S211,根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标。
作为一种实施方式,可以根据计算式:
Figure PCTCN2018090150-appb-000006
计算每个应用软件的排序指标。其中,Or i表示资源数据库150中任一应用软件i的排序指标;I表示资源数据库150中所有应用软件的集合;avg j∈I(Sim a,j) 表示资源数据库150中所有应用软件对应的第二相似度的平均值;|NumUserInstalled i|表示应用软件i的安装用户的用户数量;avg j∈I(|NumUserInstalled j|)表示资源数据库150中所有应用软件的安装用户的用户数量的平均值;α、β是预设的权重参数,两者均大于0,且和为1。
步骤S213,根据所述排序指标对所述资源数据库150中的应用软件排序,生成第二搜索列表。
作为一种实施方式,对资源数据库150中的所有应用软件,根据排序指标的降序进行排序,生成第二搜索列表。
步骤S215,结合所述第一搜索列表和所述第二搜索列表,生成所述搜索词当前的搜索结果列表。
本实施例中,通过所述第一搜索列表和第二搜索列表生成该搜索词本次被搜索的搜索结果列表可以通过以下步骤S01-S03实现。
步骤S01,初始化一目标列表,该目标列表初始为空列表。
步骤S02,向该目标列表中添加应用软件。
其中,向该目标列表中添加应用软件的步骤包括从所述第一搜索列表中按顺序(例如从前至后)获取第三预设数目个应用软件加入所述目标列表中,以及从所述第二搜索列表中按顺序(例如从前至后)获取第四预设数目个应用软件加入所述目标列表中。
所述第三预设数目和所述第四预设数目根据用于显示所述搜索结果列表的设备每屏能够显示的应用软件总数目预先设定。例如,所述第三预设数目可以设定为每屏能够显示的应用软件总数目的30%,所述第四预设数目可以设定为每屏能够显示的应用软件总数目的70%。假设所述电子设备200每屏可显示6个应用软件,则所述第三预设数目可以设定为2,所述第四预设 数目可以设定为4。
步骤S03,判断所述第一搜索列表和所述第二搜索列表是否为空。
若第一搜索列表、第二搜索列表都不为空,则返回上述向该目标列表中添加应用软件的步骤,即,步骤S02。
若第一搜索列表、第二搜索列表中出现一个为空,则将另一个非空的搜索列表中剩余的所有应用软件添加进上述目标列表中。
若第一搜索列表、第二搜索列表都为空,则将当前的所述目标列表作为该搜索词当前的搜索结果列表并输出。
下面给出一具体示例,以便更好的阐述本实施例中通过所述第一搜索列表和第二搜索列表生成该搜索词本次被搜索的搜索结果列表的过程。可以理解的是,本示例仅是示意性的。
步骤S001,初始化一目标列表,该目标列表初始时为空。
步骤S002,判断所述第一搜索列表中应用软件数目是否大于等于所述第三预设数目,若大于等于,则取该第一搜索列表中排在前面的第三预设数目个应用软件添加进所述目标列表中,若小于,则将该第一搜索列表中所有应用软件一起添加进所述目标列表中;再判断所述第二搜索列表中应用软件数目是否大于等于所述第四预设数目,若大于等于,则取该第二搜索列表中排在前面的第四预设数目个应用软件添加进所述目标列表中,若小于,则将该第二搜索列表中所有应用软件一起添加进所述目标列表中。
步骤S003,判断所述第一搜索列表和所述第二搜索列表是否都为空。若全部为空,则将所述目标列表输出作为所述搜索词本次的搜索结果列表;若其中一个为空,则将另一个非空的搜索列表中的剩余所有应用软件一起添加进所述目标列表中后,再将该目标列表作为所述搜索词本次的搜索结果列表 输出;若两个都不为空,则返回上述步骤S002。
本示例中,从所述第一搜索列表和第二搜索列表中取出应用软件向所述目标列表中添加时,可以是按照在所述目标列表中从后至前的顺序依次添加。
步骤S217,将所述搜索词当前的搜索结果列表发送至所述电子设备200进行展示。
本实施例中提供的应用软件搜索方法,既考虑了资源数据库150中的每个应用软件的质量数据以及与搜索词的第一相似度,又考虑了资源数据库150中每个应用软件与历史搜索中与该搜索词匹配的目标应用软件的第二相似度,通过这种综合、全面的搜索方式得到的搜索结果列表,可以提升用户的搜索体验和后续的浏览或下载使用体验。
请参阅图8,是本发明实施例提供的一种应用软件搜索装置110的功能模块框图。应用软件搜索装置110包括第一相似度计算模块1102、质量数据计算模块1104、第一搜索列表生成模块1106、目标应用软件获取模块1108、第二相似度计算模块1110、排序指标计算模块1112、第二搜索列表生成模块1114、搜索结果列表生成模块1116。
所述第一相似度计算模块1102,用于计算输入的搜索词与资源数据库150中每个应用软件的第一相似度。该第一相似度计算模块1102可用于执行图3中所示的步骤S101和图7中所示的步骤S201,具体的操作方法可以参照上述对步骤S101的详细阐述。
所述质量数据计算模块1104,用于根据预先统计得到的所述资源数据库150中每个应用软件的用户行为数据,计算每个应用软件的质量数据。该质量数据计算模块1104可用于执行图3中所示的步骤S103和图7中所示的步 骤S203,具体的操作方法可以参照上述对步骤S103的详细阐述。
所述第一搜索列表生成模块1106,用于根据计算得到的所述资源数据库150中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库150中的至少一个应用软件。该第一搜索列表生成模块1106可用于执行图3中所示的步骤S105和图7中所示的步骤S205,具体的操作方法可以参照上述对步骤S105的详细阐述。
所述目标应用软件获取模块1108,用于根据所述搜索词的历史搜索数据,预先统计获得与该搜索词匹配的目标应用软件。该目标应用软件获取模块1108可用于执行图7中所示的步骤S207,具体的操作方法可以参照上述对步骤S207的详细阐述。
所述第二相似度计算模块1110,用于计算所述资源数据库150中每个应用软件与所述目标应用软件的第二相似度。该第二相似度计算模块1110可用于执行图7中所示的步骤S209,具体的操作方法可以参照上述对步骤S209的详细阐述。
所述排序指标计算模块1112,用于根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标。该排序指标计算模块1112可用于执行图7中所示的步骤S211,具体的操作方法可以参照上述对步骤S211的详细阐述。
所述第二搜索列表生成模块1114,用于根据所述排序指标对所述资源数据库150中的应用软件排序,生成第二搜索列表。该第二搜索列表生成模块1114可用于执行图7中所示的步骤S213,具体的操作方法可以参照上述对步骤S213的详细阐述。
所述搜索结果列表生成模块1116,用于结合所述第一搜索列表和所述第二搜索列表,生成所述搜索词当前的搜索结果列表。该搜索结果列表生成模块1116可用于执行图7中所示的步骤S215,具体的操作方法可以参照上述对步骤S215的详细阐述。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于服务器的存储器内。以上各模块同样可以由硬件例如集成电路芯片实现。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例所提供的应用软件搜索装置110,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用 执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (27)

  1. 一种应用软件搜索方法,其特征在于,该方法包括:
    计算输入的搜索词与资源数据库中每个应用软件的第一相似度;
    根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据;
    根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库中的至少一个应用软件。
  2. 根据权利要求1所述的应用软件搜索方法,其特征在于,每个应用软件的用户行为数据包括在预设时段内平均浏览该应用软件的用户数和平均下载该应用软件的用户数,所述根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据的步骤,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100001
    计算每个应用软件的质量数据,其中,Num sum表示在所述预设时段内平均曝光该应用软件的用户数,num br表示在所述预设时段内平均浏览该应用软件的用户数,num dl表示在所述预设时段内平均下载该应用软件的用户数。
  3. 根据权利要求1或2所述的应用软件搜索方法,其特征在于,所述根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成该搜索词的第一搜索列表的步骤,包括:
    初始化一目标列表;
    根据所述第一相似度对所述资源数据库中的应用软件进行排序,得到候选搜索列表;
    将所述候选搜索列表中的应用软件按序分为多组,每组包括第一预设数目个应用软件;
    根据每组中每个应用软件的质量数据,对每组中的第一预设数目个应用软件进行排序;
    在每组中根据上述排序的结果选择第二预设数目个应用软件加入所述目标列表中,得到所述第一搜索列表。
  4. 根据权利要求1-3任意一项所述的应用软件搜索方法,其特征在于,所述第一预设数目为一预设数值或为一预设的数值区间内的任意值,所述第二预设数目与所述第一预设数目之比为预定比例。
  5. 根据权利要求1-4任意一项所述的应用软件搜索方法,其特征在于,在根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成该搜索词的第一搜索列表的步骤之后,该方法还包括:
    根据所述搜索词的历史搜索数据,预先统计获得与该搜索词匹配的目标应用软件;
    计算所述资源数据库中每个应用软件与所述目标应用软件的第二相似度;
    根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标;
    根据所述排序指标对所述资源数据库中的应用软件排序,生成第二搜索列表;
    结合所述第一搜索列表和所述第二搜索列表,生成所述搜索词当前的搜索结果列表。
  6. 根据权利要求1-5任意一项所述的应用软件搜索方法,其特征在于,所述计算所述资源数据库中每个应用软件与该目标应用软件的第二相似度的步骤,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100002
    计算所述资源数据库中每个应用软件与所述目标应用软件的相似度,其中,i表示所述资源数据库中的任一应用软件,a表示所述目标应用软件,Sim a,i表示应用软件i与目标应用软件a的第二相似度,UserInstalled i表示所述资源数据库的所有用户中安装了应用软件i的用户子集,UserInstalled a表示所述资源数据库的所有用户中安装了目标应用软件a的用户子集,T i表示应用软件i的标签集合,T a表示目标应用软件a的标签集合。
  7. 根据权利要求1-6任意一项所述的应用软件搜索方法,其特征在于,所述根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标的步骤,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100003
    计算每个应用软件的排序指标,其中,Or i表示资源数据库中任一应用软件i的排序指标,I表示所述资源数据库中所有应用软件的集合,avg j∈I(Sim a,j)表示所述资源数据库中所有应用软件对应的所述第二相似度的平均值, |NumUserInstalled i|表示应用软件i的安装用户的用户数量,avg j∈I(|NumUserInstalled j|)表示所述资源数据库中所有应用软件的安装用户的用户数量的平均值,α、β是预设的权重参数。
  8. 根据权利要求1-7任意一项所述的应用软件搜索方法,其特征在于,所述结合所述第一搜索列表和所述第二搜索列表,生成该搜索词当前的搜索结果列表的步骤,包括:
    初始化一目标列表;
    向该目标列表中添加应用软件;其中,向该目标列表中添加应用软件的步骤包括从所述第一搜索列表中按顺序获取第三预设数目个应用软件加入所述目标列表中,以及从所述第二搜索列表中按顺序获取第四预设数目个应用软件加入所述目标列表中,所述第三预设数目和所述第四预设数目根据用于显示所述搜索结果列表的设备每屏能够显示的应用软件数目预先设定;
    判断所述第一搜索列表和所述第二搜索列表是否为空;
    若第一搜索列表、第二搜索列表都不为空,则返回上述向该目标列表中添加应用软件的步骤;
    若第一搜索列表、第二搜索列表中出现一个为空,则将另一个非空的搜索列表中剩余的所有应用软件添加进上述目标列表中;
    若第一搜索列表、第二搜索列表都为空,则将当前的所述目标列表作为该搜索词当前的搜索结果列表并输出。
  9. 根据权利要求1-8任意一项所述的应用软件搜索方法,其特征在于,所述计算输入的搜索词与资源数据库中每个应用软件的第一相似度的步骤,包括:
    获取描述任一目标应用软件的目标文本信息;
    对所述目标文本信息及所述搜索词进行分词,并计算出每个分词在所述目标文本信息、所述搜索词中出现的词频;
    根据所述资源数据库中的所有应用软件对应的文本信息,计算所述每个分词的逆文档频率;
    根据所述每个分词在所述目标文本信息中出现的词频以及所述每个分词的逆文档频率,计算得到所述目标应用软件的第一特征向量;
    根据所述每个分词在所述搜索词中出现的词频以及所述每个分词的逆文档频率,计算得到所述搜索词的第二特征向量;
    计算所述第一特征向量和所述第二特征向量的夹角的余弦值,该余弦值表示所述搜索词与所述目标应用软件的第一相似度。
  10. 一种应用软件搜索装置,其特征在于,该装置包括:
    第一相似度计算模块,用于计算输入的搜索词与资源数据库中每个应用软件的第一相似度;
    质量数据计算模块,用于根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据;
    第一搜索列表生成模块,用于根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库中的至少一个应用软件。
  11. 根据权利要求10所述的应用软件搜索装置,其特征在于,每个应用软件的用户行为数据包括在预设时段内平均浏览该应用软件的用户数和平均下载该应用软件的用户数,所述质量数据计算模块根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据的方式,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100004
    计算每个应用软件的质量数据,其中,Num sum表示在所述预设时段内平均曝光该应用软件的用户数,num br表示在所述预设时段内平均浏览该应用软件的用户数,num dl表示在所述预设时段内平均下载该应用软件的用户数。
  12. 根据权利要求10或11所述的应用软件搜索装置,其特征在于,所述第一搜索列表生成模块根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表的方式,包括:
    初始化一目标列表;
    根据所述第一相似度对所述资源数据库中的应用软件进行排序,得到候选搜索列表;
    将所述候选搜索列表中的应用软件按序分为多组,每组包括第一预设数目个应用软件;
    根据每组中每个应用软件的质量数据,对每组中的第一预设数目个应用软件进行排序;
    在每组中根据上述排序的结果选择第二预设数目个应用软件加入所述目标列表中,得到所述第一搜索列表。
  13. 根据权利要求10-12任意一项所述的应用软件搜索装置,其特征在于,所述第一预设数目为一预设数值或为一预设的数值区间内的任意值,所述第二预设数目与所述第一预设数目之比为预定比例。
  14. 根据权利要求10-13任意一项所述的应用软件搜索装置,其特征在于,该应用软件搜索装置还包括:
    目标应用软件获取模块,用于根据所述搜索词的历史搜索数据,预先统计获得与该搜索词匹配的目标应用软件;
    第二相似度计算模块,用于计算所述资源数据库中每个应用软件与所述目标应用软件的第二相似度;
    排序指标计算模块,用于根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标;
    第二搜索列表生成模块,用于根据所述排序指标对所述资源数据库中的应用软件排序,生成第二搜索列表;
    搜索结果列表生成模块,用于结合所述第一搜索列表和所述第二搜索列表,生成所述搜索词当前的搜索结果列表。
  15. 根据权利要求10-14任意一项所述的应用软件搜索装置,其特征在于,所述第二相似度计算模块计算所述资源数据库中每个应用软件与所述目标应用软件的第二相似度的方式,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100005
    计算所述资源数据库中每个应用软件与该目标应用软件的相似度,其中,i表示所述资源数据库中的任一应用软件,a表示所述目标应用软件,Sim a,i表示应用软件i与目标应用软件a的第二相似度,UserInstalled i表示所述资源数据库的所有用户中安装了应用软件i的用户子集,UserInstalled a表示所述资源数据库的所有用户中安装了目标应用软件a的用户子集,T i表示应用软件i的标签集合,T a表示目标应用软件a的标签集合。
  16. 根据权利要求10-15任意一项所述的应用软件搜索装置,其特征在于, 所述排序指标计算模块根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标的方式,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100006
    计算每个应用软件的排序指标,其中,Or i表示资源数据库中任一应用软件i的排序指标,I表示所述资源数据库中所有应用软件的集合,avg j∈I(Sim a,j)表示所述资源数据库中所有应用软件对应的所述第二相似度的平均值,|NumUserInstalled i|表示应用软件i的安装用户的用户数量,avg j∈I(|NumUserInstalled j|)表示所述资源数据库中所有应用软件的安装用户的用户数量的平均值,α、β是预设的权重参数。
  17. 根据权利要求11-16任意一项所述的应用软件搜索装置,其特征在于,所述搜索结果列表生成模块结合所述第一搜索列表和所述第二搜索列表,生成该搜索词当前的搜索结果列表的方式,包括:
    初始化一目标列表;
    向该目标列表中添加应用软件;其中,向该目标列表中添加应用软件的步骤包括从所述第一搜索列表中按顺序获取第三预设数目个应用软件加入所述目标列表中,以及从所述第二搜索列表中按顺序获取第四预设数目个应用软件加入所述目标列表中,所述第三预设数目和所述第四预设数目根据用于显示所述搜索结果列表的设备每屏能够显示的应用软件数目预先设定;
    判断所述第一搜索列表和所述第二搜索列表是否为空;
    若第一搜索列表、第二搜索列表都不为空,则返回上述向该目标列表中添加应用软件的步骤;
    若第一搜索列表、第二搜索列表中出现一个为空,则将另一个非空的搜索列表中剩余的所有应用软件添加进上述目标列表中;
    若第一搜索列表、第二搜索列表都为空,则将当前的所述目标列表作为该搜索词当前的搜索结果列表并输出。
  18. 根据权利要求10-17任意一项所述的应用软件搜索装置,其特征在于,所述第一相似度计算模块计算输入的搜索词与资源数据库中每个应用软件的第一相似度的方式,包括:
    获取描述任一目标应用软件的目标文本信息;
    对所述目标文本信息及所述搜索词进行分词,并计算出每个分词在所述目标文本信息、所述搜索词中出现的词频;
    根据所述资源数据库中的所有应用软件对应的文本信息,计算每个分词的逆文档频率;
    根据每个分词在所述目标文本信息中出现的词频以及每个分词的逆文档频率,计算得到所述目标应用软件的第一特征向量;
    根据每个分词在所述搜索词中出现的词频以及每个分词的逆文档频率,计算得到所述搜索词的第二特征向量;
    计算所述第一特征向量和所述第二特征向量的夹角的余弦值,该余弦值表示所述搜索词与所述目标应用软件的第一相似度。
  19. 一种服务器,其特征在于,所述服务器包括:
    存储器;
    处理器;及
    应用软件搜索装置,该应用软件搜索装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,该应用软件搜索装置包括:
    第一相似度计算模块,用于计算输入的搜索词与资源数据库中每个应用软件的第一相似度;
    质量数据计算模块,用于根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据;
    第一搜索列表生成模块,用于根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表,所述第一搜索列表包括所述资源数据库中的至少一个应用软件。
  20. 根据权利要求19所述的服务器,其特征在于,每个应用软件的用户行为数据包括在预设时段内平均浏览该应用软件的用户数和平均下载该应用软件的用户数,所述质量数据计算模块根据预先统计得到的所述资源数据库中每个应用软件的用户行为数据,计算每个应用软件的质量数据的方式,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100007
    计算每个应用软件的质量数据,其中,Num sum表示在所述预设时段内平均曝光该应用软件的用户数,num br表示在所述预设时段内平均浏览该应用软件的用户数,num dl表示在所述预设时段内平均下载该应用软件的用户数。
  21. 根据权利要求19或20所述的服务器,其特征在于,所述第一搜索列表生成模块根据计算得到的所述资源数据库中每个应用软件对应的第一相似度和所述质量数据,生成所述搜索词的第一搜索列表的方式,包括:
    初始化一目标列表;
    根据所述第一相似度对所述资源数据库中的应用软件进行排序,得到候选搜索列表;
    将所述候选搜索列表中的应用软件按序分为多组,每组包括第一预设数目个应用软件;
    根据每组中每个应用软件的质量数据,对每组中的第一预设数目个应用软件进行排序;
    在每组中根据上述排序的结果选择第二预设数目个应用软件加入所述目标列表中,得到所述第一搜索列表。
  22. 根据权利要求19-21任意一项所述的服务器,其特征在于,该应用软件搜索装置还包括:
    目标应用软件获取模块,用于根据所述搜索词的历史搜索数据,预先统计获得与该搜索词匹配的目标应用软件;
    第二相似度计算模块,用于计算所述资源数据库中每个应用软件与所述目标应用软件的第二相似度;
    排序指标计算模块,用于根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标;
    第二搜索列表生成模块,用于根据所述排序指标对所述资源数据库中的应用软件排序,生成第二搜索列表;
    搜索结果列表生成模块,用于结合所述第一搜索列表和所述第二搜索列表,生成所述搜索词当前的搜索结果列表。
  23. 根据权利要求19-22任意一项所述的服务器,其特征在于,所述第二相似度计算模块计算所述资源数据库中每个应用软件与所述目标应用软件的第二相似度的方式,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100008
    计算所述资源数据库中每个应用软件与该目标应用软件的相似度,其中,i表示所述资源数据库中的任一应用软件,a表示所述目标应用软件,Sim a, i表示应用软件i与目标应用软件a的第二相似度,UserInstalled i表示所述资源数据库的所有用户中安装了应用软件i的用户子集,UserInstalled a表示所述资源数据库的所有用户中安装了目标应用软件a的用户子集,T i表示应用软件i的标签集合,T a表示目标应用软件a的标签集合。
  24. 根据权利要求19-23任意一项所述的服务器,其特征在于,所述排序指标计算模块根据计算得到的每个应用软件的第二相似度和安装每个应用软件的用户数量,计算每个应用软件的排序指标的方式,包括:
    根据计算式:
    Figure PCTCN2018090150-appb-100009
    计算每个应用软件的排序指标,其中,Or i表示资源数据库中任一应用软件i的排序指标,I表示所述资源数据库中所有应用软件的集合,avg j∈I(Sim a,j)表示所述资源数据库中所有应用软件对应的所述第二相似度的平均值,|NumUserInstalled i|表示应用软件i的安装用户的用户数量,avg j∈I(|NumUserInstalled j|)表示所述资源数据库中所有应用软件的安装用户的用户数量的平均值,α、β是预设的权重参数。
  25. 根据权利要求19-24任意一项所述的服务器,其特征在于,所述搜索结果列表生成模块结合所述第一搜索列表和所述第二搜索列表,生成该搜索词当前的搜索结果列表的方式,包括:
    初始化一目标列表;
    向该目标列表中添加应用软件;其中,向该目标列表中添加应用软件的步骤包括从所述第一搜索列表中按顺序获取第三预设数目个应用软件加入所述目标列表中,以及从所述第二搜索列表中按顺序获取第四预设数目个应用软件加入所述目标列表中,所述第三预设数目和所述第四预设数目根据用于显示所述搜索结果列表的设备每屏能够显示的应用软件数目预先设定;
    判断所述第一搜索列表和所述第二搜索列表是否为空;
    若第一搜索列表、第二搜索列表都不为空,则返回上述向该目标列表中添加应用软件的步骤;
    若第一搜索列表、第二搜索列表中出现一个为空,则将另一个非空的搜索列表中剩余的所有应用软件添加进上述目标列表中;
    若第一搜索列表、第二搜索列表都为空,则将当前的所述目标列表作为该搜索词当前的搜索结果列表并输出。
  26. 一种服务器,其中,包括:
    存储器,用于存储可执行指令;
    处理器,用于根据所述可执行指令的控制,运行所述服务器执行如权利要求1-9任意一项所述的应用软件搜索方法。
  27. 一种计算机可读取存储介质,其中,
    所述计算机可读取存储介质中存储有计算机软件产品,所述计算机软件产品包括若干指令,用以使得一台计算机设备执行如权利要求1-9任意一项所述的应用软件搜索方法。
PCT/CN2018/090150 2017-06-08 2018-06-06 一种应用软件搜索方法、装置及服务器 WO2018223993A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710431235.XA CN107256251B (zh) 2017-06-08 2017-06-08 一种应用软件搜索方法、装置及服务器
CN201710431235.X 2017-06-08

Publications (1)

Publication Number Publication Date
WO2018223993A1 true WO2018223993A1 (zh) 2018-12-13

Family

ID=60023598

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/090150 WO2018223993A1 (zh) 2017-06-08 2018-06-06 一种应用软件搜索方法、装置及服务器

Country Status (2)

Country Link
CN (1) CN107256251B (zh)
WO (1) WO2018223993A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256251B (zh) * 2017-06-08 2020-08-25 阿里巴巴(中国)有限公司 一种应用软件搜索方法、装置及服务器
CN110377808A (zh) * 2019-06-14 2019-10-25 北京达佳互联信息技术有限公司 文档处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090043732A1 (en) * 2004-02-26 2009-02-12 Nhn Corporation Method For Providing Search Results List Based on Importance Information and System Thereof
CN105389328A (zh) * 2015-09-21 2016-03-09 中国人民解放军国防科学技术大学 一种大规模开源软件搜索排序优化方法
CN105893390A (zh) * 2015-01-26 2016-08-24 北京搜狗科技发展有限公司 一种应用程序的处理方法及电子设备
CN106503025A (zh) * 2015-09-08 2017-03-15 北京搜狗科技发展有限公司 一种应用推荐方法和系统
CN106777282A (zh) * 2016-12-29 2017-05-31 百度在线网络技术(北京)有限公司 相关搜索的排序方法和装置
CN107256251A (zh) * 2017-06-08 2017-10-17 广州优视网络科技有限公司 一种应用软件搜索方法、装置及服务器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073720B (zh) * 2011-01-10 2014-01-22 北京航空航天大学 一种对个性化推荐结果进行优化的fr方法
US9235858B1 (en) * 2012-07-25 2016-01-12 Amazon Technologies, Inc. Local search of network content
CN103678397B (zh) * 2012-09-20 2017-05-17 富士通株式会社 应用搜索装置、应用搜索方法以及电子设备
CN104516980B (zh) * 2014-12-26 2018-08-03 携程计算机技术(上海)有限公司 搜索结果的输出方法以及服务器系统
CN106445971A (zh) * 2015-08-11 2017-02-22 北京奇虎科技有限公司 一种应用推荐方法和系统
CN105183897B (zh) * 2015-09-29 2018-09-11 北京奇艺世纪科技有限公司 一种视频搜索排序的方法和系统
CN106649423A (zh) * 2016-06-23 2017-05-10 新乡学院 一种基于内容相关度的检索模型计算方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090043732A1 (en) * 2004-02-26 2009-02-12 Nhn Corporation Method For Providing Search Results List Based on Importance Information and System Thereof
CN105893390A (zh) * 2015-01-26 2016-08-24 北京搜狗科技发展有限公司 一种应用程序的处理方法及电子设备
CN106503025A (zh) * 2015-09-08 2017-03-15 北京搜狗科技发展有限公司 一种应用推荐方法和系统
CN105389328A (zh) * 2015-09-21 2016-03-09 中国人民解放军国防科学技术大学 一种大规模开源软件搜索排序优化方法
CN106777282A (zh) * 2016-12-29 2017-05-31 百度在线网络技术(北京)有限公司 相关搜索的排序方法和装置
CN107256251A (zh) * 2017-06-08 2017-10-17 广州优视网络科技有限公司 一种应用软件搜索方法、装置及服务器

Also Published As

Publication number Publication date
CN107256251B (zh) 2020-08-25
CN107256251A (zh) 2017-10-17

Similar Documents

Publication Publication Date Title
CN108153901B (zh) 基于知识图谱的信息推送方法和装置
CN108804450B (zh) 信息推送的方法和装置
US20200356572A1 (en) Search ranking method and apparatus, electronic device and storage medium
US20170091838A1 (en) Product recommendation using sentiment and semantic analysis
WO2019080662A1 (zh) 信息推荐方法及装置、设备
US20180095958A1 (en) Topic profile query creation
CN108256070B (zh) 用于生成信息的方法和装置
CN110413872B (zh) 用于展示信息的方法和装置
CN108959236B (zh) 医学文献分类模型训练方法、医学文献分类方法及其装置
CN112613917A (zh) 基于用户画像的信息推送方法、装置、设备及存储介质
US10592782B2 (en) Image analysis enhanced related item decision
CN113657113A (zh) 文本处理方法、装置和电子设备
CN107451280B (zh) 数据打通方法、装置及电子设备
WO2018223993A1 (zh) 一种应用软件搜索方法、装置及服务器
CN106899755B (zh) 信息分享方法、信息分享装置及终端
CN110059172B (zh) 基于自然语言理解的推荐答案的方法和装置
WO2015116337A1 (en) Clustered browse history
US10474688B2 (en) System and method to recommend a bundle of items based on item/user tagging and co-install graph
CN113590756A (zh) 信息序列生成方法、装置、终端设备和计算机可读介质
CN108959289B (zh) 网站类别获取方法和装置
CN107291923B (zh) 信息处理方法和装置
CN111316191A (zh) 用于多级模式发现和视觉分析推荐的预测引擎
CN106599082B (zh) 一种检索方法、相关装置及电子设备
CN110737691B (zh) 用于处理访问行为数据的方法和装置
CN107341172B (zh) 视频收益计算建模装置与方法及视频推荐装置与方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18814058

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18814058

Country of ref document: EP

Kind code of ref document: A1