Method and device for determining enterprise condition, equipment and storage medium

By generating quadruple data and extracting static and dynamic variables using LSTM and Bayesian networks, combining neighbor enterprise data, the problem of limited data resources of small and medium-sized enterprises is solved, and the accuracy and credibility of enterprise status assessment is improved.

CN119130258APending Publication Date: 2024-12-13WEBANK (CHINA)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411335850.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Due to limited data resources, small and medium-sized enterprises have poor accuracy in their existing enterprise status assessment methods and are unable to effectively capture potential patterns and changing trends in corporate behavior, resulting in inaccurate evaluation results.

Method used

By generating quadruple data, including head entity elements, tail entity elements, relational elements and time elements, LSTM and Bayesian networks extract static and dynamic variables of the target enterprise, and combine data from neighbor enterprises to determine the enterprise status, consider Time factors and neighboring business impact.

Benefits of technology

It improves the accuracy of determining the company's status, can capture the dynamic changes in corporate behavior and the impact of neighboring companies on the target company's status more accurately, and improves the credibility of the evaluation results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119130258A_ABST
    Figure CN119130258A_ABST
Patent Text Reader

Abstract

The invention provides a method, device and equipment for determining an enterprise condition and a storage medium, and the method comprises the steps: generating tetrad data corresponding to enterprise data for any enterprise data of a target enterprise; the tetrad data comprises a head entity element representing the target enterprise, a tail entity element representing a neighbor enterprise of the target enterprise, a relation element representing a transaction behavior between the target enterprise and the neighbor enterprise, and a time element representing the occurrence time of the transaction behavior; determining a static variable of the target enterprise and a dynamic variable of the target enterprise based on each piece of tetrad data of the target enterprise; the static variable of the target enterprise represents the characteristic that the target enterprise does not change along with time; the dynamic variable of the target enterprise represents the characteristic of the target enterprise changing with time; and determining the enterprise condition of the target enterprise based on the static variable of the target enterprise, the dynamic variable of the target enterprise, the static variable of each neighbor enterprise and the dynamic variable of each neighbor enterprise, thereby improving the accuracy of enterprise condition determination.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data analysis technology, and in particular to a method, device, equipment and storage medium for determining enterprise status. Background Art

[0002] Small and medium-sized enterprises play a very important role in the national economy. They play a key role in promoting economic growth, supporting employment and promoting innovation. Although the state has introduced many support policies for small and medium-sized enterprises in recent years, there are still great difficulties in obtaining loans for small and medium-sized enterprises. The fundamental reason is that small and medium-sized enterprises lack efficient and accurate enterprise credit assessment methods or enterprise status assessment methods. Compared with large enterprises, small and medium-sized enterprises have limited data resources, which leads to the poor accuracy of small and medium-sized enterprise status assessment methods due to limited data resources; another more important reason is that the existing small and medium-sized enterprise status assessment methods usually only perform simple linear regression or statistical analysis on the historical data of the enterprise, and cannot capture the potential patterns and changing trends in the enterprise behavior. In fact, the enterprise status will change over time. Therefore, it is difficult to accurately reflect the latest enterprise status through static data analysis alone.

[0003] Providing an accurate business status assessment method for small and medium-sized enterprises is very important for the development of small and medium-sized enterprises and for the growth of my country's economy; therefore, providing an accurate business status assessment method for small and medium-sized enterprises is an issue that needs to be urgently addressed. Summary of the invention

[0004] The present application provides a method, apparatus, device and storage medium for determining enterprise status, so as to improve the accuracy of determining the enterprise status of small and medium-sized enterprises.

[0005] In a first aspect, the present application provides a method for determining enterprise status, which is applicable to small and medium-sized enterprises, comprising:

[0006] For any enterprise data of a target enterprise, generate quadruple data corresponding to the enterprise data; the quadruple data includes a head entity element representing the target enterprise, a tail entity element representing a neighboring enterprise of the target enterprise, a relationship element representing a transaction behavior between the target enterprise and the neighboring enterprise, and a time element representing the time when the transaction behavior occurs;

[0007] Based on each quaternary data of the target enterprise, determining a static variable of the target enterprise and a dynamic variable of the target enterprise; the static variable of the target enterprise represents a feature of the target enterprise that does not change over time; and the dynamic variable of the target enterprise represents a feature of the target enterprise that changes over time;

[0008] The enterprise status of the target enterprise is determined based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise.

[0009] The method for determining the enterprise status provided by the present application first generates a quaternary data according to the enterprise data of the target enterprise, wherein the quaternary data includes a head entity element, a tail entity element, a relationship element and a time element; then generates a static variable representing the characteristics of the target enterprise that do not change with time according to the quaternary data and generates a dynamic variable representing the characteristics of the target enterprise that change with time according to the quaternary data; finally, the enterprise status of the target enterprise is determined according to the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise and the dynamic variables of each neighboring enterprise. With the change of time, the enterprise status of the enterprise will also change. For example, the credit record of the enterprise at different times may be different, and accordingly, the corresponding enterprise status is also different; in addition, the enterprise status of the enterprise is not only related to its own characteristics, but also inseparable from the enterprise status of neighboring enterprises, for example, the enterprise status of cooperative enterprises or suppliers; and when determining the enterprise status of the target enterprise, the present application considers both the influence of time factors on the enterprise status and the influence of neighboring enterprises on the enterprise status of the target enterprise, thus improving the accuracy of the enterprise status determination.

[0010] In a possible design, based on each quadruple data of the target enterprise, determining the static variable of the target enterprise and the dynamic variable of the target enterprise includes:

[0011] For any four-tuple data of the target enterprise, based on the head entity element and the time element included in the four-tuple data, generate a head entity vector with a time attribute;

[0012] The static variables of the target enterprise and the dynamic variables of the target enterprise are determined based on each head entity vector.

