FIELD OF THE DISCLOSUREThe present disclosure is generally related to data management and verification and more particularly to novel and unique transformation of data sets and comprehensive verification thereof using independently sourced data.
BACKGROUNDOrganizations such as business, corporations and various types of institutions are continuously evolving and so do their business practices. In order to maintain a healthy economy and trustworthy environment for businesses to thrive in, it is critical to ensure that all players play by the same rules. One way to ensure adherence to these rules is through auditing financial records and statements of such organizations. Auditing is a tool that relies on random sampling and verification of entries in financial records of a given institution to verify corresponding balances.
Random sampling represents selecting a small percentage of all entries on a given financial record (e.g., entries on an Income Statement of a company), which even when verified, still leaves the door open that problematic entries remain undetected thus undermining the objective of trustworthy auditing financial records of an organization.
Therefore, an improved scheme is needed to reduce/eliminate the possibility of any problematic entry in a financial record of an organization remaining undetected and thus increase the overall trustworthiness of audited records of an organization.
SUMMARYOne or more example embodiments of inventive concepts are directed to providing systems, methods and computer-readable media that transform a given data set formed of multiple discrete records such that unrelated entries across the multiple discrete records are analyzed and associations there between are traced and identified. Associated entries are then compared to independently-sourced external data to verify the validity (or invalidity) thereof. This process may be referred to as trace-based data verification. As will be described throughout this disclosure, a non-limiting example application of the above process is the auditing of financial statements and records of organizations (such as corporations, institutions, businesses, non-profits, etc.).
One aspect of the present disclosure includes a system with memory having computer-readable instructions stored therein and one or more processors. The one or more processors are configured to execute the computer-readable instructions to receive a first set of data, the first data set including multiple discrete financial records of an entity; apply a set of logics to the first data set to identify a plurality of traces, each of the plurality of traces associating discrete entries across one or more of the multiple financial records; performing a verification process to verify the plurality of traces against a second data set for the entity, the second data set being independently sourced from a third party entity to yield a verification result; and prepare an output of the verification result to be presented on a display.
One aspect of the present disclosure includes one or more non-transitory computer-readable medium having computer-readable instructions stored therein, which when executed by one or more processors, cause the one or more processors to receive a first set of data, the first data set including multiple discrete financial records of an entity; apply a set of logics to the first data set to identify a plurality of traces, each of the plurality of traces associating discrete entries across one or more of the multiple financial records; performing a verification process to verify the plurality of traces against a second data set for the entity, the second data set being independently sourced from a third party entity to yield a verification result; and prepare an output of the verification result to be presented on a display.
BRIEF DESCRIPTION OF THE DRAWINGSThe accompanying drawings illustrate various embodiments of systems, methods, and embodiments of various other aspects of the disclosure. Any person with ordinary skills in the art will appreciate that the illustrated element boundaries (e.g. boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. It may be that in some examples one element may be designed as multiple elements or that multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another, and vice versa. Furthermore, elements may not be drawn to scale. Non-limiting and non-exhaustive descriptions are described with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating principles.
FIG. 1 illustrates a system for data verification, according to some aspects of the present disclosure;
FIG. 2 illustrates a method of data verification, according to some aspects of the present disclosure;
FIGS. 3A-C provides another illustration of the trace-based data verification process ofFIG. 2, according to some aspects of the present disclosure;
FIG. 4 illustrates an example neural architecture, according to some aspects of the present disclosure; and
FIGS. 5A-B illustrate systems, according to some aspects of the present disclosure.
DETAILED DESCRIPTIONSome embodiments of this disclosure, illustrating all its features, will now be discussed in detail. The words “comprising,” “having,” “containing,” and “including,” and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the preferred, systems and methods are now described.
Although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of this disclosure. As used herein, the term “and/or,” includes any and all combinations of one or more of the associated listed items.
When an element is referred to as being “connected,” or “coupled,” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. By contrast, when an element is referred to as being “directly connected,” or “directly coupled,” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between,” versus “directly between,” “adjacent,” versus “directly adjacent,” etc.).
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Specific details are given in the following description to provide a thorough understanding of embodiments. However, it will be understood by one of ordinary skill in the art that embodiments may be practiced without these specific details. For example, systems may be shown in block diagrams so as not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail in order to avoid obscuring embodiments.
Although a flow chart may describe the operations as a sequential process, many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but may also have additional steps not included in the figure. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
Example embodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which example embodiments are shown. Example embodiments of the claims may, however, be embodied in many different forms and should not be construed as limited to the example embodiments set forth herein. The examples set forth herein are non-limiting examples and are merely examples among other possible examples.
As briefly mentioned above, the present disclosure is directed to providing a system that transforms a given data set formed of multiple discrete records such that unrelated entries across the multiple discrete records are analyzed and associations there between are identified. Associated entries are then compared to independently-sourced external data to verify the validity (or invalidity) thereof. This process may be referred to as a data verification process.
A non-limiting example application of the above process is the auditing of financial statements and records of organizations (such as corporations, institutions, businesses, non-profits and/or any other type of known or to be created structure or organization having financial transactions subject to global, federal, state and/or local financial regulations and audits). In particular, a data set representing financial statements of a given organization may include different and discrete financial statements including, but not limited to, a balance sheet, an income statement, a cash journal, an account receivables statement, an account payables statement, an assets statement and a liability statement. Each of these financial records may be a table having multiple entries (with corresponding dates, amounts, descriptions, etc.) and a total balance entry, as is known according to prevalent industry practices.
Existing and known auditing methods include taking any one such financial record and based on random sampling, extract a few entries (as a percentage of the total entries of that particular financial record) and verify the extracted and randomly selected entries using independent sources such as bank statements in order to verify the total balance of that particular financial record.
For example, assuming that an organization sells several products for a total of $10,000 with payments due after delivery of each different product and using a portion of the $10,000 proceeds to purchase raw material, different financial records of the organization (e.g., account receivables record, income statement, balance sheet, cash journal, account payables record, etc.) may have one or more entries associated with the transaction for selling the products. Existing methods take each different financial record and performs a separate verification process on each record using random sampling described above.
As mentioned, this process is vulnerable and significantly prone to being inaccurate as many entries that may be problematic (e.g., being indicative of or constituting a red flag as to suspicious accounting and financial activities) may go undetected due to not being randomly selected for verification. This existing practice may be referred to as balance-based data verification.
The present disclosure presents different approaches whereby, in a data set of multiple financial records, entries (e.g., transactions) across different financial records that are otherwise unrelated are traced and associations there between are detected and identified. This approach results in multiple traces (data traces) to be created and identified across a complete data set representing all financial records of a particular organization. The present disclosure, as will be described below, applies a set of rules and logics across the multiple discrete financial records to identify associated entries to generate trace(s). These traces are then compared to independently-sourced external data (e.g., bank records of the company) to verify that the entries in the financial records are valid and legitimate. Accordingly and in contrast to existing random sampling approach, a significantly larger number of entries of financial records are analyzed and verified thus increasing the credibility and trustworthiness of audited financial records of any given organization. This process may be referred to as trace-based data verification.
With above overview, the disclosure now turns to an example system for implementing trace-based data verification.
FIG. 1 illustrates a system for data verification, according to some aspects of the present disclosure. Setting100 ofFIG. 1 includes averifying system102. Verifying system (or processing system or simply system)102 may include various components including, but not limited to,server104 andstation106.Server104 may include one or more processors that are configured to execute computer-readable instructions to perform trace-based data verification as will be described below.Station106 may include a display106-1 on which a graphical user interface (GUI) may be presented to provide command for implementing trace-based data verification that will be described below.Station106 may optionally include input device106-2 for inputting and providing commands to carry the trace-based data verification process.Station106 may be any other known or to be developed end user device including but not limited to, a laptop, a mobile device, a tablet, etc.
In one example,server104 is located remotely relative tostation106 and may be accessible viacloud108 using any known or to be developed wired and/or wireless communication scheme. In another example, functionalities ofserver104 may be distributed across several servers providing virtual processing power operated by a single or multiple cloud service providers (private, public or hybrid of both).
Setting100 also illustrates two example organizations,organization A110 andorganization B112. Number of organizations with data records to be verified by verifyingsystem102 is not limited to two as shown inFIG. 1 and may be more or less.
Organization A110 andorganization B112 may each be any type of corporation, for-profit/non-profit institute or organization, company and/other any other type of known or to be created entity engaging in financial transactions subject to global, federal, state and/or local regulations as described above.
Organization A110 andorganization B112 may each include a data processing system that monitors and records all business related and activities of the company including but not limited to, sales, manufacturing, marketing, human resources, etc. that may be collected, monitored and recorded using what is known in the industry as Enterprise Resource Planning (ERP) software or any other known or to be developed software package. For purposes of the present disclosure, all financial records and data collected using ERP may be referred to as ERP data. As shown inFIG. 1,organization A110 may have associated ERP records (data set)1141-N stored in a relevant database, where N is an integer greater than or equal to 1 and may corresponding to the number of different financial records oforganization A110.Organization B112 may have associated ERP records (data set)1161-M stored in a relevant database, where M is an integer greater than or equal to 1 and may corresponding to the number of different financial records oforganization B112. M and N may be the same or different. As noted above, each one ofrecords1141-N and1161-M may be a different financial record examples of which include, but are not limited to, a balance sheet, an income statement, a cash journal, an account receivables statement, an account payables statement, an assets statement and a liability statement.
Setting100 further illustrates an independent external source associated with each oforganization A110 andorganization B112. External source A118 may be, for example, a financial institution or a bank that organization A110 uses to conduct financial transactions. Accordingly,external source A118 may have records stored in a relevant database (independently-sourced data set)120 that reflect financial transactions oforganization A110, and as will be described below, will be used to verify financial records oforganization A110 using trace-based data verification.
External source B122 may be, for example, a financial institution or a bank thatorganization B112 uses to conduct financial transactions. Accordingly,external source B122 may have records stored in a relevant database (independently-sourced data set)124 that reflect financial transactions oforganization B112, and as will be described below, will be used to verify financial records oforganization B112 using trace-based data verification.
In one example, a single external source (either external source A118 or external source B122) may be associated with both organizations A110 andB112. Furthermore, there may be more than one external source associated with a single organization that has independently-sourced data available to be used in trace-based data verification for that single organization.
As will be described below, verifyingsystem102 may retrieve any one of data sets (e.g.,data sets1141-N,1161-M, independently-sourceddata sets120 and124) using any known or to be developed Application Programming Interface (API).
With an example system described with reference toFIG. 1, the disclosure now turns to describing examples of trace-based data verification.
FIG. 2 illustrates a method of trace-based data verification, according to some aspects of the present disclosure. Functionalities and steps ofFIG. 2 will be described from the perspective of verifyingsystem102 ofFIG. 1. However, it will be understood by those having ordinary skill in the art that verifyingsystem102, as described above, may have one or more associated processors that are configured to execute computer-readable instructions stored in associated memories to implement the steps ofFIG. 2.
At S200, verifyingsystem102 retrieves (e.g., via station106) first data set of an organization/entity. First data set may include various discrete financial records of such organization (e.g.,data set1141-N oforganization A110 and/ordata set1161-M of organization B112) in the ERP format. Such data may be retrieved using an API through which a database oforganization A110 and/ororganization B112 is accessed,data sets1141-N and/or1161-M are retrieved, standardized according to any known or to be developed method, and prepared for further processing.
At S202, verifyingsystem102 transforms the first data set to identify traces for verification. In one example, the transformation includes applying a set of logics (rules) to the first data set to identify and create a plurality of traces. A trace may be defined as a link between entries (individual transactions) in the same financial record and/or across separate financial records of the organization that may be related in a particular manner. In other words, a trace may comprise of several entries across one or several financial records. Referring to example described above, assume that an organization (e.g., organization A110) sells several products for a total of $10,000 with payments due after delivery of each different product and using a portion (e.g., $3000) of the $10,000 proceeds to purchase raw material. Payments totaling $10,000 may be paid over separate installments that result in several entries in the revenue statement of the organization. This may also result in an entry or entries in the account receivables statement of the organization. Assets record of the organization may also be modified to have entri(es) reflecting change in assets. Expense report and/or account payables of the organization may also be modified to have entri(es) reflecting the purchase of raw material. Therefore, a trace may be identified as association of all said example entries across different financial records of the organization.
Set of logics (rules) used to identify associations may be developed using known or to be developed machine learning techniques that over time learn common/specialized associations of data based on various factors including, but not limited to, dates of entries, description of entries, codes identifying transactions and customers, etc.FIG. 4 will describe a machine learning process for developing the set of logics (rules).
At S204, verifyingsystem102 retrieves a second data set (independently-sourced data set) from another organization (e.g., a bank or a financial institution) associated with a corresponding organization for which first data set is retrieved at S200. For example, second data set for organization A110 may be retrieved fromExternal Source A118 and fororganization B112 may be retrieved fromExternal Source B122. Second data set may include entries (transactions) that identify all financial activities (e.g., deposits, withdrawals, credits, debits, etc.) of the relevant organization and may be retrieved using an API similar to retrieval of first data set as described with reference to S200.
At S206, verifyingsystem102 identifies a match between at least one entry (e.g., transaction) in the second data set and at least one entry (e.g., transaction) in the first data set. For example, with reference to the example above, there may be three deposits of $3000, $2000 and $5000 in the revenue financial record oforganization A110 corresponding to the total of $10,000 sales of products, all of which are associated with various entries in account receivables, assets, expenses, etc., records oforganization A110. On the other hand, verifyingsystem102 can identify a deposit of $5000 in the independently-sourced data of the second data, which matches entry of $5000 in the revenue financial record oforganization A110.
At S208, verifyingsystem102 identifies a trace associated with the at least one entry of the first data set for which a match in the second data set is identified at S206. Referring to the example above, the $5000 entry in the revenue financial record oforganization A110 belongs to a trace formed of three deposits of $3000, $2000 and $5000 in the revenue financial record oforganization A110 corresponding to the total of $10,000 sales of products, all of which are associated with various entries in account receivables, assets, expenses, etc., records oforganization A110.
While inFIG. 2, identification of all traces are shown to take place at S202 and before matching and identification processes of S206 and S208, the present disclosure is not limited thereto and S202 can take place after S206 and S208.
At S210, verifyingsystem102 performs a verification process on the trace identified at S208 to validate/confirm all, some or none of entries in the identified trace. With reference to example above, the trace has three entries of $3000, $2000 and $5000 in the revenue financial record oforganization A110 along with additional entries in account receivables, assets, expenses, etc., records oforganization A110. The verification process examines each of the other two entries of $3000 and $2000 in the revenue financial to validate them. Verification process also attempts to validate entries of the trace in other financial records. If all entries are validated, verifyingsystem102 returns a complete verification of the trace. If some entries can be validated, verifying system may return a partial validation of the trace. If none of the entries can be validated, verifyingsystem102 returns an invalid trace result to be communicated to the system operator as will be described below.
At S212, verifyingsystem102 determines if all traces identified at S202 have been verified (validated). If not, the process returns to S206 and S206 to S212 are repeated until all traces have been verified. One all traces are verified, at S214, verifyingsystem102 prepares an output of the trace-based verification of first data set for display onstation106.
In one example, the output may be in a tabular format and may include various known, or to be developed, identifiers to distinguish valid traces and entries from invalid/questionable traces. The output may also have an associated confidence (trustworthiness) score. Such confidence score may be an overall score for the results of verification of all traces in the entire data set and/or may be record specific such that each financial record in the first data set, after verification completion, receives a corresponding confidence score. Such confidence score(s) may be determined by verifyingsystem102 according to any known or to be developed method. For example, number of identified traces may be compared to total number of entries across all financial records of the organization and if such ratio is less than a predetermined and configurable threshold, the confidence score may be lowered and vice-versa. In another example, if a number of entries in a given financial record that is associated with a trace or with total number of traces is less than a predetermined and configurable threshold, then that given financial record may receive a low confidence score indicating that either insufficient entries thereof have been traced for validation or that insufficient number of entries exist in that table that undermine a trace-based data verification.
Determination of confidence score(s) and associated threshold(s) may be based on any known or to be developed machine learning method, where verifyingsystem102, over time, learns from processing and validating various data sets, proper thresholds and scales for such confidence score(s).
The output may also be visual, where confidence score(s) (overall or record specific) may be visually presented on display106-1 in the form of a heat map, a Sankey flow diagram, pie chart, etc.
The output format is not limited to examples described above and may be in any other format, known or to be developed.
FIGS. 3A-C provides another illustration of the trace-based data verification process ofFIG. 2, according to some aspects of the present disclosure.
FIG. 3A illustrates an example set of financial records and independently sourced data.Financial records300,302,304,306 and308 may be the same as described above including, revenue, account receivables (A/R), A/R-GL, undeposited funds and cash journal, respectively, as shown. Independently sourcedbank data310 is also shown on the right.
Initially,revenue record300,cash journal308 andbank data310 may have few entries (transactions, which are abbreviated as txn). For example,revenue record300 may include txn r1 and txn r2.Cash journal308 may have txn c1 and txn c2 whilebank data310 includes txn b1 and txn b2.
Atstep1, when a new example transaction or financial record entry takes place (similar to the example described above), a new entry may be created in revenue record300 (txn r3), in A/R302 (txn ar1) and in A/R-GL304 (txn argl1).
Atstep2, a partial payment (check #123 shown inFIG. 3A) may be received for this transaction (which is yet to be deposited into the bank). Accordingly, atstep2, entry txn uf1 (corresponding to the partial payment) is created inundeposited funds record306. This entry may result in an update to A/R302 (txn ar2) and A/R-GL304 (txn argl2).
Atstep3, the partial payment may be deposited and thus appear as entry txn c3 incash journal308. This partial deposit also appears as txn fu2 inundeposited funds record306.
Atstep4, the deposited partial payment appears as entry txn b3 inbank data310.
In this example ofFIG. 3A, all of txn r3, txn ar1, txn ar2, txn argl2, txn uf1, txn fu2 and txn c3 form a trace resulting from an original transaction, which is shown via dashedlines320 resulting ERP trace inFIG. 3B (ERP trace). In other words, step S202 ofFIG. 2 finds traces such as ERP trace inFIG. 3B.
FIG. 3C is visual illustration of process of S206, where an entry (txn b3) in independently sourced data (bank data310) is matched with an entry (txn c3) incash journal308, shown vialink315. This is shown as Bank-ERP match inFIG. 3C.
As described with reference toFIG. 2, txn c3 (transaction or entry in first data set) that is matched with txn b3 (transaction or entry in second data set), is associated with a trace (ERP trace as described with reference toFIG. 3B) atstep208 and then the verification process is applied to ERP trace at S210, thus implementing the trace-based data verification of the present disclosure.
With examples of a trace-based data verification process described with reference toFIG. 2 andFIGS. 3A-C,FIG. 4 describes an example machine learning process and underlying deep learning neural network that can be utilized to determines sets of logic (rules) for identifying traces at S202 ofFIG. 2. Such neural network and machine learning process can also be used for other purposes such as determination of confidence scores, creating outputs and heat maps, etc.
FIG. 4 illustrates an example neural architecture, according to some aspects of the present disclosure.
FIG. 4 illustrates an exampleneural architecture400 of aneural network410 defined by an exampleneural network description402 in neural controller401 (controller401).Neural network description402 can include a full specification ofneural network410, includingneural architecture400. For example,neural network description402 can include a description or specification of architecture of neural network410 (e.g., the layers, layer interconnections, number of nodes in each layer, etc.); an input and output description which indicates how the input and output are formed or processed; an indication of the activation functions in the neural network, the operations or filters in the neural network, etc.; neural network parameters such as weights, biases, etc.; and so forth.
Neural network410 can reflect thearchitecture400 defined inneural network description402. In this non-limiting example,neural network410 includes aninput layer403, which includes input data, which can be any type of data such as financial records and entries thereof as described above with reference todata sets1141-N and1161-N. In one illustrative example,input layer403 can include data representing a portion of the input data, such as a subset of entries from each different type of financial record, as described above.
Neural network410 can includehidden layers404A through404N (collectively “404” hereinafter). Hidden layers404 can include n number of hidden layers, where n is an integer greater than or equal to one. The number of hidden layers can include as many layers as needed for a desired processing outcome and/or rendering intent.Neural network410 further includes anoutput layer406 that provides an output resulting from the processing performed by hidden layers404 (e.g., where such output may be a trace identifying set of rules or logics utilized in finding traces in process ofFIG. 2 as described above). In one illustrative example,output layer406 can provide a logic defined as a description match of more than a threshold between entries across various financial records (where such threshold may be reconfigurable and determined based on experiments and/or empirical studies) to identify a trace.
Neural network410, in this example, is a multi-layer neural network of interconnected nodes. Each node can represent a piece of information. Information associated with the nodes is shared among the different layers and each layer retains information as information is processed. In some cases,neural network410 can include a feed-forward neural network, in which case there are no feedback connections where outputs of the neural network are fed back into itself. In other cases,neural network410 can include a recurrent neural network, which can have loops that allow information to be carried across nodes while reading in input.
Information can be exchanged between nodes through node-to-node interconnections between the various layers. Nodes ofinput layer403 can activate a set of nodes in the firsthidden layer404A. For example, as shown, each input node ofinput layer403 is connected to each node of firsthidden layer404A. Nodes ofhidden layer404A can transform the information of each input node by applying activation functions to the information. The information derived from the transformation can then be passed to and can activate the nodes of the next hidden layer (e.g.,404B), which can perform their own designated functions. Example functions include data transformation, pooling, and/or any other suitable functions. The output of hidden layer (e.g.,404B) can then activate nodes of the next hidden layer (e.g.,404N), and so on. The output of last hidden layer can activate one or more nodes ofoutput layer406, at which point an output is provided. In some cases, while nodes (e.g.,nodes408A,408B,408C) inneural network410 are shown as having multiple output lines, a node has a single output and all lines shown as being output from a node represent the same output value.
In some cases, each node or interconnection between nodes can have a weight that is a set of parameters derived from trainingneural network410. For example, an interconnection between nodes can represent a piece of information learned about the interconnected nodes. The interconnection can have a numeric weight that can be tuned (e.g., based on a training dataset), allowingneural network410 to be adaptive to inputs and able to learn as more data is processed.
Neural network410 can be pre-trained to process the features from the data ininput layer403 using different hidden layers404 in order to provide the output through theoutput layer406. In an example in whichneural network410 is used to derive logics for identifying traces between various financial records,neural network410 can be trained using training data that includes example data sets of financial records of different organizations. For instance, expense, account receivables, account payables, income statement, assets, among others, financial records can be input intoneural network410, which can be processed by theneural network410 to generate outputs which can be used to tune one or more aspects of theneural network410, such as weights, biases, etc.
In some cases,neural network410 can adjust weights of nodes using a training process called backpropagation. Backpropagation can include a forward pass, a loss function, a backward pass, and a weight update. The forward pass, loss function, backward pass, and parameter update can be performed for one training iteration. The process can be repeated for a certain number of iterations for each set of training financial data until the weights of the layers are accurately tuned.
Neural network410 can include any suitable neural or deep learning type of network. One example includes a convolutional neural network (CNN), which includes an input layer and an output layer, with multiple hidden layers between the input and out layers. The hidden layers of a CNN include a series of convolutional, nonlinear, pooling (for downsampling), and fully connected layers. In other examples, theneural network410 can represent any other neural or deep learning network, such as an autoencoder, a deep belief nets (DBNs), a recurrent neural networks (RNNs), etc.
With example process of trace-based data verification described above with reference toFIGS. 1-4, deficiencies and vulnerabilities of existing balance-based data verification approaches are addressed whereby a significantly larger number of entries of financial records are analyzed and verified thus increasing the credibility and trustworthiness of audited financial records of any given organization.
The disclosure now turns to description of example systems and device architectures that can be used as system components of setting100 ofFIG. 1 for implementing the above described trace-based data verification. For example, the architectures ofFIGS. 4A and 4B can be used to implement verifyingsystem102 and its components (e.g.,server104 and station106), databases oforganization A110,organization B112,external source A118 and/orexternal source B122.
FIGS. 5A-B illustrate systems, according to some aspects of the present disclosure. The more appropriate system will be apparent to those of ordinary skill in the art when practicing the various embodiments. Persons of ordinary skill in the art will also readily appreciate that other systems are possible.
FIG. 5A illustrates an example of abus computing system500 wherein the components of the system are in electrical communication with each other using abus505. Thecomputing system500 can include a processing unit (CPU or processor)510 and asystem bus505 that may couple various system components including thesystem memory515, such as read only memory (ROM)520 and random access memory (RAM)525, to theprocessor510. Thecomputing system500 can include acache512 of high-speed memory connected directly with, in close proximity to, or integrated as part of theprocessor510. Thecomputing system500 can copy data from thememory515,ROM520,RAM525, and/orstorage device530 to thecache512 for quick access by theprocessor510. In this way, thecache512 can provide a performance boost that avoids processor delays while waiting for data. These and other modules can control theprocessor510 to perform various actions.Other system memory515 may be available for use as well. Thememory515 can include multiple different types of memory with different performance characteristics. Theprocessor510 can include any general purpose processor and a hardware module or software module, such as services (SVC)1532,SVC2534, andSVC3536 stored in thestorage device530, configured to control theprocessor510 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Theprocessor510 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.
To enable user interaction with thecomputing system500, aninput device545 can represent any number of input mechanisms, such as a microphone for speech, a touch-protected screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. Anoutput device535 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with thecomputing system500. Thecommunications interface540 can govern and manage the user input and system output. There may be no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
Thestorage device530 can be a non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memory, read only memory, and hybrids thereof.
As discussed above, thestorage device530 can include thesoftware SVCs532,534,536 for controlling theprocessor510. Other hardware or software modules are contemplated. Thestorage device530 can be connected to thesystem bus505. In some embodiments, a hardware module that performs a particular function can include a software component stored in a computer-readable medium in connection with the necessary hardware components, such as theprocessor510,bus505,output device535, and so forth, to carry out the function.
FIG. 5B illustrates an example architecture for achipset computing system550 that can be used in accordance with an embodiment. Thecomputing system550 can include aprocessor555, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. Theprocessor555 can communicate with achipset560 that can control input to and output from theprocessor555. In this example, thechipset560 can output information to anoutput device565, such as a display, and can read and write information tostorage device570, which can include magnetic media, solid state media, and other suitable storage media. Thechipset560 can also read data from and write data to RAM575. Abridge580 for interfacing with a variety ofuser interface components585 can be provided for interfacing with thechipset560. Theuser interface components585 can include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. Inputs to thecomputing system550 can come from any of a variety of sources, machine generated and/or human generated.
Thechipset560 can also interface with one ormore communication interfaces590 that can have different physical interfaces. The communication interfaces590 can include interfaces for wired and wireless LANs, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the technology disclosed herein can include receiving ordered datasets over the physical interface or be generated by the machine itself by theprocessor555 analyzing data stored in thestorage device570 or theRAM575. Further, thecomputing system550 can receive inputs from a user via theuser interface components585 and execute appropriate functions, such as browsing functions by interpreting these inputs using theprocessor555.
It will be appreciated that computingsystems500 and550 can have more than oneprocessor510 and555, respectively, or be part of a group or cluster of computing devices networked together to provide greater processing capability.
For clarity of explanation, in some instances the various embodiments may be presented as including individual functional blocks including functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software.
In some embodiments the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
Methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, or source code. Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
Devices implementing methods according to these disclosures can comprise hardware, firmware and/or software, and can take any of a variety of form factors. Some examples of such form factors include general purpose computing devices such as servers, rack mount devices, desktop computers, laptop computers, and so on, or general purpose mobile computing devices, such as tablet computers, smart phones, personal digital assistants, wearable devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are means for providing the functions described in these disclosures.
Although a variety of examples and other information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements in such examples, as one of ordinary skill would be able to use these examples to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to examples of structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. For example, such functionality can be distributed differently or performed in components other than those identified herein. Rather, the described features and steps are disclosed as examples of components of systems and methods within the scope of the appended claims.
Claim language reciting “at least one of” a set indicates that one member of the set or multiple members of the set satisfy the claim. For example, claim language reciting “at least one of A and B” means A, B, or A and B.