Big Data-Based Method, System and Medium for Inspecting Construction Project Cost Data

By converting the construction project cost table into a standardized table and splitting the column rows, combining the logical and numerical range inspection of historical data intervals, the problems of low efficiency and insufficient accuracy of construction project cost data are solved, and efficient and accurate cost data detection is achieved.

CN119783654BActive Publication Date: 2025-07-25广东中建普联科技股份有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411712568.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-07-25
Estimated Expiration
2044-11-27

AI Technical Summary

Technical Problem

The inspection efficiency of existing construction project cost data is low and numerical abnormalities is easily missed, especially the accuracy of the inspection of the numerical size is difficult to guarantee.

Method used

After converting the construction project cost table into a standardized table, column splitting and row splitting are performed, list data and row table data are generated, and empty value tests, numerical attribute tests and numerical abnormality tests are used to test the logic and numerical ranges.

Benefits of technology

It improves the efficiency and accuracy of cost data inspection, ensures the integrity and numerical anomalies of cost data, and avoids omissions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119783654B_ABST
    Figure CN119783654B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, system and medium for verifying construction project cost data based on big data. The method includes: converting the obtained cost table of a construction project into a standardized table, and splitting the standardized table into list table data and row table data; performing null value verification and numerical attribute verification on each list table data to generate a first verification result; for each row table data, determining the corresponding list header for each content cell therein, and performing numerical anomaly verification on the content cell according to the historical numerical range corresponding to the list header to generate a second verification result; generating a final verification result output from each first verification result and each second verification result. The present invention converts various types of cost tables into standardized tables and then splits them. While performing null value verification and numerical attribute verification, it also performs numerical anomaly verification based on a large amount of historical cost data, realizing the efficient and accurate verification of the integrity, numerical attributes and numerical anomalies of cost data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of big data processing, and particularly to a method, a system and a medium for checking construction project cost data based on big data. Background Art

[0002] Construction projects involve a wide variety of types, including the construction of various public infrastructure such as road bridges, stations, and tracks, as well as the construction of various industrial buildings and civil buildings. Regardless of the type of construction project, it needs to go through several stages such as design, construction, and acceptance, and belongs to a complex system project. Moreover, in order to better control the overall cost of the construction project, cost calculations are carried out in each of the above-mentioned stages of the construction project. Among them, the cost calculation in the design stage is mainly a preliminary budget for the costs of building materials, labor costs, mechanical equipment, engineering design, etc.; the cost calculation in the construction stage is a relatively accurate assessment and tracking control of the costs of labor costs, mechanical equipment leasing, material procurement, etc. based on the specific construction plan and construction scheme; the cost calculation in the acceptance stage is a review and accounting based on the actual engineering quantity and cost.

[0003] It can be seen from this that the entire construction project involves various types of cost documents compiled by different personnel. Each cost document is usually compiled in the form of a table, involving cost data in multiple cells, and abnormalities are likely to occur during the compilation process. For example, a certain cell lacks a value, or the data type of the cell is incorrect, or the numerical value of the cell is abnormal, etc. In order to avoid such abnormalities, it is usually necessary to check the cost data in each cell of the cost document after the cost document is compiled. The check is usually carried out by two-level manual verification by the compiling personnel and relevant review personnel. However, due to the large amount of cost data in the cost documents involved, the check efficiency is low and it is easy to miss, resulting in low check accuracy. In particular, it is difficult to accurately check the abnormality of the numerical value. Therefore, how to accurately and efficiently check the cost data in various cost documents of construction projects is one of the technical problems that need to be solved currently. Summary of the Invention

[0004] The main purpose of the present invention is to provide a method, a system and a storage medium for checking construction project cost data based on big data, aiming to solve the technical problem of how to accurately and efficiently check the cost data in various cost documents of construction projects.

[0005] To achieve the above object, the present invention provides a method for checking construction project cost data based on big data. The method for checking construction project cost data based on big data includes:

[0006] When a cost table of a construction project is obtained, convert the cost table into a standardized table, and perform column splitting and row splitting on the standardized table to generate a plurality of list table data and a plurality of row table data;

[0007] Perform null value checks and numerical attribute checks on each of the list table data, and generate first test results corresponding to each of the list table data respectively;

[0008] For each row table data, determine the list headers corresponding to each content cell in the row table data, and perform numerical anomaly checks on the content cells according to the historical numerical ranges corresponding to the list headers, generating second test results corresponding to the row table data;

[0009] Generate the first test results and the second test results into the final test results of the cost table for output, and complete the inspection of each cost data in the cost table.

[0010] Preferably, the step of performing numerical anomaly checks on the content cells according to the historical numerical ranges corresponding to the list headers and generating second test results corresponding to the row table data includes

[0011] Determine whether there is a target list header in the standardized table that has a logical relationship with the list header. If the target list header exists, search for the target data corresponding to the target list header in the row table data;

[0012] Perform logical checks on the content cells according to the logical relationship and the target data, and determine whether the logical checks pass;

[0013] If the logical checks pass, perform anomaly checks on the numerical values of the content cells according to the historical numerical ranges, generate numerical test results corresponding to the content cells, and form the numerical test results corresponding to each content cell into the second test results.

[0014] Preferably, the step of performing null value checks and numerical attribute checks on each of the list table data and generating first test results corresponding to each of the list table data respectively includes:

[0015] For each list table data, determine whether there are null value column cells among the column cells included in the list table data, generating null value test results;

[0016] Determine the column attributes corresponding to the list table data, and determine whether there are target numerical values in the numerical values of the column cells that do not match the column attributes, generating attribute test results;

[0017] Generate the null value test results and the attribute test results together into the first test results.

[0018] Preferably, the steps of converting the cost table into a standardized table, performing column splitting and row splitting on the standardized table, and generating a plurality of list table data and a plurality of row table data include:

[0019] Identify the merged cells in the cost table, and split the merged cells to obtain split cells;

[0020] Fill the values in the merged cells into each of the split cells to form the cost table into a standardized table;

[0021] Split the standardized table into a row header part and a row content part, and perform row splitting on the row content part to generate a plurality of the row table data;

[0022] Split the standardized table into a list header part and a column content part, and perform column splitting on the column content part to generate a plurality of the list table data.

[0023] Preferably, the steps of splitting the standardized table into a row header part and a row content part include:

[0024] For each cell in the standardized table, based on a preset word segmentation model, perform word segmentation on the text in the cell to obtain cell keywords;

[0025] Generate a semantic weight matrix corresponding to each of the cell keywords, and correct the keyword vectors corresponding to each of the cell keywords according to the semantic weight matrix, and perform an averaging process on the corrected keyword vectors to obtain the text vector corresponding to the cell;

[0026] Generate a vector matrix corresponding to the standardized table from the text vectors corresponding to each of the cells, and determine the row vector similarity values between adjacent two vector rows in the vector matrix;

[0027] Compare between the row vector similarity values, and determine the target row vector similarity value with the smallest value among the row vector similarity values;

[0028] Determine the target row in the standardized table corresponding to the target row vector similarity value, and split the standardized table into a row header part and a row content part according to the target row.

[0029] Preferably, before the step of performing word segmentation on the text in the cell based on a preset word segmentation model to obtain cell keywords:

[0030] Obtain a corpus dataset, and iteratively train the preset word segmentation model based on the corpus dataset, and update each of the model parameters according to the learning rate of each model parameter in the preset word segmentation model during the iterative training process:

[0031] When the number of iterative training reaches a preset number, calculate the objective function of the preset word segmentation model to obtain a calculation result, and the calculation formula is:

[0032]

[0033] where LM represents the calculation result, Q represents the number of corpora in the corpus dataset, m p represents the number of words divided by the preset word segmentation model for the p-th corpus in the corpus dataset, m p0 represents the number of reference words corresponding to the p-th corpus, S p represents the word vector divided by the preset word segmentation model for the p-th corpus, S p0 represents the reference word vector corresponding to the p-th corpus, γ represents a constraint parameter, b represents the bias value of the preset word segmentation model, and w represents the weight value of the preset word segmentation model;

[0034] According to the calculation result, determine whether the preset word segmentation model converges. If the preset word segmentation model converges, complete the iterative training of the preset word segmentation model;

[0035] If the preset word segmentation model does not converge, execute the step of iteratively training the preset word segmentation model based on the corpus dataset.

