Information processing device, information processing method, and program

The information processing device enhances classification accuracy and interpretability of hierarchical clusters by using auxiliary matrices to calculate update values for cluster division, addressing the limitations of existing clustering methods.

JP7807042B2Active Publication Date: 2026-01-27UNIVERSITY OF ELECTRO-COMMUNICATIONS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2021209229
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2026-01-27
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

Existing clustering methods lack improved classification accuracy and hierarchical co-clustering methods that utilize auxiliary information.

Method used

An information processing device and method that performs clustering using first and second auxiliary matrices to calculate update values for clusters, selecting the cluster with the largest update value for division, and executing the division process based on an objective function, incorporating external knowledge to enhance classification accuracy and interpretability.

Benefits of technology

Improves classification accuracy and interpretability of hierarchical clusters by utilizing auxiliary information, enabling higher accuracy compared to conventional methods and providing a hierarchical structure for cluster evaluation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807042000003
    Figure 0007807042000003
  • Figure 0007807042000004
    Figure 0007807042000004
  • Figure 0007807042000005
    Figure 0007807042000005
Patent Text Reader

Abstract

To improve accuracy in classification of co-clustering and interpretation by a hierarchy cluster.SOLUTION: Clustering is carried out by using a row object and a column object of a division target matrix as a division target and a first auxiliary matrix formed of the row object of the division target matrix and a first feature object relating to the row object and a second auxiliary matrix formed of the column object of the division target matrix and a second feature object relating to the column object. The division of the cluster in an order allows extraction of hierarchical relationship among clusters. The technique can be applied to an information procedure apparatus for carrying out clustering.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an information processing device, an information processing method, and a program, and in particular to an information processing device, an information processing method, and a program that are capable of improving the classification accuracy of co-clustering and the interpretability of hierarchical clusters. [Background technology]

[0002] Clustering has been used as a method for classifying similar data objects based on the distribution of their features (objects).

[0003] For example, k-means proposed in Non-Patent Document 1 is a one-way clustering method that classifies data objects into k clusters using the mean of the clusters.

[0004] Furthermore, HICC (hierarchical co-clustering) proposed in Non-Patent Document 2 is a co-clustering method that simultaneously classifies both data objects and features (two-way). For example, co-clustering is one of the unsupervised machine learning methods that simultaneously classifies two types of objects, and overcomes robustness and high dimensionality by also clustering features, resulting in better classification performance than one-way clustering.

[0005] Furthermore, Non-Patent Document 3 proposes Co-CoClust, an unsupervised transfer learning method that utilizes external domain knowledge and co-clustering to improve classification accuracy in a target domain. Also, Non-Patent Document 4 proposes CCAM (co-clustering with augmented matrix), an information theory-based co-clustering method that uses an auxiliary matrix for row / column objects. [Prior art documents] [Non-patent literature]

[0006] [Non-Patent Document 1] J. MacQueen: Some methods for classification and analysis of multivariate observations, Proc. of the 5th Berkeley Symp. On Mathematical Statistics and Probability, 281-297, 1967. [Non-patent document 2] W. Cheng, X. Zhang, F. Pan, W. Wang: HICC: an entropy splitting-based framework for hierarchical co-clustering, Knowledge and Information Systems, 46(2), 343-367, 2016. [Non-patent document 3] F. Wang, S. Lin, PS Yu: Collaborative co-clustering across multiple social media, Proc. of 17th IEEE Int. Conf. on Mobile Data Management, 142-151, 2016. [Non-patent document 4] M. Wu, C. Chang, R. Liu: Co-clustering with augmented matrix, Applied Intelligence, 39(1), 153-164, 2013. Summary of the Invention [Problem to be solved by the invention]

[0007] However, there is a demand for improved classification accuracy compared to the conventional clustering methods proposed in the above-mentioned Non-Patent Documents 1 to 4. Furthermore, no hierarchical co-clustering method using auxiliary information has been proposed so far.

[0008] The present disclosure has been made in light of the above circumstances, and aims to improve the classification accuracy of co-clustering and the interpretability of hierarchical clusters. [Means for solving the problem]