[0013] Based on the header entity element and time element included in the quadruple data, a header entity vector with time attributes is generated. For example, the header entity element and time element included in the quadruple data are converted into corresponding header entity vectors and time vectors respectively, and then the header entity vector and the time vector are concatenated so that the header entity vector has time attributes, thereby making the determined enterprise status take into account the influence of the time factor, thereby improving the accuracy of the determination of the enterprise status.

[0014] In a possible design, the static variables of the target enterprise are determined based on each head entity vector, including:

[0015] Input each head entity vector into a first model, where the first model is obtained by training through LSTM;

[0016] Calculating a first mean vector and a first variance vector according to a hidden state vector output by the first model, wherein the hidden state vector is used to represent a feature of the target enterprise that does not change over time;

[0017] The first variance vector is element-wise multiplied by a preset parameter, and element-wise added to the first mean vector to obtain a static variable of the target enterprise.

[0018] LSTM was originally designed to deal with long-term dependency problems. It has powerful capabilities in processing sequence data and capturing long-term dependency problems. Therefore, this application uses LSTM to train the first model to extract features of the target enterprise that do not change over time. This can give full play to the advantages of LSTM itself and improve the accuracy of acquiring static variables of the target enterprise.

[0019] In a possible design, determining the dynamic variables of the target enterprise based on each head entity vector includes:

[0020] Input each head entity vector into a second model to obtain a second mean vector and a second variance vector; the second model is obtained by training a Bayesian network, and the second mean vector and the second variance vector are used to represent the Gaussian distribution satisfied by the characteristics of the target enterprise that change over time;

[0021] The second variance vector is element-wise multiplied by the preset parameter, and element-wise added to the second mean vector to obtain the dynamic variable of the target enterprise.

[0022] Features that change over time often contain more uncertainty. The Bayesian network can explicitly model the probabilistic relationship between variables, making it very suitable for handling uncertainty or random changes in dynamic data. The entity vectors of each head with time attributes are input into the second model trained by the Bayesian network. The second model can quantify and infer the dependencies between enterprise data at different times, more effectively learn the characteristics of the target enterprise that will change over time, and improve the accuracy of dynamic variable acquisition of the target enterprise.

[0023] In a possible design, based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise, determining the enterprise status of the target enterprise includes:

[0024] splicing the static variables of the target enterprise and the dynamic variables of the target enterprise to obtain an embedding vector corresponding to the target enterprise; determining a weight coefficient of the target enterprise based on the embedding vector corresponding to the target enterprise;

[0025] Concatenate the static variables of any neighbor enterprise with the dynamic variables of the neighbor enterprise to obtain an embedding vector corresponding to the neighbor enterprise; determine the weight coefficient of the neighbor enterprise based on the embedding vector corresponding to the neighbor enterprise;

[0026] The enterprise status of the target enterprise is determined according to the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise, the embedding vectors corresponding to each neighbor enterprise, and the weight coefficient of each neighbor enterprise.

[0027] Determining the weight coefficient of neighboring enterprises based on their embedding vectors can capture the relationship weight between an enterprise and its neighboring enterprises, thereby more accurately measuring the impact of neighboring nodes on the enterprise status of the target enterprise and improving the accuracy of determining the enterprise status of the target enterprise.

[0028] In a possible design, determining a weight coefficient of the target enterprise based on the embedding vector corresponding to the target enterprise includes:

[0029] The weight coefficient of the target enterprise is determined according to the embedding vector corresponding to the target enterprise and the number of each neighboring enterprise.

[0030] In a possible design, determining the weight coefficient of the neighbor enterprise based on the embedding vector corresponding to the neighbor enterprise includes:

[0031] The weight coefficient of the neighbor enterprise is determined based on the embedding vector corresponding to the neighbor enterprise, the number of each neighbor enterprise, the relationship vector related to the neighbor enterprise and the number of relationship vectors related to the neighbor enterprise; any relationship vector is determined based on the relationship element included in the quadruple data.

[0032] In a possible design, generating quadruple data corresponding to the enterprise data includes:

[0033] Converting the enterprise data into the quadruple data according to preset constraints;

[0034] The preset constraint condition means that the difference between the head entity element included in the quaternary data and the tail entity element included in the quaternary data after element-wise multiplication of the head entity element included in the quaternary data and the tail entity element included in the quaternary data is within a preset range.

[0035] Converting enterprise data into corresponding quadruple data according to preset constraints can ensure the accuracy of the quadruple data, and further ensure the accuracy of the static variables, dynamic variables of the target enterprise generated based on the quadruple data, as well as the static variables and dynamic variables of each neighboring enterprise, which is equivalent to improving the accuracy of determining the enterprise status of the target enterprise.

[0036] In a second aspect, the present application further provides a device for determining enterprise status, which is applicable to small and medium-sized enterprises and includes a generating unit and a determining unit:

[0037] The generating unit is used to generate, for any enterprise data of a target enterprise, four-tuple data corresponding to the enterprise data; the four-tuple data includes a head entity element representing the target enterprise, a tail entity element representing a neighboring enterprise of the target enterprise, a relationship element representing a transaction behavior between the target enterprise and the neighboring enterprise, and a time element representing the time when the transaction behavior occurs;

[0038] The determining unit is used to determine, based on each quadruple data of the target enterprise, a static variable of the target enterprise and a dynamic variable of the target enterprise; the static variable of the target enterprise represents a feature of the target enterprise that does not change over time; and the dynamic variable of the target enterprise represents a feature of the target enterprise that changes over time;

[0039] The determination unit is further configured to determine the enterprise status of the target enterprise based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise.

[0040] In a possible design, the generating unit is specifically used to generate a header entity vector with time attributes for any quadruple data of the target enterprise based on the header entity element and the time element included in the quadruple data; the determining unit is specifically used to determine the static variables of the target enterprise and the dynamic variables of the target enterprise based on each header entity vector.