[0036] Preferably, before the step of performing numerical anomaly detection on the content cell according to the historical numerical range corresponding to the list header:

[0037] Read multiple historical data corresponding to the list header, and select any target historical data from each of the historical data, and calculate the distance parameters between the target historical data and each of the historical data;

[0038] Arrange the distance parameters in ascending order, and generate the differences between adjacent two distance parameters according to the arrangement order;

[0039] Determine the clustering radius according to the differences, and perform clustering on each of the historical data according to the clustering radius to form historical data groups;

[0040] Sort the data in each group in the historical data groups in ascending order to generate a historical sequence;

[0041] Determine the quartile values in the historical sequence, and determine the historical value range based on the quartile values.

[0042] Preferably, the step of clustering each of the historical data according to the clustering radius to form historical data groups includes:

[0043] Obtain a preset clustering density, and cluster the historical data according to the clustering radius and the preset clustering density to form initial data groups;

[0044] Calculate the density index and the proximity index of the initial data groups according to a preset evaluation formula, and the preset evaluation formula is;

[0045]

[0046] where ρ represents the density index, C represents the number of initial data groups, represents the variance of the i-th initial data group, N represents the number of data included in the historical data, x k represents the k-th data in the historical data, μ represents the proximity index, exp represents the natural exponential function, Xci represents the center of the i-th initial data group, Xcj represents the center of the j-th initial data group, represents the Gaussian constant.

[0047] Obtain the density weight and the proximity weight corresponding to the density index and the proximity index respectively, and correct the density index and the proximity index according to the density weight and the proximity weight respectively to obtain an evaluation index corresponding to the initial data group;

[0048] Compare the evaluation index with a preset index threshold, and determine whether the evaluation index is greater than the preset index threshold. If it is greater than the preset index threshold, generate the initial data group as a historical data group;

[0049] If the evaluation index is less than or equal to the preset index threshold, update the preset clustering density, and based on the updated preset clustering density, execute the step of clustering the historical data according to the clustering radius and the preset clustering density until the evaluation index is less than the preset index threshold.

[0050] Furthermore, to achieve the above object, the present invention also provides a big data-based building project cost data inspection system. The big data-based building project cost data inspection system includes a memory, a processor, a communication bus, and a control program stored on the memory:

[0051] The communication bus is used to realize the connection and communication between the processor and the memory;

[0052] The processor is used to execute the control program to implement the steps of the big data-based construction project cost data inspection method as described above.

[0053] Furthermore, to achieve the above object, the present invention also provides a medium, which is a readable storage medium. A control program is stored on the storage medium, and when the control program is executed by a processor, it implements the steps of the big data-based construction project cost data inspection method as described above.

[0054] For the big data-based construction project cost data inspection method, system and medium of the present invention, when obtaining the cost form of a construction project, first convert it into a standardized form, and then perform column splitting and row splitting on the converted standardized form to generate multiple list form data and multiple row form data. Among them, the list form data is the data obtained by splitting according to the content columns of the standardized form, and null value inspection and numerical attribute inspection are performed on the list form data to ensure that each cell in the cost form has data and the numerical attributes of the data are correct. The row form data is the data obtained by splitting according to the content rows of the standardized form. By determining the list header corresponding to each content cell therein, and then performing numerical anomaly inspection on it according to the historical numerical range corresponding to the list header. This historical data range is generated from a large amount of historical cost data of multiple other construction projects with similar characteristics to the current construction project on the list header, and is used as the reference cost range for the construction project represented by the list header. The abnormality of the cost data in the cell can be inspected by the size relationship between the cost data in the cell and this cost range. Furthermore, the first inspection result obtained through null value inspection and numerical attribute inspection and the second inspection result obtained through numerical anomaly inspection are jointly generated as the final inspection result of the cost form for output. In this way, by converting various types of cost forms into standardized forms for column splitting and row splitting, obtaining list form data and row form data for inspection in a column and row manner, while improving the inspection efficiency, omission is avoided, and numerical anomaly inspection is performed through the historical numerical range generated from a large amount of historical cost data, ensuring the accuracy of numerical size inspection, and realizing the efficient and accurate inspection of the integrity, numerical attributes and numerical anomalies of each cost data in the cost form. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] Figure 1 It is a schematic flowchart of the first embodiment of the big data-based construction project cost data inspection method of the present invention;

[0056] Figure 2 It is a schematic flowchart of the second embodiment of the big data-based construction project cost data inspection method of the present invention;

[0057] Figure 3Schematic flowchart of the third embodiment of the method for verifying construction project cost data based on big data according to the present invention;

[0058] Figure 4 Schematic structural diagram of the hardware operating environment involved in an embodiment of the system for verifying construction project cost data based on big data according to the present invention.

[0059] The implementation, functional features and advantages of the object of the present invention will be further described with reference to the embodiments and the accompanying drawings. Detailed implementation manners

[0060] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0061] The present invention provides a method for verifying construction project cost data based on big data. Please refer to Figure 1 , Figure 1 Schematic flowchart of the first embodiment of the method for verifying construction project cost data based on big data according to the present invention.

[0062] Embodiments of the method for verifying construction project cost data based on big data are provided in the embodiments of the present invention. It should be noted that although the logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order from that here. Specifically, the method for verifying construction project cost data based on big data in this embodiment includes:

[0063] Step S10, when a cost form of a construction project is obtained, convert the cost form into a standardized form, and perform column splitting and row splitting on the standardized form to generate a plurality of list form data and a plurality of row form data.

[0064] The method for verifying construction project cost data based on big data in this embodiment is applied to the background server. The background server verifies the cost data in each cost form of the construction project to ensure the integrity, numerical attributes and numerical size correctness of the cost data in the cost form. Among them, the verification of the cost data can be the verification of the cost data in a single cost document or the unified verification of all cost documents of the construction project, and this is not limited. Each cost form can be stored in a database communicatively connected to the background server. When it is necessary to verify the cost data of the construction project, the background server first obtains the corresponding cost form from the database.

[0065] Further, the cells in the cost table may vary in many ways, such as cells merged in rows, cells merged in columns, multi-level table headers, etc. To uniformly process the cost table, after obtaining the cost table, the background server performs conversion processing on it and converts it into a standardized table. The standardized table is a table in which cells exist in a single form, that is, there are no merged cells. Then, the content part of the standardized table is split by columns and rows. The data with the same column identifier in the content part of the standardized table represents the data in the same column. Identify and extract this type of data from the standardized table to form list table data, and the data with the same row identifier in the content part of the standardized table represents the data in the same row. Identify and extract this type of data from the standardized table to form row table data. After identifying and extracting each column and each row in the standardized table, multiple list table data and multiple row table data are obtained, and each list table data and each row table data each contain all the data in the standardized table.

[0066] Step S20: Perform a null value test and a numerical attribute test on each of the list table data, and generate a first test result corresponding to each of the list table data.

[0067] Furthermore, each list table data contains multiple cells with the same column identifier and sequentially arranged row identifiers. For example, for the 10 cells corresponding to columns 2 and rows 1 - 10. Perform a null value test and a numerical attribute test on each such list table data. Through the test, generate a first test result indicating whether each cell contained in each list table data has data and whether the numerical attributes of the data are correct. Specifically, the step of performing a null value test and a numerical attribute test on each of the list table data and generating a first test result corresponding to each of the list table data includes:

[0068] Step S21: For each of the list table data, determine whether there are null value column cells among the column cells contained in the list table data, and generate a null value test result;

[0069] Step S22: Determine the column attribute corresponding to the list table data, and determine whether there is a target value in the numerical values of the column cells that does not match the column attribute, and generate an attribute test result;

[0070] Step S23: Combine the null value test result and the attribute test result to generate the first test result.

[0071] Furthermore, each cell that constitutes the tabular data is regarded as a column cell included in the tabular data. For each tabular data, it is detected whether there is a null value column cell among the column cells it contains, and a corresponding null value test result is generated. The null value column cell is a cell with a null value for the numerical value, that is, it is determined whether there is a null value column cell by detecting whether the numerical values in the column cells are null values. If there is a column cell with a null value for the numerical value, it is determined that there is a null value column cell, and the row identifier and column identifier of the null value column cell are jointly generated as the null value test result for the existence of the null value column cell. If there is no column cell with a null value for the numerical value, it is determined that there is no null value column cell, and a null value test result for the non-existence of the null value column cell is generated.

