An engineering audit management method and system based on domain knowledge enhancement

By constructing an engineering audit management method based on domain knowledge enhancement, and utilizing weighted Merkle trees and tree edit distance algorithms, the change differences between BIM model versions are quantified, solving the problem of difficulty in distinguishing between critical non-compliant changes and invalid redundant differences in existing technologies, and achieving efficient engineering auditing.

CN121563244BActive Publication Date: 2026-03-31CHINA UNITED INT ENG MANAGEMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-01-22
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Existing engineering auditing techniques are unable to effectively distinguish between critical non-compliant changes and invalid redundant differences, resulting in a large number of redundant alarms during the audit process, making it difficult to identify substantive non-compliant and downgraded behaviors.

Method used

By constructing an engineering audit management method based on domain knowledge enhancement, and utilizing weighted Merkle trees and tree edit distance algorithms, the change differences between BIM model versions are quantified, and engineering audit reports are identified and generated.

Benefits of technology

It enables precise identification of high-risk violation paths in engineering audits, automatically filters out invalid interference, and improves the efficiency and accuracy of engineering audits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121563244B_ABST
    Figure CN121563244B_ABST
Patent Text Reader

Abstract

The application provides an engineering audit management method and system based on domain knowledge enhancement, belonging to the technical field of engineering audit. Firstly, the application obtains BIM file streams and engineering specification libraries at different time nodes of a project, and establishes a mapping between component attributes and compliance importance to generate a domain knowledge weight set by analysis. Then, weighted hash operation is performed in combination with the weights and physical attribute values to construct two weighted Merkle trees. Next, the tree edit distance algorithm is used to calculate the minimum edit sequence of the conversion between the trees and the cumulative edit cost of each change path, and finally the target path with a cost exceeding a preset threshold is screened out to generate an engineering audit report by extracting the corresponding component identifier and attribute change value. The application can introduce engineering specifications as domain knowledge weights to construct weighted Merkle trees, achieving accurate identification and automatic intelligent audit of high-risk rule violations in BIM models.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of engineering auditing technology, and in particular relates to an engineering auditing management method and system based on domain knowledge enhancement. Background Technology

[0002] With the rapid development of building information technology, Building Information Modeling (BIM) has become an important carrier for project delivery. Domain knowledge-enhanced engineering audit management methods can utilize intelligent analysis tools to ensure the consistency and compliance of model data, and have broad application prospects in the fields of engineering cost control and quality supervision.

[0003] Existing engineering auditing techniques mainly rely on manual verification or basic document comparison tools to detect model differences and identify differences between model versions at different stages of engineering projects, including design and construction.

[0004] However, the aforementioned methods typically treat all data changes as equally important, lacking the ability to semantically categorize change risks based on engineering specifications. This leads to numerous redundant alerts during the audit process, and substantial violations and downgrades can easily be buried under changes in non-critical data, making it difficult to accurately quantify and identify risks. Therefore, existing technologies suffer from the technical problem of insufficient engineering auditing due to the difficulty in effectively distinguishing between critical non-compliant changes and ineffective redundant differences. Summary of the Invention

[0005] The purpose of this application is to provide an engineering audit management method and system based on domain knowledge enhancement, so as to solve the problem of insufficient engineering audit in the prior art.

[0006] To address the aforementioned technical problems, in a first aspect, this application provides an engineering audit management method based on domain knowledge enhancement, comprising:

[0007] The system synchronously acquires the first and second BIM file streams of the project to be audited at different time points, as well as a preset engineering component attribute mapping table. The first and second BIM file streams are tree-structured data.

[0008] The first BIM file stream and the second BIM file stream are structured and parsed respectively to obtain the first component attribute node set and the second component attribute node set. The mapping relationship between different component attribute types and compliance importance is extracted from the engineering component attribute mapping table to generate a domain knowledge weight set.

[0009] Based on the domain knowledge weight set, weight matching is performed on each component attribute node in the first component attribute node set and the second component attribute node set respectively. Then, a weighted hash operation is performed on each component attribute node in combination with the physical attribute value to obtain the corresponding first leaf node hash value and second leaf node hash value. Finally, the first weighted Merkle tree and the second weighted Merkle tree are constructed respectively.

[0010] The first weighted Merkle tree and the second weighted Merkle tree are calculated based on the tree edit distance algorithm. By determining the minimum sequence of edit operations to transform the first weighted Merkle tree into the second weighted Merkle tree, the cumulative edit cost of each changed path is obtained.

[0011] The change path with cumulative editing cost exceeding a preset cost threshold is identified as the target path. The component identifier and attribute change value corresponding to the target path are extracted, and an engineering audit report is generated.

[0012] Optionally, the method further includes:

[0013] The data type of each component attribute node is extracted by traversing the first component attribute node set and the second component attribute node set respectively;

[0014] When the data type is numeric, the physical attribute value is rounded and quantized using a preset precision step size determined according to the engineering measurement specifications to obtain the standard attribute value.

[0015] When the data type is character, the physical attribute value is determined as the standard attribute value.

[0016] Optionally, based on the domain knowledge weight set, weight matching is performed on each component attribute node in the first component attribute node set and the second component attribute node set, and a weighted hash operation is performed in combination with the physical attribute value of each component attribute node to obtain the corresponding first leaf node hash value and second leaf node hash value. Then, a first weighted Merkle tree and a second weighted Merkle tree are constructed, including:

[0017] Based on the attribute type of each component attribute node, the corresponding compliance importance is determined by querying the domain knowledge weight set.

[0018] The standard attribute values ​​corresponding to the component attribute nodes are concatenated with the compliance importance using a preset separator to generate a target feature sequence.

[0019] The target feature sequence is calculated using a secure hash algorithm to obtain the corresponding first leaf node hash value and second leaf node hash value;

[0020] Based on the node adjacency relationship in the first BIM file stream and the second BIM file stream, the corresponding root node hash value is generated by sorting the hash values ​​of the first leaf node and the second leaf node respectively, and performing pairwise concatenation and secondary hash calculation layer by layer from bottom to top. Then, the first weighted Merkle tree and the second weighted Merkle tree are constructed based on the corresponding root node hash value.

[0021] Optionally, the method further includes:

[0022] Calculate the cumulative editing cost of all change paths in the minimum editing operation sequence and construct a cost distribution dataset;

[0023] Calculate the expected value and standard deviation of the cost distribution dataset, and obtain the preset cost threshold by calculating the sum of the expected value and the standard deviation of the preset multiple. The preset multiple is determined based on the false alarm rate tolerance in historical audit data.

[0024] Optionally, the first BIM file stream and the second BIM file stream are respectively structured and parsed to obtain the first component attribute node set and the second component attribute node set. The mapping relationship between different component attribute types and compliance importance is extracted from the engineering component attribute mapping table to generate a domain knowledge weight set, including:

