Artificial intelligence-based recommendation method, apparatus, and electronic device

By establishing an account network graph and training an account vector model, the problem of content convergence caused by unchanged user profiles was solved, achieving a recommendation effect with higher accuracy and resource utilization.

CN115114513BActive Publication Date: 2025-12-19TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110304281.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-22
Publication Date
2025-12-19
Estimated Expiration
2041-03-22

AI Technical Summary

Technical Problem

In existing technologies, user profiles remain largely unchanged, leading to homogenized recommended content, low recommendation accuracy, and significant waste of computing resources.

Method used

By constructing an account network graph and performing walkthrough processing, an account vector model is trained, and similar accounts are identified and recommended based on the account vectors.

Benefits of technology

It improves recommendation accuracy and computing resource utilization, provides fresher recommended content, and enhances user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115114513B_ABST
    Figure CN115114513B_ABST
Patent Text Reader

Abstract

The application provides a recommendation method and device based on artificial intelligence, electronic equipment and computer readable storage medium; it relates to the field of artificial intelligence and big data technology in the field of cloud technology; the method comprises the following steps: establishing an account network graph among a plurality of accounts according to historical interaction behaviors of the plurality of accounts, and performing walk processing on the account network graph to obtain an account sequence; training an account vector model according to the content features of the accounts in the account sequence; determining the account vectors corresponding to the plurality of accounts respectively according to the trained account vector model; in response to an interaction behavior of any one account, determining similar accounts of the any one account according to the account vector, and performing a recommendation operation for the similar accounts. Through the application, accurate recommendation can be realized, and the actual utilization rate of the computing resources consumed by the electronic equipment in the recommendation process is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to artificial intelligence and cloud technology, and particularly relates to a recommendation method and device based on artificial intelligence, an electronic device and a computer readable storage medium. BACKGROUND

[0002] With the rapid development of computer technology and data communication system, various information flow platforms appear to provide support for interaction between multiple accounts. For example, in an instant messaging platform, instant messaging messages can be sent between accounts; in an information platform, a user can perform a click action on content (such as an article or a video) published by another user.

[0003] In the running process of the information flow platform, personalized recommendation is often involved. In the scheme provided by the related technology, a user portrait is usually established for each user (i.e., account), and recommendation is performed according to the user portrait. However, since the user portrait does not change, the recommended content tends to be similar, that is, the recommendation accuracy is low, and the computing resources consumed by the electronic device in the recommendation process are wasted. SUMMARY

[0004] The embodiments of the present application provide a recommendation method and device based on artificial intelligence, an electronic device and a computer readable storage medium, which can improve the recommendation accuracy and improve the utilization rate of computing resources of the electronic device in the recommendation process.

[0005] The technical scheme of the embodiments of the present application is as follows:

[0006] The embodiments of the present application provide a recommendation method based on artificial intelligence, comprising:

[0007] According to the historical interaction behaviors of the multiple accounts, an account network graph between the multiple accounts is established, and a walk processing is performed on the account network graph to obtain an account sequence;

[0008] According to the content features of the accounts in the account sequence, a account vector model is trained;

[0009] According to the trained account vector model, account vectors corresponding to the multiple accounts are determined;

[0010] In response to an interaction behavior of any one account, similar accounts of the any one account are determined according to the account vectors, and a recommendation operation for the similar accounts is performed.

[0011] The embodiments of the present application provide a recommendation device based on artificial intelligence, comprising:

[0012] The establishing module is configured to establish an account network graph among a plurality of accounts according to historical interaction behaviors of the plurality of accounts, and perform walk processing on the account network graph to obtain an account sequence.

[0013] The training module is configured to train an account vector model according to content features of accounts in the account sequence.

[0014] The vector determining module is configured to determine account vectors corresponding to the plurality of accounts respectively according to the trained account vector model.

[0015] The recommendation module is configured to determine similar accounts of an arbitrary account according to the account vector in response to an interaction behavior of the arbitrary account, and perform a recommendation operation on the similar accounts.

[0016] An electronic device is provided in an embodiment of the present application, and the electronic device comprises:

[0017] A memory is configured to store executable instructions.

[0018] A processor is configured to execute the executable instructions stored in the memory to implement the recommendation method based on artificial intelligence provided in the embodiments of the present application.

[0019] A computer readable storage medium is provided in an embodiment of the present application, and the computer readable storage medium stores executable instructions, which are used to cause a processor to execute the recommendation method based on artificial intelligence provided in the embodiments of the present application.

[0020] The embodiments of the present application have the following beneficial effects:

[0021] The account network graph is established according to the historical interaction behaviors of the plurality of accounts, the account sequence is obtained by performing walk processing on the account network graph, and the account vector model is trained according to the content features of the accounts in the account sequence. In this way, the account vector model is trained, and the account vectors corresponding to the plurality of accounts are also accurately obtained. When the interaction behavior of the arbitrary account is received, the similar accounts of the account are determined according to the account vector to perform the recommendation, so that the recommendation precision and the recommendation effect can be improved, and the actual utilization rate of the computing resources consumed by the electronic device in the recommendation process can also be improved. BRIEF DESCRIPTION OF DRAWINGS

[0022] Figure 1 is an architecture schematic diagram of the recommendation system based on artificial intelligence provided in the embodiments of the present application;

[0023] Figure 2 is an architecture schematic diagram of the terminal device provided in the embodiments of the present application;

[0024] Figure 3Ais a flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application;

[0025] Figure 3B is a flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application;

[0026] Figure 3C is a flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application;

[0027] Figure 3D is a flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application;

[0028] Figure 3E is a flowchart of a recommendation method based on artificial intelligence provided by an embodiment of the present application;

[0029] Figure 4 is a schematic diagram of an undirected connection edge and a directed connection edge provided by an embodiment of the present application;

[0030] Figure 5 is a schematic diagram of an account network graph including an undirected connection edge provided by an embodiment of the present application;

[0031] Figure 6 is a schematic diagram of an account network graph including a directed connection edge provided by an embodiment of the present application;

[0032] Figure 7 is a schematic diagram of determining an account vector provided by an embodiment of the present application;

[0033] Figure 8 is a schematic diagram of an account network graph including a directed connection edge provided by an embodiment of the present application;

[0034] Figure 9 is a schematic diagram of an account vector model provided by an embodiment of the present application;

[0035] Figure 10 is a schematic diagram of an account vector model provided by an embodiment of the present application. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical scheme and advantages of the present application clearer, the present application will be described in further detail below with reference to the accompanying drawings, and the described embodiments should not be regarded as limiting the present application, and all other embodiments obtained by those of ordinary skill in the art without making creative efforts fall within the scope of protection of the present application.

[0037] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" can be the same subset or different subsets as each other and can be combined with each other, without conflict. In the following description, the term "a plurality of" refers to at least two.

[0038] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description herein is for describing the embodiments of the application only and is not intended to be limiting of the application.

[0039] The relevant data collection and processing in the embodiments of the application should be strictly in accordance with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and within the scope of authorization of laws and regulations and the personal information subject, carry out subsequent data use and processing.

[0040] Before the embodiments of the application are further described in detail, the terms and phrases involved in the embodiments of the application are explained, which are applicable to the following explanations.

[0041] 1) Artificial Intelligence (AI): using a digital computer or a machine controlled by a digital computer to simulate, extend and expand human intelligence, perceiving the environment, acquiring knowledge and using knowledge to obtain the best results. Machine learning (ML) is the core of artificial intelligence, which is the fundamental way to make computers intelligent, mainly studies how computers simulate or implement human learning behavior to acquire new knowledge or skills, and reorganize existing knowledge structure to continuously improve their performance. In the embodiments of the application, an account vector model and a content recognition model can be constructed based on the principle of machine learning.

[0042] 2) Nature Language processing (NLP): an important direction of artificial intelligence, mainly studying various theories and methods that can realize effective communication between people and computers using natural language. In the embodiments of the application, the content in the form of text can be recognized and processed based on the mechanism of natural language processing to obtain content features.

[0043] 3) Computer Vision (CV): refers to using a camera and a computer to replace the human eye to identify, track and measure the target machine vision, and further do image processing, so that the computer processing becomes more suitable for the image observed by the human eye or transmitted to the instrument detection. From another angle, computer vision technology mainly studies related theories and technologies, trying to establish an artificial intelligence system that can obtain information from images or multidimensional data. In the embodiments of the present application, the content including images can be identified based on the mechanism of natural language processing to obtain content features.