[0072] Furthermore, different tabular data correspond to different data meanings. For example, tabular data representing the unit prices of various materials used in a certain project section of a construction project, or tabular data representing the quantities of various materials used, or tabular data representing the units of the quantities of various materials used. The data meaning corresponding to the tabular data is used as the column attribute corresponding to the tabular data. Such column attributes can be determined through the table header of the cost table. By means of the column identifier corresponding to the tabular data, the table header cell in the table header of the cost table with this column identifier is found, and then the column attribute corresponding to the tabular data is determined by this table header cell. Different column attributes represent different data meanings and have different numerical characteristics. For example, for the column attribute representing the meaning of quantity used and the column attribute representing the meaning of unit, the corresponding numerical characteristics between the two are such that the former is a number, while the latter is not a number. Therefore, after determining the column attribute corresponding to the tabular data, the numerical characteristics corresponding to the column attribute can be identified, and then it can be judged whether the numerical values in the column cells included in the tabular data all have this numerical characteristic, and thereby it can be determined whether there is a target numerical value that does not match the column attribute among the numerical values of the column cells. If the numerical value of a column cell does not have the numerical characteristic corresponding to the column attribute, for example, the numerical characteristic is non-numeric, and the numerical value of a column cell is a number, then at this time it is determined that there is a target numerical value that does not match the column attribute among the numerical values of the column cells, and the row identifier and column identifier of the column cell where the target numerical value is located are jointly generated as the attribute test result for the mismatch of the numerical attribute. On the contrary, if the numerical values of all column cells have the numerical characteristic corresponding to the column attribute, it is determined that there is no target numerical value among the numerical values of the column cells, and an attribute test result for the match of the numerical attribute is generated.

[0073] Further, after the null value check and the numerical attribute check for each list table data are completed, and the corresponding null value check results and attribute check results are generated respectively, the null value check results and the attribute check results of each list table data are engineered into the first check result of the list table data. The first check result formed by the null value check result and the attribute check result includes four combinations, which respectively represent the normal column cells without null value column cells and target numerical values in the list table data, and the abnormal column cells with null value column cells and without target numerical values, without null value column cells and with target numerical values, and with null value column cells and with target numerical values. Moreover, for the abnormal column cells, their row identifiers and column identifiers are formed into the null value check result and / or the attribute check result, so that the first check result also carries the row identifier and the column identifier, thereby facilitating the quick determination of the cells with abnormalities in the cost table.

[0074] Step S30: For each row table data, determine the list header corresponding to each content cell in the row table data, and perform a numerical abnormality check on the content cell according to the historical numerical range corresponding to the list header, and generate a second check result corresponding to the row table data.

[0075] Furthermore, the standardized table before the row splitting of the row table data usually includes header data and content data. Each cell in the header data is the content representing the specific meaning of the data, such as content like unit, quantity, unit price, etc. Each cell in the content data is the content representing the specific numerical value of the data, such as quantity "50", "100", "200", unit price "10", "20", "30", etc. The set of each row table data forms the overall content data, and the check of the row table data is the numerical abnormality check of its respective content cells. Specifically, for each row table data, determine the list header corresponding to each content cell therein. The list header is the header cell in the column where the content cell is located, representing the specific meaning of the data in the content cell. For example, if the numerical value of the content cell is p, and after searching, the header cell in its column is the concrete unit price, it means that the numerical value of this content cell is the concrete unit price.

[0076] Further, search for other completed construction projects with similar characteristics to the construction project. The primary similar characteristic is the same type. For example, they are all construction projects of rail transit. Secondly, they are similar in terms of project scale, construction time, geological factors, material prices, labor prices, equipment rental prices, etc. This type of similarity indicates that the construction project is similar to other construction projects in terms of material usage, material prices, labor prices, and equipment rental prices. Thus, data such as material usage, material prices, and labor prices of other construction projects can form corresponding historical value ranges, which are used as a reference basis for evaluating whether the data in the content cell is reasonable. Specifically, after determining the list header corresponding to the content cell, determine the historical value range corresponding to this list header. This corresponding historical value range is the reasonable value change range formed based on a large amount of data of other construction projects with similar characteristics in the list header. Based on this historical value range, perform a numerical anomaly test on the content cell to determine whether the value in the content cell is within the historical value range, generate a numerical test result indicating whether the value in the content cell is abnormal or not, and then jointly generate a second test result corresponding to the row table data from the numerical test results of each content cell. Specifically, the step of performing a numerical anomaly test on the content cell according to the historical value range corresponding to the list header and generating a second test result corresponding to the row table data includes

[0077] Step S31, determine whether there is a target list header in the standardized table that has a logical relationship with the list header. If there is such a target list header, search for the target data in the row table data corresponding to the target list header;

[0078] Step S32, perform a logical test on the content cell according to the logical relationship and the target data, and determine whether the logical test passes;

[0079] Step S33, if the logical test passes, perform an anomaly test on the value of the content cell according to the historical value range, generate a numerical test result corresponding to the content cell, and form the numerical test results corresponding to each content cell into the second test result.

[0080] Understandably, in addition to the content data directly corresponding to the list header, the tabular data can also be content data that has a logical relationship with other tabular data. For example, if the header cell corresponding to tabular data A is the quantity of material w, then the content data of tabular data A is the specific quantity of material w; if the header cell corresponding to tabular data C is the total price of material w, and tabular data C is obtained by multiplying tabular data B representing the unit price of material w and tabular data A representing the usage amount of material w, then the content data in tabular data C has a logical relationship with tabular data A and B. Based on this, in order to more accurately verify the data values in the content cells, in this embodiment, the values in the content cells are distinguished and verified according to whether they have a logical relationship with other content cells.

[0081] Specifically, for the list header corresponding to the content cell, first determine whether there is a target list header in the standardized table that has a logical relationship with this list header. If there is a target list header, it indicates that the value in the content cell is generated based on the logical relationship of other content cells. If there is no target list header, it indicates that the value in the content cell is a single data that has no logical relationship with other content cells. For this single data without a target list header, directly compare the value in the content cell with the historical value range to determine whether the value in the content cell is within the value range of the historical value range. If it is within its value range, it is determined that the value in the content cell belongs to reasonable normal data, and at this time, a numerical verification result with a normal value range verification is generated. On the contrary, if the comparison determines that it is not within the value range corresponding to the historical value range, it is determined that the value in the content cell does not belong to reasonable normal data, that is, there is an abnormality, and a numerical verification result with an abnormal value range verification is generated.

[0082] Furthermore, for the content cells with a target list header, the target data corresponding to the target list header is found from the row table data, and then, based on the found target data and the logical relationship, a logical check is performed on the content cells. The specific logical check method varies according to the different logical relationships. If the logical relationship is a product relationship, a logical check of the product relationship is performed; if the logical relationship is a sum relationship, a logical check of the sum relationship is performed. For example, for the standardized table corresponding to the above list table data A, B, and C, it contains row table data k1, and k1 contains content cells a, b, and c. The content cells a, b, and c correspond to the list header cells A', B', and C' of the list table data A, B, and C respectively. That is, there are target list headers A' and B' corresponding to the list header C', and the logical relationship is a product relationship. Therefore, for the content cell c, a logical check is performed based on the product of the target data in the content cells a and b. Then, based on the check result generated by the logical check, it is determined whether the logical check passes. The generated check result is compared with the value in the content cell to determine whether they are consistent. If they are consistent, the logical check passes; if not, the logical check fails.

[0083] Even further, for the content cells that pass the logical check, it is necessary to continue to check whether the numerical value is reasonable. That is, the value in the content cell is compared with the historical numerical range to determine whether the value in the content cell is within the numerical range of the historical numerical range. If it is within its numerical range, it is determined that the value of the content cell belongs to reasonable normal data, and at this time, a numerical check result indicating normal numerical range check is generated. On the contrary, if it is determined through comparison that it is not within the numerical range corresponding to the historical numerical range, it is determined that the value of the content cell does not belong to reasonable normal data, that is, there is an abnormality, and a numerical check result indicating abnormal numerical range check is generated. For the content cells that fail the logical check, it means that the value in the content cell is not generated through the logical relationship and there is an abnormality, so a numerical check result indicating abnormal logical check is generated. After the values of all content cells in the row table data have passed the abnormality check and generated their respective numerical check results, the numerical check results are combined according to the arrangement positions of the content cells in the row table data, that is, a second check result corresponding to the row table data is formed. In this way, by performing logical checks and numerical range reasonableness checks on each content cell in the row table data, the accuracy of the data in each content cell in terms of logical relationship and numerical value is ensured.

