Recommendation method and device, equipment, storage medium and product

By constructing target graph data and performing spectral clustering, the accuracy problem of family-oriented recommendations is solved, and content recommendations that are more in line with the needs of family users are achieved.

CN119295187APending Publication Date: 2025-01-10CHINA MOBILE INFORMATION TECHNOLOGY CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411605412.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-11
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The prior art is difficult to implement refined recommendations for families, and it is impossible to accurately recommend potential needs of users in families.

Method used

By obtaining user group information, building target graph data, performing spectral clustering, and recommending unsubscribed businesses and unused devices in the cluster cluster to achieve more accurate marketing recommendations.

Benefits of technology

Improve the accuracy of recommendations for home users and meet their content recommendations that meet their needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119295187A_ABST
    Figure CN119295187A_ABST
Patent Text Reader

Abstract

The invention discloses a recommendation method and device, equipment, a storage medium and a product, and relates to the technical field of artificial intelligence. According to the method, the target graph data is constructed by acquiring the information of the multiple user groups, so that the relation among the user groups, the services subscribed by the users and the devices used by the users is clearly and structurally expressed, and the accuracy of subsequent spectral clustering is ensured; according to the method, spectral clustering is carried out on the target map data, and unsubscribed services and unused equipment in the same cluster are recommended to the user group based on the cluster of the clustering result, so that more accurate marketing is realized, and contents which better meet the requirements of the user are recommended to the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence technology, and in particular to a recommendation method, device, equipment, storage medium and product. Background Art

[0002] At present, the marketing goal is mainly focused on individuals. Through refined operational analysis of individual purchasing behavior, similar products that users have purchased or browsed are recommended. This situation cannot be applied to refined operations for families.

[0003] Therefore, how to achieve more accurate recommendations for families is an urgent problem that needs to be solved. Summary of the invention

[0004] The main purpose of this application is to provide a recommended method, device, equipment, storage medium and product, aiming to solve the technical problem of improving the efficiency and accuracy of alarm processing.

[0005] To achieve the above objectives, this application proposes a recommended method, which includes: Obtaining information of multiple user groups, including the type of devices used and the subscribed services of each user in the user group; Based on multiple user group information, target graph data is constructed; the nodes in the target graph data include device nodes, user group nodes and service nodes, the edges between user group nodes and device nodes are determined according to whether the corresponding user group uses the corresponding type of device, the edges between user group nodes and service nodes are determined according to whether the corresponding user group subscribes to the corresponding service, and the edges between device nodes and service nodes are determined according to whether there is an association relationship between the corresponding type of device and the corresponding service; Perform spectral clustering on the target graph data to obtain cluster clusters; For the user group nodes in the cluster, other types of devices and / or other services in the cluster except the types of devices used by the user group and subscribed services are used as recommended devices and / or recommended services for the corresponding user group.

[0006] In some embodiments, before constructing target graph data based on multiple user group information, the method includes: Obtaining an original service description text of each service, wherein the original service description text includes the service and multiple device types corresponding to the service; Building a vocabulary based on each segmented word and the frequency of the segmented word in the original business description text; Cluster the vocabulary to obtain multiple pre-clustered clusters; For the types of services and devices in the same pre-clustering cluster, it is determined that the types of devices and services are associated with each other.

[0007] In some embodiments, the weight of the edge between the user group node and the device node is set to a first weight; Setting the weight of the edge between the user group node and the service node to a first weight; When the service corresponding to the service node and the device type corresponding to the device node are in the same pre-clustered cluster, setting the weight of the edge between the device node and the service node to a second weight; When the service corresponding to the service node and the device type corresponding to the device node are not in the same pre-clustering cluster, but the service and the device type are in the same original service description text, the weight of the edge between the device node and the service node is set to a third weight, wherein the second weight is greater than the third weight.

[0008] In some embodiments, performing spectral clustering on target graph data to obtain cluster clusters includes: Construct a similarity matrix based on the adjacency matrix corresponding to the target graph data; Based on the similarity matrix, construct the Laplace matrix; Based on the eigenvalues ​​corresponding to the Laplace matrix and the eigenvectors corresponding to the eigenvalues, a characteristic matrix is ​​formed; Based on the feature matrix, determine the number of clusters; Cluster the feature matrix according to the number of clusters.