[0025] By using a file stream parser to deserialize the first BIM file stream and the second BIM file stream and recursively scan them respectively, the corresponding entity nodes are obtained, and the first component attribute node set and the second component attribute node set are constructed based on the corresponding entity nodes.

[0026] By retrieving the mandatory clause index in the engineering component attribute mapping table, the component attribute types and corresponding compliance constraint levels are matched; each component attribute type is mapped to a corresponding numerical compliance importance based on the compliance constraint level, and a domain knowledge weight set is generated based on the correspondence between all component attribute types and compliance importance.

[0027] Optionally, the first weighted Merkle tree and the second weighted Merkle tree are calculated according to the tree edit distance algorithm. By determining the minimum sequence of edit operations to transform the first weighted Merkle tree into the second weighted Merkle tree, the cumulative edit cost of each changed path is obtained, including:

[0028] The root node hash values ​​of the first weighted Merkle tree and the root node hash values ​​of the second weighted Merkle tree are extracted and compared. When the hash values ​​are inconsistent, the difference node pairs whose hash values ​​have changed are obtained by recursively traversing all child node hash values ​​from the root node downwards. The change path to be calculated is determined based on the difference node pairs.

[0029] For each change path, an edit operation set is constructed. By using a dynamic programming algorithm, the sequence of the fewest operations required to transform the node state in the first weighted Merkle tree to the node state in the second weighted Merkle tree is searched in the edit operation set to obtain the minimum edit operation sequence.

[0030] Extract the component attribute type corresponding to the leaf node that has changed in the minimum edit operation sequence, query the domain knowledge weight set according to the component attribute type to obtain the corresponding compliance importance, and obtain the cumulative edit cost of each change path by weighting and summing each edit operation in the minimum edit operation sequence with compliance importance as a weight factor.

[0031] Optionally, the change path with a cumulative editing cost exceeding a preset cost threshold is identified as the target path, and the component identifier and attribute change value corresponding to the target path are extracted to generate an engineering audit report, including:

[0032] The cumulative editing cost of each change path is calculated and the change path with a cumulative editing cost greater than a preset cost threshold is identified as the target path.

[0033] Extract the component identifier of the target component attribute node corresponding to the target path, and determine the corresponding entity component data based on the component identifier in the first component attribute node set and the second component attribute node set respectively;

[0034] In the first BIM file stream and the second BIM file stream, the attribute change value is obtained by calculating the difference between the physical attribute values ​​of the corresponding component attribute types in the entity component data.

[0035] The component identifier, attribute change value, and cumulative editing cost of the target component attribute node are used as evidence chain data, and the evidence chain data is compiled into an engineering audit report according to a preset format.

[0036] Secondly, this application provides an engineering audit management system based on domain knowledge enhancement, including:

[0037] The acquisition module is used to synchronously acquire the first BIM file stream and the second BIM file stream at different time points of the project to be audited, as well as the preset engineering component attribute mapping table. The first BIM file stream and the second BIM file stream are tree-structured data.

[0038] The parsing module is used to perform structured parsing on the first BIM file stream and the second BIM file stream respectively, to obtain the first component attribute node set and the second component attribute node set, and to extract the mapping relationship between different component attribute types and compliance importance from the engineering component attribute mapping table, and generate a domain knowledge weight set.

[0039] The generation module is used to perform weight matching on each component attribute node in the first component attribute node set and the second component attribute node set based on the domain knowledge weight set, and to perform weighted hash operation on each component attribute node in combination with the physical attribute value of each component attribute node to obtain the corresponding first leaf node hash value and second leaf node hash value, and then construct the first weighted Merkle tree and the second weighted Merkle tree respectively.

[0040] The calculation module is used to calculate the first weighted Merkle tree and the second weighted Merkle tree according to the tree edit distance algorithm. By determining the minimum sequence of edit operations to transform the first weighted Merkle tree into the second weighted Merkle tree, the cumulative edit cost of each changed path is obtained.

[0041] The generation module is also used to determine the change path where the cumulative editing cost is greater than the preset cost threshold as the target path, and to extract the component identifier and attribute change value corresponding to the target path to generate an engineering audit report.

[0042] Thirdly, this application provides an electronic device, comprising:

[0043] Memory, used to store computer programs;

[0044] A processor, used to implement the steps of the domain knowledge-enhanced engineering audit management method as described in the first aspect above when executing the computer program.

[0045] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps of the domain knowledge-enhanced engineering audit management method described in the first aspect above.

[0046] The domain knowledge-enhanced engineering audit management method provided in this application first establishes a mapping relationship between component attributes and compliance importance by parsing the engineering design specification standard library, transforming abstract engineering specification constraints into computable domain knowledge weights, and then constructing a weighted Merkle tree that integrates physical attributes and risk weights.

[0047] Secondly, by utilizing a tree edit distance algorithm to quantify the changes between BIM model versions, this approach ensures that substantive changes involving mandatory clauses or key physical attributes incur high cumulative editing costs, while calculating lower costs for non-critical metadata redundancy changes. This allows for the automatic filtering of invalid interference and precise identification of high-risk violation paths based on cost thresholds. Therefore, this application effectively solves the technical problem of existing technologies' inability to distinguish between critical violation changes and invalid redundant differences, leading to insufficient engineering audits. Attached Figure Description

[0048] To more clearly illustrate the technical solutions of the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0049] Figure 1 A flowchart illustrating an engineering audit management method based on domain knowledge enhancement, provided for an embodiment of this application;

[0050] Figure 2 A schematic diagram of a weighted Merkle tree construction based on domain knowledge enhancement is provided for an embodiment of this application;

[0051] Figure 3 A flowchart illustrating a method for generating cumulative editing costs, provided as an embodiment of this application;

[0052] Figure 4 A schematic diagram of the structure of an engineering audit management system based on domain knowledge enhancement provided in this application embodiment;

[0053] Figure 5 This is a schematic diagram of the hardware structure of an electronic device provided in one embodiment of this application. Detailed Implementation

[0054] In engineering audits of Building Information Modeling (BIM), existing comparison techniques fail to understand the engineering semantics behind data changes, treating modifications to rebar grades that affect structural safety as disparate differences with material color adjustments that only concern aesthetics. This audit model, lacking regulatory guidance, allows a massive amount of non-substantive redundant changes to mask hidden violations and cost reductions, making it difficult for auditors to identify high-risk issues from complex data and severely impacting the effectiveness of cost control and quality supervision.

[0055] To address the aforementioned issues, this application proposes an engineering audit management method based on domain knowledge enhancement. This method abandons the simple data consistency verification model and accurately distinguishes between substantive changes that violate mandatory provisions and compliant metadata fine-tuning by calculating the cost of changes. It ensures that only target paths exceeding the risk threshold are triggered with alarms, thus solving the problems of omission in identifying key non-compliant changes and low audit efficiency caused by the lack of semantic risk classification in existing technologies.