[0084] Step S40: Generate the final check result of the cost table by outputting each of the first check results and each of the second check results, and complete the check of each cost data in the cost table.

[0085] Further, after performing null value checks and numerical attribute checks on each list table data to generate respective first test results, and performing numerical anomaly detection on each content cell in each row of table data to generate second test results corresponding to each row of table data, the respective first test results and second test results together represent the test result of the cost table. Therefore, the two are jointly generated as the final test result corresponding to the cost table. Among them, the first test result exists in the form of data columns, and the second test result exists in the form of data rows. According to the positions of the list table data corresponding to each first test result in the cost table, each first test result is formed into a first matrix, and according to the positions of the row table data corresponding to each second test result in the cost table, each second test result is formed into a second matrix. The final test result can be generated by adding the first matrix and the second matrix, and the test results of the integrity, numerical attributes, and numerical anomalies of the cost data in the cost table are reflected by the elements in the generated sum matrix. Furthermore, it is judged whether there are abnormal elements in the sum matrix representing the final test result. If there are abnormal elements, it indicates that there are abnormal cost data in the original cost table. The cell information corresponding to the abnormal element is generated as a prompt message and output together with the final test result to prompt the abnormal cost data existing in the cost table. If it is determined that there are no abnormal cells, it indicates that there are no abnormal cost data in the original cost table, and the final test result is directly output. In this way, the inspection of the integrity, numerical attributes, and numerical anomalies of each cost data in the cost table is completed.

[0086] The building project cost data inspection method based on big data in this implementation, when obtaining the cost table of a building project, first converts it into a standardized table, and then performs column splitting and row splitting on the converted standardized table to generate multiple list table data and multiple row table data. Among them, the list table data is the data obtained by splitting according to the content columns of the standardized table. Null value inspection and numerical attribute inspection are performed on this list table data to ensure that each cell in the cost table has data and the numerical attributes of the data are correct. The row table data is the data obtained by splitting according to the content rows of the standardized table. By determining the list headers corresponding to each content cell therein, and then performing numerical anomaly inspection on it based on the historical numerical range corresponding to the list header. This historical data range is generated from a large amount of historical cost data of multiple other building projects with similar characteristics to the current building project on the list header. As the reference cost range for the building project represented by the list header, the abnormality of the cost data in the cell can be inspected by the size relationship between the cost data in the cell and this cost range. Furthermore, the first inspection result obtained through null value inspection and numerical attribute inspection and the second inspection result obtained through numerical anomaly inspection are jointly generated as the final inspection result of the cost table for output. In this way, by converting various types of cost tables into standardized tables for column splitting and row splitting, obtaining list table data and row table data for inspection in a column and row manner, while improving the inspection efficiency, omissions are avoided, and numerical anomaly inspection is performed through the historical numerical range generated from a large amount of historical cost data, ensuring the accuracy of numerical size inspection, and achieving efficient and accurate inspection of the integrity, numerical attributes, and numerical anomalies of each cost data in the cost table.

[0087] Further, please refer to Figure 2 , based on the first embodiment of the building project cost data inspection method based on big data of the present invention, the second embodiment of the building project cost data inspection method based on big data of the present invention is proposed.

[0088] The difference between the second embodiment of the building project cost data inspection method based on big data and the first embodiment of the building project cost data inspection method based on big data is that the step of converting the cost table into a standardized table, performing column splitting and row splitting on the standardized table, and generating multiple list table data and multiple row table data includes:

[0089] Step S11, identify the merged cells in the cost table, and split the merged cells to obtain split cells;

[0090] Step S12, fill the numerical values in the merged cells into each of the split cells to form the cost table into a standardized table;

[0091] Step S13: Split the standardized table into a row header part and a row content part, and perform row splitting on the row content part to generate a plurality of the row table data;

[0092] Step S14: Split the standardized table into a column header part and a column content part, and perform column splitting on the column content part to generate a plurality of the list table data.

[0093] Furthermore, during the process of converting the cost table into a standardized table, first identify the merged cells in the cost table, and identify the cells that have undergone the merging operation in the cost table. Specifically, it can be identified by identifying the row identifier and column identifier of the cell. Determine whether the cell corresponds to one row identifier and one column identifier. If it corresponds to one row identifier and one column identifier, then determine that the cell is not a merged cell. If the cell corresponds to multiple row identifiers or multiple column identifiers, then determine that the cell is a merged cell. Then, split the determined merged cell according to its corresponding row identifier and column identifier to obtain split cells. Moreover, before splitting the merged cell, the data contained in it is applicable to all the split cells. Therefore, read the numerical value of the data in the merged cell and fill it into each split cell to form a standardized table that does not contain merged cells and in which each split cell has the data before splitting.

[0094] It can be understood that in addition to the header located above the table, which is used to represent the meaning of the data in the table, the cost table may also include a header located on the left side of the table, which is used to represent another layer of meaning of the data in the table. In this embodiment, the header located above the table is used as the row header, and the header located on the left side of the table is used as the column header. Then, split the standardized table into a row header part and a row content part according to the row header; among them, the row header part is the set composed of all the header rows in the standardized table, and the row content part is the set composed of all the data rows in the standardized table. For the row content part, continue to split it according to the row identifier. The data with the same row identifier comes from the same data row. Split this data row from the row content part to perform row splitting on the row content part and obtain the corresponding row table data. One row table data corresponds to one data row. In addition, split the standardized table into a column header part and a column content part according to the column header; among them, the column header part is the set composed of all the header columns in the standardized table, and the column content part is the set composed of all the data columns in the standardized table. Then, for the column content part, continue to split it according to the column identifier. The data with the same column identifier comes from the same data column. Split this type of data column from the column content part to perform column splitting on the column content part and obtain the corresponding list table data. One list table data corresponds to one data column.

[0095] It should be noted that the same method can be used to split the row header part and the row content part, and the list header part and the column content part. In this embodiment, the splitting of the row header part and the row content part is taken as an example for illustration, and the splitting of the list header part and the column content part will not be elaborated. Specifically, the steps of splitting the standardized table into a row header part and a row content part include:

[0096] Step S131: For each cell in the standardized table, based on a preset word segmentation model, segment the text in the cell to obtain cell keywords;

[0097] Step S132: Generate a semantic weight matrix corresponding to each cell keyword, and correct the keyword vectors corresponding to each cell keyword according to the semantic weight matrix. Perform mean processing on the corrected keyword vectors to obtain the text vector corresponding to the cell;

[0098] Step S133: Generate a vector matrix corresponding to the standardized table from the text vectors respectively corresponding to each cell, and determine the row vector similarity values between adjacent two vector rows in the vector matrix;

[0099] Step S134: Compare the row vector similarity values to determine the target row vector similarity value with the smallest numerical value among the row vector similarity values;

[0100] Step S135: Determine the target row in the standardized table corresponding to the target row vector similarity value, and split the standardized table into a row header part and a row content part according to the target row.

[0101] Furthermore, the background server has pre-trained a preset word segmentation model. For each cell in the standardized table, the text therein is segmented through this preset word segmentation model to obtain multiple segments. Then, invalid words such as "of", "and", "with", etc. in the multiple segments are removed to obtain the cell keywords corresponding to each cell.

[0102] Furthermore, a semantic weight matrix corresponding to each cell keyword is obtained. This semantic weight matrix represents the magnitude of the semantic relevance between related words in construction engineering. A large number of various documents related to construction engineering are collected, and the frequency probabilities of each word related to construction engineering in the sentences of various documents are counted, and the relevance probabilities between each word are determined. Among them, the relevance probability can be determined by the positional relationship of each word in the sentence. If words appear in a similar positional relationship multiple times in the sentence, the relevance probability between the words is higher; otherwise, it is lower. Furthermore, based on the frequency probabilities of each word and the relevance probabilities between each word, the semantic probabilities between each word are generated. Among them, for the semantic probability between specific two words, if the frequency probabilities of both words are high and the relevance probability between the two words is also high, it indicates that the semantic relevance degree of these two words is high, and thus their semantic probability is high; otherwise, the semantic probability is low. For each cell keyword, while taking each keyword as a matrix row and also as a matrix column, the semantic probabilities between each keyword are then used as the element values of the matrix, forming a semantic weight matrix corresponding to each cell keyword.

