Data matching method, device and equipment

By calculating multi-dimensional semantic similarity and using heuristic search in data matching, the problem of one-to-many or many-to-many matching in existing technologies is solved, and an efficient and accurate bank-enterprise reconciliation process is achieved.

CN120632485APending Publication Date: 2025-09-12HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510759319.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-06
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

Existing data matching technologies make it difficult to achieve one-to-many or many-to-many matching while taking semantic information into account, resulting in inaccurate and inefficient matching combinations during bank-enterprise reconciliation.

Method used

By determining the multi-dimensional semantic similarity between data entries and performing data matching using a heuristic search algorithm, the semantic similarity calculation model is optimized to support one-to-many and many-to-many matching scenarios.

Benefits of technology

It improves the accuracy and efficiency of data matching, reduces costs, and supports bank-enterprise reconciliation needs in complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120632485A_ABST
    Figure CN120632485A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data matching method, device and equipment. The method comprises the steps that a to-be-matched first data set and a to-be-matched second data set are obtained, the first data set comprises at least one first-class data entry, and the second data set comprises at least one second-class data entry; based on the multi-dimensional features of the at least one first type of data entry and the at least one second type of data entry, determining the semantic similarity between the at least one first type of data entry and the at least one second type of data entry; and based on the semantic similarity between the at least one first type of data entry and the at least one second type of data entry, executing data entry matching between the first data set and the second data set through heuristic search, so that a first data subset of the first data set is matched with a second data subset of the second data set, the sum of the target values of the first data subset and the second data subset is equal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of computer technology, and more specifically, to the field of data processing technology. The embodiments of the present disclosure relate to a data matching method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Art

[0002] Data matching is a critical step in data processing. It involves accurately identifying and matching related data across different data sources using specific rules and algorithms to ensure consistency, completeness, and accuracy. In the digital age, addressing data matching is crucial when faced with massive amounts of data from complex sources. It helps organizations eliminate data redundancy, correct erroneous information, and deeply explore the value of data, providing a reliable basis for decision-making. Summary of the Invention

[0003] The embodiments of the present disclosure provide an efficient and accurate data matching solution.

[0004] According to the first aspect of the present disclosure, a data matching method based on semantic similarity is provided. The method includes: obtaining a first data set and a second data set to be matched, the first data set including at least one first-category data entry, and the second data set including at least one second-category data entry; determining the semantic similarity between at least one first-category data entry and at least one second-category data entry based on the multi-dimensional features of the at least one first-category data entry and the at least one second-category data entry; and performing data entry matching between the first data set and the second data set through heuristic search based on the semantic similarity between the at least one first-category data entry and the at least one second-category data entry, so that the first data subset of the first data set matches the second data subset of the second data set, and the sum of the target values ​​of the first data subset and the second data subset is equal. In this way, it is possible to calculate semantic similarity based on multi-dimensional features and perform data matching through heuristic search, so that the sum of the target values ​​of the first data subset and the second data subset is equal, thereby improving the accuracy and efficiency of data matching.

[0005] In some embodiments of the first aspect, determining the semantic similarity between at least one first-category data entry and at least one second-category data entry includes: determining, for each feature in the multi-dimensional features, a feature-related correlation between a first data entry in the at least one first-category data entry and a second data entry in the at least one second-category data entry; and determining the semantic similarity between the first data entry and the second data entry based on the correlation and corresponding weight of each feature. In this manner, the semantic similarity can be determined by calculating the correlation and corresponding weight of each feature, thereby more accurately measuring the semantic relationship between the data entries.

[0006] In some embodiments of the first aspect, the method further includes: establishing a semantic similarity calculation model; and using the matched plurality of first-category data entries and the plurality of second-category data entries as training samples to train the semantic similarity calculation model to obtain a weight for each feature in the multi-dimensional features. In this manner, the weight for each feature can be obtained by training the semantic similarity calculation model, thereby optimizing the semantic similarity calculation result.

[0007] In some embodiments of the first aspect, the multidimensional features include a variable-length text feature, and determining a correlation between a first data entry in at least one first-category data entry and a second data entry in at least one second-category data entry includes: determining, for the variable-length text feature, a longest common subsequence between the first data entry and the second data entry; and determining, based at least on the length of the longest common subsequence, a correlation between the first data entry and the second data entry regarding the variable-length text feature. In this manner, the correlation between the variable-length text feature can be calculated by determining the length of the longest common subsequence, thereby effectively addressing the matching problem of text data.

[0008] In some embodiments of the first aspect, the multidimensional features include entity-class features, and determining a correlation between a first data entry in at least one first-class data entry and a second data entry in at least one second-class data entry includes determining the correlation between the entity-class features between the first data entry and the second data entry based on historical matching information of the entity-class features between the first data entry and the second data entry. In this manner, the correlation between the entity-class features can be determined based on historical matching information, thereby utilizing historical experience to improve matching accuracy of entity-class data.

[0009] In some embodiments of the first aspect, the multidimensional features further include a time feature, and determining the correlation between the features of a first data entry in the at least one first category of data entries and a second data entry in the at least one second category of data entries includes determining the correlation between the time features of the first data entry and the second data entry based on a difference in the time features between the first data entry and the second data entry. In this manner, the correlation can be determined based on the difference in the time features, thereby considering the influence of the time factor in data matching and improving the accuracy of data matching.

[0010] In some embodiments of the first aspect, performing data item matching between the first data set and the second data set through heuristic search includes performing data item matching between a first-category data item in the first data set and multiple second-category data items in the second data set through heuristic search. In this manner, matching between the first-category data item and multiple second-category data items can be achieved through heuristic search, thereby handling one-to-many data matching scenarios with higher execution efficiency.

[0011] In some embodiments of the first aspect, performing data entry matching between a first-category data entry in a first data set and multiple second-category data entries in a second data set through heuristic search includes: using the first-category data entry as a starting node and multiple second-category data entries in the second data set as a target node set; determining cost functions for multiple target nodes in the target node set, the cost functions including a first cost and a second cost, the first cost representing an actual cost from the starting node to the current node, and the second cost representing a heuristically estimated cost from the current node to the target node; and performing matching between the starting node and the multiple target nodes based on at least the cost functions of the multiple target nodes. Based on this approach, by determining the cost function and performing matching based on the cost function, an optimal solution can be found in a one-to-many matching scenario.