[0056] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are merely some embodiments of the present application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0057] To address the problems of existing technologies, embodiments of this application provide a method, apparatus, device, computer storage medium, and computer program product for engineering audit management based on domain knowledge enhancement. The method for engineering audit management based on domain knowledge enhancement provided in this application embodiment will be described first below.

[0058] Figure 1 This illustration shows a flowchart of an engineering audit management method based on domain knowledge enhancement, provided in one embodiment of this application. Figure 1 As shown, the method includes:

[0059] S101. Synchronously acquire the first BIM file stream and the second BIM file stream at different time points of the project to be audited, as well as the preset engineering component attribute mapping table. The first BIM file stream and the second BIM file stream are tree-structured data.

[0060] The first BIM file stream refers to the digital building information model data generated during the initial stage of an engineering project or the design approval stage. The second BIM file stream refers to the digital building information model data submitted during the current construction stage, the completion and acceptance stage, or after design changes occur. The pre-set engineering component attribute mapping table refers to the structured configuration data pre-constructed according to national mandatory standards, industry technical specifications, and project-specific design requirements, including component attribute types, compliance importance mapping relationships, and mandatory clause indexes.

[0061] During the implementation of the solution, the original version data at the time of project initiation is read as the first BIM file stream through the data interface or file transfer protocol of the project management platform, and the latest version data submitted at the current construction site is read as the second BIM file stream, and the relevant constructed engineering component attribute mapping table is obtained.

[0062] Specifically, taking a certain project A as an example, firstly, the timestamp index is used to extract the Industry Foundation Classes (IFC) format file stream D1 for the design phase and the IFC format file stream D2 for the construction phase. These two sets of data streams are essentially tree-shaped text streams radiating from the root node to the leaf nodes. Assume that D1 includes the concrete column node with identifier ID01 and its corresponding initial attribute set, and D2 includes the node with identifier ID01 and its updated attribute set. Secondly, a pre-set engineering component attribute mapping table is loaded simultaneously. This mapping table pre-stores the mandatory clause index for concrete structure design codes. Through this index, it is possible to directly associate with the restrictions on concrete strength grade, minimum cross-sectional dimensions, and the corresponding numerical compliance importance.

[0063] S102. Perform structured parsing on the first BIM file stream and the second BIM file stream respectively to obtain the first component attribute node set and the second component attribute node set. Extract the mapping relationship between different component attribute types and compliance importance from the engineering component attribute mapping table to generate a domain knowledge weight set.

[0064] Optionally, step S102 may specifically include:

[0065] S1021. By using a file stream parser to deserialize the first BIM file stream and the second BIM file stream and recursively scan them respectively, the corresponding entity nodes are obtained, and the first component attribute node set and the second component attribute node set are constructed based on the corresponding entity nodes.

[0066] A file stream parser is the processing logic or component used to read a data stream of a specific format and convert it into an operable object. An entity node is a data object representing an actual physical component extracted from the file stream. Metadata such as file creation time, author information, and view configuration, which do not affect the engineering entity, has been removed, retaining only the component's unique identifier, geometric dimensions, and physical material parameters. The first component attribute node set and the second component attribute node set are structured data collections consisting of multiple entity nodes corresponding to file streams at different time points.

[0067] First, the file stream parser performs deserialization on the first BIM file stream D1 and the second BIM file stream D2, converting the XML or STEP format string sequences stored on disk into a tree-like object model in computer memory. Second, the parser recursively scans the hierarchical structure of the file streams using a depth-first traversal algorithm, identifying entity elements starting with tags such as IfcWall, IfcColumn, and IfcBeam, while simultaneously setting filtering rules to automatically ignore description tags that do not possess geometric or physical attributes.

[0068] For example, suppose a text data describing a concrete column in file stream D1 is converted into an entity node N1. This node includes attribute key-value pairs, assuming the material is C35 concrete and the cross-sectional width is 500 mm. Node N1 is then stored in the first component attribute node set Set1. Similarly, file stream D2 is processed to obtain a second component attribute node set Set2, which includes the corresponding node N1new. N1new may include changed attribute values, assuming the material has been changed to C30 concrete. The first and second component attribute node sets obtained above will be used as retrieval identifiers for attribute matching in the engineering component attribute mapping table.

[0069] S1022. By retrieving the mandatory clause index in the engineering component attribute mapping table, the component attribute type and the corresponding compliance constraint level are matched.

[0070] The engineering component attribute mapping table refers to a structured configuration table pre-constructed according to national mandatory standards, industry technical specifications, and other engineering design specifications. The mandatory clause index refers to the retrieval identifiers pre-set in this table for each component entity, linking it to specific specification clauses. Component attribute types refer to the categories of controlled parameters abstracted from the specification text, such as concrete strength grade, reinforcing steel diameter, and fireproof coating thickness. Compliance constraint levels refer to a qualitative rating based on the degree of impact of specification clauses on engineering safety and quality, used to distinguish between key and general indicators.

[0071] During the implementation of the solution, without relying on complex natural language processing, the entity node identifiers obtained through parsing are directly used to perform index queries in the engineering component attribute mapping table. First, the mandatory clause index item corresponding to the entity node is located; then, the controlled attribute type of the component is directly read based on the index item, and the compliance constraint level of the attribute in the corresponding specification clause is obtained simultaneously. For example, for the item with the index identifier "load-bearing column - specification 01" in the mapping table, its corresponding component attribute type is found to be concrete strength grade through direct matching, and its compliance constraint level is determined to be mandatory high risk; for the item with the index identifier "wall decoration - specification 05", the attribute type is retrieved as decorative coating, and its compliance constraint level is determined to be recommended low risk.

[0072] S1023. Map each component attribute type to a corresponding numerical compliance importance based on the compliance constraint level, and generate a domain knowledge weight set based on the correspondence between all component attribute types and compliance importance.

[0073] Compliance importance refers to the quantified weight value obtained by numerically mapping compliance constraint levels. It is used to amplify or reduce the impact of specific attribute changes on the final result in hash calculations. Domain knowledge weight set refers to the set of key-value pairs with component attribute type as the key and compliance importance as the value, serving as the lookup table for subsequent weighted hash operations.

[0074] The correspondence between component attribute types and compliance importance is shown in Table 1 below:

[0075] Table 1: Mapping Relationship between Component Attribute Type and Compliance Importance

[0076]

[0077] Table 1 details the typical component attribute types and their corresponding compliance importance obtained from the engineering component attribute mapping table and the corresponding specification index. The first column is the attribute type name, the second column is the constraint level determined in step S1022, the third column explains the logical basis of the mapping, and the fourth column is the final generated numerical weight.

[0078] During the implementation of the solution, different compliance constraint levels are converted into specific numerical weights, and all matched and retrieved component attribute types are associated with the preset compliance importance in the mapping table to generate a domain knowledge weight set. For example, assuming that the concrete strength grade attribute type is matched in step S1022 and is determined to be mandatory high risk, its compliance importance is set to 100 according to the mapping rules in Table 1; assuming that the component material color is extracted, it is set to 1. Finally, these key-value pairs are integrated to generate a domain knowledge weight set W, which includes data items such as {<concrete strength grade, 100>, <reinforcing steel diameter, 100>, <component material color, 1>}.