[0103] Further, the keyword vectors corresponding to each cell keyword are corrected through the semantic weight matrix, and the correction is used to reflect the semantic accuracy of each cell keyword obtained by word segmentation. If the cell keyword represented by the corrected keyword vector remains unchanged compared to the cell keyword represented by the keyword vector before correction, it indicates that the cell keyword obtained by word segmentation is accurate. Otherwise, if the cell keyword represented changes after correction, it indicates that the cell keyword obtained by word segmentation is inaccurate, and thus the corrected keyword vector is used to replace the keyword vector before correction. Furthermore, the mean value processing is performed on the corrected keyword vectors to obtain a mean result. This mean result represents the vector corresponding to the text within the cell, so it is used as the text vector corresponding to the cell.

[0104] Furthermore, after word segmentation and correction are performed on each cell to obtain their respective text vectors, the text vectors are arranged according to the positions of the cells in the standardized table to obtain a vector matrix corresponding to the standardized table. Furthermore, the similarity values between adjacent pairs of matrix rows in the vector matrix are calculated to obtain row vector similarity values. For example, if the formed vector matrix is 3*3, the similarity values between the first row and the second row, and between the second row and the third row are calculated respectively to obtain two row vector similarity values. Furthermore, a comparison is made between the row vector similarity values to determine the row vector similarity value with the smallest numerical value. This row vector similarity value with the smallest numerical value indicates the lowest similarity between rows and the largest data difference between rows. Generally speaking, compared with the content data corresponding to adjacent pairs of matrix rows, the difference between one adjacent pair of matrix rows corresponding to the header content and the other corresponding to the content data is greater. Therefore, the standardized table can be split based on this row vector similarity value with the smallest numerical value.

[0105] Specifically, the row vector similarity value with the smallest numerical value is used as the target row vector similarity value, and the pair of vector rows that generate this target row vector similarity value is searched for. Furthermore, the target rows in the standardized table corresponding to this pair of vector rows are searched for, and the standardized table is split into a row header part and a row content part based on the target rows. Among them, the target rows corresponding to the pair of vector rows are two rows, and the splitting of the row header part and the row content part can be achieved through the splitting of these two target rows.

[0106] It should be noted that in order to ensure the accuracy of the preset word segmentation model for segmenting sentences related to construction engineering, the training of the preset word segmentation model is formed by training with a corpus dataset related to construction engineering. Specifically, before the step of performing word segmentation on the text in the cell based on the preset word segmentation model to obtain cell keywords, the following steps are included:

[0107] Step S136, obtaining a corpus dataset, and iteratively training the preset word segmentation model based on the corpus dataset, and updating each model parameter according to the learning rate of each model parameter in the preset word segmentation model during the iterative training process:

[0108] Step S137, when the number of iterative training reaches a preset number, calculating the objective function of the preset word segmentation model to obtain a calculation result;

[0109] Step S138, judging whether the preset word segmentation model converges according to the calculation result. If the preset word segmentation model converges, the iterative training of the preset word segmentation model is completed;

[0110] Step S139, if the preset word segmentation model does not converge, then execute the step of iteratively training the preset word segmentation model based on the corpus dataset.

[0111] Furthermore, a large number of various texts related to construction project costs are obtained, and various texts are processed into sentences and words, and the sentences and words are cleaned to form a corpus data set, and the preset word segmentation model is iteratively trained based on the preset data set. Among them, different learning rates are set for different model parameters of the preset word segmentation model, and different learning rates correspond to different parameter update frequencies. In the iterative training process, each model parameter is updated according to the learning rate corresponding to each model parameter. In this way, each model parameter is trained according to a different number of updates, avoiding the simultaneous update of each model parameter, which increases the complexity of model training.

[0112] Furthermore, a preset number of times is set in advance. When the number of iterative training reaches the preset number of times, the objective function of the preset word segmentation model is calculated to obtain a corresponding calculation result. The objective function can be a loss function of the preset word segmentation model, which is used to judge the difference between the actual word segmentation performance of the preset word segmentation model and the expected word segmentation performance. The smaller the difference, the closer the actual word segmentation performance of the preset word segmentation model is to the expected word segmentation performance, and the better the word segmentation effect. The specific calculation formula for calculating the objective function can be found in the following formula (1).

[0113]

[0114] Among them, LM represents the calculation result, Q represents the number of corpora in the corpus dataset, and m p Indicates the number of words that the preset word segmentation model divides the pth corpus in the corpus dataset, m p0 represents the number of reference words corresponding to the p-th corpus, S p S represents the word vector of the p-th corpus divided by the preset word segmentation model, p0 represents the reference word vector corresponding to the p-th corpus, γ represents the restriction parameter, b represents the bias value of the preset word segmentation model, and w represents the weight value of the preset word segmentation model.

[0115] In this way, the accuracy of the preset word segmentation model in dividing the number of words is reflected through the number of words and the number of reference words, and the accuracy of the preset word segmentation model in dividing the semantics of words is reflected through the word vector and the reference word vector, and the combination of the two ensures the accuracy of the preset word segmentation model in the number of word segmentations and semantics. In addition, by setting restriction parameters to limit the overall change range of the bias value and weight value of the preset word segmentation model, it is prevented that the overall change range of the bias value and weight value is too large, resulting in overfitting of the model, and only the word segmentation effect of the corpus data set is good, but the actual word segmentation effect is poor.

[0116] Further, after calculating the objective function to obtain the corresponding calculation result, it is determined whether the preset word segmentation model converges based on this calculation result. The calculation result obtained in the current calculation is compared with the calculation result obtained in the previous calculation to determine whether the difference between the two is greater than a preset threshold. If it is greater than the preset threshold, it indicates that the calculation result of the objective function has not yet stabilized, and the preset word segmentation model has not converged. It is necessary to continue to iteratively train the preset word segmentation model through the corpus dataset until it is determined that the preset word segmentation model converges. Conversely, if the difference between the two is less than the preset threshold, it indicates that the calculation result of the objective function has stabilized, and the preset word segmentation model converges, and the iterative training of the preset word segmentation model is completed.

[0117] Among them, in order to ensure the accuracy of the judgment, after determining that the difference between the two is less than the preset threshold, the calculation results obtained in the previous several calculations can be obtained for comparison, and it is analyzed whether the differences between the calculation results of two consecutive adjacent times are all less than the preset threshold. For example, the calculation results of the previous 3 times are obtained, and a total of 3 differences are generated between the previous 3rd and the previous 2nd, the previous 2nd and the previous 1st, and the previous 1st and the current time, and it is judged whether these 3 differences are all less than the preset threshold. If they are all less than the preset threshold, it is determined that the preset word segmentation model converges stably, and the training of the preset word segmentation model is completed. Conversely, if there is a certain time greater than the preset threshold, it indicates that the preset word segmentation model has not converged stably, and iterative training needs to be continued.

[0118] In this embodiment, by setting a standardized table mechanism, various types of cost tables are converted into standardized tables, and then the standardized tables are split into columns and rows to obtain corresponding row table data and list table data, so that no matter what type of table, it has standardized row table data and list table data, which is conducive to performing null value inspection, numerical attribute inspection, and numerical anomaly inspection in a standardized manner.

[0119] Further, please refer to Figure 3 , based on the first and second embodiments of the big data-based building project cost data inspection method of the present invention, the third embodiment of the big data-based building project cost data inspection method of the present invention is proposed.

[0120] The difference between the third embodiment of the big data-based building project cost data inspection method and the first and second embodiments of the big data-based building project cost data inspection method is that before the step of performing numerical anomaly inspection on the content cell according to the historical numerical range corresponding to the list header:

[0121] Step S50, read a plurality of historical data corresponding to the list header, and select any target historical data from each of the historical data, and calculate the distance parameters between the target historical data and each of the historical data;