[0009] An information processing device according to one aspect of the present disclosure includes a clustering processing unit that performs clustering on row objects and column objects of a matrix to be divided using a first auxiliary matrix made up of row objects of the matrix to be divided and first feature objects related to the row objects, and a second auxiliary matrix made up of column objects of the matrix to be divided and second feature objects related to the column objects. The clustering processing unit includes an update formula calculation unit that calculates an update formula using the matrix to be divided, the first auxiliary matrix, the second auxiliary matrix, a first influence indicating the magnitude of the influence of the first auxiliary matrix on the matrix to be divided, and a second influence indicating the magnitude of the influence of the second auxiliary matrix on the matrix to be divided, to obtain update values ​​for all clusters of the matrix to be divided; a selection unit that selects, as a cluster to be divided, a cluster for which the largest update value has been obtained among the update values ​​of all clusters of the row objects and the column objects of the matrix to be divided; and a division execution unit that executes division of the cluster to be divided. .

[0010] An information processing method or program according to one embodiment of the present disclosure includes clustering row objects and column objects of a matrix to be divided using a first auxiliary matrix consisting of the row objects of the matrix to be divided and first feature objects related to the row objects, and a second auxiliary matrix consisting of the column objects of the matrix to be divided and second feature objects related to the column objects. an update formula is calculated using the matrix to be split, the first auxiliary matrix, the second auxiliary matrix, a first influence indicating the magnitude of the influence of the first auxiliary matrix on the matrix to be split, and a second influence indicating the magnitude of the influence of the second auxiliary matrix on the matrix to be split to obtain update values ​​for all clusters of the matrix to be split; a cluster for which the largest update value has been obtained among the update values ​​for all clusters of the row objects and the column objects of the matrix to be split is selected as a cluster to be split; and splitting of the cluster to be split is executed. .

[0011] In one aspect of the present disclosure, row objects and column objects of a matrix to be split are clustered together using a first auxiliary matrix consisting of row objects of the matrix to be split and first feature objects related to the row objects, and a second auxiliary matrix consisting of column objects of the matrix to be split and second feature objects related to the column objects. Then, an update formula is calculated using the matrix to be split, the first auxiliary matrix, the second auxiliary matrix, a first influence indicating the magnitude of the influence that the first auxiliary matrix has on the matrix to be split, and a second influence indicating the magnitude of the influence that the second auxiliary matrix has on the matrix to be split, to find update values ​​for all clusters in the matrix to be split, and the cluster for which the largest update value has been found out of the update values ​​for all clusters of the row objects and column objects of the matrix to be split is selected as the cluster to be split, and the splitting of the cluster to be split is performed. [Effects of the Invention]

[0012] According to one aspect of the present disclosure, it is possible to improve the classification accuracy of co-clustering and the interpretability of hierarchical clusters.

[0013] The effects described here are not necessarily limited to those described herein, and may be any of the effects described in this disclosure. [Brief explanation of the drawings]

[0014] [Figure 1] FIG. 1 is a diagram illustrating co-clustering. [Figure 2] FIG. 10 is a diagram illustrating hierarchical co-clustering using auxiliary information. [Figure 3] FIG. 10 is a diagram illustrating a specific example of a division algorithm. [Figure 4] 1 is a block diagram illustrating a configuration example of an embodiment of an information processing device to which the present technology is applied. [Figure 5] 10 is a flowchart illustrating a clustering process for performing hierarchical co-clustering using auxiliary information. [Figure 6] FIG. 10 is a diagram illustrating an example of a document classification task. [Figure 7] FIG. 1 is a diagram showing five clustering methods for which evaluation experiments were conducted. [Figure 8] FIG. 1 is a diagram illustrating the Multi5 and Science datasets. [Figure 9] 10A and 10B are diagrams illustrating an example of a classification target matrix and an auxiliary matrix. [Figure 10] FIG. 10 is a diagram illustrating an example of the accuracy of HICCAM in Multi5. [Figure 11] FIG. 10 is a diagram showing an example of document classification results using five clustering methods. [Figure 12] 1 is a block diagram illustrating an example of the configuration of an embodiment of a computer to which the present technology is applied. DETAILED DESCRIPTION OF THE INVENTION