[0009] In some embodiments, determining the number of clusters based on the feature matrix includes: Randomly obtain multiple sub-datasets in the feature matrix; For each sub-dataset and feature matrix, multiple cluster numbers are used for clustering, and the clustering results corresponding to each sub-dataset and feature matrix under each cluster number are obtained; Based on the clustering results, calculate statistical indicators; The number of clusters corresponding to the maximum value of the statistical indicator is determined as the number of clustering clusters.

[0010] In some embodiments, based on the clustering results, statistical indicators are calculated, including: For each sub-dataset and each clustering result of the feature matrix, calculate the corresponding clustering evaluation index; The statistical indicators are calculated using the following expressions:

[0011] in, For statistical indicators, is the average value of clustering evaluation indicators of multiple sub-datasets, is the clustering evaluation index corresponding to the feature matrix.

[0012] In addition, to achieve the above purpose, the present application also proposes a recommendation device, which includes: A data acquisition module is used to acquire information of multiple user groups, where the user group information includes the type of device used and the subscribed services of each user in the user group; A relationship building module is used to build target graph data based on multiple user group information; the nodes in the target graph data include device nodes, user group nodes and service nodes, the edges between user group nodes and device nodes are determined according to whether the corresponding user group uses the corresponding type of device, the edges between user group nodes and service nodes are determined according to whether the corresponding user group subscribes to the corresponding service, and the edges between device nodes and service nodes are determined according to whether there is an association relationship between the corresponding type of device and the corresponding service; Clustering module, used to perform spectral clustering on the target graph data to obtain cluster clusters; The recommendation module is used to recommend other types of devices and / or other services in the cluster, except for the types of devices used by the user group and the subscribed services, as recommended devices and / or recommended services for the corresponding user group, for the user group nodes in the cluster.

[0013] In addition, to achieve the above objectives, the present application also proposes a recommendation device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the recommendation method described above.

[0014] In addition, to achieve the above objectives, the present application also proposes a storage medium, which is a computer-readable storage medium. A computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the recommended method described above are implemented.

[0015] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of the recommended method described above are implemented.

[0016] One or more technical solutions proposed in this application have at least the following technical effects: By acquiring information of multiple user groups and constructing target graph data, the relationship between user groups, services subscribed by users, and devices used by users can be clearly expressed in a structured manner, thereby ensuring the accuracy of subsequent spectral clustering. Spectral clustering is performed on the target graph data, and based on the clustering clusters of the clustering results, unsubscribed services and unused devices in the same cluster are recommended to the user groups, thereby achieving more accurate marketing and recommending content that better meets the needs of users. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0018] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0019] Figure 1 A schematic diagram of a process flow of a recommended method provided by an embodiment of the present application is shown; Figure 2 A schematic diagram showing the structure of target graph data provided by an exemplary embodiment of the present application is shown; Figure 3 A schematic diagram of the structure of a recommended device provided in an embodiment of the present application is shown; Figure 4 A schematic diagram of the structure of a recommended device provided in an embodiment of the present application is shown.

[0020] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0021] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0022] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0023] The main solution of the embodiment of the present application is: obtaining multiple user group information, the user group information includes the used device type and subscribed services of each user in the user group; constructing target graph data based on multiple user group information; the nodes in the target graph data include device nodes, user group nodes and service nodes, the edges between user group nodes and device nodes are determined according to whether the corresponding user group uses the corresponding type of device, the edges between user group nodes and service nodes are determined according to whether the corresponding user group subscribes to the corresponding service, and the edges between device nodes and service nodes are determined according to whether there is an association between the corresponding type of device and the corresponding service; performing spectral clustering on the target graph data to obtain cluster clusters; for the user group nodes in the cluster clusters, other types of devices and / or other services in the cluster clusters except the type of used devices and subscribed services of the user group are used as recommended devices and / or recommended services for the corresponding user group.

[0024] In the related technology, at present, the marketing goal is mainly focused on individuals. Through refined operational analysis of individual purchasing behavior, similar products that users have purchased or browsed are recommended. This situation cannot be applied to refined operations for families. For a family, when a user buys an expensive item, other users will often prefer to buy additional products of this item, and this user will not be willing to buy.