[0122] Step S60, arrange each of the distance parameters in ascending order, and generate the differences between adjacent pairs of the distance parameters according to the arrangement order.

[0123] Step S70, determine the clustering radius according to each of the differences, and cluster each of the historical data according to the clustering radius to form historical data groups.

[0124] Further, in order to make the numerical anomaly detection of the content cells more accurate based on the historical value range, it is necessary to form an accurate historical value range based on a large amount of historical data in advance. Specifically, read a large amount of historical data on the list headers of other construction projects with similar characteristics, and select any historical data from each of the historical data as the target historical data. Then, based on the target historical data, calculate the distance parameters between it and other historical data. And, in order to reflect the difference magnitude between other historical data and the target historical data, arrange each of the distance parameters in ascending order of numerical value, and then perform a difference operation between adjacent pairs of the distance parameters according to the arrangement order, subtracting the distance parameter arranged in the front from the distance parameter arranged in the back among adjacent pairs of the distance parameters to obtain the differences between adjacent pairs of the distance parameters.

[0125] It can be understood that for each construction project with similar characteristics, the values on the items represented by their respective list headers should be similar. And the differences between adjacent pairs of the distance parameters represent the similarity degree between the values. The closer each of the differences is, the more similar the distance parameters that generate each of the differences are, and further the more similar the historical data that generate each of the distance parameters are. This type of historical data can be used to represent the data range of the construction project on the item represented by the list header, and this type of historical data can be clustered and the relevant historical value range can be generated. Therefore, the concentrated range of each of the differences can be determined through the analysis of each of the differences, and this concentrated range represents the close differences, and then the clustering radius is determined based on it. In a specific embodiment, establish a plane XY coordinate system, and add each of the differences to the X-axis or Y-axis respectively, determine the concentrated positions of each of the differences on the X-axis or Y-axis, and determine the clustering radius from the coordinate points of the concentrated positions. For example, after analysis, it is determined that 80% of the differences are concentrated near the point with the X-axis coordinate value of p, then the clustering radius is determined as p.

[0126] Further, after determining the clustering radius, the historical data can be clustered, and historical data groups are formed through clustering. Specifically, the step of clustering each of the historical data according to the clustering radius to form historical data groups includes:

[0127] Step S71, obtain a preset clustering density, and cluster the historical data according to the clustering radius and the preset clustering density to form initial data groups.

[0128] Step S72, calculate the density index and proximity index of the initial data group class according to a preset evaluation formula;

[0129] Step S73, obtain the density weight and proximity weight corresponding to the density index and proximity index respectively, and correct the density index and proximity index according to the density weight and the proximity weight respectively to obtain an evaluation index corresponding to the initial data group class;

[0130] Step S74, compare the evaluation index with a preset index threshold, and judge whether the evaluation index is greater than the preset index threshold. If it is greater than the preset index threshold, generate the initial data group class into a historical data group class;

[0131] Step S75, if the evaluation index is less than or equal to the preset index threshold, update the preset clustering density, and based on the updated preset clustering density, execute the step of clustering the historical data according to the clustering radius and the preset clustering density until the evaluation index is less than the preset index threshold.

[0132] Furthermore, a preset clustering density is set in advance according to experience. Combining this preset clustering density and the clustering radius, the historical data is clustered. Select any point from the historical data as the clustering start point, identify other historical data points within the circular area formed with this point as the center and the clustering radius as the radius, and judge whether the number of other historical data points is greater than the number represented by the preset clustering density. If it is greater than the number represented by the preset clustering density, it means that the arbitrarily selected point is a clustering core point. Furthermore, taking each point within the circular area as the center, compare the number of other historical data points within the clustering radius with the number represented by the preset clustering density to determine the core points among the points. In this way, after all historical data have been judged, all the core points in the historical data can be determined, and the points located within the circular area but not the core points are used as edge points, and the points not located within the circular area are used as invalid points. All core points and edge points belong to points with a relatively high degree of proximity to each other and can be grouped into one category to form an initial data group class. Among them, the number of initial data group classes can be one or more; if all core points can be associated through circular areas, that is, there are intersections between each circular area, then the number of initial data group classes formed is one; if there are core points that cannot be associated through circular areas, that is, there is at least no intersection between two circular areas, then the number of initial data group classes formed is greater than one. It should be noted that for historical data with similar characteristics, the number of initial data group classes formed by clustering is usually one. If there are multiple, it means that the number of initial data group classes formed by clustering is inaccurate and needs to be reclustered.

[0133] Further, in order to evaluate the accuracy of clustering, a preset evaluation formula is pre-set, and the density index and proximity index of the initial data group classes are calculated through this preset evaluation formula. The density index is used to evaluate the density degree of data points in the same initial data group class, and the proximity index is used to evaluate the distance between different initial data group classes. For a certain initial data group class, the higher the density degree of its internal data points and the farther the distance from other adjacent initial data group classes, the more accurate the clustering. Among them, the specific preset evaluation formula can be seen in the following formula (2).

[0134]

[0135] Among them, ρ represents the density index, C represents the number of initial data group classes, represents the variance of the i-th initial data group class, N represents the number of data included in the historical data, x k represents the k-th data in the historical data, μ represents the proximity index, exp represents the natural exponential function, Xci represents the center of the i-th initial data group class, Xcj represents the center of the j-th initial data group class, represents the Gaussian constant.

[0136] Furthermore, the density index and the proximity index respectively reflect the accuracy of clustering from two dimensions: the aggregation situation of the data itself and the distance situation from other initial data group classes. The importance degrees of the two dimensions on the accuracy are different. Therefore, the density weight and proximity weight representing the importance degrees of the two are preset according to experience, and the density weight corresponding to the density index and the proximity weight corresponding to the proximity index are obtained. Then, the density index and the proximity index are corrected according to the density weight and the proximity weight to obtain an evaluation index for evaluating the accuracy of the initial data group class division. Among them, the correction of the density index and the proximity index can be carried out with reference to the following formula (3).

[0137] δ = τ1 * ρ + τ2 * μ (3);

[0138] Among them, δ represents the evaluation index obtained after correction, τ1 represents the density weight, τ2 represents the proximity weight, and τ1 + τ2 = 1.

[0139] Further, in order to represent the high or low of the evaluation index, a preset index threshold is set in advance. The obtained evaluation index is compared with the preset index threshold to determine whether the evaluation index is greater than the preset index threshold. If it is greater than the preset index threshold, it is determined that the accuracy of the initial data group classification is high, and thus the initial data group is generated into a historical data group. On the contrary, if it is determined through comparison that the evaluation index is less than or equal to the preset index threshold, it is determined that the accuracy of the initial data group classification is low. At this time, the preset clustering density is updated according to the preset update formula, and the updated preset clustering density is combined with the clustering radius to re-cluster the historical data until the obtained evaluation index is less than the preset index threshold, and the initial data group is generated into a historical data group.

[0140] Step S80: Sort the data of each group in the historical data group in ascending order to generate a historical sequence.

[0141] Step S90: Determine the quartile values in the historical sequence, and determine the historical value range based on the quartile values.

[0142] Further, after clustering to generate a historical data group, the data of each group in the historical data group are sorted in ascending order of value to generate a historical sequence. Then, the quartile values in the historical sequence are determined. The quartile values are the values found at the last position of the first quarter, the second quarter, and the third quarter after dividing the data in the historical sequence into 4 equal parts, and are used as the upper quartile value, the middle quartile value, and the lower quartile value in the quartile values respectively. Then, the interquartile distance is determined by the difference operation between the upper quartile value and the lower quartile value, and the lower boundary value is determined by combining the upper quartile value with the interquartile distance, and the upper boundary value is determined by combining the lower quartile value with the interquartile distance. The interval formed by the lower boundary value and the upper boundary value is the historical value range for numerical abnormality test.

[0143] In this embodiment, a large amount of historical data corresponding to the list header is collected for clustering. During the clustering process, the clustering radius is determined based on the difference of the distance parameters formed by each historical data, making the clustering radius closely related to each historical data, ensuring the accuracy of the clustering radius, and thus facilitating accurate clustering. At the same time, for the clustering of the initial data group formed by clustering, the clustering accuracy is evaluated from two dimensions: the within-group density and proximity reflected by the density index and density weight, and the out-of-group proximity reflected by the proximity index and proximity weight, which further helps to improve the clustering accuracy. In addition, for the historical data group formed by clustering, the historical value range is determined by combining the quartile values, further excluding abnormal data, making the formed historical value range more accurate, and thus improving the accuracy of numerical abnormality test.