[0015] Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.

[0016] <Overview of hierarchical co-clustering using auxiliary information> With reference to FIGS. 1 and 2, an overview of hierarchical co-clustering with auxiliary information (hereinafter also referred to as HICCAM (hierarchical co-clustering with augmented matrix)) will be described using marketing data as an example.

[0017] FIG. 1 shows an example of co-clustering for a customer x product relational data matrix F.

[0018] For example, as shown on the left side of Figure 1, in the relational data matrix F before co-clustering, customers A to F are arranged in order in the rows, and products 1 to 6 are arranged in order in the columns. If a customer has purchased a certain product, a 1 is entered in that matrix element, and if a customer has not purchased a certain product, a 0 is entered in that matrix element.

[0019] Then, when co-clustering is performed on the relational data matrix F, both the customers and the products are divided into multiple clusters according to their respective similarities, as shown on the right side of Figure 1. In the example shown, the customers are divided into a cluster that includes customers A, B, and D, and a cluster that includes customers C, E, and F, and the products are divided into a cluster that includes products 1, 5, and 6, a cluster that includes products 2 and 3, and a cluster that includes product 4.

[0020] In this way, by performing co-clustering on the relational data matrix F, two clusters, one for customers and one for products, are generated simultaneously.

[0021] As shown in Figure 2, hierarchical co-clustering using auxiliary information makes it possible to improve classification accuracy compared to conventional clustering methods by utilizing not only the knowledge contained in the relational data matrix F but also auxiliary information that may be useful for classifying customers, products, etc.

[0022] For example, in hierarchical co-clustering using auxiliary information for a customer x product relational data matrix F, an auxiliary matrix G for customers consisting of customer x (age, usage time, etc.) and an auxiliary matrix H for products consisting of product x (product name, manufacturer, price, sales, etc.) can be used. Then, knowledge is transferred from the auxiliary matrix G to the relational data matrix F with influence α, and knowledge is transferred from the auxiliary matrix H to the relational data matrix F with influence β.

[0023] As a result, hierarchical co-clustering using auxiliary information allows clustering by specifying the number of clusters (= number of groups) as a cluster granularity indicated in the range of 0 to 1, instead of specifying it as a number. Furthermore, hierarchical co-clustering using auxiliary information improves interpretability by obtaining a hierarchical structure of clusters as shown on the right side of Figure 1 by dividing the clusters in order, making it possible to evaluate the proximity of clusters and to backtrack if the clusters have been divided too finely.

[0024] <Outline of division algorithm> Hierarchical co-clustering using auxiliary information is a partitioning type in which a partitioning algorithm is started for a main matrix F with one row cluster and one column cluster, and the process of partitioning both the row cluster and the column cluster of the main matrix F into two clusters is repeated. The partitioning algorithm is based on the objective function q(X^,Y^) based on the mutual information I, as shown in the following equation (1).

[0025]

number

[0026] For example, the objective function q(X^,Y^) indicates that the main matrix F, with object X as the row and object Y as the column, is used as the classification target, auxiliary matrix G, with object X as the row and feature object A as the column, is applied with influence α, and auxiliary matrix H, with object Y as the row and feature object B as the column, is applied with influence β. The objective function value q calculated by the objective function q(X^,Y^) indicates the granularity of the cluster, is 0 when not divided, and monotonically increases as the number of clusters increases through division, reaching 1 when division is completely completed.

[0027] Furthermore, the smaller the difference in mutual information between the matrix before and after division, the more easily the division can be performed without separating objects with similar values. Therefore, for example, when dividing a row cluster s into a first row cluster s1 and a second row cluster s2, a process of dividing the row cluster into two is performed by selecting the row cluster that maximizes the update value δq calculated by the update formula δq(X,Y) shown in the following formula (2).

[0028]

number

[0029] Note that equation (2) shows the update equation for row clusters, and a similar update equation is used for column clusters as well, and a process of selecting a column cluster that maximizes the update value and dividing it into two is performed.

