Structural data management
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-02-06
- Publication Date
- 2026-08-13
Smart Images

Figure EP2026053233_13082026_PF_FP_ABST
Abstract
Description
[0001] Structural Data Management
[0002] Technical Field
[0003] The present application relates to a data structure for storing data associated with a structure, and methods for executing a structure database query.
[0004] Background
[0005] The conservation of our historical structures is both costly and time consuming, and the budget for preserving these invaluable assets for future generations is severely limited. Despite significant technological advancements, historical conservation still relies on outdated methodologies, causing inefficiencies and duplicated activities. When these structures collapse, the cost of restoration increases to nearly ten times the expense of proactive, long-term management.
[0006] There are a large range of different types of data which may be associated with a structure. For example, when the structure is first designed, there may be structural drawings, blueprints, one or more building information model (BIM), geotechnic reports, etc. As a structure ages, further data may be collected or generate about the structure. This may be in the form of further structural drawings as extensions are added or changes are mode, or reports regarding structural damage or deterioration, or plans of maintenance works carried out.
[0007] With historic or archaeological structures, there may be other types of data which are available. For example, there may be reports generated as the result of excavation or archaeological work. Other types of data include historical evidence about the structure, such as descriptions in books or reports.
[0008] Data about the site of the structure may also be relevant to the structure and its condition. Such data includes weather data and soil mechanical analysis. Other data associated with the construction may also be relevant, such as building material composition.
[0009] SummaryWhile much of the data associated with a structure is available, it is often difficult to find and / or access. This may be because the data is in a different language or can only be accessed at an archive. Another problem may lie in the data format itself. There are a number of different software products, many of which require different file formats for use. Without access to the software and the expertise to use the software, the data is unusable.
[0010] Even where data can be found and accessed, post-processing and analysing the collected data is time-consuming and requires substantial effort. Such data may include generated maps and scans (2-dimentional and multi-dimensional). Traditional paperbased documentation and analysis is a labour-intensive and time-consuming process. Digital methods have been employed to make the process more efficient, but there have been no attempts to focus specifically on post-processing collected data. Furthermore, the accuracy and reliability of manual assessments and developed hypotheses need to be compared to intelligent predictive algorithms.
[0011] As a result, much data which is available about a structure or its site is regenerated by another party. This may be a waste of time and resources for the party. Where sampling is required to obtain the data, the structure itself is adversely affected. In some instances, the structure may be oversampled, leading to the structure or parts thereof collapsing.
[0012] Additionally, historical building conservation reports generate a substantial amount of documentation based on context. However, documenting a massive structure poses challenges due to the sheer volume of documents and data involved, as well as the difficulties in interpretation to find or predict the characteristics needed.
[0013] Herein is provided a data structure for storing a data source in association with classifications of the data. The data structure can be used to find relevant data. The data structure can be processed to obtain a secondary data structure which can be used to perform structural analysis computations for the structure.
[0014] In this way, the data about a structure can be readily accessed. A platform is also provided herein for accessing the data. Moreover, the structure can be analysed without having to individually access each data item with the required software.Herein, the term structure includes buildings, bridges, and monuments.
[0015] According to a first embodiment, there is provided a method for processing data associated with a structure, the method comprising: obtaining a set of data items, each data item associated with the structure; for each data item of the set of data items, assigning a label for each of a plurality of categories derived from the data item; processing the labels assigned to the data items to generate a binary representation of the labels, wherein the binary representation comprises a row representing each data item; and generating a feature matrix associated with the structure comprising the binary representation for each data item of the set of data items.
[0016] In some embodiments, the plurality of categories may include a time period category, wherein labels assigned to a data item for the time period category indicates a relative age of the data item in the set of data items.
[0017] In some embodiments, the binary representation of the labels of the time period category may not be included in the feature matrix, wherein the method further comprises: generating a time period matrix comprising a binary representation of the time period category label applied to each data item of the set of data items.
[0018] In some embodiments, the labels may be assigned to a respective data item by processing the data item to extract from the data item data associated with each of the plurality of categories, wherein the label is the extracted data or derived from the extracted data.
[0019] In some embodiments, the binary representation of the labels may provide an indication of features of the structure provided in the data item and features which are interconnected to the features of the structure provided in the data item.
[0020] In some embodiments, processing the labels assigned to the data items may comprise: providingthe labels ora representation of the labels to a trained matrix generation model, the trained matrix generation model trained to identify related labels or representations of labels within the labels assigned to the data items, wherein the related labels indicate interconnected features; and obtaining, as output of the trained matrix generation model the binary representation.In some embodiments, the binary representation may comprise a column representing each label of the assigned labels and each identified interconnecting features.
[0021] In some embodiments, processing the labels assigned to the data item to generate the binary representation of the labels may comprise: mapping the labels assigned to the data item into a set of alphanumeric labels based on am alphanumeric coding system; and processing the set of alphanumeric labels to generate the binary representation of the labels.
[0022] In some embodiments, the alphanumeric coding system may be derived by assigning a unique alphanumeric code to each unique label.
[0023] In some embodiments, the method may further comprise: identifying, within a data item of the set of data items, two or more independent data portions; and for each of the two or more independent data portions, assigning a label for each of a plurality of categories derived from the independent portion of the data item; wherein the binary representation comprises a row representing each independent portion of the data item.
[0024] In some embodiments, the independent data portions may provide data referring to at least one of a different portion of the structure and a different time period.
[0025] In some embodiments, the method may further comprise: determining associated data items based on the feature matrix; obtaining data of the associated data items; and executing a structural analysis of at least a portion of the structure based on the obtained data.
[0026] In some embodiments, determining the associated data items may comprise: determining a possible binary representation associated with the at least a portion of the structure; and identifying a row of the feature matrix comprising the possible binary representation within the feature matrix.In some embodiments, the method may further comprise: obtaining a time period for which the structural analysis is to be performed; and determining the associated data items based on the time period.
[0027] In some embodiments, the method may further comprise: identifying one or more data items associated with a binary representation within the time period matrix indicating that the data item is associated with the time period; and determining the associated data items based on the identified one or more data items and the feature matrix.
[0028] In some embodiments, the method may further comprise: extracting, from the data item, a subset of data, wherein the subset of data comprises data relevant for use in structural analysis; and storing the subset of data in a data item database.
[0029] According to a second aspect, there is provided a computer-implemented method for executing a structured database query, the method comprising: determining a binary string associated with the query; searching a feature matrix associated with a set of data items to identify a binary string matching the binary string associated with the query, wherein the feature matrix is derived from a set of labels assigned to each data item of the set of data items for each of a plurality of categories, wherein each row of the feature matrix is a binary representation of a set of labels assigned to a data item; and obtaining data of the data item of which the binary representation comprises the matching binary string.
[0030] In some embodiments, obtaining the data may comprise: determining a line number of the feature matrix comprising the matching binary string; and obtaining the data from a database, wherein the data is stored in a location corresponding to the line number.
[0031] In some embodiments, the data item may comprise data associated with a structure, wherein the data obtained from the data item is used for executing a structural analysis of at least a portion of the structure.
[0032] According to a third aspect, there is provided computer equipment comprising: memory comprising one or more memory units; and processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on theprocessing apparatus, the code being configured so as when on the processing apparatus to perform the any of the method provided herein.
[0033] According to a fourth aspect, there is provided a computer program embodied on computer-readable storage and configured so as, when run on one or more processors, to perform the any of the method provided herein.
[0034] The systems provided herein are able to reconstruct the historical diachrony of individual structures and / or entire buildings, encompassing phases of construction, use, transformation, abandonment, and destruction. This allows accurate analysis of the structure to be performed, which is beneficial for future conservation, eventual restoration, and ultimately, the protection of historic buildings.
[0035] Brief Description of the Drawings
[0036] To aid understanding of the present invention, and to show how the same may be carried into effect, reference is made byway of example to the following figures, in which:
[0037] Figure 1 provides an example feature database;
[0038] Figure 2 provides an example method for generating the feature database;
[0039] Figure 3 provides an example method for generating a feature matrix;
[0040] Figure 4 illustrates assigning an alphanumeric coding system to extracted features;
[0041] Figure 5 provide an example system for implementing the methods;
[0042] Figure 6 provides an example overview user interface for providing analytics relating to a user’s projects;
[0043] Figure 7 provides a project user interface for providing a project overview;Figure 8 provides a workspace user interface for organising tasks of a workforce; and
[0044] Figure 9 provides a timeline user interface for displaying a time series of projects for a structure.
[0045] Detailed Description
[0046] To enable structural analysis of a structure to be performed, accurate data about the structure is needed. Such data can be derived from one or more different sources, including structural plans, building information models (BIM), excavation reports, geotechnics reports etc. Each individual source is referred to herein as a data item. The data items may be stored in a number of different locations.
[0047] In the examples provided herein, the structure is a historic monument, however, it will be appreciated that the data structures and methods may be applied equally to modern structures.
[0048] An example data item feature database, otherwise referred to herein as a feature database, is provided in Figure 1. The data item feature database references data items associated with a specific structure.
[0049] Data items may contain information relating to one or more construction portions of the structure. Each entry of the feature database relates to one of these construction portions, such that a single data item may be refenced multiple times in the feature database. Each entry of the feature database provides classifications for a plurality of categories for a construction portion of a specific data item. In this way, the data items associated with a structure have a fine-grained referencing system, improving the querying of the data items.
[0050] A construction portion may be considered to be any suitable subset of construction data. For example, if a data source comprises information about the foundations of a structure at three different times, there may be three different construction portions in the data item, each relating to the foundations at a respective time. If alternatively, the data item related to only one time period, but contained information about the foundations and thefagade of the structure, there may be considered to be two different constriction portions, one relating to the foundations and the other relating to the fagade. It will be apricated that these are just two of many example ways in which the data provided in a data item may be broken down into smaller, related, portions of data.
[0051] The classifications for a data item provide a qualitative description of the data item. For each entry in the feature database, there is:
[0052] • a source of the data item;
[0053] • a condition classification of the data item;
[0054] • a construction classification of the data item;
[0055] • a material classification of the data item;
[0056] • a structure classification of the data item;
[0057] • a stamp classification of the data item; and
[0058] • a historical period classification of the data item.
[0059] The source of the data item can be used to access the data item. In Figure 1 , each of the sources are web links. The source may be a link to any accessible storage location. The data item itself is not stored in the feature database.
[0060] The condition classification is a binary classification. As such, the label applied can either be “yes” or “no”. The condition classification indicates whether the associated part of the structure exists in the source data. Within this context, the part of the structure exists if the part of the structure is still present, and it does not exist if it has fallen or been removed. The condition classification is important as it determines whether known data can be used for a part of the structure, or whether assumptions need to be made about the part based on data about another, similar, part.
[0061] The construction classification indicates a construction techniques defined in the data item. Such construction techniques include stratigraphy, characterization of building materials (stones, bricks, mortar, plaster, etc.), the study of materials and structures, and methods of assembly, and some example labels provided in the feature database are “square work”, “Risparmio in costruzione” (which translates to “reused material”), “implementation”, “application”, “stesura” (which translates to “decorative label”), and “brick work”. It can be seen that the construction technique may refer to the type of work carried out on the structure to which the data item relates. The data item may relate to the work because it was generated at the time of the work. For example, the data itemmay be a record of restoration work carried out on the structure in which mortar was applied, recorded at the time of application. Alternatively, the data item may relate to the work because it is a study or analysis of previously performed work. For example, the data item may be an analysis of the brick work which was used at the (historic) time of construction.
[0062] The material classification indicates a type of material used or referenced in the data item. Some example labels for the materials indicated in the feature database are “travertine blocks”, “dark grey mortar”, “ironra yellowish bricks”, and “blocks of peperino and tuffa”. This is a non-exhaustive list of materials which may be classified in the feature database. The classification may be a direct extraction of the qualitative description of the material from the data item.
[0063] The structure classification indicates a portion of the structure about which the data item provides information. Some examples in the feature database of Figure 1 include “quadrangular bastion foundation”, “putlog of the external face of the circular”, “layer of mortar on the external face of the quadrangular bastion”, etc. These labels may be a direct extraction of the qualitative description from the data item, or they be derived from information extracted from the data item. The examples provided in the feature database of Figure 1 are non-exhaustive.
[0064] The stamp classification indicates a visual sign, symbol, or indicator, also referred to as a stamp, which is present on the structure. Examples of such stamps include stamps on bricks or sculpture, architect signature, king sign, paintings, etc. These stamps can be used as an indication of age. They may also be used to indicate the material properties of the building materials. The stamp classification may be determined by processing an image of a portion of the structure comprising the stamp, for example a brick or a section of brick wall, and the text extracted from the image. If the data item includes a text description, the stamp classification be text extracted from the text description.
[0065] The historical period classification provides an indication of a relative time period within the life of the structure to which the data item relates. The life of the structure may be divided into a predefine number of time periods, the time periods may be of a predefined length, the time periods may refer to commonly used time frames such as decades or centuries, or the time periods may be defined by significant events in the structure’s history. Each entry in the feature database is then assigned a historical period classification based on the relative time period into which the data item falls. Forexample, the structure of the feature database of Figure 1 has six time periods. The application of mortar to the face of the quadrangular bastion (see entry 20) falls in period VI, indicated that the data item relates to work carried out on the structure in the final, or most recent, time period of the structure’s life. As another example, it is also shown that the putlogs of the external face of the circularwere introduced in period III (see entry 4, for example).
[0066] In Figure 1 , the labels, are shown to be in either English or Latin. The labels may be in the languages of the source data. Alternatively, the source data may be translated into one predefined language for use in the feature database. The feature database does not need to be in one language because the feature database is not viewed by a user, but instead processed by a computer processor which is not restricted by human language choice, as described below.
[0067] The labels may be taken directly from the data item. That is, the label is a direct copy of the text in a data item or text extracted from an image in the data item. In this way, the feature database may comprise a large number of different labels for any given class, and in one or more languages.
[0068] The historical period classification may be derived from the data item. For example, the data item may comprise a relevant date, and the historical period classification is determined by identifying in which of the predefined periods the date falls. The relevant date may be in a text portion or an image portion of the data item.
[0069] As set out above, each data item may appear in the feature database more than once. For example, entry 3 and entry 22 refence the same source. However, the labels are different in each of these entries, and thus relate to different construction works.
[0070] There may be one or more labels provided for each category, and any given label may be assigned to one or more categories.
[0071] By providing the classifications for different construction works in different entries of the feature database, the relevant data for specific parts of the structure and at specific time periods can be easily identified and referenced.The time period is of particular importance for structural analysis. As a structure is changed over time, the forces acting on the structure also change. As such, the response of the different parts of the structure also changes. By assigning a relative time period to each construction work of a structure, an accurate representation of the structure over time can be built up. This allows accurate analysis of the structure at a particular point in time can be achieved.
[0072] To generate the feature database, the data items need to be found and analysed. This could be achieved manually. However, it may be achieved more efficiently through the use of automated systems and artificial intelligence (Al).
[0073] Figure 2 provides an example method for generating the feature database.
[0074] At step S201 , the data items are identified. The data items may be identified through web scraping using web scraping software such as a web crawler or internet bot. Software suitable for web scraping are known in the art and will not be described in more detail herein.
[0075] Data items may be manually identified by web searching. They may also be identified manually from files stored at physical locations such as archives or in private digital databases. Where the data items are not available through a website, a copy of the data item can be stored in a local memory, a server-based storage system, or a cloud-based storage system.
[0076] The data items referenced in the feature database may be stored in a combination of private and public storage locations, such that the sources may be identified using more than one method.
[0077] The data items may be one or more different types of data. Some types of data which may be used as data items within the example context of historic structures are:
[0078] building archaeology reports
[0079] historical evidence
[0080] stratigraphy reports• 2D imagery
[0081] • 3D imagery
[0082] • point clouds
[0083] • materials mechanical behaviour
[0084] • soil mechanical analysis
[0085] • weather data
[0086] • structural assessments
[0087] • brick stamps (images and descriptions)
[0088] At step S202, labels are assigned for each field for each construction work within a data item.
[0089] Labels may be assigned through an automated process, using trained artificial intelligence (Al) model. This trained Al model may be referred to herein as a trained feature extraction model. The trained feature extraction model may be a decision tree or a trained artificial neural network (ANN). The trained feature extraction model is trained identify individual construction works in each data item and to extract, for each category of the feature database, data to be used as a label to be stored in the feature database. The trained feature extraction model is also trained to identify that there is no data in the data item which can be used as a label for a particular category, and in such instances apply a not applicable (N / A) label or leave the field blank. The labels for each category -“condition”, “construction”, “material”, “structure”, “stamps”, and “historical period” -are an output of the feature extraction model.
[0090] The trained feature extraction model is trained to extract data from multiple different data source types.
[0091] The web scraping software may be enhanced with the trained Al feature extraction model such that the trained feature extraction model is run over the data sources when they are identified by the scraping software. In such an embodiment, the labels are obtained at substantially the same time as the data sources being identified.
[0092] In another embodiment, the trained feature extraction model is executed separately to the scraping software. In this embodiment, the trained feature extraction model may be run over the data items as transformed and stored in the data item database.Where data items are identified manually, the construction works and their corresponding labels may be identified manually. Alternatively, the data items may be processed by the trained feature extraction model to identify construction works and their classifications from data items.
[0093] The labels may be text extracted from text of the data item or text obtained by processing other data formats, such as images, within the data item.
[0094] At step S203, the feature database is populated. Each data entry of the feature database corresponds to a construction work within a data item, and includes the classifications identified at step S202.
[0095] The classifications provided in the feature database are labels for the construction works within the data items. As set out above, the classification may be text directly extracted from the data item, or it may be one of a predefined set of classifications identified based on the data of the data item.
[0096] At step S204, relevant data identified in the data items are stored as data blocks at a data item database for each construction work. The data blocks are stored with in the same order as their related row in the feature database, which allows the data item to be linked to the feature database.
[0097] Each data block relates to one constriction work, as described above, within the data item. That is, each data block relates to an entry of the feature database. The data block contains only data which is useful for structural analysis, thus removing the storage requirements for storing the data. For example, the data block may store relevant numbers from the data item, such as material properties and / or dimensions, and key words, but not a full text description.
[0098] The data blocks store data in the same format as the source data. Where the data items are models of the structure, the transformed data may be the raw data used by the model. For example, if the data item is a Revit model, the transformed data is the raw data used by the Revit software to represent the structure in the Revit user interface.The data of the data blocks may be obtained using the same feature extraction model as used to
[0099] The feature database can be used for querying data items or the data stored in the data item database. A user can provide an input query, from which relevant classifications or labels for one or more of the category fields can be determined. Based on the determined classifications, the relevant data sources can be provided or identified to the user. For example, the user may be provided with a link to the data item(s) or the webpage of the data item may be opened automatically.
[0100] Alternatively, the user may be provided with a version of the data item obtained from the data item database, that is the transformed data item. The user may also be provided with labels of the identified data items obtained from the feature database.
[0101] The data blocks are stored at the data item database in a column-based format, where each column’s data is stored together. The data blocks are ordered such that the order is the same as the order of their corresponding rows in the feature database. This increases the speed of data querying and lowers data-scanning costs as only the relevant columns need to be read.
[0102] In this way, a user can easily find the relevant data pertaining to the structure. The user is not required to perform a web search themselves, which may be hindered by language or by choice of key words.
[0103] The data taxonomy of the feature database is of particular use for historic structures because of the inclusion of the historic period field. It will be appreciated that this field is also usefulforany structure which has undergone changes since initial construction, and structures which experience considerably different forces during construction and the structure changes.
[0104] The period field allows the relevant structural data for each layer of construction to be easily identified. This enables an accurate representation of the structure over time to be built up.From the feature database, a feature matrix can be derived. The feature matrix represents the feature database in a mathematical format. Figure 3 provides an example method for obtaining the feature matrix.
[0105] At step S301 , the feature database is obtained. The feature database may be stored in a local or remote memory location, or may be provided as an input by a user.
[0106] At steps S302, the feature database is converted into an alphanumeric data structure. The feature database is converted by mapping each of the classifications to one of a set of alphanumeric labels, defined in an alphanumeric coding system. The feature database may be converted automatically when obtained or converted in response to a user provided instruction. The alphanumeric data structure is obtained by providing the feature database to a trained Al model referred to herein as an alphanumeric convertor, as described with reference to Figure 4 below.
[0107] An example alphanumeric data structure is given below.
[0108]
[0109] It will be appreciated that the alphanumeric data structure will include a row for each entry of the feature database. The example provided above is only a section of the alphanumeric data structure which is converted from the feature database of Figure 1.
[0110] The headers of the alphanumeric data structure map to the fields of the feature database. The headers map as EA - Source, DE - Structure, TE - Construction, MA - Material, ST - Condition, and PE- Historical Period. The alphanumeric data structure provides a further field, FA - Construction Phase, which defines a significant phase of the structure, such as a use of the structure, which may have had significant impact on the structure.Figure 4 illustrates how the labels are converted by an alphanumeric convertor 420 to generate the alphanumeric data structure.
[0111] The label is provided as input to the alphanumeric convertor 420. The alphanumeric convertor 420 defines associations between labels and alphanumeric coding in the form of the alphanumeric coding system. The alphanumeric coding system is unique to each feature database.
[0112] When a label is obtained by the alphanumeric convertor 420, it is checked against a current state of the coding system. Where an alphanumeric code has already been assigned for the label, that code is assigned to the field in the alphanumeric data structure. That is, if the alphanumeric convertor 420 has previously received the same label and has assigned a code to it, that same code is provided as output from the alphanumeric convertor 420 in response to the label.
[0113] Where there is no previously assigned code, the alphanumeric convertor 420 extracts a first character of the label. For example, “F” is extracted from the label “foundation”. The learnt alphameric coding system is checked for the code “F”, to see if the code has already been assigned to another label. If the code does not exist, the code is assigned to the label and the code is output from the alphanumeric convertor420 for populating the alphanumeric data structure.
[0114] If, however, the code already exists in the alphanumeric coding system, the next character is extracted. For example, “FO” is extracted from “foundation”. This again is checked against the alphanumeric coding system, assigned to the label if not present, or further characters extracted if it is.
[0115] In this way, each unique label in the future database is assigned a unique alphanumeric code.
[0116] While this example extracts characters from the beginning of the label, it will be appreciated that other codes may be used. For example, where there are multiple words in the label, the first letter of each word may be extracted. As another example, the first character of the label may be prefixed or suffixed with a number until a unique letter and number combination is obtained. Other coding methods will be apparent.The alphanumeric data structure is converted into a binary representation table at step S303.
[0117] This step is executed by passingthe alphanumeric data structure through a trained matrix generation model. This matrix generation model is trained to take as input the alphanumeric data structure and outputs a binary representation table which represents the features of data items as described by the labels and interconnecting features.
[0118] In the binary representation table, each row represents a row in the feature database. Each column of the binary representation represents one of the possible labels as defined in the alphanumeric coding system or an interconnected feature.
[0119] Interconnected features are features which are relevant to the data block represented by the row, but are not features of the data block itself. For example, where a material is known to be a material for a part of the structure, an additional column is introduced which represents the association of the material and the structure part.
[0120] An example of a portion of a binary representation table is given below, with the headings included.
[0121]
[0122] It will be appreciated that the binary representation table will include a row for each roe of the feature database, and that only a portion of the columns and rows are provided in the example portion of the binary representation table.
[0123] Where a data block provides data associated with a column of the binary representation, a 1 is provided in the column. Where it does not, a 0 is provided. In the case ofinterconnected features, a 1 is provided in a column which represents the interconnection between two features where one or both of the features are provided in the data block. For example, is a data block provides data about the structure’s foundations but not the material used, a 1 will be provided in the column which represents foundations as well as any column which represents an interconnection foundation-material feature. The column representing the material itself will contain a 0.
[0124] By identifying interconnecting features, human language barriers are removed. That is, where there is a label which has the same meaning but in two different languages, the matric generation model will identify that the features are related and provide a column representing their relationship.
[0125] While the binary representation table provided herein is generated using the trained matrix generation model, it will be appreciated that the binary representation table could be generated manually or by a rule-based computer script. In each of these examples, the columns may be predefined based on the classifications in the structured data item database and / or classifications known to a programmer.
[0126] Prior to generating the binary representation table, one or more columns may be removed. In the example provided herein, the source field is removed from the alphanumeric data structure before it is converted to a binary representation table. This is because the source field provides no information which cannot be derived by the row number, and as such including this field would increase the size of the binary representation table and computational requirements when processing the resultant matrix without providing any further information.
[0127] Additionally, the period column is removed prior to generating the binary representation table. The period column data may be obtained and converted later, as set out below.
[0128] The purpose of converting the classifications usingthe alphanumeric coding system is to improve the accuracyof the binary representation table. The matrix generation model can more accurately covert the alphanumeric coding system to the binary representation because it only needs to be trained to identify the codes defined in the coding system. Also, there is reduced risk of the model interpreting only a portion of the classifier. Moreover, the amount of data the matrix generation model is required to process in order to generate the binary representation is smaller, and thus the process is more efficient.At step S304, the binary representation table is represented as a feature matrix. Each row of the binary representation table is represented by its corresponding set of ones and zeros. An example is provided below.
[0129] array ( [ 1 , 0 , 0 , ..., 0 , 0 , 1 ] ,
[0130] [ 1 , 0 , 1 , ..., 0 , 0 , 1 ] ,
[0131] [ 1 , 0 , 0 , ..., 0 , 0 , 1 ] ,
[0132] [ 1 , 0 , 0 , ..., 0 , 0 , 1 ] ,
[0133] [ 0 , 0 , 0 , ..., 0 , 0 , 0 ] ,
[0134] [ 1 , 0 , 0 , ..., 0 , 0 , 0 ] ] )
[0135] The feature matrix comprises a row corresponding to each entry of the feature database.
[0136] A historical period matrix may also be generated. This matrix represents the historical period column of the feature database, or alphanumeric data structure, in matrix form. An example historical period matrix is provided below.
[0137] array ] [ 0 , 0 , 1 , ..., 0 , 0 , 0 ] ,
[0138] [ 0 , 0 , 1 , ..., 0 , 0 , 0 ] ,
[0139] [ 0 , 0 , 1 , ..., 0 , 0 , 0 ] ,
[0140] [ 0 , 0 , 1 , ..., 0 , 0 , 0 ] ,
[0141] [ 0 , 0 , 0 , ..., 0 , 0 , 1 ] ,
[0142] [ 0 , 0 , 1 , 0 , 0 , 0 ] ] , dtype=unit8 )
[0143] The historical period matrix is also generated by the matrix generation model. The matrix generation model takes as input the historical period column of the alphanumeric data structure, and outputs the historical period matrix.
[0144] Similarly to the feature matrix, the number of columns of the historical period matrix is based on the complexity of the date represented in the alphanumeric data structure. The historical period matrix comprises a column which represents each historical period , as well as features which are interconnected with each historical period. For example, where a material is associated with a period, there is a column of the historical period matrix which represents the period-material interconnection.The historical period matrix has a number of rows equal to the number of rows of the alphanumeric data structure.
[0145] In some embodiments, a single matrix is generated, which includes the content of the feature matrix and the historical period matrix.
[0146] The matrix generation model may be a ANN or a decision tree. The matrix generation model is trained using supervised learning techniques.
[0147] The matrix generation model is trained by ta kingas input the alphanumeric data structure and identifying interconnecting features in the alphanumeric data structure, and thus outputting a binary representation of the alphanumeric data structure. An alphanumeric data structure with a number of rows in the region of 500-1000 may be suitable for training the matrix generation model.
[0148] The interconnecting features define feature relationships. The matrix generation model identifies patterns within the alphanumeric data structure which indicate relationships between features. The matrix generation model can then include a column representing the relationship, or interconnecting feature.
[0149] The model is validate using k-fold cross-validation. In k-fold cross-validation, the data is randomly divided into k subsets, also known as folds, where k is a positive integer. The model is trained on k-1 subsets (training sets) and tested on the remaining fold (testing set) for prediction evaluation. This process is repeated k times, with each fold being used as the testing set exactly once. The performance of the model is assessed by training on k-1 folds, testing on a different fold, and repeating this process for all folds in the dataset. By employing k-fold cross-validation, the models are trained and tested on different subsets of the data, providing a more robust evaluation. The final results are obtained by aggregating the performance metrics from each iteration.
[0150] The interconnecting features can be validated manually by referring to the source data.The matrix generation model is also configured to prevent any entry of the feature database from being duplicated in the binary representation table. This is achieved by employing k-fold cross-validation.
[0151] Once the matrices have been generated, they can be used to perform structural analysis for the structure. The structural analysis takes the form of finite element analysis. Given the granularity of labels applied to the data associated with the structure, the analysis can be performed for the whole structure, or any one or more portions of the structure, for any one or more time periods.
[0152] The structural analysis takes into consideration the historical period of the data. The importance of the timings of construction works or events as discussed above.
[0153] Figure 5 provides an example system for performing structural analysis of the structure based on the matrices.
[0154] The feature matrix 402 and / or the historical period matrix 404 are provided as input to a structural analysis module 406. The structural analysis module 406 uses the matrices 402, 404 to identify data blocks which are to be used for performing the structural analysis.
[0155] For example, using the historical period matrix 404, the structural analysis module 406 can identify specific rows of the feature matrix 402 which relate to a specific time period. Within those identified rows, structural analysis module 406 can identify the rows which correspond to specific parts, materials, or construction techniques of the structure for a particular analysis to be performed.
[0156] Not only does the structural analysis module 406 identify rows where the data block contains the relevant data, that is contains a “1” at the column associated with the specific query, but it also identifies the data blocks which are related by way of the interrelated features.The structural analysis module 406 can quickly and easily scan the feature matrix 402 and / or the historical period matrix 404 to find the sequences which indicate the data blocks are relevant.
[0157] The structural analysis module 406 may have access to the headings of the alphanumeric data structure. This allows the structural analysis module 406 to determine the possible binary strings which may be related to a specific feature and their locations within the rows of the feature matrix. That is, the structural analysis module 406 can identify which bits of the row of the feature matrix, if set to “1 ” indicate that the data block is relevant to the structural analysis.
[0158] Once the rows have been identified, the structural analysis module 406 accesses the data item database 414 storing the data blocks. The data blocks are stored with an identifier corresponding to the row of the feature database, and thus the row of the matrix. The structural analysis module 406 retrieves the data of the data block from the data item database 414 that corresponds to the row identified as relevant.
[0159] In some embodiments, the data items may not be stored in the data item database 414. Instead, once the rows have been identified, the structural analysis module 406 accesses the feature database 410, which is stored at a memory location accessible to the structural analysis module 406, and obtains the data source corresponding to the identified rows. The structural analysis module 406 may also obtain from the feature database 410 the relevant classifications so that the structural analysis module 406 can readily search the data item for the required data.
[0160] The structural analysis module 406 uses the data source to access the data item 412. As set out above, the data source is a link to the data item 412. In some cases, the data item may be stored at the data item database 414, and as such the structural analysis module 406 uses the data source information retrieved from the feature database 410 to access the location of the data item in the data item database 414.
[0161] The structural analysis module 406 comprises an analysis engine 408. The analysis engine 408 takes as input the data of the data blocks which have been identified as relevant for the analysis. The analysis engine 408 is configured to perform finite element analysis for the structure or a portion of the structure using the input.In some embodiments, a user provides a user input 418 to the structural analysis module 406. This user input 418 may define a portion of the structure, a time period, and / or one or more other structural analysis parameters for the structural analysis which is to be performed by the structural analysis module 406. The user input 418 is used by the structural analysis module 406 to identify the relevant rows of the time period matrix 404 and / or the structural matrix 402, and thus the data items for use by the analysis engine 408.
[0162] In other embodiments, the structural analysis module 406 does not take a user input 418 and is configured to perform a structural analysis of the whole building over all time periods.
[0163] During structural analysis, the analysis engine 408 takes all of the available data for the portion of the structure at the relevant time. The analysis engine 408 compiles the available data to build up a set of data points for nodes representing the structure. The data points for the set of nodes representing the structure may comprise locations coordinates, material properties, and / or externally applied forces at the node. Using the data points, the analysis engine 408 is able to analyse the structure using known mathematical techniques.
[0164] The structural analysis module 406 takes the output of the analysis engine 408 and generated a user interpretable analysis output 416. This analysis output 416 may take the form of a graph, a table of data, an image representation, etc.
[0165] In some scenarios, there may be insufficient data which is specific to the structure to be able to perform the analysis based only on that data. In such a scenario, the structural analysis module 406 may access data which is relevant to, but not directly associated with, the structure.
[0166] For example, there may be insufficient data about the material used for a portion of the structure. The structural analysis module 406 may access other data sources which provide material data from the same time period, in the same area, and for the same construction technique. While this data is not known to be true for the structure, it can be used as an approximation in the structural analysis computations. The output 416 may indicate that the approximation has been used.In another example, there may be information available for one part of the structure, but not for another. The structural analysis module 406 makes assumptions about the portion of the structure for which there is no data based on the available data. The interconnecting features of the matrices 402, 404 can be used to identify data blocks which provide relevant information for making such assumptions.
[0167] An advantage of the analysis provided by the structural analysis module 406 is that it is derived using data which is traceable. That is, it is possible to identify which data items have been used in the analysis. In this way, the reliability of the analysis results can be determined.
[0168] The matrices provide a mechanism for executing a structured data query. By representing the content of each data item as a binary representation, where the binary representation indicates both the features provided in the data item and interconnected features, an efficient and accurate data query can be executed. An example is described above, with relevant data items being identified based on the matrices without having to access the data items themselves or process the data items further. In the examples provides herein, the query may be considered the structural analysis parameters, for example the portion of the structure to be analysed and the time period.
[0169] To execute the query, the possible binary strings are identified corresponding to the query. That is, the locations where a 1 indicates that a data block either comprises data of the feature of the query or data of an interconnected feature. The feature matrix is scanned to identify and rows which contain any one of the possible binary strings.
[0170] There are multiple possible binary strings because different combinations of data in the data blockcan correspond to the same feature. For example, onedata block may contain information about the feature and m of n interconnected features, whereas another may not contain information about the feature, and may contain information about x of n interconnected features. The locations in the rows representing the data blocks at which there are 1 s and Os will be different for each of these data blocks, but both are relevant to the feature. As such, there are multiple different binary strings which can indicate that a data block is relevant for the feature of the query.
[0171] The provided data structures may be used to quickly an efficiently query the stored data where some data is missing from the retrieved data. For example, where there is nomaterial data available, the feature matrix may be searched for a row which indicates that the corresponding data block comprises the missing data.
[0172] Moreover, processing the matrices is a relatively quick and easy process for the structural analysis module, or another computer processing element, compared to the structural data item database. This improves efficiencies and reduces computational resources required for executing queries.
[0173] A platform is provided for providing the structural analysis and for reviewing analytics relating to projects on structure. The platform allows users to see utilisation and resource allocation of projects, whether a project is on track, project contributors, and details about a project.
[0174] The platform may be a web-based platform or a web application. The platform may be provided by a system comprising the structural analysis module 406 described above. The system for providing the platform comprises one or more memories for storing relevant data, a rendering component for rending user interfaces, and a project analytics module for taking as input project data and outputting analytics relating to projects as exemplified below.
[0175] A project is a piece of work which is being carried out relating to a structure. Projects may be investigative projects, maintenance projects, or reconstruction projects. Other types of projects will be apparent.
[0176] Project data is stored in a project database. The project data comprises project attributes, which may include a project title, a project status, project collaborators (users working on the project), an organisation responsible for the project, funding required, funding received. These attributes may be used to provide the project analytics to the user. The project database may be stored at the same location as the data item database.
[0177] The platform indicates the users associated with a project, thus enabling efficient collaboration.A user of the platform creates a profile. This enables the user to access information which is specific or more relevant to them and to provide contributions to projects. Users may have an associated access level, which enables access to portions of the platform as defined by the access level.
[0178] To access the platform, a user logs in to their profile. Everything the user sees in the platform is tailored to them based on user attribute. The user attributes may include a company they at which they are employed, an organisation or institute of which they are a, a profession, a job title, and a platform access level.
[0179] When accessing their profile, the user is able to access data which is specific to them. They may also be able to provide contributions to projects with which they are associated.
[0180] Figure 6 provides an example dashboard user interface 600. The dashboard 600 is a userspecific user interface and provides high-level quarterly or yearly analytics of projects. Projects may be associated with a status of “active”, “completed”, or “on-hold”. The status is indicated by a colour-coding the projects and analytics relating to the projects. The dashboard also provides an indication of whether projects are on-track, delayed, or at risk to allow users to take timely action.
[0181] A user is able to see their individual contributions as well as the contributions of their team. Analytics available to users include funding utilisation and resource allocation, insight reports, and access to project details. The level of information for each of these may depend on the user’s access level, and in some instances a user may not be able to see any of a particular type of data or analytic.
[0182] The dashboard 600 is a space for a user to see analytics relating to projects they are involved in. The dashboard comprises interactive dashboards which are customisable and scalable for different user profiles. Example widgets shown in Figure 6include a conservation impact (%), a total funding received (£), a number of active projects and an indication of how may of these are on-track, delayed, and at risk. Each of these are given as a number, together with a percentage of a total.Some other widgets are provided with graphical representations. An overview widget graphically represents the number of active, on-hold, and completed projects in a circle view, with the portions of the circle corresponding to the percentage of each status project colour-coded accordingly. A contributions widget provides a graphical representation of the portion of different component parts of a project which has been completed in concentric circles. The parts in this example are “assessment and planning”, documentation”, and “conservation”. Locations from which funding has been received are also graphically represented in a bar-chart.
[0183] The user may choose to display different analytics widgets on their dashboard, and may choose between different graphical representations for the data.
[0184] Figure 7 provides a project details user interface 700. The project details user interface 700 provides an overview of a project. In the example of Figure 7, the overview includes a picture of the site, a map showing the location of the site, a project summary, a project status indicator, and other project attributes such as a funding amount and source, a project start date, and contributor indicators.
[0185] The project details user interface 700 comprises a map view which has advanced filters, including base layers and overlay, to show more details. These advanced filters on the map allow users to see the specific details of the restoration project in a simple snapshot.
[0186] Base layers include elevation, trails, and live project updates, while overlay filters help in segregating and retrieving information from different resource databases.
[0187] It will be appreciated that the data structures provided herein may be used for querying the data items and obtaining the relevant data for providing to the user.
[0188] Figure 8 provides an example workspace user interface 800. The workspace user interface 800 is a centralized hub to promote workflow management and team collaboration. The user interface 800 provides an overview of all project details at a glance. It allows users to easily manage all active projects in one place, check latest updates, and move items across different stages of completion. Where a user updates a project through the workspace user interface 800, or any other under interface of the
[0189] l ' lplatform, the project data stored at the project database for the project is updated, such that the updates are provided to any user accessing the project.
[0190] A set of tasks is displayed on the workspace user interface 800. The tasks are shown in three columns relating to a task status - “to-do”, “in progress”, and “done”. Each task comprise a title and indictors of the collaborators.
[0191] The task board provides an organised and collaborative workflow to manage tasks and projects for both individual and team projects. Theis interactive interface is an intuitive way to track progress, assign tasks, prioritise work, and adjust plans by simply dragging tasks across different stages. The changes made to in the task board are propagated to other users by updating the project data stored at the project database.
[0192] The search tool is designed to simplify the discovery process. It features filters to refine searches by location or project type, making it easy for users to find relevant projects and opportunities.
[0193] Figure 9 provides a timeline user interface 900. The timeline user interface 900 provides a visual representation of a timeline of restoration, renovation, and all projects done, ongoing, and planned for the future of the structure. The timeline shows each project at a relative position on the timeline, the projects colour-coded by their status. Each project indication comprises a project name, a name and an icon depicting an organisation responsible for the project, and a project status.
[0194] The time data is obtained from the project database, together with the other project attributes for renderingthe timeline.
[0195] The platform also provides an analysis user interface. This user interface allows the user to select a structural analysis to be performed for a structure using the methods set out above. The user input selecting or otherwise defining the analysis is provided to the structural analysis module, which executes the data query and performs the structural analysis as set out above. The results are then rendered to the user via the user interface.One or more of the examples described herein may vary within the scope of the attached claims. In general, some examples may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some parts may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although embodiments are not limited thereto. While various embodiments may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0196] The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory.
[0197] Alternatively, or additionally some examples may be implemented using circuitry, or logic circuitry. The circuitry / logic circuitry may be configured to perform one or more of the functions and / or method steps previously described. As a further example, as used in this disclosure, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example integrated device.
[0198] The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of some embodiments. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings will still fall within the scope as defined in the appended claims.
Claims
Claims1. A method for processing data associated with a structure, the method comprising:obtaining a set of data items, each data item associated with the structure; for each data item of the set of data items, assigning a label for each of a plurality of categories derived from the data item;processing the labels assigned to the data items to generate a binary representation of the labels, wherein the binary representation comprises a row representing each data item; andgenerating a feature matrix associated with the structure comprising the binary representation for each data item of the set of data items.
2. The method of claim 1 , wherein the plurality of categories includes a time period category, wherein labels assigned to a data item for the time period category indicates a relative age of the data item in the set of data items.
3. The method of claim 2, wherein the binary representation of the labels of the time period category are not included in the feature matrix, wherein the method further comprises:generating a time period matrix comprising a binary representation of the time period category label applied to each data item of the set of data items.
4. The method of any preceding claim, wherein the labels are assigned to a respective data item by processing the data item to extract from the data item data associated with each of the plurality of categories, wherein the label is the extracted data or derived from the extracted data.
5. The method of any preceding claim, wherein the binary representation of the labels provides an indication of features of the structure provided in the data item and features which are interconnected to the features of the structure provided in the data item.
6. The method of any preceding claim, wherein processing the labels assigned to the data items comprises:providing the labels or a representation of the labels to a trained matrix generation model, the trained matrix generation model trained to identify related labels or representations of labels within the labels assigned to the data items, wherein the related labels indicate interconnected features; andobtaining, as output of the trained matrix generation model the binary representation.
7. The method of claim 5 and claim 6, wherein the binary representation comprises a column representing each label of the assigned labels and each identified interconnecting features.
8. The method of any preceding claim, wherein processing the labels assigned to the data item to generate the binary representation of the labels comprises:mapping the labels assigned to the data item into a set of alphanumeric labels based on am alphanumeric coding system; andprocessing the set of alphanumeric labels to generate the binary representation of the labels.
9. The method of claim 8, wherein the alphanumeric coding system is derived by assigning a unique alphanumeric code to each unique label.
10. The method of any preceding claim, wherein the method further comprises: identifying, within a data item of the set of data items, two or more independent data portions; andfor each of the two or more independent data portions, assigning a label for each of a plurality of categories derived from the independent portion of the data item;wherein the binary representation comprises a row representing each independent portion of the data item.
11. The method of claim 10, wherein the independent data portions provide data referring to at least one of a different portion of the structure and a different time period.
12. The method of any preceding claim, wherein the method further comprises: determining associated data items based on the feature matrix;obtaining data of the associated data items; andexecuting a structural analysis of at least a portion of the structure based on the obtained data.
13. The method of claim 12, wherein determining the associated data items comprises:determining a possible binary representation associated with the at least a portion of the structure; andidentifying a row of the feature matrix comprising the possible binary representation within the feature matrix.
14. The method of claim 12 or claim 13, wherein the method further comprises: obtaining a time period for which the structural analysis is to be performed; and determiningthe associated data items based on the time period.
15. The method of claim 3 and claim 11 , wherein the method further comprises: identifying one or more data items associated with a binary representation within the time period matrix indicating that the data item is associated with the time period; anddeterminingthe associated data items based on the identified one or more data items and the feature matrix.
16. The method of any preceding claim, wherein the method further comprises: extracting, from the data item, a subset of data, wherein the subset of data comprises data relevant for use in structural analysis; andstoring the subset of data in a data item database.
17. A computer-implemented method for executing a structured database query, the method comprising:determining a binary string associated with the query;searching a feature matrix associated with a set of data items to identify a binary string matching the binary string associated with the query, wherein the feature matrix is derived from a set of labels assigned to each data item of the set of data items for each of a plurality of categories, wherein each row of the feature matrix is a binary representation of a set of labels assigned to a data item; andobtaining data of the data item of which the binary representation comprises the matching binary string.
18. The method of claim 17, wherein obtainingthe data comprises:determining a line number of the feature matrix comprising the matching binary string; andobtaining the data from a database, wherein the data is stored in a location corresponding to the line number.
19. The method of claim 17 or claim 18, wherein the data item comprises data associated with a structure, wherein the data obtained from the data item is used for executing a structural analysis of at least a portion of the structure.
20. Computer equipment comprising:memory comprising one or more memory units; andprocessing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when on the processing apparatus to perform the method of any of claims 1 to 19.
21. A computer program embodied on computer-readable storage and configured so as, when run on one or more processors, to perform the method of any of claims 1 to 19.