[0012] In some embodiments of the first aspect, the first cost is associated with the minimum value of semantic similarity between a first-category data entry and multiple second-category data entries, and the second cost is associated with a target value for the first-category data entry and the sum of the target values ​​for the multiple second-category data entries. In this manner, the first cost can be associated with the minimum value of semantic similarity, and the second cost can be associated with the sum of the target values, thereby comprehensively considering semantic and numerical factors in the cost function.

[0013] In some embodiments of the first aspect, performing matching of the start node with the plurality of target nodes includes performing matching of the start node with the plurality of target nodes based on cost functions of the plurality of target nodes and target values ​​of the first-category data entries and the second-category data entries. In this manner, matching can be performed based on the cost functions and target values, thereby more accurately satisfying target value constraints in one-to-many matching.

[0014] In some embodiments of the first aspect, performing data item matching between the first data set and the second data set through heuristic search includes performing data item matching between multiple first-category data items in the first data set and multiple second-category data items in the second data set through heuristic search. In this manner, matching between multiple first-category data items and multiple second-category data items can be achieved through heuristic search, thereby handling many-to-many data matching scenarios.

[0015] In some embodiments of the first aspect, performing data entry matching between multiple first-category data entries in a first data set and multiple second-category data entries in a second data set through heuristic search includes: taking one first-category data entry as a starting node and the remaining data entries in the first data set and the second data set as a target node set; determining cost functions for multiple target nodes in the target node set, the cost functions including a first cost and a second cost, the first cost representing an actual cost from the starting node to the current node, and the second cost representing a heuristic estimated cost from the current node to the target node; and matching the starting node with the multiple target nodes based on at least the cost functions of the multiple target nodes. Based on this approach, it is possible to find an optimal solution in a many-to-many matching scenario by determining the cost function and performing matching based thereon.

[0016] In some embodiments of the first aspect, the first category of data entries includes unreconciled bank accounts, and the second category of data entries includes unreconciled enterprise accounts; or the first category of data entries includes unreconciled enterprise accounts, and the second category of data entries includes unreconciled bank accounts, where the target value is a monetary amount. Based on this approach, the method can be applied to matching unreconciled bank accounts and unreconciled enterprise accounts, using the monetary amount as the target value, thereby resolving data matching issues in bank-enterprise reconciliation.

[0017] According to a second aspect of the present disclosure, an electronic device is provided. The electronic device includes: a processing unit and a memory, the processing unit executing instructions in the memory so that the electronic device performs a method, the method including: obtaining a first data set and a second data set to be matched, the first data set including at least one first-category data entry, and the second data set including at least one second-category data entry; determining semantic similarity between the at least one first-category data entry and the at least one second-category data entry based on multi-dimensional features of the at least one first-category data entry and the at least one second-category data entry; and performing data entry matching between the first data set and the second data set through a heuristic search based on the semantic similarity between the at least one first-category data entry and the at least one second-category data entry, so that a first data subset of the first data set matches a second data subset of the second data set, and the sum of target values ​​of the first data subset and the second data subset is equal.

[0018] According to a third aspect of the present disclosure, a device for identifying phrases in electronic invoices is provided. The device includes: a data set acquisition unit configured to acquire a first data set and a second data set to be matched, the first data set including at least one first-category data item, and the second data set including at least one second-category data item; a semantic similarity determination unit configured to determine the semantic similarity between the at least one first-category data item and the at least one second-category data item based on multi-dimensional features of the at least one first-category data item and the at least one second-category data item; and a data matching unit configured to perform data item matching between the first data set and the second data set through a heuristic search based on the semantic similarity between the at least one first-category data item and the at least one second-category data item, so that a first data subset of the first data set matches a second data subset of the second data set, and the sum of target values ​​of the first data subset and the second data subset is equal.

[0019] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which one or more computer instructions are stored, wherein the one or more computer instructions are executed by a processor to enable the processor to perform the method according to the first aspect of the present disclosure.

[0020] According to a fifth aspect of the present disclosure, a computer program product is provided, comprising machine-executable instructions, which, when executed by a device, cause the device to perform the method according to the first aspect of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:

[0022] Figure 1 A schematic structural diagram of a data matching system according to an embodiment of the present disclosure is shown;

[0023] Figure 2 A schematic flow chart showing a data matching process according to an embodiment of the present disclosure is shown;

[0024] Figure 3 A schematic flow chart illustrating a process of determining semantic similarity according to an embodiment of the present disclosure is shown;

[0025] Figure 4 A schematic flow chart illustrating a process of matching data entries according to an embodiment of the present disclosure is shown;

[0026] Figure 5 A schematic diagram of a specific process of one-to-many matching according to an embodiment of the present disclosure is shown;

[0027] Figure 6 A schematic diagram of a specific process of many-to-many matching according to an embodiment of the present disclosure is shown;

[0028] Figure 7 A schematic block diagram showing an apparatus for data matching according to an embodiment of the present disclosure; and

[0029] Figure 8 A schematic block diagram of an example device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0030] The technical solutions of the present disclosure will be described below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments.

[0031] The technical solutions in the embodiments of the present disclosure will be described below in conjunction with the accompanying drawings in the embodiments of the present disclosure. In the description of the embodiments of the present disclosure, unless otherwise specified, " / " means and / or. For example, A / B can mean A or B, or A and B. "And / or" in this article is only a way to describe the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present disclosure, "plurality" or "multiple" refers to two or more than two.

[0032] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this embodiment, unless otherwise specified, "plurality" means two or more.

[0033] The terms used in the following embodiments are only for the purpose of describing specific embodiments and are not intended to be limiting of the present disclosure. As used in the specification of the present disclosure and the appended claims, the singular expressions "a", "an", "said", "above", "the" and "this" are intended to also include expressions such as "one or more", unless there is a clear contrary indication in the context. It should also be understood that in the following embodiments of the present disclosure, "at least one", "one or more" refer to one, two or more. The term "and / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist; for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship.

[0034] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present disclosure. Thus, phrases such as "one embodiment," "some embodiments," "another embodiment," and "other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0035] The numbers or numerical values ​​used in this specification are all illustrative and are only intended to facilitate understanding of the technology of the embodiments of the present disclosure, and are in no way intended to limit the scope of the present disclosure.

[0036] Overview