[0025] As a result, it is impossible to accurately recommend services or equipment that a family is likely to purchase once.

[0026] In summary, how to achieve more accurate recommendations for families is an urgent problem that needs to be solved.

[0027] Based on this, the present application provides a solution to enable the business system to make more accurate recommendations for families.

[0028] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or a recommended device capable of realizing the above functions, etc. The following takes the recommended device as an example to illustrate this embodiment and the following embodiments.

[0029] Reference Figure 1 , Figure 1 The flowchart of the recommendation method provided by an embodiment of the present application is shown. The recommendation method can be applied to recommend a device, and includes the following steps S110 to S140: Step S110, obtaining information of multiple user groups.

[0030] The user group refers to a group composed of a plurality of different individual users. For example, the user groups may be different families or different companies, which is not limited in this embodiment.

[0031] In some implementations, a communication service provider may determine a user group through a broadband account, and determine individual users within the user group through users of the broadband account.

[0032] In this embodiment, the user group information includes the type of used devices and subscribed services of each user in the user group.

[0033] Business refers to the collection of services provided by a service provider (such as a telecommunications operator) to users. Different services may contain the same or different service content. Users can achieve specific purposes by subscribing to services.

[0034] Equipment refers to hardware facilities. It is understandable that the business is generally a cloud service that needs to act on specific hardware facilities and realize certain service contents in the business by controlling the equipment. Users can achieve corresponding purposes based on the business by purchasing relevant equipment that matches the business.

[0035] The service content included in the business can act on different types of devices respectively. For example, for cloud monitoring services, the business can include video data acquisition, video data recognition, video data storage, alarm and other service content, among which video data acquisition can act on the camera, video data recognition and storage can act on the computing device (such as a computer), and alarm can act on the user's mobile terminal. In some implementations, if the user does not purchase the corresponding complete equipment for the business, he may not be able to experience the complete service content in the business.

[0036] In some implementations, the corresponding service purchase situation can be searched based on the pre-stored information of each member user in the user group. For example, the pre-stored information can be a personal contact number, such as a mobile phone number. Through the mobile phone number, the services currently handled by each member user are queried, so as to sort out the services subscribed by the user group to which the member user belongs.

[0037] In some implementations, as described above, the user group can be determined by the broadband account. In this embodiment, the media access control address (MAC) of the broadband can also be traced back through the broadband account, thereby tracing back to different types of used devices in the user group. The device type refers to the model or category of the device, which is used to distinguish different devices.

[0038] Based on this, as an example, the user group information may be that family A has purchased service 1 and service 2, and also purchased device 1, device 2, and device 3.

[0039] In some implementations, in order to achieve more precise marketing effects through subsequent steps and accurately recommend to users the content (equipment or services) they may need, the types of equipment required by different services to implement complete service content can be summarized first.

[0040] Specifically, the original service description text of each service may be obtained first. It is understandable that the original service description text includes the service and multiple device types corresponding to the service.

[0041] Since the original business description text is generally a document in PDF format, in some implementations, the PDFPlumberLoader tool in langchain can be used to read the text information of each page in the original business description text page by page, and replace irrelevant information such as the header and footer of each page with empty information through regular expressions to obtain all the text information.

[0042] The general large language model can be used to understand the semantics of text information, segment the text information into multiple words, and build a vocabulary. For each word, a vector representation can be created and added to the vocabulary. In addition, for repeated words, the word frequency of the word can be counted, and the frequency can be mapped in the vector to obtain the final vocabulary.

[0043] In some implementations, to evaluate the association between services and device types, a density-based clustering algorithm may be used to cluster vectors in the vocabulary. Specifically, the clustering algorithms that may be used include, but are not limited to, DBSCAN, CFSFDP, and other algorithms, which are not limited in this embodiment.

[0044] After clustering is completed, multiple pre-clustering clusters can be obtained; wherein each pre-clustering cluster contains at least one business and at least one device type. It can be understood that for businesses and device types in the same pre-clustering cluster, it can be determined that there is an association relationship between the type of device and the corresponding business. On the contrary, for businesses and device types that are not in the same pre-clustering cluster, it can be determined that there is no significant association relationship between them.