[0044] 4) Information flow platform: a platform for multiple accounts to interact with each other. The embodiments of the present application do not limit the type of information flow platform, for example, it can be an instant messaging platform, a social platform or an information platform, etc. Among them, the account refers to a virtual account used to represent the identity of the user.

[0045] 5) Interaction behavior: refers to the behavior performed on the account, for example, the interaction behavior can be the attention behavior to the account, or the browsing, clicking, liking, forwarding, commenting or collecting behavior to the content published by the account. In the embodiments of the present application, the content published by the account can include at least one media form of text, sound and image.

[0046] 6) Account network graph: a graph structure established based on the relationship between accounts. The vertex in the account network graph is the account, and the connection edge is the connection edge between the accounts. The embodiments of the present application do not limit the type of account network graph, for example, the account network graph can be a directed network graph (i.e. including a directed connection edge), or a undirected network graph (i.e. including a undirected connection edge). In addition, the connection edge in the account network graph can correspond to a weight, or can not correspond to a weight.

[0047] 7) Content feature: refers to the feature in the content published by the account. In the embodiments of the present application, the content feature can include multiple types, for example, it can include two types of content category and content label. Among them, the content category can be used to represent the generality and similarity of the content in a broad sense, for example, the content category can include movie, variety and social, etc.; the content label is used to represent the concept actually contained in the content, for example, the content label can include detailed information such as the characters, places and scenes involved in the content.

[0048] 8) Account vector model: includes an account vector matrix (i.e. weight parameter), and the account vector model is used to perform a prediction task for the account. After training the account vector model, the account vector corresponding to each account can be determined according to the account vector matrix in the trained account vector model. The embodiments of the present application do not limit the type of account vector model, for example, it can be a Word2vec model.

[0049] 9) Content recognition model: used to perform a recognition task for content, embodiments of the present application do not limit the type of content recognition model, for example, it can be a Visual Geometry Group (VGG) model for images or a Text Convolutional Neural Networks (Text-CNN) model for text.

[0050] 10) Big Data: refers to a collection of data that cannot be captured, managed, and processed within a certain time range using conventional software tools, and is a massive, high-growth, and diversified information asset that requires new processing modes to have stronger decision-making, insight discovery, and process optimization capabilities. Big Data requires special technology to effectively process large amounts of data over time, and technologies suitable for Big Data include large-scale parallel processing databases, data mining, distributed file systems, distributed databases, cloud computing platforms, the Internet, and scalable storage systems. In embodiments of the present application, Big Data can refer to related data of multiple accounts, for example, historical interaction behaviors of multiple accounts.

[0051] In the recommendation scenario of the information flow platform, the related technology mainly provides the following two schemes.

[0052] 1) According to the content of the historical interaction behavior performed by the account, a user portrait is established for the account, and subsequent content recommendation is performed for the account according to the user portrait. Since the established user portrait basically does not change, the content recommended for the account will tend to be similar, resulting in a lack of freshness of the recommended content, which is easy to make the user feel boring. In addition, if the number of historical interaction behaviors performed by the account is insufficient, it will lead to repeated content recommendation, further resulting in impaired user experience.

[0053] 2) When an account follows a certain content publishing account, the content of the content publishing account is recommended to the account. However, in general, the number of content publishing accounts followed by the account is small, resulting in not being able to obtain more content for recommendation.

[0054] In summary, the recommendation accuracy of the scheme provided by the related technology is low, and the computing resources consumed by the electronic device (such as the server of the information flow platform) in the recommendation process are also wasted.

[0055] The embodiment of the present application provides a recommendation method and device based on artificial intelligence, an electronic device and a computer readable storage medium, which can improve the recommendation accuracy and the actual utilization rate of the computing resources of the electronic device. The following describes an exemplary application of the electronic device provided by the embodiment of the present application. The electronic device provided by the embodiment of the present application can be implemented as various types of terminal devices, or as a server.

[0056] Referring to Figure 1 , Figure 1 is an architecture schematic diagram of a recommendation system 100 based on artificial intelligence provided by the embodiment of the present application. The terminal device 400 is connected to the server 200 through the network 300, and the server 200 is connected to the database 500. The network 300 can be a wide area network or a local area network, or a combination of the two.

[0057] In some embodiments, taking the electronic device as a terminal device for example, the recommendation method based on artificial intelligence provided by the embodiment of the present application can be implemented by the terminal device. For example, the terminal device 400 runs the client 410 (for example, a client of an information flow platform), and the client 410 establishes an account network graph among a plurality of accounts (for example, a plurality of accounts registered in the information flow platform) according to historical interaction behaviors of the plurality of accounts, and performs walk processing on the account network graph to obtain an account sequence. The historical interaction behaviors can be pre-stored in the local client 410, or obtained by the client 410 from the outside (for example, the server 200, the database 500 or a blockchain network). The client 410 trains an account vector model according to content features of the accounts in the account sequence, and determines account vectors corresponding to the plurality of accounts according to the trained account vector model. The content features can be determined by the client 410 in real time, or pre-stored in the local client 410, the server 200, the database 500 or the blockchain network. When the client 410 receives an interaction behavior for any one account, the similar accounts of the account can be determined according to the account vector, and a recommendation operation for the similar accounts can be performed.

[0058] It is worth noting that the client 410 can store the obtained account vectors corresponding to the plurality of accounts in the local, or in the server 200, the database 500 or the blockchain network, and obtain the stored account vectors corresponding to the plurality of accounts when the similar accounts are needed to be determined.

[0059] As an example, in Figure 1 , when the client 410 receives an interaction behavior (for example, a follow behavior) for the account A, the similar accounts (specifically, the account B and the account C) of the account A are determined according to the account vector, and a recommendation operation for the account B and the account C is performed. Figure 1The recommended operation is taken as an example of recommending the name of the account B and the name of the account C, but this does not constitute a limitation on the embodiments of the present application. For example, the content published by the account B and the content published by the account C can also be recommended.

[0060] In some embodiments, taking the electronic device as a server as an example, the recommendation method based on artificial intelligence provided by the embodiments of the present application can also be realized by the server and the terminal device in cooperation. For example, the server 200 can be a background server of an information stream platform, and the database 500 stores historical interaction behaviors of a plurality of accounts registered in the information stream platform. The server 200 can obtain the historical interaction behaviors from the database 500, and after a series of processing, obtain account vectors corresponding to the plurality of accounts respectively, wherein the storage location of the historical interaction behaviors is not limited to the database 500, for example, it can also be a distributed file system of the server 200 or a block chain network and the like.

[0061] The server 200 can store the account vectors corresponding to the plurality of accounts respectively to the distributed file system of itself, the database 500 or the block chain network and the like. When the server 200 receives the interaction behavior of any one account sent by the client 410, the similar account of the account is determined according to the stored account vector, and the recommendation operation for the similar account is performed, for example, the name and / or the published content of the similar account are sent to the client 410, so as to be presented in the user interface of the client 410.

[0062] In some embodiments, the terminal device 400 or the server 200 can realize the recommendation method provided by the embodiments of the present application by running a computer program, for example, the computer program can be a native program or a software module in the operating system; can be a native application program (APP, Application), that is, a program that needs to be installed in the operating system to run, such as an application program of an information stream platform; can also be a small program, that is, a program that only needs to be downloaded into a browser environment to run; can also be a small program that can be embedded into any APP, such as a small program component embedded into the application program of the information stream platform, wherein the small program component can be controlled by the user to run or close. In summary, the above computer program can be any form of application program, module or plug-in.

[0063] In some embodiments, the server 200 can be a standalone physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery network (CDN), and basic cloud computing services such as big data and artificial intelligence platforms, wherein the cloud service can be a recommendation service for calling by the terminal device 400. It should be noted that cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and network to realize data calculation, storage, processing, and sharing in a wide area network or local area network. In addition, the terminal device 400 can be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart television, a smart watch, and the like, but is not limited thereto. The terminal device and the server can be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiments of the present application.

[0064] For the case where the electronic device is a server, the structure shown in Figure 2 FIG. 1 can be omitted by default. For details, refer to Figure 2 , Figure 2 FIG. 1 is a structural schematic diagram of a terminal device 400 provided by an embodiment of the present application, Figure 2 The terminal device 400 shown in FIG. 1 includes at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in the terminal device 400 are coupled together through a bus system 440. It can be understood that the bus system 440 is used to realize the connection and communication between the components. In addition to including a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for the purpose of clear illustration, all kinds of buses are marked as the bus system 440 in Figure 2 FIG. 1.

[0065] The processor 410 can be an integrated circuit chip with signal processing capability, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like, wherein the general-purpose processor can be a microprocessor or any conventional processor.