[0144] In addition, an embodiment of the present invention further provides a building project cost data inspection system based on big data. Please refer to Figure 4 , Figure 4 which is a schematic structural diagram of the hardware operating environment of the equipment involved in the embodiment solution of the building project cost data inspection system based on big data of the present invention.

[0145] As Figure 4 shown, the building project cost data inspection system based on big data may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display) and an input unit such as a keyboard (Keyboard). Optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0146] Those skilled in the art can understand that Figure 4 the hardware structure of the building project cost data inspection system based on big data shown in

[0147] does not constitute a limitation on the building project cost data inspection system based on big data, and may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements. Figure 4 shown, as a storage medium, the memory 1005 may include an operating system, a network communication module, a user interface module, and a control program. Among them, the operating system is a program for managing and controlling the building project cost data inspection system and software resources, and supports the operation of the network communication module, the user interface module, the control program, and other programs or software; the network communication module is used to manage and control the network interface 1004; the user interface module is used to manage and control the user interface 1003.

[0148] In Figure 4 the hardware structure of the building project cost data inspection system based on big data shown, the network interface 1004 is mainly used to connect to the system server and perform data communication with the system server; the user interface 1003 is mainly used to connect to the client (user side) and perform data communication with the client; the processor 1001 can call the control program stored in the memory 1005 and perform the following operations:

[0149] When the cost table of a construction project is obtained, convert the cost table into a standardized table, and perform column splitting and row splitting on the standardized table to generate a plurality of list table data and a plurality of row table data;

[0150] Perform null value inspection and numerical attribute inspection on each of the list table data to generate first inspection results respectively corresponding to each of the list table data;

[0151] For each row table data, determine the list header corresponding to each content cell in the row table data, and perform numerical anomaly inspection on the content cell according to the historical numerical range corresponding to the list header to generate a second inspection result corresponding to the row table data;

[0152] Generate the final inspection results of the cost table by using each of the first inspection results and each of the second inspection results, and output the inspection results, thereby completing the inspection of each cost data in the cost table.

[0153] Further, the step of performing numerical anomaly inspection on the content cell according to the historical numerical range corresponding to the list header to generate a second inspection result corresponding to the row table data includes

[0154] Judge whether there is a target list header in the standardized table that has a logical relationship with the list header. If the target list header exists, search for the target data corresponding to the target list header in the row table data;

[0155] Perform logical inspection on the content cell according to the logical relationship and the target data, and judge whether the logical inspection passes;

[0156] If the logical inspection passes, perform anomaly inspection on the numerical value of the content cell according to the historical numerical range to generate a numerical inspection result corresponding to the content cell, and form the numerical inspection results corresponding to each content cell into the second inspection result.

[0157] Further, the step of performing null value inspection and numerical attribute inspection on each of the list table data to generate first inspection results respectively corresponding to each of the list table data includes:

[0158] For each list table data, judge whether there is a null value column cell in each column cell included in the list table data to generate a null value inspection result;

[0159] Determine the column attribute corresponding to the list table data, and judge whether there is a target numerical value in the numerical values of each column cell that does not match the column attribute to generate an attribute inspection result;

[0160] Generate the first test result by combining the null value test result and the attribute test result.

[0161] Further, the step of converting the cost table into a standardized table, and performing column splitting and row splitting on the standardized table to generate a plurality of list table data and a plurality of row table data includes:

[0162] Identify the merged cells in the cost table, and split the merged cells to obtain split cells;

[0163] Fill the values in the merged cells into each of the split cells to form the cost table into a standardized table;

[0164] Split the standardized table into a row header part and a row content part, and perform row splitting on the row content part to generate a plurality of the row table data;

[0165] Split the standardized table into a list header part and a column content part, and perform column splitting on the column content part to generate a plurality of the list table data.

[0166] Further, the step of splitting the standardized table into a row header part and a row content part includes:

[0167] For each cell in the standardized table, based on a preset word segmentation model, perform word segmentation on the text in the cell to obtain cell keywords;

[0168] Generate a semantic weight matrix corresponding to each of the cell keywords, and correct the keyword vectors corresponding to each of the cell keywords according to the semantic weight matrix, and perform mean processing on the corrected keyword vectors to obtain the text vector corresponding to the cell;

[0169] Generate a vector matrix corresponding to the standardized table from the text vectors respectively corresponding to each of the cells, and determine the row vector similarity values between adjacent two vector rows in the vector matrix;

[0170] Compare between the row vector similarity values, and determine the target row vector similarity value with the smallest value among the row vector similarity values;

[0171] Determine the target row in the standardized table corresponding to the target row vector similarity value, and split the standardized table into a row header part and a row content part according to the target row.

[0172] Further, before the step of performing word segmentation on the text in the cell based on the preset word segmentation model to obtain cell keywords, the processor 1001 may call the control program stored in the memory 1005 and perform the following operations:

[0173] Obtain a corpus dataset, perform iterative training on the preset word segmentation model based on the corpus dataset, and update each of the model parameters according to the learning rate of each model parameter in the preset word segmentation model during the iterative training process:

[0174] When the number of iterative training reaches a preset number, calculate the objective function of the preset word segmentation model to obtain a calculation result, and the calculation formula is:

[0175]

[0176] where LM represents the calculation result, Q represents the number of corpora in the corpus dataset, m p represents the number of words divided by the preset word segmentation model for the p-th corpus in the corpus dataset, m p0 represents the number of reference words corresponding to the p-th corpus, S p represents the word vector divided by the preset word segmentation model for the p-th corpus, S p0 represents the reference word vector corresponding to the p-th corpus, γ represents a limit parameter, b represents the bias value of the preset word segmentation model, and w represents the weight value of the preset word segmentation model;

[0177] According to the calculation result, determine whether the preset word segmentation model converges. If the preset word segmentation model converges, complete the iterative training of the preset word segmentation model;

[0178] If the preset word segmentation model does not converge, execute the step of performing iterative training on the preset word segmentation model based on the corpus dataset.

[0179] Further, before the step of performing numerical anomaly detection on the content cell according to the historical numerical range corresponding to the list header, the processor 1001 may call the control program stored in the memory 1005 and perform the following operations:

[0180] Read a plurality of historical data corresponding to the list header, select any target historical data from each of the historical data, and calculate the distance parameters between the target historical data and each of the historical data;

[0181] Arrange the distance parameters in ascending order, and generate the differences between adjacent two of the distance parameters in the arranged order;

[0182] Determine the clustering radius according to each of the differences, and cluster each of the historical data according to the clustering radius to form historical data group classes;

[0183] Sort the data of each group class in the historical data group classes in ascending order to generate a historical sequence;

[0184] Determine the quartile values in the historical sequence, and determine the historical value range based on the quartile values.

[0185] Further, the step of clustering each of the historical data according to the clustering radius to form historical data group classes includes:

[0186] Obtain a preset clustering density, and cluster the historical data according to the clustering radius and the preset clustering density to form initial data group classes;

[0187] Calculate the density index and proximity index of the initial data group classes according to a preset evaluation formula, and the preset evaluation formula is;

[0188]

[0189] where ρ represents the density index, C represents the number of initial data group classes, represents the variance of the i-th initial data group class, N represents the number of data included in the historical data, x k represents the k-th data in the historical data, μ represents the proximity index, exp represents the natural exponential function, Xci represents the center of the i-th initial data group class, Xcj represents the center of the j-th initial data group class, represents the Gaussian constant.

[0190] Obtain the density weight and proximity weight corresponding to the density index and proximity index respectively, and correct the density index and proximity index according to the density weight and the proximity weight respectively to obtain an evaluation index corresponding to the initial data group class;

[0191] Compare the evaluation index with a preset index threshold, and determine whether the evaluation index is greater than the preset index threshold. If it is greater than the preset index threshold, generate the initial data group class as a historical data group class;

[0192] If the evaluation index is less than or equal to the preset index threshold, update the preset clustering density, and based on the updated preset clustering density, execute the step of clustering the historical data according to the clustering radius and the preset clustering density until the evaluation index is less than the preset index threshold.