[0045] Step S120, constructing target graph data based on information of multiple user groups.

[0046] Graph data is a data structure that uses nodes and edges to represent entities and relationships. In some implementations, in order to accurately analyze the current service / equipment purchase situation of a user group (hereinafter described using a family as an example), a relationship graph of "equipment and services purchased by the family" can be constructed to obtain target graph data.

[0047] Specifically, the nodes in the target graph data include device nodes, user group nodes and business nodes. The edges between user group nodes and device nodes are determined based on whether the corresponding user group uses the corresponding type of device. The edges between user group nodes and business nodes are determined based on whether the corresponding user group subscribes to the corresponding business. The edges between device nodes and business nodes are determined based on whether there is an association relationship between the corresponding type of device and the corresponding business as described above.

[0048] like Figure 2As shown, taking the family as an example, in the target graph data, there are four user group nodes, namely, family 1, family 2, family 3 and family 4, two device nodes, namely, device 1 and device 2, and four service nodes, namely, service 1, service 2, service 3 and service 4. Family 1 purchased device 1 and service 1, and device 1 and service 1 have a direct or indirect association relationship; family 2 purchased service 1 and service 2, and service 1 and service 2 have a direct or indirect association relationship; family 3 purchased service 2, service 3, service 4 and device 2, and device 2 and service 4 have a direct or indirect association relationship; family 4 purchased service 4.

[0049] The direct association relationship refers to the association relationship established in step S110; the indirect association relationship refers to that the service and the device (or another service) are in the same original service description text but do not belong to the same pre-clustering cluster.

[0050] Based on the above purchase / order relationship and association relationship, we can construct Figure 2 Target graph data shown.

[0051] After the target graph data is initially constructed, in order to more accurately reflect the association between the business and the device type, in some implementations, the weight of each edge in the target graph data may also be determined in the following manner.

[0052] Specifically, referring to the relevant description in the aforementioned step S110, the weight of the edge between the user group node and the device node can be set to the first weight; the weight of the edge between the user group node and the business node can be set to the first weight; when the business corresponding to the business node and the device type corresponding to the device node are in the same pre-clustering cluster, the weight of the edge between the device node and the business node is set to the second weight; when the business corresponding to the business node and the device type corresponding to the device node are not in the same pre-clustering cluster, but the business and the device type are in the same original business description text, the weight of the edge between the device node and the business node is set to the third weight, wherein the second weight is greater than the third weight.

[0053] Specifically, Figure 2 For example, W1 in the figure is the first weight. Assuming that device 1 is directly associated with business 1, business 1 is indirectly associated with business 2, and business 4 is directly associated with device 2, the weight of the edge between device 1 and business 1 is the second weight, the weight of the edge between business 1 and business 2 is the third weight, and the weight of the edge between business 4 and device 2 is the second weight.

[0054] In some implementations, the first weight, the second weight, and the third weight may be set by the developer; preferably, the second weight may be 100, and the third weight may be 1, which is not set in this embodiment.

[0055] Step S130, obtaining target clustering results according to the target graph data.

[0056] In some implementations, in order to more directly reflect the connection relationship between nodes in the graph data, the target graph data may be converted into an adjacency matrix.

[0057] After obtaining the adjacency matrix, clustering can be performed through the following steps ① to ⑤ to obtain the target clustering results.

[0058] ① Construct a similarity matrix based on the adjacency matrix corresponding to the target graph data.

[0059] First, the distance matrix can be calculated based on the adjacency matrix. Each element in the distance matrix represents the distance between two nodes. Then, the distance matrix is ​​substituted into the Gaussian kernel function to obtain the similarity matrix.

[0060] ② Based on the similarity matrix, construct the Laplace matrix.

[0061] Specifically, we can first construct a degree matrix. The degree matrix is ​​a diagonal matrix whose diagonal elements are the degree of each data point, that is, the number of edges connected to the data point. Since the target graph data is an undirected graph, the degree matrix can be obtained by summing each row of the similarity matrix.

[0062] After obtaining the degree matrix, the similarity matrix can be subtracted from the degree matrix to obtain the Laplacian matrix.