[0066] The user interface 430 includes one or more output devices 431 that enable presentation of media content, including one or more speakers and / or one or more visual display screens. The user interface 430 also includes one or more input devices 432 that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.

[0067] The memory 450 can be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical drives, and the like. The memory 450 optionally includes one or more storage devices remotely located from the processor(s) 410.

[0068] The memory 450 includes volatile memory or nonvolatile memory, and can also include both volatile and nonvolatile memory. Nonvolatile memory can be read only memory (ROM), volatile memory can be random access memory (RAM). The memory 450 described herein is intended to include any suitable type of memory.

[0069] In some embodiments, the memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or a subset or superset thereof, examples of which are illustrated below.

[0070] The operating system 451 includes systems programs for handling various basic system services and for performing hardware dependent tasks, such as a firmware layer, a kernel layer, a driver layer, and the like, for implementing various basic services and handling hardware dependent tasks;

[0071] The network communication module 452 is for communicating to other computing devices via one or more (wired or wireless) network interfaces 420, examples of which include Bluetooth, wireless fidelity (WiFi), universal serial bus (USB), and the like;

[0072] The presentation module 453 is for enabling presentation of information via one or more output devices 431 associated with the user interface 430 (e.g., display screens, speakers, and the like) (e.g., user interfaces for operating peripheral devices and displaying content and information);

[0073] The input processing module 454 is for detecting and interpreting one or more user inputs or interactions from one or more input devices 432.

[0074] In some embodiments, the recommendation device provided by the embodiments of the present application can be implemented in a software manner, Figure 2 An artificial intelligence-based recommendation device 455 stored in the memory 450 is shown, which can be software in the form of programs and plug-ins, etc., including the following software modules: a building module 4551, a training module 4552, a vector determination module 4553, and a recommendation module 4554. These modules are logical, and thus can be combined or further split according to the implemented functions. The functions of the various modules will be described below.

[0075] The artificial intelligence-based recommendation method provided by the embodiments of the present application will be described in conjunction with exemplary applications and implementations of the electronic device provided by the embodiments of the present application. It should be noted that the recommendation method described below can be completed independently by a terminal device or a server, or can be completed cooperatively by a terminal device and a server.

[0076] Referring to Figure 3A , Figure 3A is a flowchart of the artificial intelligence-based recommendation method provided by the embodiments of the present application, which will be described in conjunction with the steps shown. Figure 3A

[0077] In step 101, a network graph of accounts between a plurality of accounts is built according to historical interaction behaviors of the plurality of accounts, and a walk process is performed on the network graph of accounts to obtain an account sequence.

[0078] For example, the plurality of accounts can refer to a plurality of registered accounts in an information stream platform. In order to achieve accurate recommendation, the historical interaction behaviors of each account can be obtained first. The historical interaction behaviors are the interaction behaviors that have been performed in the history. The type of the interaction behaviors is not limited by the embodiments of the present application. For example, it can be a follow behavior of an account, or a browse, click, like, forward, comment, or collect behavior of the content published by the account, which can be set according to the actual application scenario. In addition, the account here can refer to all types of accounts, or can refer to a certain type or certain types of accounts, for example, a content publishing account (i.e., an account owner) that has published content in the information stream platform.

[0079] The storage location of the historical interaction behaviors is not limited by the embodiments of the present application. For example, it can be in the form of a log of the information stream platform, stored in the background database of the information stream platform, or stored in a blockchain network, or stored locally on the client side.

[0080] ​When the historical interaction behaviors corresponding to the plurality of accounts are obtained, an account network graph between the plurality of accounts can be established, the account network graph at least including vertices and connecting edges between the vertices, and further including weights of the connecting edges, wherein the vertices are the accounts, and the connecting edges are connecting edges between the accounts, and are used to represent the association between the accounts. For example, as shown in FIG. 2, the connecting edges between the behavior initiation account of the historical interaction behavior (i.e., the account performing the historical interaction behavior) and the account to which the historical interaction behavior is directed can be established, and the connecting edges can be undirected connecting edges or directed connecting edges, and the starting point account of the directed connecting edge is the behavior initiation account of the historical interaction behavior, and the terminal account is the account to which the historical interaction behavior is directed. Of course, the establishment manner of the account network graph is not limited to this. Figure 4

[0081] When the account network graph is established, a walk process can be performed on the account network graph to obtain an account sequence. For example, in a case where the account network graph does not include weights and includes undirected connecting edges, any one account in the account network graph can be taken as a walk starting point account, and a connecting edge connected to the walk starting point account is randomly selected for the walk, and the account walked to is taken as a new walk starting point account, until the number of accounts passed in the walk process reaches a number threshold, wherein the number threshold can be set according to an actual application scenario, such as 10. Figure 5 For example, as shown in FIG. 3, the walk starting point account is account A, and the number threshold is 3, and the walk process can be as follows: 1) a connecting edge connected to the account A is randomly selected from two connecting edges, that is, one of account B and account D is randomly selected as a new walk starting point account, and here the new walk starting point account is account B; 2) a connecting edge connected to the account B is randomly selected from two connecting edges, that is, one of account C and account E is randomly selected as a new walk starting point account, and here the new walk starting point account is account E, and it is worth noting that the account B and the account E can also be selected from the account A, the account C and the account E, and the walk process is ended when the number of accounts passed in the walk process reaches the number threshold, and the account sequence obtained includes the account A, the account B and the account E. It is worth noting that the order of the accounts in the account sequence is consistent with the order of the accounts passed in the walk process.

[0082] ​In the case that the account network graph does not include weights and the included connection edges are directed connection edges, any account in the account network graph can be taken as a walk starting account, and a connection edge connected to the walk starting account and having the same starting account as the walk starting account is randomly selected for walking, an account walked to is taken as a new walk starting account, and the process is repeated until the number of accounts passed in the walking process reaches a number threshold. As shown in FIG. 6, taking account A as the walk starting account, a connection edge 61 and a connection edge 62 connected to account A and having account A as the starting account are randomly selected, that is, one of account B and account D is randomly selected as a new walk starting account. Figure 6 Figure 6

[0083] Of course, the above is only an example of the walking process and does not limit the embodiments of the present application. For example, the walking process can also be performed by Node2vec or Deepwalk.

[0084] In step 102, an account vector model is trained according to content features of accounts in an account sequence.

[0085] The account sequence obtained through the walking process includes multiple accounts associated (or similar) with each other, and therefore the account vector model is trained according to content features of accounts in the account sequence. The prediction task performed by the account vector model is to predict remaining accounts according to content features of some accounts in the account sequence. The type of the account vector model is not limited in the embodiments of the present application, and for example, the account vector model can be a Word2vec model. In addition, the content features of the accounts refer to features of content published by the accounts, and the content features can be manually labeled or recognized by machine learning principles, for example, the content features can be used to represent categories of the content, such as movie category, variety show category, and social category.

[0086] In step 103, account vectors respectively corresponding to multiple accounts are determined according to the trained account vector model.

[0087] In the embodiments of the present application, the account vector model is trained by performing a prediction task, and in the process of training the account vector model, weight parameters of the account vector model are updated, and the weight parameters include account vectors respectively corresponding to multiple accounts. Therefore, the prediction task is a Fake Task, and the trained account vector model is not used to perform the prediction task.

[0088] ​​After the account vector model is trained, the weight parameters in the trained account vector model are taken out, and the account vectors corresponding to the plurality of accounts are determined from the taken-out weight parameters. Since the association between the accounts and the content features of each account are considered simultaneously in the process of model training, the account vectors obtained here have high accuracy and can accurately and comprehensively describe the corresponding accounts.

[0089] In step 104, in response to the interaction behavior for any one account, the similar accounts of any one account are determined according to the account vector, and a recommendation operation for the similar accounts is performed.

[0090] Here, when the interaction behavior for any one account (for the sake of convenience, hereinafter referred to as the interaction account) is received, the similar accounts of the interaction account are determined according to the account vector obtained in step 103, and a recommendation operation for the similar accounts is performed. The recommendation operation for the similar accounts here can mean recommending the similar accounts themselves, for example, sending the account information of the similar accounts to the behavior initiating account of the interaction behavior (here, the interaction behavior for the interaction account), and the account information can include at least one of the name, the avatar, and the introduction; or it can mean sending the content published by the similar accounts to the behavior initiating account of the interaction behavior.