[0079] This embodiment transforms abstract regulatory clauses into specific numerical weights as shown in Table 1. This means that the audit process no longer treats all data equally, but instead assigns extremely high weights to key attributes related to structural safety, such as concrete strength grade, while masking irrelevant metadata such as view display ID.

[0080] S103. Based on the domain knowledge weight set, perform weight matching on each component attribute node in the first component attribute node set and the second component attribute node set respectively, and perform weighted hash operation in combination with the physical attribute value of each component attribute node to obtain the corresponding first leaf node hash value and second leaf node hash value, and then construct the first weighted Merkle tree and the second weighted Merkle tree respectively.

[0081] Weighted hashing refers to a hash calculation process that introduces weighting factors. Unlike conventional hashing, which only encodes the data content, it mixes the physical attribute values ​​with the compliance importance obtained from the engineering component attribute mapping table through specific combinational logic before performing encrypted calculation. The hash values ​​of the first leaf node and the second leaf node are the hash fingerprints of the specific component attribute data that are located at the bottom level of the Merkle tree and are the basic units for constructing the tree structure.

[0082] First-weighted Merkle trees and second-weighted Merkle trees refer to binary or multi-branch tree structures generated by bottom-up aggregation of the aforementioned leaf nodes. Any small change in the underlying high-weight attributes will significantly change the feature value of the root node through the hash avalanche effect, and the nodes in the tree include risk semantics assigned based on the engineering component attribute mapping table.

[0083] First, iterate through each node in the first and second component attribute node sets, reading its attribute type and using it as an index key to look up the corresponding compliance importance in the domain knowledge weight set. Suppose that for a certain attribute item in the node set, concrete strength grade: C35, its weight in the weight set is matched to 100. Next, perform a weighted hash operation. Suppose that the physical attribute value C35 and the weight value 100 are appended to the attribute value string according to a preset rule, and combined using a preset separator, such as a colon, to form a new string "100:C35". Then, use a secure hash algorithm such as SHA-256 to calculate the hash value H1 of the first leaf node.

[0084] Similarly, if the corresponding attribute in the second node set becomes C30, the combined string becomes 100C30, generating the hash value H2 of the second leaf node. Finally, based on the parent-child hierarchy in the original BIM file stream, the generated leaf node hash values ​​are paired up, and the hash value of their parent node is calculated. This process is repeated layer by layer from bottom to top until a unique root node is generated, thus establishing the first weighted Merkle tree T1 and the second weighted Merkle tree T2.

[0085] Optionally, the method further includes:

[0086] The data type of each component attribute node is extracted by traversing the first component attribute node set and the second component attribute node set respectively.

[0087] When the data type is numeric, the physical attribute value is rounded and quantized using a preset precision step size determined according to the engineering measurement specifications to obtain the standard attribute value; when the data type is character, the physical attribute value is determined as the standard attribute value.

[0088] The preset accuracy step size refers to the smallest effective unit of quantification set for numerical attributes. It is determined based on the measurement accuracy requirements or construction allowable deviation requirements for various professional components in relevant industry engineering measurement standards. The preset accuracy steps are shown in Table 2 below:

[0089] Table 2: Preset Precision Step Size Comparison Table

[0090]

[0091] Table 2 defines the quantitative standards for various numerical attributes, all of which are derived from the accuracy indicators of engineering measurement specifications. For example, for geometric dimensions, considering the allowable deviations during on-site construction and the required calculation accuracy in the specifications, the accuracy step is set to 5 mm; while for the protective layer thickness, because it has a significant impact on durability, the step is set to 1 mm.

[0092] It should be noted that the preset precision step size mentioned above can be configured in an external XML or JSON configuration file. Before starting the audit, users can dynamically load different precision configuration files according to the precision requirements of the project, thereby adjusting the audit sensitivity.

[0093] During implementation, each component attribute item in the node set is traversed, and its metadata definition is read to identify the data type. For text data such as "C35", it is directly used as the standard attribute value. For numerical data such as "200.015mm", a preset quantization function is called for processing. This function finds the corresponding precision step size based on the attribute category and performs a rounding operation. ,in Indicates the precision step size. This represents the standard attribute value corresponding to the numerical data.

[0094] For example, suppose the original width of a beam section is 503mm. Looking up Table 2, the step size is 5mm, so the quantized standard attribute value is 500mm. If another version has this value of 498mm, it is also quantized to 500mm, thus determining that there is no substantial difference between the two. If the value is a string type "C30", then "C30" is simply kept unchanged.

[0095] Optionally, step S103, based on the domain knowledge weight set, performs weight matching on each component attribute node in the first component attribute node set and the second component attribute node set, and performs a weighted hash operation on the physical attribute value of each component attribute node to obtain the corresponding first leaf node hash value and second leaf node hash value. The process of constructing the first weighted Merkle tree and the second weighted Merkle tree respectively can specifically include:

[0096] S1031. Based on the attribute type of each component attribute node, query the domain knowledge weight set and determine the corresponding compliance importance. Concatenate the standard attribute value corresponding to the component attribute node with the compliance importance using a preset separator to generate a target feature sequence.

[0097] The target feature sequence is calculated using a secure hash algorithm to obtain the corresponding first leaf node hash value and second leaf node hash value.

[0098] The target feature sequence refers to a string or binary stream formed by concatenating standardized attribute content and calculated comprehensive weights according to a specific format; it is the direct input object of a hash algorithm. Secure hash algorithms, such as SHA-256 and SM3, are encryption algorithms with collision resistance and avalanche effect, used to convert feature sequences of arbitrary length into fixed-length hash fingerprints.

[0099] During the implementation of the solution, firstly, based on the attribute type of each node, the corresponding compliance importance is looked up in the previously generated domain knowledge weight set W. Secondly, the obtained standard attribute values The importance of compliance obtained Character concatenation can be performed, with separators added in between, i.e., following the pattern "". + separator + The target feature sequence is generated by concatenating characters in a fixed order, using preset English colons or underscores as separators. Finally, the SHA-256 algorithm is called to... Perform the calculation and output a fixed-length hexadecimal string as the hash value of the first leaf node. Similarly, process the corresponding nodes in the second BIM file stream to generate the hash value of the second leaf node.

[0100] For example, first assume that the attribute type of a certain component attribute node is "concrete strength grade" and the standard attribute value is "C35". Next, query and determine the corresponding compliance importance in the domain knowledge weight set generated in S102. 100. Subsequently, the standard attribute value "C35" of this node is concatenated with the compliance importance "100" according to preset rules. The target feature sequence is generated by using a preset "-" as a separator and placing the importance at the beginning of the sequence. The value is "100-C35". Finally, a secure hash algorithm, such as SHA-256, is used to analyze the target feature sequence. The calculation is performed to obtain the hash value of the leaf node.