[0037] With the increasing application of data matching in the financial sector, bank-enterprise reconciliation, a crucial task for ensuring fund security and financial clarity, has become increasingly problematic. In particular, unreconciled accounts between banks and enterprises have become a prominent issue. Unreconciled accounts refer to accounts that have been recorded by one party but not by the other due to inconsistent accounting times between the enterprise and the bank. To improve the refined management of corporate cash flows, it is necessary to promptly analyze the relationships between unreconciled accounts and verify whether bank and corporate records for the same transactions match. For most companies, corporate and bank accounts are connected to the reconciliation system through internal systems (e.g., ERP) and external institutions (e.g., banks, securities firms, etc.), respectively. The system automatically pre-matches and generates an unreconciled report. Reconciliation specialists then manually analyze the bank statements to verify consistency with the corporate accounts. The results are then passed on to downstream modules to ensure the security of the company's funds.

[0038] When analyzing unreconciled accounts, we must also consider the matching of one bank account with multiple corporate accounts, multiple bank accounts with one corporate account, and multiple bank accounts with multiple corporate accounts, resulting from business splitting and aggregated payments. Furthermore, attention must be paid to the semantic consistency between account transaction entities and description notes. This undoubtedly places extremely high demands on companies' unreconciled account reconciliation work.

[0039] Currently, the most commonly used reconciliation solution in the industry is structured element reconciliation based on business rules. In this solution, the system performs one-to-one precise matching based on the elements in the account records (for example, legal person, account, currency, amount, etc.), so that the set of unreconciled accounts can be quickly filtered to reduce the workload of subsequent manual reconciliation. However, because this solution is based on one-to-one precise rule matching, it is difficult to use semi-structured information such as descriptions and notes to match unreconciled accounts. At the same time, this solution also has certain limitations and is usually only suitable for reconciliation tasks in simple scenarios, and does not support one-to-many and many-to-many matching.

[0040] Some reconciliation solutions rely on depth-first and breadth-first searches of amounts for unresolved reconciliation. For example, they can use amount equality as a criterion and select either a depth-first or breadth-first search based on the variance of the amounts of candidate matching accounts to find matching combinations. While this solution supports one-to-many or many-to-many matching combinations, it fails to consider structured or semi-structured semantic information during the search process. Consequently, the resulting matching combinations only satisfy the requirement of equal amounts between bank and enterprise accounts, not semantically matching descriptions.

[0041] Some reconciliation solutions use word segmentation and large language models to extract semantic features from account descriptions and calculate similarity between these features. If the similarity between two accounts exceeds a certain threshold, they are considered to belong to the same matching combination. While this solution takes into account structured or semi-structured semantic information, it places high demands on the accuracy of semantic feature extraction, thus requiring significant computing power. Furthermore, this solution requires a set similarity cutoff threshold, making it essentially a one-to-one exact match and not supporting one-to-many or many-to-many matching combinations.

[0042] In view of the fact that existing data matching methods are unable to achieve one-to-many or many-to-many matching while considering semantic information, the embodiments of the present disclosure provide an efficient and accurate data matching solution. By determining the semantic similarity between at least one first-category data entry and at least one second-category data entry (for example, a corporate account entry and a bank account entry), and performing data entry matching between the first data set and the second data set through heuristic search based on the semantic similarity, compared with the existing technology, the solution has technical advantages such as high search efficiency, low cost, and good generalization.

[0043] Data matching system

[0044] For ease of explanation, this article will take the bank-enterprise reconciliation scenario as an example for description, which does not constitute a limitation to the present invention.

[0045] Figure 1 FIG. 1 shows a schematic diagram of the structure of the data matching system 100 according to an embodiment of the present disclosure. It should be understood that Figure 1The system 100 shown is merely exemplary and should not be construed as limiting the functionality and scope of the implementations described in the present disclosure. In some implementations, the system 100 may include more modules or functions, and some modules may be omitted.

[0046] In some implementations, the system 100 can be implemented as various user terminals or service terminals with computing capabilities. The service terminal can be a server, a large computing device, or a cluster provided by various service providers. The user terminal is, for example, any type of mobile terminal, fixed terminal, or portable terminal, including a mobile phone, a station, a unit, a device, a multimedia computer, a multimedia tablet, an Internet node, a communicator, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an e-book device, a gaming device, or any combination thereof, including accessories and peripherals of these devices, or any combination thereof.

[0047] like Figure 1 As shown, system 100 includes a data repository 102, which is pre-stored or obtained from other devices; a data acquisition module 104 for obtaining a first data set 106 and a second data set 108 from data repository 102; a similarity determination module 110 for determining semantic similarity between at least one first-category data item in first data set 106 and at least one second-category data item in second data set 108; and a data matching module 112 for obtaining a matching result 114 based on the semantic similarity. The following describes each module or data content in system 100 in detail.

[0048] The data warehouse 102 is a subject-oriented, time-varying data collection that can be used to support the storage, management, and analysis of bank-enterprise reconciliation data. The data warehouse 102 can store, in a time series format, bank and enterprise uncollected accounts, cleansed and converted, in a unified data format (e.g., date, unit of amount, counterparty, etc.). For example, the data warehouse 102 can store funds that have been received and recorded by the enterprise but have not yet been credited by the bank due to settlement procedures (e.g., checks that have not arrived), or funds that have been paid by the bank on behalf of the enterprise (e.g., utility bills, loan interest) and recorded, but the enterprise has not yet received notification or recorded.

[0049] Based on all unreconciled accounts in the data warehouse 102, the data acquisition module 104 determines a first data set 106 and a second data set 108 for specific subspaces. The first data set 106 and the second data set 108 can be, respectively, one of bank unreconciled accounts and enterprise unreconciled accounts. Finding one-to-many and many-to-many account matching combinations is an NP-hard problem, with an algorithmic time complexity of O(2^N), where N is the size of the account search space. To reduce solution latency, the data acquisition module 104 can divide the entire unreconciled account data space into specific subspaces (scenarios) based on business rules (e.g., account, currency, unreconciled type, date, etc.), performing reconciliation matching for each scenario.

[0050] For example, data acquisition module 104 can separate accounts with the counterparty field set to "XX City Electric Power Company" and the currency set to "RMB" to obtain a first data set 106 and a second data set 108 for electricity bill reconciliation. First data set 106 may include electricity bills paid by the bank on behalf of the enterprise and recorded in the account, but the enterprise has not yet received notification or recorded them. Second data set 108 may include electricity bills received and recorded by the enterprise, but not yet recorded by the bank due to settlement procedures.