[0091] In some embodiments, the above-mentioned determination of the similar accounts of any one account according to the account vector can be achieved in the following manner: performing traversal processing on the plurality of accounts that are different from any one account, and performing the following processing for the traversed accounts: determining the similarity between the account vector of the traversed account and the account vector of any one account; and when the similarity satisfies a similarity condition, taking the traversed account as the similar account of any one account.

[0092] The embodiment of the present application provides an example of determining similar accounts. First, all accounts that are different from the interaction account are subjected to traversal processing. For the traversed account, the similarity between the account vector of the traversed account and the account vector of the interaction account is determined, and the similarity here is, for example, the cosine similarity, but is not limited thereto. When the similarity satisfies a similarity condition, the traversed account is taken as the similar account of the interaction account.

[0093] The similarity condition is, for example, that the similarity is greater than a similarity threshold value, and the similarity threshold value can be set according to the actual application scenario, for example, 60%. The similarity condition is also, for example, that the similarity is ranked first in 1% of all obtained similarities, but this does not constitute a limitation on the similarity condition. Through the above-mentioned manner, the effectiveness and accuracy of determining the similar accounts are improved.

[0094] In some embodiments, after step 103, the method further includes: determining, as an interaction account, an account targeted by a historical interaction behavior performed by the to-be-recommended account, determining a similar account of the interaction account according to the account vector, and performing a recommendation operation on the similar account.

[0095] In addition to making recommendations based on real-time received interaction behaviors, in the embodiments of the present application, recommendations can also be made based on historical interaction behaviors. For example, after obtaining a specified to-be-recommended account, an account targeted by a historical interaction behavior performed by the to-be-recommended account can be determined as an interaction account. Then, a similar account of the interaction account is determined according to the account vector, and a recommendation operation on the similar account is performed, for example, at least one of account information and published content of the similar account is sent to the to-be-recommended account, to achieve the recommendation. Through the above-mentioned manner, the recommendation scenario is widened, and the flexibility of the recommendation is improved.

[0096] In some embodiments, after step 103, the method further includes: sending the account vectors corresponding to the plurality of accounts to a blockchain network, so that a node of the blockchain network stores the account vectors corresponding to the plurality of accounts in a blockchain; and before determining the similar account of any one account according to the account vector, the method further includes: sending a query request to the blockchain network to obtain the account vectors corresponding to the plurality of accounts stored in the blockchain.

[0097] The embodiments of the present application can also be implemented in combination with blockchain technology. Blockchain is a new application mode of distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm. In essence, a blockchain is a decentralized database, which is a series of data blocks associated using cryptographic methods, and each data block contains information of a batch of network transactions, which is used to verify the validity (anti-fake) of the information and generate the next block.

[0098] After obtaining the account vectors corresponding to the plurality of accounts through step 103, the account vectors corresponding to the plurality of accounts can be sent to a blockchain network, so that a node of the blockchain network stores the block (including the account vectors corresponding to the plurality of accounts) in a blockchain after verification, block filling, and consensus. Since the blockchain has the feature of being tamper-proof, it can be ensured that the account vectors stored in the blockchain are accurate and correct.

[0099] When the electronic device needs to determine a similar account, it can send a query request to the blockchain network. When the node of the blockchain network receives the query request, it sends the account vectors corresponding to the plurality of accounts stored in the blockchain to the electronic device as a response to the query request. Through the above-mentioned manner, the accuracy of the obtained account vectors can be improved, and the persistent storage of the account vectors is realized.

[0100] AsFigure 3A As shown, the embodiments of the present application determine the account vector by comprehensively considering the historical interaction behavior and the content feature, which can improve the accuracy and comprehensiveness of the determined account vector, and further improve the breadth and precision of the recommendation, and ensure that the computing resources consumed in the recommendation process can be effectively utilized.

[0101] In some embodiments, referring to Figure 3B , Figure 3B is a flowchart of the recommendation method based on artificial intelligence provided by the embodiments of the present application, Figure 3A The step 102 shown can be implemented by steps 201 to 203, which will be described in combination with each step.

[0102] In step 201, the account sequence is selected to obtain an input account.

[0103] Here, the account sequence can be first selected, that is, one or more accounts in the account sequence are taken as the input account in the prediction task. At the same time, the accounts in the account sequence that are different from the input account are taken as the output account in the prediction task.

[0104] In some embodiments, the above-mentioned selection of the account sequence to obtain the input account can be implemented in the following way: performing any one of the following processing: taking the account in the center of the account sequence as the input account; taking the accounts outside the center of the account sequence as the input account.

[0105] The embodiments of the present application provide two example ways of selection processing, one of which is to take the account in the center of the account sequence as the input account, and the remaining accounts as the output account; the other is to take the accounts outside the center of the account sequence as the input account, and the account in the center of the account sequence as the output account. For the former way, since the number of output accounts is large, the length of model training is long, but the effect of model training is also improved accordingly; for the latter way, since the output account is only one, the efficiency of model training can be effectively improved, and any one of the ways can be selected according to the needs of the actual application scene.

[0106] In some embodiments, before step 201, it further includes: performing a cutting processing on the account sequence according to a window size; taking the account sequence obtained by the cutting processing as the account sequence to be selected.

[0107] Here, the account sequence can be intercepted according to the window size, and the input account can be obtained by selecting the intercepted account sequence. The account in the intercepted account sequence that is different from the input account is the output account. The window size is less than or equal to the number of accounts in the account sequence (i.e., the number threshold), which can be set according to the actual application scenario, such as setting the window size to 5. The purpose of intercepting the account sequence using the window size is to intercept the account sequence with stronger account association, thereby further improving the effect of model training.

[0108] In step 202, the content features of the input account are predicted by the account vector model to obtain the account to be compared.

[0109] Here, the account vector model performs the prediction task, that is, the content features of the input account are predicted by the account vector matrix of the account vector model. In order to facilitate the distinction, the account predicted by the account prediction processing is named as the account to be compared.

[0110] In step 203, the account vector matrix of the account vector model is updated according to the difference between the account to be compared and the output account; wherein the output account is the account in the account sequence that is different from the input account.

[0111] Here, the difference (i.e., the loss value) between the account to be compared and the output account is determined, the difference is back propagated in the account vector model, and the account vector matrix is updated during the back propagation.

[0112] It is worth noting that when the account vector model performs the prediction task, in addition to the account vector matrix, other weight parameters can also be used. For example, the account vector model includes a hidden layer weight matrix and an output layer weight matrix, which are used when performing the prediction task. However, only the hidden layer weight matrix is the account vector matrix. In this case, in order to ensure the training effect, the output layer weight matrix and the hidden layer weight matrix of the account vector model can be updated according to the difference between the account to be compared and the output account. Finally, the updated hidden layer weight matrix is used as the updated account vector matrix.

[0113] In some embodiments, the account prediction processing on the content features of the input account by the account vector model can be implemented in the following manner: encoding the accounts in the account sequence to obtain encoded features; fusing the encoded features of the accounts in the account sequence and the content features of the accounts to obtain fused features of the accounts; performing feature prediction processing on the fused features of the input account by the account vector model to obtain the to-be-compared features; and the to-be-compared features are used to represent the to-be-compared account. The updating of the account vector matrix of the account vector model according to the difference between the to-be-compared account and the output account can be implemented in the following manner: updating the account vector matrix of the account vector model according to the difference between the to-be-compared features and the fused features of the output account.

[0114] In performing the prediction task, the features of the accounts themselves can be introduced. For example, the accounts in the account sequence (or the account sequence obtained through the truncation processing) can be encoded to obtain encoded features, where the encoding processing is, for example, One-Hot encoding processing, and the obtained encoded features are, for example, One-Hot vectors. For each account in the account sequence, the encoded features of the account and the content features of the account are fused to obtain the fused features of the account, which can comprehensively reflect the characteristics of the account, where the fusion processing is, for example, splicing processing and / or weighting processing, etc. It should be noted that before the fusion processing, the content features of the account can also be encoded (for example, One-Hot encoding processing) to update the content features.

[0115] Then, the feature prediction processing is performed on the fused features of the input account by the account vector model to obtain the to-be-compared features, which are used to represent the to-be-compared account. Since the sparsity of the fused features of the input account can be strong, the fused features of the input account can be compressed to obtain dense features, and then the feature prediction processing is performed on the dense features to obtain the to-be-compared features, thereby reducing the computational amount.

[0116] According to the difference between the obtained to-be-compared features and the fused features of the output account, the weight parameters (including the account vector matrix) of the account vector model are updated. The manner of determining the difference between the to-be-compared features and the fused features of the output account is not limited in the embodiments of the present application, for example, the difference (loss value) can be determined by a cross-entropy loss function. Through the above manner, the features of the accounts themselves and the content features of the published content can be introduced at the same time, thereby further improving the effect of model training.