[0101] S1032. According to the node adjacency relationship in the first BIM file stream and the second BIM file stream, the corresponding root node hash value is generated by sorting the hash values ​​of the first leaf node and the hash values ​​of the second leaf node respectively and performing pairwise concatenation and secondary hash calculation from bottom to top. The first weighted Merkle tree and the second weighted Merkle tree are constructed based on the corresponding root node hash value.

[0102] Node adjacency refers to the reference and inclusion logic between parent and child nodes in a BIM tree structure, which determines the aggregation path of hash values. Pair concatenation and secondary hash calculation refer to the standard process of Merkle tree construction, which involves merging the hash values ​​of two child nodes and hashing them again to generate the hash value of the parent node. The root node hash value is the hash fingerprint of the top level of the tree structure, representing a complete summary of the entire tree and all its leaf node data.

[0103] First, based on the original tree structure of the first BIM file stream D1, find the hash values ​​of all child nodes belonging to the same parent node, and sort these hash values ​​lexicographically. Then, concatenate the sorted hash values. The concatenated result is then subjected to SHA-256 calculation again to obtain the hash value of the parent node. Finally, this process is executed recursively from bottom to top until all branches converge to the unique root node, thus completing the construction of the first weighted Merkle tree T1. Similarly, the second weighted Merkle tree T2 is constructed based on the file stream D2.

[0104] This embodiment eliminates interference from non-substantial minor differences by introducing a precision step size based on engineering measurement standards. Furthermore, through a weighted hashing mechanism based on fixed splicing rules, changes involving core structural security and mandatory specifications generate significant difference fingerprints in the Merkle tree. This not only improves the audit's resilience but also ensures that high-risk issues can be prioritized for identification and location.

[0105] To more intuitively illustrate the construction logic and data flow of the weighted Merkle tree described above, please refer to... Figure 2 The diagram shown illustrates the construction of a weighted Merkle tree based on domain knowledge enhancement.

[0106] like Figure 2 As shown, the construction process is logically divided into three stages from bottom to top: the data source layer, the weighted hash calculation layer, and the tree-like aggregation layer.

[0107] At the bottom data source layer, the integration of physical entity data and specification domain knowledge is visually demonstrated. Taking the left branch in the diagram as an example, for the core structural component "column," its "concrete strength" attribute is extracted and quantified to obtain the standard attribute value. The rating is "C35"; simultaneously, based on the mandatory provisions of the "Code for Design of Concrete Structures", the highest compliance importance is obtained. The value is "100". In contrast, the right branch of the diagram shows the "color" attribute of the non-structural component "wall", whose standard attribute value is "white". Because it only involves general decorative requirements, the matching compliance importance is the lowest value of "1". This differentiated weighting establishes the risk level of different attribute changes at the data source.

[0108] The intermediate weighted hash calculation layer demonstrates the solidification process of risk characteristics. Instead of simply encoding attribute values, it performs combination operations based on combinations concatenated according to preset delimiters, such as performing a hash (...). + This involves combined operations. For example, the left node generates the leaf node hash value by calculating Hash("C35" + "100"). This mechanism ensures that even minor attribute tampering will produce a severe avalanche effect in the hash value if it involves a high-weight, strong attribute; while for low-weight attributes, their hash changes will be assigned a lower weight factor in subsequent cost calculations.

[0109] The top tree-like aggregation layer illustrates the generation path of the full-tree fingerprint. The generated leaf node hashes are grouped pairwise into left child node hashes based on BIM topology adjacency relationships. and right child node hash They undergo a second hash operation after character concatenation, that is... This process is repeated recursively upwards, layer by layer. The root node hash value generated at the top of the tree is not only a data checksum, but also a "compliance fingerprint" of the entire project at the current point in time. Any substantial changes that violate regulations at the underlying level will inevitably lead to changes in the root node fingerprint, which will then be accurately detected by the auditing system.

[0110] S104. Calculate the first weighted Merkle tree and the second weighted Merkle tree according to the tree edit distance algorithm. By determining the minimum edit operation sequence to convert the first weighted Merkle tree into the second weighted Merkle tree, the cumulative edit cost of each changed path is obtained.

[0111] Optionally, step S104, which calculates the cumulative edit cost of each changed path by determining the minimum sequence of edit operations to transform the first weighted Merkle tree into the second weighted Merkle tree using the tree edit distance algorithm, may specifically include:

[0112] Figure 3 A flowchart illustrating a method for generating cumulative editing costs according to an embodiment of this application is shown. Figure 3 As shown, the method includes:

[0113] S1041. Extract the root node hash value of the first weighted Merkle tree and the root node hash value of the second weighted Merkle tree respectively and compare them. When the hash values ​​are inconsistent, recursively traverse all child node hash values ​​from the root node to obtain the difference node pair whose hash values ​​have changed, and determine the change path to be calculated based on the difference node pair.

[0114] A difference node pair refers to two corresponding nodes that are located at the same position in the Merkle tree structure but have different hash values ​​during the Merkle tree comparison process. A change path refers to the tree traversal trajectory starting from the root node, passing through a series of difference intermediate nodes, and finally reaching the leaf node where the change occurred.

[0115] First, the root hashes RH1 and RH2 of the first weighted Merkle tree T1 and the second weighted Merkle tree T2 are read. If they are the same, the model is considered unchanged, and the process ends; if they are different, the recursive comparison logic is started. The algorithm starts from the root and compares the child node lists layer by layer.

[0116] For example, suppose the root node of T1 has child nodes A1 and B1, and T2 has child nodes A2 and B2. If Hash(A1) and Hash(A2) are the same, skip that branch; if Hash(B1) and Hash(B2) are different, mark (B1, B2) as a difference node pair and record the path PathB from the root node to node B. Then continue delving into node B until the bottom-level leaf node pair (Leaf1, Leaf2) is found. Output the set of changed paths to be calculated.

[0117] S1042. Construct an edit operation set based on each change path. Use a dynamic programming algorithm to search the edit operation set for the sequence that requires the fewest operations to transform the node state in the first weighted Merkle tree into the node state in the second weighted Merkle tree, and obtain the minimum edit operation sequence.

[0118] An edit operation set refers to a list of atomic operations defined for a tree structure, typically including the three basic actions of inserting, deleting, and modifying nodes. The minimum edit operation sequence is the ordered set of steps with the fewest total operations among all possible combinations of edit operations required to transform one tree into another.

[0119] During the implementation of the scheme, a tree edit distance algorithm is applied for each locked change path. This algorithm uses dynamic programming to construct a two-dimensional cost matrix and calculate the minimum number of steps required to transform the source node tree Ts into the target node tree Tt.

[0120] For example, for a pair of differing nodes (Leaf1, Leaf2), if the pair is a leaf node (i.e., an attribute node), and Leaf1 is "C35" and Leaf2 is "C30", the algorithm determines that a modification operation is required; if Leaf1 exists and Leaf2 is empty, it is determined to be a deletion operation. Through iterative calculation using the state transition equation, the final output is a minimal edit operation sequence S containing {Delete(N1), Insert(N2), Update(N3)}.

[0121] S1043. Extract the component attribute type corresponding to the leaf node that has changed in the minimum edit operation sequence. Query the corresponding compliance importance in the domain knowledge weight set according to the component attribute type. Then, by using the compliance importance as a weighting factor, perform a weighted summation on each edit operation in the minimum edit operation sequence to obtain the cumulative edit cost of each change path.

[0122] Cumulative edit cost is a quantitative indicator that combines the number of operations with the risk weights corresponding to the leaf nodes that have been changed, and is used to assess the severity of the change behavior.

[0123] First, traverse each operation item in the minimum edit operation sequence S and identify the node position on which the operation item acts. If the operation acts on a leaf node, extract the component attribute type corresponding to that leaf node, and use that attribute type as the index key to query the domain knowledge weight set to directly read the compliance importance corresponding to that attribute. Then, assign a base cost based on the operation type. Assume modification = 1, deletion = 1, and calculate the single-step weighted cost. Finally, sum the weighted costs of all steps in the sequence: .

[0124] For example, suppose the sequence includes one operation that changes the "Concrete Strength Grade" (weight 100) in a leaf node from C35 to C30, and one modification to a leaf node involving "View Color" (weight 1). The total cost of this path is calculated as follows: This embodiment ensures that each tree editing action can be accurately matched with its corresponding engineering semantic weight by directly associating the editing cost with the leaf nodes, i.e., the specific attribute nodes.

[0125] This embodiment achieves semantic-level quantification of BIM changes, making the cost of a single modification involving mandatory specifications far exceed that of a hundred insignificant metadata adjustments, thus transforming abstract compliance risks into comparable numerical costs.

[0126] Optionally, the method further includes:

[0127] The cumulative editing cost of all change paths in the minimum edit operation sequence is calculated, and a cost distribution dataset is constructed.

[0128] The cost distribution dataset is a one-dimensional numerical set that aggregates the cumulative edit costs of all change paths. During implementation, the entire project is compared to collect the cost value for each change path.

[0129] For example, suppose a BIM model comparison reveals 1000 changes, of which 950 are related to "view ID updates" or "minor adjustments to non-load-bearing components," with a calculated cumulative editing cost between 1 and 5; another 50 involve "reduction of rebar diameter" or "reduction of concrete grade," with a cost between 80 and 120. Storing these 1000 values ​​into a list or array constitutes the cost distribution dataset. .

[0130] Calculate the expected value and standard deviation of the cost distribution dataset, and obtain the preset cost threshold by calculating the sum of the expected value and the standard deviation of the preset multiple. The preset multiple is determined based on the false alarm rate tolerance in historical audit data.

[0131] The expected value refers to the arithmetic mean of the cost distribution dataset, representing the general level of change risk or background noise baseline in this model version iteration. The standard deviation is a statistical indicator reflecting the dispersion of values ​​across generations from the expected value, used to measure the volatility of change behavior. The preset cost threshold is a judgment boundary line calculated based on statistical laws, used to distinguish between ordinary changes within the normal range and high-risk abnormal changes that significantly deviate from the norm.

[0132] The false positive rate tolerance refers to the maximum proportion of non-risk changes that auditors can accept being falsely reported as part of the target path in historical project audit records. This preset multiple can be determined by establishing a mapping function between the false positive rate and the standard deviation multiple, such as based on a confidence level of a normal distribution. The preset multiple is a statistical constant calculated based on the false positive rate tolerance in historical audit data. It is used to set the sensitivity of audit warnings. The lower the false positive rate tolerance, the larger the preset multiple, thereby raising the threshold for identifying high-risk changes.

[0133] First, calculate the expected value. Let's assume the mean of the example data above is approximately 5. Next, we calculate the standard deviation. Finally, based on the preset multiple determined by the false alarm rate tolerance. The preset multiple can be determined by matching historical data based on the 3-Sigma principle or the current project's tolerance for false alarm rates. Calculate the threshold For example, suppose we calculate... Then the preset cost threshold At this point, those change paths with a cost of 80 to 120 will be identified as anomalies, while changes with a cost of 1 to 5 will be filtered out.

[0134] This embodiment avoids the problem of underreporting or false reporting that may occur in projects of different sizes due to fixed thresholds, ensures that the audit judgment criteria can be intelligently adjusted with data fluctuations, effectively utilizes the 3-Sigma principle to accurately remove background noise, and locks in high-risk changes that deviate significantly from the norm.

[0135] S105. Determine the change path whose cumulative editing cost exceeds the preset cost threshold as the target path, extract the component identifier and attribute change value corresponding to the target path, and generate an engineering audit report.

[0136] Optionally, step S105, which identifies the change path whose cumulative editing cost exceeds a preset cost threshold as the target path and extracts the component identifier and attribute change value corresponding to the target path to generate an engineering audit report, may specifically include:

[0137] S1051. Iterate through each change path and calculate the cumulative editing cost. Determine the change path whose cumulative editing cost is greater than the preset cost threshold as the target path.

[0138] The preset cost thresholds are set according to different audit rigor levels, as shown in Table 3 below:

[0139] Table 3: Preset Cost Threshold Comparison Table

[0140]

[0141] Table 3 defines the threshold selection strategies for different scenarios. Specifically, for the dynamic statistical threshold in standard mode, the preset multiple... The tolerance for false positives is determined based on historical audit data. The tolerance for false positives refers to the maximum probability that auditors can accept mislabeling non-compliance risk changes, such as metadata changes, as the target path during historical project comparisons. By establishing a mapping relationship between the false positive rate and the standard deviation multiple of the normal distribution, a preset multiple is adaptively determined for the current project. This ensures that the preset cost threshold can dynamically remove background noise.

[0142] During the implementation of the solution, all change paths and their calculated cumulative editing costs are traversed. The cumulative editing costs are compared one by one with the preset cost thresholds given in Table 3 to find the target path. For example, based on the content of Table 3, assuming the current mode is strict, and the cost of a certain path related to "fine-tuning the protective layer thickness" is 55, then... This path is marked as the target path; while the other path, regarding "wall color code change," has a cost of 1. They were excluded.

[0143] S1052. Extract the component identifier of the target component attribute node corresponding to the target path, and determine the corresponding entity component data based on the component identifier in the first component attribute node set and the second component attribute node set respectively.

[0144] First, based on the determined target path, extract the component identifier of the corresponding target component attribute node. Second, use this component identifier to perform hash lookup or traversal search in both the first and second component attribute node sets to accurately locate the data objects of the same physical component in different versions. For example, regardless of the storage order of components in the file, N1 can be determined in Set1, and N2 can be determined in Set2 using the component identifier.