[0030] The termination condition for terminating the hierarchical co-clustering using auxiliary information is determined based on whether the latest objective function value q reaches a predetermined threshold value from the viewpoint of computational cost. Also, if the number of clusters is specified in advance, the termination condition is determined based on whether the latest number of clusters reaches the predetermined number of clusters.

[0031] FIG. 3 shows a specific example of the division algorithm described here.

[0032] <Configuration example of information processing device> FIG. 4 is a block diagram showing an example of the configuration of an embodiment of an information processing device to which the present technology is applied.

[0033] As shown in Figure 4, the information processing device 11 is configured to include a clustering processing unit 21 and an impact setting unit 22, and the clustering processing unit 21 is configured to include an initial division unit 31, an update formula calculation unit 32, a selection unit 33, a division execution unit 34, and a termination condition determination unit 35.

[0034] For example, in the information processing device 11, a row cluster set X^ before division (a set of one cluster having all row objects as one cluster) and a column cluster set Y^ before division (a set of one cluster having all column objects as one cluster) are input to the initial division unit 31. In addition, in the information processing device 11, a main matrix F having object X to be classified as rows and object Y as columns, an auxiliary matrix G having object X as rows and feature object A as columns, and an auxiliary matrix H having object Y as rows and feature object B as columns are input to the initial division unit 31, the update equation calculation unit 32, and the termination condition determination unit 35, respectively.

[0035] The clustering processing unit 21 simultaneously co-clusters the objects X and Y of the main matrix F using the auxiliary matrices G and H. That is, the clustering processing unit 21 receives the pre-split row cluster set X^ and the pre-split column cluster set Y^ as input, and performs co-clustering based on the main matrix F, the auxiliary matrices G, and the auxiliary matrices H. Then, the clustering processing unit 21 outputs the post-split row cluster set X^ (a set of objects grouped into clusters after splitting the objects included in the row clusters) and the post-split column cluster set Y^ (a set of objects grouped into clusters after splitting the objects included in the column clusters).

[0036] The influence setting unit 22 sets an influence α indicating the magnitude of the influence of the auxiliary matrix G on the main matrix F and an influence β indicating the magnitude of the influence of the auxiliary matrix H on the main matrix F to the initial division unit 31, the update equation calculation unit 32, and the termination condition determination unit 35. For example, the influence setting unit 22 can set appropriate influence α and influence β for co-clustering the main matrix F in accordance with an operation input by a user of the information processing device 11. In addition, if a correct label for the classification target exists, the influence setting unit 22 can reset appropriate influence α and influence β using a quantitative criterion based on the cluster classification results and correct labels output from the information processing device 11 so that the clusters are classified with higher classification accuracy. Even if a correct label does not exist, an analyst may qualitatively reset the influence α and influence β based on the cluster classification results.

[0037] The initial division unit 31 performs initial division to divide each of the pre-division row cluster set X^ and the pre-division column cluster set Y^ into two using the main matrix F, the auxiliary matrix G, the auxiliary matrix H, the influence α, and the influence β, to generate initial clusters, and supplies the initial clusters to the update equation calculation unit 32. For example, when performing initial division on the pre-division row cluster set X^, the initial division unit 31 temporarily assumes that all of the column cluster set Y^ is completely divided, and divides the pre-division row cluster set X^ into two. Similarly, when performing initial division on the pre-division column cluster set Y^, the initial division unit 31 temporarily assumes that all of the row cluster set X^ is completely divided, and divides the pre-division column cluster set Y^ into two.

[0038] The update equation calculation unit 32 calculates the update equation δq(X,Y) shown in the above equation (2) using the influence α and influence β set by the influence setting unit 22 for all clusters in the current row cluster set X^ and column cluster set Y^ to determine the update value δq. For example, the initial clusters supplied from the initial division unit 31 to the update equation calculation unit 32 have two clusters for both object X and object Y, but as division is repeated, the number of clusters increases, and the update equation calculation unit 32 determines the update value δq for each of those clusters. Therefore, the update equation calculation unit 32 determines the update values ​​δq for all clusters in the current row cluster set X^ and column cluster set Y^ and supplies them to the selection unit 33.