[0117] In Figure 3B , the account vector matrix of the account vector model is updated according to the difference between the to-be-compared account and the output account. Figure 3AThe step 103 shown can be updated to step 204, in which the updated account vector matrix is split to obtain the account vectors corresponding to the plurality of accounts respectively.

[0118] For example, in the updated account vector matrix, each column (or each row) is an account vector corresponding to an account, and therefore the updated account vector matrix can be split by column to obtain the account vectors corresponding to the plurality of accounts respectively.

[0119] As shown in Figure 3B The embodiments of the present application can obtain accurate and comprehensive account vectors by updating the account vector matrix of the account vector model.

[0120] In some embodiments, referring to Figure 3C , Figure 3C is a flowchart of a recommendation method based on artificial intelligence provided by the embodiments of the present application, Figure 3A The step 101 shown can be implemented by steps 301 to 304, which will be described in combination with the steps.

[0121] In step 301, when the behavior initiation accounts of the historical interaction behaviors corresponding to any two accounts are the same, a connection edge between the any two accounts is established, and a corresponding relationship between the connection edge and the behavior initiation account is established.

[0122] In the embodiments of the present application, the account network graph can be constructed according to the behavior initiation accounts of the historical interaction behaviors. For example, when the behavior initiation accounts of the historical interaction behaviors corresponding to any two accounts are the same, it is proved that the any two accounts are associated, and therefore a connection edge between the any two accounts is established, and a corresponding relationship between the connection edge and the behavior initiation account is established. For example, account A has performed a historical interaction behavior on account B, and account A has also performed a historical interaction behavior on account C, which proves that there is a certain degree of association (or similarity) between account B and account C, and therefore a connection edge between account B and account C is established.

[0123] In some embodiments, the connection edge between the any two accounts can be established in the following manner: performing any one of the following processing: establishing an undirected connection edge between the any two accounts; establishing a directed connection edge between the any two accounts according to the execution order of the historical interaction behaviors corresponding to the any two accounts.

[0124] In the embodiments of the present application, when the behavior initiation accounts of the historical interaction behaviors corresponding to any two accounts are the same, an undirected connection edge between the any two accounts can be established, or a directed connection edge between the any two accounts can be established according to the execution order of the historical interaction behaviors corresponding to the any two accounts.

[0125] For example, the time when the account A performs the historical interaction behavior for the account B is earlier than the time when the account A performs the historical interaction behavior for the account C, and thus a directed connection edge between the account B and the account C is established, with the account B as the starting account and the account C as the ending account. In this way, the flexibility of establishing the account network graph can be improved, and it can be selected whether to establish a directed connection edge or an undirected connection edge according to the requirements in the actual application scenario.

[0126] In some embodiments, the connection edge between any two accounts can be established in the following way: when the historical interaction behaviors corresponding to any two accounts satisfy the execution time condition, the connection edge between the any two accounts is established; and the execution time condition includes at least one of the following: continuous execution; and an execution time difference is less than a time difference threshold.

[0127] In the case where the behavior initiation accounts of the historical interaction behaviors corresponding to any two accounts are the same, it can also be determined whether the historical interaction behaviors corresponding to the any two accounts satisfy the execution time condition, and if yes, the connection edge between the any two accounts is established; and if not, the connection edge between the any two accounts is not established.

[0128] The execution time condition can include at least one of the following: continuous execution; and an execution time difference (or the absolute value of the execution time difference) is less than a time difference threshold. For example, in the case of the execution time condition of continuous execution, if the account A continuously performs the historical interaction behavior for the account B, the account C, and the account D, the connection edge between the account B and the account C and the connection edge between the account C and the account D can be established, but the connection edge between the account B and the account D cannot be established, because the historical interaction behaviors corresponding to the account B and the account D are not continuously executed, that is, the historical interaction behavior corresponding to the account C is in between. In this way, the accuracy and effectiveness of the established connection edge can be further improved.

[0129] In step 302, the weight of any one connection edge is determined according to the number of behavior initiation accounts corresponding to the established any one connection edge and the number of behavior initiation accounts corresponding to the shared connection edge, wherein the shared connection edge shares the same account with the any one connection edge.

[0130] In the embodiments of the present application, on the basis of establishing the connection edges, the weight of each established connection edge can be further determined. For example, for any one of the established connection edges, the weight of the any one of the connection edges can be determined according to the number of behavior initiation accounts corresponding to the any one of the connection edges and the number of behavior initiation accounts corresponding to the shared connection edges. The shared connection edges are different from the any one of the connection edges and share the same account with the any one of the connection edges. Here, the shared account refers to the account at the end point of the connection edge.

[0131] For example, the number of behavior initiation accounts corresponding to all shared connection edges of the any one of the connection edges can be summed to obtain a sum number, and the number of behavior initiation accounts corresponding to the any one of the connection edges is divided by the sum number to obtain the weight of the any one of the connection edges. If there is only one shared connection edge, the number of behavior initiation accounts corresponding to the shared connection edge is directly taken as the sum number. Of course, the calculation method of the weight of the connection edge is not limited to this.

[0132] In some embodiments, before step 302, the method further includes: when the any one of the connection edges is a non-directional connection edge, taking the connection edge different from the any one of the connection edges and sharing the same account with the any one of the connection edges as a shared connection edge; and when the any one of the connection edges is a directional connection edge, taking the connection edge different from the any one of the connection edges and sharing the start point account with the any one of the connection edges as a shared connection edge. The start point account is the account connected to the any one of the connection edges and serving as a start point.

[0133] Here, when the any one of the connection edges is a non-directional connection edge, the connection edge different from the any one of the connection edges and sharing the same account with the any one of the connection edges is taken as a shared connection edge. As an example, as shown in FIG. 6, for the connection edge between the account A and the account B, the shared connection edges include the connection edge between the account A and the account D (sharing the account A), the connection edge between the account B and the account C (sharing the account B), and the connection edge between the account B and the account E (sharing the account B). Figure 5

[0134] When the any one of the connection edges is a directional connection edge, the connection edge different from the any one of the connection edges and sharing the start point account with the any one of the connection edges is taken as a shared connection edge. As an example, as shown in FIG. 6, for the connection edge 61, the shared connection edge only includes the connection edge 62 (sharing the start point account, i.e., the account A). In this way, the shared connection edge can be accurately determined based on the type of the connection edge. Figure 6

[0135] In step 303, the account network graph is established according to the established plurality of connection edges and the weight of each connection edge.​​

[0136] Here, according to all the established connection edges and the weight of each connection edge, the account network graph is established.

[0137] In step 304, the account network graph is processed by walking to obtain an account sequence.

[0138] The greater the weight of the connection edge, the more important the connection edge is in the account network graph, and thus the greater the probability of walking. Therefore, the account network graph can be processed by walking according to the weight of the connection edge to obtain an account sequence, which will be described below.

[0139] As shown in Figure 3C , the embodiment of the present application establishes a connection edge according to a behavior initiating account, and determines the weight of the connection edge according to the number of behavior initiating accounts corresponding to the connection edge, so that the weight of the connection edge can directly reflect the importance of the connection edge, improving the integrity and comprehensiveness of the established account network graph.

[0140] In some embodiments, referring to Figure 3D , Figure 3D is a flowchart of the recommendation method based on artificial intelligence provided by the embodiment of the present application, Figure 3A The step 101 shown can be implemented by steps 401 to 404, which will be described in combination with each step.

[0141] In step 401, according to the historical interaction behavior of the plurality of accounts, an account network graph between the plurality of accounts is established.

[0142] In step 402, any one account in the account network graph is taken as a walking starting account.

[0143] In step 403, the weight of the plurality of connection edges connected to the walking starting account is normalized, a connection edge is determined according to the normalized probability obtained by the normalization to perform walking, and the account walked to is taken as a new walking starting account until the number of accounts passed in the walking process reaches a number threshold.

[0144] In the case where the established account network graph includes a plurality of connection edges and the weight of each connection edge, any one account in the account network graph can be taken as a walking starting account, and walking processing is performed from the walking starting account.

[0145] When the edges in the account network graph are undirected, the weights of multiple edges connecting to the starting account of the walk can be normalized. Based on the normalized probability (walk probability) obtained from the normalization process, an edge is determined for the walk, and the account reached is used as the new starting account. This process continues until the number of accounts traversed during the walk reaches a threshold. After normalization, the sum of the normalized probabilities of all edges connecting to the starting account is 1. For example... Figure 5 As shown, taking account A as the starting account, and the weight of the edge connecting account A and account B as 1 / 5, and the weight of the edge connecting account A and account D as 1 / 4, the probability of walking to account B in the next step (i.e., the normalized probability) is 4 / 9, and the probability of walking to account D in the next step is 5 / 9.