[0041] In a possible design, the generating unit is specifically used to input each head entity vector into a first model, where the first model is obtained by training a long short-term memory network (LSTM); a first mean vector and a first variance vector are calculated according to a hidden state vector output by the first model, where the hidden state vector is used to represent features of the target enterprise that do not change over time; the first variance vector is element-wise multiplied by a preset parameter, and element-wise added to the first mean vector to obtain static variables of the target enterprise.

[0042] In a possible design, the generating unit is specifically used to input each head entity vector into a second model to obtain a second mean vector and a second variance vector; the second model is obtained by training a Bayesian network, and the second mean vector and the second variance vector are used to represent the Gaussian distribution satisfied by the characteristics of the target enterprise that change over time; the second variance vector is element-wise multiplied by the preset parameter, and element-wise added to the second mean vector to obtain the dynamic variables of the target enterprise.

[0043] In one possible design, the determination unit is specifically used to concatenate the static variables of the target enterprise with the dynamic variables of the target enterprise to obtain the embedding vector corresponding to the target enterprise; determine the weight coefficient of the target enterprise based on the embedding vector corresponding to the target enterprise; and concatenate the static variables of any neighboring enterprise with the dynamic variables of the neighboring enterprise to obtain the embedding vector corresponding to the neighboring enterprise; determine the weight coefficient of the neighboring enterprise based on the embedding vector corresponding to the neighboring enterprise; determine the enterprise status of the target enterprise according to the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise, the embedding vectors corresponding to each neighboring enterprise, and the weight coefficients of each neighboring enterprise.

[0044] In a possible design, the determination unit is specifically used to determine the weight coefficient of the target enterprise according to the embedding vector corresponding to the target enterprise and the number of each neighboring enterprise.

[0045] In one possible design, the determination unit is specifically used to determine the weight coefficient of the neighbor enterprise based on the embedding vector corresponding to the neighbor enterprise, the number of each neighbor enterprise, the relationship vector related to the neighbor enterprise, and the number of relationship vectors related to the neighbor enterprise; any relationship vector is determined based on the relationship element included in the quadruple data.

[0046] In one possible design, the generation unit is specifically used to convert the enterprise data into the quad-tuple data according to a preset constraint condition; the preset constraint condition refers to that the difference between the head entity element included in the quad-tuple data and the tail entity element included in the quad-tuple data after the element-wise product of the head entity element included in the quad-tuple data and the relationship element included in the quad-tuple data is within a preset range.

[0047] In a third aspect, the present application also provides a device for determining enterprise status, the device being applicable to small and medium-sized enterprises, comprising: a processor, and a memory in communication with the processor;

[0048] The memory stores computer-executable instructions;

[0049] The processor executes the computer-executable instructions stored in the memory to implement the method described in the first aspect above.

[0050] In a fourth aspect, the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium includes a program, and when the program is executed on a device, the device executes the method as described in any one of the above-mentioned first aspects.

[0051] In a fifth aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the method described in the first aspect is implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0053] Figure 1 A flow chart of a method for determining enterprise status provided in an embodiment of the present application;

[0054] Figure 2 A schematic diagram of enterprise data types provided for an embodiment of the present application;

[0055] Figure 3 A schematic diagram of a static variable Gaussian sampling provided in an embodiment of the present application;

[0056] Figure 4 A schematic diagram of dynamic variable Gaussian sampling provided in an embodiment of the present application;

[0057] Figure 5 A detailed flowchart of a method for determining enterprise status provided in an embodiment of the present application;

[0058] Figure 6 Schematic diagram of the structure of the device for determining the enterprise status provided in the embodiment of the present application Figure 1 ;

[0059] Figure 7 Schematic diagram of the structure of the device for determining the enterprise status provided in the embodiment of the present application Figure 2 . DETAILED DESCRIPTION

[0060] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0061] The application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. It is known to those skilled in the art that with the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems. In the description of the present application, unless otherwise specified, the meaning of "multiple" is two or more.

[0062] The existing small and medium-sized enterprise status assessment methods described in the background technology section not only fail to accurately capture the impact of time-varying characteristics on enterprise status assessment, but also fail to fully integrate the impact of neighboring enterprises, resulting in incomplete enterprise status assessment results and the inability to guarantee the accuracy and credibility of the assessment results.

[0063] In order to solve the shortcomings of the above existing evaluation methods, this application proposes Figure 1 The method for determining the status of an enterprise shown in the figure can evaluate the credit status or business conditions of the enterprise based on the enterprise status determined by the present application. The method is mainly applicable to small and medium-sized enterprises. The execution subject can be a server, or a chip or a functional module in the server. The present application does not limit this. The following is an example of the execution subject, the method specifically includes:

[0064] Step 100: For any enterprise data of a target enterprise, generate quadruple data corresponding to the enterprise data.

[0065] For example, the target enterprises can be understood as small and medium-sized enterprises or enterprises with less data information. The channels for obtaining the target enterprises' corporate data mainly include: official information published by the enterprises, market data, and online surveys, etc. It should be noted that the target enterprises' corporate data include not only the relevant data of the enterprise itself, but also the relevant data of partners, suppliers, etc. Enterprises with trading relationships such as partners and suppliers can be called neighboring enterprises.