[0039] The selection unit 33 identifies the largest update value δq among the update values ​​δq of all clusters in the row cluster set X^ and the column cluster set Y^ supplied from the update equation calculation unit 32, selects the cluster for which the update value δq is found as the cluster to be split, and supplies it to the split execution unit 34.

[0040] The division execution unit 34 executes division of the cluster to be divided supplied from the selection unit 33, and supplies the divided row cluster set X^ or the divided column cluster set Y^ to the termination condition determination unit 35. Of the row cluster set X^ and the column cluster set Y^, clusters that have not been selected as clusters to be divided are supplied directly from the selection unit 33 to the termination condition determination unit 35 via the division execution unit 34.

[0041] The termination condition determination unit 35 calculates the objective function value q(X^, Y^) shown in the above equation (1) based on the post-division row cluster set X^ and the post-division column cluster set Y^ supplied from the division execution unit 34. The termination condition determination unit 35 then determines whether the latest objective function value q has reached a pre-specified threshold, thereby determining whether the termination condition is satisfied. That is, the termination condition determination unit 35 can determine that the termination condition is satisfied when the latest objective function value q has reached the threshold. Alternatively, if the number of clusters is specified in advance, the termination condition determination unit 35 can determine that the termination condition is satisfied when the latest number of clusters has reached the pre-specified number of clusters.

[0042] If the termination condition determination unit 35 determines that the termination condition is not satisfied, it supplies the divided row cluster set X^ and the divided column cluster set Y^ to the update equation calculation unit 32, which repeats the same processing as described above, dividing the clusters in descending order of the update value δq. On the other hand, if the termination condition determination unit 35 determines that the termination condition is satisfied, it outputs the divided row cluster set X^ and the divided column cluster set Y^ at that time as the results of hierarchical co-clustering using auxiliary information.

[0043] The information processing device 11 configured as described above can further improve classification accuracy and improve interpretability by using hierarchical clusters by performing co-clustering of the main matrix F using the auxiliary matrices G and H.

[0044] FIG. 5 is a flowchart illustrating the clustering process in which the clustering processing unit 21 performs hierarchical co-clustering using auxiliary information.

[0045] In step S11, the initial division unit 31 performs an initial division to divide each of the pre-division row cluster set X^ and the pre-division column cluster set Y^ into two using the main matrix F, auxiliary matrix G, auxiliary matrix H, influence α, and influence β, to generate initial clusters and supply them to the update equation calculation unit 32.

[0046] In step S12, the update equation calculation unit 32 calculates the update equation δq(X,Y) shown in the above equation (2) using the influence α and influence β set by the influence setting unit 22 for all clusters in the current row cluster set X^ and column cluster set Y^, determines the update values ​​δq for all clusters in the main matrix F, and supplies them to the selection unit 33. For example, in the first processing, the update equation calculation unit 32 processes the row cluster set X^ and column cluster set Y^ of the initial clusters supplied from the initial division unit 31 in step S11. In addition, in the second and subsequent processing, the update equation calculation unit 32 processes the post-division row cluster set X^ and post-division column cluster set Y^ at that time.

[0047] In step S13, the selection unit 33 selects the cluster for which the largest update value δq has been obtained from the update values ​​δq of all clusters in the row cluster set X^ and the column cluster set Y^ supplied from the update equation calculation unit 32 in step S12 as the cluster to be split, and supplies this to the split execution unit 34.

[0048] In step S14, the division execution unit 34 performs division on the cluster to be divided that was supplied from the selection unit 33 in step S13, and supplies the divided row cluster set X^ or the divided column cluster set Y^ to the termination condition determination unit 35.

[0049] In step S15, the termination condition determination unit 35 determines whether the termination condition is satisfied based on the latest objective function value q or the latest number of clusters. For example, if the latest objective function value q does not reach a predetermined threshold value or if the latest number of clusters does not reach a predetermined number of clusters, the termination condition determination unit 35 determines that the termination condition is not satisfied.

[0050] In step S15, if the termination condition determination unit 35 determines that the termination condition is not satisfied, the process returns to step S12, and the same process is repeated using the divided row cluster set X^ or the divided column cluster set Y^.

[0051] On the other hand, in step S15, if the latest objective function value q reaches a predetermined threshold value or if the latest number of clusters reaches a predetermined number of clusters, the termination condition determination unit 35 determines that the termination condition is satisfied, and the processing is terminated.

[0052] <Evaluation experiment using document classification task> An evaluation experiment verifying the usefulness of co-clustering and the effectiveness of auxiliary information will be described with reference to FIGS.

[0053] For example, as shown in Fig. 6, clustering for the main document x word matrix F was used in the evaluation experiment. Also, as shown in Fig. 7, the evaluation experiment targeted five clustering methods: k-means in Non-Patent Document 1, HICC in Non-Patent Document 2, Co-CoClust in Non-Patent Document 3, CCAM in Non-Patent Document 4, and the proposed method, HICCAM. In the evaluation experiment, accuracy and purity were used as evaluation indices.

[0054] For example, to conduct evaluation experiments, we created two datasets, Multi5 and Science, for NG20 (http: / / kdd.ics.uci.edu / databases / 20newsgroups / 20newsgroups.html), a set of English news documents consisting of 20 groups. As shown in Figure 8, Multi5 consists of 500 documents in five groups (comp.graphics, rec.motorcycles, rec.sport.baseball, sci.space, talk.politics.mideast) where the word distributions tend to differ between groups. Science consists of 500 documents in four groups (sci.crypt, sci.electronics, sci.med, sci.space) where the word distributions tend to be similar between groups.

[0055] The datasets were created using the following steps: First, stop words (e.g., a, the, of) were removed from the words appearing in each dataset, and the 1,000 most frequently occurring words were extracted. Then, the 1,000 words were randomly divided into two groups to create a main matrix F (one-hot, 500 documents × 500 words) to be classified, and a document auxiliary matrix G (one-hot, 500 documents × 500 words), as shown in Figure 9. Furthermore, a word auxiliary matrix H (500 words × 300 dimensions) was prepared using a fastText model (https: / / fasttext.cc / docs / en / pretrained-vectors.html) trained on an online encyclopedia.

[0056] FIG. 10 shows an example of the accuracy of HICCAM in Multi5.

[0057] For example, when the influence α of the document auxiliary matrix G and the influence β of the word auxiliary matrix H are changed by a power of 2, the accuracy changes as shown in Fig. 10. It was shown that the main matrix F can be classified with high accuracy, that is, excellent performance is exhibited, in the range surrounded by the thick solid line in Fig. 10, i.e., the range where the influence α is 0.5 to 2.0 and the influence β is 1.0 or more. On the other hand, in the range surrounded by the thick dashed line in Fig. 10, i.e., the range where the influence α is 0.125 or less and the influence β is 0.25 or less, the accuracy tends to be low, and it was shown that appropriate influence α and influence β need to be set in order to classify the main matrix F with high accuracy.

[0058] FIG. 11 shows an example of the results of document classification using the five clustering methods (k-means, HICC, Co-CoClust, CCAM, and HICCAM) shown in FIG. 7 in Multi5 and Science.

[0059] Figure 11A shows the document classification results for Multi5, and Figure 11B shows the document classification results for Science. The k-means and HICC clustering methods in the upper row do not use auxiliary information, while Co-CoClust, CCAM, and HICCAM clustering methods in the lower row do use auxiliary information.

[0060] As shown in Figure 11, in both Multi5 and Science, the clustering method using auxiliary information had higher accuracy and purity values ​​than the clustering method without auxiliary information, confirming the effectiveness of incorporating auxiliary information. It was also shown that the proposed method, HICCAM, was able to achieve an accuracy improvement of approximately 8-10% over Co-CoClust and CCAM.

[0061] As described above, the information processing device 11 of this embodiment focuses on cases where external knowledge can be utilized in real classification tasks, and performs hierarchical co-clustering using auxiliary information, thereby enabling classification with higher accuracy than conventional clustering methods.

