CN114443967B - Similar application recommendation method, computing device and storage medium - Google Patents

Similar application recommendation method, computing device and storage medium Download PDF

Info

Publication number
CN114443967B
CN114443967B CN202210364233.4A CN202210364233A CN114443967B CN 114443967 B CN114443967 B CN 114443967B CN 202210364233 A CN202210364233 A CN 202210364233A CN 114443967 B CN114443967 B CN 114443967B
Authority
CN
China
Prior art keywords
application
user
vector
layer
vectors
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202210364233.4A
Other languages
Chinese (zh)
Other versions
CN114443967A (en
Inventor
周进光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Paratera Technology Co ltd
Original Assignee
Beijing Paratera Technology Co ltd
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 Beijing Paratera Technology Co ltd filed Critical Beijing Paratera Technology Co ltd
Priority to CN202210364233.4A priority Critical patent/CN114443967B/en
Publication of CN114443967A publication Critical patent/CN114443967A/en
Application granted granted Critical
Publication of CN114443967B publication Critical patent/CN114443967B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

The invention discloses a recommendation method, a computing device and a storage medium for similar applications, wherein the method comprises the following steps: determining a first number of similar applications associated with the user identification according to the user identification of the current user and each application vector in the storage unit; inputting the application characteristics, industry type characteristics, operation sampling characteristics and exposed times characteristics of the first number of similar applications into a sequencing layer in a recommendation model for processing so as to output a second number of application identifications; acquiring application information of similar applications associated with the second number of application identifications through the second number of application identifications; and forming an application list by using the application information of the similar applications associated with the second number of application identifications, and recommending the application list to the current user.

Description

Similar application recommendation method, computing device and storage medium
Technical Field
The invention relates to the technical field of Internet and artificial intelligence, in particular to a recommendation method, a computing device and a storage medium for similar applications.
Background
When a user just touches an application, especially an application which is not well understood and has higher requirements in use, how to make the application operate efficiently feels certain difficulty. In the application use process, the problems of insufficient resource utilization rate and improper hardware resource selection often occur.
For example, in a High Performance Computing (HPC) application, also called an supercomputing application, when a user uses the supercomputing application, the user often thinks that the running speed of the application is fast as long as the requested resources are enough, but the application is not really so. A CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a memory, or the like is only a physical basis for improving performance, and the performance of an application is determined by many factors, including a suitable software tool, parameters, how to schedule hardware resources, a file reading method, and the like.
When a problem is encountered and a solution is found, a related similar solution is usually found, and a key for opening the problem door is obtained by the successful experience of others. In the same type of application, different users can have differences in use, some users have higher use skills, and if the experience of the users can be shared, the problem can be solved for novice users, so that the application level is improved, and the error rate is reduced.
Therefore, a similar application recommendation method is needed to solve the above problems.
Disclosure of Invention
To this end, the present invention provides a similar application recommendation in an attempt to solve or at least alleviate the above-presented problems.
According to an aspect of the present invention, there is provided a similar application recommendation method, including the steps of: firstly, determining a first number of similar applications associated with a user identifier according to the user identifier of a current user and each application vector in a storage unit; inputting the application characteristics, industry type characteristics, operation sampling characteristics and exposed times characteristics of the first number of similar applications into a sequencing layer in a recommendation model for processing so as to output a second number of application identifications; acquiring application information of similar applications associated with the second number of application identifications through the second number of application identifications; and forming an application list by using the application information of the similar applications associated with the second number of application identifications, and recommending the application list to the current user.
Optionally, in the similar application recommendation method according to the present invention, the step of determining a first number of similar applications associated with the user identifier according to the user identifier of the current user and each application vector in the storage unit includes: acquiring a user vector corresponding to a user identifier based on the user identifier of the current user; calculating the similarity between the user vector and each application vector in the storage unit, and determining the first number of application vectors with the highest similarity; and taking the application corresponding to the first quantity of application vectors with the highest similarity as the first quantity of similar applications associated with the user identification.
Optionally, in the similar application recommendation method according to the present invention, the recommendation model further includes a recall layer, and the recall layer generates a plurality of application vectors and user vectors by preprocessing the application history data and the user history data, and stores the application vectors and the user vectors in the storage unit.
Optionally, in a similar application recommendation method according to the present invention, the recall layer in the recommendation model includes a first pooling module, a first vector combination layer, a first neural network and a classifier, which are connected in sequence, the first pooling module includes a plurality of parallel average pooling layers, and the first neural network includes a plurality of activation layers, which are connected in sequence.
Optionally, in the similar application recommendation method according to the present invention, the step of generating a plurality of application vectors and user vectors by the recall layer by preprocessing the application history data and the user history data includes: generating a first feature vector based on the application history data and the user history data; inputting the first feature vector into a first neural network to obtain an output of the first neural network; the output of the first neural network is input to a classifier, and an application vector and a user vector are determined from the output of the first neural network according to a probability result output by the classifier.
Optionally, in the similar application recommendation method according to the present invention, the application history data includes an application industry type and an application calculation type, and the user history data includes a user identifier, an application identifier of the user history viewing application, a search word, and a user work unit.
Optionally, in the similar application recommendation method according to the present invention, the step of generating the first feature vector based on the application history data and the user history data includes: respectively generating user identification, application identification of user historical viewing application, search terms, application industry types, application calculation types and vectors corresponding to user working units; inputting vectors corresponding to the user identification and the application identification of the user history viewing application into an average pooling layer of a first pooling module to output viewing history vectors; inputting a vector corresponding to the search word into another average pooling layer juxtaposed to the average pooling layer to output a search history vector; and inputting the viewing history vector, the searching history vector, the vector corresponding to the application industry type, the vector corresponding to the application calculation type and the vector corresponding to the user working unit into a first vector combination layer for combination so as to generate a first characteristic vector.
Optionally, in the similar application recommendation method according to the present invention, the ranking layer includes a second pooling module, a second vector combination layer, a second neural network, and a weighted logistic regression layer, which are connected in sequence, the second pooling module includes at least one average pooling layer, and the second neural network includes a plurality of activation layers connected in sequence.
Optionally, in the similar application recommendation method according to the present invention, the step of inputting the application characteristics, the industry type characteristics, the operation sampling characteristics, and the exposed times characteristics of the first number of similar applications into a ranking layer in the recommendation model for processing to output a second number of application identifications includes: generating a second feature vector based on the application features, industry type features, operation sampling features and exposed times features of the first number of similar applications; inputting the second feature vector into a second neural network to obtain an output of the second neural network; and inputting the output of the second neural network into the weighted logistic regression layer, and acquiring a second number of application identifiers according to the output result of the weighted logistic regression layer.
Optionally, in the similar application recommendation method according to the present invention, the step of generating a second feature vector based on the application feature, the industry type feature, the operation sampling feature and the exposed times feature of the first number of similar applications includes: respectively generating vectors corresponding to the application characteristics, the industry type characteristics, the operation sampling characteristics and the exposed times characteristics of the first number of similar applications; inputting vectors corresponding to the application features of the first number of similar applications into a second pooling module to output application feature vectors; and inputting the application characteristic vector, the vector corresponding to the industry type characteristic, the vector corresponding to the operation sampling characteristic and the vector corresponding to the exposed times characteristic into a second vector combination layer for combination so as to generate a second characteristic vector.
Optionally, in the similar application recommendation method according to the present invention, the application characteristics include an application identification characteristic, the application identification characteristic includes an application identification of an exposed application and an application identification of a viewed application, and the industry type characteristic includes an application industry type and an industry type in which the user is located.
According to yet another aspect of the invention, there is provided a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing a similar application recommendation method as described above.
According to yet another aspect of the present invention, there is provided a readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the similar application recommendation method as described above.
According to the similar application recommendation scheme, a first number of similar applications related to a user identifier of a current user are determined, application characteristics, industry type characteristics, operation sampling characteristics and exposed times characteristics of the first number of similar applications are input into a sequencing layer in a recommendation model to be processed, a second number of application identifiers are output, application information of the similar applications related to the second number of application identifiers is obtained through the second number of application identifiers, and the application information of the similar applications related to the second number of application identifiers forms an application list and is recommended to the current user. According to the technical scheme, the appropriate application can be recommended to the user according to the data of the user and the data of the user related to the application, so that the user can be helped to draw the experience of excellent application, the difficulty in building the application is reduced, particularly when the application is an application with certain development and use difficulty such as super-calculation application, evaluation basis can be provided for the application of the user through the operation indexes of the similar application, the distance between the users is shortened, intercommunication is provided or not, communication between the users is increased, and the viscosity of the platform to the user is improved.
In addition, the used recommendation model further comprises a recall layer, application vectors and user vectors are obtained through preprocessing of the recall layer and are stored in the storage unit, so that when similar applications are recommended, a first number of similar applications related to the user identifications can be determined directly according to the user identifications of the current users and the application vectors in the storage unit, online service is not needed, server burden is reduced, operating efficiency is improved, and the recommendation model adopts a deep learning multi-layer vector mode, has autonomous learning capability and can process more features and larger data volume.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which are indicative of various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description read in conjunction with the accompanying drawings. Throughout this disclosure, like reference numerals generally refer to like parts or elements.
FIG. 1 shows a block diagram of a computing device 100, according to an embodiment of the invention;
FIG. 2 illustrates a flow diagram of a similar application recommendation method 200 according to one embodiment of the invention;
FIG. 3 illustrates a structural schematic of a recall layer according to an embodiment of the present invention; and
fig. 4 shows a schematic structural diagram of a sorting layer according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
FIG. 1 shows a block diagram of a computing device 100, according to one embodiment of the invention.
As shown in FIG. 1, in a basic configuration 102, a computing device 100 typically includes a system memory 106 and one or more processors 104. A memory bus 108 may be used for communication between the processor 104 and the system memory 106.
Depending on the desired configuration, the processor 104 may be any type of processing, including but not limited to: a microprocessor (UP), a microcontroller (UC), a digital information processor (DSP), or any combination thereof. The processor 104 may include one or more levels of cache, such as a level one cache 110 and a level two cache 112, a processor core 114, and registers 116. The example processor core 114 may include an Arithmetic Logic Unit (ALU), a Floating Point Unit (FPU), a digital signal processing core (DSP core), or any combination thereof. The example memory controller 118 may be used with the processor 104, or in some implementations the memory controller 118 may be an internal part of the processor 104.
Depending on the desired configuration, system memory 106 may be any type of memory, including but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. System memory 106 may include an operating system 120, one or more applications 122, and program data 124. In some implementations, the application 122 can be arranged to execute instructions on an operating system with program data 124 by one or more processors 104.
Computing device 100 also includes storage 132, storage 132 including removable storage 136 and non-removable storage 138.
Computing device 100 may also include a storage interface bus 134. The storage interface bus 134 enables communication from the storage devices 132 (e.g., removable storage 136 and non-removable storage 138) to the basic configuration 102 via the bus/interface controller 130. Operating system 120, applications 122, and at least a portion of program data 124 may be stored on removable storage 136 and/or non-removable storage 138, and loaded into system memory 106 via storage interface bus 134 and executed by one or more processors 104 when computing device 100 is powered on or applications 122 are to be executed.
Computing device 100 may also include an interface bus 140 that facilitates communication from various interface devices (e.g., output devices 142, peripheral interfaces 144, and communication devices 146) to the basic configuration 102 via the bus/interface controller 130. The example output device 142 includes an image processing unit 148 and an audio processing unit 150. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 152. Example peripheral interfaces 144 may include a serial interface controller 154 and a parallel interface controller 156, which may be configured to facilitate communication with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., printer, scanner, etc.) via one or more I/O ports 158. An example communication device 146 may include a network controller 160, which may be arranged to facilitate communications with one or more other computing devices 162 over a network communication link via one or more communication ports 164.
The network communication link may be one example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, and may include any information delivery media, such as carrier waves or other transport mechanisms, in a modulated data signal. A "modulated data signal" may be a signal that has one or more of its data set or its changes made in a manner that encodes information in the signal. By way of non-limiting example, communication media may include wired media such as a wired network or private-wired network, and various wireless media such as acoustic, Radio Frequency (RF), microwave, Infrared (IR), or other wireless media. The term computer readable media as used herein may include both storage media and communication media.
Computing device 100 may be implemented as a personal computer including both desktop and notebook computer configurations. Of course, computing device 100 may also be implemented as part of a small-form factor portable (or mobile) electronic device such as a cellular telephone, a digital camera, a Personal Digital Assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset, an application specific device, or a hybrid device that include any of the above functions. And may even be implemented as a server, such as a file server, a database server, an application server, a WEB server, and so forth. The embodiments of the present invention are not limited thereto.
In an embodiment in accordance with the invention, the computing device 100 is implemented as a server and is configured to perform a similar application recommendation method 200 in accordance with the invention. Among other things, the application 122 disposed on the operating system includes a plurality of program instructions for performing the similar application recommendation method 200 of the present invention, which may instruct the processor 104 to perform the similar application recommendation method 200 of the present invention such that the computing device 200 recommends similar applications by performing the similar application recommendation method 200 of the present invention.
FIG. 2 shows a flow diagram of a similar application recommendation method 200 according to one embodiment of the invention. The similar application recommendation method 200 may be performed in a computing device (e.g., the computing device 100 described above). It should be noted that the application related to the present invention may be an supercomputing application, may be an application similar to the supercomputing application, or may actually be an application for recommending a similar application by applying the method 200.
As shown in fig. 2, the method 200 begins at step S210. In step S210, a first number of similar applications associated with the user identifier is determined according to the user identifier of the current user and each application vector in the storage unit. According to an embodiment of the present invention, a first number of similar applications associated with a user identifier may be determined according to the user identifier of the current user and each application vector in the storage unit in the following manner. Firstly, based on the user identification of the current user, obtaining a user vector corresponding to the user identification, then calculating the similarity between the user vector and each application vector in the storage unit, determining the first quantity of application vectors with the highest similarity, and taking the applications corresponding to the first quantity of application vectors with the highest similarity as the first quantity of similar applications associated with the user identification. The first number may be determined according to practical situations, and the present invention is not limited thereto.
In this embodiment, the storage unit may perform data storage using a Key-Value database provided by Redis (Remote Dictionary service), in which a plurality of application vectors and user vectors generated by a recall layer in the recommendation model are stored.
When the similarity between the user vector corresponding to the user identifier of the current user and each application vector in the storage unit is calculated, the similarity distance between the vectors is actually calculated, a cosine similarity calculation method can be adopted, the number of the application vectors is considered to be large, and then, for example, a local sensitive hash algorithm is used for carrying out barrel calculation respectively, and output is determined through barrel sorting. The technical means are designed for improving the output performance, and can be adjusted correspondingly according to specific conditions in practical application.
Subsequently, step S220 is entered, and the application characteristics, industry type characteristics, operation sampling characteristics and exposed times characteristics of the first number of similar applications are input into the ranking layer in the recommendation model for processing, so as to output a second number of application identifications. The second number may be determined according to practical situations, and the present invention is not limited thereto.
According to an embodiment of the invention, the recommendation model further comprises a recall layer, and the recall layer generates a plurality of application vectors and user vectors by preprocessing the application history data and the user history data, and stores the application vectors and the user vectors in the storage unit.
For ease of understanding and subsequent description, the recall layer and the ranking layer in the recommendation model are first described herein. According to one embodiment of the invention, the recall layer in the recommendation model comprises a first pooling module, a first vector combination layer, a first neural network and a classifier which are connected in sequence, wherein the first pooling module comprises a plurality of parallel average pooling layers, and the first neural network comprises a plurality of activation layers which are connected in sequence.
The recall layer may pre-process the application history data and the user history data to generate a plurality of application vectors and user vectors as follows. First, a first feature vector is generated based on application history data and user history data. The application history data includes an application industry type and an application computing type. The application industry type represents what type the application belongs to, e.g., for supercomputing applications, it can be determined whether its application industry type is drug development or celestial physics, etc. The application computation type represents the computation characteristic of the application, and when the application is a super-computation application, the application computation type of the application computation type is determined to be data intensive (more input/output operations), multi-node (high computation requirement) and the like.
The user history data includes a user identification, an application identification of the user history viewing application, a search term, and a user work unit. Of course, the application history data and the user history data are not limited to the above contents, and may be added or deleted according to actual situations such as a recommendation timing, a user demand, and the like.
When the first characteristic vector is generated, vectors corresponding to a user identifier, an application identifier of a user history viewing application, a search word, an application industry type, an application calculation type and a user working unit are respectively generated, then the vectors corresponding to the user identifier and the application identifier of the user history viewing application are input into an average pooling layer of a first pooling module to output a viewing history vector, and the vector corresponding to the search word is input into another average pooling layer which is parallel to the average pooling layer to output the search history vector. And finally, inputting the viewing history vector, the searching history vector, the vector corresponding to the application industry type, the vector corresponding to the application calculation type and the vector corresponding to the user working unit into a first vector combination layer for combination so as to generate a first characteristic vector. The search terms comprise search terms input by a user or keywords acquired according to questions and answers.
The method for generating the user identifier, the application identifier of the user history viewing application, the search word, the application industry type, the application calculation type and the vector corresponding to the user working unit is the Embedding method. Embedding is literally understood as "Embedding", but is essentially a mapping, a method for representing objects by numerical vectors, and a means for integrating multidimensional features of objects. In the present invention, the category type data usually needs Embedding, and the numerical type data does not need to be Embedding. For the process of generating the vector by using Embedding, reference may be made to an existing algorithm, which is not described herein again.
And after the first feature vector is generated, inputting the first feature vector into the first neural network to obtain the output of the first neural network. Each activation layer in the first neural network is realized by adopting a ReLU (Rectified Linear Unit) function, and the output of the previous activation layer is used as the input of the next activation layer, so that the vectors can be ensured to be fully crossed, and the characteristic can be combined for multiple times, thereby improving the cognitive ability of the model.
Then, the output of the first neural network is input to a classifier, and an application vector and a user vector are determined from the output of the first neural network according to a probability result output by the classifier. The classifier is implemented by a Softmax function (normalized exponential function) with an output of a probability and a parameter ofm×nA matrix of dimensions. Wherein the content of the first and second substances,mfor the dimension of the last active layer in the first neural network,nthe total number of classifications of the fingers. And finally, according to the probability result output by the Softmax classifier, taking the output of the last activation layer in the first neural network which meets the requirement as an application vector and a user vector.
In this embodiment, for the ranking layer, the first pooling module comprises 2 parallel average pooling layers and the first neural network comprises 3 sequentially connected activation layers. FIG. 3 shows a structural schematic diagram of a recall layer according to an embodiment of the invention. For ease of description, the portions that generate input 11, input 12, input 13, and input 14 are omitted from FIG. 3.
As shown in fig. 3, an input 11 is input into an average pooling layer 11 in the first pooling module, an input 12 is input into an average pooling layer 12 in the first pooling module, the input 11 and the input 12 implement the dimension reduction of vectors through average pooling, the input 11 is a vector corresponding to a user identifier and an application identifier of a user history viewing application, and the input 12 is a vector corresponding to a search term.
The input 13 is a vector corresponding to an application calculation type, the input 14 is a vector corresponding to a user working unit, the average pooling layer 11 outputs a viewing history vector after processing the input 11, and the average pooling layer 12 outputs a search history vector after processing the input 12. The view history vector, the search history vector, the input 13 and the input 14 are input to a first vector combination layer to be combined, and then a first feature vector is generated.
After the first feature vector is input into the activation layer 11 of the first neural network, the first feature vector is input into the classifier after the one-step processing of the activation layer 11, the activation layer 12 and the activation layer 13, and finally the classifier takes the output probability result as output 1 so as to determine the application vector and the user vector from the output of the activation layer 13 according to the output 1.
According to one embodiment of the invention, the ranking layer comprises a second pooling module, a second vector combination layer, a second neural network and a weighted logistic regression layer which are connected in sequence, the second pooling module comprises at least one averaging pooling layer, and the second neural network comprises a plurality of activation layers which are connected in sequence.
The ranking layer may process the application characteristics, industry type characteristics, run sample characteristics, and number of exposures of the first number of similar applications to output a second number of application identifications. First, a second feature vector is generated based on application features, industry type features, run sample features, and exposed times features of a first number of similar applications.
When the second feature vector is generated, vectors corresponding to the application features, the industry type features, the operation sampling features and the exposed times features of a first number of similar applications are generated respectively, the vectors corresponding to the application features of the first number of similar applications are input into the second pooling module to output application feature vectors, and then the application feature vectors, the vectors corresponding to the industry type features, the vectors corresponding to the operation sampling features and the vectors corresponding to the exposed times features are input into the second vector combination layer to be combined to generate the second feature vector. The application characteristics comprise application identification characteristics, the application identification characteristics comprise application identifications of exposed applications and application identifications of viewed applications, and the industry type characteristics comprise application industry types and industry types where users are located.
Here, the same method for generating vectors corresponding to the application features and the industry type features of the first number of similar applications is used for Embedding. In addition, for the application identification feature, the application identification of the closest or farthest viewed application may be further subdivided by time, the application identification of the application may be subdivided by viewing frequency, and the like. While other types of application features may be customized as desired.
The running sampling feature refers to a sampling feature when the application runs, and the exposed times feature refers to the times feature that the application has been exposed to a user. The operation sampling feature can carry out recommendation prediction according to the operation state of the application, and an improvement suggestion is given. The exposed times feature is used to prevent scenarios where one application recommends multiple times to the user, but the user does not adopt. For the operation sampling feature and the exposed time feature, normalization processing is carried out on the operation sampling feature and the exposed time feature, and then the non-linear characteristic is obtained by utilizing averaging, evolution and the like so as to generate a corresponding vector.
And after the generation of the second feature vector is finished, inputting the second feature vector into the second neural network to obtain the output of the second neural network. The active layers in the second neural network are also implemented by using the ReLU function, similar to the active layers in the first neural network.
And finally, inputting the output of the second neural network into the weighted logistic regression layer, and acquiring a second number of application identifiers according to the output result of the weighted logistic regression layer. The weight in the Weighted Logistic Regression (WLR) layer is the ratio of the application characteristic, the industry type characteristic, the operation sampling characteristic and the exposed times characteristic, and can be adjusted according to the business needs.
In this embodiment, for the ranking layer, the second pooling module includes 1 average pooling layer and the second neural network includes 3 sequentially connected activation layers. Fig. 4 shows a schematic structural diagram of a sorting layer according to an embodiment of the present invention. For ease of description, the portions that generate input 21, input 22, input 23, and input 24 are omitted from FIG. 4. As shown in fig. 4, the input 21 is input into the average pooling layer 21 in the second pooling module, the input 21 will implement the dimensionality reduction of the vector through the average pooling process, and the input 21 is the vector corresponding to the application feature.
The input 22 is a vector corresponding to the industry type feature, the input 23 is a vector corresponding to the running sampling feature, the input 24 is a vector corresponding to the exposed times feature, and the average pooling layer 21 processes the input 21 and outputs the application feature vector. The application feature vector, input 22, input 23, input 24 are input to a second vector combining layer for combination, thereby generating a second feature vector.
And after the second feature vector is input into the activation layer 21 of the second neural network, the second feature vector is input into the weighted logistic regression layer after the one-step processing of the activation layer 21, the activation layer 22 and the activation layer 23, the output of the weighted logistic regression layer is finally obtained as output 2, and a second number of application identifiers are obtained according to the output 2.
The recall layer and the ranking layer in the recommendation model are trained separately, and the recall layer trains and pre-generates application vectors and user vectors for online use in an offline manner. The training recall layer follows the conventional pattern, Hold-Out (outflow, data partitioning), and extracts a portion of the data set, with 70% training and 30% for validation. In contrast to the sorting layer, the recall layer does not place itself in online service, but rather outputs results to an online storage unit and updates periodically (e.g., once per day), such as Redis, for rapid screening. In addition, after the recall layer is generated, because application historical data and user historical data change, a certain data set needs to be taken regularly to train and verify the model, and the frequency can be determined according to the historical data.
The ranking layer is currently trained in an offline manner, some features have time sequence characteristics, such as application identifiers of viewed applications, and time segmentation is performed on offline data to avoid time crossing. A reinforcement learning mode can be introduced subsequently, and training is carried out by utilizing online data, but the engineering implementation is complex. The updating of the sequencing layer can be processed irregularly according to various factors such as historical data change, service feedback and the like, and if a reinforcement learning mode is adopted for training, the real-time updating can be realized.
The features used in learning and training of the recall layer and the ranking layer in the recommendation model are generally divided into two types: one type is application characteristics, including application identification characteristics, used software, application industry type, application calculation type, running characteristics (CPU/GPU utilization, memory utilization, node number, job number, storage usage, disk read-write rate, network occupied bandwidth, kernel number, running time), and the like; the other type is user characteristics, including user identification, user work units, the type of industry the user is in, search terms, time for viewing a reference to an application, and the like.
In step S230, the application information of the similar applications associated with the second number of application identifications is obtained through the second number of application identifications. According to one embodiment of the invention, the application information includes information such as a scheme description, a contact information, and an operation index of the application.
Finally, step S240 is executed to combine the application information of the similar applications associated with the second number of application identifications into an application list, and recommend the application list to the current user. After the application list is obtained, the program of the application is not recommended to the user for use, which is restricted by copyright, but information such as scheme description, contact way, operation index and the like of the application is provided for the user to be referred. The application information is shared and provided after the consent of the application owner, and different information is provided for the user according to the prior or intermediate stage, so that the user can find the application list reference or evaluation application of similar applications.
For example, in the prior stage, the recommendation service may recommend description information such as a scheme description, an operation effect, a contact way, and the like of a similar application to the user, so as to be used for the user to make a decision. The characteristics such as industry types and search words submitted by users are mainly used for precise sequencing, and description information of applications meeting or close to the needs of the users is listed.
In the in-service stage, the recommendation service finds the similar application list through the recommendation model according to the running characteristics of the user application collected by performance monitoring, and then arranges the average running indexes of the similar application list to feed back to the user. And subsequently, related improvement suggestions can be given according to different indexes, so that a means is provided for evaluating and optimizing the application by the user.
According to the similar application recommendation scheme provided by the embodiment of the invention, a first number of similar applications associated with a user identifier of a current user are determined, application characteristics, industry type characteristics, operation sampling characteristics and exposed times characteristics of the first number of similar applications are input into a sequencing layer in a recommendation model for processing so as to output a second number of application identifiers, application information of the similar applications associated with the second number of application identifiers is obtained through the second number of application identifiers, and the application information of the similar applications associated with the second number of application identifiers forms an application list and is recommended to the current user. According to the technical scheme, the appropriate application can be recommended to the user according to the data of the user and the data of the user related to the application, so that the user can be helped to draw the experience of excellent application, the difficulty in building the application is reduced, particularly when the application is an application with certain development and use difficulty such as super-calculation application, evaluation basis can be provided for the application of the user through the operation indexes of the similar application, the distance between the users is shortened, intercommunication is provided or not, communication between the users is increased, and the viscosity of the platform to the user is improved.
In addition, the used recommendation model further comprises a recall layer, application vectors and user vectors are obtained through preprocessing of the recall layer and are stored in the storage unit, so that when similar applications are recommended, a first number of similar applications related to the user identifications can be determined directly according to the user identifications of the current users and the application vectors in the storage unit, online service is not needed, server burden is reduced, operating efficiency is improved, and the recommendation model adopts a deep learning multi-layer vector mode, has autonomous learning capability and can process more features and larger data volume.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U.S. disks, floppy disks, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to execute a similar application recommendation method of the present invention according to instructions in the program code stored in the memory.
By way of example, and not limitation, readable media includes readable storage media and communication media. Readable storage media store information such as computer readable instructions, data structures, program modules or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with examples of this invention. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim.
Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into multiple sub-modules.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments.
Furthermore, some of the described embodiments are described herein as a method or combination of method elements that can be performed by a processor of a computer system or by other means of performing the described functions. A processor having the necessary instructions for carrying out the method or method elements thus forms a means for carrying out the method or method elements. Further, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is used to implement the functions performed by the elements for the purpose of carrying out the invention.
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this description, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The present invention has been disclosed in an illustrative rather than a restrictive sense, and the scope of the present invention is defined by the appended claims.