[0145] S1053. In the first BIM file stream and the second BIM file stream, the attribute change value is obtained by calculating the difference between the physical attribute values ​​of the corresponding component attribute types in the entity component data.

[0146] Attribute change values ​​refer to the formatted description of physical attribute differences, explicitly indicating what has changed to what. During implementation, it's not about comparing all attributes of entity nodes, but rather precisely identifying the specific component attribute type in S1043 that caused the cumulative editing cost to exceed the threshold. For numerical attributes, calculations are performed... In other words, the attribute change value is equal to the absolute value of the corresponding attribute value in the second BIM file stream minus the absolute value of the corresponding attribute value in the first BIM file stream; for enumerations or text types, the state before and after the change is recorded.

[0147] For example, assuming that the cumulative editing cost of a certain path determined in S1043 is mainly caused by the change in "rebar diameter", and that this attribute is 25mm in N1 and 20mm in N2, then the system will calculate the numerical difference of this component attribute type as -5mm, and record the attribute change value as "changed from Φ25 to Φ20". This targeted calculation method eliminates interference from uncontrolled attributes such as display color and non-structural metadata in the component, ensuring the accuracy of the audit report data.

[0148] S1054. The component identifier, attribute change value, and cumulative editing cost of the target path of the target component attribute node are used as evidence chain data, and the evidence chain data is compiled into an engineering audit report according to a preset format. Evidence chain data refers to a data package that includes complete elements such as component identity, change facts, and risk quantification value, and has non-repudiation and traceability.

[0149] During the implementation of the solution, for example, the extracted component identifier, the calculated attribute change value of -5mm, and the cumulative editing cost of 105 for triggering the alarm along that path are packaged into an evidence record. Subsequently, a file is generated by compiling the record according to a preset XML, HTML, or PDF template format. This evidence chain data correlates the attribute change fact with knowledge weights in areas such as cumulative editing cost, providing quantitative risk support for the audit results.

[0150] This embodiment realizes an intelligent closed loop for engineering auditing. By utilizing the flexible threshold strategy shown in Table 3, it effectively shields the interference of massive invalid changes, which not only significantly reduces the workload of manual investigation, but also directly outputs legally valid and technically based proof of violations, significantly improving the accuracy and deterrent effect of the audit work.

[0151] Figure 4 This application provides a schematic diagram of the structure of a specific implementation of an engineering audit management system based on domain knowledge enhancement, with reference to... Figure 4 The system may include:

[0152] 410 Acquisition Module is used to synchronously acquire the first BIM file stream and the second BIM file stream at different time points of the project to be audited, as well as the preset engineering component attribute mapping table. The first BIM file stream and the second BIM file stream are tree-structured data.

[0153] The 420 parsing module is used to perform structured parsing on the first BIM file stream and the second BIM file stream respectively, to obtain the first component attribute node set and the second component attribute node set, and to extract the mapping relationship between different component attribute types and compliance importance from the engineering component attribute mapping table, and generate a domain knowledge weight set.

[0154] The 430 generation module is used to perform weight matching on each component attribute node in the first component attribute node set and the second component attribute node set based on the domain knowledge weight set, and to perform weighted hash operation on each component attribute node in combination with the physical attribute value of each component attribute node to obtain the corresponding first leaf node hash value and second leaf node hash value, and then construct the first weighted Merkle tree and the second weighted Merkle tree respectively.

[0155] The 440 calculation module is used to calculate the first weighted Merkle tree and the second weighted Merkle tree according to the tree edit distance algorithm. By determining the minimum sequence of edit operations to transform the first weighted Merkle tree into the second weighted Merkle tree, the cumulative edit cost of each changed path is obtained.

[0156] The 430 generation module is also used to determine the change path where the cumulative editing cost is greater than the preset cost threshold as the target path, and to extract the component identifier and attribute change value corresponding to the target path to generate an engineering audit report.

[0157] The domain knowledge-enhanced engineering audit management system of this application is used to implement the aforementioned domain knowledge-enhanced engineering audit management method. Therefore, the specific implementation of the domain knowledge-enhanced engineering audit management system can be found in the embodiment section of the domain knowledge-enhanced engineering audit management method above. The specific implementation can be referred to the description of the corresponding embodiments, which will not be repeated here.

[0158] Figure 5 A schematic diagram of the hardware structure of an electronic device provided in one embodiment of this application is shown.

[0159] The electronic device may include a processor 510 and a memory 520 storing computer program instructions.

[0160] Specifically, the processor 510 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0161] Memory 520 may include mass storage for data or instructions. For example, and not limitingly, memory 520 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 520 may include removable or non-removable (or fixed) media. Where appropriate, memory 520 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 520 is non-volatile solid-state memory.

[0162] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method according to the first aspect of this disclosure.

[0163] The processor 510 reads and executes computer program instructions stored in the memory 520 to implement any of the domain knowledge-enhanced engineering audit management methods described in the above embodiments.

[0164] In one example, the electronic device may also include a communication interface 530 and a bus 540. Wherein, such as Figure 5 As shown, the processor 510, memory 520, and communication interface 530 are connected through bus 540 and complete communication with each other.

[0165] The communication interface 530 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0166] Bus 540 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 540 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0167] The electronic device can execute the domain knowledge-enhanced engineering audit management method in the embodiments of this application, thereby realizing the domain knowledge-enhanced engineering audit management method described in conjunction with the accompanying drawings.

[0168] Furthermore, in conjunction with the domain knowledge-enhanced engineering audit management method in the above embodiments, this application embodiment can provide a computer-readable storage medium for implementation. This computer-readable storage medium stores computer program instructions; when executed by a processor, these computer program instructions implement any of the domain knowledge-enhanced engineering audit management methods in the above embodiments.

[0169] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0170] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0171] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0172] The aspects of this application have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by dedicated hardware performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0173] The foregoing has provided a detailed description of the engineering audit management method and system based on domain knowledge enhancement provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of this application.

Claims

1. A domain knowledge enhancement based engineering audit management method, characterized in that, The method comprises: Synchronously acquiring a first BIM file stream and a second BIM file stream of different time nodes of an engineering project to be audited, and a preset engineering component attribute mapping table, the first BIM file stream and the second BIM file stream being tree structure data; Structurally analyzing the first BIM file stream and the second BIM file stream respectively to obtain a first component attribute node set and a second component attribute node set, and extracting a mapping relationship between different component attribute types and compliance importance degrees from the engineering component attribute mapping table to generate a domain knowledge weight set; Based on the domain knowledge weight set, performing weight matching on each component attribute node in the first component attribute node set and the second component attribute node set respectively, and performing weighted hash operation on the physical attribute value of each component attribute node to obtain corresponding first leaf node hash values and second leaf node hash values, and then constructing a first weighted Merkle tree and a second weighted Merkle tree respectively; According to a tree edit distance algorithm, calculating the first weighted Merkle tree and the second weighted Merkle tree, determining a minimum editing operation sequence for converting the first weighted Merkle tree into the second weighted Merkle tree, and obtaining a cumulative editing cost of each change path; Determining a change path with a cumulative editing cost greater than a preset cost threshold as a target path, extracting a component identifier and an attribute change value corresponding to the target path, and generating an engineering audit report.

2. The method of claim 1, wherein, The method further comprises: Extracting the data type of each component attribute node by traversing the first component attribute node set and the second component attribute node set respectively; When the data type is a numerical type, performing integer quantization processing on the physical attribute value by using a preset precision step determined according to an engineering measurement specification to obtain a standard attribute value; When the data type is a character type, determining the physical attribute value as a standard attribute value.

3. The method of claim 2, wherein, Based on the domain knowledge weight set, performing weight matching on each component attribute node in the first component attribute node set and the second component attribute node set respectively, and performing weighted hash operation on the physical attribute value of each component attribute node to obtain corresponding first leaf node hash values and second leaf node hash values, and then constructing a first weighted Merkle tree and a second weighted Merkle tree respectively, comprising: Querying and determining the corresponding compliance importance degree in the domain knowledge weight set according to the attribute type of each component attribute node; Splicing the standard attribute value corresponding to the component attribute node and the compliance importance degree with a preset delimiter to generate a target feature sequence; Calculating the target feature sequence by using a secure hash algorithm to obtain corresponding first leaf node hash values and second leaf node hash values; According to the node adjacency relationship in the first BIM file stream and the second BIM file stream, a corresponding root node hash value is generated by respectively sorting the first leaf node hash value and the second leaf node hash value and performing pairwise cascading and secondary hash calculation layer by layer from bottom to top, and the first weighted Merkle tree and the second weighted Merkle tree are constructed according to the corresponding root node hash value.

4. The method of claim 1, wherein, The method further comprises: statistically accumulating the cumulative editing cost of all change paths in the minimum editing operation sequence to construct a cost distribution dataset; calculate the expected value and standard deviation of the cost distribution dataset, and obtain the preset cost threshold by calculating the sum of the expected value and the standard deviation of the preset multiple, wherein the preset multiple is determined according to the false positive rate tolerance in the historical audit data.

5. The method of claim 1, wherein, The first BIM file stream and the second BIM file stream are respectively structured and parsed to obtain a first component attribute node set and a second component attribute node set, and a mapping relationship between different component attribute types and compliance importance is extracted from the engineering component attribute mapping table to generate a domain knowledge weight set, including: By using a file stream parser to respectively perform deserialization processing and recursive scanning on the first BIM file stream and the second BIM file stream, corresponding entity nodes are obtained, and a first component attribute node set and a second component attribute node set are constructed according to the corresponding entity nodes; By searching the mandatory article index in the engineering component attribute mapping table, the component attribute type and the corresponding compliance constraint level are matched; each component attribute type is mapped to a corresponding numerical compliance importance according to the compliance constraint level, and the domain knowledge weight set is generated based on the correspondence between all component attribute types and compliance importance.

6. The method of claim 3, wherein, According to the tree edit distance algorithm, the first weighted Merkle tree and the second weighted Merkle tree are calculated to determine the minimum editing operation sequence for converting the first weighted Merkle tree into the second weighted Merkle tree, and the cumulative editing cost of each change path is obtained, including: The root node hash value of the first weighted Merkle tree and the root node hash value of the second weighted Merkle tree are respectively extracted for comparison, and when the hash values are inconsistent, the difference node pair with changed hash values is obtained by recursively traversing all child node hash values from the root node, and the change path to be calculated is determined based on the difference node pair; According to each change path, an editing operation set is constructed, and the minimum editing operation sequence is obtained by using a dynamic programming algorithm to search for the sequence with the least number of operations required to convert the node state in the first weighted Merkle tree into the node state in the second weighted Merkle tree in the editing operation set. extract a component attribute type corresponding to a leaf node pair in which a change occurs in the minimum edit operation sequence, query a corresponding compliance importance from the domain knowledge weight set according to the component attribute type, and perform weighted summation on each edit operation in the minimum edit operation sequence by taking the compliance importance as a weight factor to obtain the cumulative edit cost of each change path.

7. The method of claim 6, wherein, The change path with the cumulative edit cost greater than the preset cost threshold is determined as a target path, and a component identifier and an attribute change value corresponding to the target path are extracted to generate an engineering audit report, including: traversing to calculate the cumulative edit cost of each change path, and determining a change path with the cumulative edit cost greater than the preset cost threshold as a target path; extracting a component identifier of a target component attribute node corresponding to the target path, and determining corresponding entity component data in the first component attribute node set and the second component attribute node set based on the component identifier; in the first BIM file stream and the second BIM file stream, obtaining an attribute change value by calculating a physical attribute numerical difference value corresponding to the component attribute type in the entity component data; taking the component identifier of the target component attribute node, the attribute change value, and the cumulative edit cost of the target path as evidence chain data, and compiling the evidence chain data into the engineering audit report according to a preset format.

8. An engineering audit management system based on domain knowledge augmentation, characterized in that, comprising: an acquisition module configured to synchronously acquire a first BIM file stream and a second BIM file stream of different time nodes of a to-be-audited engineering project, and a preset engineering component attribute mapping table, the first BIM file stream and the second BIM file stream being tree structure data; a parsing module configured to respectively perform structural parsing on the first BIM file stream and the second BIM file stream to obtain a first component attribute node set and a second component attribute node set, and extract a mapping relationship between different component attribute types and compliance importance from the engineering component attribute mapping table to generate a domain knowledge weight set; a generation module configured to, based on the domain knowledge weight set, respectively perform weight matching on each component attribute node in the first component attribute node set and the second component attribute node set, and perform weighted hash operation in combination with a physical attribute value of each component attribute node to obtain a first leaf node hash value and a second leaf node hash value, and then construct a first weighted Merkle tree and a second weighted Merkle tree respectively; a calculation module configured to calculate the first weighted Merkle tree and the second weighted Merkle tree according to a tree edit distance algorithm, obtain a cumulative edit cost of each change path by determining a minimum edit operation sequence for converting the first weighted Merkle tree into the second weighted Merkle tree; the generation module is further configured to determine a change path with the cumulative edit cost greater than a preset cost threshold as a target path, and extract a component identifier and an attribute change value corresponding to the target path to generate an engineering audit report.

9. An electronic device, comprising: comprising: a memory configured to store a computer program; A processor for implementing the steps of the engineering audit management method based on domain knowledge enhancement as claimed in any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, and the computer program is executable by the processor to implement the engineering audit management method based on domain knowledge enhancement as claimed in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Log management system, method and equipment and storage medium

    CN115905150A

  • Reimbursement data management system and method based on AI artificial intelligence

    CN120047255A