Skip to content

Latest commit

 

History

History
90 lines (74 loc) · 4.38 KB

model_architecture.md

File metadata and controls

90 lines (74 loc) · 4.38 KB
graph TD
    subgraph Input [Input Data]
        EventMDP[Click on MDP] --> EventStream[(Event Stream)]
        EventTxn[Transaction] --> EventStream
        EventSearch[Search] --> EventStream[(Event Stream)]
        EventTxn[Transaction] --> UserFeatures[(User Features)]
        EventStream --> CurrentEvent[Current Event]
        EventStream --> PreviousEvents[Previous Events]
        UserFeatures --> MerchantsReserved[Merchants Reserved]
        end

    subgraph Candidate [Candidate Model]
        CurrentEvent --> TargetRUID[Target merchant_id]
        TargetRUID --> CandidateOneHot[One-Hot Encoding]
        CandidateOneHot --> CandidateEmbedding[Embedding]
        end

    subgraph Query [Query Model]
        subgraph ContextRUIDsFeatures [Context Merchants]
            PreviousEvents --> ContextRUIDs[Context RestauranUIDs]
            ContextRUIDs --> ContextRUIDsOneHot[One-Hot Encodings]
            ContextRUIDsOneHot --> ContextRUIDsEmbedding[Embeddings]

            PreviousEvents --> ContextRUIDsRecency[Recency]
            ContextRUIDsRecency --> |bucketing| ContextRUIDsRecencyBucket[Recency Buckets]
            ContextRUIDsRecencyBucket --> ContextRUIDsRecencyOneHot[One-Hot Encodings]
            ContextRUIDsRecencyOneHot --> ContextRUIDsRecencyEmbedding[Embeddings]

            ContextRUIDsEmbedding --- ContextRUIDsConcatenate((+))
            ContextRUIDsRecencyEmbedding --- ContextRUIDsConcatenate
            ContextRUIDsConcatenate --> ContextRUIDsConcatEmbedding[Embeddings]
            ContextRUIDsConcatEmbedding --> ContextRUIDsGRU[GRU]
            end

        subgraph ContextSearchTermsFeatures [Context Search Terms]
            PreviousEvents --> ContextSearchTerms[Context Search Terms]
            ContextSearchTerms --> ContextSearchTermsOneHot[One-Hot Encodings]
            ContextSearchTermsOneHot --> ContextSearchTermsEmbedding[Embeddings]

            PreviousEvents --> ContextSearchTermsRecency[Recency]
            ContextSearchTermsRecency --> |bucketing| ContextSearchTermsRecencyBucket[Recency Buckets]
            ContextSearchTermsRecencyBucket --> ContextSearchTermsRecencyOneHot[One-Hot Encodings]
            ContextSearchTermsRecencyOneHot --> ContextSearchTermsRecencyEmbedding[Embeddings]

            ContextSearchTermsEmbedding --- ContextSearchTermsConcatenate((+))
            ContextSearchTermsRecencyEmbedding --- ContextSearchTermsConcatenate
            ContextSearchTermsConcatenate --> ContextSearchTermsConcatEmbedding[Embeddings]
            ContextSearchTermsConcatEmbedding --> ContextSearchTermsGRU[GRU]
            end

        subgraph MerchantsReservedFeatures [Merchants Reserved]
            MerchantsReserved --> MerchantsReservedOneHot[One-Hot Encodings]
            MerchantsReservedOneHot --> MerchantsReservedEmbedding[Embeddings]

            MerchantsReserved --> MerchantsReservedRecency[Recency]
            MerchantsReservedRecency --> |bucketing| MerchantsReservedRecencyBucket[Recency Buckets]
            MerchantsReservedRecencyBucket --> MerchantsReservedRecencyOneHot[One-Hot Encodings]
            MerchantsReservedRecencyOneHot --> MerchantsReservedRecencyEmbedding[Embeddings]

            MerchantsReservedEmbedding --- MerchantsReservedConcatenate((+))
            MerchantsReservedRecencyEmbedding --- MerchantsReservedConcatenate
            MerchantsReservedConcatenate --> MerchantsReservedConcatEmbedding[Embeddings]
            MerchantsReservedConcatEmbedding --> MerchantsReservedGRU[GRU]
            end
        end

    ContextRUIDsGRU --- QueryConcat((+))
    ContextSearchTermsGRU --- QueryConcat((+))
    MerchantsReservedGRU --- QueryConcat((+))

    QueryConcat --> QueryDense[Dense]
    CandidateEmbedding --> CandidateDense[Dense]

    QueryDense --- Loss[[Maximize Affinity]]
    CandidateDense --- Loss

    QueryDense -.- QueryModel
    CandidateDense -.- CandidateModel

    subgraph TrainingTask[Training Task]
        Loss --> AffinityScore[Affinity Score]
        end

    subgraph RetrievalTask[Retrieval Task]
        CandidatePool[Candidate Pool] --- |transformed| CandidateModel[Candidate Model] --> CandidateVectors[Candidate Vectors] --> |indexed| Indexer[Nearest Neighbors Search]
        InputContext[Input Context] --- |transformed| QueryModel[Query Model] --> QueryVector[Query Vector]
        QueryVector --- |find similar| Indexer --> |find top similar candidates| RetrievalCandidates[Retrieval Candidates]
        end
Loading