[0193] The specific implementation of the building engineering cost data inspection system based on big data according to the present invention is basically the same as the embodiments of the above-mentioned building engineering cost data inspection method based on big data, and will not be described in detail here.

[0194] An embodiment of the present invention further provides a medium. The medium is a readable storage medium, and a control program is stored on the storage medium. When the control program is executed by a processor, the steps of the above-mentioned building engineering cost data inspection method based on big data are realized.

[0195] The storage medium of the present invention may be a computer-readable storage medium, and its implementation is basically the same as the embodiments of the above-mentioned building engineering cost data inspection method based on big data, and will not be described in detail here.

[0196] The embodiments of the present invention have been described above in conjunction with the accompanying drawings. However, the present invention is not limited to the above specific implementation manners. The above specific implementation manners are merely illustrative and not restrictive. Under the inspiration of the present invention, those of ordinary skill in the art can also make many forms without departing from the spirit and scope of the present invention as protected by the claims. Any equivalent structural or equivalent process transformation made by using the content of the specification and drawings of the present invention, or directly or indirectly applied to other related technical fields, all fall within the protection scope of the present invention.

Claims

1. A method for verifying construction project cost data based on big data, characterized in that, The construction project cost data inspection method includes: When obtaining the cost table of a construction project, converting the cost table into a standardized table, and performing column splitting and row splitting on the standardized table to generate a plurality of list table data and a plurality of row table data; Performing null value inspection and numerical attribute inspection on each of the list table data to generate first inspection results respectively corresponding to each of the list table data; For each row table data, determining the list header corresponding to each content cell in the row table data, and performing numerical anomaly inspection on the content cell according to the historical numerical range corresponding to the list header to generate a second inspection result corresponding to the row table data; Generating the first inspection results and the second inspection results into the final inspection result output of the cost table to complete the inspection of each cost data in the cost table; Before the step of performing numerical anomaly inspection on the content cell according to the historical numerical range corresponding to the list header, it includes: Reading a plurality of historical data corresponding to the list header, and screening any target historical data from each of the historical data, and calculating the distance parameters between the target historical data and each of the historical data; Arranging the distance parameters in ascending order, and generating the differences between adjacent two of the distance parameters in the arranged order; Determining the clustering radius according to the differences, and clustering each of the historical data according to the clustering radius to form historical data group classes; Sorting the data of each group class in the historical data group classes in ascending order to generate a historical sequence; Determining the quartile values in the historical sequence, and determining the historical numerical range based on the quartile values; The step of clustering each of the historical data according to the clustering radius to form historical data group classes includes: Obtaining a preset clustering density, and clustering the historical data according to the clustering radius and the preset clustering density to form initial data group classes; Calculating the density index and proximity index of the initial data group classes according to a preset evaluation formula; Obtaining the density weight and proximity weight respectively corresponding to the density index and proximity index, and correcting the density index and proximity index respectively according to the density weight and the proximity weight to obtain an evaluation index corresponding to the initial data group classes; Comparing the evaluation index with a preset index threshold, and judging whether the evaluation index is greater than the preset index threshold. If it is greater than the preset index threshold, generating the initial data group classes into historical data group classes; If the evaluation index is less than or equal to the preset index threshold, updating the preset clustering density, and based on the updated preset clustering density, performing the step of clustering the historical data according to the clustering radius and the preset clustering density until the evaluation index is less than the preset index threshold.

2. The construction project cost data inspection method according to claim 1, characterized in that The step of performing numerical anomaly inspection on the content cell according to the historical numerical range corresponding to the list header to generate a second inspection result corresponding to the row table data includes: Determine whether there is a target list header in the standardized table that has a logical relationship with the list header. If the target list header exists, search for the target data in the row table data corresponding to the target list header; Based on the logical relationship and the target data, perform a logical check on the content cell and determine whether the logical check passes; If the logical check passes, perform an abnormality check on the value of the content cell according to the historical value range, generate a value check result corresponding to the content cell, and form the value check results corresponding to each content cell into the second check result.

3. The method for inspecting construction project cost data according to claim 1, characterized in that, The step of performing a null value check and a numerical attribute check on each of the list table data and generating a first check result corresponding to each of the list table data includes: For each list table data, determine whether there is a null value column cell among the column cells included in the list table data, and generate a null value check result; Determine the column attribute corresponding to the list table data, and determine whether there is a target value in the values of the column cells that does not match the column attribute, and generate an attribute check result; Generate the first check result by combining the null value check result and the attribute check result.

4. The method for verifying construction project cost data according to any one of claims 1, characterized in that The step of converting the cost table into a standardized table, performing column splitting and row splitting on the standardized table, and generating a plurality of list table data and a plurality of row table data includes: Identify the merged cells in the cost table and split the merged cells to obtain split cells; Fill the values in the merged cells into each of the split cells to form the cost table into a standardized table; Split the standardized table into a row header part and a row content part, and perform row splitting on the row content part to generate a plurality of the row table data; Split the standardized table into a list header part and a column content part, and perform column splitting on the column content part to generate a plurality of the list table data.

5. The construction project cost data inspection method according to claim 4, characterized in that, The step of splitting the standardized table into a row header part and a row content part includes: For each cell in the standardized table, based on a preset word segmentation model, perform word segmentation on the text in the cell to obtain cell keywords; Generate a semantic weight matrix corresponding to each cell keyword, and correct the keyword vectors corresponding to each cell keyword according to the semantic weight matrix, and perform an average process on the corrected keyword vectors to obtain the text vector corresponding to the cell; Generate a vector matrix corresponding to the standardized table from the text vectors corresponding to each cell, and determine the row vector similarity value between adjacent two vector rows in the vector matrix; Compare among the row vector similarity values to determine the target row vector similarity value with the smallest value among the row vector similarity values; Determine the target row in the standardized table corresponding to the target row vector similarity value, and split the standardized table into a row header part and a row content part according to the target row.

6. The method for inspecting construction project cost data according to claim 5, wherein, Before the step of performing word segmentation on the text in the cell based on the preset word segmentation model to obtain cell keywords: Obtain a corpus dataset, and perform iterative training on the preset word segmentation model based on the corpus dataset, and update each of the model parameters according to the learning rate of each model parameter in the preset word segmentation model during the iterative training process: When the number of iterative training reaches a preset number, calculate the objective function of the preset word segmentation model to obtain a calculation result, and the calculation formula is: Among them, LM represents the calculation result, Q represents the number of corpora in the corpus dataset, represents the number of words segmented from the p-th corpus in the corpus dataset by the preset word segmentation model, represents the number of reference words corresponding to the p-th corpus, represents the word vector segmented from the p-th corpus by the preset word segmentation model, represents the reference word vector corresponding to the p-th corpus, represents the constraint parameter, b represents the bias value of the preset word segmentation model, and w represents the weight value of the preset word segmentation model; According to the calculation result, determine whether the preset word segmentation model converges. If the preset word segmentation model converges, complete the iterative training of the preset word segmentation model; If the preset word segmentation model does not converge, then execute the step of performing iterative training on the preset word segmentation model based on the corpus dataset.

7. The method for inspecting construction project cost data according to claim 1, characterized in that, The preset evaluation formula is; Among them, represents the density index, C represents the number of classes of the initial data set, represents the variance of the i-th class of the initial data set, N represents the number of data contained in the historical data, represents the k-th data in the historical data, represents the proximity index, exp represents the natural exponential function, represents the center of the i-th class of the initial data set, represents the center of the j-th class of the initial data set, represents the Gaussian constant.

8. A building engineering cost data inspection system based on big data, characterized in that, The big data-based building engineering cost data inspection system includes a memory, a processor, a communication bus, and a control program stored on the memory: The communication bus is used to realize the connection communication between the processor and the memory; The processor is used to execute the control program to implement the steps of the big data-based building engineering cost data inspection method described in any one of claims 1-7.

9. A readable storage medium, characterized in that, A control program is stored on the readable storage medium, and when the control program is executed by the processor, the steps of the big data-based building engineering cost data inspection method described in any one of claims 1-7 are implemented.

Citation Information

Patent Citations

  • Form verification method and device, storage medium and equipment

    CN110866381A

  • Intelligent session method and server based on table data retrieval

    CN115495563A