[0051] The similarity determination module 110 determines the semantic similarity between at least one first-category unreceivable account in the first data set 106 and at least one second-category unreceivable account in the second data set 108 based on multi-dimensional features of the at least one first-category unreceivable account. Multi-dimensional features may include semi-structured features and structured features. Semi-structured features refer to information with a certain but non-rigid format, and may include features such as variable-length text. Structured features refer to information with a fixed data format, and may include entity features and time features. Variable-length text features may include account descriptions and notes, while entity features are fixed-length character features with clear business meanings, and may include counterparties, transaction types, and time features.

[0052] The similarity determination module 110 can determine the relevance of each feature in the multi-dimensional features, and then determine the semantic similarity between the uncollected accounts between banks and enterprises based on the relevance of each feature and its corresponding weight. In some implementations, for indefinite-length text features (e.g., account descriptions), their relevance can be determined based on the length of their longest common subsequence, while for entity features (e.g., counterparties), since they may have aliases, abbreviations, etc., the relevance between entities can be measured by statistical historical information. In some implementations, the weight of each feature can be obtained based on matched accounts as training samples.

[0053] The data matching module 112 performs data entry matching through heuristic search based on the semantic similarity of at least one first-category unreconciled account and at least one second-category unreconciled account, so that the sum of the amounts of the matching bank-enterprise accounts is equal. Heuristic search is an algorithm strategy that guides the search direction through a heuristic function. It uses heuristic information related to the problem (such as experience, rules, prejudgment, etc.) to prioritize exploring the path that is most likely to approach the target, thereby efficiently finding a solution in a complex search space and avoiding blindly traversing all possible paths. Heuristic algorithms include A* algorithm, Greedy Search, Best-First Search, etc. In the process of executing bank-enterprise reconciliation, the data matching module 112 can determine an unreconciled account as the starting point and other unreconciled accounts as child nodes, and obtain the correct matching result 114 by calculating the optimal path.

[0054] According to the above operation, it is finally possible to identify the matching bank-enterprise uncollected account combination. In some implementations, the matching result 114 can be sorted and passed to the downstream module to ensure the safety of enterprise funds.

[0055] In this process, the computing device can calculate semantic similarity based on multi-dimensional features and perform data matching through heuristic search, ensuring that the sum of the target values ​​of the first data subset and the second data subset is equal. Compared to traditional solutions, the embodiments of the present disclosure can achieve high efficiency, accuracy, low cost, and good generalization.

[0056] Data matching process

[0057] The following references Figures 2 to 8 The embodiments of the present disclosure are further described. In general, the embodiments of the present disclosure provide a data matching method based on semantic similarity and heuristic search.

[0058] Figure 2 1 shows a schematic flow chart of a data matching process 200 according to an embodiment of the present disclosure. It should be understood that the method 200 may also include additional actions not shown and / or may omit the actions shown, and the scope of the present disclosure is not limited in this respect. The method 200 may be performed by Figure 1 For ease of explanation, refer to Figure 1 The data matching process 200 according to an embodiment of the present disclosure is described. Specifically, the action of block 210 may be implemented by the data acquisition module 104 , the action of block 220 may be implemented by the similarity determination module 110 , and the action of block 230 may be implemented by the data matching module 112 .

[0059] like Figure 2As shown, in block 210, the system 100 obtains a first data set and a second data set to be matched, wherein the first data set includes at least one first-category data entry, and the second data set includes at least one second-category data entry. In a bank-enterprise reconciliation scenario, the first-category data entry and the second-category data entry may each include one of a bank's unreconciled accounts and an enterprise's unreconciled accounts. In some implementations, to further improve matching efficiency, the system 100 may perform account matching by obtaining a first data set and a second data set with fewer entries and a higher degree of scenario relevance from the overall account based on specific business rules (e.g., account name, unreconciled type, currency, etc.).

[0060] At block 220, system 100 determines semantic similarity between the at least one first-category data entry and the at least one second-category data entry based on multi-dimensional features of the at least one first-category data entry and the at least one second-category data entry. Multi-dimensional features may include features related to variable-length text, entity features, and time features. Specifically, in a bank-enterprise reconciliation scenario, multi-dimensional features may be represented by values ​​of fields in bank-enterprise unreconciled accounts, such as account description, counterparty, and transaction date.

[0061] In some embodiments, the system 100 can determine the correlation between the first data entry in at least one first-category data entry and the second data entry in at least one second-category data entry with respect to each feature in the multidimensional feature, and then determine the semantic similarity between the first data entry and the second data entry based on the correlation and corresponding weight of each feature. The weight corresponding to each feature can be obtained based on model training. Specifically, the system 100 can first establish a semantic similarity calculation model, and then use the matched multiple first-category data entries and multiple second-category data entries as training samples to train the semantic similarity calculation model to obtain the weight of each feature in the multidimensional feature.

[0062] The following will be combined Figure 3 Describe in detail the process of determining semantic similarity. Figure 3 FIG. 1 is a schematic flow chart showing a process of determining semantic similarity according to an embodiment of the present disclosure. Figure 3 As shown, in block 310, system 100 determines the longest common subsequence between the first data entry and the second data entry for the variable-length text feature; and determines the correlation between the first data entry and the second data entry with respect to the variable-length text feature based at least on the length of the longest common subsequence. The variable-length text feature is composed of natural language text with a variable length (e.g., sentences, paragraphs, etc.) and typically contains certain semantic information. In a bank-enterprise reconciliation scenario, the variable-length text feature may include account descriptions, notes, and the like.

[0063] The longest common subsequence refers to finding the longest subsequence in two sequences. This subsequence appears in order in both original sequences, but is not necessarily continuous. For example, the longest common subsequence of the two sequences {'AGGTBAB', 'GXTXAYB'} is {'GTAB'}. It can be understood that the more closely two data entries match, the more consistent the variable-length text features of the two data entries are, and the longer their longest common subsequence is. In some embodiments, the following expression can be used to represent the correlation between bank-enterprise accounts regarding variable-length text features:

[0064]

[0065] Among them, d e Indicates the indefinite length text feature of corporate accounts, d b It represents the indefinite length text feature of bank accounts, lcs() represents the longest common subsequence of two data entries, and N represents the lcs(d e ,d b ) is the maximum value of .