[0066] For example, the enterprise data includes data types such as Figure 2As shown, it includes the enterprise's registered capital, capital structure, enterprise scale, business scope, profitability, credit record, debt repayment ability, neighboring enterprises, industry development, news events, etc.; among them, registered capital can be understood as the enterprise's registered capital, for example, 10 million yuan; capital structure refers to the value composition of various capitals of the enterprise and their proportional relationship. The capital of an enterprise in a certain period can be divided into debt capital and equity capital, which reflects the proportional relationship between the enterprise's debt and equity. The capital structure determines the enterprise's debt repayment and refinancing capabilities to a large extent, determines the enterprise's future profitability, and is an important indicator of the enterprise's financial status; enterprise scale usually refers to the number of employees in the enterprise, for example, the number of employees in the enterprise is 500; the business scope of the enterprise refers to the production, operation and service projects that the enterprise can engage in, for example, technology, consulting, and production; the profitability of an enterprise refers to the ability of the enterprise to obtain profits, which can also be called the capital or capital appreciation ability of the enterprise, which is usually manifested in the amount of enterprise income and its level in a certain period; the industry development of the enterprise can be understood as the future development trend of the enterprise.

[0067] The types of enterprise data collected by this application for the target enterprises are comprehensive and cover a wide range, providing a sufficient data basis for determining the enterprise status of the target enterprises and helping to improve the accuracy of determining the enterprise status.

[0068] Exemplarily, after obtaining the enterprise data of the target enterprise, since the model cannot directly process the enterprise data, it is necessary to convert the enterprise data into four-tuple data. The four-tuple data includes a head entity element representing the target enterprise, a tail entity element representing the neighboring enterprises of the target enterprise, a relationship element representing the transaction behavior between the target enterprise and the neighboring enterprises, and a time element representing the time when the transaction behavior occurs. That is to say, the four-tuple data is composed of (head entity, relationship, tail entity, time). For example, assuming that the target enterprise is Company A, when determining the corporate status of Company A, one of the enterprise data is "Company A purchased goods worth 100,000 yuan from Company B on October 8, 2015". Converting this piece of enterprise data into four-tuple data can be expressed as "(Company A, purchase of goods, Company B, October 8, 2015)".

[0069] For example, after converting any enterprise data into quadruple data, a relatively clear temporal structured network can be obtained, which can also be called the enterprise's Temporal Knowledge Graph (TKG). TKG is a special knowledge graph (KG). KG is a structured semantic network that flexibly models the complex knowledge system in nature in the form of triples, and associates various information together in the form of directed graphs, thereby achieving the purpose of modeling everything. Unlike traditional KG, TKG integrates time features into KG, so that subsequent processing based on quadruple data can capture the impact of the characteristics of the enterprise that change over time on the enterprise status.

[0070] Further exemplarily, in order to ensure the accuracy of conversion, certain conditions need to be met when converting enterprise data into quad-tuple data. In other words, the enterprise data should be converted into quad-tuple data according to preset constraints, wherein the preset constraints refer to the difference between the head entity element included in the quad-tuple data and the tail entity element included in the quad-tuple data after the element-wise product of the relationship element included in the quad-tuple data is within a preset range. The preset constraints can also be expressed by the following formula:

[0071]

[0072] Among them, h t The header entity element included in the four-tuple, o t is the tail entity element included in the quaternary group, r is the relationship element included in the quaternary group, Represents the element product operation. When converting enterprise data into quadruple data, it needs to satisfy The value of is within the preset range, for example, The value should be less than 1.

[0073] Step 101: Based on each quadruple data of the target enterprise, determine the static variables and the dynamic variables of the target enterprise.

[0074] Exemplarily, through step 100, the quadruple data corresponding to each enterprise data of the target enterprise can be obtained. For any quadruple data of the target enterprise, based on the head entity element and the time element included in the quadruple data, a head entity vector with a time attribute is generated; specifically, the quadruple data is mapped to the vector space, and the vector representation of the quadruple data can be obtained, which is recorded as (h, r, o, t), wherein h is the vector representation corresponding to the head entity element included in the quadruple data, r is the vector representation corresponding to the relationship element included in the quadruple data, o is the vector representation corresponding to the tail entity element included in the quadruple data, and t is the vector representation corresponding to the time element included in the quadruple data; the vector representation corresponding to the head entity element is concatenated with the vector representation corresponding to the time element, so that the vector representation corresponding to the head entity element has a time attribute, that is, a head entity vector with a time attribute is generated, and the head entity vector with a time attribute can be obtained by the following formula:

[0075] h t =w1[h;t]+b1

[0076] Wherein, h is the vector representation corresponding to the header entity element included in the quaternary data, t is the vector representation corresponding to the time element included in the quaternary data, [;] represents the concatenation between vectors, w1 and b1 are both adjustable parameters, h t That is, the head entity vector with time attributes.

[0077] Similarly, based on the tail entity element and the time element included in the quadruple data, a tail entity vector with a time attribute is generated. The tail entity vector with a time attribute can be obtained by the following formula:

[0078] o t =w2[o;t]+b2

[0079] Among them, o is the vector representation corresponding to the tail entity element included in the four-tuple data, t is the vector representation corresponding to the time element included in the four-tuple data, [;] represents the concatenation between vectors, w2 and b2 are both adjustable parameters, o t That is, the tail entity vector with time attributes.

[0080] Exemplarily, after obtaining each head entity vector and each tail entity vector (hereinafter referred to as the head entity vector and the tail entity vector) with a time attribute, it is necessary to sort the head entity vectors and the tail entity vectors in chronological order. The sorted multiple head entity vectors can be regarded as a time series. Similarly, the sorted multiple tail entity vectors can also be regarded as a time series. Then, based on each head entity vector, the static variables and the dynamic variables of the target enterprise are determined, and based on each tail entity vector, the static variables and the dynamic variables of each neighbor enterprise are determined. It should be noted that in determining the static variables and the dynamic variables of the neighbor enterprise, When , the tail entity vectors need to be classified according to the neighboring enterprises. For example, assuming that the neighboring enterprises of the target enterprise A are companies B to E, there are 10 tail entity vectors in total. First, these 10 tail entity vectors are classified. After classification, it is determined that there are 3 tail entity vectors related to company B, 2 tail entity vectors related to company C, 2 tail entity vectors related to company D, and 3 tail entity vectors related to company E. Then, the static variables and dynamic variables of company B are determined based on the 3 tail entity vectors related to company B... and the static variables and dynamic variables of company E are determined based on the 3 tail entity vectors related to company E.

