mapping user vectors between embeddings of machine learning models
By generating user embeddings and using transformation models to update contextual information, the accuracy problem of prediction models when user behavior changes is solved, achieving efficient generation and accuracy maintenance of access scores.
Patent Information
- Application Number
- CN201980100671.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-09-27
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2039-09-27
AI Technical Summary
Existing predictive models become less accurate in determining the confidence level of access requests, especially when authorized user behavior patterns change, and they cannot effectively incorporate new contextual information.
By generating user embeddings and utilizing machine learning models, combined with transformation models to update user context information, access scores are generated. This includes training transformation models to map new and old embedding tables, and using embedding layers to train prediction models to generate accurate access scores.
It improves the accuracy of access scoring, reduces storage and processing resource requirements, enables timely updates to changes in user behavior, and maintains the accuracy of risk prediction.
Smart Images

Figure CN114503130B_ABST
Abstract
Description
Background Technology
[0001] There exists an entity that processes access requests for resources and can determine the confidence level (e.g., fraud risk) of a particular access request. In one example, an authorizing entity may issue a user device (e.g., an access card) to an authorized user, allowing the user to access the resource using credentials associated with the account (e.g., an account number, etc.). An intermediary entity (e.g., a processing network) may use a predictive model to determine an access score for a particular access request on behalf of the authorizing entity and transmit that score to the authorizing entity for determining whether to approve the request.
[0002] Current predictive models are not entirely accurate in generating access scores and sometimes lead to fraudulent requests for recommendations (or approvals) (or vice versa). These predictive models are particularly problematic when authorized users' behavior patterns have changed. For example, an authorized user may have moved from one city to another and is therefore now obtaining resources from a different provider than before. Unless the predictive model can incorporate the new context in which the authorized user is acting, its accuracy may decrease.
[0003] Therefore, a mechanism is needed to more accurately incorporate the context of authorized users (and the updates to the context of authorized users) for machine learning models to use when determining whether to grant access to a particular access request.
[0004] The implementation schemes disclosed herein address these and other issues individually and collectively. Summary of the Invention
[0005] Embodiments of this disclosure provide systems, methods, and apparatus for managing access to protected resources. Access can be managed by generating an access score based at least in part on the context of a user identifier associated with a user device of an authorized user. A processing computer can receive an access request from a user device (e.g., an access card, mobile phone, etc.) to access the protected resource. The access request may include the user device's user identifier (e.g., an account, etc.) and a resource provider identifier corresponding to the resource provider. The processing computer can use the user identifier to retrieve a user embedding from an embedding table, whereby the user embedding indicates the similarity of the user device to other user devices within the context space. For example, the user embedding may encapsulate information indicating whether the user device has been used to access resources from resource providers of similar type to other user devices. The processing computer can then input the user embedding into a machine learning model (e.g., a predictive model), which in turn generates an access score for the user device corresponding to the risk level of the authorized user device's access to the resource.
[0006] According to one embodiment of this disclosure, an access request from a user device to access a resource can be received by a processing computer, whereby the access request includes a resource provider identifier and a user identifier from among a plurality of user identifiers associated with a plurality of user devices. The processing computer can retrieve user embeddings from an embedding table, whereby the user embeddings are associated with user identifiers and include multiple dimensions. Each of the multiple dimensions can be associated with the context of a user identifier appearing in a previous access request from a subset of other user devices that is temporally close to the other user devices. In this way, the user embeddings can provide multidimensional data points indicative of the similarity between the user device and other subsets of user devices. The processing computer can then input the user embeddings into a first machine learning model (e.g., a neural network) of the processing computer, which is trained using the embedding table. The first machine learning model can then determine an access score to determine whether to authorize the user device to access the resource. The access score can correspond to a level of authenticity in authorizing the user device to access the resource.
[0007] According to another embodiment of this disclosure, after generating the aforementioned user embedding, the processing computer may receive a second access request from a user device to access a second resource. The second access request may include a second resource provider identifier and a user identifier from a plurality of user identifiers associated with a plurality of user devices. The processing computer may then retrieve the second user embedding from a second embedding table. The second user embedding may include a second plurality of dimensions. Each of the second plurality of dimensions may be associated with a second context of a user identifier appearing in a previous access request from a second subset of other user devices that is temporally close to the second subset of user devices. In this way, the second user embedding may provide a second multidimensional data point indicating a second similarity between the user device and a second subset of other user devices. The processing computer may then input the second user embedding into a transformation model of the processing computer, which is trained at least in part based on the second embedding table and the embedding table. The transformation model may then determine the transformed user embedding. The processing computer may then input the transformed user embedding into a machine learning model of the processing computer. The machine learning model may then determine a second access score to determine whether to authorize the user device to access the second resource.
[0008] Other implementations involve systems, portable consumer devices, and computer-readable media associated with the methods described herein.
[0009] A better understanding of the nature and advantages of embodiments of the present invention can be obtained by referring to the following detailed description and accompanying drawings. Attached Figure Description
[0010] Figure 1 A block diagram of a system for generating access scores to authorize resources, according to an embodiment of the present invention, is depicted.
[0011] Figure 2 A block diagram of a processing computer according to an embodiment of the present invention is depicted.
[0012] Figure 3 A predictive model for a processing computer that generates access scores by utilizing embeddings, according to an embodiment of the present invention, is described.
[0013] Figure 4 The process for generating an embedded table according to an embodiment of the present invention is described.
[0014] Figure 5 An exemplary embedding table is depicted, illustrating an embedding according to an embodiment of the present invention.
[0015] Figure 6 A flowchart illustrating an embodiment of the present invention for generating access scores from a predictive model is described.
[0016] Figure 7 A flowchart for generating an embedded table according to an embodiment of the present invention is depicted.
[0017] Figure 8A Examples of two sets of embeddings generated from different spaces respectively according to an embodiment of the present invention are depicted.
[0018] Figure 8B Examples of two sets of embeddings generated from different spaces respectively according to an embodiment of the present invention are depicted.
[0019] Figure 9 An exemplary result is depicted after mapping an embedding vector from a source space to a target space according to an embodiment of the present invention.
[0020] Figure 10 A flowchart illustrating an embodiment of the invention for generating access scores from a previously trained prediction model using a transformation model is described.
[0021] Figure 11 A flowchart illustrating the generation and evaluation of a transformation model according to an embodiment of the present invention is provided.
[0022] Figure 12 A block diagram of a system for accessing resources based at least in part on access scores, according to an embodiment of the invention, is depicted.
[0023] the term
[0024] Before discussing embodiments of the present invention, describing some terms may help in understanding the embodiments of the present invention.
[0025] "User device" can include means used by a user to obtain access to resources. A user device can be a software object, a hardware object, or a physical object. As an example of a physical object, a user device can include a substrate (such as a paper card or plastic card) and information printed, embossed, encoded, or otherwise contained on or near the surface of the object. Hardware objects can relate to circuitry (e.g., permanent voltage values), while software objects can relate to non-permanent data stored on the device (e.g., identifiers of payment accounts). In a payment example, a user device can be a payment card (e.g., a debit card, a credit card). Other examples of user devices can include mobile phones, smartphones, personal digital assistants (PDAs), laptop computers, desktop computers, server computers, vehicles such as automobiles, simplified client devices, tablet PCs, etc. Furthermore, a user device can be any type of wearable technology device, such as a watch, headphones, glasses, etc. A user device can include one or more processors capable of processing user input. A user device can also include one or more input sensors for receiving user input. As is known in the art, various input sensors capable of detecting user input exist, such as accelerometers, cameras, microphones, etc. User input obtained by input sensors can come from a variety of data input types, including but not limited to audio data, visual data, or biometric data. The user device can include any electronic device that the user can operate, and this electronic device can also provide remote communication capabilities with a network. Examples of remote communication capabilities include the use of mobile phone (wireless) networks, wireless data networks (e.g., 3G, 4G, or similar networks), Wi-Fi, Wi-Max, or any other communication medium that provides access to networks such as the Internet or private networks.
[0026] "User" can include an individual. In some implementations, a user may be associated with one or more individual accounts and / or user devices. In some implementations, a user may also be referred to as a cardholder, account holder, or consumer.
[0027] An "application" can be a computer program used for a specific purpose. Examples of applications may include banking applications, digital wallet applications, cloud service applications, ticketing applications, etc.
[0028] A “user identifier” can include any character, number, or other identifier associated with a user’s user device. For example, a user identifier can be a Personal Account Number (PAN) issued to a user by an issuer (e.g., a bank) and printed on the user’s user device (e.g., a payment card). Other non-limiting examples of user identifiers can include a user’s email address, user ID, or any other suitable user identification information. A user identifier can also be an identifier for an account, which is an alternative to an account identifier. For example, a user identifier can include a hash of a PAN. In another example, a user identifier can be a token, such as a payment token.
[0029] "Resource provider" can include entities that can provide resources such as goods, services, information, and / or access. Examples of resource providers include merchants, data providers, transportation entities, government entities, site and residential operators, etc. "Merchant" can include entities involved in transactions. Merchants can sell goods and / or services, or provide access to goods and / or services.
[0030] "Resources" generally refers to any asset that can be used or consumed. For example, resources can be electronic resources (e.g., stored data, received data, computer accounts, networked accounts, email inboxes), physical resources (e.g., tangible objects, buildings, safes, or physical locations), or other electronic communications between computers (e.g., communication signals corresponding to accounts used to execute transactions).
[0031] An "access request" (also known as an "authorization request") typically refers to a request for access to a resource. For example, an access request may be received from a requesting computer, user device, or resource computer. An access request may include authentication information (also known as authorization information), such as a username, resource identifier, or password. An access request may also include access request parameters, such as an access request identifier, resource identifier, timestamp, date, device or computer identifier, geographic location, or any other suitable information.
[0032] An "authorization response message" may include a message responding to an authorization request. In some cases, an authorization response message may be an electronic message response to an authorization request message generated by the issuing financial institution or transaction processing computer. For example only, an authorization response message may include one or more of the following status indicators: Approval - the transaction is approved; Rejection - the transaction is not approved; or Call Center - further information is pending, and the merchant must call the toll-free authorization number. An authorization response message may also include an authorization code, which may be a code returned by the credit card issuing bank to the merchant's access device (e.g., a point-of-sale (POS) device) in response to the authorization request message in the electronic message (directly or via the transaction processing computer), indicating that the transaction has been approved. This code can serve as evidence of authorization.
[0033] "Authorizing entity" can include the entity requesting authorization. Instances of authorizing entities can be issuers, government agencies, document repositories, access administrators, etc. Authorizing entities can operate the computer of the authorizing entity. "Issuer" typically refers to a commercial entity that maintains user accounts (e.g., a bank, cloud service provider). Issuers may also issue credentials (e.g., payment credentials) stored on user devices (such as cell phones, smart cards, tablets, or laptops) to consumers.
[0034] An "access device" can be any suitable device that provides access to a remote system. Access devices can also be used to communicate with a merchant's computer, transaction processing computer, authentication computer, or any other suitable system. Access devices can typically be located in any suitable location, such as at the merchant's location. Access devices can take any suitable form. Some examples of access devices include POS or point-of-sale devices (e.g., POS terminals), cellular phones, PDAs, personal computers (PCs), server computers, tablet PCs, handheld dedicated readers, set-top boxes, electronic cash registers (ECRs), automated teller machines (ATMs), virtual cash registers (VCRs), kiosks, security systems, access systems, etc. Access devices can use any suitable contact or contactless operating mode to send or receive data from or associated with a mobile communication device or payment device. In some embodiments where the access device may include a POS terminal, any suitable POS terminal can be used, and it may include a reader, processor, and computer-readable media. The reader may include any suitable contact or contactless operating mode. For example, a demonstrative card reader may include a radio frequency (RF) antenna, an optical scanner, a barcode reader, or a magnetic stripe reader to interact with payment devices and / or mobile devices. In some implementations, a cellular phone, tablet, or other dedicated wireless device used as a POS terminal may be referred to as a mobile point of sale or “mPOS” terminal.
[0035] A “machine learning model” can refer to any suitable computer-implemented technique used to perform a specific task that depends on patterns and inferences. A machine learning model can be generated, at least in part, based on sample data (“training data”) used to determine patterns and inferences, and can then be used, at least in part, to make predictions or decisions based on new data. Some non-limiting examples of machine learning algorithms used to generate machine learning models include supervised learning and unsupervised learning. Non-limiting examples of machine learning models include artificial neural networks, decision trees, Bayesian networks, natural language processing (NLP) models, etc.
[0036] An "embedding" can be a multidimensional representation (e.g., a mapping) of an input (which may also be called a "word") to a location (e.g., "context") within a multidimensional context space. The input can be discrete variables (e.g., user identifiers, resource provider identifiers), and discrete variables can be projected (or "mapped") onto a vector of real numbers. In some cases, each real number in the vector may be in the range of -1 to 1. In some cases, a neural network can be trained to generate embeddings. The dimensional space of embeddings can collectively represent the context of the input within the vocabulary of other inputs. For example, in an NLP example, the input may correspond to a word in English, and the word embedding can capture the semantics of the word in the context of a statement, such that the word embedding can be represented differently in different statement contexts, even if it is the same word. In a transaction example, the input may correspond to a user identifier, and the user embedding can represent the context of the user identifier appearing in previous access requests from other access requests that are temporally close to each other. Embeddings can be used to determine the similarity between a particular input and another input. For example, a user embedding vector can be compared with another user embedding vector to determine the similarity between user identifiers. A resource provider embedding vector can be compared with another resource provider embedding vector to determine the similarity between resource providers.
[0037] An "embedding table" can be a table of embeddings. In some cases, each column of the embedding table can represent the dimension of the embedding, and each row can represent a different embedding vector. Additionally, in some cases, the embedding table can be generated during the training of the neural network.
[0038] The "transformation model" may include an algorithm that maps a first set of embedding vectors in a source space to a second set of embedding vectors in a target space. In some cases, the first set may be created prior to the second set of embedding vectors, and the second set of embedding vectors may include the same input as the first set. However, the dimensions of each set may correspond to different spaces. The transformation model may include a neural network that is trained by receiving the first and second sets of embedding vectors and determining a mapping for matching embeddings (e.g., matching user identifiers) in each set. The trained transformation model may receive embeddings generated in the dimensional space of the second set of embedding vectors as input and output transformed embeddings corresponding to the dimensional space of the first set of embedding vectors. The mapping that produces the transformed embeddings may be bidirectional.
[0039] An "access score" may include any character, number, or other identifier that indicates the level of risk associated with an identifier (e.g., a user identifier). For example, an access score may be a probability value between 0 and 1, which may correspond to the level of risk (e.g., risk of fraud) when an authorized user and / or user device accesses a resource. For example, a score of 0.95 may indicate a high probability that this is a fraudulent access request. In another example, an access score may include multiple elements. For example, in the case of a payment transaction, the access score may indicate the frequency of refunds associated with a user identifier, the frequency of activity across multiple postal codes, etc.
[0040] A “processor” can include means for performing a task. In some embodiments, the process can include any suitable one or more data computing devices. A processor can include one or more microprocessors that work together to perform a desired function. A processor can include a CPU that includes at least one high-speed data processor sufficient to execute program components for performing user and / or system-generated requests. A CPU can be a microprocessor such as AMD’s Athlon, Duron, and / or Opteron; IBM and / or Motorola’s PowerPC; IBM and Sony’s Cell processors; Intel’s Celeron, Itanium, Pentium, Xeon, and / or XScale; and / or similar processors.
[0041] "Memory" can include any suitable means capable of storing electronic data. Suitable memory can include non-transient computer-readable media whose storage can be executed by a processor to implement desired methods. Instances of memory can include one or more memory chips, disk drives, etc. Such memory can be operated using any suitable electrical, optical, and / or magnetic modes of operation.
[0042] The term "server computer" can include a powerful computer or cluster of computers. For example, a server computer can be a mainframe, a small group of computers, or a group of computers operating as a single unit. In one example, a server computer can be a database server coupled to a web server. A server computer may be coupled to a database and may include any hardware, software, other logic, or a combination of the foregoing for serving requests from one or more other computers. The term "computer system" can generally refer to a system that includes one or more server computers coupled to one or more databases.
[0043] As used herein, the term “provide” can include sending, transmitting, making available on a web page, for download, via an application, displaying or presenting, or any other suitable method.
[0044] Details of some embodiments of this disclosure will now be described in more detail. Detailed Implementation
[0045] As part of determining whether to grant access to a resource, a machine learning model (e.g., a predictive model) may generate an access score (e.g., related to confidence that the request is genuine) for a user identifier, at least in part, based on a user embedding associated with that user identifier. The user embedding can be used to represent a user's behavior in the context of other user behaviors, and thus can be used to indicate the similarity between one user behavior and another. The predictive model can be trained to generate the access score at least in part based on this contextual information.
[0046] The previously trained predictive model can determine an updated access score based at least in part on receiving a transformed embedding generated by the transform model as input. This use of the transformed embedding takes into account constantly changing user behavior (e.g., new shopping patterns) and therefore allows for periodic updates to the user identifier embedding. However, the predictive model may not be updated frequently. Therefore, the system can utilize the transform model to generate a transformed embedding at least in part based on the updated embedding. The previously trained predictive model can then use the transformed embedding to generate an updated access score that considers more recent changes in the user's behavioral context.
[0047] In an illustrative example, consider the following scenario: a user uses a user device (e.g., a payment card) to request authorization from an issuer (e.g., a bank) to gain access to funds to purchase goods from a resource provider (e.g., a merchant). A processing computer may act as an intermediary for the issuer and determine an access score, which is then transmitted to the issuer's authorization computer for authorization. The processing computer may train a risk prediction model, at least in part, based on an embedding table (e.g., vectors), which itself is generated by the processing computer's machine learning model (e.g., a neural network). Each vector value of the embedding may correspond to a dimension of the context space. In this way, the similarity between embeddings can be determined, at least in part, based on comparing the corresponding values of each embedding vector.
[0048] The vectors from the embedding table, along with a training label set (e.g., ground truth information indicating whether a particular transaction is approved, rejected, identified as fraudulent, etc.), can be input to train a risk prediction model. Specifically, where the risk prediction model includes a neural network, the weights of the nodes in the neural network can be determined at least in part based on the vector values from the embedding table. In this example, a user identifier (e.g., PAN) may be associated with payment transactions involving merchants similar to other user identifiers, for example, because the users live in the same city and have similar shopping preferences. Therefore, the user embedding of this user identifier may be similar to other user embeddings of other user identifiers (e.g., high cosine similarity between vectors). However, in this particular transaction, the merchant may be atypical and not associated with other user identifiers with similar embeddings. The trained risk prediction model can use contextual information from the embeddings to determine a higher risk level (e.g., higher access score) when authorizing a transaction.
[0049] In another illustrative example, consider a scenario where the aforementioned user has moved to a new city. In this example, the user's behavior can fundamentally change. For example, the user may shop at different merchants and / or different types of merchants. Furthermore, the user may live in different sets of neighbors, each with a different set of shopping behavior patterns. Therefore, the contextual similarity between the user's shopping patterns and those of other users may differ from what is represented in the previously generated embedding table.
[0050] The processing computer described above can generate new embedding tables (e.g., monthly) to account for changes in user behavior. However, the risk prediction model can be updated less frequently (e.g., once a year), partly due to the amount of computational resources required to generate a new risk prediction model. The processing computer can generate a mapping between the new and older embedding tables by training a transformation model. In an implementation, the transformation model may include a non-linear neural network with an activation function, thereby training the neural network by minimizing a loss function. In this way, the transformation model may be able to account for substantial changes in a user's context relative to other users (e.g., moving to a new city).
[0051] After training a transformation model (e.g., determining a mapping), the processing computer can input newly generated user embeddings into the transformation model, which can then output transformed embeddings. In this example, a newly migrated user can purchase food from a restaurant in a new city. The processing computer receives a purchase authorization request including a user identifier (e.g., the same PAN as in the previous example). However, in this case, the processing computer can use the PAN to retrieve the transformed embedding. The transformed embedding, along with other transaction information (e.g., merchant identifier, transaction amount, etc.), can be input into a previously trained risk prediction model to output an access score. In this way, the access score can reflect the latest contextual information about the user's shopping behavior. For example, the access score incorporates contextual information indicating that the user has recently started making frequent purchases at this new location, and therefore the access score can indicate a lower risk level. It should be noted that this access score can be generated without needing to retrain the risk prediction model at the same frequency as generating new embeddings.
[0052] The embodiments disclosed herein offer several technical advantages over conventional systems. Existing systems have limited information when determining whether to authorize a user to access resources. For example, existing systems can access the history of previous transactions made by a user, and whether those transactions were approved or denied. However, storing this information requires significant resources (e.g., memory, storage space). Furthermore, substantial processor resources may be required to utilize this information at runtime to generate accurate predictive scores for a given transaction. The amount of processing resources required is significant when considering a large number of transactions made by many users. In contrast, embodiments of the present invention rely on a smaller storage and memory footprint by using embedding vectors that capture contextual (and historical) information about the user. Moreover, by utilizing a predictive model trained in part on the embedding layer, the system requires fewer processor resources at runtime to generate accurate access scores.
[0053] In another example, embodiments of the invention allow for updating contextual data for a given user over time with fewer resources. For instance, existing systems utilizing predictive models may require significant computational resources to retrain the predictive model. If the predictive model is not frequently retrained, access scores may not incorporate the latest data about the user, and therefore accuracy may decrease over time. In contrast, embodiments of the invention utilize transformation models to transform new user contextual data so that the data can be presented for analysis by a previously trained predictive model. Furthermore, the transformed context can incorporate both older and newer contextual data that the predictive model will use in the analysis. In this way, the invention enables further savings in computational resources even when new data becomes available, while maintaining accuracy over time in determining risk prediction scores. Using nonlinear transformation models can also improve the accuracy not only for transforming small (incremental) data updates but also for transforming large amounts of data updates.
[0054] I. Using embeddings to authenticate access requests
[0055] Multiple devices can participate in processing access requests, as detailed below. Figure 1 Further, for example, in a communication network, a processing network (e.g., including a processing computer) can serve as a trusted third-party intermediary between a user device and an authorized entity. The processing computer can perform several functions, including processing, verifying, and accepting or denying access requests on behalf of the authorized entity. (See below for reference.) Figure 2 As part of the verification process described further, the processing computer can generate an access score that indicates the level of authenticity of an authorized access request to a resource, which can then be transmitted to the authorizing entity for use in making an authorization decision.
[0056] A. System
[0057] Figure 1 A block diagram of a system 100 for generating access scores according to an embodiment of the present invention is depicted. System 100 includes a user device 102 that can be associated with a user 101, a resource provider computer 104, a processing computer 106, and an authorization computer 108.
[0058] User device 102, resource provider computer 104, processing computer 106, and authorization computer 108 can all communicate operatively with each other via any suitable communication channel or communication network. A suitable communication network can be any one and / or a combination of the following: direct interconnection, the Internet, a local area network (LAN), a metropolitan area network (MAN), an Operational Mission as an Internet node (OMNI), a secure custom connection, a wide area network (WAN), a wireless network (e.g., employing protocols such as, but not limited to, Wireless Application Protocol (WAP), I-mode, etc.). Secure communication protocols, such as, but not limited to, File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), Secure Hypertext Transfer Protocol (HTTPS), Secure Sockets Layer (SSL), ISO (e.g., ISO 8583), etc., can be used to send messages between the computers, networks, and devices.
[0059] User device 102 may be associated with a user identifier of user 101. In some embodiments, user device 102 may be an access card (e.g., a credit card or debit card). In other embodiments, user device 102 may be a mobile phone storing credentials and / or token information that can be used to obtain access to a resource. In a payment transaction example, the user identifier may be user 101's PAN, which may be stored on user 101's access card 102 and / or on user's mobile phone 102. Any suitable user device 102 may be used, thereby obtaining the associated user identifier to be included in the access request. Although the embodiments discussed herein primarily relate to the payment transaction context, it should be understood that the invention can be implemented in other types of environments involving access requests to resources (e.g., obtaining access to a secure building).
[0060] Resource provider computer 104 may be an apparatus associated with a resource provider. Resource provider computer 104 may receive access requests from user device 102 and transmit the requests to processing computer 106. Resource provider computer 104 may additionally include a resource provider identifier associated with the resource provider within the access request. In some embodiments, resource provider computer 104 may include any other suitable information for inclusion in the access request, including but not limited to transaction amount, postal code, currency code, authorized entity identifier, resource identifier, etc. In some embodiments, resource provider computer 104 may be an access device (e.g., a POS terminal) or a server computer connected to an access device. In other embodiments, user device 102 may be an access device operated by a resource provider, wherein resource provider computer 104 is a server connected to the access device.
[0061] Processing computer 106 may be a server computer attached to an access request processing network, which acts as a trusted intermediary between resource provider computer 104 and authorizing computer 108 of an authorizing entity. In some embodiments, processing computer 106 may be part of the same organizational entity as the authorizing entity. In other embodiments, processing computer 106 may be associated with a trusted third-party entity. As described above, processing computer 106 may perform several functions, including verifying user device 102 to determine the authenticity (e.g., risk) level of an authorized access request to a resource. For example, the verification process of processing computer 106 may assess whether user device 102 (e.g., a payment card) has been stolen and is being used by an unauthorized user in a fraudulent transaction. To determine the risk level, processing computer 106 may utilize authenticity model 110 to generate an access score that indicates the risk level of an authorized access request to a resource. Authenticity model 110 may implement user embedding and embedding mapping, as described in more detail later. As described in more detail below, authenticity model 110 may utilize one or more machine learning models to generate the access score. After generating the access score, the processing computer 106 can transmit the access score to the authorizing computer 108.
[0062] Authorizing computer 108 may be a server computer attached to an authorizing entity. The authorizing entity may be an issuer that issues user device 102 to user 101 and / or supplies user device 102 with credentials (e.g., payment tokens) to be used in future access requests to resources. In some embodiments, a user identifier associated with user device 102 is registered with authorizing computer 108 for authorizing access requests. When determining whether to approve an access request, authorizing computer 108 may utilize its own risk prediction model (…). Figure 1 (Not shown in the image), this risk prediction model may rely on domain knowledge data that is not available to the processing computer 106. This data may include, for example, a user's social security number, home address, phone number, credit limit, loan payment history, etc.
[0063] In addition to using its own risk prediction model, the authorizing computer 108 may also utilize an access score generated by the processing computer 106 to determine whether to approve or deny the access request. The access score may incorporate domain knowledge that the issuer cannot access (or store). For example, the processing computer 106 may store and analyze transaction data between users and merchants to detect patterns of shopping behavior that the issuer may not have stored. These patterns can be incorporated into the access score, which can then be incorporated into the risk model of the authorizing computer 108. In some implementations, the authorizing computer 108 may rely solely on the access score generated by the processing computer 106 when determining whether to approve or deny the transaction. After determining whether to approve or deny the access request, the authorizing computer 108 may then transmit the authorization response back to the processing computer 106, at which point the response may be relayed to the resource provider computer 104.
[0064] For clarity, Figure 1 A specific number of components are shown. However, it should be understood that embodiments of this disclosure may include more than one of each component. Additionally, some embodiments of this disclosure may include more than one of each component. Figure 1 All components shown are either fewer or more.
[0065] B. Handling computers
[0066] Figure 2 A block diagram of a processing computer according to an embodiment of the present invention is depicted. The processing computer 106 may include a processor 106-A that is coupled to system memory 106-B and an external communication interface 106-C. A computer-readable medium 106-D may also be operatively coupled to the processor 106-A.
[0067] The computer-readable medium 106-D may include multiple software modules, including a communication module 106-D1, an access scoring generation module 106-D2, an embedding generation module 106-D3, and an embedding mapping module 106-D4. It should be understood that one or more of these modules may be included in... Figure 1 Within the realism model 110. Therefore, as discussed below, the realism model 110 itself may include one or more sub-models (e.g., machine learning models) that can be related to each other.
[0068] The communication module 106-D1 may include code that enables the processor 106-A to generate messages, forward messages, reformat messages, and / or otherwise communicate with other entities.
[0069] The access score generation module 106-D2 may include code that causes the processor 106-A to generate an access score for a specific access request. To generate the access score, the access score generation module 106-D2 may generate and maintain a machine learning model trained to output the access score and other inputs based at least in part on the receiver embedding (e.g., user embedding) as input. (This machine learning model may also be referred to as a “predictive model” or a “realism model” as discussed herein). In some implementations, see reference below. Figure 3 Further discussion suggests that the machine learning model can be a neural network. In some implementations, the machine learning model associated with generating access scores can be regenerated at a predetermined rhythm (e.g., once a year).
[0070] Embedding generation module 106-D3 may include code that causes processor 106-A to generate an embedding table. To generate the embedding table, embedding generation module 106-D3 may receive training data comprising a plurality of user identifiers, each associated with a user device. Each of the plurality of user identifiers may be selected to be included in the training data based at least in part on its appearance in at least one previous access request having a specific resource provider identifier. Embedding generation module 106-D3 may feed the training data into a machine learning model, which in turn generates a multi-dimensional (e.g., 200-300 dimensions) vector space, thereby assigning a corresponding vector in the space to each user identifier. The vectors are positioned in the vector space such that user identifiers sharing a common context are positioned close to each other in the space. The plurality of vectors are included in the embedding table.
[0071] In some implementations, the embedding generation module 106-D3 can regenerate the embedding table at a predetermined rhythm more frequently (e.g., once a month) than the predictive model that generates access scores. This is likely due to the fact that user behavior patterns are constantly changing. It should be understood that the dimension of the vector space between successive embedding tables can correspond to different aspects of the context, even if the corresponding embedding tables are generated close to each other in time. This is likely due to initialization factors (e.g., entropy) introduced, for example, when training the neural network.
[0072] Embedding mapping module 106-D4 may include code that enables processor 106-A to generate and maintain a transformation model for generating transformed embeddings. To generate the transformation model, embedding mapping module 106-D4 may receive a previously generated embedding table and a new embedding table as training data. The two embedding tables may be generated at least partially based on a similar (e.g., the same) set of user identifiers, such that the ground truth mapping between user identifiers in each set is deterministic. However, even if the two embedding tables are generated at least partially based on a similar set of user identifiers, the vectors of each embedding table may correspond to different vector spaces (e.g., due to the initialization factors discussed above, and / or due to changes in user behavior patterns).
[0073] Once the transformation model (e.g., mapping) is generated, the embedding mapping module 106-D4 can receive user embeddings from the new embedding table as input and output transformed embeddings. The transformed embeddings capture contextual information from both older and newer embeddings. Furthermore, the transformed embeddings can be adapted to be fed into a previously trained prediction model to generate updated access scores.
[0074] II. Using embeddings as input to generate access scores from a predictive model
[0075] The authenticity model 110 may have multiple layers for generating access scores, as referenced below. Figure 3 Further, for example, in an implementation where the realism model includes a neural network, the neural network may have multiple layers. One of the layers may be an embedding layer, which may include one or more embedding tables. Each embedding table may first be referenced below. Figure 4 Another machine learning model is further described, which is then used to train a neural network for a prediction model. An example of the generated embedding table is shown in... Figure 5 Described in the text.
[0076] A. Using neural networks to generate access scores
[0077] Figure 3A predictive model for a processing computer to generate access scores by utilizing an embedding layer, according to an embodiment of the invention, is described. The predictive model 300 may include a neural network having multiple layers (e.g., hidden layers) including the embedding layer. In an embodiment, the neural network 300 may be a deep recurrent neural network (RNN) with long short-term memory (LSTM). For more information on RNNs with LSTM, see, for example, Fundamental of Recurrent Neural Network (RNN) and Long Short-Term Memory (LSTM) Network, Alex Sherstinsky, 2018, arxiv.org / abs / 1808.03314.
[0078] The trained neural network 300 can generate an access score, at least in part, based on receiving one or more values as input. For example, in a continuing payment transaction example, an access request for the current transaction (t) could include multiple elements, including a user identifier 302 (e.g., cardholder ID), a resource provider identifier 304 (e.g., merchant ID), and one or more numerical values 306 (e.g., postal code, transaction amount, product ID, etc.). The elements of the access request can be fed into an input layer for subsequent processing by each layer of the trained neural network 300, which ultimately outputs an access score.
[0079] Turning further to each layer of the neural network 300 in detail, the embedding layer 308 may include one or more embedding tables. Each embedding table can be trained (see below). Figure 4 The model discussed generates a vector space to determine specific types of "words". For example, a user identifier (e.g., a cardholder ID, such as PAN) could be one type of word in the "vocabulary" used to generate user embedding table 309 (e.g., other cardholder IDs of other users). Another type of word could be a resource provider identifier, which can be used to generate resource provider embedding table 310, and similarly, numeric embedding table 312. As discussed herein, the primary focus is on user embedding table 309 as input to neural network 300, because the context of user behavior is more likely to change more frequently than, for example, merchant behavior. However, it should be understood that any or a combination of embedding tables can be used to train neural network 300.
[0080] The embedding tables from embedding layer 308 can then be used to train dense layer 314. In some implementations, dense layer 314 may be fully connected to each dimension of the embedding table. For example, if the user embedding table 309 has 200 dimensions, then dense layer 314 may have 200 nodes. In some implementations, the embedding tables may have more dimensions than the number of nodes in the dense layer. In this case, neural network 300 can be trained to determine the weights used to map each dimension to the nodes in the dense layer, such that the dimensions are appropriately mapped to the dense layer. It should be understood that each embedding table may have a different number of dimensions, and therefore different weights may be assigned to the dimensions of each embedding table. As discussed further below, it should also be understood that the dimensions of each embedding table can be used to determine the weights of the nodes in any layer of the neural network 300 using any suitable method.
[0081] The dense layer 314 can then be fed into LSTM layer 1 316, which in turn can be fed into LSTM layer 2 318. In this example, the LSTM layer can be used to embed the issuer's decision into the internal structure of the neural network 300 without needing to store the user's historical transaction history. From the LSTM layer, the output can then be fed into attention layer 320. The attention layer can be used to improve the performance of the encoder-decoder mechanism of the neural network 300. For more information on attention mechanisms, see, for example, Attention Is All You Need, Vaswani et al., 2017, papers.nips.cc / paper / 7181-attention-is-all-you-need.pdf. Finally, the output of the dense layer 314 can be fed into a normalized exponential layer 322 that maps the unnormalized output of attention layer 320 to a probability distribution via an activation function. Thus, the probability distribution can be reflected in the access score output by the neural network 300.
[0082] Although Figure 3 The implementation described in the neural network 300 includes multiple hidden layers, but it should be understood that any suitable number of layers can be used to implement the implementation of the present invention.
[0083] B. Generate embedded table
[0084] Figure 4 A process for generating an embedding table according to an embodiment of the present invention is described. This process may include training a neural network 400 having at least one hidden layer. In one embodiment, the neural network 400 may be a feedforward neural network with a single hidden layer. References below... Figure 4The implementation scheme discussed uses the Continuous Bag-of-Words (CBOW) model for illustrative purposes only. However, it should be understood that any suitable method can be used to generate the embedding table. For example, the Skip-Word (SG) model can also be used to generate the embedding table. For more information on the two types of models that both employ the word2vec model, see, for example, word2vec Parameter Learning Explained, Xin Rong, 2014, arxiv.org / abs / 1411.2738.
[0085] In neural network 400, there are three layers: input layer 402, hidden layer 404, and output layer 406. Input layer 402 may receive a sequence of "words" included in a "document" as input. In one example, this involves generating a user embedding table (e.g., 309), where "words" may correspond to user identifiers. In this example, multiple user identifiers may be selected and grouped within the same document, at least because multiple user identifiers have made access requests to obtain resources from the same resource provider. In a payment transaction example, multiple cardholders may have purchased goods from the same merchant, and therefore, each cardholder's PAN is included within the same document associated with the merchant (e.g., merchant identifier). Furthermore, each purchase may occur at a different time relative to other purchases. Therefore, each cardholder's PAN can be organized sequentially within the document, relatively close in time to other PANs that purchased goods from the same merchant.
[0086] It should be understood that although this article primarily discusses user-embedded tables, references are also available. Figure 4 The described process can be used to generate other types of embedding tables (e.g., resource provider embedding tables), which can then be used for training. Figure 3 The predictive model 300. For example, in the case of a resource provider (e.g., a merchant) embedded table, a "word" may correspond to a merchant identifier, and a "document" may be associated with a cardholder ID (e.g., a PAN). Thus, a document may contain, for example, a list of all merchants that have executed transactions with a given PAN.
[0087] continue Figure 4 Each context word in the document (e.g., user identifier) can be input into input layer 402 (e.g., word x). 1k 408. Word x 2k 410, ..., word x Ck 412). In Figure 4In the example, each word in the input layer can be represented as a hot-coded two-dimensional (2D) matrix (C×V dimensional matrix), where C represents the number of words in the context (e.g., the document), and V is the total number of words in the vocabulary (e.g., the total number of possible user identifiers). Each input to the input layer (a total of C context words) is then passed through the corresponding weight matrix W. V×N Mapped to hidden layer 404, where N is the number of dimensions of hidden layer 404. When using W... V×N After calculating the hidden layer input for each input context word, the process then calculates the average of all C context word inputs to compute the N-dimensional hidden layer as a vector h414. Finally, W' N×V It is another weight matrix that maps the hidden layer output to the output layer 406 (N×V dimensional matrix) with the output words as vectors y and 416.
[0088] In this CBOW model, the process therefore takes the context of multiple words as input and is trained to predict another word based on the context. In some implementations, the hidden layer 404 nodes can copy the weighted sum of the input to the next layer, and therefore there are no activations such as sigmoid, hyperbolic tangent, or rectified linear units (ReLU) used in the hidden layers. In some implementations, nonlinear normalized exponent calculations can be used to generate the output layer. Thus, by performing this process of training the neural network 400, an embedding table can be generated as a byproduct of the process. In some implementations, this embedding table may correspond to the weight matrix W. V×N In other implementations, the embedding table may correspond to the weight matrix W'. N×V In some implementations, the neural network 400 may be trained, at least in part, based on minimizing a loss function (e.g., mean squared error (MSE)). The loss function may be configured to determine the difference between the ground truth user identifier and the predicted user identifier. The ground truth user identifier may correspond to a word that is known to be the correct output based on multiple words input to the neural network 400.
[0089] Figure 5 An exemplary embedding table illustrating an embodiment of the invention is depicted. In the example, Figure 5 The embedded table 500 described herein can be derived from Figure 4The neural network 400 generates the embedding table 500. The embedding table 500 can be a two-dimensional table comprising 508 rows and 502 columns. Each of the 508 rows can correspond to an embedding vector for a word. Continuing with the user embedding example, "ID_1" in the first row 504 can correspond to a user identifier (e.g., PAN, the hash value of PAN, etc.). Meanwhile, each column in the 502 columns can correspond to a different dimension of the vector space. It should be understood that the number of dimensions can vary between embedding tables, and the number of any given table can be fixed during the training of the embedding model (e.g., a neural network). In some implementations, the number of dimensions can be between 100 and 300. Vector values correspond to a specific dimension and can be real numbers between -1 and 1.
[0090] It should be understood that while multidimensional spaces allow for the identification of contextual similarity between user identifiers, the meaning of each dimension can be a latent feature that is not predetermined before the embedding table is generated. For example, each dimension itself may not be related to a specific similarity characteristic (e.g., geography) between two user identifiers, but may have multiple characteristics embedded in the meaning of each dimension.
[0091] As an illustration for comparing vectors to determine contextual similarity, consider rows 504 and 506. To determine whether the corresponding embeddings corresponding to rows 504 (ID_1) and 506 (ID_2) have similar contexts, the corresponding vector values of each embedding can be compared. For example, in some implementations, the system may compute a cosine distance between the corresponding vectors of rows 504 and 506 (e.g., between all dimensions 502 of each corresponding vector). In one example, the computed cosine distance of these numbers may be minimized, and thus may help determine that the contexts are similar. In some implementations, for example, if the embedding vectors are normalized, the Euclidean distance between vectors ID_1 504 and ID_2 506 may be computed to determine the similarity between the two vectors.
[0092] C. Method
[0093] Figure 6 and Figure 7 The flowcharts show the process of generating access scores using a prediction model and the process of generating user embedding tables to be used as embedding layers for training the prediction model. Figure 6 The process 600 can be utilized with Figure 3 Similar prediction models are described in the text, and Figure 7 The process for generating embedded tables 700 can utilize and Figure 4 Similar neural networks are described in [the text].
[0094] 1. A method for generating access scores using neural networks.
[0095] Figure 6A flowchart illustrating an embodiment of the invention for generating an access score from a predictive model is depicted. At block 602, the system may receive an access request from an accessing device to access a resource (e.g., a building, goods, secure files on a server). In some embodiments, the access request may include a resource provider identifier (e.g., a merchant ID) and a user identifier (e.g., a user account, such as a PAN). The user identifier may be one of a plurality of user identifiers issued by an issuer (e.g., a PAN issued by a bank and used in access requests from different users). Each of the plurality of user identifiers may be associated with a user device (e.g., a payment card, a mobile device) included in a plurality of user devices.
[0096] At box 604, the system (e.g., a processing computer) can access an embedded table (e.g., Figure 5 User embedding table 500 retrieves the embedding associated with the user identifier received at box 602 (e.g., user embedding 504). User embeddings may include multiple dimensions (e.g., ...). Figure 5 Column 502), whereby each of the multiple dimensions is associated with the context of the user identifier among other user identifiers in the context space. In embodiments, the context may correspond to a user identifier that appears in a previous access request from a subset of other user devices that is temporally close to other user devices. User embeddings can provide multidimensional data points indicative of the similarity between a user device and a subset of other devices. In some embodiments, the multidimensional data points may correspond to vectors, and each value of the vector is associated with a dimension among the multiple dimensions.
[0097] At box 606, the system can embed user input into the system's machine learning model (e.g., Figure 3 In the prediction model 300, the machine learning model is trained using an embedding table from which user embeddings are retrieved. In some implementations, the machine learning model may be trained at least in part on training data corresponding to multiple previous access requests, whereby the authenticity of the previous access requests is known (e.g., fraudulent or not fraudulent). The machine learning model may also be trained on an embedding table from which user embeddings are retrieved, as referenced above. Figure 3 As described above. In some embodiments, other embedding tables within embedding layer 308 can also be used to train the machine learning model. Based at least in part on the embedding tables and multiple previous access requests with known veracity, the parameters of the model (e.g., the weights of the nodes in neural network 300) can be optimized to provide accurate access scores. In some embodiments, determining the weights of the nodes in the machine learning model may include mapping dimensions from each embedding table to... Figure 3 One or more layers (e.g., dense layer 314) of the neural network 300 in the network.
[0098] At box 608, a machine learning model determines an access score to determine whether to authorize a user device to access a resource. In some embodiments, the access score may correspond to a level of authenticity for authorizing the user device to access the resource. After determining the access score, the system may transmit an authorization request message including the access score to an authorization computer (e.g., a bank server of a bank that issues payment cards to users). The system may then receive an authorization response message including an authorization response from the bank server. In some embodiments, the authorization response may be at least partially based on the access score. The system may then transmit the authorization response (e.g., approval or denial) to an access device associated with the resource provider (e.g., a POS terminal), thereby using the authorization response to determine whether to provide the resource to the user.
[0099] 2. Methods for generating embedded tables
[0100] Figure 7 A flowchart illustrating the generation of an embedded table according to an embodiment of the present invention is depicted. In some embodiments, the generated embedded table may be similar to... Figure 5 The embedded table 500 is depicted in the text.
[0101] At box 702, the system may receive a second or more user identifiers (e.g., Figure 4 The training data includes user identifiers 408, 410, and 412. The second set of user identifiers can be compared with the reference data. Figure 6 This is associated with a subset of other user devices described in box 604. Each of the second plurality of user identifiers may be selected for inclusion in the training data based at least in part on its appearance in at least one previous access request with a common resource provider identifier. For example, multiple cardholders may shop at the same merchant. In another example, multiple employees may request access to the same building.
[0102] At box 704, the system can input training data into the system's neural network (e.g., Figure 4 In the second machine learning model of the neural network 400, it should be understood that several sets of training data (e.g., "documents") can be used as input to train the machine learning model. For example, a subset of cardholders may have all shopped at merchant A at least once within a certain period, while another subset of cardholders may have all shopped at merchant B within the same period. Therefore, in this example, two groups (e.g., a merchant group) can be created to train the machine learning model to generate an embedding table. It should also be understood that in the example of generating user embeddings, the user identifier used to train the machine learning model may contain multiple elements of information about the user device and / or the user. For example, the user identifier may contain PAN, demographic information, home address, postal code, etc.
[0103] At box 706, training a second machine learning model at box 704 can generate an embedding table at least in part based on one or more training datasets.
[0104] III. Use a transformation model to generate access scores from the previously trained prediction model.
[0105] New embedding tables can be generated at a predetermined rhythm (e.g., monthly), capturing the updated context for a given user identifier. However, previously trained prediction models can be trained, at least in part, based on a context space different from the updated context space (e.g., corresponding to previously generated embedding tables). Figure 3 The prediction model 300. Therefore, as described below, the system can use a transformation model to generate transformed embeddings from the new embeddings, such that the context space of the transformed embeddings corresponds to the weights of the previously trained prediction model. While linear transformation models can accurately account for small changes in the context space, in some implementations, nonlinear transformation models can better account for larger changes in the context space. In this way, the previously trained prediction model can output accurate access scores that take into account contextual information from both the old and new embeddings.
[0106] A. Explain the contextual information that updates over time.
[0107] As discussed above, the ways in which users utilize their devices can change over time. Some behavioral changes may be minor, such as visiting a newly opened restaurant in a user's neighborhood. However, some behavioral changes can be more significant. For example, a user may move to a new city and therefore shop at a new collection of merchants. Users may also experience other life changes (e.g., a new family member, a new employer, etc.), which can significantly alter how users use their devices to access resources. Therefore, when generating new embedding tables across multiple user identifiers, the context space of the new embedding table can differ significantly from that of the old embedding table.
[0108] Figure 8A and Figure 8B Two side-by-side comparisons of embedding groups generated from different spaces are depicted.
[0109] Figure 8AAn exemplary side-by-side comparison is depicted, where the corresponding spatial rotation of each group of embeddings is shown, but in other respects, each embedding maintains a similar relative position (e.g., context) compared to other embeddings in the group. In group 802, each point p1-p5 may represent one or more embeddings. In one embodiment, as an example, p3 806 may represent the embedding of a single user identifier (e.g., cardholder) who has performed many transactions. However, as another example, p5 808 may represent the aggregate (e.g., averaged together) of multiple cardholder embeddings, whereby each cardholder included in the aggregate may have only performed a few transactions. In this embodiment, aggregating cardholder embeddings together for cardholders with fewer transactions can improve accuracy when subsequently training the transformation model. In some embodiments, embeddings can be aggregated using any suitable mechanism (e.g., by country, state, city, user demographics, etc.) and can be performed as a preprocessing step before generating the transformation model. References are made below for clarity only. Figure 8A and Figure 8B Each of p1-p5 discussed can correspond to the embedding of a single user identifier.
[0110] Then, in Figure 8A In group 804, each embedding from group 802 may have been regenerated in the updated embedding table. In this case, although each embedding from group 804 may correspond to the same user identifier, the space of each group is different. However, as described above, when the space of each group of embeddings is rotated, each embedding maintains a similar relative position compared to other embeddings in that group. For example, p3 806 and p5 808 of group 802 remain neighbors in the updated space of group 804, as shown by p5 812 and p3 810. Groups can generally be viewed as rotating, in this case counterclockwise, thus creating a new space.
[0111] As mentioned earlier, this rotation could be due to new data that registers minor changes in user behavior between embedding regenerations. It could also simply be because the machine learning model used to generate the new embedding table might require initialization (e.g., entropy or a randomness factor) that effectively rotates each point p1-p5 in the context space. However, in either case (e.g., new data or an entropy factor), because... Figure 8A Points in each group remain relatively similar to each other, so linear transformation models can be used to rotate from the new space to the old space (discussed further below). It should be understood that rotations can be performed in either direction (e.g., rotating group 804 space to align with group 802 space, or vice versa).
[0112] Figure 8BThe following example illustrates this: the corresponding space of each set of embeddings has been significantly altered, such that the embeddings within the newly generated set have different positions relative to the embeddings within the previous set. Similar to... Figure 8A ,exist Figure 8B In this context, both group 814 and group 816 represent two sets of embeddings p1-p5. However, although p3 818 and p5 820 are direct neighbors in group 814, they are no longer direct neighbors in group 816. Instead, the direct neighbor of p3 824 becomes p4 826, not the new p5 822. In this case, and with... Figure 8A In contrast, because the points in each group now have different positions relative to the points in the previous group (e.g., not just in rotation space), linear transformation models may not provide as accurate results as nonlinear models (discussed further below).
[0113] B. Train the transformation model to map embeddings between embedding tables.
[0114] Transformation models can be generated by using machine learning models to map embeddings from one embedding table to another (e.g., mapping vectors in a source space to a target space). In one implementation, the transformation model can map a set of vectors generated from a newly generated embedding table to a set of vectors generated from a previously generated embedding table (or vice versa).
[0115] Supervised learning processes can be used to train machine learning models. Given a vector set X∈R in the source space... n x d1 ={x1,x2,…x n},x i ∈R d1 and its corresponding vector Y∈R in the target space n xd2 ={y1,y2,…y n},y i ∈R d2 The model can be trained to find a mapping function f such that all vectors in the source space can be mapped to the target space as f(X), while minimizing the loss function L = l(f(X), Y). In some implementations, the number of dimensions (d1, d2) of the source and target spaces can be between 200 and 300. The number of dimensions can be chosen using any suitable method, including, for example, based at least in part on the type of training data (e.g., user identifiers, resource provider identifiers, etc.).
[0116] 1. Training a linear transformation model
[0117] As previously discussed, in some implementations, a linear transformation model can be adapted to determine the mapping function f from the source space to the target space (e.g., if the spaces are rotations of each other). In this case, the mapping matrix W∈R can be computed.d1 x d2 And minimize the mean squared error (MSE) to generate a linear model:
[0118] L = ||x i W–y i || 2
[0119] In this case, the optimal value of W can be calculated using a closed-form solution. For a single vector x i The mapped vector can be calculated as y. i '=x i W. In one example where d1 = d2, the dimension of W can be 200 × 200. In other implementations, d1 may not be the same as d2. For more information on this type of linear mapping, see, for example, Joulin, A. et al., Improving supervised bilingual mapping of word embeddings. CoRR abs / 1804.07745 (2018). As mentioned above, linear models can be useful for mapping high-frequency words in a vocabulary (e.g., a language), and for cases where the structure of high-frequency words is similar between two languages. However, when “words” can be user identifiers (such as cardholder IDs), the frequency of use between identifiers can be highly variable (even with aggregation). Furthermore, user behavior can change rapidly and / or substantially over time, making linear mapping potentially less accurate.
[0120] 2. Training the nonlinear transformation model
[0121] In some implementations, the nonlinear transformation model may be better suited to determining the mapping function f from the source space to the target space, particularly when word frequencies in language can be highly variable (e.g., fewer transactions for a given cardholder ID) and / or the behavioral patterns of each word undergo substantial changes over time (e.g., new shopping patterns emerge due to users migrating to new cities). In one implementation, the nonlinear transformation model may include a neural network with a single hidden layer. In some implementations, more than a single hidden layer may be used. Additionally, in some implementations, the neural network may utilize ReLU as the activation function. In other implementations, other activation functions (e.g., TanH) may be used. The model may use a weight matrix W1∈R d1 x u ,W2∈R u x d2 and offset b∈R u Let's represent it as follows. For a vector x in the source space... i The vector mapped in the target space can be represented as:
[0122] f(x i )=yi =ReLU(x) i W1+b)W2
[0123] In this example, u can be a parameter of the model, which is the number of units (or hidden layer nodes) in the nonlinear model. For example, in one implementation, u = 1500. Furthermore, both d1 and d2 can be 200. In this case, W1 can be a 200×1500 matrix, and W2 can be a 1500×200 matrix. In some implementations, the value of u = 1500 prevents overfitting of the training data while still achieving better performance than a nonlinear model.
[0124] A loss function can be used to minimize the error during training. In one implementation, the loss function minimizes the sum of the cosine distances between vectors. The cosine distance represents the angular distance between two vectors to determine their similarity. In this case, the loss function can be expressed as:
[0125]
[0126] In some implementations, a loss function expressed as the sum of cosine distances allows vectors to be mapped to a target space within the ground truth of small cosine distances while still achieving acceptable accuracy. In other implementations, the MES loss function (described above) can also be used to train nonlinear models.
[0127] 3. Assessment
[0128] The evaluation process can be used to evaluate any of the models described above (linear or nonlinear). In one implementation, the K-nearest neighbor algorithm can be used to determine whether the ground truth (y) is within an acceptable distance from the output of the model (y'). In the first step of this implementation, the system can use a trained model (e.g., a nonlinear transformation model) to map the test instance x to the target space. Second, the system can select a point y” in the target space as the answer for the mapping, at least in part, based on y’. Third, the system can calculate the K-nearest neighbors of y” in the target space based on cosine distance (e.g., K = 1, 5, 10). The value of K can be predetermined by the administrator according to the desired level of accuracy. For example, setting K = 1 will require y to be within a single nearest neighbor of y” (e.g., the minimum error tolerance). In contrast, setting K = 10 will allow y to be one of the 10 nearest neighbors of y”.
[0129] It should be understood that y” (in place of y’) can be used (in step 2 above) to compute the K nearest neighbors because the mapped vector y’ may not be an existing point in the target space (e.g., an existing “word” such as a user identifier) and therefore may not allow for accurate evaluation. Therefore, the system can determine y” as an existing word in the target space, at least in part, based on y’. In one implementation, y” is selected by analyzing the nearest neighbors of all other points in the target space and finding the ranking of y’ among the neighbors of each point. Then, for all points in the target space, the system can select y” as the point where y’ has the highest ranking in the nearest neighbor list.
[0130] In some implementations, the system can determine, at least in part, that the transformation model needs to be regenerated and / or rebuilt, based on an assessment of its accuracy. Figure 3 The prediction model 300 may need to be regenerated. For example, the system may predetermine a threshold corresponding to an acceptable level of accuracy (e.g., a value of K). If the evaluation does not meet the threshold, the transformed model can be regenerated. Alternatively, the prediction model 300 may need to be retrained with new weights, at least in part, based on the updated dimensions from the updated embedding table.
[0131] Figure 9 An exemplary result is depicted after mapping an embedding vector from a source space to a target space according to an embodiment of the present invention. Figure 9 In the illustration 900, group 902 may represent a first set of user embeddings from a first space. Additionally, group 904 may represent a second set of user embeddings from a second space, whereby the user identifiers of the second set of embeddings correspond to the same user identifiers as those of the first set. In the example, the first group 902 may be generated at a later time point than the second group 904. As depicted, the first and second spaces do not significantly overlap, and therefore, embedding vectors within the first space do not map to the second space. However, after inputting group 902 into a transformation model (e.g., a nonlinear transformation model described with reference to Figure 8), a mapping 906 is generated. Mapping 906 depicts each vector of the first group 902 mapped to the second space of group 904, thus effectively incorporating the space.
[0132] Training the aforementioned transformation model involves mapping a set of source and target vectors, thereby providing ground truth labels indicating the appropriate target vector to which a given source vector should be mapped. This allows the model to be optimized by minimizing the loss function. However, it should be understood that the trained transformation model may accept a user identifier as input, for which the user embedding (e.g., from a previously generated embedding table) may not have existed previously.
[0133] In the example, the payment processing system can generate a new set of user embeddings monthly, at least in part, based on the cardholder's transaction data from the previous six months (e.g., January-June, February-July, etc.). Simultaneously, a prediction model 300 can be trained, at least in part, on a specific six-month dataset (e.g., January-June) and updated only once a year. Assume that a new cardholder transaction dataset can be received within July. This new dataset may include data from new cardholders for whom embedding vectors were not previously created and / or used to train prediction model 300. However, a transformation model can be used to generate transformed embedding vectors aligned with the dimensional space used to train prediction model 300, thus generating an access score. Furthermore, by determining the mapping between the source and target spaces, the transformation model can create transformed embeddings for existing cardholders, which combine old and new context data (e.g., January-July) within the same transformed embedding.
[0134] C. Method
[0135] Figure 10 and Figure 11 Flowcharts are shown for generating access scores from a previously trained prediction model using transformed embeddings and for generating the transformed embeddings for the output. Figure 10 The process 1000 can be utilized with Figure 3 Similar prediction models are described in the text, and Figure 11 The process 1100 used to generate the transformation model can be used with reference to Figure 8 and Figure 9 Similar neural networks are described in [the text].
[0136] 1. A method for generating access scores from a previously trained prediction model using transformed embeddings.
[0137] Figure 10 A process 1000 for generating access scores from a previously trained prediction model using a transformation model, according to an embodiment of the present invention, is described.
[0138] At block 1002, the system (e.g., a processing computer) may receive an access request for access to a resource by an access device. In some embodiments, the access request may be received after a previous embedding table has been generated having previous user embeddings associated with user identifiers of user devices. The access request may also include a resource provider identifier and a user identifier. The user identifier may be one of a plurality of user identifiers associated with a plurality of user devices.
[0139] At box 1004, the system can retrieve updated user embeddings associated with the user identifier and including multiple dimensions from the updated embedding table. In some implementations, the updated user embeddings may be similar to the reference... Figure 4 and Figure 5 Generate as described above.
[0140] At box 1006, the system can embed the updated user information into the system's transformation model. The transformation model can be similar to that shown in Figure 8 and... Figure 9 Training can be performed as described above. For example, the transformation model may have been trained by creating a mapping between the embedding vectors of the updated embedding table and the embedding vectors of the previous embedding table.
[0141] At box 1008, the transformation model may determine (e.g., generate) a transformed user embedding. In some embodiments, the transformed embedding may correspond to a context that incorporates context data from both the previous user embedding and the updated user embedding. In another embodiment, such as in the case of a new user, the transformed user embedding may include only context data from the updated user embedding, whereby the context is data-mapped to the old context space.
[0142] At box 1010, the system can feed the transformed user embedding into the system's machine learning model. In some implementations, the machine learning model may correspond to... Figure 3 The prediction model 300. In some implementations, the machine learning model 300 may have been previously trained using an embedding layer 308 generated from a previous embedding table.
[0143] At box 1012, the machine learning model can determine (e.g., generate) an access score to determine whether to authorize the user device to access the resource. In some implementations, this operation may be similar to that described in the reference. Figure 6 As described in frame 608.
[0144] 2. Methods for generating and evaluating transformation models
[0145] Figure 11 A process 1100 for generating and evaluating a transformation model according to an embodiment of the invention is described. In some embodiments, the transformation model is generated at least in part based on mapping a newly generated embedding table to a previously generated embedding table.
[0146] At box 1102, after generating the embedded table, the system can generate a second embedded table. In some embodiments, the steps for generating each of these embedded tables may be similar to those described in the reference. Figure 4 and Figure 5 As stated above.
[0147] At block 1104, the system can generate the transformation model based at least in part on the embedding table and the second embedding table. In some embodiments, the steps for generating the transformation model may be similar to those in Figure 8 and... Figure 9The steps described herein. For example, in one embodiment, the transformation model may include a linear model trained via the MSE loss function. In another embodiment, the transformation model may include a nonlinear model using a single hidden layer neural network. The neural network may use ReLU as the activation function. The neural network may be trained by minimizing a loss function, which may be expressed as the sum of the cosine distances between the corresponding embedding vectors between the two tables. Any other suitable variation of the transformation model and / or loss function may be used to perform embodiments of the invention. For example, in yet another non-limiting example, the transformation model may use the MUSE algorithm to generate the transformed embeddings. For more information on MUSE, see, for example, Conneau, A. et al., Word translation without parallel data. CoRR abs / 1710.04087 (2017).
[0148] At box 1106, the system may evaluate the transformation model at least in part based on the nearest neighbor algorithm. In one embodiment, the K-nearest neighbor algorithm may be used as described above. For example, the K-nearest neighbor algorithm may evaluate the model by mapping the test instance x to the target space as y'. The algorithm may then select a point y' in the target space at least in part based on y'. The algorithm may then determine the accuracy of the model by calculating the K-nearest neighbors of y' in the target space based on cosine distance (e.g., K = 1, 5, or 10) and determining whether the ground truth y is within the nearest neighbors. In some embodiments, the value of K may be predetermined as a threshold error tolerance value. In other embodiments, any suitable method may be used to evaluate the transformation model. After evaluation, one or more models may be retrained depending on whether the determined accuracy matches (e.g., equal to, greater than, or less than) a threshold. For example, prediction model 300 may be retrained using the newly generated embedding layer. In another example, the transformation model may be retrained using new initialization data.
[0149] IV. Use a transformation model to generate access scores to determine authorization for buildings.
[0150] As described above, the depicted implementation scheme can be implemented in various types of environments, such as payment processing networks, determining access to buildings, determining access to security servers, etc. In each of these environments, the predictive model can utilize embeddings to assess the risk level (e.g., access scoring) when an authorized user device accesses a resource.
[0151] Figure 12 A block diagram of a system for accessing building resources based at least in part on access scores, according to an embodiment of the invention, is depicted. Figure 12A system 1200 is shown, comprising user device 1202 (e.g., employee badge) 1201, access device 1204 (e.g., gateway server) 1206, and building 1206. Access device 1204 may further communicate with other intermediate computers (not shown) between access device 1201 and building 1206. For example, access device 1204 may be attached to building 1206 and connected via a network to a processing computer (e.g., similar to...). Figure 1 The card scanner of the processing computer 106. Building 1206 may also be connected to the processing computer. In another example, building 1206 (and / or the processing computer) may also be connected to an authorization computer (e.g., similar to...). Figure 1 (Authorized computer 108). For example, the authorized computer could be a building access server that controls entry and exit from building 1206.
[0152] exist Figure 12 In this process, user device 1202 is scanned by access device 1204 to attempt to grant user 1201 access to building 1206. After being scanned, access device 1204 may send an access request containing a user identifier (obtained from user device 1202) to a processing computer. The processing computer may then determine an access score using one or more of the embodiments described above (e.g., retrieving a user embedding and generating an access score at least in part based on the embedding). Based at least in part on the determined access score, the processing computer may recommend granting or denying access to building 1206 (e.g., a building access server, an authorization computer, etc.).
[0153] The above description outlines various implementation schemes. Specific configurations and details are presented for illustrative purposes to provide a thorough understanding of the schemes. However, those skilled in the art will also understand that implementation schemes can be practiced without these specific details. Furthermore, well-known features may be omitted or simplified to avoid obscuring the described implementation schemes.
[0154] It should be understood that any embodiment of this disclosure may be implemented using hardware (e.g., application-specific integrated circuits or field-programmable gate arrays) and / or computer software in the form of control logic, wherein the general-purpose programmable processor is in a modular or integrated form. As used herein, processors include single-core processors, multi-core processors on the same integrated chip, or multiple processing units on a single circuit board or networked together. Based on the disclosure and teachings provided herein, those skilled in the art will recognize and understand other ways and / or methods of implementing embodiments of this disclosure using hardware and combinations of hardware and software.
[0155] Any software component or function described in this application may be implemented as processor-executable software code using any suitable computer language such as Java, C, C++, C#, Objective-C, Swift, or a scripting language such as Perl or Python, employing conventional or object-oriented techniques. This software code may be stored as a series of instructions or commands on a computer-readable medium for storage and / or transmission. Suitable media include random access memory (RAM), read-only memory (ROM), magnetic media (such as hard disk drives or floppy disks), or optical media (such as optical discs (CDs) or digital versatile optical discs (DVDs)), flash memory, and so on. The computer-readable medium may be any combination of such storage or transmission means.
[0156] Such programs can also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and / or wireless networks conforming to various protocols, including the Internet. Therefore, computer-readable media according to embodiments of this disclosure can be created using data signals encoded with such programs. Computer-readable media encoded with program code can be packaged with compatible devices or provided separately from other devices (e.g., downloaded via the Internet). Any such computer-readable medium can reside on or within a single computer product (e.g., a hard disk drive, CD, or an entire computer system) and can exist on or within different computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing a user with any of the results mentioned herein.
[0157] The foregoing description is illustrative and not restrictive. Many variations of this disclosure will become apparent to those skilled in the art upon reading it. Therefore, the scope of this disclosure should not be determined by reference to the foregoing description, but rather by reference to the pending claims and their full scope or equivalents.
[0158] Without departing from the scope of this disclosure, one or more features from any embodiment may be combined with one or more features from any other embodiment.
[0159] Unless explicitly indicated otherwise, the use of “a,” “an,” or “the” is intended to indicate “one or more.”
[0160] All patents, patent applications, publications, and descriptions mentioned above are incorporated herein by reference in their entirety for all purposes. This does not constitute an admission that they are prior art.
Claims
1. A computer-implemented method, comprising execution by a processing computer: Receive an access request from a user device to access resources, the access request including a resource provider identifier and a user identifier from a plurality of user identifiers associated with a plurality of user devices. User embeddings are retrieved from a first embedding table. The user embeddings are associated with the user identifier and include multiple dimensions, each of which is associated with the context of the user identifier appearing in a previous access request that is temporally close to a subset of other user devices. The user embeddings provide a first multidimensional data point indicating the similarity between the user device and the subset of other user devices. The user embedding is input into a first machine learning model of the processing computer, the first machine learning model having been trained using the first embedding table; The first machine learning model determines an access score to determine whether to authorize the user device to access the resource, and the access score corresponds to the authenticity level of authorizing the user device to access the resource. A second embedding table is generated by a second machine learning model of the processing computer, which includes a second user embedding associated with the user identifier and includes a second plurality of dimensions, each of the second plurality of dimensions being associated with a second context of the user identifier appearing in a previous access request that is temporally close to other access requests from a second subset of other user devices among the plurality of user devices, wherein the second user embedding provides a second multidimensional data point indicating a second similarity between the user device and the second subset of the other user devices; as well as A transformation model is generated at least in part based on the embedding table and the second embedding table, the transformation model being trained to determine a mapping between a first embedding of the first embedding table and a second embedding of the second embedding table.
2. The computer-implemented method of claim 1, wherein the user identifier is associated with a user account of the user of the user device.
3. The computer-implemented method according to claim 1, wherein the user embedding is one of a plurality of user embeddings in the first embedding table, the first multidimensional data point corresponds to a vector, and each value of the vector is associated with a dimension among the plurality of dimensions.
4. The computer-implemented method of claim 3, wherein the similarity between the user device and a subset of the other user devices is determined at least in part based on comparing each value within their respective associated vectors.
5. The computer-implemented method of claim 1, wherein the first machine learning model comprises a neural network, the neural network being trained at least in part based on determining the weights of the nodes of the neural network using values corresponding to the dimension of the user embedding as input.
6. The computer-implemented method according to claim 1, further comprising: Transmit an authorization request message, including the access score, to the authorized computer; Receive an authorization response message including an authorization response, the authorization response being at least in part based on the access score; as well as The authorization response is transmitted to the access device associated with the resource provider, the authorization response being used to determine whether the user device is authorized to access the resource.
7. The computer-implemented method according to claim 1, further comprising: Receive training data, the training data including a second plurality of user identifiers, the second plurality of user identifiers being associated with a subset of the other user devices, each of the second plurality of user identifiers being selected to be included in the training data based at least in part on at least one previous access request appearing in the previous access request having the resource provider identifier; The training data is input into the second machine learning model of the processing computer; The first embedding table is generated by the second machine learning model based at least in part on the training data; as well as The first machine learning model is trained using the training data and the first embedding table, wherein the authenticity of the previous access request is known.
8. The computer-implemented method of claim 7, wherein the second machine learning model is trained at least in part based on minimizing a loss function configured to determine the difference between the ground truth user identifier and the predicted user identifier.
9. The computer-implemented method of claim 1, wherein the first machine learning model is further trained to generate the access score based at least in part on a resource provider embedding corresponding to the resource provider identifier.
10. The computer-implemented method according to claim 1, further comprising: Receive a second access request from the user device to access a second resource, the second access request including a second resource provider identifier and the user identifier from among the plurality of user identifiers respectively associated with the plurality of user devices; The second user is embedded into the transformation model; The transformed user embedding is determined by the transformation model; The transformed user embedding is input into the first machine learning model of the processing computer; as well as The first machine learning model determines a second access score to determine whether to authorize the user device to access the second resource.
11. The computer-implemented method of claim 10, wherein the first machine learning model receiving the transformed user embedding as input is trained based at least in part on the first embedding table generated prior to the second embedding table.
12. The computer-implemented method of claim 10, wherein the transformation model comprises a neural network, and the generation of the neural network corresponds to generating the mapping between the user embedding and the second user embedding based at least in part on minimizing a loss function.
13. The computer-implemented method according to claim 1, wherein the neural network of the transformation model is a nonlinear model.
14. The computer-implemented method of claim 1, wherein the user embedding corresponds to a first vector, each value of the first vector being associated with a corresponding dimension among the plurality of dimensions, and the second user embedding corresponds to a second vector, each value of the second vector being associated with a corresponding dimension among the second plurality of dimensions.
15. The computer-implemented method of claim 14, wherein the plurality of dimensions and the second plurality of dimensions correspond to different context spaces.
16. The computer-implemented method of claim 14, wherein the neural network of the transformation model is trained at least in part based on minimizing a loss function configured to determine the mean square error (MSE) between the first vector and the second vector or to determine the cosine distance between the first vector and the second vector.
17. The computer-implemented method according to claim 16, further comprising: The accuracy of the transformation model is determined at least in part based on using the determined cosine distance to determine the K-nearest neighbors.
18. The computer-implemented method of claim 17, wherein the first machine learning model or the second machine learning model is retrained after the determined accuracy matches a predetermined threshold.
19. The computer-implemented method according to claim 1, wherein the neural network of the transformation model is a linear model.
20. The computer-implemented method of claim 1, wherein the second machine learning model is trained using multiple training datasets, each training dataset being associated with a different resource provider.
21. A system comprising: The processor computer includes: Processor; and A computer-readable medium comprising code that, when executed by the processor, causes the processor to perform a computer-implemented method according to any one of claims 1-20.
Citation Information
Patent Citations
Neural network systems and methods for generating distributed representations of electronic transaction information
US20170372318A1
Systems and methods to reduce feature dimensionality based on embedding models
US20180197108A1