[0062] Furthermore, compared to flat (non-hierarchical) classification methods that require the specification of the number of clusters, hierarchical co-clustering using auxiliary information does not require the specification of the number of clusters, and by obtaining similarity relationships (hierarchical relationships) between clusters, it is possible to improve interpretability. For example, information on cluster relationships is valuable in that it allows us to evaluate the proximity of clusters and to backtrack if the clusters have been divided too finely.

[0063] <Example of computer configuration> Next, the above-described series of processes (information processing method) can be performed by hardware or software. When the series of processes is performed by software, a program constituting the software is installed in a general-purpose computer or the like.

[0064] FIG. 12 is a block diagram showing an example of the configuration of an embodiment of a computer in which a program for executing the above-described series of processes is installed.

[0065] The program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built into the computer.

[0066] Alternatively, the program can be stored (recorded) on a removable recording medium 111 driven by the drive 109. Such a removable recording medium 111 can be provided as a so-called package software. Here, examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory.

[0067] The program can be installed into the computer from the removable recording medium 111 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, the program can be transferred to the computer wirelessly from a download site via an artificial satellite for digital satellite broadcasting, or transferred to the computer by wire via a network such as a LAN (Local Area Network) or the Internet.

[0068] The computer includes a CPU (Central Processing Unit) 102 , to which an input / output interface 110 is connected via a bus 101 .

[0069] When a user inputs a command by operating input unit 107 via input / output interface 110, CPU 102 executes a program stored in ROM (Read Only Memory) 103 in accordance with the command. Alternatively, CPU 102 loads a program stored on hard disk 105 into RAM (Random Access Memory) 104 and executes it.

[0070] As a result, CPU 102 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. CPU 102 then outputs the processing results from output unit 106 via input / output interface 110, transmits them from communication unit 108, or records them on hard disk 105, as necessary.

[0071] The input unit 107 is made up of a keyboard, a mouse, a microphone, etc. The output unit 106 is made up of an LCD (Liquid Crystal Display), a speaker, etc.

[0072] In this specification, the processing performed by a computer according to a program does not necessarily have to be performed in chronological order according to the order described in the flowchart. In other words, the processing performed by a computer according to a program also includes processing that is executed in parallel or individually (for example, parallel processing or processing by objects).

[0073] The program may be processed by a single computer (processor), or may be distributed among multiple computers. Furthermore, the program may be transferred to and executed on a remote computer.

[0074] Furthermore, in this specification, a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all the components are contained in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device housed in a single housing with multiple modules, are both systems.

[0075] Also, for example, a configuration described as one device (or processing unit) may be divided and configured as multiple devices (or processing units). Conversely, configurations described above as multiple devices (or processing units) may be combined and configured as one device (or processing unit). Of course, configurations other than those described above may be added to the configuration of each device (or each processing unit). Furthermore, as long as the configuration and operation of the entire system are substantially the same, part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit).

[0076] Furthermore, for example, this technology can be configured as a cloud computing system in which a single function is shared and processed collaboratively by multiple devices via a network.

[0077] Furthermore, for example, the above-described program can be executed in any device, as long as the device has the necessary functions (functional blocks, etc.) and can obtain the necessary information.

[0078] Also, for example, each step described in the above flowchart can be executed by one device or can be shared and executed by multiple devices. Furthermore, if one step includes multiple processes, the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices. In other words, multiple processes included in one step can be executed as multiple step processes. Conversely, processes described as multiple steps can be executed collectively as one step.

[0079] In addition, the processing of the steps of a program executed by a computer may be executed in chronological order according to the order described in this specification, or may be executed in parallel or individually at the required timing, such as when a call is made. In other words, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps of this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.

[0080] It should be noted that the present technologies described in this specification can be implemented independently and singly, unless a contradiction arises. Of course, any two or more of the present technologies can also be implemented in combination. For example, part or all of the present technologies described in any embodiment can be implemented in combination with part or all of the present technologies described in other embodiments. Furthermore, part or all of any of the present technologies described above can also be implemented in combination with other technologies not described above.