[0063] ③ Based on the eigenvalues ​​corresponding to the Laplace matrix and the eigenvectors corresponding to the eigenvalues, a characteristic matrix is ​​formed.

[0064] First, based on the Laplace matrix, the eigenvalues ​​and corresponding eigenvectors can be decomposed to obtain the eigenvalues.

[0065] After obtaining the eigenvalues ​​and the corresponding eigenvectors, the matrix composed of the corresponding eigenvectors is standardized in units of rows to finally form a characteristic matrix.

[0066] ④ Based on the feature matrix, determine the number of clusters.

[0067] In order to ensure the clustering effect of the final clustering cluster and improve the accuracy, the number of the final clustering clusters is calculated by calculating the Gap statistic in this embodiment. In some embodiments, multiple sub-data sets can be randomly obtained in the feature matrix; for each sub-data set and the feature matrix, multiple cluster numbers are used for clustering, and the clustering results corresponding to each sub-data set and the feature matrix under each cluster number are obtained; based on the clustering results, the statistical index is calculated; the number of clusters corresponding to the maximum value of the statistical index is determined as the number of clustering clusters.

[0068] Specifically, step ④ may include the following steps 1) to 4).

[0069] 1) In the feature matrix, generate B sub-datasets of the original data set by random sampling. For each sub-dataset, the spectral clustering algorithm is also used to cluster the data in the sub-dataset into K clusters, and obtain K clusters corresponding to each of the B sub-datasets.

[0070] 2) For the feature matrix and B sub-datasets, calculate the clustering evaluation index respectively. The clustering evaluation index can be the average internal deviation sum of squares. Taking the average internal deviation sum of squares as an example, it is calculated by the following expression:

[0071] Among them, K is the number of clusters, represents the i-th cluster, Belongs to the cluster The jth data point of It is a cluster The center of mass, It is a cluster The number of data points.

[0072] 3) After obtaining the clustering evaluation index, calculate the Gap statistic (i.e., statistical index) to evaluate the difference between the clustering evaluation index of the feature matrix and the clustering evaluation index of the sub-dataset. The calculation is performed using the following expression:

[0073] Among them, AWSS_ref(K) is the average clustering evaluation index of B random sub-datasets, and AWSS(K) is the clustering evaluation index of the feature matrix.

[0074] 4) Based on the change curve of the Gap value, find the maximum value and determine the K corresponding to the maximum Gap value as the optimal number of clusters.

[0075] The larger the Gap is, the better the clustering quality of the feature matrix is, and the more stable the clustering result is.

[0076] Through the above steps, we can get the number of clusters K that best fits the feature matrix, which can reduce the error caused by manually setting the K value. At the same time, as the samples continue to increase and change, the optimal K value can be automatically iterated to ensure that the clustering results are always optimal.

[0077] ⑤ Clustering the feature matrix according to the number of clusters.

[0078] The feature matrix and the K value determined in the above embodiment can be used as input, and a preset clustering algorithm can be used for clustering to obtain a target clustering result. In some embodiments, the preset clustering algorithm can be a K-Means++ algorithm, which is not limited in this embodiment.

[0079] Step S140: for the user group nodes in the cluster, other types of devices and / or other services in the cluster except for the types of devices used by the user group and the subscribed services are used as recommended devices and / or recommended services for the corresponding user group.

[0080] It is understandable that the target clustering result finally obtained should be one or more clusters, each of which may include at least one user group node and may also include device type and service.

[0081] For any user group node, the device types and / or services in the cluster where it is located that are not subscribed by the user group are defined as recommended devices and / or recommended services for the user group, so as to explore the user group's potential needs for services and devices, recommend devices and services that are more in line with the actual needs to the user group, and achieve precision marketing for the user group as a whole.

[0082] This embodiment provides a recommendation method, which obtains information of multiple user groups and constructs target graph data, so as to clearly express the relationship between user groups, services subscribed by users, and devices used by users in a structured manner, thereby ensuring the accuracy of subsequent spectral clustering; spectral clustering is performed on the target graph data, and based on the clustering clusters of the clustering results, unsubscribed services and unused devices in the same clustering cluster are recommended to the user group, thereby achieving more accurate marketing and recommending content that better meets the needs of users.