Claims (5)

1. A similar application recommendation method, comprising:
determining a first number of similar applications associated with the user identification according to the user identification of the current user and each application vector in a storage unit;
inputting the application characteristics, industry type characteristics, operation sampling characteristics and exposed times characteristics of the first number of similar applications into a sorting layer in a recommendation model for processing so as to output a second number of application identifications, wherein the recommendation model further comprises a recall layer, the recall layer generates a plurality of application vectors and user vectors by preprocessing application historical data and user historical data and stores the application vectors and the user vectors in a storage unit, the recall layer in the recommendation model comprises a first pooling module, a first vector combination layer, a first neural network and a classifier which are sequentially connected, the first pooling module comprises a plurality of parallel average pooling layers, the first neural network comprises a plurality of sequentially connected activation layers, the application historical data comprises an application industry type and an application calculation type, and the user historical data comprises a user identification, The user history checks the application identification, the search word and the user working unit of the application;
acquiring application information of similar applications associated with the second number of application identifications through the second number of application identifications;
forming an application list by using the application information of the similar applications associated with the second number of application identifications, and recommending the application list to the current user;
the step of generating a plurality of application vectors and user vectors by preprocessing the application history data and the user history data by the recall layer comprises:
generating a first feature vector based on the application history data and the user history data;
inputting the first feature vector into the first neural network to obtain an output of the first neural network;
inputting the output of the first neural network into the classifier, and determining an application vector and a user vector from the output of the first neural network according to a probability result output by the classifier;
wherein the step of generating a first feature vector based on the application history data and user history data comprises:
respectively generating vectors corresponding to the user identification, the application identification of the user historical viewing application, search terms, the application industry type, the application calculation type and the user working unit;
inputting vectors corresponding to the user identification and the application identification of the user history viewing application into an average pooling layer of the first pooling module to output a viewing history vector;
inputting the vector corresponding to the search word into another average pooling layer juxtaposed to the average pooling layer to output a search history vector;
and inputting the viewing history vector, the searching history vector, the vector corresponding to the application industry type, the vector corresponding to the application calculation type and the vector corresponding to the user working unit into the first vector combination layer for combination so as to generate a first characteristic vector.
2. The method of claim 1, wherein the step of determining a first number of similar applications associated with the user identifier based on the user identifier of the current user and the application vectors in the storage unit comprises:
acquiring a user vector corresponding to a user identifier based on the user identifier of a current user;
calculating the similarity of the user vector and each application vector in a storage unit, and determining the first number of application vectors with the highest similarity;
and taking the application corresponding to the first quantity of application vectors with the highest similarity as the first quantity of similar applications associated with the user identification.
3. The method of claim 1, wherein the ranking layer comprises a second pooling module, a second vector combining layer, a second neural network, and a weighted logistic regression layer in series, the second pooling module comprising at least one averaging pooling layer, the second neural network comprising a plurality of activation layers in series.
4. A computing device, comprising:
at least one processor; and
a memory storing program instructions, wherein the program instructions are configured to be adapted to be executed by the at least one processor, the program instructions comprising instructions for performing the method of any of claims 1-3.
5. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method of any of claims 1-3.
CN202210364233.4A 2022-04-08 2022-04-08 Similar application recommendation method, computing device and storage medium Active CN114443967B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210364233.4A CN114443967B (en) 2022-04-08 2022-04-08 Similar application recommendation method, computing device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210364233.4A CN114443967B (en) 2022-04-08 2022-04-08 Similar application recommendation method, computing device and storage medium