[0081] Since the determination process of the target enterprise's static variables is similar to that of the neighboring enterprises, and the determination process of the target enterprise's dynamic variables is similar to that of the neighboring enterprises, the following only takes the determination process of the target enterprise's static variables and the target enterprise's dynamic variables as an example for explanation:

[0082] (1) The process of determining the static variables of the target enterprise is as follows:

[0083] Exemplarily, each head entity vector is first input into the first model. The first model is obtained by training LSTM (Long Short-Term Memory), which can also be called a static encoder. LSTM is a gated recurrent neural network that introduces a gate mechanism to learn long-term dependency problems, which can alleviate the disappearance of gradients, control the reception and forgetting of features, and is very suitable for processing time series data. For example, the sorted multiple head entity vectors use this feature to convert the hidden state vector f at the previous moment (t-1 moment) at each moment. t-1 and the head entity vector of the previous moment are input into the first model, and the first model outputs the hidden state vector f at the current moment (time t) t In addition, in order to enhance the robustness of the model and prevent overfitting, this application also uses the dropout function on the basis of LSTM to further process the hidden state vector f t , f t The calculation formula is as follows:

[0084] f t = dropout(LSTM(f t-1 ,e t-1 ))

[0085] Among them, e t-1 is the head entity vector of the previous moment, and the hidden state vector f at the current moment is obtained by the above formula t It can reflect the overall characteristics of the sequence and is used to represent the characteristics of the target enterprise that do not change over time, rather than just the specific details at a certain moment, providing a basis for the determination of subsequent static variables.

[0086] Exemplarily, the hidden state vector f at the current moment output by the first model is then t , calculate the first mean vector and the first variance vector, the first mean vector u s:t The calculation formula is:

[0087] u s:t =w3f t +b3

[0088] Among them, f t is the hidden state vector at the current moment, w3 and b3 are both adjustable parameters;

[0089] The first variance vector σ s:t The calculation formula is:

[0090] σ s:t =exp(w4f t +b4)

[0091] Among them, f t is the hidden state vector at the current moment, w4 and b4 are adjustable parameters, and exp is an exponential function.

[0092] For example, the first mean vector and the first variance vector are Gaussian sampled to obtain the static variables of the target enterprise. Gaussian sampling can also be regarded as a Gaussian modeling process, which refers to the process of modeling data as a Gaussian distribution. After the mean and variance of the Gaussian distribution are parameterized by a neural network, they are used to extract data features, that is, to convert the input data into a high-dimensional feature vector, so as to better understand the internal structure of the data. The Gaussian sampling process can be referred to Figure 3 ,like Figure 3 As shown, the first variance vector is element-wise multiplied by a preset parameter, which may also be called Gaussian noise, and has a value range of 0 to 1. The element-wise multiplication result is element-wise added to the first mean vector, and the calculation result is the static variable of the target enterprise. The static variable of the target enterprise is used to characterize the characteristics of the target enterprise that do not change over time.

[0093] (2) The process of determining the dynamic variables of the target enterprise is as follows:

[0094] Exemplarily, each head entity vector is first input into the second model to obtain a second mean vector and a second variance vector, and the second mean vector and the second variance vector are used to represent the Gaussian distribution satisfied by the characteristics of the target enterprise that change over time; wherein, the second model is obtained by training a Bayesian network, and the second model can also be called a dynamic encoder. The Bayesian network can explicitly model the probabilistic relationship between variables, and is very suitable for processing uncertainty and random changes in dynamic data. The second model mainly uses the dynamic inference posteriori at the previous moment to recursively estimate the inference posteriori at the current moment.

[0095] The second mean vector u d:t The calculation formula is:

[0096] u d:t =w5[e t-1 ;u d:t-1 ]+b5

[0097] Among them, e t-1 is the head entity vector at the previous moment, u d:t-1 is the mean vector output by the second model at the previous moment, w5 and b5 are both adjustable parameters, and [;] represents the concatenation between vectors.

[0098] The second variance vector σ d:t The calculation formula is:

[0099] σ d:t =exp(w6[e t-1 ; σ d:t-1 ]+b6)

[0100] Among them, exp is the exponential function, e t-1 is the head entity vector at the previous moment, σ d:t-1 is the variance vector output by the second model at the previous moment, w6 and b6 are both adjustable parameters, and [;] represents the concatenation between vectors.

[0101] For example, similar to the process of determining the static variables of the target enterprise, after obtaining the second mean vector and the second variance vector, Gaussian sampling is performed on the second mean vector and the second variance vector to obtain the dynamic variables of the target enterprise. The Gaussian sampling process can refer to Figure 4 ,like Figure 4 As shown, the second variance vector is element-wise multiplied by the preset parameter and element-wise added to the second mean vector to obtain the dynamic variable of the target enterprise. The dynamic variable of the target enterprise is used to characterize the characteristics of the target enterprise that change over time.

[0102] In addition, the process of determining the static variables of each neighboring enterprise can refer to the process of determining the static variables of the above-mentioned target enterprise, and the process of determining the dynamic variables of each neighboring enterprise can refer to the process of determining the dynamic variables of the above-mentioned target enterprise. Taking the neighboring enterprise B as an example, assuming that there are 3 tail entity vectors related to Company B, the 3 tail entity vectors related to Company B are input into the first model to obtain the static variables of Company B, and the 3 tail entity vectors related to Company B are input into the second model to obtain the dynamic variables of Company B. The detailed process will not be repeated here.

[0103] The loss function used in training the first model and the second model is determined based on the Kullback-Leibler divergence (abbreviated as KL divergence) and the preset conversion condition in step 100. The KL divergence is an indicator used to measure the difference between two probability distributions, and is usually used to compare the difference between two distributions. For example, in machine learning, it is used to compare the difference between the output distribution of the model and the true distribution. The smaller the KL divergence, the better the fitting effect, that is, the better the model effect. The loss function can be expressed by the following formula:

[0104]

[0105] in, That is, the preset conversion condition that needs to be satisfied when converting the quadruple in step 100, in, represents all parameters involved in the Gaussian modeling process, q(s t ,d t ∣e t-1 ) and p(s t ,d t ) represents the transition process from the head entity vector at time t-1 to the static variables and dynamic variables, log p(e t ∣s t ,d t ) represents the process of combining static variables and dynamic variables to obtain the embedding vector corresponding to the head entity vector at time t. It should be noted that it can also be and Set the corresponding weight coefficient, for example,

[0106] Loss Function The smaller the value, the better the first model or the second model is trained. After the value of reaches a preset value, the training of the first model and the second model can be stopped, the first model is applied to the acquisition of static variables, and the second model is applied to the acquisition of dynamic variables.

[0107] In this step, LSTM is used to train the first model to determine the static variables of the target enterprise and each neighboring enterprise, and Bayesian network is used to train the second model to determine the dynamic variables of the target enterprise and each neighboring enterprise. The advantages of LSTM and Bayesian network are fully utilized to improve the accuracy of determining static and dynamic variables.

[0108] Step 102: Determine the enterprise status of the target enterprise based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise.

[0109] First, the static variables of the target enterprise and the dynamic variables of the target enterprise are concatenated to obtain the embedding vector corresponding to the target enterprise; based on the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise is determined; specifically, the weight coefficient of the target enterprise is determined according to the embedding vector corresponding to the target enterprise and the number of neighboring enterprises. The weight coefficient calculation formula of the target enterprise is as follows:

[0110]

[0111] Among them, |N e (i) | is the number of neighboring enterprises. For example, if the target enterprise has 5 neighboring enterprises, then |N e (i)| is 5, e t is the embedding vector of the target enterprise obtained in step 101, w7 and b7 are both adjustable parameters; for example, assuming that the target enterprise is Company A, then e t is the embedding vector corresponding to company A. The weight coefficient of company A can be determined by the above formula.

[0112] Similarly, the static variables of any neighboring enterprise are concatenated with the dynamic variables of the neighboring enterprise to obtain the embedding vector corresponding to the neighboring enterprise; based on the embedding vector corresponding to the neighboring enterprise, the weight coefficient of the neighboring enterprise is determined. Specifically, the weight coefficient of the neighboring enterprise is determined according to the embedding vector corresponding to the neighboring enterprise, the number of each neighboring enterprise, the relationship vector related to the neighboring enterprise, and the number of relationship vectors related to the neighboring enterprise; any relationship vector is determined based on the relationship element included in the four-tuple data. For example, taking the four-tuple (Company A, purchase goods, Company B, October 8, 2015) as an example, the corresponding relationship vector can be determined according to the relationship element "purchase goods" included in the four-tuple data, and the relationship vector is related to the neighboring enterprise Company B. The calculation formula of the weight coefficient of the neighboring enterprise can be expressed by the following formula:

[0113]

[0114] Among them, |N e (i)| is the number of neighboring enterprises, e tis the embedding vector corresponding to the neighbor enterprise obtained in step 101. For example, if the weight coefficient of the neighbor enterprise B is currently being calculated, then e t is the embedding vector corresponding to company B, |N r (i)| is the number of relationship vectors between the target enterprise and its neighboring enterprises, N r (i) is the relationship vector related to neighboring enterprises. Taking Company B as an example, N r (i) is the relationship vector related to Company B, |N r (i) | is the number of relationship vectors related to company B, [;] represents the concatenation between the embedding vector and the relationship vector of the neighboring companies, and w8 and b8 are both adjustable parameters.

[0115] For example, assuming that the neighboring enterprises of target enterprise A are companies B to E, the weight coefficients of neighboring enterprises B to E can be determined by the calculation formula of the weight coefficients of the above neighboring enterprises.

[0116] Exemplarily, after obtaining the weight coefficient of the target enterprise and the weight coefficients of each neighbor enterprise, the status score of the target enterprise can be calculated according to the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise, the embedding vector corresponding to each neighbor enterprise, and the weight coefficient of each neighbor enterprise. The enterprise status of the target enterprise is determined according to the status score. The calculation formula of the status score scoe is as follows:

[0117]

[0118] Among them, |N e (i)| is the number of neighboring enterprises, N e (i)∪e i represents the union of the embedding vectors corresponding to each neighbor enterprise and the embedding vector corresponding to the target enterprise, β t (i,j) is the weight coefficient of the target enterprise or neighboring enterprise, e t (j) is the embedding vector corresponding to the target enterprise or neighbor enterprise, and σ is the softmax activation function, which can convert the vector into a numerical value.

[0119] For ease of understanding, the calculation formula for the condition score can also be expanded as follows: The final calculated status score has a value between 0 and 1. The closer it is to 1, the better the target enterprise's corporate status is. It can also be considered that the target enterprise's credit status or operating conditions are better.

[0121] The complete process from step 100 to step 102 can also be referred to Figure 5:① Collect enterprise data: including the enterprise data of the target enterprise itself and the target data of neighboring enterprises; ② Convert enterprise data into four-tuple data; ③ Generate head entity vector and tail entity vector with time attributes based on four-tuple data; ④ Determine the static variables and dynamic variables of the target enterprise based on the head entity vector with time attributes; ⑤ Determine the static variables and dynamic variables of each neighboring enterprise based on the tail entity vector with time attributes; ⑥ Determine the embedding vector of the target enterprise based on the static variables and dynamic variables of the target enterprise; ⑦ Determine the embedding vector of each neighboring enterprise based on the static variables and dynamic variables of each neighboring enterprise; ⑧ Calculate the weight coefficient of the target enterprise and each neighboring enterprise; ⑨ Determine the enterprise status of the target enterprise: Calculate the status score of the target enterprise according to the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise, the embedding vector corresponding to each neighboring enterprise and the weight coefficient of each neighboring enterprise. The status score is used to characterize the enterprise status of the target enterprise.

[0122] The method for determining the enterprise status proposed in this application is applicable to small and medium-sized enterprises. In the processing of enterprise data of small and medium-sized enterprises, not only static analysis but also dynamic analysis is carried out to achieve fine modeling of the dynamic changes of enterprise behavior and consider the impact of time factors on the enterprise status; in addition, this application also analyzes the enterprise data of neighboring enterprises, which can dynamically capture the weight relationship between the target enterprise and the neighboring enterprises, more accurately measure the impact of neighboring enterprises on the enterprise status of the target enterprise, and improve the accuracy of enterprise status determination.

[0123] Figure 6 and Figure 7 The following is a schematic diagram of a possible device for determining the enterprise status provided in an embodiment of the present application. These devices for determining the enterprise status can be used to implement the functions of the server in the above method embodiment, and thus can also achieve the beneficial effects possessed by the above method embodiment.

[0124] like Figure 6 As shown, the device 600 for determining the enterprise status includes a generating unit 610 and a determining unit 620. The device 600 for determining the enterprise status is used to implement the above Figure 1 The functions of the server in the method embodiment are shown.

[0125] When the device 600 for determining the enterprise status is used to implement Figure 1 The functions of the server in the method embodiment shown are:

[0126] The generating unit 610 is used to generate, for any enterprise data of a target enterprise, four-tuple data corresponding to the enterprise data; the four-tuple data includes a head entity element representing the target enterprise, a tail entity element representing a neighboring enterprise of the target enterprise, a relationship element representing a transaction behavior between the target enterprise and the neighboring enterprise, and a time element representing the time when the transaction behavior occurs;

[0127] The determining unit 620 is used to determine the static variables of the target enterprise and the dynamic variables of the target enterprise based on the four-tuple data of the target enterprise; the static variables of the target enterprise represent the characteristics of the target enterprise that do not change over time; and the dynamic variables of the target enterprise represent the characteristics of the target enterprise that change over time;

[0128] The determination unit 620 is further configured to determine the enterprise status of the target enterprise based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise.

[0129] In a possible design, the generation unit 610 is specifically used to generate a header entity vector with time attributes for any four-tuple data of the target enterprise based on the header entity element and the time element included in the four-tuple data; the determination unit 620 is specifically used to determine the static variables of the target enterprise and the dynamic variables of the target enterprise based on each header entity vector.

[0130] In a possible design, the generation unit 610 is specifically used to input each head entity vector into a first model, where the first model is obtained by training a long short-term memory network LSTM; according to the hidden state vector output by the first model, a first mean vector and a first variance vector are calculated, and the hidden state vector is used to represent the characteristics of the target enterprise that do not change over time; the first variance vector is element-wise multiplied by a preset parameter, and element-wise added to the first mean vector to obtain the static variables of the target enterprise.

[0131] In one possible design, the generation unit 610 is specifically used to input each head entity vector into a second model to obtain a second mean vector and a second variance vector; the second model is obtained by training a Bayesian network, and the second mean vector and the second variance vector are used to represent the Gaussian distribution satisfied by the characteristics of the target enterprise that change over time; the second variance vector is element-wise multiplied by the preset parameter, and element-wise added to the second mean vector to obtain the dynamic variables of the target enterprise.

[0132] In one possible design, the determination unit 620 is specifically used to concatenate the static variables of the target enterprise with the dynamic variables of the target enterprise to obtain the embedding vector corresponding to the target enterprise; determine the weight coefficient of the target enterprise based on the embedding vector corresponding to the target enterprise; and concatenate the static variables of any neighboring enterprise with the dynamic variables of the neighboring enterprise to obtain the embedding vector corresponding to the neighboring enterprise; determine the weight coefficient of the neighboring enterprise based on the embedding vector corresponding to the neighboring enterprise; determine the enterprise status of the target enterprise according to the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise, the embedding vectors corresponding to each neighboring enterprise, and the weight coefficients of each neighboring enterprise.

[0133] In a possible design, the determination unit 620 is specifically used to determine the weight coefficient of the target enterprise according to the embedding vector corresponding to the target enterprise and the number of each neighboring enterprise.

[0134] In one possible design, the determination unit 620 is specifically used to determine the weight coefficient of the neighbor enterprise based on the embedding vector corresponding to the neighbor enterprise, the number of each neighbor enterprise, the relationship vector related to the neighbor enterprise, and the number of relationship vectors related to the neighbor enterprise; any relationship vector is determined based on the relationship element included in the quadruple data.

[0135] In one possible design, the generation unit 610 is specifically used to convert the enterprise data into the quad-tuple data according to a preset constraint condition; the preset constraint condition means that the difference between the head entity element included in the quad-tuple data and the tail entity element included in the quad-tuple data after the element-wise product of the relationship element included in the quad-tuple data is within a preset range.

[0136] For a more detailed description of the above generating unit 610 and determining unit 620, please refer to Figure 1 The relevant description in the method embodiment shown is directly obtained and will not be repeated here.

[0137] like Figure 7 As shown, the device 700 for determining the enterprise status includes a processor 710 and an interface circuit 720. The processor 710 and the interface circuit 720 are coupled to each other. It is understood that the interface circuit 720 can be a transceiver or an input-output interface. Optionally, the device 700 for determining the enterprise status can also include a memory 730 for storing instructions executed by the processor 710 or storing input data required by the processor 710 to execute instructions or storing data generated after the processor 710 executes instructions.

[0138] When the device 700 for determining the enterprise status is used to implement Figure 1When the method is shown, the processor 710 is used to implement the function of the above-mentioned determination unit 620, and the interface circuit 720 is used to implement the function of the above-mentioned generation unit 620.

[0139] The division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processor, or may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0140] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.

[0141] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A method of determining the status of an enterprise, It is characterized in that This approach is suitable for small and medium-sized enterprises, including: For any enterprise data of a target enterprise, generate quadruple data corresponding to the enterprise data; the quadruple data includes a head entity element representing the target enterprise, a tail entity element representing a neighboring enterprise of the target enterprise, a relationship element representing a transaction behavior between the target enterprise and the neighboring enterprise, and a time element representing the time when the transaction behavior occurs; Based on each quaternary data of the target enterprise, determining a static variable of the target enterprise and a dynamic variable of the target enterprise; the static variable of the target enterprise represents a feature of the target enterprise that does not change over time; and the dynamic variable of the target enterprise represents a feature of the target enterprise that changes over time; The enterprise status of the target enterprise is determined based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise.

2. The method according to claim 1, It is characterized in that Determining the static variables of the target enterprise and the dynamic variables of the target enterprise based on the four-tuple data of the target enterprise includes: For any four-tuple data of the target enterprise, based on the head entity element and the time element included in the four-tuple data, generate a head entity vector with a time attribute; The static variables of the target enterprise and the dynamic variables of the target enterprise are determined based on each head entity vector.

3. The method according to claim 2, It is characterized in that Determining the static variables of the target enterprise based on each head entity vector includes: Inputting each head entity vector into a first model, wherein the first model is obtained by training a long short-term memory network LSTM; Calculating a first mean vector and a first variance vector according to a hidden state vector output by the first model, wherein the hidden state vector is used to represent a feature of the target enterprise that does not change over time; The first variance vector is element-wise multiplied by a preset parameter, and element-wise added to the first mean vector to obtain a static variable of the target enterprise.

4. The method according to claim 2, It is characterized in that Determining the dynamic variables of the target enterprise based on each head entity vector includes: Input each head entity vector into a second model to obtain a second mean vector and a second variance vector; the second model is obtained by training a Bayesian network, and the second mean vector and the second variance vector are used to represent the Gaussian distribution satisfied by the characteristics of the target enterprise that change over time; The second variance vector is element-wise multiplied by the preset parameter, and element-wise added to the second mean vector to obtain the dynamic variable of the target enterprise.

5. The method according to any one of claims 1 to 4, It is characterized in that Determining the enterprise status of the target enterprise based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise includes: splicing the static variables of the target enterprise and the dynamic variables of the target enterprise to obtain an embedding vector corresponding to the target enterprise; determining a weight coefficient of the target enterprise based on the embedding vector corresponding to the target enterprise; Concatenate the static variables of any neighbor enterprise with the dynamic variables of the neighbor enterprise to obtain an embedding vector corresponding to the neighbor enterprise; determine the weight coefficient of the neighbor enterprise based on the embedding vector corresponding to the neighbor enterprise; The enterprise status of the target enterprise is determined according to the embedding vector corresponding to the target enterprise, the weight coefficient of the target enterprise, the embedding vectors corresponding to each neighbor enterprise, and the weight coefficient of each neighbor enterprise.

6. The method according to claim 5, It is characterized in that Determining a weight coefficient of the target enterprise based on the embedding vector corresponding to the target enterprise includes: The weight coefficient of the target enterprise is determined according to the embedding vector corresponding to the target enterprise and the number of each neighboring enterprise.

7. The method according to claim 5, It is characterized in that Determining a weight coefficient of the neighboring enterprise based on the embedding vector corresponding to the neighboring enterprise includes: The weight coefficient of the neighbor enterprise is determined based on the embedding vector corresponding to the neighbor enterprise, the number of each neighbor enterprise, the relationship vector related to the neighbor enterprise and the number of relationship vectors related to the neighbor enterprise; any relationship vector is determined based on the relationship element included in the quadruple data.

8. The method according to claim 1, It is characterized in that Generate quadruple data corresponding to the enterprise data, including: Converting the enterprise data into the quadruple data according to preset constraints; The preset constraint condition means that the difference between the head entity element included in the quaternary data and the tail entity element included in the quaternary data after element-wise multiplication of the head entity element included in the quaternary data and the tail entity element included in the quaternary data is within a preset range.

9. A device for determining the status of an enterprise, It is characterized in that The device is suitable for small and medium-sized enterprises and comprises a generating unit and a determining unit; The generating unit is used to generate, for any enterprise data of a target enterprise, four-tuple data corresponding to the enterprise data; the four-tuple data includes a head entity element representing the target enterprise, a tail entity element representing a neighboring enterprise of the target enterprise, a relationship element representing a transaction behavior between the target enterprise and the neighboring enterprise, and a time element representing the time when the transaction behavior occurs; The determining unit is used to determine the static variables of the target enterprise and the dynamic variables of the target enterprise based on each quadruple data of the target enterprise; The static variables of the target enterprise represent the characteristics of the target enterprise that do not change over time; The dynamic variables of the target enterprise represent the characteristics of the target enterprise that change over time; The determination unit is further configured to determine the enterprise status of the target enterprise based on the static variables of the target enterprise, the dynamic variables of the target enterprise, the static variables of each neighboring enterprise, and the dynamic variables of each neighboring enterprise.

10. A device for determining the status of an enterprise, It is characterized in that The device is suitable for small and medium-sized enterprises, and includes: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 8.

11. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 8 when executed by a processor.

12. A computer program product, It is characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 8 when being executed by a processor.