[0066] In box 320, the system 100 determines the correlation between the first data entry and the second data entry regarding the entity class features based on the historical matching information of the entity class features of the first data entry and the second data entry. Entity class features represent categories or entities with clear business meanings, such as counterparties in bank-enterprise reconciliation scenarios, etc., which should theoretically be completely matched, but in reality there are aliases, abbreviations, etc., which result in inaccurate matching. Therefore, the correlation between entities can be measured by statistical historical information: if two entities have a high probability of appearing in the same combination at the same time in the past few months, it can be considered that their correlation is extremely high. In some embodiments, the following expression can be used to represent the correlation between bank-enterprise accounts regarding entity class features:

[0067]

[0068] Among them, c e Represents the entity class characteristics of the enterprise account, c b Represents the entity class feature of a bank account. his() indicates the number of matching combinations containing this entity that have appeared in recent months.

[0069] In block 330, the system 100 determines the correlation between the first data entry and the second data entry regarding the time feature based on the difference between the time features of the first data entry and the second data entry. The time feature is a type of numerical feature and may include an integer or a floating point number. In a bank-enterprise reconciliation scenario, the time feature may include the transaction time. In actual business, it is often necessary to match accounts with time features as close as possible, but they do not need to be exactly the same or one side larger than the other, so this type of feature matching is a fuzzy match. In some embodiments, the following expression can be used to represent the correlation between bank-enterprise accounts regarding the time feature:

[0070]

[0071] Among them, t e Represents the time characteristics of the enterprise account, t b Indicates the time characteristics of bank accounts, T represents the number of matched combinations in recent months. e -t b The maximum value of |.

[0072] At block 340, system 100 determines the semantic similarity between the first data entry and the second data entry based on the relevance of each feature and the corresponding weight. In some embodiments, based on the above-mentioned relevance expressions for each feature, a semantic relevance formula between bank-enterprise accounts can be derived:

[0073]

[0074]

[0075] Among them, θ0, θ1, θ2, and θ3 are all weight coefficients.

[0076] corr(e,b) can be understood as the probability that a bank account and a corporate account belong to the same matching combination. It is about The S-shaped growth curve (Sigmoid function), and is a linear expression. Therefore, the semantic relevance formula (5) above follows the definition of a logistic regression model. To train the model, we randomly collect model training samples from past manual matching cases, where positive samples (e and b come from the same matching combination) account for 1 / 3 of the total samples. After model training is completed, the weight coefficients θ0, θ1, θ2, and θ3 can be obtained.

[0077] return Figure 2At block 230, system 100 performs a heuristic search to match data entries between the first and second data sets based on the semantic similarity between at least one first-category data entry and at least one second-category data entry, ensuring that a first data subset of the first data set matches a second data subset of the second data set, and that the sum of the target values ​​of the first and second data subsets is equal. In a bank-enterprise reconciliation scenario, the equal sum of the target values ​​of the first and second data subsets can be understood as ensuring that the sum of the account amounts of at least one enterprise account and at least one bank account is equal.

[0078] Heuristic search, also known as informed search, uses the heuristic information of the problem to guide the search and achieve the goal of reducing latency. The A* algorithm is a type of heuristic search and is often used to solve path planning problems. By applying heuristic search to fuzzy matching of data entries, it can simultaneously support one-to-one, one-to-many, and many-to-many matching modes, thereby improving scenario coverage. The following will combine Figure 4-Figure 6 Describes in detail the process of matching data entries.

[0079] Figure 4 FIG. 1 is a schematic flow chart showing a process of matching data entries according to an embodiment of the present disclosure. Figure 4 As shown, at block 410, system 100 performs a data entry matching operation (i.e., one-to-many matching) between a first-category data entry in a first data set and multiple second-category data entries in a second data set through a heuristic search. In a bank-enterprise reconciliation scenario, the first-category data entry and the second-category data entry can be, respectively, one of a bank's unreconciled account and an enterprise's unreconciled account.

[0080] In some embodiments, the system 100 may first use a first-category data entry as a starting node and multiple second-category data entries in a second data set as a target node set, and then determine cost functions for each of the multiple target nodes in the target node set, where the cost functions include a first cost and a second cost, wherein the first cost represents the actual cost from the starting node to the current node, and the second cost represents a heuristically estimated cost from the current node to the target node. The system 100 may then perform matching of the starting node with the multiple target nodes based at least on the cost functions of the multiple target nodes.

[0081] In some embodiments, the first cost may be associated with the minimum value of the semantic similarity between a first-category data entry and multiple second-category data entries, and the second cost may be associated with the target value of a first-category data entry and the sum of the target values ​​of multiple second-category data entries.

[0082] In the bank-enterprise reconciliation scenario, the one-to-many matching problem can be abstracted as the following problem: Given a bank account list B = [b0, b1, ..., bn-1] and an enterprise account e, is it possible to find a set So that amt(e)=∑ i amt(b i ),b i ∈S, and min({corr(e,bi)|bi∈S}) is maximized, where amt() represents the amount and corr() represents the correlation. It's understandable that in the scenario of a single bank account and multiple corporate accounts, simply changing the signs of e and b creates a many-to-one matching problem. Furthermore, one-to-one account matching can be considered a special case of both one-to-many and many-to-one matching problems, so it won't be discussed separately.

[0083] To address the above problem, using the A* algorithm as an example, we can first define a heuristic cost function f(S) = g(S) + h(S), where function g and function h represent the cost of the current state S from the initial state and the cost of the current state S to the target state, respectively. In addition, we need to maintain a priority queue Q with f(S) as the priority to ensure that the state dequeued from the head of the queue each time has the minimum cost f(S). Specifically, function g and function h can be expressed as follows:

[0084]

[0085] in, It represents the sum of the bank account amounts in the current state set S. It can be seen that the value of function g is always greater than or equal to 1, and as b i When adding state set S, g(S) will gradually become larger. When h(S) is less than 0, it can be considered an illegal state and the search for its successor state will not continue.

[0086] The specific search process is as follows:

[0087]

[0088]

[0089] The target state is determined by the sum of the bank account balance equal to the enterprise account balance, i.e. amt(e) = ∑ i amt(b i ),b i ∈S.