Publications (2)

Publication Number Publication Date
CN114443967A CN114443967A (en) 2022-05-06
CN114443967B true CN114443967B (en) 2022-07-08

Family

ID=81358846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210364233.4A Active CN114443967B (en) 2022-04-08 2022-04-08 Similar application recommendation method, computing device and storage medium

Country Status (1)

Country Link
CN (1) CN114443967B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117440A (en) * 2015-08-11 2015-12-02 北京奇虎科技有限公司 Method and apparatus for determining to-be-recommended application (APP)
WO2017214329A1 (en) * 2016-06-10 2017-12-14 Apple Inc. Client-side search result re-ranking
CN109829775A (en) * 2018-12-03 2019-05-31 苏州大学 A kind of item recommendation method, device, equipment and readable storage medium storing program for executing
CN110659427A (en) * 2019-09-06 2020-01-07 北京百度网讯科技有限公司 City function division method and device based on multi-source data and electronic equipment
CN110825957A (en) * 2019-09-17 2020-02-21 中国平安人寿保险股份有限公司 Deep learning-based information recommendation method, device, equipment and storage medium
CN113761383A (en) * 2021-10-13 2021-12-07 中国人民大学 Search and recommendation fusion system based on unified user behavior modeling

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004194108A (en) * 2002-12-12 2004-07-08 Sony Corp Information processor and information processing method, recording medium, and program
CN103544220B (en) * 2013-09-29 2017-04-05 北京航空航天大学 Using recommendation method and apparatus
CN104090894B (en) * 2013-12-18 2015-10-21 深圳市腾讯计算机系统有限公司 The method of online parallel computation recommendation information, device and server
US20180137541A1 (en) * 2016-11-17 2018-05-17 Rovi Guides, Inc. Methods and systems for determining duplication in impressions data
US10614381B2 (en) * 2016-12-16 2020-04-07 Adobe Inc. Personalizing user experiences with electronic content based on user representations learned from application usage data
US10231020B2 (en) * 2017-05-16 2019-03-12 The Directv Group, Inc Sports recommender system utilizing content based filtering
US10489468B2 (en) * 2017-08-22 2019-11-26 Facebook, Inc. Similarity search using progressive inner products and bounds
CN110020152B (en) * 2017-12-04 2021-03-19 中国移动通信集团终端有限公司 Application recommendation method and device
CN109299994B (en) * 2018-07-27 2021-09-24 北京三快在线科技有限公司 Recommendation method, device, equipment and readable storage medium
CN112000872A (en) * 2019-05-27 2020-11-27 北京地平线机器人技术研发有限公司 Recommendation method based on user vector, training method of model and training device
US20210192000A1 (en) * 2019-12-23 2021-06-24 Microsoft Technology Licensing, Llc Searching using changed feature of viewed item
CN113255712A (en) * 2020-02-12 2021-08-13 华为技术有限公司 Recommendation method and device
CN111242748B (en) * 2020-02-21 2023-04-07 腾讯科技(深圳)有限公司 Method, apparatus, and storage medium for recommending items to a user
CN111368210B (en) * 2020-05-27 2020-11-27 腾讯科技(深圳)有限公司 Information recommendation method and device based on artificial intelligence and electronic equipment
US11676015B2 (en) * 2020-05-28 2023-06-13 Salesforce, Inc. Personalized recommendations using a transformer neural network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117440A (en) * 2015-08-11 2015-12-02 北京奇虎科技有限公司 Method and apparatus for determining to-be-recommended application (APP)
WO2017214329A1 (en) * 2016-06-10 2017-12-14 Apple Inc. Client-side search result re-ranking
CN109829775A (en) * 2018-12-03 2019-05-31 苏州大学 A kind of item recommendation method, device, equipment and readable storage medium storing program for executing
CN110659427A (en) * 2019-09-06 2020-01-07 北京百度网讯科技有限公司 City function division method and device based on multi-source data and electronic equipment
CN110825957A (en) * 2019-09-17 2020-02-21 中国平安人寿保险股份有限公司 Deep learning-based information recommendation method, device, equipment and storage medium
CN113761383A (en) * 2021-10-13 2021-12-07 中国人民大学 Search and recommendation fusion system based on unified user behavior modeling

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A TOPIC ATTENTION MECHANISM AND FACTORIZATION MACHINES BASED MOBILE APPLICATION RECOMMENDATION METHOD;BUQING CAO ET AL.;《MOBILE NETWORKS AND APPLICATIONS》;20200517;第1208-1219页 *
顾及事件地理位置的新闻推荐方法研究;袁仁进等;《计算机科学》;20181115;第472-477页 *