[0146] When the edges in the account network graph are directed, the weights of multiple edges connecting the starting account of the walk, where the starting account is the same as the starting account of the walk, can be normalized. Based on the normalized probability, a single edge is determined for the walk, and the account reached during the walk becomes the new starting account, until the number of accounts traversed during the walk reaches a threshold. For example... Figure 6 As shown, taking account A as the starting account of the journey, the connecting edges that connect to the starting account of the journey and have the same starting account as the starting account of the journey include connecting edge 61 and connecting edge 62. If the weights of connecting edge 61 and connecting edge 62 are 1 / 2 and 1 / 3 respectively, then the probability of the journey following connecting edge 61 (i.e., the probability of the next journey to account B) is 3 / 5, and the probability of the journey following connecting edge 62 (i.e., the probability of the next journey to account D) is 2 / 5.

[0147] In step 404, the accounts that are passed through during the walk are added to the account sequence in sequence.

[0148] Here, the accounts passed through during the walk are added to the account sequence in sequence, meaning the order of the accounts in the account sequence is consistent with the order of the accounts passed through during the walk. This can improve the accuracy of the obtained account sequence.

[0149] like Figure 3D As shown, the embodiments of this application perform traversal processing based on the weight of the connecting edges. The larger the weight, the more likely the traversal is to be completed, which can improve the effectiveness of the traversal processing.

[0150] In some embodiments, see Figure 3E , Figure 3E This is a flowchart illustrating the AI-based recommendation method provided in an embodiment of this application. Figure 3A Before step 102, in step 501, the sample content and the corresponding sample content features can also be obtained.

[0151] In the embodiment of the present application, the content can be identified based on the principle of machine learning to obtain the content feature. First, the sample content and the corresponding sample content feature are obtained for model training, wherein the sample content feature can be artificially annotated or obtained by other means.

[0152] In step 502, the sample content is identified by the content identification model to obtain the content feature to be compared.

[0153] The type of the content identification model is not limited in the embodiment of the present application, which can be a convolutional neural network model or a decision tree model, etc. After obtaining the sample content, the identification task is performed by the content identification model, i.e. the sample content is identified. In order to distinguish, the content feature obtained by the identification is named as the content feature to be compared.

[0154] In step 503, the content identification model is trained according to the difference between the content feature to be compared and the sample content feature.

[0155] For example, the difference (i.e. loss value) between the content feature to be compared and the sample content feature can be determined according to the loss function of the content identification model. The difference is back propagated in the content identification model, and the weight parameters of the content identification model are updated during the back propagation to train the content identification model, wherein the type of the loss function is not limited, which can be a cross-entropy loss function.

[0156] It is worth noting that steps 501 to 503 can be executed after step 101 or before step 101.

[0157] In step 504, the content published by the accounts in the account sequence is identified by the trained content identification model to obtain the content feature.

[0158] Unlike the account vector model, the trained content identification model is still used to perform the identification task. After the account network graph is processed to obtain the account sequence, the content published by the accounts in the account sequence (or the account sequence obtained by the interception processing) is identified by the trained content identification model to obtain the content feature.

[0159] In some embodiments, the types of sample content features include multiple types, and each type of sample content feature corresponds to a content recognition model; the above-mentioned training of the content recognition model based on the difference between the content features to be compared and the sample content features can be achieved in the following way: based on the difference between any type of content features to be compared and any type of sample content features, train a content recognition model corresponding to any type; the above-mentioned recognition of the content published by accounts in the account sequence using the trained content recognition model can be achieved in the following way: the content published by accounts in the account sequence using the trained content recognition model corresponding to any type can be recognized to obtain content features of any type.

[0160] In this embodiment, the sample content features can include various types, such as content categories and content tags. Content categories represent the general commonalities and similarities of content, such as movie, variety show, and social categories. Content tags represent the actual concepts contained in the content, such as detailed information about the people, places, and scenes involved. In this case, a content recognition model can be trained separately for each type of sample content feature.

[0161] For example, a content recognition model corresponding to any given type can be trained based on the differences between the content features to be compared and the sample content features of that same type. For content posted by accounts within an account sequence, the trained content recognition model corresponding to that type can be used to identify and process the content, obtaining the content features of that specific type. In this way, after identifying and processing the content posted by accounts within an account sequence, multiple types of content features can be obtained, improving the comprehensiveness and accuracy of the identification process.

[0162] like Figure 3E As shown, this application embodiment performs supervised learning (training) on ​​the content recognition model and performs recognition tasks based on the trained content recognition model, which can improve the accuracy of the obtained content features and save the cost of manual annotation.

[0163] The following will describe an exemplary application of the embodiments of this application in a real-world application scenario. For ease of understanding, a scenario involving recommended account owners (corresponding to the content publishing accounts mentioned above) will be used as an example. The embodiments of this application provide, as follows: Figure 7 The diagram illustrating the determination of account vectors shows that after an account owner publishes content, the content is processed by multiple content recognition models to obtain various types of content features. Figure 7Taking content categories and tags as examples, for ease of explanation, various types of content features will be collectively referred to as prior features. Content published by an account owner can be distributed on the content consumption end of an information flow platform, meaning the content is presented to the clients of other accounts (which can be the account owner or not). Client users can perform interactive behaviors with account owners they are interested in through an account (hereinafter referred to as the behavior initiating account for ease of explanation). These interactive behaviors include clicking or commenting on content published by the account owner, as well as following the account owner. For ease of explanation, the historical interactive behaviors obtained regarding the account owner will be referred to as posterior features.

[0164] By combining the prior and posterior features of the account owner, an account vector model can be used to model the account owner, resulting in the account vector. Then, when making recommendations on the content consumption end, it's possible to determine the account owner targeted by the interaction behavior executed in real time by the initiating account, and identify similar account owners based on the account vector for recommendation purposes.

[0165] The following will describe the AI-based recommendation method provided in the embodiments of this application in the form of steps.

[0166] 1) Construct an account network graph.

[0167] In data structures, graphs are a fundamental and commonly used structure. Many real-world scenarios can be abstracted as graph structures, such as social networks, transportation networks, and the relationships between users and items on e-commerce websites. A directed graph refers to an ordered triple association function, which includes multiple vertices, directed edges connecting the vertices, and the weight of each directed edge. In this embodiment, a directed graph is constructed based on the posterior features of multiple account owners to serve as an account network graph. In the account network graph, vertices represent account owners, and the edges connecting any two vertices indicate that the same initiating account has executed historical interaction behaviors on both account owners corresponding to those two vertices, and the executed historical interaction behaviors satisfy the execution timing condition. The execution order of the historical interaction behaviors is also the order of the edges. In addition, the execution timing condition includes at least one of the following: continuous execution; execution time difference less than a time difference threshold.

[0168] For example, such as Figure 8 As shown, if the same account that initiates the action performs historical interaction actions on account owner D and account owner A consecutively, a directed connection edge from account owner D to account owner A can be established, and the correspondence between the directed connection edge and the account that initiated the action can be established to facilitate the subsequent determination of weights.

[0169] As an example, this application provides an example formula for determining weights: Among them, w nmdenotes the weight of the directed connection edge from account host n to account host m, user nm denotes the number of behavior initiation accounts corresponding to the directed connection edge from account host n to account host m, and N denotes the total number of directed connection edges with account host n as the starting point account.

[0170] 2) Obtain an account sequence through the walk processing.

[0171] In the embodiments of the present application, the account sequence can be obtained based on the mechanism of random walk, which is a depth-first search algorithm that can repeatedly access the visited vertex. For example, any one account host in the account network graph can be taken as a walk starting account, and the weights of the multiple directed connection edges with the walk starting account as the starting account (here, the starting account refers to the starting point of the directed connection edge) are normalized, a connection edge is selected according to the normalized probability obtained by the normalization processing to perform the walk, and the account host walked to is taken as a new walk starting account, until the number of account hosts passed in the walk process reaches a number threshold. Finally, the account hosts passed in the walk process are sequentially added to the account sequence, and the number of account hosts in the account sequence is equal to the number threshold, wherein the number threshold can be set according to the actual application scenario. Of course, this does not constitute a limitation on the walk processing, for example, the walk processing can also be performed by Node2vec or Deepwalk.

[0172] 3) Train a neural network model to model the account host.

[0173] Here, the account sequence can be processed by cutting according to the set window size, and the neural network model (i.e., the account vector model) is trained according to the account sequence obtained by the cutting processing, wherein the window size can be set according to the actual application scenario, such as 5. For the account sequence obtained by the cutting processing, each account host included therein is associated, so that some account hosts therein can be used to predict other account hosts.

[0174] The embodiments of the present application provide an architecture schematic diagram of an account vector model as shown in Figure 9 The account vector model can include an input layer, a hidden layer, and an output layer, wherein the prediction task to be performed by the account vector model is a task of predicting an output account according to an input account, the input account can be an account host located at the center in the account sequence obtained by the cutting processing, such as w(t) in Figure 9 , and the output account can include an account host different from the input account in the account sequence obtained by the cutting processing, such as w(t+1) in Figure 9The numbers w(t-2), w(t-1), w(t+1), and w(t+2) are used. However, this does not constitute a limitation on the embodiments of this application. For example, the input account may include multiple account owners located outside the center in the account sequence obtained by the truncation process, and the output account may be the account owner located at the center in the account sequence obtained by the truncation process.

[0175] Since account holders cannot be directly input into the account vector model, they can be encoded, such as through one-hot encoding, to obtain encoded features. Based on this, this embodiment introduces prior features of the account holder as supplementary information. Specifically, the encoded features of the input account and the prior features are fused (e.g., concatenated) to obtain fused features, which are then input into the account vector model.

[0176] As an example, embodiments of this application provide, for instance, the following: Figure 10 The diagram shown illustrates the architecture of the account vector model. Figure 10 In this model, the encoded features and prior features of the input account can be concatenated and then input into the account vector model. The prior features include various types of content features, such as... Figure 10 The content features shown are 1 to n, representing n types of content features. It's worth noting that before concatenation, each type of content feature can be encoded, such as through one-hot encoding.

[0177] Since the fused features input to the account vector model are relatively sparse, direct computation would be computationally expensive. Therefore, the fused features of the input accounts can be compressed to obtain dense features, which are then input into the hidden layer. Next, the hidden layer weight matrix (corresponding to the account vector matrix mentioned above, such as...) is applied. Figure 10 After processing the H identifier (in the model) and the output layer weight matrix, the predicted features are obtained through Softmax classification. Figure 10 In the Softmax classification layer shown, each circle represents the fused feature of an account owner. P indicates that the fused feature of the corresponding account owner is the output feature to be compared, and N indicates that the fused feature is not the output feature to be compared.

[0178] Based on the difference (i.e., the loss value) between the output features to be compared and the fused features of the output account, the hidden layer weight matrix and the output layer weight matrix of the account vector model can be updated. Finally, the updated hidden layer weight matrix is ​​split to obtain the account vectors of each account holder. For example, in the updated hidden layer weight matrix, each column represents the account vector of one account holder.

[0179] 4) Recommend similar account owners based on account vectors.

[0180] Here, when an interaction behavior for any one account host (for ease of illustration, named interaction account host) is received at the content consumption end, the similarity (such as cosine similarity) between the interaction account host and each of the other account hosts is determined according to the account vector, and the account host with a similarity greater than a similarity threshold is taken as a similar account host of the interaction account host, where the similarity threshold can be set according to the actual application scenario, such as 60%. Finally, a recommendation operation for the similar account host is performed, for example, the name of the similar account host is recommended or the content published by the similar account host is recommended.

[0181] According to the inventor's experimental verification, after the information stream platform applies the scheme provided in the embodiments of the present application, the attention rate of the account host is increased by 50%, the video playback completion rate is increased by 10%, and the content like rate is increased by 84%, so that the embodiments of the present application can effectively improve the recommendation accuracy and optimize the user experience.

[0182] The following continues to illustrate an exemplary structure of the recommendation device 455 based on artificial intelligence provided in the embodiments of the present application implemented as a software module. In some embodiments, as shown in FIG. 4, the software module stored in the recommendation device 455 based on artificial intelligence in the memory 450 can include: Figure 2 The software module stored in the recommendation device 455 based on artificial intelligence in the memory 450 can include: an establishment module 4551 for establishing an account network graph between a plurality of accounts according to historical interaction behaviors for the plurality of accounts, and performing walk processing on the account network graph to obtain an account sequence; a training module 4552 for training an account vector model according to content features of the accounts in the account sequence; a vector determination module 4553 for determining account vectors corresponding to the plurality of accounts according to the trained account vector model; and a recommendation module 4554 for determining similar accounts of any one account according to the account vectors in response to an interaction behavior for the any one account, and performing a recommendation operation for the similar accounts.

[0183] In some embodiments, the training module 4552 is further configured to: perform selection processing on the account sequence to obtain an input account; perform account prediction processing on the content features of the input account through the account vector model to obtain a to-be-compared account; update an account vector matrix of the account vector model according to a difference between the to-be-compared account and an output account; and the vector determination module 4553 is further configured to: perform splitting processing on the updated account vector matrix to obtain the account vectors corresponding to the plurality of accounts, respectively.

[0184] In some embodiments, the training module 4552 is further configured to: perform encoding processing on the accounts in the account sequence to obtain encoded features; perform fusion processing on the encoded features of the accounts in the account sequence and the content features of the accounts to obtain fusion features of the accounts; perform feature prediction processing on the fusion features of the input accounts by the account vector model to obtain the to-be-compared features; wherein the to-be-compared features are used to represent the to-be-compared accounts; and update the account vector matrix of the account vector model according to the difference between the to-be-compared features and the fusion features of the output accounts.

[0185] In some embodiments, the training module 4552 is further configured to: perform any one of the following processing: taking an account located at the center of the account sequence as an input account; or taking multiple accounts located outside the center of the account sequence as input accounts.

[0186] In some embodiments, the training module 4552 is further configured to: perform truncation processing on the account sequence according to the window size; and take the account sequence obtained by the truncation processing as the account sequence to be selected.

[0187] In some embodiments, the establishing module 4551 is further configured to: when the behavior initiation accounts of the historical interaction behaviors corresponding to any two accounts are the same, establish a connection edge between the any two accounts, and establish a corresponding relationship between the connection edge and the behavior initiation account; determine the weight of any one connection edge according to the number of behavior initiation accounts corresponding to the established any one connection edge and the number of behavior initiation accounts corresponding to the shared connection edge; wherein the shared connection edge shares the same account with any one connection edge; and establish the account network graph according to the established multiple connection edges and the weight of each connection edge.

[0188] In some embodiments, the establishing module 4551 is further configured to: perform any one of the following processing: establishing an undirected connection edge between any two accounts; or establishing a directed connection edge between any two accounts according to the execution order of the historical interaction behaviors corresponding to the any two accounts.

[0189] In some embodiments, the establishing module 4551 is further configured to: when any one connection edge is an undirected connection edge, taking a connection edge that is different from any one connection edge and shares the same account with any one connection edge as a shared connection edge; and when any one connection edge is a directed connection edge, taking a connection edge that is different from any one connection edge and shares a starting account with any one connection edge as a shared connection edge; wherein the starting account is an account connected to any one connection edge and serving as a starting point.

[0190] In some embodiments, the establishing module 4551 is further configured to: when the historical interaction behaviors corresponding to any two accounts satisfy an execution timing condition, establish a connection edge between the any two accounts; and the execution timing condition comprises at least one of the following: continuous execution; and a time difference is less than a time difference threshold.

[0191] In some embodiments, the account network graph comprises a plurality of connection edges and a weight of each connection edge; and the establishing module 4551 is further configured to: take any one account in the account network graph as a walking starting point account; normalize the weights of the plurality of connection edges connected to the walking starting point account, determine one connection edge according to a normalized probability obtained by the normalization, and take the account walked to as a new walking starting point account until a quantity of accounts passed in the walking process reaches a quantity threshold; and sequentially add the accounts passed in the walking process to the account sequence.

[0192] In some embodiments, the content identification module is configured to: obtain sample content and a sample content feature corresponding to the sample content; perform identification processing on the sample content by using a content identification model to obtain a content feature to be compared; train the content identification model according to a difference between the content feature to be compared and the sample content feature; and perform identification processing on the content published by the accounts in the account sequence by using the trained content identification model to obtain the content feature.

[0193] In some embodiments, the types of the sample content features include multiple types, and each type of the sample content features corresponds to a content identification model; and the content identification module is further configured to: train any type of the content identification model according to a difference between any type of the content feature to be compared and any type of the sample content feature; and perform identification processing on the content published by the accounts in the account sequence by using any type of the trained content identification model to obtain any type of the content feature.

