CN112486467B - Interactive service recommendation method based on dual interaction relation and attention mechanism - Google Patents

Interactive service recommendation method based on dual interaction relation and attention mechanism Download PDF

Info

Publication number
CN112486467B
CN112486467B CN202011359895.XA CN202011359895A CN112486467B CN 112486467 B CN112486467 B CN 112486467B CN 202011359895 A CN202011359895 A CN 202011359895A CN 112486467 B CN112486467 B CN 112486467B
Authority
CN
China
Prior art keywords
service
web
content
web application
calling
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
CN202011359895.XA
Other languages
Chinese (zh)
Other versions
CN112486467A (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202011359895.XA priority Critical patent/CN112486467B/en
Publication of CN112486467A publication Critical patent/CN112486467A/en
Application granted granted Critical
Publication of CN112486467B publication Critical patent/CN112486467B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/316Aspect-oriented programming techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis
    • 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 provides an interactive service recommendation method based on a double interaction relation and an attention mechanism, and the core of the interactive service recommendation method is a service calling prediction model. The model comprises: respectively extracting content features and calling features of Web application programs and services by using a text feature extractor and a graph embedding technology node2vec based on a Google inclusion network; respectively learning content interaction and call interaction among the Web application program to be developed, the selected service and the candidate service based on an attention mechanism and a multi-layer perception machine; integrating the two interactions based on a multilayer perceptron; the probability that the developer selects the current candidate service as the component service is predicted using the softmax function. The interactive service recommendation method provided by the invention comprises the following steps: predicting a score for each candidate service using the model; recommending the N candidate services with the highest prediction scores to the developer; after a developer selects a plurality of component services, recommending a flow to enter the next round; and repeating the steps until the requirements of the developer are completely realized.

Description

Interactive service recommendation method based on dual interaction relation and attention mechanism
Technical Field
The invention belongs to the field of service calculation and recommendation systems, and particularly relates to an interactive service recommendation method based on a dual interaction relation and an attention mechanism.
Background
As the service-oriented computing paradigm matures, service-oriented software development is increasingly popular; to date, a large number of Web services have been released on the internet; by integrating one or more Web services, software developers can more efficiently build Web applications (mashups) that can provide specific functionality; in recent years, this development approach has demonstrated a powerful capability to reduce system development costs and improve software quality; in order to solve the challenges brought by the rapid increase of the number of Web services, a service recommendation technology is developed, and proper component services are actively recommended to developers in the development process of Web application programs, so that the problem of information overload is solved;
during the past decade, a number of service recommendation methods have been proposed; they can be roughly divided into three categories according to the type of information used in the recommendation process: content-based service recommendations, collaborative filtering-based service recommendations, hybrid service recommendations; however, the Web application development scenarios applicable to most existing service recommendation methods are relatively limited; in general, they recommend all candidate services for a new Web application at once, which is essentially a single round (or "request-response") recommendation, with significant limitations: first, in most cases, it is difficult for a Service Recommendation System (SRS) to accurately capture the developer's intention at the start of a development flow; secondly, when the SRS receives the immediate selection feedback of the developer, the prior method cannot adjust the recommendation result according to the feedback information;
compared with a single-round recommendation mode, interactive recommendation can be closer to an actual development scene, and component services more fit with requirements of developers are recommended; FIG. 1 illustrates an interactive service recommendation scheme for assisting developers in building new Web applications; in the first stage, the SRS returns a candidate service list according to initial requirements, and a developer selects one or more component services from the candidate service list; if the recommendation result can not completely meet the requirements of the developer, the recommendation process enters a second stage; the SRS continues to generate a new service list according to the requirements of the developer and the services selected by the developer; the steps are repeated for multiple rounds until the Web application program is developed; notably, the second phase is where interactive recommendations are distinguished from single round recommendations; in this stage, the SRS can gradually improve the development of the Web application in the process of interaction with the developer by using the instant feedback information of the developer;
however, most existing service recommendation methods are not suitable for interactive recommendation scenarios; in the second stage of interactive recommendation, after a developer selects a part of component services online, a model-based collaborative filtering method, such as a matrix decomposition and a neural collaborative filtering method, is difficult to update the model in real time and acquire the latest representation of a to-be-constructed Web application program; in addition, the content-based method only considers the relationship between the Web application to be built and the candidate service, and ignores the key role of the service selected by the developer in the recommendation process; in a word, in an interactive recommendation scene, the existing service recommendation method is difficult to effectively utilize the instant feedback of a developer, and cannot dynamically generate or adjust a subsequent recommendation list;
in order to solve the problems, the invention provides an interactive service recommendation method based on a double interaction relation and an attention mechanism, and the core of the interactive service recommendation method is a service calling prediction model; the service calling prediction model provided by the invention uses a word embedding (embedding) technology, a graph embedding technology and a deep neural network to extract feature representations of two forms (dual interaction) of content interaction and calling interaction, namely content features and calling features, of Web application programs and services to be developed from content information and calling (invocation) information of the Web application programs and the services; the service calling prediction model further learns the dual complex interaction among the Web application program to be developed, the selected service and the candidate service according to the content characteristics and calling characteristics of the Web application program to be developed, and finally predicts the possibility that a developer selects the current candidate service as the next component service of the Web application program to be developed; the model introduces an attention mechanism to measure the degree of correlation between each selected service and each candidate service, and learns the complex interaction relation among the Web application program to be developed, the selected service and the candidate service by using a multi-layer perceptron (MLP); for the development requirement of a Web application program, the method firstly uses the model to predict the score of each candidate service, then recommends the N candidate services with the highest scores to a developer, and after the developer selects a plurality of component services, namely the instant feedback of the developer is obtained, the recommendation process enters the next round; the steps are repeated continuously until the requirements of the developer are completely realized;
disclosure of Invention
The invention provides an interactive service recommendation method of a double interaction relation and attention mechanism, aiming at the problem that the existing service recommendation technology is difficult to work in the development scene of an interactive Web application program, and comprising the following steps:
s1: constructing a set of Web application programs, constructing related information of the Web application programs through Web application program content information and Web application program marking information, constructing a set of services, and further constructing a call relation set between the Web application programs and the services through service content information, service marking information and service provider information to construct related information of the services;
preferably, the set of Web applications in S1 is:
Webs={Web1、Web2、...、WebN}
therein, the WebiRepresents the ith Web application, i ∈ [1, N]N represents the number of Web applications;
s1, the information related to the Web application is represented as:
Figure BDA0002803696170000021
wherein the content of the first and second substances,
Figure BDA0002803696170000026
the relevant information indicating the ith Web application,
Figure BDA0002803696170000027
the Web application content information representing the ith Web application is expressed as:
Figure BDA0002803696170000022
wherein, wordi,kThe kth term in the Web application content information representing the ith Web application, k ∈ [1, L ]i],LiIndicating the number of terms in the Web application content information of the ith Web application;
Figure BDA0002803696170000028
in (1),
Figure BDA0002803696170000029
the Web application marker information representing the ith Web application is expressed as:
Figure BDA0002803696170000023
wherein tagi,mM-th tag in Web application tag information indicating the i-th Web application, m ∈ [1, T [ ]i],TiIndicating the number of marks in the Web application mark information of the ith Web application;
s1 the set of construction services is:
WebServices={Service1、Service2、...、ServiceM}
wherein, servicejDenotes the jth service, j ∈ [1, M]M represents the number of services;
s1, the related information of the service is represented as:
Figure BDA00028036961700000210
wherein the content of the first and second substances,
Figure BDA00028036961700000211
the related information indicating the jth service,
Figure BDA00028036961700000212
service content information representing a jth service, expressed as:
Figure BDA0002803696170000024
wherein, wordj,kDenotes the jthThe kth term in the service content information of a service, k ∈ [1, L ]j],LjIndicating the number of terms in the content information of the jth service;
Figure BDA00028036961700000213
in (1),
Figure BDA00028036961700000214
service tag information representing the jth service, denoted as:
Figure BDA0002803696170000025
wherein tagj,mM-th tag in service tag information representing jth service, m ∈ [1, T [ ]j],TjIndicating the number of tags in the service tag information of the jth service;
Figure BDA00028036961700000215
in (1),
Figure BDA00028036961700000216
provider information representing a jth service;
the assembly service set corresponding to the ith Web application program is SiSpecifically defined as:
Si={Servicei,1,Servicei,2,、、、,Servicei,Mi}
wherein, Servicei,jDenotes the jth component service, M, in the ith Web applicationiNumber of component services for ith Web application, j ∈ [1, Mi];
S1, the set of call relations between the Web application and the service:
Vocations={(Webi,Servicei,j)|Webi∈Webs,Servicei,j∈Si}
i.e. each Web application WebiAnd any one of its component Service servicesi,jAll have call relations among them;
constructing a bipartite graph related to the Web application program and the service based on the call relation set between the Web application program and the service, wherein the Web application program and the service are used as two types of nodes, and an edge is established between each Web application program node and a component service node of the Web application program;
the bipartite graph for Web applications and services is represented as:
G=(V,E),V={Webs∪WebServices},
E={ei,j|ei,j=(Webi,Servicei,j),Webi∈Webs,Servicei,j∈Si}
wherein, the node set V comprises all Web applications and services, and in the edge set E, the edge Ei,jIs the WebiThe other node is the WebiOf the component Service set, Servicei,j
S2: constructing a training sample set according to a Web application program and component services of the Web application program; based on the graph embedding technology processing S1, the bipartite graph between the Web application and the service is obtained, the calling feature of the Web application and the calling feature of the component service of the Web application;
s2, constructing a training sample set according to the Web application program and the component service of the Web application program, wherein the training sample set consists of a positive sample set and a negative sample set;
each sample in the positive sample set and the negative sample set consists of a Web application program, a selected service set of the Web application program and a candidate service;
the set of positive samples is:
Figure BDA0002803696170000031
wherein the content of the first and second substances,
Figure BDA0002803696170000032
represents the a sample in the positive sample set, ia∈[1,NA],NARepresents the number of positive samples;
by positive sample
Figure BDA0002803696170000033
For example, the structure is:
Figure BDA0002803696170000034
wherein the content of the first and second substances,
Figure BDA0002803696170000035
representing a positive sample
Figure BDA0002803696170000036
A corresponding Web application program;
Figure BDA0002803696170000037
representing a positive sample
Figure BDA0002803696170000038
A corresponding selected service set, the selected service set having to be
Figure BDA0002803696170000039
Component service collections of
Figure BDA00028036961700000310
And the selected set of services cannot be non-empty, formally,
Figure BDA00028036961700000311
the requirements are satisfied:
Figure BDA00028036961700000312
wherein
Figure BDA00028036961700000313
Is that
Figure BDA00028036961700000314
A component service set of (a);
Figure BDA00028036961700000315
representing a positive sample
Figure BDA00028036961700000316
The candidate service in (1) is
Figure BDA00028036961700000317
A component service of (2) cannot appear in a selected service set at the same time
Figure BDA00028036961700000318
In a formalized manner, the first and second,
Figure BDA00028036961700000319
the requirements are satisfied:
Figure BDA00028036961700000320
Figure BDA00028036961700000321
representing a positive sample
Figure BDA00028036961700000322
The value of the corresponding real label is 1;
the set of negative examples is:
Figure BDA00028036961700000323
wherein the content of the first and second substances,
Figure BDA00028036961700000324
represents the b-th sample, i, in the negative sample setb∈[1,NB],NBRepresents the number of negative examples;
by negative sample
Figure BDA00028036961700000325
For example, the structure is:
Figure BDA00028036961700000326
wherein the content of the first and second substances,
Figure BDA00028036961700000327
representing negative examples
Figure BDA00028036961700000328
A corresponding Web application program;
Figure BDA00028036961700000329
representing negative examples
Figure BDA00028036961700000330
A corresponding selected service set, the selected service set having to be
Figure BDA00028036961700000331
Component service collections of
Figure BDA00028036961700000332
And the selected set of services cannot be non-empty, formally,
Figure BDA00028036961700000333
the requirements are satisfied:
Figure BDA00028036961700000334
wherein
Figure BDA00028036961700000338
Is that
Figure BDA00028036961700000339
A component service set of (a);
Figure BDA00028036961700000340
representing negative examples
Figure BDA00028036961700000341
Is a service in the service set WebServices, not
Figure BDA00028036961700000342
And cannot appear in the selected service set
Figure BDA00028036961700000343
In a formalized manner, the first and second,
Figure BDA00028036961700000344
the requirements are satisfied:
Figure BDA00028036961700000335
Figure BDA00028036961700000345
representing negative examples
Figure BDA00028036961700000346
The value of the corresponding real label is 0;
s2, processing the bipartite graph of S1 based on graph embedding technology, and obtaining calling characteristics of the Web application program and calling characteristics of component services of the Web application program, wherein the obtained calling characteristics of the Web application program are as follows:
Figure BDA00028036961700000336
wherein the content of the first and second substances,
Figure BDA00028036961700000347
representing the invocation feature of the ith Web application, the length of the feature being H, i ∈ [1, N)]N represents the number of Web applications;
the set of calling features of the obtained service is:
Figure BDA00028036961700000337
wherein the content of the first and second substances,
Figure BDA00028036961700000348
representing the invocation feature of the jth service, the length of which is H, j ∈ [1, M ∈]M represents the number of services;
s3: introducing the related information of the Web application program and the related information of the service in the S1 by combining the bipartite graph G related to the Web application program and the service in the S1, and constructing a heterogeneous information network;
s3.1: initializing a heterogeneous information network by using a bipartite graph G about Web application programs and services, wherein the heterogeneous information network comprises two nodes, namely a node of a Web application program type and a node of a service type, and then connecting the node of the Web type and the node of the service type;
s3.2: introducing content information into the heterogeneous information network obtained in the step S3.1, specifically:
processing content information of a Web application program or service by using the hidden Dirichlet distribution to obtain topK hidden themes of the Web application program or service;
adding each obtained hidden theme as a topic type node into the heterogeneous information network;
connecting each Web application or service type node with a topic type node representing their hidden subject;
s3.3: introducing mark information into the heterogeneous information network obtained in the S3.2, specifically:
adding the mark of each Web application program or service into the heterogeneous information network as a tag type node;
connecting each node of the Web application or service type with a node of the tag type representing them;
s3.4: introducing provider information into the heterogeneous information network obtained in S3.3, specifically:
adding each service provider as provider type node into the heterogeneous information network;
connecting nodes of each service type with nodes of provider type representing their providers;
s4: constructing a service calling prediction model based on a double interaction relation and an attention mechanism;
the service call prediction model based on the dual interaction relation and the attention mechanism comprises the following steps: the system comprises a content feature extraction module, a content interaction module, a calling feature extraction module, a calling interaction module, an integration layer and an output layer;
the content feature extraction module, the content interaction module and the integration layer are sequentially connected in series;
the calling feature extraction module, the calling interaction module and the integration layer are sequentially connected in series;
the integration layer is connected with the output layer;
the main body of the content feature extraction module is a serial content feature extractor which comprises a preprocessing module, a word embedding layer and a text-initiation network based on a Google inclusion network which are sequentially connected in series;
the content interaction module comprises a content attention module and a content multilayer perceptron which are sequentially connected in series;
the calling feature extraction module retrieves calling features of the selected service and the candidate service from the set of calling features of the service in S2, and calculates the calling features of the Web application to be developed through weighted summation operation based on the set of calling features of the Web application in S2;
the calling interaction module comprises a calling attention module and a calling multilayer perceptron which are sequentially connected in series;
processing a sample with the service call prediction model described in S4t=(Webt,CSt,Servicet,labelt) For example, using the model to predict Web application Web to be developedtIn the selected service set as CStCall candidate Service in the case oftProbability of (1), wherein sampletSubscript t of (a) corresponds to i described in S2aAnd ibSample as sampletMay represent a positive sample as described in S2
Figure BDA0002803696170000042
Negative sample
Figure BDA0002803696170000041
S4 specifically includes:
s4.1: firstly, a content feature extraction module builds a content feature extractor, and then the content feature extractor is used for processing Web application programs to be developed respectivelytSelected service set CStAnd candidate ServicetFinally acquiring the content characteristics of the content information;
s4.2: the content interaction module comprises a content attention module and a content multi-layer perceptron, and the module receives Web obtained from S4.1t、CStAnd ServicetLearning a content interaction vector between them, i.e., an interaction vector regarding content information;
s4.3: in the calling feature extraction module, F is described from S2ServicesIn the search, the selected service set CS is obtainedtAnd candidate ServicetThe calling feature of (1); f from S2websRetrieving to obtain the calling characteristics of each Web application program in the Web application program set of S1; computing WebtCalculating the similarity of each Web application program by using a weighted summation modetThe calling feature of (1);
s4.4: invoking the interaction Module includes invoking the attention Module and invoking the Multi-tier perceptron, which is based on the Web derived from S4.3t、CStAnd ServicetLearning a call interaction vector between them, i.e. an interaction vector about call information;
s4.5: in the integration layer, firstly cascading the content interaction vectors and the call interaction vectors obtained from S4.2 and S4.4, and then integrating by using a multilayer perceptron to obtain a comprehensive interaction vector;
s4.6: the output layer accepts the comprehensive interaction vector obtained in S4.5 and then predicts that the developer selects Service by using the softmax functiontAs the WebtThe likelihood of next component service;
s4.1 specifically includes:
s4.1.1: building a content feature extractor;
the content feature extractor comprises a preprocessing module, a word embedding layer and a text-initiation network based on a Google initiation network which are sequentially connected in series;
the text _ initiation network comprises a serial convolution layer, a pooling layer and a full-connection layer;
s4.1.2: processing Web Using S4.1.1-built content feature extractortContent information of
Figure BDA0002803696170000043
Acquiring content characteristics of a Web application program to be developed;
s4.1.3: processing CS Using content feature extractor built at S4.1.1tIn each selected ServicesContent information of
Figure BDA0002803696170000044
Acquiring the content characteristics of each selected service;
s4.1.4: processing Service by using content feature extractor built by S4.1.1tContent information of
Figure BDA0002803696170000051
Acquiring content characteristics of candidate services;
textual content information, i.e. Text, for a Web application or servicewebOr TextServiceThe content feature extractor in s4.1.1 processes it with a preprocessing module, a word embedding layer, and a text _ initiation network connected in series, and finally obtains its content feature vector, where the content feature extractor in s4.1.1 specifically includes:
s4.1.1.1: processing the Text in S1 by a preprocessing moduleWebOr TextServiceSpecifically, the piece of content information is firstly truncated or filled to a fixed length, and then is encoded into an integer vector based on the index of each term in the content information in a dictionary;
s4.1.1.2: inputting the integer vector obtained in the step S4.1.1 into a word embedding layer, mapping each term into a dense vector or embedding representation, and then stacking the embedding vectors of all terms to obtain an embedding matrix E with a fixed size;
s4.1.1.3: on the basis of the Google inclusion network, the invention designs a content feature vector extracted from E based on a text-initiation network;
s4.1.1.3, the text _ initiation network comprises a convolutional layer, a pooling layer and a full-link layer in series, S4.1.1.3 specifically comprises:
s4.1.1.3.1: in order to extract local features contained in the content information, an embedding matrix E obtained by processing S4.1.1.2 through K paths of convolution layers stacked in parallel is used, and each obtained feature map is represented by a vector;
in one embodiment, K ═ 4:
the convolution layer of the first path uses 64 convolution kernels with the size of 1 × 50;
the convolution layer of the second path uses 96 convolution kernels with the size of 3 multiplied by 50;
the convolutional layer of the third path uses 64 convolutional kernels with the size of 3 × 50 at first, and then uses 96 convolutional kernels with the size of 3 × 1;
the fourth way uses first the maximal pooling operation of size 3 × 1, and then 64 convolution kernels of 1 × 50;
s4.1.1.3.2: all the characteristic diagrams obtained by serially connecting the K paths of parallel convolution layers are obtained;
s4.1.1.3.3: processing each feature map obtained in the previous step by using a global average pooling layer, and converting each feature map into a scalar feature;
s4.1.1.3.4: inputting the vector characteristics obtained from S4.1.1.3.3 into a multilayer perceptron to perform nonlinear conversion to obtain TextWebOr TextServiceThe content feature vector of (2);
the content interaction module in S4.2 mainly comprises a content attention module and a content multi-layer perceptron, and the module is based on Web obtained from S4.1t、ServicetAnd CStIn each selected ServicesLearning content interaction vectors between them, S4.2 specifically includes:
s4.2.1: CS obtained from S4.1.3tIn each selected ServicesContent feature of (3) and Service obtained from S4.1.4tIs input to the content attention module, learns the CStIn each selected ServicesAnd ServicetA correlation weight in terms of content information between;
s4.2.2: service obtained based on S4.1.4tAnd S4.2.1 calculated CStIn each selected ServicesAnd ServicetThe weight of the correlation between the service sets CS and the selected service set CS is obtained by calculation through the weighted summation operationtThe integrated content feature representation of (a);
s4.2.3: web obtained from S4.1.2tContent characteristics of (8), Service obtained by S4.1.4tAnd S4.2.2 and the selected service set CStThe comprehensive content feature representations of (a) are cascaded;
s4.2.4: inputting the cascade result into a content multi-layer perceptron to learn Webt、ServicetAnd CStObtaining a content interaction vector through content interaction between the two groups;
s4.2.1 is used to measure the CStOne selected Service of (1)sAnd candidate ServicetThe degree of correlation in the content information is mainly composed of a full connection layer, and S4.2.1 specifically includes:
s4.2.1.1: for a selected ServicesAnd candidate ServicetElement multiplication processing is performed on the content features obtained from S4.1.3 and S4.1.4 to measure the similarity between them;
s4.2.1.2: for a selected ServicesAnd candidate ServicetElement difference processing is carried out on the content characteristics of S4.1.3 and S4.1.4 to measure the difference degree between the content characteristics;
s4.2.1.3: the results of S4.2.1.1 and S4.2.1.2, and the Service obtained from S4.1.3 and S4.1.4 are combinedsAnd ServicetThe content characteristics are cascaded, and the result is input into an MLP to automatically learn ServicesAnd ServicetThe relation between the content information and the other content information obtains a content relation vector;
s4.2.1.4: inputting the content relation vector into the softmax function to obtain a measurable ServicesAnd ServicetA correlation weight in terms of content information between;
s4.3 calling feature extraction Module F by means of S2WebsAnd FServicesAnd S3 to obtain Webt、ServicetAnd CStIn each selected ServicesS4.3 specifically includes:
s4.3.1: for CStIn each selected ServicesF obtained based on S2ServicesRetrieving the calling characteristics of the calling characters;
s4.3.2: for ServicetF obtained based on S2ServicesRetrieving to obtain its calling feature;
s4.3.3: HIN meter based on construction in S3Computing pending Web application WebtAnd each existing Web application Web in the Web application collection described in S1iThe similarity of (2);
s4.3.4: based on the similarity calculated by S4.3.3, searching the Web application to be developed from the Web application set described in S1tThe most similar topK neighbor Web applications;
s4.3.5: for each neighbor Web application Web derived from S4.3.4nF obtained based on S2WebsRetrieving the calling characteristics of the calling characters;
s4.3.6: based on S4.3.3 calculated Web application to be developed WebtWith neighbor Web application WebnSimilarity between them, and the neighbor Web application Web obtained in S4.3.5nTo perform a weighted summation operation, to compute the Web application to be developedtThe calling feature of (1);
s4.3.3 calculation of Web application to be developed based on HINtAnd an existing Web application WebiThe method specifically comprises the following steps:
s4.3.3.1: web (Web)tAnd its related attributes are introduced into the HIN defined in S3, specifically:
adding representatives Web to the HINtA node of the Web type of (1);
processing Web using LDA modeltTo obtain its hidden subject, connecting to the WebtAnd representative of Web in HINtTopic node of the hidden topic of (1);
connecting WebtAnd represents the WebtThe tagged tag node of (1);
connecting WebtAnd represents a selected set of services CStA node of the service of (1);
s4.3.3.2: on the heterogeneous information network constructed by S4.3.3.1, six meta paths are found to connect the WebtNode and WebiThe nodes are respectively the following six meta-paths:
meta path 1: web Webt-topic-WebiThis path means the WebtAnd the WebiHaving the same hidden subject topic;
Meta path 2: web Webt-tag-webiThis path means the WebtAnd the WebiPossess the same label;
meta path 3: web Webt-Service-webiThis path means the WebtAnd the WebiSharing a same Service;
meta path 4: web Webt-Servicet-topic-Servicei-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiPossess the same hidden subject topic;
meta path 5: web Webt-Servicei-tag-Servicej-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiPossess the same tag;
meta-path 6: web Webt-Servicei-provider-Servicej-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiThe same provider is owned;
s4.3.3.3: s4.3.3.2 defined in the specificationtAnd the WebiEach meta-path between them represents an association or similarity between them; in the WebtAnd the WebiMeta path 1 between them is an example, and the Web is calculated in the following waytAnd the WebiSimilarity between them based on this meta path, Sim1(Webt,Webi):
Figure BDA0002803696170000061
Among them, topics (Web)t) And topics (Web)i) Respectively representing the WebtAnd the WebiThe set of hidden topics obtained based on the LDA model;
using a similar approach, the Web is computedtAnd the WebiSimilarity based on six kinds of meta paths;
s4.3.3.4: giving different importance weights to the 6 similarity degrees obtained by S4.3.3.3, carrying out weighted summation on the six similarity degrees, and calculating to obtain the WebtAnd the WebiThe comprehensive similarity between the two; the calculation formula is as follows:
Figure BDA0002803696170000062
wherein, simp(Webt,Webi) Is the WebtAnd the WebiSimilarity between them calculated based on the p-th path, wpIs the importance weight of the similarity based on the p-th path;
the calling interaction module in S4.4 mainly comprises a calling attention module and a calling multilayer perceptron, and the calling interaction module is based on Web obtained from S4.3t、ServicetAnd CStIn each selected ServicesLearning the call interaction vector between them, S4.4 specifically includes:
s4.4.1: CS obtained from S4.3.1tIn each selected ServicesCalling feature of (2) and Service obtained by S4.3.2tInput to the call attention module, learn CStIn each selected ServicesAnd ServicetCorrelation weight in terms of calling information;
s4.4.2: service obtained for S4.3.2tAnd S4.4.1 calculated CStIn each selected ServicesAnd ServicetThe correlation weight between the service sets in the aspect of calling information, the weighted summation operation is executed, and the selected service set CS is obtained through calculationtThe comprehensive calling feature representation in (1);
s4.4.3: web obtained from S4.3.6tCalling feature of (8), Service obtained by S4.3.2tAnd S4.4.2 and the selected service set CStHeddleThe joint calls are represented by features to be cascaded;
s4.4.4: inputting the cascade result into a calling multilayer perceptron to learn Webt、ServicetAnd CStObtaining a calling interaction vector through calling interaction between the two groups;
s4.4.1 the Call attention Module to measure CStOne selected Service of (1)sAnd candidate ServicetThe correlation degree in the aspect of calling information is mainly composed of a full connection layer, and S4.4.1 specifically includes:
s4.4.1.1: for a selected ServicesAnd candidate ServicetElement multiplication processing is carried out on the calling features of S4.3.1 and S4.3.2 to measure the similarity between the calling features;
s4.4.1.2: for a selected ServicesAnd candidate ServicetElement difference processing is carried out on the calling characteristics of S4.3.1 and S4.3.2 to measure the difference degree between the calling characteristics;
s4.4.1.3: the results of S4.4.1.1 and S4.4.1.2, and the Service obtained from S4.3.1 and S4.3.2 are combinedsAnd ServicetThe calling features of the system are cascaded, and the result is input into an MLP to automatically learn ServicesAnd ServicetThe relation between the calling information and the calling information obtains a calling relation vector;
s4.4.1.4: inputting the call relation vector into the softmax function to obtain a measurable ServicesAnd ServicetCorrelation weight in terms of calling information;
s5: setting a loss function, and training the service call prediction model S4 based on the training sample set constructed in S1;
s5 specifically includes:
s5.1: setting the loss function as a cross entropy loss function:
Figure BDA0002803696170000071
wherein
Figure BDA0002803696170000072
Sample of the prediction model for this service calltThe predicted output of (a) is,
Figure BDA0002803696170000073
is the true label of the sample, as described in S1, the value of the true label is 1 when the sample is a positive sample, and the value of the true label is 0 when the sample is a negative sample;
s5.2: using the cross entropy loss function S5.1, training a service call prediction model only based on the content information, and storing parameter values of a content feature extraction module and a content interaction module in the model;
s5.3: using the cross entropy loss function S5.1, training a service calling prediction model only based on calling information, and storing parameter values of a calling feature extraction module and a calling interaction module in the model;
s5.4: initializing a corresponding parameter of a service call prediction model by using the parameter values of the content feature extraction module and the content interaction module stored in S5.1 and the parameter values of the call feature extraction module and the call interaction module stored in S5.2, then training the service call prediction model based on the content information and the call information by using the cross entropy loss function described in S5.1, and storing the parameter values of an integration layer and an output layer in the model;
s5.4: initializing a parameter of a service call prediction model by using the parameter values of each module stored in S5.1, S5.2 and S5.3, then fine-tuning (fine-tune) the model based on the content information and the historical call information by using the cross entropy loss function in S5.1 to obtain a trained service call prediction model, and storing the values of all the parameters;
s6: recommending component services for the Web application to be developed by using the service call prediction model trained in S5; the method comprises the steps of firstly, predicting the score of each candidate service by using the model, then recommending N candidate services with the highest scores to a developer, and after the developer selects a plurality of component services, namely obtaining the instant feedback of the developer, entering the next round of the recommendation process; continuously repeating the steps until the requirements of the developer are completely realized;
s6 specifically includes:
s6.1: loading parameters of the service call prediction model trained in the S5;
s6.2: for a Web application program to be developed, predicting the probability of calling each candidate service or the score of each candidate service by the Web application program by using the prediction model;
s6.3: for a Web application program to be developed, recommending N candidate services with the highest prediction scores obtained in S6.2 to a developer;
s6.4: the developer selects a plurality of component services from the recommendation list generated in S6.3 to complete the development process of the current turn;
s6.5: repeating S6.2 to S6.4 until the requirements of the developer are completely realized;
the invention has the beneficial effects that:
designing a service calling prediction model, comprehensively considering content interaction and calling interaction between Web application programs and services, acquiring calling characteristics of the Web application programs to be developed by utilizing the similarity between the Web application programs, and learning the correlation weight between each selected service and a candidate service by using an attention mechanism, thereby comprehensively and accurately predicting the probability of calling the candidate service as the next component service by a developer;
providing and realizing an interactive service recommendation method, wherein each round of recommendation is based on N candidate services with the highest scores output by the service calling prediction model, and after instant feedback selected by a developer is obtained, the step is continuously repeated until the requirements of the developer are completely realized; the method provided by the invention improves the overall prediction effect of the model based on the feature extraction technology of deep learning, the attention mechanism and the MLP, and solves the technical problem that the effect of the existing method in an interactive service recommendation scene is poor.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts;
FIG. 1 is a schematic diagram of an interactive service recommendation scenario to which the present invention is directed;
FIG. 2 is a schematic diagram of an implementation flow of a service recommendation method based on a dual interaction relationship and an attention mechanism according to the present invention;
FIG. 3 is a schematic diagram of a service invocation prediction model based on dual interaction and attention mechanisms;
FIG. 4 is a diagram of a feature extractor text _ acceptance of textual content information;
FIG. 5 is a diagram illustrating interaction layers in a service invocation prediction model according to an embodiment of the present invention;
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some embodiments, but not all embodiments, of the present invention; all other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without any creative effort belong to the protection scope of the present invention;
the embodiment provides an interactive service recommendation method based on dual interaction relationship and attention mechanism, and the implementation flow thereof is shown in fig. 2, and the method includes:
an interactive service recommendation method based on a dual interaction relation and an attention mechanism is provided;
s1: constructing a set of Web application programs, constructing related information of the Web application programs through Web application program content information and Web application program marking information, constructing a set of services, and further constructing a call relation set between the Web application programs and the services through service content information, service marking information and service provider information to construct related information of the services;
preferably, the set of Web applications in S1 is:
Webs={Web1、Web2、...、WebN}
therein, the WebiRepresents the ith Web application, i ∈ [1, N]N represents the number of Web applications;
s1, the information related to the Web application is represented as:
Figure BDA0002803696170000081
wherein the content of the first and second substances,
Figure BDA0002803696170000084
the relevant information indicating the ith Web application,
Figure BDA0002803696170000085
the Web application content information representing the ith Web application is expressed as:
Figure BDA0002803696170000082
wherein, wordi,kThe kth term in the Web application content information representing the ith Web application, k ∈ [1, L ]i],LiIndicating the number of terms in the Web application content information of the ith Web application;
Figure BDA0002803696170000086
in (1),
Figure BDA0002803696170000087
the Web application marker information representing the ith Web application is expressed as:
Figure BDA0002803696170000083
wherein tagi,mM-th tag in Web application tag information indicating the i-th Web application, m ∈ [1, T [ ]i],TiIndicating the number of marks in the Web application mark information of the ith Web application;
s1 the set of construction services is:
WebServices={Service1、Service2、...、ServiceM}
wherein, servicejDenotes the jth service, j ∈ [1, M]M represents the number of services;
s1, the related information of the service is represented as:
Figure BDA0002803696170000091
wherein the content of the first and second substances,
Figure BDA0002803696170000096
the related information indicating the jth service,
Figure BDA0002803696170000097
service content information representing a jth service, expressed as:
Figure BDA0002803696170000092
wherein, wordj,kK term in service content information representing the jth service, k ∈ [1, L [ ]j],LjIndicating the number of terms in the content information of the jth service;
Figure BDA0002803696170000098
in (1),
Figure BDA0002803696170000099
service tag information representing the jth service, denoted as:
Figure BDA0002803696170000093
wherein tagj,mM-th tag in service tag information representing jth service, m ∈ [1, T [ ]j],TjIndicating the number of tags in the service tag information of the jth service;
Figure BDA00028036961700000910
in (1),
Figure BDA00028036961700000911
provider information representing a jth service;
the assembly service set corresponding to the ith Web application program is SiSpecifically defined as:
Si={Servicei,1,Servicei,2,、、、,Servicei,Mi}
wherein, Servicei,jDenotes the jth component service, M, in the ith Web applicationiNumber of component services for ith Web application, j ∈ [1, Mi];
S1, the set of call relations between the Web application and the service:
Vocations={(Webi,Servicei,j)|Webi∈Webs,Servicei,j∈Si}
i.e. each Web application WebiAnd any one of its component Service servicesi,jAll have call relations among them;
constructing a bipartite graph related to the Web application program and the service based on the call relation set between the Web application program and the service, wherein the Web application program and the service are used as two types of nodes, and an edge is established between each Web application program node and a component service node of the Web application program;
the bipartite graph for Web applications and services is represented as:
G=(V,E),V={Webs∪WebServices},
E={ei,j|ei,j=(Webi,Servicei,j),Webi∈Webs,Servicei,j∈Si}
wherein, the node set V comprises all Web applications and services, and in the edge set E, the edge Ei,jIs the WebiThe other node is the WebiOf the component Service set, Servicei,j
In the specific implementation process of S1, the data set used in the embodiment of the present invention is constructed based on real data on the internet; the raw data set is crawled from the world's largest online Web service library (https:// www.programmableweb.com); deleting Web application programs and services without content information, and simultaneously filtering all Web application programs only containing one component service to obtain an experimental data set containing 1, 979 Web application programs, 728 Web services and 5, 802 Web application programs-service call relations;
s2: constructing a training sample set according to a Web application program and component services of the Web application program; based on the graph embedding technology processing S1, the bipartite graph between the Web application and the service is obtained, the calling feature of the Web application and the calling feature of the component service of the Web application;
s2, constructing a training sample set according to the Web application program and the component service of the Web application program, wherein the training sample set consists of a positive sample set and a negative sample set;
each sample in the positive sample set and the negative sample set consists of a Web application program, a selected service set of the Web application program and a candidate service;
the set of positive samples is:
Figure BDA0002803696170000094
wherein the content of the first and second substances,
Figure BDA00028036961700000912
represents the a sample in the positive sample set, ia∈[1,NA],NARepresents the number of positive samples;
by positive sample
Figure BDA00028036961700000913
For example, the structure is:
Figure BDA0002803696170000095
wherein the content of the first and second substances,
Figure BDA00028036961700001010
representing a positive sample
Figure BDA00028036961700001011
A corresponding Web application program;
Figure BDA00028036961700001012
representing a positive sample
Figure BDA00028036961700001013
A corresponding selected service set, the selected service set having to be
Figure BDA00028036961700001015
Component service collections of
Figure BDA00028036961700001014
And the selected set of services cannot be non-empty, formally,
Figure BDA00028036961700001016
the requirements are satisfied:
Figure BDA0002803696170000101
wherein
Figure BDA00028036961700001017
Is that
Figure BDA00028036961700001018
A component service set of (a);
Figure BDA00028036961700001019
representing a positive sample
Figure BDA00028036961700001020
The candidate service in (1) is
Figure BDA00028036961700001023
A component service of (2) cannot appear in a selected service set at the same time
Figure BDA00028036961700001021
In a formalized manner, the first and second,
Figure BDA00028036961700001022
the requirements are satisfied:
Figure BDA0002803696170000102
Figure BDA00028036961700001024
representing a positive sample
Figure BDA00028036961700001025
The value of the corresponding real label is 1;
the set of negative examples is:
Figure BDA0002803696170000103
wherein the content of the first and second substances,
Figure BDA00028036961700001026
represents the b-th sample, i, in the negative sample setb∈[1,NB],NBRepresents the number of negative examples;
by negative sample
Figure BDA00028036961700001027
For example, the structure is:
Figure BDA0002803696170000104
wherein the content of the first and second substances,
Figure BDA00028036961700001028
representing negative examples
Figure BDA00028036961700001029
A corresponding Web application program;
Figure BDA00028036961700001030
representing negative examples
Figure BDA00028036961700001031
A corresponding selected service set, the selected service set having to be
Figure BDA00028036961700001033
Component service collections of
Figure BDA00028036961700001032
And the selected set of services cannot be non-empty, formally,
Figure BDA00028036961700001034
the requirements are satisfied:
Figure BDA0002803696170000105
wherein
Figure BDA00028036961700001035
Is that
Figure BDA00028036961700001036
A component service set of (a);
Figure BDA00028036961700001037
representing negative examples
Figure BDA00028036961700001038
Is a service in the service set WebServices, not
Figure BDA00028036961700001039
And cannot appear in the selected service set
Figure BDA00028036961700001040
In a formalized manner, the first and second,
Figure BDA00028036961700001041
the requirements are satisfied:
Figure BDA0002803696170000106
Figure BDA0002803696170000107
representing negative examples
Figure BDA00028036961700001042
The value of the corresponding real label is 0;
s2, processing the bipartite graph of S1 based on graph embedding technology, and obtaining calling characteristics of the Web application program and calling characteristics of component services of the Web application program, wherein the obtained calling characteristics of the Web application program are as follows:
Figure BDA0002803696170000108
wherein the content of the first and second substances,
Figure BDA00028036961700001043
representing the invocation feature of the ith Web application, the length of the feature being H, i ∈ [1, N)]N represents the number of Web applications;
the set of calling features of the obtained service is:
Figure BDA0002803696170000109
wherein the content of the first and second substances,
Figure BDA00028036961700001044
representing the invocation feature of the jth service, the length of which is H, j ∈ [1, M ∈]M represents the number of services;
specifically, S2 is feature extraction of the call information; collaborative filtering algorithms that utilize call information have been widely recognized in the industry; in order to utilize this information, the present invention uses graph embedding techniques to obtain respective invocation feature representations of the Web application and the service; after respective calling characteristics of the Web application program and the Web service are obtained, the Web application program and the Web service are stored for subsequent retrieval;
in the specific implementation of S2, we use node2vec to process the historical invocation relationship of Web application and service (shown as graph), and if we have a graph embedding new technology with stronger representation capability (such as graph neural network), we can also use it; in the process of using the node2vec, the characteristic length of the node is set to be 25, the length of the wandering node sequence is set to be 10, and the return probability p and the in-out probability q are respectively set to be 0.25 and 4, so that a more complex nonlinear relation between a Web application and a service is captured;
s3: introducing the related information of the Web application program and the related information of the service in the S1 by combining the bipartite graph G related to the Web application program and the service in the S1, and constructing a heterogeneous information network;
s3.1: initializing a heterogeneous information network by using a bipartite graph G about Web application programs and services, wherein the heterogeneous information network comprises two nodes, namely a node of a Web application program type and a node of a service type, and then connecting the node of the Web type and the node of the service type;
s3.2: introducing content information into the heterogeneous information network obtained in the step S3.1, specifically:
processing content information of a Web application program or service by using the hidden Dirichlet distribution to obtain topK hidden themes of the Web application program or service;
adding each obtained hidden theme as a topic type node into the heterogeneous information network;
connecting each Web application or service type node with a topic type node representing their hidden subject;
s3.3: introducing mark information into the heterogeneous information network obtained in the S3.2, specifically:
adding the mark of each Web application program or service into the heterogeneous information network as a tag type node;
connecting each node of the Web application or service type with a node of the tag type representing them;
s3.4: introducing provider information into the heterogeneous information network obtained in S3.3, specifically:
adding each service provider as provider type node into the heterogeneous information network;
connecting nodes of each service type with nodes of provider type representing their providers;
specifically, S3 is an organization that uses HIN to efficiently organize the relevant information and call relation of the Web application and the service in the service recommendation system; on the basis of the HIN, the comprehensive similarity between the Web application program to be developed and the existing Web application program can be calculated, and further preparation is made for subsequently acquiring the calling characteristics of the Web application program to be developed;
in the specific implementation of S3, specifically, S3.1 introduces a call relationship between the Web application and the service in the HIN; s3.2, introducing content information of a Web application program and content information of a service into the HIN; firstly, extracting topK hidden themes from content information by using an implied theme model LDA, and then adding the hidden themes which can be used as abstract representation of the content information into the HIN as nodes, wherein when the LDA is used, the number of the hidden themes is set to be 100; the value of K is set to 3; s3.3, introducing respective marking information of a Web application program and a service into the HIN; s3.4, introducing service provider information into the HIN;
s4: constructing a service calling prediction model based on a double interaction relation and an attention mechanism;
the service call prediction model based on the dual interaction relation and the attention mechanism comprises the following steps: the system comprises a content feature extraction module, a content interaction module, a calling feature extraction module, a calling interaction module, an integration layer and an output layer;
the content feature extraction module, the content interaction module and the integration layer are sequentially connected in series;
the calling feature extraction module, the calling interaction module and the integration layer are sequentially connected in series;
the integration layer is connected with the output layer;
the main body of the content feature extraction module is a serial content feature extractor which comprises a preprocessing module, a word embedding layer and a text-initiation network based on a Google inclusion network which are sequentially connected in series;
the content interaction module comprises a content attention module and a content multilayer perceptron which are sequentially connected in series;
the calling feature extraction module retrieves calling features of the selected service and the candidate service from the set of calling features of the service in S2, and calculates the calling features of the Web application to be developed through weighted summation operation based on the set of calling features of the Web application in S2;
the calling interaction module comprises a calling attention module and a calling multilayer perceptron which are sequentially connected in series;
specifically, S4 is a framework (as shown in fig. 3) for constructing a service invocation prediction model, and mainly includes a content feature extraction module, a content interaction module, an invocation feature extraction module, an invocation interaction module, an integration layer, and an output layer; the invention firstly extracts two features and learns double interaction: on one hand, content features are extracted from content information of the Web application program and the service, and then interaction vectors in content among the Web application program to be developed, the candidate service and the selected service are learned based on an attention mechanism and MLP; on the other hand, calling features are extracted from calling information of the Web application program and the service, and then interaction vectors in calling among the Web application program to be developed, the candidate service and the selected service are learned based on an attention mechanism and MLP; then, the integration layer integrates the dual interaction by using MLP, finally, the output dimensionality of the model is set to be 2, and the probability in the dimensionality 1 is used as the possibility that a developer selects the current candidate service as the next component service of the Web application program to be developed;
processing a sample with the service call prediction model described in S4t=(Webt,CSt,Servicet,labelt) For example, using the model to predict Web application Web to be developedtIn the selected service set as CStCall candidate Service in the case oftProbability of (1), wherein sampletSubscript t of (a) corresponds to i described in S2aAnd ibSample as sampletMay represent a positive sample as described in S2
Figure BDA0002803696170000111
Negative sample
Figure BDA0002803696170000112
S4 specifically includes:
s4.1: the content feature extraction module firstly builds a content feature extractor, and then uses the content feature extractor to respectively process the content features to be developedWeb application WebtSelected service set CStAnd candidate ServicetFinally acquiring the content characteristics of the content information;
s4.2: the content interaction module comprises a content attention module and a content multi-layer perceptron, and the module receives Web obtained from S4.1t、CStAnd ServicetLearning a content interaction vector between them, i.e., an interaction vector regarding content information;
s4.3: in the calling feature extraction module, F is described from S3ServicesIn the search, the selected service set CS is obtainedtAnd candidate ServicetThe calling feature of (1); f from S3WebsRetrieving to obtain the calling characteristics of each Web application program in the Web application program set of S1; computing WebtCalculating the similarity of each Web application program by using a weighted summation modetThe calling feature of (1);
s4.4: invoking the interaction Module includes invoking the attention Module and invoking the Multi-tier perceptron, which is based on the Web derived from S4.3t、CStAnd ServicetLearning a call interaction vector between them, i.e. an interaction vector about call information;
s4.5: in the integration layer, firstly cascading the content interaction vectors and the call interaction vectors obtained from S4.2 and S4.4, and then integrating by using a multilayer perceptron to obtain a comprehensive interaction vector;
s4.6: the output layer accepts the comprehensive interaction vector obtained in S4.5 and then predicts that the developer selects Service by using the softmax functiontAs the WebtThe likelihood of next component service;
specifically, S4.1 is feature extraction of content information; because the content information is generally in a word sequence form, a local mode exists in the content information, and a Convolutional Neural Network (CNN) has the advantage of extracting local features, a CNN-based classification model such as textCNN is successfully used in a text classification task; therefore, on the basis of a google inclusion network (a typical CNN), a text _ initiation network is designed for extracting content characteristics of content information; s4.1 specifically includes:
s4.1.1: building a content feature extractor;
the content feature extractor comprises a preprocessing module, a word embedding layer and a text-initiation network based on a Google initiation network which are sequentially connected in series;
the text _ initiation network comprises a serial convolution layer, a pooling layer and a full-connection layer;
s4.1.2: processing content information of Webt by using S4.1.1 built content feature extractor
Figure BDA0002803696170000121
Acquiring content characteristics of a Web application program to be developed;
s4.1.3: processing CS Using content feature extractor built at S4.1.1tIn each selected ServicesContent information of
Figure BDA0002803696170000122
Acquiring the content characteristics of each selected service;
s4.1.4: processing Service by using content feature extractor built by S4.1.1tContent information of
Figure BDA0002803696170000123
Acquiring content characteristics of candidate services;
textual content information, i.e. Text, for a Web application or serviceWebOr TextServiceThe content feature extractor in s4.1.1 processes it with a preprocessing module, a word embedding layer, and a text _ initiation network connected in series, and finally obtains its content feature vector, where the content feature extractor in s4.1.1 specifically includes:
s4.1.1.1: processing the Text in S1 by a preprocessing moduleWebOr TextServiceSpecifically, the piece of content information is first truncated or filled to a fixed length, and then encoded into a dictionary based on the index of each term in the content informationAn integer vector;
s4.1.1.2: inputting the integer vector obtained in the step S4.1.1 into a word embedding layer, mapping each term into a dense vector or embedding representation, and then stacking the embedding vectors of all terms to obtain an embedding matrix E with a fixed size;
s4.1.1.3: on the basis of the Google inclusion network, the invention designs a content feature vector extracted from E based on a text-initiation network;
in the specific implementation process of s4.1.1, the step of preprocessing the content information in S4.1.1.1 includes truncation, padding, and the like; s4.1.1.2, initializing the parameters of the word embedding layer by word vectors obtained by glove model training, wherein the embedding length of each word is 50; the fixed length of the content information in the form of each word sequence is set to be 150, and the size of a matrix E is 150 multiplied by 50;
s4.1.1.3, the text _ initiation network contains a convolutional layer, a pooling layer, and a fully-connected layer in series as a whole; as shown in fig. 4, the feature extractor text _ indication includes a convolutional layer, a pooling layer, and a full-link layer; wherein, the stacked convolution layer can enlarge the receptive field, thereby capturing local features in a wider range; local features of different scales can be obtained by using convolution kernels of different sizes; the parallel multipath convolution operation is used, so that the convolution speed can be increased; furthermore, more nonlinear features can be extracted using MLP; s4.1.1.3 specifically includes:
s4.1.1.3.1: in order to extract local features contained in the content information, an embedding matrix E obtained by processing S4.1.1.2 through K paths of convolution layers stacked in parallel is used, and each obtained feature map is represented by a vector;
in one embodiment, K ═ 4:
the convolution layer of the first path uses 64 convolution kernels with the size of 1 × 50;
the convolution layer of the second path uses 96 convolution kernels with the size of 3 multiplied by 50;
the convolutional layer of the third path uses 64 convolutional kernels with the size of 3 × 50 at first, and then uses 96 convolutional kernels with the size of 3 × 1;
the fourth way uses first the maximal pooling operation of size 3 × 1, and then 64 convolution kernels of 1 × 50;
s4.1.1.3.2: all the characteristic diagrams obtained by serially connecting the K paths of parallel convolution layers are obtained;
s4.1.1.3.3: processing each feature map obtained in the previous step by using a global average pooling layer, and converting each feature map into a scalar feature;
s4.1.1.3.4: inputting the vector characteristics obtained from S4.1.1.3.3 into a multilayer perceptron to perform nonlinear conversion to obtain TextWebOr TextServiceThe content feature vector of (2);
specifically, S4.2 is a structural description of a content interaction layer that learns interaction vectors in terms of content between the Web application to be developed, the candidate service, and the selected service based on an attention mechanism and MLP; the specific structure of the content interaction layer is shown in fig. 5; considering that the influence degree of each selected service on the behavior of selecting the candidate service by the developer is different, the invention introduces an attention module to learn the relevance weight of each selected service and the candidate service, focuses on the selected service which is relatively related to the candidate service, filters unnecessary noise services and obtains the comprehensive representation of the selected service set; meanwhile, the invention introduces MLP to learn the complex interaction relation among the Web application program to be developed, the selected service and the candidate service; s4.2 specifically comprises:
s4.2.1: CS obtained from S4.1.3tIn each selected ServicesContent feature of (3) and Service obtained from S4.1.4tIs input to the content attention module, learns the CStIn each selected ServicesAnd ServicetA correlation weight in terms of content information between;
s4.2.2: service obtained based on S4.1.4tAnd S4.2.1 calculated CStIn each selected ServicesAnd ServicetThe weight of the correlation between the service sets CS and the selected service set CS is obtained by calculation through the weighted summation operationtThe integrated content feature representation of (a);
s4.2.3: s4.1.2 is obtainedOf (2) a WebtContent characteristics of (8), Service obtained by S4.1.4tAnd S4.2.2 and the selected service set CStThe comprehensive content feature representations of (a) are cascaded;
s4.2.4: inputting the cascade result into a content multi-layer perceptron to learn Webt、ServicetAnd CStObtaining a content interaction vector through content interaction between the two groups;
in the specific implementation of S4.2.4, the MLPs in the attention module have two layers, the number of neurons in each layer is 80 and 40;
s4.2.1 is used to measure the CStOne selected Service of (1)sAnd candidate ServicetThe degree of correlation in the content information is mainly composed of a full connection layer, and S4.2.1 specifically includes:
s4.2.1.1: for a selected service Services and a candidate service, performing element multiplication processing on the content characteristics of the selected service Services and the candidate service Services obtained from S4.1.3 and S4.1.4 to measure the similarity between the selected service Services and the candidate service Services;
s4.2.1.2: for a selected service Services and a candidate service, performing element difference processing on the content characteristics of the selected service and the candidate service obtained from S4.1.3 and S4.1.4 to measure the difference between the selected service and the candidate service;
s4.2.1.3: the results of S4.2.1.1 and S4.2.1.2 and the content characteristics of the Services and the service obtained from S4.1.3 and S4.1.4 are cascaded, and then the results are input into an MLP to automatically learn the relationship between the Services and the service in the aspect of content information to obtain a content relationship vector;
s4.2.1.4: inputting the content relation vector into a softmax function to obtain a correlation weight capable of measuring the content information between the Services and the service;
in the specific implementation of S4.2.1, the result of element-wise multiplication and element-wise difference of the feature vectors of the selected service and the candidate service is a priori knowledge about the relationship between the selected service and the candidate service, which can be used to measure the similarity and difference between them; therefore, after the two results are cascaded with the original characteristic vectors of the selected service and the candidate service, the two results are input into an MLP (Multi-level processing), the correlation degree or the influence degree of the selected service and the candidate service is automatically learned, and then a softmax function is used for calculating the normalized weight;
specifically, S4.3 is feature extraction of the call information; collaborative filtering algorithms that utilize historical invocation information have been widely recognized in the industry; to utilize this information, S2 has used graph embedding techniques to obtain respective invocation feature representations of existing Web applications and services; aiming at the problem that the calling characteristic representation of the Web application program to be developed cannot be directly obtained, namely the cold start problem, the method utilizes the similarity between the Web application program to be developed and the existing Web application program and the calling vector representation of the existing Web application program to obtain the calling characteristic of the Web application program to be developed; s4.3 specifically comprises:
s4.3.1: for CStIn each selected ServicesF obtained based on S2ServicesRetrieving the calling characteristics of the calling characters;
s4.3.2: for ServicetF obtained based on S2ServicesRetrieving to obtain its calling feature;
s4.3.3: computing Web application program Web to be developed based on HIN built in S3tAnd each existing Web application Web in the Web application collection described in S1iThe similarity of (2);
s4.3.4: based on the similarity calculated by S4.3.3, searching the Web application to be developed from the Web application set described in S1tThe most similar topK neighbor Web applications;
s4.3.5: for each neighbor Web application Web derived from S4.3.4nF obtained based on S2WebsRetrieving the calling characteristics of the calling characters;
s4.3.6: based on S4.3.3 calculated Web application to be developed WebtWith neighbor Web application WebnSimilarity between them, and the neighbor Web application Web obtained in S4.3.5nTo perform a weighted summation operation, to compute the Web application to be developedtThe calling feature of (1);
s4.3.3 calculation of Web application to be developed based on HINtAnd an existing Web application WebiThe method specifically comprises the following steps:
s4.3.3.1: web (Web)tAnd its related attributes are introduced into the HIN defined in S3, specifically:
adding representatives Web to the HINtA node of the Web type of (1);
processing Web using LDA modeltTo obtain its hidden subject, connecting to the WebtAnd representative of Web in HINtTopic node of the hidden topic of (1);
connecting WebtAnd represents the WebtThe tagged tag node of (1);
connecting WebtAnd represents a selected set of services CStA node of the service of (1);
s4.3.3.2: on the heterogeneous information network constructed by S4.3.3.1, six meta paths are found to connect the WebtNode and WebiThe nodes are respectively the following six meta-paths:
meta path 1: web Webt-topic-WebiThis path means the WebtAnd the WebiPossess the same hidden subject topic;
meta path 2: web Webt-tag-webiThis path means the WebtAnd the WebiPossess the same label;
meta path 3: web Webt-Service-webiThis path means the WebtAnd the WebiSharing a same Service;
meta path 4: web Webt-Servicet-topic-Servicei-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiPossess the same hidden subject topic;
meta path 5: web Webt-Servicei-tag-Servicej-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiPossess the same tag;
meta-path 6: web Webt-Servicei-provider-Servicej-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiThe same provider is owned;
s4.3.3.3: s4.3.3.2 defined in the specificationtAnd the WebiEach meta-path between them represents an association or similarity between them; in the WebtAnd the WebiMeta path 1 between them is an example, and the Web is calculated in the following waytAnd the WebiSimilarity between them based on this meta path, Sim1(Webt,Webi):
Figure BDA0002803696170000141
Among them, topics (Web)t) And topics (Web)i) Respectively representing the WebtAnd the WebiThe set of hidden topics obtained based on the LDA model;
using a similar approach, the Web is computedtAnd the WebiSimilarity based on six kinds of meta paths;
s4.3.3.4: giving different importance weights to the 6 similarity degrees obtained by S4.3.3.3, carrying out weighted summation on the six similarity degrees, and calculating to obtain the WebtAnd the WebiThe comprehensive similarity between the two; the calculation formula is as follows:
Figure BDA0002803696170000142
wherein, simp(Webt,Webi) Is the WebtAnd the WebiSimilarity between them calculated based on the p-th path, wpIs the importance weight of the similarity based on the p-th path;
in the specific implementation process of S4.3, when the similarity between the Web application program to be developed and an existing Web application program is calculated, the similarity is calculated by adopting a meta-path-based mode on the basis of the heterogeneous information network constructed by S3; in addition to the content information and the tag information of the two Web applications, related information of component services of the Web applications, such as content information, tag information, and provider information, is considered; when the developer selects the component service in turn, the similarity measurement of the component service and the component service can be gradually improved, so that a better representation of the Web application program to be developed is obtained; when the comprehensive similarity of the Web application program is calculated, the weights of the similarity calculated by the 6 meta paths are respectively set to be 0.14, 0.27, 0.15 and 0.15;
specifically, S4.4 is a structural description of invoking an interaction layer that learns interaction vectors in terms of invocation relations among the Web application to be developed, the candidate service, and the selected service based on an attention mechanism and MLP; the specific structure of invoking the interaction layer is shown in fig. 5; considering that the influence degree of each selected service on the behavior of selecting the candidate service by the developer is different, the invention introduces an attention module to learn the relevance weight of each selected service and the candidate service, focuses on the selected service which is relatively related to the candidate service, filters unnecessary noise services and obtains the comprehensive representation of the selected service set; meanwhile, the invention introduces MLP to learn the complex interaction relation among the Web application program to be developed, the selected service and the candidate service; s4.4 specifically includes:
s4.4.1: CS obtained from S4.3.1tIn each selected ServicesCalling feature of (2) and Service obtained by S4.3.2tInput to the call attention module, learn CStIn each selected ServicesAnd ServicetCorrelation weight in terms of calling information;
s4.4.2: service obtained for S4.3.2tAnd S4.4.1 calculated CStIn each selected ServicesAnd ServicetThe correlation weights in terms of the calling information, the weighted sum operation is performed,calculating to obtain the selected service set CStThe comprehensive calling feature representation in (1);
s4.4.3: web obtained from S4.3.6tCalling feature of (8), Service obtained by S4.3.2tAnd S4.4.2 and the selected service set CStThe comprehensive calling feature representation of (2) is cascaded;
s4.4.4: inputting the cascade result into a calling multilayer perceptron to learn Webt、ServicetAnd CStObtaining a calling interaction vector through calling interaction between the two groups;
in the specific implementation of S4.4.4, the MLPs in the attention module have two layers, the number of neurons in each layer is 80 and 40;
s4.4.1 the Call attention Module to measure CStOne selected Service of (1)sAnd candidate ServicetThe correlation degree in the aspect of calling information is mainly composed of a full connection layer, and S4.4.1 specifically includes:
s4.4.1.1: for a selected ServicesAnd candidate ServicetElement multiplication processing is carried out on the calling features of S4.3.1 and S4.3.2 to measure the similarity between the calling features;
s4.4.1.2: for a selected ServicesAnd candidate ServicetElement difference processing is carried out on the calling characteristics of S4.3.1 and S4.3.2 to measure the difference degree between the calling characteristics;
s4.4.1.3: the results of S4.4.1.1 and S4.4.1.2, and the Service obtained from S4.3.1 and S4.3.2 are combinedsAnd ServicetThe calling features of the system are cascaded, and the result is input into an MLP to automatically learn ServicesAnd ServicetThe relation between the calling information and the calling information obtains a calling relation vector;
s4.4.1.4: inputting the call relation vector into the softmax function to obtain a measurable ServicesAnd ServicetCorrelation weight in terms of calling information;
in the specific implementation of S4.4.1, the result of element-wise multiplication and element-wise difference of the feature vectors of the selected service and the candidate service is a priori knowledge about the relationship between the selected service and the candidate service, which can be used to measure the similarity and difference between them; therefore, after the two results are cascaded with the original characteristic vectors of the selected service and the candidate service, the two results are input into an MLP (Multi-level processing), the correlation degree or the influence degree of the selected service and the candidate service is automatically learned, and then a softmax function is used for calculating the normalized weight;
in the implementation process, all MLPs used in the present invention select the prime function as the prime function, because the added calculation cost and the overfitting risk are small, the fitting effect of the model can be improved;
s5: setting a loss function, and training a service call prediction model based on the training sample set constructed in S1;
s5 specifically includes:
s5.1: setting the loss function as a cross entropy loss function:
Figure BDA0002803696170000151
wherein
Figure BDA0002803696170000152
Sample of the prediction model for this service calltThe predicted output of (a) is,
Figure BDA0002803696170000153
is the true label of the sample, as described in S1, the value of the true label is 1 when the sample is a positive sample, and the value of the true label is 0 when the sample is a negative sample;
s5.2: using the cross entropy loss function S5.1, training a service call prediction model only based on the content information, and storing parameter values of a content feature extraction module and a content interaction module in the model;
s5.3: using the cross entropy loss function S5.1, training a service calling prediction model only based on calling information, and storing parameter values of a calling feature extraction module and a calling interaction module in the model;
s5.4: initializing a corresponding parameter of a service call prediction model by using the parameter values of the content feature extraction module and the content interaction module stored in S5.1 and the parameter values of the call feature extraction module and the call interaction module stored in S5.2, then training the service call prediction model based on the content information and the call information by using the cross entropy loss function described in S5.1, and storing the parameter values of an integration layer and an output layer in the model;
s5.4: initializing a parameter of a service call prediction model by using the parameter values of each module stored in S5.1, S5.2 and S5.3, then fine-tuning (fine-tune) the model based on the content information and the historical call information by using the cross entropy loss function in S5.1 to obtain a trained service call prediction model, and storing the values of all the parameters;
specifically, S5 is to train the service call prediction model constructed in S4 by using the training sample set and the loss function;
in the specific implementation process of S5, considering that there are multiple MLPs in the service invocation prediction model, direct training may result in slower convergence; therefore, the method uses a training mode of pre-training and fine-tuning in the training process, so that the speed of model convergence is increased;
s6: recommending component services for the Web application to be developed by using the service call prediction model trained in S5; the method comprises the steps of firstly, predicting the score of each candidate service by using the model, then recommending N candidate services with the highest scores to a developer, and after the developer selects a plurality of component services, namely obtaining the instant feedback of the developer, entering the next round of the recommendation process; continuously repeating the steps until the requirements of the developer are completely realized;
s6 specifically includes:
s6.1: loading parameters of the service call prediction model trained in the S5;
s6.2: for a Web application program to be developed, predicting the probability of calling each candidate service or the score of each candidate service by the Web application program by using the prediction model;
s6.3: for a Web application program to be developed, recommending N candidate services with the highest prediction scores obtained in S6.2 to a developer;
s6.4: the developer selects a plurality of component services from the recommendation list generated in S6.3 to complete the development process of the current turn;
s6.5: repeating S6.2 to S6.4 until the requirements of the developer are completely realized;
in the specific implementation process of S6, when recommending a next round of component service for a Web application to be developed, a service call prediction model is used to predict the score value of each candidate service; in order to ensure the efficiency and instantaneity of recommendation, the scale of the candidate service needs to be limited in an actual scene, for example, technologies such as rough sorting, pre-pruning and the like can be added to reduce the scale of the candidate service;
in order to verify the effectiveness of the method, the method (marked as HISR) provided by the invention is compared with several existing main stream service recommendation methods (including content-based WVSM, collaborative filtering-based BPR-MF, mixed recommendation algorithms SFTN, ISRec, Pasrec and DINRec), and interactive recommendation results of two stages are shown in Table 1; wherein Indicator @10 represents the values of various evaluation indexes on a recommendation list with a length of 10;
the reference method used in the examples of the present invention is briefly summarized as follows:
WVSM: the content-based method is published in an IEEE Web service international conference in 2014, firstly, a weighted vector space model (weighted vector space model) is used for respectively extracting content characteristics of a Web application program to be developed and content information of candidate services, then, the similarity of the content characteristics of the Web application program to be developed and the content information of the candidate services is used as a score of the candidate services, and finally, all the candidate services are ranked and recommended based on the score;
BPR-MF: the method based on collaborative filtering is published in an Artificial Intelligence Uncertainty (unknown in intellectual Uncertainty) conference in 2009, and the method takes a Bayesian theory as guidance and designs a pair-wise (pair-wise) loss function to train a service recommendation model based on matrix decomposition;
SFTN: the method is published in an IEEE Web service international conference of 2017, and comprises the steps of firstly extracting content characteristics of a Web application program to be developed and candidate services based on a hierarchical Dirichlet process (hierarchical Dirichlet process), and calculating the similarity of the content characteristics of the Web application program to be developed and the candidate services according to the content characteristics; then, processing historical interaction between the Web application program and the candidate service by using a matrix decomposition model, and calculating the probability of calling the candidate service in the next development process of the Web application program to be developed according to the historical interaction; finally, multiplying the content feature similarity and the probability obtained based on historical interaction and taking the result as the score of the candidate service;
pasrec: the method is published in 2016 for service-oriented computing international conference; in a service recommendation scene, firstly constructing various entities of an HIN network organization, then calculating the overall similarity between the Web application program to be developed and the existing Web application program based on a meta path between the Web application program and the existing Web application program, finding N Web application programs most similar to the Web application program to be developed according to the overall similarity, and finally recommending component services for the Web application program to be developed by adopting a user-based collaborative filtering method;
ISRec: the method is published in the publication of Expert Systems with Applications 2019; the method is improved on the basis of the Pasrec method, and comprises the following steps: word embedding is introduced when the content similarity of the Web application program is measured, so that the calculation accuracy is improved; the method has the advantages that the existing Web application programs are clustered off line, and the Web application programs to be developed are classified on line, so that the search range of the adjacent Web application programs is reduced, and the search efficiency is improved;
(6) DINRec: the method is published in 2019 Web information system engineering international conference; the method directly applies a deep interest network (deep interest network) in a click rate prediction task to a service recommendation task; all attribute information of a Web application program to be developed, selected services and candidate services is input into a deep interest network to learn interaction among the selected services and the candidate services; for fair comparison, let the method use the same feature extractor as the present invention;
the evaluation index used in the examples of the present invention is briefly described as follows:
the definition of accuracy, recall and F1 are:
Figure BDA0002803696170000171
Figure BDA0002803696170000172
Figure BDA0002803696170000173
wherein N is the size of the recommended service list; m is a set of Web application programs to be developed in the test set; for a Web application program m to be developed, rec (m) and act (m) respectively represent a recommended service list provided by the SRS for the Web application program m and a set of component services of the Web application program m;
the mean average precision MAP is defined as:
Figure BDA0002803696170000174
wherein, I (i) represents whether the service of the ith recommendation position in the recommendation list is a component service of the Web application to be developed, NiThe number of component services belonging to the Web application to be developed among the services representing the first i recommended positions of the recommendation list, NmRepresenting the number of all component services of the Web application program m to be developed;
the normalized loss-of-refraction cumulative gain NDCG is defined as:
Figure BDA0002803696170000175
wherein Q ismIs obtained by generating an optimal service recommendation list for the Web application to be developedThe loss accumulated gain of;
TABLE 1 comparison of the recommendation effectiveness of the inventive method and the reference method
Figure BDA0002803696170000176
As can be seen from the table, the method of the present invention is higher than the reference method in terms of accuracy (precision), recall (call), F1, normalized broken cumulative gain (NDCG) and Mean Average Precision (MAP), and it should be understood that the parts not described in detail in this specification belong to the prior art.
It should be understood that the above description of the preferred embodiments is given for clarity and not for any purpose of limitation, and that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (4)

1. An interactive service recommendation method for a dual interaction and attention mechanism, comprising:
s1: constructing a set of Web application programs, constructing related information of the Web application programs through Web application program content information and Web application program marking information, constructing a set of services, and further constructing a call relation set between the Web application programs and the services through service content information, service marking information and service provider information to construct related information of the services;
s2: constructing a training sample set according to a Web application program and component services of the Web application program; based on the graph embedding technology processing the bipartite graph G between the Web application and the service in S1, a calling feature set F of the Web application is obtainedWebsAnd a calling feature set F of a component service of a Web applicationServices
S3: introducing the related information of the Web application program and the related information of the service in S1 by combining a bipartite graph G between the Web application program and the service to build a heterogeneous information network;
s4: constructing a service calling prediction model based on a double interaction relation and an attention mechanism;
the service call prediction model based on the dual interaction relation and the attention mechanism comprises the following steps: the system comprises a content feature extraction module, a content interaction module, a calling feature extraction module, a calling interaction module, an integration layer and an output layer;
the content feature extraction module, the content interaction module and the integration layer are sequentially connected in series;
the calling feature extraction module, the calling interaction module and the integration layer are sequentially connected in series;
the integration layer is connected with the output layer;
the main body of the content feature extraction module is a serial content feature extractor which comprises a preprocessing module, a word embedding layer and a text-initiation network based on a Google inclusion network which are sequentially connected in series;
the content interaction module comprises a content attention module and a content multilayer perceptron which are sequentially connected in series;
the calling feature extraction module retrieves calling features of the selected service and the candidate service from the set of calling features of the service in S2, and calculates the calling features of the Web application to be developed through weighted summation operation based on the set of calling features of the Web application in S2;
the calling interaction module comprises a calling attention module and a calling multilayer perceptron which are sequentially connected in series;
s4.1: firstly, a content feature extraction module builds a content feature extractor, and then the content feature extractor is used for processing Web application programs to be developed respectivelytSelected service set CStAnd candidate ServicetFinally acquiring the content characteristics of the content information;
s4.2: the content interaction module comprises a content attention module and a content multi-layer perceptronBlock reception Web from S4.1t、CStAnd ServicetLearning a content interaction vector between them, i.e., an interaction vector regarding content information;
s4.3: in the calling feature extraction module, F is described from S2ServicesIn the search, the selected service set CS is obtainedtAnd candidate ServicetThe calling feature of (1); f from S2WebsRetrieving to obtain the calling characteristics of each Web application program in the Web application program set of S1; computing WebtCalculating the similarity of each Web application program by using a weighted summation modetThe calling feature of (1);
s4.4: invoking the interaction Module includes invoking the attention Module and invoking the Multi-tier perceptron, which is based on the Web derived from S4.3t、CStAnd ServicetLearning a call interaction vector between them, i.e. an interaction vector about call information;
s4.5: in the integration layer, firstly cascading the content interaction vectors and the call interaction vectors obtained from S4.2 and S4.4, and then integrating by using a multilayer perceptron to obtain a comprehensive interaction vector;
s4.6: the output layer accepts the comprehensive interaction vector obtained in S4.5 and then predicts that the developer selects Service by using the softmax functiontAs the WebtThe likelihood of next component service;
s4.1 specifically includes:
s4.1.1, building a content feature extractor;
the content feature extractor comprises a preprocessing module, a word embedding layer and a text-initiation network based on a Google initiation network which are sequentially connected in series;
the text _ initiation network comprises a serial convolution layer, a pooling layer and a full-connection layer;
s4.1.2 processing Web Using S4.1.1-built content feature extractortContent information of
Figure FDA0003538671940000011
Acquiring content characteristics of a Web application program to be developed;
s4.1.3 processing CS Using S4.1.1-built content feature extractortIn each selected ServicesContent information of
Figure FDA0003538671940000012
Acquiring the content characteristics of each selected service;
s4.1.4 processing Service using the content feature extractor built by S4.1.1tContent information of
Figure FDA0003538671940000013
Acquiring content characteristics of candidate services;
textual content information, i.e. Text, for a Web application or serviceWebOr TextServiceThe content feature extractor in s4.1.1 processes it with a preprocessing module, a word embedding layer, and a text _ initiation network connected in series, and finally obtains its content feature vector, where the content feature extractor in s4.1.1 specifically includes:
s4.1.1.1: processing the Text in S1 by a preprocessing moduleWebOr TestServiceSpecifically, the piece of content information is firstly truncated or filled to a fixed length, and then is encoded into an integer vector based on the index of each term in the content information in a dictionary;
s4.1.1.2: inputting the integer vector obtained in the step S4.1.1 into a word embedding layer, mapping each term into a dense vector or embedding representation, and then stacking the embedding vectors of all terms to obtain an embedding matrix E with a fixed size;
s4.1.1.3: on the basis of the Google inclusion network, the invention designs a content feature vector extracted from E based on a text-initiation network;
s4.1.1.3, the text _ initiation network comprises a convolutional layer, a pooling layer and a full-link layer in series, S4.1.1.3 specifically comprises:
s4.1.1.3.1: in order to extract local features contained in the content information, an embedding matrix E obtained by processing S4.1.1.2 through K paths of convolution layers stacked in parallel is used, and each obtained feature map is represented by a vector;
wherein, K is 4:
the convolution layer of the first path uses 64 convolution kernels with the size of 1 × 50;
the convolution layer of the second path uses 96 convolution kernels with the size of 3 multiplied by 50;
the convolutional layer of the third path uses 64 convolutional kernels with the size of 3 × 50 at first, and then uses 96 convolutional kernels with the size of 3 × 1;
the fourth way uses first the maximal pooling operation of size 3 × 1, and then 64 convolution kernels of 1 × 50;
s4.1.1.3.2: all the characteristic diagrams obtained by serially connecting the K paths of parallel convolution layers are obtained;
s4.1.1.3.3: converting each feature map into a scalar feature by using each feature map obtained by processing the global average pooling layer;
s4.1.1.3.4: inputting the vector characteristics obtained from S4.1.1.3.3 into a multilayer perceptron to perform nonlinear conversion to obtain TextWebOr TestServiceThe content feature vector of (2);
the content interaction module in S4.2 mainly comprises a content attention module and a content multi-layer perceptron, and the module is based on Web obtained from S4.1t、ServicetAnd CStIn each selected ServicesLearning content interaction vectors between them, S4.2 specifically includes:
s4.2.1: CS obtained from S4.1.3tIn each selected ServicesContent feature of (3) and Service obtained from S4.1.4tIs input to the content attention module, learns the CStIn each selected ServicesAnd ServicetA correlation weight in terms of content information between;
s4.2.2: service obtained based on S4.1.4tAnd S4.2.1 calculated CStIn each selected ServicesAnd ServicetThe correlation weight between the content information and the content information is calculated by performing a weighted summation operationTo a selected service set CStThe integrated content feature representation of (a);
s4.2.3: web obtained from S4.1.2tContent characteristics of (8), Service obtained by S4.1.4tAnd S4.2.2 and the selected service set CStThe comprehensive content feature representations of (a) are cascaded;
s4.2.4: inputting the cascade result into a content multi-layer perceptron to learn Webt、ServicetAnd CStObtaining a content interaction vector through content interaction between the two groups;
s4.2.1 is used to measure the CStOne selected Service of (1)sAnd candidate ServicetThe degree of correlation in the content information is mainly composed of a full connection layer, and S4.2.1 specifically includes:
s4.2.1.1: for a selected ServicesAnd candidate ServicetElement multiplication processing is performed on the content features obtained from S4.1.3 and S4.1.4 to measure the similarity between them;
s4.2.1.2: for a selected ServicesAnd candidate ServicetElement difference processing is carried out on the content characteristics of S4.1.3 and S4.1.4 to measure the difference degree between the content characteristics;
s4.2.1.3: the results of S4.2.1.1 and S4.2.1.2, and the Service obtained from S4.1.3 and S4.1.4 are combinedsAnd ServicetThe content characteristics are cascaded, and the result is input into an MLP to automatically learn ServicesAnd ServicetThe relation between the content information and the other content information obtains a content relation vector;
s4.2.1.4: inputting the content relation vector into the softmax function to obtain a measurable ServicesAnd ServicetA correlation weight in terms of content information between;
s4.3 calling feature extraction Module F by means of S2WebsAnd FServicesAnd S3 to obtain Webt、ServicetAnd CStEach selected service ServicesS4.3 specifically includes:
s4.3.1 for CStIn each selected ServicesF obtained based on S2SdrvicesRetrieving the calling characteristics of the calling characters;
s4.3.2 for ServicetF obtained based on S2SdrvicesRetrieving to obtain its calling feature;
s4.3.3 calculation of Web application to be developed Web based on the HIN constructed in S3tAnd each existing Web application Web in the Web application collection described in S1iThe similarity of (2);
s4.3.4: based on the similarity calculated by S4.3.3, searching the Web application to be developed from the Web application set described in S1tThe most similar topK neighbor Web applications;
s4.3.5 for each neighbor Web application Web that is derived S4.3.4nF obtained based on S2WebsRetrieving the calling characteristics of the calling characters;
s4.3.6 Web based on Web application to be developed calculated in S4.3.3tWith neighbor Web application WebnSimilarity between them, and the neighbor Web application Web obtained in S4.3.5nTo perform a weighted summation operation, to compute the Web application to be developedtThe calling feature of (1);
s4.3.3 calculation of Web application to be developed based on HINtAnd an existing Web application WebiThe method specifically comprises the following steps:
s4.3.3.1: web (Web)tAnd its related attributes are introduced into the HIN defined in S3, specifically:
adding representatives Web to the HINtA node of the Web type of (1);
processing Web using LDA modeltTo obtain its hidden subject, connecting to the WebtAnd representative of Web in HINtTopic node of the hidden topic of (1);
connecting WebtAnd represents the WebtThe tagged tag node of (1);
connecting WebtAnd represents selectedService set CStA node of the service of (1);
s4.3.3.2: on the heterogeneous information network constructed by S4.3.3.1, six meta paths are found to connect the WebtNode and WebiThe nodes are respectively the following six meta-paths:
meta Path 1 Webt-topic-WebiThis path means the WebtAnd the WebiPossess the same hidden subject topic;
meta Path 2 Webt-tag-webiThis path means the WebtAnd the WebiPossess the same label;
meta Path 3 Webt-Service-webiThis path means the WebtAnd the WebiSharing a same Service;
meta Path 4 Webt-Servicet-topic-Servicei-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiPossess the same hidden subject topic;
meta Path 5 Webt-Servicei-tag-Servicej-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiPossess the same tag;
meta Path 6 Webt-Servicei-provider-Servicej-webiThis path means the WebtInvoked one ServicetAnd the WebiInvoked one ServiceiThe same provider is owned;
s4.3.3.3: s4.3.3.2 defined in the specificationtAnd the WebiEach meta-path between them represents an association or similarity between them; computing Web using the followingtAnd the WebiSimilarity between them based on meta path 1, Sim1(Webt,Webi):
Figure FDA0003538671940000031
Among them, topics (Web)t) And topics (Web)i) Respectively representing the WebtAnd the WebiThe set of hidden topics obtained based on the LDA model;
using a similar approach, the Web is computedtAnd the WebiSimilarity based on six kinds of meta paths;
s4.3.3.4: giving different importance weights to the 6 similarity degrees obtained by S4.3.3.3, carrying out weighted summation on the six similarity degrees, and calculating to obtain the WebtAnd the WebiThe comprehensive similarity between the two; the calculation formula is as follows:
Figure FDA0003538671940000032
wherein, simp(Webt,Webi) Is the WebtAnd the WebiSimilarity between them calculated based on the p-th path, wpIs the importance weight of the similarity based on the p-th path;
the calling interaction module in S4.4 mainly comprises a calling attention module and a calling multilayer perceptron, and the calling interaction module is based on Web obtained from S4.3t、ServicetAnd CStIn each selected ServicesLearning the call interaction vector between them, S4.4 specifically includes:
s4.4.1: CS obtained from S4.3.1tIn each selected ServicesCalling feature of (2) and Service obtained by S4.3.2tInput to the call attention module, learn CStIn each selected ServicesAnd ServicetCorrelation weight in terms of calling information;
s4.4.2: service obtained for S4.3.2tAnd S4.4.1 calculated CStIn each selected ServicesAnd ServicetIn terms of call informationThe correlation weight is used for executing the weighted summation operation and obtaining the selected service set CS by calculationtThe comprehensive calling feature representation in (1);
s4.4.3: web obtained from S4.3.6tCalling feature of (8), Service obtained by S4.3.2tAnd S4.4.2 and the selected service set CStThe comprehensive calling feature representation of (2) is cascaded;
s4.4.4: inputting the cascade result into a calling multilayer perceptron to learn Webt、ServicetAnd CStObtaining a calling interaction vector through calling interaction between the two groups;
s4.4.1 the Call attention Module to measure CStOne selected Service of (1)sAnd candidate ServicetThe correlation degree in the aspect of calling information is mainly composed of a full connection layer, and S4.4.1 specifically includes:
s4.4.1.1: for a selected ServicesAnd candidate ServicetElement multiplication processing is carried out on the calling features of S4.3.1 and S4.3.2 to measure the similarity between the calling features;
s4.4.1.2: for a selected ServicesAnd candidate ServicetElement difference processing is carried out on the calling characteristics of S4.3.1 and S4.3.2 to measure the difference degree between the calling characteristics;
s4.4.1.3: the results of S4.4.1.1 and S4.4.1.2, and the Service obtained from S4.3.1 and S4.3.2 are combinedsAnd ServicetThe calling features of the system are cascaded, and the result is input into an MLP to automatically learn ServicesAnd ServicetThe relation between the calling information and the calling information obtains a calling relation vector;
s4.4.1.4: inputting the call relation vector into the softmax function to obtain a measurable ServicesAnd ServicetCorrelation weight in terms of calling information;
s5: setting a loss function, and training the service call prediction model S4 based on the training sample set constructed in S1;
s5 specifically includes:
s5.1: setting the loss function as a cross entropy loss function:
Figure FDA0003538671940000041
wherein
Figure FDA0003538671940000042
Sample of the prediction model for this service calltThe predicted output of (a) is,
Figure FDA0003538671940000043
is the true label of the sample, the value of the true label is 1 when the sample is a positive sample, and the value of the true label is 0 when the sample is a negative sample;
s5.2: using the cross entropy loss function S5.1, training a service call prediction model only based on the content information, and storing parameter values of a content feature extraction module and a content interaction module in the model;
s5.3: using the cross entropy loss function S5.1, training a service calling prediction model only based on calling information, and storing parameter values of a calling feature extraction module and a calling interaction module in the model;
s5.4: initializing a corresponding parameter of a service call prediction model by using the parameter values of the content feature extraction module and the content interaction module stored in S5.1 and the parameter values of the call feature extraction module and the call interaction module stored in S5.2, then training the service call prediction model based on the content information and the call information by using the cross entropy loss function described in S5.1, and storing the parameter values of an integration layer and an output layer in the service call prediction model;
s5.5: initializing parameters of a service call prediction model by using the parameter values of each module stored in S5.1, S5.2 and S5.3, then finely adjusting the model by using the cross entropy loss function in S5.1 based on the content information and the historical call information to obtain a trained service call prediction model, and storing values of all the parameters;
s6: recommending component services for the Web application to be developed by using the service call prediction model trained in S5; the method comprises the steps of firstly, predicting the score of each candidate service by using the model, then recommending N candidate services with the highest scores to a developer, and after the developer selects a plurality of component services, namely obtaining the instant feedback of the developer, entering the next round of the recommendation process; continuously repeating the steps until the requirements of the developer are completely realized;
s6 specifically includes:
s6.1: loading parameters of the service call prediction model trained in the S5;
s6.2: for a Web application program to be developed, predicting the probability of calling each candidate service or the score of each candidate service by the Web application program by using the prediction model;
s6.3: for a Web application program to be developed, recommending N candidate services with the highest prediction scores obtained in S6.2 to a developer;
s6.4: the developer selects a plurality of component services from the recommendation list generated in S6.3 to complete the development process of the current turn;
s6.5: s6.2 to S6.4 are repeated until the developer' S requirements are fully fulfilled.
2. The interactive service recommendation method for dual interaction and attention mechanism according to claim 1, characterized in that:
s1 the set of Web applications is:
Webs={Web1、Web2、...、WebN}
therein, the WebiRepresents the ith Web application, i ∈ [1, N]N represents the number of Web applications;
s1, the information related to the Web application is represented as:
Figure FDA0003538671940000051
wherein,
Figure FDA0003538671940000052
The relevant information indicating the ith Web application,
Figure FDA0003538671940000053
the Web application content information representing the ith Web application is expressed as:
Figure FDA0003538671940000054
wherein, wordi,kThe kth term in the Web application content information representing the ith Web application, k ∈ [1, L ]i],LiIndicating the number of terms in the Web application content information of the ith Web application;
Figure FDA0003538671940000055
in (1),
Figure FDA0003538671940000056
the Web application marker information representing the ith Web application is expressed as:
Figure FDA0003538671940000057
wherein tagi,mM-th tag in Web application tag information indicating the i-th Web application, m ∈ [1, T [ ]i],TiIndicating the number of marks in the Web application mark information of the ith Web application;
s1 the set of construction services is:
WebServices={Service1、Service2、...、ServiceM}
wherein, ServicejDenotes the jth service, j ∈ [1, M]M denotes serviceThe number of the particles;
s1, the related information of the service is represented as:
Figure FDA0003538671940000058
wherein the content of the first and second substances,
Figure FDA0003538671940000059
the related information indicating the jth service,
Figure FDA00035386719400000510
service content information representing a jth service, expressed as:
Figure FDA00035386719400000511
wherein, wordj,kK term in service content information representing the jth service, k ∈ [1, L [ ]j],LjIndicating the number of terms in the content information of the jth service;
Figure FDA00035386719400000512
in (1),
Figure FDA00035386719400000513
service tag information representing the jth service, denoted as:
Figure FDA00035386719400000514
wherein tagj,mM-th tag in service tag information representing jth service, m ∈ [1, T [ ]j],TjIndicating the number of tags in the service tag information of the jth service;
Figure FDA00035386719400000515
in (1),
Figure FDA00035386719400000516
provider information representing a jth service;
the assembly service set corresponding to the ith Web application program is SiSpecifically defined as:
Si={Servicei,1,Servicei,2,、、、,Servicei,Mi}
wherein, Servicei,jDenotes the jth component service, M, in the ith Web applicationiNumber of component services for ith Web application, j ∈ [1, Mi];
S1, the set of call relations between the Web application and the service:
Vocations={(Webi,Servicei,j)|Webi∈Webs,Servicei,j∈Si}
i.e. each Web application WebiAnd any one of its component Service servicesi,jAll have call relations among them;
constructing a bipartite graph related to the Web application program and the service based on the call relation set between the Web application program and the service, wherein the Web application program and the service are used as two types of nodes, and an edge is established between each Web application program node and a component service node of the Web application program;
the bipartite graph between the Web application and the service is represented as:
G=(V,E),V={Webs∪WebServices},
E={ei,j|ei,j=(Webi,Servicei,j),Webi∈Webs,Servicei,j∈Si}
wherein, the node set V comprises all Web applications and services, and in the edge set E, the edge Ei,jIs the WebiThe other node is the WebiA certain service, Ser, in the component service set ofvicei,j
3. The interactive service recommendation method for dual interaction and attention mechanism according to claim 1, characterized in that:
s2, constructing a training sample set according to the Web application program and the component service of the Web application program, wherein the training sample set consists of a positive sample set and a negative sample set;
each sample in the positive sample set and the negative sample set consists of a Web application program, a selected service set of the Web application program and a candidate service;
the set of positive samples is:
Figure FDA0003538671940000061
wherein the content of the first and second substances,
Figure FDA0003538671940000062
represents the a sample in the positive sample set, ia∈[1,NA],NARepresents the number of positive samples;
positive sample
Figure FDA0003538671940000063
The structure is as follows:
Figure FDA0003538671940000064
wherein the content of the first and second substances,
Figure FDA0003538671940000065
representing a positive sample
Figure FDA0003538671940000066
A corresponding Web application program;
Figure FDA0003538671940000067
representing a positive sample
Figure FDA0003538671940000068
A corresponding selected service set, the selected service set having to be
Figure FDA0003538671940000069
Component service collections of
Figure FDA00035386719400000610
And the selected set of services cannot be non-empty, formally,
Figure FDA00035386719400000611
the requirements are satisfied:
Figure FDA00035386719400000612
wherein
Figure FDA00035386719400000613
Is that
Figure FDA00035386719400000614
A component service set of (a);
Figure FDA00035386719400000615
representing a positive sample
Figure FDA00035386719400000616
The candidate service in (1) is
Figure FDA00035386719400000617
A component service of (2) cannot appear in a selected service set at the same time
Figure FDA00035386719400000618
In a formalized manner, the first and second,
Figure FDA00035386719400000619
the requirements are satisfied:
Figure FDA00035386719400000620
Figure FDA00035386719400000621
representing a positive sample
Figure FDA00035386719400000622
The value of the corresponding real label is 1;
the set of negative examples is:
Figure FDA00035386719400000623
wherein the content of the first and second substances,
Figure FDA00035386719400000624
represents the b-th sample, i, in the negative sample setb∈[1,NB],NBRepresents the number of negative examples;
negative sample
Figure FDA00035386719400000625
The structure is as follows:
Figure FDA00035386719400000626
wherein the content of the first and second substances,
Figure FDA00035386719400000627
representing negative examples
Figure FDA00035386719400000628
A corresponding Web application program;
Figure FDA00035386719400000629
representing negative examples
Figure FDA00035386719400000630
A corresponding selected service set, the selected service set having to be
Figure FDA00035386719400000631
Component service collections of
Figure FDA00035386719400000632
And the selected set of services cannot be non-empty, formally,
Figure FDA00035386719400000633
the requirements are satisfied:
Figure FDA00035386719400000634
wherein
Figure FDA00035386719400000635
Is that
Figure FDA00035386719400000636
A component service set of (a);
Figure FDA00035386719400000637
representing negative examples
Figure FDA00035386719400000638
Is a service in the service set WebServices, not
Figure FDA00035386719400000639
And cannot appear in the selected service set
Figure FDA00035386719400000640
In a formalized manner, the first and second,
Figure FDA00035386719400000641
the requirements are satisfied:
Figure FDA00035386719400000642
Figure FDA00035386719400000643
representing negative examples
Figure FDA00035386719400000644
The value of the corresponding real label is 0;
s2, processing the bipartite graph G of S1 based on graph embedding technology, and obtaining calling characteristics of the Web application and calling characteristics of component services of the Web application, wherein the obtained calling characteristics of the Web application are as follows:
Figure FDA00035386719400000645
wherein the content of the first and second substances,
Figure FDA00035386719400000646
representing the invocation feature of the ith Web application, the length of the feature being H, i ∈ [1, N)]N represents the number of Web applications;
the set of calling features of the obtained service is:
Figure FDA00035386719400000647
wherein the content of the first and second substances,
Figure FDA00035386719400000648
representing the invocation feature of the jth service, the length of which is H, j ∈ [1, M ∈]And M denotes the number of services.
4. The interactive service recommendation method for dual interaction and attention mechanism according to claim 1, characterized in that:
s3.1: initializing a heterogeneous information network by using a bipartite graph G about Web application programs and services, wherein the heterogeneous information network comprises two nodes, namely a node of a Web application program type and a node of a service type, and then connecting the node of the Web type and the node of the service type;
s3.2, content information is introduced into the heterogeneous information network obtained in the S3.1, and specifically:
processing content information of a Web application program or service by using the hidden Dirichlet distribution to obtain topK hidden themes of the Web application program or service;
adding each obtained hidden theme as a topic type node into the heterogeneous information network;
connecting each Web application or service type node with a topic type node representing their hidden subject;
s3.3, introducing mark information into the heterogeneous information network obtained in S3.2, specifically:
adding the mark of each Web application program or service into the heterogeneous information network as a tag type node;
connecting each node of the Web application or service type with a node of the tag type representing them;
s3.4, introducing provider information into the heterogeneous information network obtained in S3.3, specifically:
adding each service provider as provider type node into the heterogeneous information network;
connecting nodes of each service type with nodes of provider type representing their providers.
CN202011359895.XA 2020-11-27 2020-11-27 Interactive service recommendation method based on dual interaction relation and attention mechanism Active CN112486467B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011359895.XA CN112486467B (en) 2020-11-27 2020-11-27 Interactive service recommendation method based on dual interaction relation and attention mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011359895.XA CN112486467B (en) 2020-11-27 2020-11-27 Interactive service recommendation method based on dual interaction relation and attention mechanism

Publications (2)

Publication Number Publication Date
CN112486467A CN112486467A (en) 2021-03-12
CN112486467B true CN112486467B (en) 2022-04-29

Family

ID=74935968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011359895.XA Active CN112486467B (en) 2020-11-27 2020-11-27 Interactive service recommendation method based on dual interaction relation and attention mechanism

Country Status (1)

Country Link
CN (1) CN112486467B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113554100B (en) * 2021-07-28 2023-04-07 湖南科技大学 Web service classification method for enhancing attention network of special composition picture
CN114048396B (en) * 2022-01-13 2022-03-18 湖南大学 NQI service recommendation method and system based on heterogeneous information network and deep learning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633417A (en) * 2019-09-12 2019-12-31 齐鲁工业大学 Web service recommendation method and system based on service quality
CN110879864A (en) * 2019-10-29 2020-03-13 南京大学 Context recommendation method based on graph neural network and attention mechanism
CN111797196A (en) * 2020-06-01 2020-10-20 武汉大学 Service discovery method combining attention mechanism LSTM and neural topic model
CN111831917A (en) * 2020-07-23 2020-10-27 腾讯科技(深圳)有限公司 Content recommendation method, device, equipment and medium
CN111881363A (en) * 2020-06-23 2020-11-03 北京工业大学 Recommendation method based on graph interaction network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150262069A1 (en) * 2014-03-11 2015-09-17 Delvv, Inc. Automatic topic and interest based content recommendation system for mobile devices
US11514333B2 (en) * 2018-04-30 2022-11-29 Meta Platforms, Inc. Combining machine-learning and social data to generate personalized recommendations
RU2731335C2 (en) * 2018-10-09 2020-09-01 Общество С Ограниченной Ответственностью "Яндекс" Method and system for generating recommendations of digital content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633417A (en) * 2019-09-12 2019-12-31 齐鲁工业大学 Web service recommendation method and system based on service quality
CN110879864A (en) * 2019-10-29 2020-03-13 南京大学 Context recommendation method based on graph neural network and attention mechanism
CN111797196A (en) * 2020-06-01 2020-10-20 武汉大学 Service discovery method combining attention mechanism LSTM and neural topic model
CN111881363A (en) * 2020-06-23 2020-11-03 北京工业大学 Recommendation method based on graph interaction network
CN111831917A (en) * 2020-07-23 2020-10-27 腾讯科技(深圳)有限公司 Content recommendation method, device, equipment and medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多层注意力表示的音乐推荐模型;李琳等;《电子学报》;20200915(第09期);1672-1679 *

Also Published As

Publication number Publication date
CN112486467A (en) 2021-03-12

Similar Documents

Publication Publication Date Title
CN110516160B (en) Knowledge graph-based user modeling method and sequence recommendation method
Bangyal et al. Detection of fake news text classification on COVID-19 using deep learning approaches
CN110717098B (en) Meta-path-based context-aware user modeling method and sequence recommendation method
Meng et al. Leveraging concept association network for multimedia rare concept mining and retrieval
CN111222332A (en) Commodity recommendation method combining attention network and user emotion
CN112486467B (en) Interactive service recommendation method based on dual interaction relation and attention mechanism
CN114817663B (en) Service modeling and recommendation method based on class perception graph neural network
CN114358657B (en) Post recommendation method and device based on model fusion
CN113743675B (en) Construction method and system of cloud service QoS deep learning prediction model
Pham et al. ComGCN: Community-driven graph convolutional network for link prediction in dynamic networks
CN111949885A (en) Personalized recommendation method for scenic spots
CN110991601A (en) Neural network recommendation method based on multi-user behaviors
CN117216281A (en) Knowledge graph-based user interest diffusion recommendation method and system
JP2023530370A (en) PERSONALIZED SEARCH METHOD AND SEARCH SYSTEM INTEGRATED ATTENTION MECHANIC
CN113535949A (en) Multi-mode combined event detection method based on pictures and sentences
CN116089644A (en) Event detection method integrating multi-mode features
CN115545833A (en) Recommendation method and system based on user social information
CN113032612B (en) Construction method of multi-target image retrieval model, retrieval method and device
CN115730248A (en) Machine account detection method, system, equipment and storage medium
CN114595370A (en) Model training and sorting method and device, electronic equipment and storage medium
Oshnoudi et al. Improving recommender systems performances using user dimension expansion by movies’ genres and voting-based ensemble machine learning technique
De Bonis et al. Deep learning techniques for visual food recognition on a mobile app
Cotta et al. Weightless neural network wisard applied to online recommender systems
Chen et al. Tagtag: a novel framework for service tags recommendation and missing tag prediction
Che et al. A feature and deep learning model recommendation system for mobile application

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