[0090] Figure 5A flowchart of one-to-many matching according to an embodiment of the present disclosure is shown. Taking a company's uncollected accounts on a certain day as an example, the account subspace is first divided according to business rules to obtain a first data set and a second data set. For example, by filtering "XX City Electric Power Company" in the account counterparty field, five uncollected account records for electricity bills can be obtained, including one uncollected corporate account with an amount of 40 yuan and four uncollected bank accounts with amounts of 20, 30, 20, and 10 yuan, respectively. Therefore, the one uncollected corporate account can be determined as the first data set, and the four uncollected bank accounts can be determined as the second data set.

[0091] Then, based on the multi-dimensional features of the unreconciled accounts, system 100 can determine the correlation between each feature and, combining the weights of each feature, calculate the semantic correlation between each unreconciled bank account and the unreconciled corporate account. For example, the description text of the unreconciled corporate account is "State Grid X City Electric Power Company," the counterparty field is "X City Electric Power Company XX Branch," and the transaction date is "2024-02-12." The description text of the unreconciled bank account with an amount of 10 yuan is "XXX Company XX City Branch && X City Electric Power Company Electricity Fee & Reserve," the counterparty field is "X City Electric Power Company," and the transaction date is "2024-02-11."

[0092] First, for the variable-length text features (i.e., account descriptions), the longest common subsequence between the two is "X City Electric Power Company" (not considering word segmentation), with a length of 6. Assuming that the longest common subsequence length of the bank-enterprise account text descriptions in the past three months is 20, the correlation between the variable-length text features can be obtained.

[0093] Then, for the entity-type features (i.e., counterparty fields), assuming that in the past three months, the matching combination of the enterprise-side counterparty being "XX Branch of X City Electric Power Company" appeared three times, and the matching combination of the bank-side counterparty being "X City Electric Power Company" appeared three times, and both appeared in the same matching combination twice, the correlation between the entity-type features can be obtained.

[0094] Similarly, for the time feature (i.e., transaction date), assuming that the maximum difference in transaction dates in the bank-enterprise account matching combination in the past three months is 10, the correlation between time features can be obtained.

[0095] At this time, assuming that the logistic regression model coefficients (i.e., the weights corresponding to each feature) obtained from model training are θ0 = -0.6, θ1 = 1.0, θ2 = 1.0, θ3 = -2.0, then according to formula (4) and formula (5),

[0096]

[0097] Therefore, we can finally get the correlation between the corporate account and the bank account with an amount of 10 According to the same calculation method, we can get Figure 5 The four bank accounts and their corresponding correlations with the corporate accounts shown include account 502 , account 504 , account 506 , and account 508 .

[0098] After obtaining the relevance of each bank account to the corporate account, the heuristic search process can begin. Figure 5 As shown, in the initial state 510, the empty set state s0 = {} can be added to the priority queue. Next, the first round of loop is started: the only state set s0 in the queue is dequeued, and four bank accounts are added respectively to generate the successor states s1 512, s2 514, s3 516 and s4 518, and their f values ​​(g + h, refer to formula (6) and formula (7)) are calculated and added to the priority queue.

[0099] Then, the second loop begins: s2 has the smallest f value in the priority queue, so it is removed from the queue. b0, b2, and b3 are added to it, forming a new set of successor states: s5 520, s6 522, and s7 524. Since the amounts in s5 and s6 exceed the company's account balance, they are not added to the queue. Therefore, this loop only needs to calculate the f value of s7 and add it to the priority queue.

[0100] Next, the third loop begins: The queue now has four states: s1, s3, s4, and s7. s7 has the smallest f value, so it is removed from the queue. s7 contains bank accounts b1 and b3. The sum of the amounts is 40, which is equal to the amount in the company account, so it is considered the correct answer. The search is successful, and the loop ends.

[0101] This yields the correct matching combination in the electricity bill reconciliation subspace: a business account with an amount of 40 is matched against two bank accounts with amounts of 10 and 30, respectively. The same operation is repeated in the other reconciliation subspaces to obtain all matching combinations.

[0102] return Figure 4 At block 420, system 100 performs a data item matching operation between multiple first-category data items in the first data set and multiple second-category data items in the second data set through a heuristic search, i.e., a many-to-many matching operation. Similarly, in a bank-enterprise reconciliation scenario, the first-category data items and the second-category data items can be, respectively, unreconciled bank accounts and unreconciled enterprise accounts.

[0103] In some embodiments, the system 100 may first use a first-category data entry as a starting node and the remaining data entries in the first and second data sets as target node sets. The system 100 may then determine cost functions for each of the multiple target nodes in the target node sets, where the cost functions include a first cost and a second cost. The first cost represents the actual cost from the starting node to the current node, and the second cost represents a heuristically estimated cost from the current node to the target node. The system 100 may then match the starting node with the multiple target nodes based at least on the cost functions of the multiple target nodes.

[0104] In the bank-enterprise reconciliation scenario, the many-to-many matching problem can be abstracted as the following problem: Given a list A = [a0, a1, ..., am+n-1] containing bank-enterprise accounts, A = E∪B, is it possible to find the set Make ∑ i val(a i )=0,a i ∈S and The largest. Among them, the account amount Simply put, many-to-many matching follows the same search process as one-to-many matching, but with a slightly modified cost function. The amounts of all accounts of the same type, except for the starting account, are converted to their opposites before being added to the matching process, ensuring that the sum of the amounts in the matching combinations is equal. The modified cost function can be expressed as follows:

[0105]

[0106] Figure 6 FIG. 1 shows a specific flow chart of many-to-many matching according to an embodiment of the present disclosure. Figure 6 As shown, taking a company's unreconciled accounts on a certain day as an example, we first divide the account subspace according to business rules. By filtering "XX City Electric Power Company" in the account counterparty field, we obtain five unreconciled accounts for electricity bills. Two of these unreconciled accounts are corporate accounts, with amounts of 40 and 20 yuan, respectively. Three of these unreconciled accounts are bank accounts, with amounts of 15, 45, and 20 yuan, respectively. Similarly, using the unreconciled corporate account with an amount of 40 yuan as the starting node, we calculate the correlation between other bank-corporate accounts and this unreconciled corporate account. We then negate the amounts of the remaining corporate accounts to obtain accounts 602, 604, 606, and 608.