Also Published As

Publication number Publication date
CN114443967A (en) 2022-05-06

Similar Documents

Publication Publication Date Title
EP3711000B1 (en) Regularized neural network architecture search
US11775843B2 (en) Directed trajectories through communication decision tree using iterative artificial intelligence
US11232110B2 (en) Natural language keyword tag extraction
Shi et al. Functional and contextual attention-based LSTM for service recommendation in mashup creation
US11544536B2 (en) Hybrid neural architecture search
US20180018562A1 (en) Platform for providing task based on deep learning
CN103116582B (en) A kind of information retrieval method and related system and device
US11803731B2 (en) Neural architecture search with weight sharing
CN114780727A (en) Text classification method and device based on reinforcement learning, computer equipment and medium
US20190354796A1 (en) Systems and Methods for Slate Optimization with Recurrent Neural Networks
US20190228297A1 (en) Artificial Intelligence Modelling Engine
CN112686053A (en) Data enhancement method and device, computer equipment and storage medium
CN112055038B (en) Method for generating click rate estimation model and method for predicting click probability
CN113449089A (en) Intent recognition method of query statement, question answering method and computing device
CN114443967B (en) Similar application recommendation method, computing device and storage medium
KR102310450B1 (en) Computer program for providing a method to analysis insurance documents
CN116187675A (en) Task allocation method, device, equipment and storage medium
US20220343146A1 (en) Method and system for temporal graph neural network acceleration
US20220044136A1 (en) Automated data table discovery for automated machine learning
EP4081949A1 (en) Machine learning algorithm search
Appadurai et al. Radial basis function networks-based resource-aware offloading video analytics in mobile edge computing
CN113760407A (en) Information processing method, device, equipment and storage medium
US20230177425A1 (en) System and method for resource allocation optimization for task execution
US20230029320A1 (en) Methods and apparatus for optimizing hyperparameter search functionality
US20220198334A1 (en) Method and system for active learning and for automatic analysis of documents

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant