Bill sharing system, method and equipment

By using a large language model for semantic recognition and automatic identification in the cloud cost sharing system, the problems of low allocation accuracy and efficiency in the existing technology are solved, and multi-dimensional allocation and efficient accounting of cloud bills are realized.

CN119850351AActive Publication Date: 2025-04-18上海安畅网络科技股份有限公司

Patent Information

Application Number
CN202411915418.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-18
Estimated Expiration
2044-12-24

AI Technical Summary

Technical Problem

The prior art relies on manual or rule-based automation tools in cloud cost sharing, resulting in limited sharing accuracy and efficiency, especially when the early bill sharing label is not standardized.

Method used

A bill sharing system is proposed, which can obtain bills from cloud vendor platforms, extract and clean keywords, and use large language models to perform semantic recognition, predict the accounting dimensions and keywords, and after confirmation by the user client, it automatically finds matching keywords for resource identification, and generates accounting schemes and rules.

Benefits of technology

Multi-dimensional allocation of cloud bills is achieved, the accuracy and efficiency of accounting are improved, manual intervention is reduced, and configuration errors and time-consuming problems are avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119850351A_ABST
    Figure CN119850351A_ABST
Patent Text Reader

Abstract

The invention provides a bill sharing system, method and device, and relates to the technical field of cloud data processing, and the method comprises the steps: obtaining a bill from a cloud manufacturer platform through a first creation module, and creating a resource list; the extraction module extracts key fields from the resource list; the cleaning module carries out segmentation and data cleaning on the key fields to obtain account division keywords and label information; the prediction module performs semantic recognition and prediction on the account division keywords and the label information through a large language model; the matching identification module is used for searching matched keywords from the resource list and identifying matched resources in the resource list; and the second creation module obtains an account division scheme based on the resource identification result, and creates an account division rule based on the account division scheme. According to the system, through a data processing module, a feature extraction module, a semantic recognition module, a rule creation module and the like, searching of bill keywords and normative identification are achieved, an account division scheme and a corresponding account division rule are generated, and multi-dimensional allocation of resource cost in bills can be rapidly carried out through the account division rule.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud data processing technology, and in particular to a bill sharing system, method and device. Background Art

[0002] As enterprises move to the cloud, the continuous increase in cloud costs has led to a demand for cost reduction and efficiency improvement. In order to reduce cloud costs, it is first necessary to understand where cloud costs are consumed. Therefore, enterprises need to allocate cloud costs, especially multi-dimensional allocation, and analyze the composition of cloud costs from different angles. At present, enterprises mainly allocate cloud costs manually or use some rule-based automation tools to automatically allocate cloud costs. Although rule-based automation tools can improve account allocation efficiency, they rely on manual sorting of account allocation rules. In particular, for some enterprises whose early bill account allocation identification was not standardized, there were cases where there were no markings or confusing markings, which caused great difficulties in manually sorting out the rules and affected the accuracy and efficiency of allocation. Summary of the invention

[0003] The present application provides a bill sharing system, method and device to solve the above-mentioned problems existing in the existing methods.

[0004] In a first aspect, an embodiment of the present application provides a bill sharing system, the system comprising:

[0005] The first creation module is used to obtain bills from the cloud vendor platform and create a resource list;

[0006] An extraction module, used to extract key fields for billing from the resource list, wherein the key fields for billing include: resource name, resource group / project, subscription, and resource tag;

[0007] A cleaning module, used to segment and clean the key fields used for account splitting, and obtain account splitting keywords and label information;

[0008] A prediction module, used to perform semantic recognition on the account-sharing keywords and the tag information through a large language model, and predict the account-sharing dimensions corresponding to the account-sharing keywords and the keywords of the corresponding dimensions, wherein the account-sharing dimensions include organization, application, environment, component, and personnel;

[0009] A matching identification module, which is used to search for keywords matching the keywords of the corresponding dimension from the resource list when the user client confirms the account division dimension and the keywords of the corresponding dimension output by the large language model, and identify the matching resources in the resource list;

[0010] The second creation module is used to obtain an account division scheme based on the resource identification result, and to create an account division rule based on the account division scheme, wherein the account division rule is used to find a keyword from a key field and assign it to an object corresponding to the keyword.

[0011] Optionally, the cleaning module includes:

[0012] The conversion submodule is used to convert all key fields used for account splitting into lowercase fields;

[0013] The first segmentation submodule is used to segment the key fields of resource name, resource group / project and subscription respectively by the first segmentation symbol to obtain multiple first segmentation fields;

[0014] A second segmentation submodule is used to segment the tag into multiple tag key-value pairs according to the second segmentation character, to obtain multiple second segmentation fields and tag information, wherein the same tag key corresponds to multiple tag values ​​in one tag key-value pair;

[0015] The identification and cleaning submodule is used to identify invalid information in multiple first segmentation fields and second segmentation fields through a naive Bayes algorithm, and clean the invalid information to obtain account splitting keywords.

[0016] Optionally, the identification and cleaning submodule includes:

[0017] A feature extraction unit, used to extract features from the first segmentation field and the second segmentation field, and construct a feature vector;

[0018] A first calculation unit, used to calculate a priori probability and conditional probability based on statistical information in pre-training data;

[0019] A second calculation unit, configured to calculate, based on a priori probability and conditional probability, a posterior probability that the first segmentation field or the second segmentation field belongs to the first category or the second category respectively;

[0020] A prediction determination unit is used to use the category corresponding to the maximum posterior probability as the prediction result of the first segmentation field or the second segmentation field, and determine the key field whose prediction result is the second category as invalid information.

[0021] Optionally, the matching identification module includes:

[0022] A coverage calculation submodule, used to calculate the coverage of the keywords of the corresponding dimension in the resource list field;

[0023] A search matching submodule, used for searching the resource list for a target keyword matching the keyword of the corresponding dimension based on the coverage rate;

[0024] The identification submodule is used to identify the target keyword and then identify the resource where the target keyword is located. The identification content is the account sharing dimension: account sharing keyword.

[0025] Optionally, the first creation module includes:

[0026] The bill acquisition submodule is used to obtain the user's historical bills from different cloud vendor platforms. The granularity of the historical bills is daily bills;

[0027] The standardization processing submodule is used to standardize the historical bills of different cloud vendors to obtain and store the original bills.

[0028] The aggregation submodule is used to aggregate the original bill based on the resource ID to generate a resource list, and the resource list includes the following fields: resource ID, resource name, resource group / project, subscription, product name, resource tag and amount payable.

[0029] Optionally, the creation module includes:

[0030] A billing submodule, configured to generate a billing plan based on the resource identification result and present the billing plan to the user client;

[0031] A creation submodule is used to create account splitting rules according to the account splitting scheme after the user client confirms the account splitting scheme, and the account splitting rules are used to persistently store the rules for keyword search.

[0032] Optionally, the system further includes:

[0033] A single-dimension scoring calculation module is used to calculate the indicator score of each dimension and the comprehensive indicator score of each dimension. The comprehensive indicator score of each dimension is used to characterize the degree of identification standardization under each dimension. The indicators include consistency, repeatability, correctness and coverage;

[0034] The multi-dimensional comprehensive indicator score calculation module is used to calculate the multi-dimensional comprehensive indicator score based on the comprehensive indicator score of each dimension, and the multi-dimensional comprehensive indicator score and the comprehensive indicator score of each dimension are used to provide improvement suggestions for the account splitting rules.

[0035] Optionally, the single-dimensional scoring calculation module includes:

[0036] The identification field consistency score calculation submodule is used to calculate the identification field consistency score based on the total number of resources identified under each dimension and the total number of resources identified the most;

[0037] The case consistency score calculation submodule is used to calculate the case consistency score based on the number of different cases of the same key field used for account splitting in each dimension and the number of all matching account splitting keywords;

[0038] A repetitive score calculation submodule is used to calculate the repetitive score based on the number of multiple similar account-sharing keywords with the same meaning under each dimension and the number of all matching account-sharing keywords;

[0039] The correctness score calculation submodule is used to calculate the correctness score based on the number of spelling errors in the account-sharing keywords under each dimension and the number of all matching account-sharing keywords;

[0040] A coverage score calculation submodule is used to calculate the coverage score based on the total number of resources identified under each dimension and the total number of all resources;

[0041] The comprehensive indicator score calculation submodule for each dimension is used to calculate the comprehensive indicator score for each dimension based on the identification field consistency score, case consistency score, repetition score, correctness score and coverage score.

[0042] In a second aspect, an embodiment of the present application provides a method for splitting bills, the method comprising:

[0043] Obtain bills from cloud vendor platforms and create resource lists;

[0044] Extracting key fields for billing from the resource list, the key fields for billing include: resource name, resource group / project, subscription, and resource tag;

[0045] Segment and clean the key fields used for account splitting to obtain account splitting keywords and tag information;

[0046] The account splitting keywords and the tag information are semantically recognized by a large language model, and the account splitting dimensions corresponding to the account splitting keywords and the keywords of the corresponding dimensions are predicted, where the account splitting dimensions include organization, application, environment, component, and personnel;

[0047] When the user client confirms the account division dimension output by the large language model and the keyword of the corresponding dimension, the keyword matching the keyword of the corresponding dimension is searched from the resource list, and the matching resource in the resource list is marked;

[0048] An account division scheme is obtained based on the resource identification result, and an account division rule is created based on the account division scheme. The account division rule is used to find keywords from key fields and assign them to objects corresponding to the keywords.

[0049] In a third aspect of an embodiment of the present application, an electronic device is proposed, comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the functions of the shared bill system described in any one of the first aspects above.

[0050] The present application includes the following advantages: The present application proposes a system, method and device for splitting bills, which obtain bills from a cloud vendor platform and create a resource list through a first creation module; the extraction module extracts key fields for splitting accounts from the resource list, and the key fields for splitting accounts include: resource name, resource group / project, subscription and resource tag; the cleaning module segments and cleans the key fields for splitting accounts to obtain splitting keywords and tag information; the prediction module performs semantic recognition on the splitting keywords and the tag information through a large language model, and predicts the splitting dimensions corresponding to the splitting keywords and the keywords of the corresponding dimensions, and the splitting dimensions include organization, application, environment, component and personnel; the matching identification module searches for keywords that match the keywords of the corresponding dimension from the resource list when the user client confirms the splitting dimensions and the keywords of the corresponding dimensions output by the large language model, and identifies the matching resources in the resource list; the second creation module obtains a splitting plan based on the resource identification result, and creates a splitting rule based on the splitting plan, and the splitting rule is used to find keywords from the key fields and assign them to objects corresponding to the keywords. The system uses modules such as data processing, feature extraction, semantic recognition and rule creation to search for key words in the statement and to identify them in a standardized manner. Based on this, it generates an account splitting plan and corresponding account splitting rules. The account splitting rules can be used to quickly allocate resource costs in the statement in multiple dimensions without the need for manual account splitting, thereby improving account splitting efficiency and accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application 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 any creative labor.

[0052] Figure 1 It is a functional module diagram of a bill sharing system proposed in an embodiment of the present application;

[0053] Figure 2 This is a schematic diagram of the steps of a bill sharing method proposed in an embodiment of the present application;

[0054] Figure 3 It is a flowchart of a bill sharing method proposed in an embodiment of the present application;

[0055] Figure 4 This is a schematic diagram of a resource list cleaning process proposed in an embodiment of the present application;

[0056] Figure 5 It is a schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0057] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0058] As enterprises move to the cloud, the continuous increase in cloud costs has led to a demand for cost reduction and efficiency improvement. In order to reduce cloud costs, it is first necessary to understand where cloud costs are consumed. Therefore, enterprises need to allocate cloud costs, especially multi-dimensional allocation, and analyze the composition of cloud costs from different angles. At present, enterprises mainly allocate cloud costs manually or use some rule-based automation tools to automatically allocate cloud costs. Although rule-based automation tools can improve account allocation efficiency, they rely on manual sorting of account allocation rules. In particular, for some enterprises whose early bill account allocation identification was not standardized, there were cases where there were no markings or confusing markings, which caused great difficulties in manually sorting out the rules and affected the accuracy and efficiency of allocation.

[0059] In addition, manual configuration of account splitting rules is prone to configuration errors and takes too long. It takes too long from sorting out the account splitting rules to viewing the account splitting results after the rule configuration is completed. If there is confirmation and adjustment of the rules in the middle, the time will be further extended.

[0060] Based on this, the present application proposes a bill sharing system that is user-friendly, can identify bill identifiers and generate account sharing rules based on the identifiers, thereby improving account sharing efficiency and accuracy.

[0061] In a first aspect, the present application embodiment provides a bill sharing system, see Figure 1 , Figure 1 : is a functional module diagram of a bill sharing system proposed in an embodiment of the present application, the system comprising:

[0062] The first creation module 101 is used to obtain a bill from a cloud vendor platform and create a resource list.

[0063] In order to understand the consumption of cloud costs, you first need to obtain and analyze the cloud bill. Cloud bills are generally stored in cloud vendor platforms, from which you can obtain corporate bills. Cloud vendor platforms include Tencent Cloud, Alibaba Cloud, Huawei Cloud, Amazon Cloud, Microsoft Cloud, etc.

[0064] After obtaining multiple bills, in order to facilitate subsequent analysis and identification, a resource list is created based on the multiple bills, so that subsequent analysis can be performed by obtaining required information of each bill from the resource list.

[0065] The extraction module 102 is used to extract key fields for billing from the resource list.

[0066] In order to accurately allocate the bill, first extract the key fields used for allocation from the resource list, and allocate the resource costs in the bill based on these key fields.

[0067] Among them, the key fields for account splitting include: resource name, resource group / project, subscription and resource tag. Resource name is usually defined by the user for managing and identifying resources, resource group / project is a way to logically group resources, subscription refers to the user's usage plan for a service or resource, and resource tag refers to the tag information added by the user to the resource for classification, search and management.

[0068] It should be noted that the above resources refer to cloud resources such as servers, databases, disks, and networks.

[0069] The above key fields for account splitting mean that when splitting a bill, the account splitting key identifier needs to be extracted from these fields to identify to which cost center the resources in the bill should be allocated.

[0070] For example, the resource name includes the following fields: Aproject-test, Bproject-dev, tke-audit-cls-k64ru0, cproject-frontend-uat, tke-audit-cls-hjo8mq;

[0071] Fields included in resource group / project: Bproject, Cproject, Dproject;

[0072] The resource tag contains the following fields: {"appname":"abc","environment":"test","ve nder":"user1"}, {"appname":"def","environment":"uat","project":"Dproject"}, {"appname":"def","environment":"uat","project":"Dproject"}. Extract and identify the key fields of the above fields, and allocate the resource costs based on the identification.

[0073] The cleaning module 103 is used to segment and clean the key fields used for account splitting to obtain account splitting keywords and tag information.

[0074] Considering that the bill contains a large amount of field information that is not related to bill allocation and is not helpful for bill allocation, the key fields used for bill allocation are segmented and the invalid information contained therein is cleaned to obtain the bill allocation keywords and label information.

[0075] The prediction module 104 is used to perform semantic recognition on the account sharing keywords and the tag information through a large language model, and predict the account sharing dimensions corresponding to the account sharing keywords and the keywords of the corresponding dimensions.

[0076] The cleaned account division keywords and label information are provided to the large language model for semantic recognition, and the large language model aggregates the account division dimensions, which include organization, application, environment, component, personnel, etc. The large language model predicts possible account division dimensions and corresponding dimension keywords based on the account division keywords and label information. For example, the large language model identifies the keywords of the environment dimension as: "test", "uat", "dev", the keywords of the project dimension as: "aproject", "bproject", "cproject", "dproject", and the keyword of the personnel dimension as: "user1".

[0077] It should be noted that since the large language model is often unable to recognize the project or application code information within the customer company, this information is input into the large language model so that the large language model can learn and accurately infer the classification of the keywords.

[0078] By using a large language model to perform semantic recognition and automatically infer the account sharing dimensions and corresponding keywords, this method is more flexible and intelligent than the existing rule-based methods.

[0079] The matching identification module 105 is used to search for keywords matching the keywords of the corresponding dimension from the resource list when the user client confirms the account division dimension and the keywords of the corresponding dimension output by the large language model, and identify the matching resources in the resource list.

[0080] The account split dimensions and the keywords of the corresponding dimensions output by the large language model are sent to the user client, so that the user can view the account split dimensions and the keywords of the corresponding dimensions through the user client. For inappropriate account split dimensions and the keywords of the corresponding dimensions, the user can modify or rename them.

[0081] When the user client confirms the account division dimensions and the keywords of the corresponding dimensions output by the large language model, the keywords matching the keywords of the corresponding dimensions are searched from the resource list, and the matching resources in the resource list are identified.

[0082] For example, the keyword of the corresponding dimension is user1, and a match is performed in the resource list, and the matched keyword is user1, then the resource where the matched keyword user1 is located is identified.

[0083] The second creation module 106 is used to obtain an account splitting solution based on the resource identification result, and create an account splitting rule based on the account splitting solution.

[0084] After all resource lists are marked, an account splitting scheme is created based on the resource representation results, and an account splitting rule is created based on the account splitting scheme. The account splitting rule is used to find keywords from key fields and assign them to objects corresponding to the keywords.

[0085] For example, assuming that the keyword is A, the account splitting rule is B, the account splitting dimension is C, the object is Cx, and the key field where the keyword is located is D, then the content of the account splitting rule B is: when D contains A, the consumed resources are allocated to Cx to realize the allocation of resource costs in the bill.

[0086] The account splitting schemes are shown in Table 1 and Table 2, which are the account splitting schemes for the application dimension and the account splitting schemes for the environment dimension, respectively. When the account splitting dimension is application, the keywords matched in the bill are aproject, bproject, cproject, and other unassigned keywords (unassigned keywords may be keywords that have not been matched to the corresponding keywords), and the number of resources matched by each keyword is 4, 4, 3, 2, and 4, respectively. The bill amounts are 1,000 yuan, 500 yuan, 200 yuan, 100 yuan, and 600 yuan, respectively. The resources marked may be cloud servers, cloud databases, disks, networks, and other resources. When the account splitting dimension is environment, the keywords matched in the bill are uat, dev, test, and other unassigned keywords, and the number of resources matched by each keyword is 5, 4, 3, and 4, respectively. The bill amounts are 1,100 yuan, 500 yuan, 200 yuan, and 600 yuan, respectively. The resources marked may be cloud servers, cloud databases, disks, networks, and other resources.

[0087] Table 1

[0088] application Amount Number of resources aproject 1000 4 bproject 500 4 cproject 200 3 dproject 100 2 Unassigned 600 4

[0089] Table 2

[0090] environment Amount Number of resources uat 1100 5 dev 500 4 test 200 3 Unassigned 600 4

[0091] The embodiment of the present application proposes a bill sharing system, which obtains bills from a cloud vendor platform and creates a resource list through a first creation module; the extraction module extracts key fields for account sharing from the resource list, and the key fields for account sharing include: resource name, resource group / project, subscription and resource tag; the cleaning module segments and cleans the key fields for account sharing to obtain account sharing keywords and tag information; the prediction module performs semantic recognition on the account sharing keywords and the tag information through a large language model, and predicts the account sharing dimensions corresponding to the account sharing keywords and the keywords of the corresponding dimensions, and the account sharing dimensions include organization, application, environment, component and personnel; the matching identification module searches for keywords that match the keywords of the corresponding dimension from the resource list when the user client confirms the account sharing dimensions and the keywords of the corresponding dimensions output by the large language model, and identifies the matching resources in the resource list; the second creation module obtains an account sharing plan based on the resource identification result, and creates an account sharing rule based on the account sharing plan, and the account sharing rule is used to find keywords from the key fields and assign them to objects corresponding to the keywords. The system uses modules such as data processing, feature extraction, semantic recognition and rule creation to search for key words in the statement and to identify them in a standardized manner. Based on this, it generates an account splitting plan and corresponding account splitting rules. The account splitting rules can be used to quickly allocate resource costs in the statement in multiple dimensions without the need for manual account splitting, thereby improving account splitting efficiency and accuracy.

[0092] In an optional embodiment, the cleaning module 103 includes the following submodules:

[0093] The conversion submodule 1031 is used to convert all key fields used for account splitting into fields represented in lower case.

[0094] To facilitate subsequent data processing, first convert all key fields used for account splitting into lowercase fields.

[0095] For example, the fields of the resource group / project: Bproject, Cproject, Dproject, after being converted into lowercase, are represented as follows: bproject, cproject, dproject.

[0096] The first segmentation submodule 1032 is used to segment the key fields of resource name, resource group / project and subscription respectively by using the first segmentation symbol to obtain a plurality of first segmentation fields.

[0097] Then, different fields are segmented, and the key fields of resource name, resource group / project, and subscription are segmented by the first segmentation character to obtain multiple first segmentation fields.

[0098] For example, assuming that the first separator is “-”, the resource name key field is segmented, and the segmented fields are represented as follows:

[0099] "aproject", "bproject", "test", "dev", "tke", "andit", "cls", "k64ru0".

[0100] The resource group / project key fields are segmented, and the segmented fields are represented as follows:

[0101] "aproject", "bproject", "cproject".

[0102] The second segmentation submodule 1033 is used to segment the tag into multiple tag key-value pairs according to the second segmentation character, and obtain multiple second segmentation fields and tag information.

[0103] To segment a tag, it is necessary to obtain the value according to the key value in the tag's key-value pair (key: value). Specifically, the tag is segmented according to the second segmentation character to obtain multiple tag key-value pairs, and multiple second segmentation fields and tag information are obtained.

[0104] For example, the segmented label field can be represented as follows:

[0105] "abc", "test", "user1", "def", "uat", "dproject".

[0106] In a tag key-value pair, the same tag key corresponds to multiple tag values. For example, the same key value contains the following values: value1, value2, value3, ..., valuen.

[0107] It should be noted that in addition to using the segmented fields as keywords, it is also necessary to provide a key-value pair (key: value) data to the large language model so that the large language model can predict the dimension of the keyword based on the key-value pair data.

[0108] For example, the key-value pairs provided to the large language model may be as follows:

[0109] appname: "def", "abc"; environment: "test", "uat"; project: "dproject"; vender: "user1".

[0110] The identification and cleaning submodule 1034 is used to identify invalid information in multiple first segmentation fields and second segmentation fields through a naive Bayes algorithm, and clean the invalid information to obtain account splitting keywords.

[0111] The segmented fields often contain a lot of invalid information. For example, in the product name, the cloud vendor platform will automatically generate name information, such as "tke-audit-cls-k64ru0". In this information, "k64ru0" is considered invalid information. Some cloud products are automatically tagged by the cloud vendor platform when they are created, and the tags will also contain a lot of invalid information. This information will interfere with the account sharing results and needs to be cleaned up. However, due to the inconsistency of the generation rules and results of different vendors, the invalid information is automatically identified through machine learning. The machine learning algorithm can choose Naive Bayes for text classification. By combining machine learning algorithms (such as Naive Bayes algorithm) with the semantic recognition technology of large language models to jointly process cloud bills, it is more efficient than the existing manual allocation method.

[0112] Specifically, the invalid information in the first segmentation fields and the second segmentation fields is identified by the naive Bayes algorithm, and the invalid information is cleaned to obtain the account division keywords. The account division keywords are used for subsequent classification, which can improve the accuracy of bill classification.

[0113] In this submodule, a naive Bayes classifier is used to calculate the posterior probability, which is based on the Bayesian theorem. The posterior probability (P(y|X)) is used as the basis for classification.

[0114] In an optional implementation, the identification and cleaning submodule 1034 specifically includes the following units:

[0115] The feature extraction unit 10341 is used to extract features from the first segmentation field and the second segmentation field and construct a feature vector.

[0116] First, extract the features of the segmented fields. For example, the extracted features are as follows:

[0117] Whether to contain numbers: whether the segmented field contains at least one number.

[0118] Contains letters: Whether the segmented field contains at least one letter.

[0119] Whether to contain special characters: whether the segmented field contains a special character (such as underscore -).

[0120] Is it all numbers?: Whether the segmented field consists only of numbers.

[0121] Is it all letters: whether the segmented field consists only of letters.

[0122] Length of the segmented field: the number of characters in the segmented field.

[0123] Then, for each segmented field, a feature vector is constructed based on the extracted features. The feature vector is used to indicate whether the segmented field has the features. For example, the feature vectors of the fields "103", "nodepool1", and "scratchvolume" are used for illustration:

[0124] "103": [contains numbers, no letters, no special characters, all numbers, not all letters, length 3].

[0125] "nodepool1": [contains numbers, contains letters, contains special characters, is not all numbers, is not all letters, length 10].

[0126] "scratchvolume": [not containing numbers, containing letters, not containing special characters, not all numbers, all letters, length 12].

[0127] The first calculation unit 10342 is used to calculate the prior probability and conditional probability based on the statistical information in the pre-training data.

[0128] The pre-trained data are labeled as meaningful and meaningless, and then the statistical information of the labeled pre-trained data is used to calculate the prior probability and conditional probability.

[0129] For example, first calculate the conditional probability: P(contains number | meaningful), P(contains number | meaningless), the prior probability: P(meaningful), P(meaningless), and so on.

[0130] The second calculation unit 10343 is used to calculate the posterior probability that the first segmentation field or the second segmentation field belongs to the first category and the second category respectively based on the prior probability and the conditional probability.

[0131] By using the prior probability and conditional probability pre-calculated based on the pre-training data to calculate the posterior probability, it is possible to avoid the need to repeatedly calculate a large number of values ​​each time. Specifically, the probability that the first segmentation field or the second segmentation field belongs to the first category and the second category is calculated respectively by the prior probability and the posterior probability.

[0132] Among them, the first category is set to be meaningful, and the second category is set to be meaningless.

[0133] Assume that the features (X = [X1, X2, ..., Xn]) are independent of each other, and the calculation formula of the prior probability P(y|X) is as follows:

[0134]

[0135] Among them, P(y) represents the prior probability of category y, P(X) represents the marginal probability, and P(X|y) represents the conditional probability of feature X.

[0136] Due to the independence assumption between features:

[0137] P(X|y)=P(X1|y)*P(X2|y)*...*P(X n |y)

[0138] The calculation formula of the posterior probability is as follows:

[0139]

[0140] in, represents the sum of the conditional probabilities of n features, P(y) represents the prior probability of category y, P(y|X) represents the posterior probability, P(X) represents the marginal probability, P(X) = ∑ j P(X|y j )·P(y j ), which means summing all possible categories j.

[0141] Exemplarily, for each segmented field, the posterior probability of it belonging to the two categories of "meaningful" and "meaningless" is calculated. For example, for the segmented field "103":

[0142] P(meaningful|feature)=P(contains numbers|meaningful)×P(does not contain letters|meaningful)×...×P(meaningful) / P(feature).

[0143] P(meaningless|feature)=P(contains numbers|meaningless)×P(does not contain letters|meaningless)×...×P(meaningless) / P(feature).

[0144] The prediction determination unit 10344 is used to use the category corresponding to the maximum posterior probability as the prediction result of the first segmentation field or the second segmentation field, and determine the key field whose prediction result is the second category as invalid information.

[0145] After obtaining the posterior probability, there will be two results, one is a meaningful posterior probability, and the other is a meaningless posterior probability. The category corresponding to the maximum posterior probability is used as the prediction result of the first segmentation field or the second segmentation field, and the key field whose prediction result is the second category is determined as invalid information, and the key field whose prediction result is the first category is determined as valid information.

[0146] The first category is determined to be meaningful, and the second category is determined to be meaningless. If the posterior probability that the segmented field belongs to the second category is greater than the posterior probability of the first category, then the segmented field is considered to be meaningless and is determined to be invalid information.

[0147] The posterior probability is calculated for each segmented field, and it is determined whether the field is meaningful or meaningless, and the prediction result is obtained.

[0148] By automatically extracting and identifying key fields for account splitting, the complexity and error rate of manual operations are reduced, and the accuracy and efficiency of account splitting are improved.

[0149] In an optional implementation, the search order of the keywords in the resource group / project and the tag should be determined according to the coverage of the keywords. The matching identification module 105 specifically includes:

[0150] The coverage calculation submodule 1051 is used to calculate the coverage of the keywords of the corresponding dimension in the resource list field.

[0151] When searching for matching keywords in the resource list, the search needs to be performed in a certain order. The search order for keywords in resource groups / projects and tags is based on the size of the coverage.

[0152] First, the coverage rate calculation submodule is used to calculate the coverage rate of the keywords of the corresponding dimension in the resource list field.

[0153] The search matching submodule 1052 is used to search the resource list for a target keyword that matches the keyword of the corresponding dimension based on the coverage.

[0154] Then, by searching for matching submodules, the target keywords matching the keywords of the corresponding dimension are searched in the resource list.

[0155] For example, the coverage rate of the keyword in resource groups / projects is 3 / 7, and the coverage rate in tags is 2 / 7, then the search order is: resource group / project>tag>resource name; the coverage rate of the keyword in resource groups / projects is 0, and the coverage rate in tags is 3 / 7, then the search order is tag>resource group / project>resource name.

[0156] The identification submodule 1053 is used to identify the resource where the target keyword is located after determining the target keyword, and the identification content is the account sharing dimension: account sharing keyword.

[0157] After finding a matching keyword, the identification submodule is used to identify the keyword as the target keyword, and the resource where the target keyword is located is identified, and the identification content is the account division dimension: account division keyword. For example, the dimension of the target keyword is environment, and the target keyword used for matching and searching is the identified account division keyword, and the identification content is: "environment": "uat", "application": "aproject".

[0158] Among them, for resource names, the search order should follow the resource name search last. This is because the naming of resource names is usually more arbitrary and a lot of information in the resource names is randomly generated by the cloud vendor platform. Therefore, searching by resource name will be used as the bottom value for keyword matching.

[0159] In an optional implementation, the first creation module 101 specifically includes the following submodules:

[0160] The bill acquisition module 1011 is used to obtain the user's historical bills from different cloud vendor platforms, and the granularity of the historical bills is daily bills.

[0161] In order to avoid incomplete resource cost allocation due to incomplete bill data for this month, all bills for the previous month need to be obtained as historical bills when obtaining bills for the first time. In order to facilitate viewing daily consumption trends, the granularity of obtaining bills is daily bills.

[0162] The standardization processing submodule 1012 is used to perform standardization processing on the historical bills obtained from different cloud vendors to obtain and store the original bills.

[0163] Since the bills of different cloud vendors may vary, standardizing the historical bills obtained from different cloud vendors can facilitate unified bill processing. Standardization methods include selecting fields that need to be used for bill analysis and uniformly processing field names. The bills processed in this way become original bills and are stored in the database. Among them, the original bill is a bill that is counted by day based on the billing dimension. Specifically, many resources in the original detailed bill are billed by the hour, and records are generated every hour, with a large amount of data. Therefore, when accessing the bill, the data is compressed to the daily granularity. The compression method is based on the billing items. Most cloud vendor platforms will directly provide bills with the daily granularity, and use the bill as the original bill that the system accesses and stores.

[0164] The aggregation submodule 1013 is used to aggregate the original bills based on resource IDs to generate a resource list.

[0165] The original bill is then aggregated based on the resource ID of the original bill to obtain a resource list. The fields included in the resource list include: resource ID, resource name, resource group / project, subscription, product name, resource tag, and amount payable. Resource ID refers to the unique identifier of a resource, which is used to uniquely identify a resource in the cloud platform. Product name refers to the specific product or service name in the cloud service, such as cloud server (ECS), cloud database (RDS), etc. The amount payable refers to the fees that users need to pay for using cloud resources.

[0166] For example, refer to Table 3, which is an example of a Tencent Cloud bill proposed in an embodiment of the present application. Table 3 only shows part of the contents included in the bill.

[0167] Table 3

[0168]

[0169]

[0170] In an optional implementation, the second creation module 106 includes:

[0171] The account sharing submodule 1061 is used to generate an account sharing scheme based on the resource identification result and present the account sharing scheme to the user client.

[0172] After all resource lists are marked, accounts are divided according to the resource identification results. The resource identification results can determine the identified resources, the dimensions corresponding to the keywords, and the amount payable. The corresponding account division plan is created based on the above data. The account division plan is presented to the user client, and the user client confirms whether the account division plan meets expectations.

[0173] The creation submodule 1062 is used to create account splitting rules according to the account splitting scheme after the user client confirms the account splitting scheme.

[0174] After the user client confirms to adopt the account splitting scheme, an account splitting rule is created according to the account splitting scheme. The account splitting rule is used to persistently store the keyword search rules. The content of the account splitting rule is the condition for bill allocation, that is, searching for keywords from key fields and allocating them to the objects corresponding to the keywords.

[0175] For example, the account splitting rules in the project dimension are used as an example for explanation.

[0176] When the account splitting keyword is aproject, if the resource name contains aproject, the resource is allocated to the aproject project.

[0177] When the account splitting keyword is bproject, if bproject is included in the resource group / project, the resource is allocated to the bproject project.

[0178] When the account splitting keyword is cproject, if cproject is included in the resource group / project, the resource is allocated to the cproject project.

[0179] In this way, the cost of resources used in each project can be obtained, and the cost of each resource can be allocated.

[0180] It should be noted that the account sharing schemes obtained by allocating resource costs in different dimensions may be different. Multi-dimensional account sharing schemes can help users conduct multi-dimensional analysis of resource costs.

[0181] In an optional implementation, after obtaining the account splitting scheme and account splitting rules, in order to evaluate the standardization of the identification content adopted by the account splitting scheme and give corresponding improvement suggestions, the above system further includes the following modules for scoring calculation:

[0182] The single-dimension score calculation module 107 is used to calculate the indicator score of each dimension and the comprehensive indicator score of each dimension.

[0183] The above dimensions include organization, application, environment, components and personnel, and the indicator scores of each dimension are calculated separately. The indicators include consistency, repeatability, correctness and coverage.

[0184] The comprehensive indicator score of each dimension is calculated based on the scores of all indicators of each dimension, and the comprehensive indicator score of each dimension is used to characterize the degree of identification standardization under each dimension.

[0185] The multi-dimensional comprehensive index score calculation module 108 is used to calculate the multi-dimensional comprehensive index score based on the comprehensive index score of each dimension.

[0186] The multi-dimensional comprehensive indicator score is calculated through the comprehensive indicator score of each dimension. The multi-dimensional comprehensive indicator score and the comprehensive indicator score of each dimension are used to provide improvement suggestions for the account splitting rules.

[0187] The preset score of each indicator is compared with the calculated comprehensive indicator score of each dimension, and improvement suggestions are given for indicators that are lower than the preset score.

[0188] In the case where the calculated comprehensive indicator score for each dimension is higher than the preset score for each indicator, the multi-dimensional comprehensive indicator score is compared with the preset comprehensive score, and suggestions for comprehensive improvement are given.

[0189] By calculating the indicator scores and giving improvement suggestions, it helps users optimize the bill management process and improve the standardization and compliance of bill management. Multi-dimensional comprehensive indicator scoring can more comprehensively evaluate the standardization of bills. This method is more comprehensive and scientific than scoring in a single dimension.

[0190] In an optional implementation, the above-mentioned single-dimension score calculation module 107 includes:

[0191] The identification field consistency score calculation submodule 1071 is used to calculate the identification field consistency score based on the total number of resources identified in each dimension and the total number of resources that are most identified.

[0192] Identification field consistency means counting whether the sub-account identification of this dimension is in the same field. The calculation formula for calculating the identification field consistency score S1 in the identification field consistency score calculation submodule is as follows:

[0193]

[0194] Among them, T f Indicates the total number of resources identified in this dimension; C m Indicates the total number of resources in the field with the most identifiers for this dimension. For example, if the most identifiers appear in the label column, the total number of resources identified in the label column is calculated.

[0195] The case consistency score calculation submodule 1072 is used to calculate the case consistency score based on the number of different cases of the same key field for account splitting in each dimension and the number of all matching account splitting keywords.

[0196] Case consistency, that is, counting the number of different capitalizations of the same word in this dimension. The calculation formula for calculating the case consistency score S2 in the case consistency score calculation submodule is as follows:

[0197]

[0198] Among them, C c Indicates the number of times the same word appears in different capital letters in this dimension; T c Indicates the number of all matching account-sharing keywords in this dimension.

[0199] The repetitive score calculation submodule 1073 is used to calculate the repetitive score based on the number of similar account-sharing keywords with the same meaning in each dimension and the number of all matching account-sharing keywords.

[0200] The repetitiveness score is to count the number of similar words with the same meaning under this dimension. The calculation formula for calculating the repetitiveness score S3 in the repetitiveness score calculation submodule is as follows:

[0201]

[0202] Among them, R t Indicates the number of similar words in this dimension, T c Indicates the number of all matching account-sharing keywords in this dimension.

[0203] The correctness score calculation submodule 1074 is used to calculate the correctness score based on the number of spelling errors in the account-sharing keywords under each dimension and the number of all matching account-sharing keywords.

[0204] Correctness is to count the number of spelling errors in the account-sharing keywords under this dimension. The calculation formula for calculating the correctness score S4 in the correctness score calculation submodule is as follows:

[0205]

[0206] Among them, S t Indicates the number of spelling errors in this dimension, T c Indicates the number of all matching account-sharing keywords in this dimension.

[0207] The coverage score calculation submodule 1075 is used to calculate the coverage score based on the total number of resources identified in each dimension and the total number of all resources.

[0208] The coverage rate is to count the number of resources covered by the account-sharing keywords. The calculation formula for calculating the coverage score S5 in the coverage score calculation submodule is as follows:

[0209]

[0210] Among them, T s Represents the total number of all resources, T f Indicates the total number of resources identified by this dimension.

[0211] The comprehensive indicator score calculation submodule 10106 for each dimension is used to calculate the comprehensive indicator score for each of the above dimensions based on the identification field consistency score, the case consistency score, the repetition score, the correctness score and the coverage score.

[0212] Based on the identity field consistency score, case consistency score, repetition score, correctness score and coverage score, calculate the comprehensive indicator score S for each of the above dimensions D The calculation formula is as follows:

[0213]

[0214] Among them, S D Indicates the comprehensive indicator score of this dimension, w i represents the weight index of the i-th indicator score, S i Represents the score of the i-th indicator.

[0215] Based on the comprehensive index score of each dimension above, calculate the multi-dimensional comprehensive index score S o The calculation formula is as follows:

[0216]

[0217] Among them, S O Represents the multi-dimensional comprehensive index score, w j represents the scoring weight of the jth dimension, S Dj Represents the comprehensive indicator score of the j-th dimension.

[0218] For example, assume that the initial data of the project dimension is as follows:

[0219] T f (Total number of resources identified in this dimension) = 1000, C m (Total number of resources of the most identified fields in this dimension) = 800, C c(number of times the same word appears in different capital letters in this dimension) = 4, T c (the number of all matching account-sharing keywords in this dimension) = 10, R t (Number of similar words in this dimension) = 2, S t (Number of spelling errors in this dimension) = 1, T s (The number of resources covered by the account-sharing keywords in this dimension) = 2000.

[0220] Project dimension scores:

[0221] Calculate the identity field consistency score S1:

[0222]

[0223] Calculate the case consistency score S2:

[0224]

[0225] Calculate the repeatability score S3:

[0226]

[0227] Calculate the correctness score S4:

[0228]

[0229] Calculate the coverage score S5:

[0230]

[0231] Calculate the comprehensive index score S for each dimension D :

[0232] Assume the weight w i is equal, the weight w of each scoring item i is 0.2, calculate S D :

[0233]

[0234] Substitute the scores into the calculation:

[0235] S D =0.2×80+0.2×60+0.2×80+0.2×90+0.2×50=72.

[0236] Therefore, the comprehensive index score of this project dimension is S D It is 72 points.

[0237] In a second aspect, the present application embodiment provides a method for allocating bills, see Figure 2 , Figure 2 1 is a flowchart of a method for allocating bills proposed in an embodiment of the present application, the method comprising the following steps:

[0238] Step 201: Obtain the bill from the cloud vendor platform and create a resource list;

[0239] Step 202: extract key fields for billing from the resource list, where the key fields for billing include: resource name, resource group / project, subscription, and resource tag;

[0240] Step 203: segmenting and cleaning the key fields for account splitting to obtain account splitting keywords and tag information;

[0241] Step 204: semantically identify the account splitting keywords and the tag information through a large language model, and predict the account splitting dimensions corresponding to the account splitting keywords and keywords of the corresponding dimensions, where the account splitting dimensions include organization, application, environment, component, and personnel;

[0242] Step 205: When the user client confirms the account division dimension output by the large language model and the keyword of the corresponding dimension, the keyword matching the keyword of the corresponding dimension is searched from the resource list, and the matching resource in the resource list is marked;

[0243] Step 206: Obtain an account division scheme based on the resource identification result, and create an account division rule based on the account division scheme. The account division rule is used to find keywords from the key fields and assign them to objects corresponding to the keywords.

[0244] In order to clearly illustrate a bill sharing method proposed in the embodiment of the present application, Figure 3 For detailed explanation, Figure 3 It is a flowchart of a bill sharing method proposed in an embodiment of the present application.

[0245] Obtain the bill file generated by the public cloud vendor for the user last month with daily granularity. Standardize the bills obtained from different cloud vendors and store them in the database, using the bill as the original bill. Aggregate the original bill by resource ID to generate a resource list. The resource list (corresponding to Figure 3 The resource summary bill in the resource list) should include resource ID, resource name, resource group / project, subscription, product name, resource tag, and amount payable. Extract the resource name, resource group / project, subscription, and resource tag fields from the resource list as key fields for splitting accounts. The key fields for splitting accounts refer to the key identifiers that need to be extracted from these words to identify which cost center the resource should be assigned to in order to split the bill. Then split the key fields for splitting accounts and clean the data (i.e. Figure 3The resource bill cleaning in the resource bill cleaning process is to identify invalid information in the key fields used for account splitting through the naive Bayes algorithm and clean the label information of the account splitting keywords. The cleaned account splitting keywords and label information are provided to the large language model for semantic recognition. The large language model automatically infers the possible account splitting dimensions and corresponding dimension keywords based on the account splitting keywords and label information, and confirms the account splitting dimensions and corresponding dimension keywords to the user client. The user can modify and rename them according to his own wishes through the user client. After the user confirms through the user client, the matching keywords are searched from the resource list. The keyword search needs to be in a certain order. The order should follow the last search from the resource name, and the search order in the resource group / project, subscription and label should be determined according to the keyword coverage. The account splitting results of the expected dimension and the resource tagging are presented to the user client, and the user confirms whether to adopt this account splitting plan. After the user confirms the account splitting plan through the user client, the account splitting rules are automatically created. The account splitting rules are persistently stored for the keyword search rules. The rule content is the condition for automatic bill allocation, that is, a keyword is searched from a certain field and allocated to a certain object.

[0246] In the process of obtaining the split account bill according to the preset time according to the split account rule, in order to view the specific consumption situation, for example, to view the daily consumption situation of a certain resource of a certain project, it is necessary to apply the split account rule proposed in this application to the original bill, split the original bill of the daily granularity according to the split account rule, and obtain a specific split account bill so that the user can view the specific consumption situation.

[0247] For details on cleaning the resource list, please refer to Figure 4 , Figure 4 This is a schematic diagram of a resource list cleaning process proposed in an embodiment of the present application. A list summarized by resource is generated based on the acquired bill, and then the account splitting keywords are extracted and segmented, and the naive Bayes algorithm is used to clean invalid fields, and the cleaned account splitting keywords and label information are input into the large language model for semantic recognition.

[0248] The embodiment of the present application proposes a method for allocating bills, which obtains bills from a cloud vendor platform and creates a resource list; extracts key fields for account sharing from the resource list, and the key fields for account sharing include: resource name, resource group / project, subscription and resource tag; segments and cleans the key fields for account sharing to obtain account sharing keywords and tag information; uses a large language model to semantically identify the account sharing keywords and the tag information, and predicts the account sharing dimensions corresponding to the account sharing keywords and the keywords of the corresponding dimensions, and the account sharing dimensions include organization, application, environment, component and personnel; when the user client confirms the account sharing dimensions and the keywords of the corresponding dimensions output by the large language model, searches the resource list for keywords that match the keywords of the corresponding dimensions, and identifies the matching resources in the resource list; obtains an account sharing plan based on the resource identification result, and creates an account sharing rule based on the account sharing plan, and the account sharing rule is used to find keywords from the key fields and assign them to objects corresponding to the keywords. This method uses modules such as data processing, feature extraction, semantic recognition and rule creation to search for key words in the statement and to perform normative identification on them. Based on this, an account splitting plan is generated and corresponding account splitting rules are generated. The account splitting rules can be used to quickly allocate resource costs in the statement in multiple dimensions without the need for manual account splitting, thereby improving account splitting efficiency and accuracy.

[0249] Based on the same application concept, the embodiment of the present application discloses an electronic device in a third aspect. Figure 5 A schematic diagram of an electronic device disclosed in an embodiment of the present application is shown. Figure 5 As shown, the electronic device 100 includes: a memory 110 and a processor 120, the memory of the electronic device is not less than 12G, the main frequency of the processor is not less than 2.4GHz, the memory 110 and the processor 120 are connected via a bus communication, and a computer program is stored in the memory 110. The computer program can be run on the processor 120 to implement a bill sharing method disclosed in an embodiment of the present application.

[0250] Based on the same application concept, the embodiment of the present application discloses in a fourth aspect a computer-readable storage medium on which a computer program / instruction is stored. When the computer program / instruction is executed by a processor, a method for splitting bills disclosed in the embodiment of the present application is implemented.

[0251] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0252] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, apparatuses, electronic devices, and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0253] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0254] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0255] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional 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 that fall within the scope of the embodiments of the present application.

[0256] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0257] The above is a detailed introduction to a bill sharing system, method and device provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A bill sharing system, characterized in that: The system comprises: The first creation module is used to obtain bills from the cloud vendor platform and create a resource list; An extraction module, used to extract key fields for billing from the resource list, wherein the key fields for billing include: resource name, resource group / project, subscription, and resource tag; A cleaning module, used to segment and clean the key fields used for account splitting, and obtain account splitting keywords and label information; A prediction module, used to perform semantic recognition on the account-sharing keywords and the tag information through a large language model, and predict the account-sharing dimensions corresponding to the account-sharing keywords and the keywords of the corresponding dimensions, wherein the account-sharing dimensions include organization, application, environment, component, and personnel; A matching identification module, which is used to search for keywords matching the keywords of the corresponding dimension from the resource list when the user client confirms the account division dimension and the keywords of the corresponding dimension output by the large language model, and identify the matching resources in the resource list; The second creation module is used to obtain an account division scheme based on the resource identification result, and to create an account division rule based on the account division scheme, wherein the account division rule is used to find a keyword from a key field and assign it to an object corresponding to the keyword.

2. The bill-sharing system according to claim 1, characterized in that: The cleaning module comprises: The conversion submodule is used to convert all key fields used for account splitting into lowercase fields; The first segmentation submodule is used to segment the key fields of resource name, resource group / project and subscription respectively by the first segmentation symbol to obtain multiple first segmentation fields; A second segmentation submodule is used to segment the tag into multiple tag key-value pairs according to the second segmentation character, to obtain multiple second segmentation fields and tag information, wherein the same tag key corresponds to multiple tag values ​​in one tag key-value pair; The identification and cleaning submodule is used to identify invalid information in multiple first segmentation fields and second segmentation fields through a naive Bayes algorithm, and clean the invalid information to obtain account splitting keywords.

3. The bill-sharing system according to claim 2, characterized in that: The identification and cleaning submodule comprises: A feature extraction unit, configured to extract features from the first segmentation field and the second segmentation field, and construct a feature vector; A first calculation unit, used to calculate a priori probability and conditional probability based on statistical information in pre-training data; A second calculation unit, configured to calculate, based on a priori probability and conditional probability, a posterior probability that the first segmentation field or the second segmentation field belongs to the first category or the second category respectively; A prediction determination unit is used to use the category corresponding to the maximum posterior probability as the prediction result of the first segmentation field or the second segmentation field, and determine the key field whose prediction result is the second category as invalid information.

4. The bill-sharing system according to claim 1, characterized in that: The matching identification module includes: A coverage calculation submodule, used to calculate the coverage of the keywords of the corresponding dimension in the resource list field; A search matching submodule, used for searching the resource list for a target keyword matching the keyword of the corresponding dimension based on the coverage rate; The identification submodule is used to identify the target keyword and then identify the resource where the target keyword is located. The identification content is the account sharing dimension: account sharing keyword.

5. The bill-sharing system according to claim 1, characterized in that: The first creation module includes: The bill acquisition submodule is used to obtain the user's historical bills from different cloud vendor platforms. The granularity of the historical bills is daily bills; The standardization processing submodule is used to standardize the historical bills of different cloud vendors to obtain and store the original bills. The aggregation submodule is used to aggregate the original bill based on the resource ID to generate a resource list, and the resource list includes the following fields: resource ID, resource name, resource group / project, subscription, product name, resource tag and amount payable.

6. The bill-sharing system according to claim 1, characterized in that: The second creation module includes: A billing submodule, configured to generate a billing plan based on the resource identification result and present the billing plan to the user client; A creation submodule is used to create account splitting rules according to the account splitting scheme after the user client confirms the account splitting scheme, and the account splitting rules are used to persistently store the rules for keyword search.

7. The bill-sharing system according to claim 1, characterized in that: The system further comprises: A single-dimension scoring calculation module is used to calculate the indicator score of each dimension and the comprehensive indicator score of each dimension. The comprehensive indicator score of each dimension is used to characterize the degree of identification standardization under each dimension. The indicators include consistency, repeatability, correctness and coverage; The multi-dimensional comprehensive indicator score calculation module is used to calculate the multi-dimensional comprehensive indicator score based on the comprehensive indicator score of each dimension, and the multi-dimensional comprehensive indicator score and the comprehensive indicator score of each dimension are used to provide improvement suggestions for the account splitting rules.

8. The bill-sharing system according to claim 7, characterized in that: The single-dimension scoring calculation module includes: The identification field consistency score calculation submodule is used to calculate the identification field consistency score based on the total number of resources identified under each dimension and the total number of resources identified the most; The case consistency score calculation submodule is used to calculate the case consistency score based on the number of different cases of the same key field used for account splitting in each dimension and the number of all matching account splitting keywords; A repetitive score calculation submodule is used to calculate the repetitive score based on the number of multiple similar account-sharing keywords with the same meaning under each dimension and the number of all matching account-sharing keywords; The correctness score calculation submodule is used to calculate the correctness score based on the number of spelling errors in the account-sharing keywords under each dimension and the number of all matching account-sharing keywords; A coverage score calculation submodule is used to calculate the coverage score based on the total number of resources identified under each dimension and the total number of all resources; The comprehensive indicator score calculation submodule for each dimension is used to calculate the comprehensive indicator score for each dimension based on the identification field consistency score, case consistency score, repetition score, correctness score and coverage score.

9. A method for splitting bills, characterized in that: The method comprises: Obtain bills from cloud vendor platforms and create resource lists; Extracting key fields for billing from the resource list, the key fields for billing include: resource name, resource group / project, subscription, and resource tag; Segment and clean the key fields used for account splitting to obtain account splitting keywords and tag information; The account splitting keywords and the tag information are semantically recognized by a large language model, and the account splitting dimensions corresponding to the account splitting keywords and the keywords of the corresponding dimensions are predicted, where the account splitting dimensions include organization, application, environment, component, and personnel; When the user client confirms the account division dimension output by the large language model and the keyword of the corresponding dimension, the keyword matching the keyword of the corresponding dimension is searched from the resource list, and the matching resource in the resource list is marked; An account division scheme is obtained based on the resource identification result, and an account division rule is created based on the account division scheme. The account division rule is used to find keywords from key fields and assign them to objects corresponding to the keywords.

10. An electronic device comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the functions of the split bill system according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Method and apparatus for settling earning distribution

    CN106447426A

  • Abnormity alarm method and device for hybrid cloud, and electronic equipment

    CN115580520A

  • Cost allocation method and device, storage medium and computer equipment

    CN115936302A

  • Reconciliation method, system and related equipment

    CN117726464A

  • Cloud resource cost reconciliation method and device, equipment and medium

    CN118982433A

Cited By

  • Automatic collection visual analysis method for multi-subject telecommunication service invoicing data

    CN122335511A