[0083] This application also provides a recommended device, please refer to Figure 3 , the recommended device 100 includes: The data acquisition module 110 is used to acquire information of multiple user groups, where the user group information includes the type of device used and the subscribed services of each user in the user group; The relationship building module 120 is used to build target graph data based on multiple user group information; the nodes in the target graph data include device nodes, user group nodes and service nodes, the edges between user group nodes and device nodes are determined according to whether the corresponding user group uses the corresponding type of device, the edges between user group nodes and service nodes are determined according to whether the corresponding user group subscribes to the corresponding service, and the edges between device nodes and service nodes are determined according to whether there is an association relationship between the corresponding type of device and the corresponding service; A clustering module 130 is used to perform spectral clustering on the target graph data to obtain cluster clusters; The recommendation module 140 is used to recommend other types of devices and / or other services in the cluster, except for the types of devices used by the user group and the subscribed services, as recommended devices and / or recommended services for the corresponding user group, for the user group nodes in the cluster.

[0084] The recommendation device 100 provided in the present application adopts the recommendation method in the above embodiment, and can solve the technical problem of how to achieve more accurate recommendation for families. Compared with the prior art, the beneficial effects of the recommendation device 100 provided in the present application are the same as the beneficial effects of the recommendation method provided in the above embodiment, and other technical features in the recommendation device 100 are the same as the features disclosed in the above embodiment method, which will not be repeated here.

[0085] The present application provides a recommendation device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the recommendation method in the above-mentioned embodiment 1.

[0086] Reference below Figure 4 , which shows a schematic diagram of the structure of a recommended device suitable for implementing the embodiments of the present application. The recommended devices in the embodiments of the present application may include but are not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 4 The recommended device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0087] like Figure 4As shown, the recommendation device 200 may include a processing device 210 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 220 or a program loaded from a storage device 230 to a random access memory (RAM: Random Access Memory) 240. In RAM240, various programs and data required for the operation of the recommendation device are also stored. The processing device 210, ROM220, and RAM240 are connected to each other through a bus 250. An input / output (I / O) interface 260 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 260: an input device 270 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 280 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 230 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 290. The communication device 290 can allow the recommended device to communicate with other devices wirelessly or wired to exchange data. Although the recommended device with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have instead.

[0088] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through a communication device, or installed from the storage device 230, or installed from the ROM 220. When the computer program is executed by the processing device 210, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0089] The recommendation device provided by the present application adopts the recommendation method in the above embodiment, which can solve the technical problem of how to achieve more accurate recommendation for families. Compared with the prior art, the beneficial effects of the recommendation device provided by the present application are the same as the beneficial effects of the recommendation method provided by the above embodiment, and other technical features in the recommendation device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0090] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0091] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0092] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the recommended method in the above-mentioned embodiment.

[0093] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.

[0094] The computer-readable storage medium may be included in the recommended device; or may exist independently without being installed in the recommended device.

[0095] The computer-readable storage medium carries one or more programs, and when the one or more programs are executed by the recommended device, the recommended device can write computer program codes for performing the operations of the present application in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, through the Internet using an Internet service provider).

[0096] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0097] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0098] The readable storage medium provided in this application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned recommendation method, and can solve the technical problem of how to achieve more accurate recommendations for families. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the recommendation method provided in the above-mentioned embodiment, and will not be elaborated here.

[0099] The present application also provides a computer program product, including a computer program, which implements the steps of the above-mentioned recommended method when executed by a processor.

[0100] The computer program product provided by this application can solve the technical problem of how to achieve more accurate recommendations for families. Compared with the prior art, the beneficial effects of the computer program product provided by this application are the same as the beneficial effects of the recommendation method provided by the above embodiment, which will not be repeated here.

[0101] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A recommendation method, characterized in that: The recommended methods include: Acquire information of multiple user groups, wherein the user group information includes a type of device used and a subscribed service of each user in the user group; Based on the information of the plurality of user groups, target graph data is constructed; the nodes in the target graph data include device nodes, user group nodes and service nodes, the edges between the user group nodes and the device nodes are determined according to whether the corresponding user group uses the corresponding type of device, the edges between the user group nodes and the service nodes are determined according to whether the corresponding user group subscribes to the corresponding service, and the edges between the device nodes and the service nodes are determined according to whether there is an association relationship between the corresponding type of device and the corresponding service; Performing spectral clustering on the target graph data to obtain cluster clusters; For the user group nodes in the cluster, other types of devices and / or other services in the cluster except the types of the used devices and subscribed services of the user group are used as recommended devices and / or recommended services for the corresponding user group.

2. The recommendation method according to claim 1, characterized in that: Before constructing the target graph data based on the plurality of user group information, the method includes: Acquire an original service description text of each of the services, wherein the original service description text includes the service and a plurality of device types corresponding to the service; Building a vocabulary based on each segmented word in the original business description text and the word frequency of the segmented word; Clustering the vocabulary to obtain a plurality of pre-clustering clusters; For the services and equipment types in the same pre-clustering cluster, it is determined that the equipment of the type has the association relationship with the services.

3. The recommendation method according to claim 2, characterized in that: Setting the weight of the edge between the user group node and the device node to a first weight; Setting the weight of the edge between the user group node and the service node to a first weight; When the service corresponding to the service node and the device type corresponding to the device node are in the same pre-clustered cluster, setting the weight of the edge between the device node and the service node to a second weight; When the service corresponding to the service node and the device type corresponding to the device node are not in the same pre-clustering cluster, but the service and the device type are in the same original service description text, the weight of the edge between the device node and the service node is set to a third weight, wherein the second weight is greater than the third weight.

4. The recommendation method according to claim 1, characterized in that: The performing spectral clustering on the target graph data to obtain cluster clusters includes: Constructing a similarity matrix according to the adjacency matrix corresponding to the target graph data; Based on the similarity matrix, construct a Laplace matrix; Based on the eigenvalues ​​corresponding to the Laplace matrix and the eigenvectors corresponding to the eigenvalues, a characteristic matrix is ​​formed; Based on the feature matrix, determining the number of the clustering clusters; The feature matrix is ​​clustered according to the number of the clustering clusters.

5. The recommendation method according to claim 4, characterized in that: The determining the number of clusters based on the feature matrix includes: randomly acquiring a plurality of sub-data sets in the feature matrix; For each sub-dataset and the feature matrix, clustering is performed using a plurality of cluster numbers to obtain clustering results corresponding to each sub-dataset and the feature matrix under each cluster number; Based on the clustering results, calculating statistical indicators; The number of clusters corresponding to the maximum value of the statistical indicator is determined as the number of clustering clusters.

6. The recommendation method according to claim 5, characterized in that: The calculating of statistical indicators based on the clustering results includes: For each of the sub-datasets and each clustering result of the feature matrix, calculate a corresponding clustering evaluation index; The statistical indicators are calculated using the following expressions: in, For the statistical indicators, is the average value of the clustering evaluation index of the multiple sub-datasets, is the clustering evaluation index corresponding to the feature matrix.

7. A recommendation device, characterized in that: The recommended devices include: A data acquisition module, used to acquire information of multiple user groups, wherein the user group information includes the type of device used and the subscribed services of each user in the user group; A relationship building module, used to build target graph data based on the information of multiple user groups; the nodes in the target graph data include device nodes, user group nodes and service nodes, the edges between the user group nodes and the device nodes are determined according to whether the corresponding user group uses the corresponding type of device, the edges between the user group nodes and the service nodes are determined according to whether the corresponding user group subscribes to the corresponding service, and the edges between the device nodes and the service nodes are determined according to whether there is an association relationship between the corresponding type of device and the corresponding service; A clustering module, used for performing spectral clustering on the target graph data to obtain cluster clusters; The recommendation module is used to recommend, for the user group nodes in the cluster, other types of devices and / or other services in the cluster except the types of the used devices and subscribed services of the user group as recommended devices and / or recommended services for the corresponding user group.

8. A recommendation device, characterized in that: The recommendation device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the recommendation method according to any one of claims 1 to 6.

9. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the recommendation method according to any one of claims 1 to 6 are implemented.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the recommendation method according to any one of claims 1 to 6 are implemented.