[0107] Next, the heuristic search process can begin. Figure 6As shown, in the initial state 610, the empty set state s0 = {} can be added to the priority queue. Next, the first round of loop is started: the only state set s0 in the queue is dequeued, and four bank-enterprise accounts are added respectively to generate the successor states s1 612, s2 614, s3 616 and s4 618, and their f values ​​(g + h, refer to formula (8) and formula (9)) are calculated and added to the priority queue.

[0108] Then, the second loop starts: s2 has the smallest f value in the priority queue, so s2 is removed from the queue. Based on it, a0, a2, and a3 are added again to form a new set of successor states s5 620, s6 622, and s7 624. Their f values ​​are calculated and added to the priority queue.

[0109] Next, the third loop starts: the queue now has three states: s5, s6, and s7. S7 has the smallest f-value, so it is removed from the queue. A0 and a2 are added to it again, forming a new set of successor states: s8 (626) and s9 (628). Their f-values ​​are calculated and added to the priority queue.

[0110] Next, the fourth loop begins: the queue now has five states: s1, s8, s9, s3, and s4. S8 has the smallest f value, so it is removed from the queue. S8 contains the bank-enterprise accounts a1, a3, and a0, and the sum of their amounts is 40, which is equal to the amount in the enterprise account at the starting node, making it the correct answer. The search is successful, and the loop ends. Thus, within the electricity bill reconciliation subspace, a correct matching combination is obtained: two enterprise accounts with amounts of 40 and 20 are matched with two bank accounts with amounts of 15 and 45, respectively.

[0111] Exemplary Apparatus and Implementations

[0112] Figure 7A schematic block diagram of an apparatus 700 for data matching phrases according to an embodiment of the present disclosure is shown. The apparatus 700 can be implemented in the example system 100. The apparatus 700 includes a data set acquisition unit 710, configured to acquire a first data set and a second data set to be matched, the first data set including at least one first-category data entry, and the second data set including at least one second-category data entry; a semantic similarity determination unit 720, configured to determine the semantic similarity between the at least one first-category data entry and the at least one second-category data entry based on multi-dimensional features of the at least one first-category data entry and the at least one second-category data entry; and a data matching unit 730, configured to perform data entry matching between the first data set and the second data set through a heuristic search based on the semantic similarity between the at least one first-category data entry and the at least one second-category data entry, so that a first data subset of the first data set matches a second data subset of the second data set, and the sum of target values ​​of the first data subset and the second data subset is equal.

[0113] In some embodiments, the semantic similarity determination unit 720 can also be configured to: determine, for each feature in the multidimensional features, the correlation between the first data entry in at least one first category of data entries and the second data entry in at least one second category of data entries regarding the features; and determine the semantic similarity between the first data entry and the second data entry based on the correlation and corresponding weight of each feature.

[0114] In some embodiments, the device 700 may also include a feature weight determination unit configured to: establish a semantic similarity calculation model; and use the matched multiple first-category data entries and multiple second-category data entries as training samples to train the semantic similarity calculation model to obtain the weight of each feature in the multi-dimensional feature.

[0115] In some embodiments, the multidimensional features may include indefinite-length text class features, and the semantic similarity determination unit 720 may also be configured to: determine the longest common subsequence of the first data entry and the second data entry for the indefinite-length text class features; and determine the correlation between the first data entry and the second data entry regarding the indefinite-length text class features based at least on the length of the longest common subsequence.

[0116] In some embodiments, the multidimensional features may include entity class features, and the semantic similarity determination unit 720 may also be configured to determine the correlation between the first data entry and the second data entry regarding the entity class features based on historical matching information of the entity class features of the first data entry and the second data entry.

[0117] In some embodiments, the multidimensional features may also include time features, and the semantic similarity determination unit 720 may also be configured to determine the correlation between the first data entry and the second data entry regarding the time features based on the difference between the time features of the first data entry and the second data entry.

[0118] In some embodiments, the apparatus 700 may further include a one-to-many matching unit configured to perform data entry matching between a first-category data entry in the first data set and multiple second-category data entries in the second data set through heuristic search.

[0119] In some embodiments, the one-to-many matching unit can also be configured to: take a first-category data entry as a starting node and multiple second-category data entries in a second data set as a target node set; determine the cost functions of multiple target nodes in the target node set respectively, the cost function includes a first cost and a second cost, the first cost represents the actual cost from the starting node to the current node, and the second cost represents the heuristic estimated cost from the current node to the target node; and perform matching of the starting node with multiple target nodes based at least on the cost functions of multiple target nodes.

[0120] In some embodiments, the first cost may be associated with the minimum value of the semantic similarity between a first-category data entry and multiple second-category data entries, and the second cost may be associated with the target value of a first-category data entry and the sum of the target values ​​of multiple second-category data entries.

[0121] In some embodiments, the one-to-many matching unit may be further configured to: perform matching between the start node and the multiple target nodes based on the cost functions of the multiple target nodes and the target values ​​of the first and second category data entries.

[0122] In some embodiments, the apparatus 700 may further include a many-to-many matching unit configured to perform data entry matching between a plurality of first-category data entries in the first data set and a plurality of second-category data entries in the second data set through heuristic search.

[0123] In some embodiments, the many-to-many matching unit can also be configured to: take a first-category data entry as the starting node, and the remaining data entries in the first data set and the second data set as the target node set; determine the cost functions of multiple target nodes in the target node set respectively, the cost function includes a first cost and a second cost, the first cost represents the actual cost from the starting node to the current node, and the second cost represents the heuristic estimated cost from the current node to the target node; and match the starting node with multiple target nodes based at least on the cost functions of multiple target nodes.

[0124] In some embodiments, the first category of data entries may include bank uncollected accounts, and the second category of data entries may include corporate uncollected accounts; or the first category of data entries may include corporate uncollected accounts, and the second category of data entries may include bank uncollected accounts, where the target value may be an amount.

[0125] Figure 8 8 shows a schematic block diagram of an example device 800 that can be used to implement embodiments of the present disclosure. Figure 8 As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 802 or computer program instructions loaded from a storage unit 806 into a random access memory (RAM) 803. Various programs and data required for the operation of the device 800 can also be stored in the RAM 803. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0126] Various components in device 800 are connected to I / O interface 805, including: an input unit 806, such as a touch screen, keyboard, mouse, etc.; an output unit 807, such as various types of displays (e.g., interactive displays such as a touch screen), speakers, etc.; a storage unit 808, such as a magnetic disk, optical disk, etc.; and a communication unit 809, such as a network card, modem, wireless communication transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0127] The computing unit 801 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as method 200. For example, in some embodiments, method 200 can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the method 200 described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform method 200 in any other appropriate manner (e.g., by means of firmware).

[0128] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.

[0129] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0130] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0131] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0132] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0133] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0134] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0135] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart, can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0136] The embodiments of the present disclosure have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons skilled in the art to understand the embodiments disclosed herein.

Claims

1. A data matching method based on semantic similarity, comprising: Acquire a first data set and a second data set to be matched, wherein the first data set includes at least one data entry of the first category, and the second data set includes at least one data entry of the second category; determining, based on the multi-dimensional features of the at least one first-category data item and the at least one second-category data item, a semantic similarity between the at least one first-category data item and the at least one second-category data item; and Based on the semantic similarity between the at least one first-category data entry and the at least one second-category data entry, data entry matching between the first data set and the second data set is performed through heuristic search, so that a first data subset of the first data set matches a second data subset of the second data set, and the sum of the target values ​​of the first data subset and the second data subset is equal.

2. The method according to claim 1, wherein Determining the semantic similarity between the at least one first-category data entry and the at least one second-category data entry includes: For each feature in the multidimensional features, determining a correlation between a first data entry in the at least one first category of data entries and a second data entry in the at least one second category of data entries with respect to the feature; and The semantic similarity between the first data entry and the second data entry is determined based on the relevance of each feature and the corresponding weight.

3. The method according to claim 2, further comprising: Establish a semantic similarity calculation model; as well as The matched plurality of first-category data entries and the plurality of second-category data entries are used as training samples to train the semantic similarity calculation model to obtain the weight of each feature in the multi-dimensional features.

4. The method according to claim 2, wherein the multidimensional feature includes a variable-length text feature, and determining the correlation between the first data entry of the at least one first-category data entry and the second data entry of the at least one second-category data entry with respect to the feature comprises: Determining the longest common subsequence of the first data entry and the second data entry based on the variable-length text feature; as well as Based at least on the length of the longest common subsequence, a correlation between the first data entry and the second data entry with respect to the variable-length text-like feature is determined.

5. The method of claim 2 , wherein the multidimensional feature comprises an entity-class feature, and determining the correlation between the first data entry of the at least one first-class data entry and the second data entry of the at least one second-class data entry with respect to the feature comprises: Based on historical matching information of the entity-like features of the first data entry and the second data entry, a correlation between the first data entry and the second data entry regarding the entity-like features is determined.

6. The method according to claim 2, wherein the multidimensional feature further comprises a time feature, and determining the correlation between the first data entry in the at least one first category of data entry and the second data entry in the at least one second category of data entry with respect to the feature comprises: Based on the difference between the time features of the first data entry and the second data entry, a correlation between the first data entry and the second data entry with respect to the time feature is determined.

7. The method according to claim 1, wherein Performing data entry matching between the first data set and the second data set by heuristic search includes: Data entry matching between one first-category data entry in the first data set and a plurality of second-category data entries in the second data set is performed by heuristic search.

8. The method according to claim 7, wherein: Performing data entry matching between a first-category data entry in the first data set and a plurality of second-category data entries in the second data set by heuristic search includes: Taking the one first-category data entry as a starting node and the plurality of second-category data entries in the second data set as a target node set; Determining cost functions for each of the plurality of target nodes in the target node set, the cost functions comprising a first cost and a second cost, the first cost representing an actual cost from the start node to the current node, and the second cost representing a heuristically estimated cost from the current node to the target node; and Matching the start node with the plurality of target nodes is performed based at least on a cost function of the plurality of target nodes.

9. The method according to claim 8, wherein the first cost is associated with the minimum value of the semantic similarity between the one first-category data entry and multiple second-category data entries, and the second cost is associated with the target value of the one first-category data entry and the sum of the target values ​​of the multiple second-category data entries.

10. The method according to claim 8, wherein Performing matching of the start node with the plurality of target nodes includes: Matching the start node with the plurality of target nodes is performed based on cost functions of the plurality of target nodes and the target values ​​of the first category data entries and the second category data entries.

11. The method according to claim 1, wherein Performing data entry matching between the first data set and the second data set by heuristic search includes: Data entry matching between a plurality of first-category data entries in the first data set and a plurality of second-category data entries in the second data set is performed by heuristic search.

12. The method according to claim 11, wherein Performing data entry matching between a plurality of first-category data entries in the first data set and a plurality of second-category data entries in the second data set by heuristic search includes: Taking a first-category data entry as a starting node, and the remaining data entries in the first data set and the second data set as target node sets; Determining cost functions for each of the plurality of target nodes in the target node set, the cost functions comprising a first cost and a second cost, the first cost representing an actual cost from the start node to the current node, and the second cost representing a heuristically estimated cost from the current node to the target node; and The starting node is matched with the multiple target nodes based at least on the cost functions of the multiple target nodes.

13. The method according to claim 1, wherein The first category of data entries includes unreconciled bank accounts, and the second category of data entries includes unreconciled corporate accounts; or The first category of data entries includes unreconciled accounts of enterprises, and the second category of data entries includes unreconciled accounts of banks. The target value is a monetary amount.

14. A data matching device based on semantic similarity, comprising: a data set acquisition unit configured to acquire a first data set and a second data set to be matched, wherein the first data set includes at least one data entry of the first category, and the second data set includes at least one data entry of the second category; a semantic similarity determining unit configured to determine the semantic similarity between the at least one first-category data entry and the at least one second-category data entry based on the multi-dimensional features of the at least one first-category data entry and the at least one second-category data entry; and A data matching unit is configured to perform data entry matching between the first data set and the second data set through a heuristic search based on the semantic similarity between the at least one first-category data entry and the at least one second-category data entry, so that a first data subset of the first data set matches a second data subset of the second data set, and the sum of the target values ​​of the first data subset and the second data subset is equal.

15. An electronic device comprising: processor; as well as A memory storing one or more computer instructions, wherein the one or more computer instructions are executed by the processor to enable the electronic device to perform the method according to any one of claims 1 to 13. 16 . A computer-readable storage medium having one or more computer instructions stored thereon, wherein the one or more computer instructions are executed by a processor to cause the processor to perform the method according to claim 1 .

17. A computer program product comprising machine-executable instructions which, when executed by a device, cause the device to perform the method according to any one of claims 1 to 13.