[0194] The embodiment of the present application provides a computer program product or a computer program, the computer program product or the computer program includes computer instructions stored in a computer readable storage medium. A processor of a computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions, so that the computer device executes the recommendation method based on artificial intelligence provided in the embodiment of the present application.

[0195] The embodiment of the present application provides a computer readable storage medium storing executable instructions, wherein the executable instructions are stored, when the executable instructions are executed by a processor, the processor will execute the method provided by the embodiment of the present application, for example, as follows Figure 3A 、 Figure 3B 、 Figure 3C 、 Figure 3D andFigure 3E An artificial intelligence based recommendation method is shown.

[0196] In some embodiments, the computer readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, a magnetic surface memory, an optical disk, or a CD-ROM, etc.; or various devices including one or any combination of the above memories.

[0197] In some embodiments, the executable instructions can take the form of a program, software, software modules, scripts, or code, written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and they can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0198] As an example, the executable instructions can, but need not, correspond to a file in a file system. The executable instructions can be stored in one or more files, for example, in a group of files that store other programs or data, in a single file dedicated to the program in question, or in multiple files on a file system.

[0199] As an example, the executable instructions can be deployed to execute on one computer device, or on multiple computer devices located at one site, or on multiple computer devices distributed across multiple sites and interconnected by a communication network.

[0200] The above merely provides an example of the embodiments of the present application, and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, and improvement within the spirit and scope of the present application shall be included in the protection scope of the present application.

Claims

1. An artificial intelligence-based recommendation method, characterized by, The method comprises the following steps: According to the historical interaction behavior of a plurality of accounts, an account network graph is established between the plurality of accounts, and a walk process is performed on the account network graph to obtain an account sequence, the account sequence comprising the accounts associated with the account; The account sequence is selected to obtain an input account; The account sequence is encoded to obtain an encoded feature; The encoded feature of the account in the account sequence and the content feature of the account are fused to obtain a fusion feature of the input account; The fusion feature of the input account is predicted by an account vector model to obtain a feature to be compared, wherein the feature to be compared is used to represent an account to be compared; According to the difference between the feature to be compared and the fusion feature of the output account, the account vector matrix of the account vector model is updated, wherein the output account is an account in the account sequence that is different from the input account; The updated account vector matrix is split to obtain an account vector corresponding to each of the plurality of accounts; In response to the interaction behavior of any one account, the similar account of the any one account is determined according to the account vector, and a recommendation operation for the similar account is performed.

2. The method of claim 1, wherein, The account sequence is selected to obtain an input account, comprising: Performing any one of the following processing: The account in the center of the account sequence is taken as the input account; The plurality of accounts outside the center of the account sequence are all taken as the input account.

3. The method of claim 1, wherein, Before the account sequence is selected, the method further comprises: According to the window size, the account sequence is intercepted; The account sequence obtained by the interception processing is taken as the account sequence to be selected.

4. The method according to any one of claims 1 to 3, characterized in that, According to the historical interaction behavior of a plurality of accounts, an account network graph is established between the plurality of accounts, comprising: When the behavior initiation accounts of the historical interaction behaviors corresponding to any two accounts are the same, a connection edge between the any two accounts is established, and a corresponding relationship between the connection edge and the behavior initiation account is established; According to the number of behavior initiation accounts corresponding to any one connection edge and the number of behavior initiation accounts corresponding to the shared connection edge, the weight of the any one connection edge is determined; Wherein, the shared connection edge shares the same account with the any one connection edge; According to the plurality of connection edges established and the weight of each connection edge, an account network graph is established.

5. The method of claim 4, wherein, The connection edge between the any two accounts is established, comprising: Performing any one of the following processing: A non-directional connection edge between the any two accounts is established; According to the execution order of the historical interaction behaviors corresponding to the any two accounts, a directional connection edge between the any two accounts is established.

6. The method of claim 4, wherein, Before determining the weight of the any one connection edge according to the number of behavior initiation accounts corresponding to the any one connection edge and the number of behavior initiation accounts corresponding to the shared connection edge, the method further comprises: When the arbitrary one connection edge is an undirected connection edge, a connection edge that is distinguished from the arbitrary one connection edge and shares a same account with the arbitrary one connection edge is taken as a shared connection edge; When the arbitrary one connection edge is a directed connection edge, a connection edge that is distinguished from the arbitrary one connection edge and shares a starting account with the arbitrary one connection edge is taken as a shared connection edge; The starting account is an account connected by the arbitrary one connection edge and serving as a starting point.

7. The method of claim 4, wherein, The establishing of the connection edge between the arbitrary two accounts comprises: When the historical interaction behaviors corresponding to the arbitrary two accounts respectively satisfy an execution timing condition, the connection edge between the arbitrary two accounts is established; The execution timing condition comprises at least one of the following: continuous execution; and an execution time difference less than a time difference threshold.

8. The method according to any one of claims 1 to 3, characterized in that, The account network graph comprises a plurality of connection edges and a weight of each connection edge; The walk processing of the account network graph to obtain an account sequence comprises: Taking an arbitrary one account in the account network graph as a walk starting account; Normalizing weights of a plurality of connection edges connected to the walk starting account, determining one connection edge according to a normalized probability obtained by the normalizing to perform a walk, and Taking an account walked to as a new walk starting account until a quantity of accounts passed in the walk process reaches a quantity threshold; Adding the accounts passed in the walk process to the account sequence in sequence.

9. The method according to any one of claims 1 to 3, characterized in that, Before the selecting processing of the account sequence to obtain an input account, the method further comprises: Obtaining sample content and a corresponding sample content feature; Identifying the sample content by a content recognition model to obtain a content feature to be compared; Training the content recognition model according to a difference between the content feature to be compared and the sample content feature; Identifying content published by an account in the account sequence by the trained content recognition model to obtain a content feature.

10. The method of claim 9, wherein, The sample content features comprise a plurality of types, and each type of sample content feature corresponds to a content recognition model; The training of the content recognition model according to the difference between the content feature to be compared and the sample content feature comprises: Training the content recognition model corresponding to any one type according to a difference between the content feature to be compared of any one type and the sample content feature of any one type; The identification of content published by an account in the account sequence by the trained content recognition model to obtain a content feature comprises: Identifying content published by an account in the account sequence by the trained content recognition model corresponding to any one type to obtain the content feature of any one type. 11.A recommendation apparatus based on artificial intelligence, characterized by, The method comprises: A establishing module is configured to establish an account network graph among a plurality of accounts according to historical interaction behaviors of the plurality of accounts, and to obtain an account sequence by walk processing of the account network graph, the account sequence comprising the accounts associated. The training module is configured to perform selection processing on the account sequence to obtain an input account; The account in the account sequence is encoded to obtain an encoded feature; The encoded feature of the account in the account sequence and the content feature of the account are fused to obtain a fusion feature of the input account; The fusion feature of the input account is predicted by an account vector model to obtain a feature to be compared, wherein the feature to be compared is used to represent an account to be compared; According to the difference between the feature to be compared and the fusion feature of an output account, an account vector matrix of the account vector model is updated, wherein the output account is an account in the account sequence that is different from the input account; The vector determination module is configured to split the updated account vector matrix to obtain account vectors corresponding to the plurality of accounts respectively. The recommendation module is configured to determine similar accounts of an arbitrary account according to the account vector in response to an interaction behavior of the arbitrary account, and perform a recommendation operation on the similar accounts.

12. The apparatus of claim 11, wherein, The training module is further configured to perform any one of the following processing: An account in the center of the account sequence is taken as an input account; The plurality of accounts outside the center of the account sequence are all taken as input accounts. The training module is further configured to:

13. The apparatus of claim 11, wherein, According to the window size, the account sequence is intercepted to obtain an account sequence to be processed. The account sequence obtained by the interception processing is taken as the account sequence to be processed. It includes:

14. An electronic device, comprising: A memory configured to store executable instructions; A processor configured to execute the executable instructions stored in the memory to implement the recommendation method based on artificial intelligence according to any one of claims 1 to 10. The storage has executable instructions for being executed by the processor to implement the recommendation method based on artificial intelligence according to any one of claims 1 to 10.

15. A computer-readable storage medium, characterized in that, The computer program is executed by the processor to implement the recommendation method based on artificial intelligence according to any one of claims 1 to 10.

16. A computer program product comprising a computer program, characterized in that, ​

Citation Information

Patent Citations

  • Data processing method and device and server

    CN108304526A

  • Mobile terminal BIM model intelligent caching method based on building construction process network recommendation

    CN110442977A