[0081] It should be noted that the present embodiment is not limited to the above-described embodiment, and various modifications are possible within the scope of the gist of the present disclosure. Furthermore, the effects described in this specification are merely examples and are not intended to be limiting, and other effects may also be obtained. [Explanation of symbols]

[0082] 11 Information processing device, 21 Clustering processing unit, 22 Influence setting unit, 31 Initial division unit, 32 Update formula calculation unit, 33 Selection unit, 34 Division execution unit, 35 Termination condition determination unit

Claims

1. a clustering processing unit that clusters both row objects and column objects of a matrix to be divided using a first auxiliary matrix consisting of row objects of the matrix to be divided and first feature objects related to the row objects, and a second auxiliary matrix consisting of column objects of the matrix to be divided and second feature objects related to the column objects. Equipped with The clustering processing unit an update formula calculation unit that calculates an update formula using the matrix to be divided, the first auxiliary matrix, the second auxiliary matrix, a first influence indicating the magnitude of the influence of the first auxiliary matrix on the matrix to be divided, and a second influence indicating the magnitude of the influence of the second auxiliary matrix on the matrix to be divided, to obtain update values ​​for all clusters of the matrix to be divided; a selection unit that selects, as a cluster to be divided, a cluster for which the largest update value has been obtained from among the update values ​​of all clusters of the row object and the column object of the matrix to be divided; a division execution unit that executes division of the cluster to be divided; have Information processing device.

2. the clustering processing unit further includes a termination condition determination unit that determines whether a termination condition for terminating clustering is satisfied based on the row objects and the column objects after division by the division execution unit; The division of the clusters is repeated in order of the largest updated value until it is determined that the termination condition is satisfied. The information processing device according to claim 1 .

3. The termination condition determination unit calculates an objective function for determining an objective function value indicating a cluster granularity of the matrix to be divided, and determines that the termination condition is satisfied when the latest objective function value reaches a predetermined threshold value. The information processing device according to claim 2 .

4. The termination condition determination unit determines that the termination condition is satisfied when the latest number of clusters reaches a predetermined number of clusters. The information processing device according to claim 2 .

5. an influence setting unit that sets the first influence and the second influence appropriate for classifying the matrix to be divided in the update formula calculation unit; The information processing device according to claim 1 , further comprising:

6. An information processing device that performs clustering, Clustering both row objects and column objects of a matrix to be divided using a first auxiliary matrix consisting of row objects of the matrix to be divided and first feature objects related to the row objects, and a second auxiliary matrix consisting of column objects of the matrix to be divided and second feature objects related to the column objects. Including, calculating an update formula using the matrix to be divided, the first auxiliary matrix, the second auxiliary matrix, a first influence indicating the magnitude of the influence of the first auxiliary matrix on the matrix to be divided, and a second influence indicating the magnitude of the influence of the second auxiliary matrix on the matrix to be divided, to obtain update values ​​for all clusters of the matrix to be divided; selecting, as a cluster to be divided, a cluster for which the largest update value has been obtained among the update values ​​of all clusters of the row object and the column object of the matrix to be divided; Execute division of the cluster to be divided. Information processing methods.

7. In the computer of the information processing device that performs clustering, The row object and the column object of the matrix to be divided are both divided. Clustering is performed using a first auxiliary matrix consisting of row objects of a target matrix and first feature objects related to the row objects, and a second auxiliary matrix consisting of column objects of the target matrix to be divided and second feature objects related to the column objects. Including, calculating an update formula using the matrix to be divided, the first auxiliary matrix, the second auxiliary matrix, a first influence indicating the magnitude of the influence of the first auxiliary matrix on the matrix to be divided, and a second influence indicating the magnitude of the influence of the second auxiliary matrix on the matrix to be divided, to obtain update values ​​for all clusters of the matrix to be divided; selecting, as a cluster to be divided, a cluster for which the largest update value has been obtained among the update values ​​of all clusters of the row object and the column object of the matrix to be divided; Execute division of the cluster to be divided. A program for performing information processing.

Citation Information

Patent Citations

  • Jointly discovering user roles and data clusters using both access and side information

    US20190199731A1

  • Co-clustering system, method, and program

    WO2017159402A1