Systems and methods for policy enforcement

By using machine learning models and large language models, filtering and reviewing digital components, the time-consuming and costly problems of manual review in the prior art are solved, and the effect of reducing processing power and network overhead is achieved.

CN120019371APending Publication Date: 2025-05-16GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380014623.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-14
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

In the prior art, users need to manually review each digital component to determine whether a policy is violated, resulting in time-consuming and computationally expensive, requiring significant processing power, memory and network overhead.

Method used

Only a subset of candidate digital components are provided for further review by using machine learning models, especially large language models (LLM), determining whether candidate digital components violate the policy and filtering based on the similarity between content and/or content providers and previously reviewed digital components.

Benefits of technology

Reduces the number of user manual reviews, reduces processing power and network overhead, improves computing efficiency, and prevents unwanted digital components from being provided for output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120019371A_ABST
    Figure CN120019371A_ABST
Patent Text Reader

Abstract

The techniques generally involve determining whether a candidate digital component violates a policy and propagating a policy tag using the determination. The candidate digital components may be filtered such that only a subset of the candidate digital components are provided to the machine learning model for further policy review. The machine learning model may provide a confidence score associated with the policy violation prediction. The policy violation prediction may be "violating the policy" or "not violating the policy". A confidence score may be used when determining whether to use policy violation prediction to propagate tags to other digital components. Labels may be propagated using a seed-based execution system or a neighborhood-based propagation system.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Typically, when a policy violation is determined, a user manually reviews each digital component to determine whether the digital component violates a given publisher's policy. An automatic classification system may flag a digital component for further review, but will still provide the digital component for publisher output while the digital component is awaiting user review. This may result in digital components that violate a policy being provided for output. User review of each digital component is time consuming and intensive. Furthermore, attempting to replace user reviewers with an automatic classification system that reviews all digital components is computationally expensive, requiring significant processing power, memory, and network overhead. Summary of the invention

[0002] The technology generally relates to determining whether a candidate digital component violates a policy and using the determination to propagate a policy label. The candidate digital component can be filtered so that only a subset of the candidate digital components is provided to a machine learning model. The machine learning model can be a large language model ("LLM") for further policy review. The candidate digital components can be filtered based on the similarity of the content and / or content provider to the previously reviewed digital component, whether the candidate digital component already includes a policy violation label, etc. The subset of the candidate digital components remaining after filtering can be provided as input to the LLM. The LLM can provide a confidence score associated with a policy violation prediction. The policy violation prediction can be "violation of policy" or "no violation of policy". Based on the policy violation prediction, a label corresponding to the prediction can be associated with the digital component. According to some examples, a confidence score can be used when determining whether to use a policy violation prediction to propagate a label to other digital components. For example, when the confidence score is above a threshold, the digital component marked by the LLM can be used to propagate the policy label to other similar digital components. The label can be propagated using a seed-based execution system or a neighborhood-based propagation system. The seed-based propagation system can propagate labels based on the similarity of content and / or content providers. Neighborhood-based propagation systems may use a machine learning (“ML”) model to predict a confidence score, which is then used to propagate labels to neighboring digital components.

[0003] One aspect of the present disclosure relates to a method, comprising: determining, by one or more processors, embeddings associated with a plurality of candidate digital components and previously reviewed digital components; determining, by one or more processors, similarities between the candidate digital components and the previously reviewed digital components based on the determined embeddings, the similarities comprising at least one of content similarity or content provider similarity; identifying, by one or more processors, a subset of digital components from the plurality of candidate digital components, wherein the subset of digital components comprises one or more digital components having similarities below a threshold similarity; providing, by one or more processors, the identified subset of digital components as input to a machine learning model; determining, by one or more processors, that digital components in the subset of digital components violate policies by executing the machine learning model; marking, by one or more processors, the subset of digital components based on the determined policy violations; and propagating, by one or more processors, the labels to other digital components, wherein the other digital components are outside the subset of digital components.

[0004] The method may further include removing, by the one or more processors, a second subset of digital components from the plurality of candidate digital components, wherein the second subset of digital components includes one or more digital components having a similarity above a threshold similarity. The method may further include identifying, by the one or more processors, previously reviewed digital components having a greater similarity to the second body of digital components, and marking the second subset of digital components with a policy violation tag of the previously reviewed digital components having the greater similarity.

[0005] The previously reviewed digital components may include at least one of previously reviewed marked digital components or previously reviewed unmarked digital components. When identifying one or more digital components, the method may further include removing previously reviewed marked digital components from the plurality of candidate digital components.

[0006] The method may further include determining, by one or more processors, whether the machine learning model has already determined a policy violation for a candidate digital component; and deduplicating multiple candidate digital components to remove candidate digital components with previously determined policy violations.

[0007] When it is determined that one or more digital components violate the policy, the method may further include executing the machine learning model by one or more processors to determine a binary response to at least one prompt. The binary response may be yes or no. At least one prompt may be generated based on the policy.

[0008] When propagating the labels to other digital components, the method may further include: identifying, by the one or more processors, neighboring digital components based on the determined embeddings; and labeling, by the one or more processors, the neighboring digital components with policy labels corresponding to the policy labels of the subset of digital components. The neighboring digital components may include unlabeled digital components within a threshold embedding distance of one or more digital components in the subset of digital components.

[0009] The other digital components may include at least one of a previously reviewed marked digital component, a previously reviewed unmarked digital component, or an unmarked digital component.

[0010] The machine learning model may be a large language model ("LLM").

[0011] Another aspect of the present disclosure relates to a system including one or more processors. The one or more processors may be configured to determine embeddings associated with a plurality of candidate digital components and previously reviewed digital components, determine similarity between the candidate digital components and the previously reviewed digital components based on the determined embeddings, the similarity comprising at least one of content similarity or content provider similarity, identify a subset of digital components from the plurality of candidate digital components, wherein the subset of digital components comprises one or more digital components having similarities below a threshold similarity, provide the subset of digital components as input to a machine learning model, determine by executing the machine learning model that digital components in the subset of components violate a policy, label the subset of digital components based on the determined policy violation, and propagate the label to other digital components, wherein the other digital components are outside the subset of digital components.

[0012] Yet another aspect of the disclosure relates to one or more computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to: determine embeddings associated with a plurality of candidate digital components and a previously reviewed digital component; determine similarities between the candidate digital components and the previously reviewed digital component based on the determined embeddings, the similarities comprising at least one of content similarity or content provider similarity; identify a subset of digital components from the plurality of candidate digital components, wherein the subset of digital components comprises one or more digital components having similarities below a threshold similarity; provide the subset of digital components as input to a machine learning model; determine, by executing the machine learning model, that a digital component in the subset of components violates a policy; label the subset of digital components based on the determined policy violation; and propagate the labels to other digital components, wherein the other digital components are outside the subset of digital components. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1is a flow chart for determining and propagating policy violations according to aspects of the present disclosure.

[0014] Figure 2 is a schematic diagram of example digital components according to aspects of the present disclosure.

[0015] Figure 3 is a block diagram of example digital components for filtering according to aspects of the present disclosure.

[0016] Figure 4 is a flow chart of an example method for determining policy violations according to aspects of the present disclosure.

[0017] Figure 5 is a block diagram of digital components of a storage device according to aspects of the present disclosure.

[0018] Figure 6 is a flow chart of an example method for seed-based label propagation according to aspects of the present disclosure.

[0019] Figure 7 is a block diagram of an example system according to aspects of the present disclosure.

[0020] Figures 8A-8C is a schematic diagram illustrating an example method of neighborhood-based label propagation according to aspects of the present disclosure.

[0021] Fig. 9 is a block diagram of an example system according to aspects of the present disclosure.

[0022] Fig.10 is a block diagram illustrating an example model architecture according to aspects of the present disclosure.

[0023] Fig.11 is a flow chart of an example method of propagating policy tags according to aspects of the present disclosure. DETAILED DESCRIPTION

[0024] The technology generally relates to determining whether a candidate digital component violates a policy based on how similar the content or content provider is to a previously identified digital component that violates a policy. A digital component can be, for example, a static and / or animated image, text, video, etc. The content or content type can be something that is visually or audibly recognizable within a digital component. A content provider can be, for example, a person, entity, etc. that provides a digital component to a publisher as part of a content submission. A publisher can be, for example, a website or mobile application that provides a digital component for output. A digital component that has previously been identified as violating a policy can include one or more policy tags indicating that the digital component violates a policy, what the violation is, etc.

[0025] Policy labels and associated digital components - including content and content providers - can be used to train a machine learning ("ML") model to predict whether a newly submitted digital component violates a policy. For example, the ML model can compare embeddings associated with the content and / or content provider of a candidate digital component to embeddings associated with the content and / or content provider of a previously labeled digital component. The machine learning model can provide an indicative prediction of a policy violation based on how similar the content or content provider is.

[0026] Candidate digital components can be filtered based on policy violation predictions, content similarity, and / or content provider similarity. For example, if the predicted probability of a policy violation is below a threshold, the candidate digital component can be filtered out without further review. If the content and / or content provider similarity is above a similarity threshold, the candidate digital component can be filtered out without further review. If the content and / or content provider similarity is below a similarity threshold, the candidate digital component can be flagged for further review. The candidate digital component flagged for further review can be provided as input to a machine learning model.

[0027] Example machine learning models include neural networks or other multi-layer nonlinear models. Example neural networks include feedforward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Some example machine learning models can make full use of attention mechanisms, such as self-attention. For example, some machine learning models can include multi-head self-attention models (e.g., transformer models).

[0028] The model can be trained using various training or learning techniques. Training can implement supervised learning, unsupervised learning, reinforcement learning, etc. Training can use techniques such as, for example, back propagation of errors. For example, a loss function can be back propagated through the model to update one or more parameters of the model (e.g., based on the gradient of the loss function). Various loss functions can be used, such as mean squared error, likelihood loss, cross entropy loss, hinge loss, and / or various other loss functions. Gradient descent techniques can be used to iteratively update parameters in multiple training iterations. A variety of generalization techniques (e.g., weight decay, dropout) can be used to improve the generalization ability of the trained model.

[0029] The model may be pre-trained prior to domain-specific alignment. For example, the model may be pre-trained on a general corpus of training data, and fine-tuned on a more targeted corpus of training data. The model may be aligned using prompts designed to elicit domain-specific outputs. The prompts may be designed to include learned prompt values ​​(e.g., soft prompts). The trained model may be validated using input data other than the training data prior to its use, and may be further updated or refined based on additional feedback / input during its use.

[0030] The machine learning model can be, for example, a large language model ("LLM"). The LLM can determine whether a candidate digital component violates a policy. Based on the determination of the LLM, the candidate digital component can be labeled. The label associated with the candidate digital component can be used to propagate the label to other digital components.

[0031] According to some examples, determining the similarity of digital components to propagate tags before further reviewing the digital components can improve computational efficiency. For example, if the content and / or content provider of a candidate digital component is above a threshold similarity to a previously labeled digital component, no further review of the digital component is required. Instead, tags from previously labeled digital components can be automatically applied to the candidate digital component. By automatically applying tags above a threshold similarity to previously labeled digital components to digital components, processing power and network overhead can be reduced by no longer having to review all candidate digital components.

[0032] The propagation of policy label determination and label can prevent unwanted digital components from being provided for output to users. For example, by propagating policy violation labels to digital components with similar content and / or content providers, digital components that prevent policy violations from being provided for output to users without ever being examined. This improves computing efficiency by no longer requiring all digital components to be examined, thereby reducing processing power and network overhead. In addition, because it is not necessary to provide replacement digital components for digital components that violate policies due to policy labels, processing power and network overhead are reduced.

[0033] Figure 1 1 is an example flow chart illustrating a method for predicting whether a digital component violates a policy and propagation of the determination made. Predicting a policy violation may include identifying candidate digital components 102, filtering candidate digital components 104, predicting a policy violation 106, propagating a label associated with the predicted policy violation 108, and a feedback loop 114. Digital Components

[0034] Candidate digital components 102 may be digital components that have been received by a publisher. A publisher may provide content, such as a digital component, for output on a website or mobile application. In some examples, the digital component may be a static or animated image, a video, an advertisement, etc. Digital components 102 may be stored in a storage device for review of relevant policy violations. For example, candidate digital components 102 may be reviewed to predict policy violations before being provided for output.

[0035] Figure 2Example candidate digital components are shown. Candidate digital components AD can be associated with information such as embeddings. The embeddings can correspond to content types, content providers, etc. In some examples, comparison of the embeddings of digital components can provide indications of how similar or different content of the digital components is, how similar or different content providers are, etc.

[0036] According to some examples, an ML model can be used to generate an embedding. For example, the embedding can be a representation of the content type and / or content provider of a given digital component, the representation generated by the ML model. According to some examples, the embedding can be stored in a database, memory, storage system, etc. that can be accessed by the system. For example, the ML model can access the database to use the embedding as training data and / or inference data to determine the probability of a policy violation.

[0037] The content type can be, for example, the type of content within a digital component. In some examples, the content type can be the content visible in the digital component. As shown, the content type of candidate digital component A is "train" because the train is visible in the candidate digital component. In contrast, the content type of candidate digital component C can be "train; person; text" because the train, person, and text bubble are visible within candidate digital component C. Each content type - e.g., train, person, text, car, etc. - can correspond to an embedded value.

[0038] A content provider may be, for example, a provider that submits a candidate digital component to a publisher. According to some examples, a content provider may be a person, entity, business, etc. associated with a digital component. Each content provider may correspond to an embedded value. filter

[0039] Back to Figure 1 , the candidate digital components 102 can be filtered 104. According to some examples, the candidate digital components 102 can be filtered 104 based on content and / or content provider similarity. The content and / or content provider similarity can be determined based on a comparison of the embedding of the candidate digital components with previously labeled digital components, previously reviewed unlabeled digital components, and the like (collectively, “previously labeled digital components”).

[0040] According to some examples, a previously marked digital component may be a digital component that has been reviewed for policy violations and has been marked with a label of "policy violation" or "no policy violation". The embedding associated with the previously marked digital component may be compared to the embedding of the candidate digital component. For example, the distance between the content and / or content provider embedding of the candidate digital component and the previously marked digital component may be determined. If the distance is within a threshold distance, the candidate digital component may be identified as being similar to the corresponding previously marked digital component. Conversely, if the distance is greater than the threshold distance, the candidate digital component may be identified as being dissimilar to the previously marked digital component. In such an example, the candidate digital component may be identified as requiring further review.

[0041] According to some examples, the embedding distance between the candidate digital component and the previously labeled digital component can correspond to a similarity score. For example, the smaller the distance between the embeddings, the larger the similarity score, and therefore the more similar the candidate digital component and the previously labeled digital component may be. Candidate digital components with similarity scores below a threshold can be selected for further review. Candidate digital components with similarity scores above a threshold can be filtered out for no further review. In some examples, candidate digital components with similarity scores above a threshold can be automatically labeled with a policy label of a similar previously labeled digital component. Automatic labeling of candidate digital components is discussed more in this article with respect to label propagation techniques.

[0042] In some examples, candidate digital components 102 can be compared with digital components that have been reviewed by LLM but have not been marked with policy violation tags. For example, if the digital component has been reviewed by LLM, but the confidence score of LLM indicates that there may be no policy violation, the digital component can remain unmarked and be returned to filtering stage 104. Therefore, the unmarked digital component that has been reviewed can be a digital component that does not violate the policy. Candidate digital components 102 can be compared with unmarked digital components that have been reviewed. If candidate digital components 102 are higher than the threshold similarity with the unmarked digital components that have been reviewed, candidate digital components 102 can be filtered out without further review. Specifically, if candidate digital components 102 are higher than the threshold similarity with the unmarked digital components that have been reviewed, LLM may determine the similarity confidence score of the candidate digital component as the confidence score of the unmarked digital components that have been reviewed. Therefore, instead of further reviewing with computing resources, candidate digital components 102 can be filtered out based on the similarity with the unmarked digital components that have been reviewed. In such an example, the candidate digital component may be a non-policy violating digital component based on its similarity to an unlabeled, already-reviewed digital component that was determined to be a non-policy violating digital component.

[0043] According to some examples, only some of the candidate digital components 102 may be provided to the LLM to determine whether the digital component violates a policy. For example, candidate digital components with a similarity score above a threshold may be filtered out for further policy review by the LLM. Additionally or alternatively, candidate digital components that have been reviewed and / or marked may be filtered out for further policy review by the LLM. For example, digital components that have been marked with a policy tag may be excluded from further or additional policy review. According to some examples, an ML model may be used to predict the probability of a policy violation. In such an example, if the probability of a policy violation for a given candidate digital component is below a threshold, the candidate digital component may be filtered out for further policy review.

[0044] By funneling or filtering the digital components 104, only a subset of the candidate unlabeled digital components may have to be further analyzed for policy violations. This can improve computational efficiency by reducing processing power and network overhead. For example, by analyzing only a subset of the candidate digital components, as compared to analyzing all candidate digital components, and using policy determination to propagate labels to other digital components with similar content and / or content providers, the number of candidate digital components to be analyzed is reduced, thereby reducing the amount of processing power and network overhead by not requiring certain candidate components to be provided to the LLM to determine whether the digital component violates a policy.

[0045] Figure 3 An example of filtering candidate digital components based on content and / or content provider similarity is shown. Each candidate digital component 302 can be associated with a corresponding embedding value of their content type and content provider. Embedding can be used to filter or funnel candidate digital components into those digital components 320 that will be further reviewed and those digital components 322 that do not require further review.

[0046] Candidate digital components AF can be compared to previously marked digital components. For example, the embedding associated with candidate digital component AC can be within a threshold distance from the embedding associated with the previously marked digital component. In such an example, the content type of candidate digital component AC - e.g., trains - can be substantially similar to the content type of the previously marked digital component. Additionally or alternatively, the content provider - e.g., ABC toys and / or RRRailroads - can be substantially similar to the content provider of the previously marked digital component. In examples where the distance between embeddings is less than a threshold distance or the similarity score is higher than a threshold similarity score, candidate digital components, such as candidate digital component AC, can be filtered out from additional policy review 322.

[0047] Based on the embedding distance of either or both of the content type and the content provider to the previously marked digital component being within a threshold, the candidate digital component AC may be automatically marked with a policy tag associated with a similar previously marked digital component. In some examples, when the similarity of the content type and / or content provider of the candidate digital component AC to the previously marked digital component is above a threshold similarity, the candidate digital component AC may be automatically marked with a policy tag associated with a similar previously marked digital component. Automatic marking of candidate digital components is discussed in more detail herein in association with tag propagation 108.

[0048] According to some examples, an embedding associated with a content type and / or content provider of a candidate digital component DF may be at a distance greater than a threshold distance from an embedding associated with a content type and / or content provider of a previously marked digital component. In such an example, the content type and / or content provider of the candidate digital component DF may have a similarity score with the previously marked digital component that is below a threshold similarity score. In examples where the distance between embeddings is greater than a threshold distance or the similarity score is below a threshold similarity score, the candidate digital component, such as the candidate digital component DF, may be flagged for additional policy review 320.

[0049] Filtering candidate digital components can improve computational efficiency by reducing the volume of digital components for additional policy review. For example, by removing candidate digital components for further review based on similarity to previously marked and / or previously reviewed unmarked digital components, the remaining digital components can be representative, highly impressive, potentially positive, yet-to-be-flagged digital components. By providing only a subset of candidate digital components for further review, computational efficiency is improved by reducing the amount of processing power required to further review the digital components. For example, processing power and network overhead are reduced, and the number of digital components is reduced through the filtering stage. Policy violation prediction

[0050] Return to reference Figure 1 After filtering 104 the candidate digital components, the remaining candidate digital components may be provided as input to the LLM for policy violation prediction 106. For example, after being filtered, only a subset of the candidate digital components may be provided as input to the LLM for additional policy review.

[0051] LLM can be used to classify digital components as violating or not violating policies. In some examples, LLM can be configured to provide a confidence score associated with a violation of policy determination. A violation of policy determination can be "violating policy" or "not violating policy". The LLM model uses one or more prompts to determine whether a given digital component violates a policy. Prompts can be generated based on content that is considered to violate a given policy. Prompts can be binary, so that the answer to the prompt is one answer or another answer. For example, a binary answer can be yes or no, 1 or 0, etc. In some examples, prompts can be non-binary, so that more than two answers can be possible. In such examples, responses to non-binary prompts can be converted into binary answers. The conversion can depend on the prompt, the number of possible answers, etc.

[0052] The LLM response to the prompt can be used to generate a confidence score as to whether the digital component violates the policy. According to some examples, the answer to the prompt can have a logarithmic probability indicating the accuracy of the answer provided by the LLM to the given prompt. In some examples, the probability can be used to generate the confidence score. In some examples, the probability can correspond to the confidence score.

[0053] If the confidence score is above a threshold, the policy tag associated with the digital component may be used to propagate the tag to similar digital components, e.g., digital components with similarity scores above a threshold. If the confidence score is below a threshold, the tag associated with the digital component may not be used to propagate the tag to other digital components.

[0054] Figure 4 A block diagram of a policy violation prediction system that can be implemented on one or more computing devices in one or more locations is shown. The policy violation prediction system 440 can be part of a remote system that communicates with one or more user devices via a network. The remote system can be a single computer, multiple computers, or a distributed system like a cloud environment. The remote system can include computing resources such as data processing hardware and storage resources such as memory hardware. A data warehouse such as a remote storage device can be superimposed on the storage resource to allow one or more clients or computing resources such as user devices to use the storage resource scalably. The data warehouse can be configured to store multiple data blocks in one or more tables such as a cloud database, each table including multiple rows and columns. The data warehouse can store any number of tables.

[0055] The policy violation prediction system 440 may be configured to receive candidate digital components 402 as input. The candidate digital components 402 may be static or animated images, videos, text, etc. received from a content provider. Each candidate digital component 402 received as input may request one or more tasks for the policy violation prediction system 440 to generate a confidence score about a policy violation. The confidence score may indicate the likelihood of whether the candidate digital component 402 provided as input violates a policy. The policy violation prediction system 440 may be configured to mark 442 the candidate digital component 402 with a label based on the confidence score. For example, if the confidence score is above a threshold, a label 442 indicating a policy violation may be associated with the candidate digital component 402.

[0056] The policy prediction violation system 440 may include a machine learning model, such as an LLM 444. The LLM 444 may be configured to provide a plurality of outputs 446. The policy violation system 440 may include a score calculation module 448, which is configured to receive the plurality of outputs 446 and provide a plurality of scores 450 as outputs. The LLM 444 may receive the candidate digital component 402 as an input. The output 446 of the LLM 444 may include an answer to a prompt used by the LLM 444 to determine whether a given candidate digital component 402 violates a policy. The prompt may be generated based on a given policy of the publisher. The prompt may be a binary prompt requiring a yes or no answer, a "0" or a "1" or any other binary response.

[0057] Output 446 may be a binary response to a prompt of LLM 444. Output 446 may have a probability indicating the accuracy of an answer to a given prompt provided by LLM 444. The probability may be, for example, a log probability.

[0058] Output 446 may be provided as an input to a calculate score module 448. Calculate score module 448 may be configured to determine a confidence score 450 associated with a determined policy that violates LLM 444. For example, calculate score module 448 may provide an initial score. The score may be a logarithmic probability between negative infinity and zero. For a "yes" answer to the prompt, calculate score module 447 may determine: exp(logarithmic probability). In some examples, for a "no" answer to the prompt, calculate score module 448 may determine: 1-exp(logarithmic probability). This determination may convert the logarithmic probability into a score between zero and one. The score between zero and one may be score 450. In some examples, a probability, such as a score between zero and one, may correspond to a confidence score 450.

[0059] According to some examples, the calculation score module 448 may provide a score between zero and one. In such an example, it may not be necessary to determine the logarithmic probability of the score. Instead, a score between zero and one or between zero and one may be provided as the score 450.

[0060] Confidence score 450 can be used to associate a label 442 with a given candidate digital component 402. For example, if confidence score 450 is above a threshold, a policy label can be associated with the digital component and used to propagate the label to similar digital components. Conversely, if confidence score 450 is below a threshold, a policy label can be associated with the digital component but not used to propagate the label to other digital components. According to some examples, the threshold can be set based on a policy.

[0061] According to some examples, confidence score 450 can be used to determine whether a candidate digital component and associated tags can be used to propagate tags to other incoming candidate digital components. For example, if confidence score 450 is above a threshold, the digital component and its associated tags can be used to propagate policy tags to other digital components. When the similarity between a given candidate digital component and other digital components is above a threshold similarity, the policy tags can be propagated to the other digital components. Conversely, if confidence score 450 is below a threshold, the digital component and its associated tags may not be used to propagate policy tags to other digital components.

[0062] A policy label may correspond to a policy violation prediction of the LLM 444. For example, if the policy violation prediction is "policy violation" or "not policy violation" and the confidence score 450 is above a threshold, then the "policy violation" or "not policy violation" label may be associated with the digital component, respectively, and used to propagate the label to similar digital components. Alternatively, if the policy violation prediction is "policy violation" or "not policy violation" and the confidence score 450 is below a threshold, then the "policy violation" or "not policy violation" label may be associated with the digital component, respectively, but not used to propagate the associated policy label.

[0063] The policy violation prediction system 440 can improve the computational efficiency of reviewing candidate digital components by determining high-quality and / or highly accurate policy tags for digital components. Then, the policy tags determined by the policy violation prediction system can be used to propagate the policy tags to similar digital components. By determining the policy violation prediction with high accuracy, such as a high confidence score, and applying appropriate policy tags based on the confidence score, computational efficiency can be improved by reducing the number of times a given digital component must be reviewed for policy violations. For example, by only having to review the digital component once for policy violations, processing power and network overhead are reduced because no additional review is required. In addition, by only reviewing the digital component once and using high-quality and / or highly accurate policy tags to propagate the policy tags to other digital components, processing power and network overhead are reduced by not having to review similar digital components for policy violations.

[0064] Figure 5 Digital components that have been reviewed by the policy violation prediction system 440 are shown. Based on the tags associated with the digital components reviewed by the policy violation prediction system 440, the digital components can be divided into digital components that do not violate policy 550 and digital components that violate policy 552. The digital components that do not violate policy 550 can be stored in a storage device 554. For example, the digital components that do not violate policy 550 can be stored in the storage device 554 of the publisher so that the non-policy violating digital components 550 can be called and provided for output by the publisher in response to a request for the digital components.

[0065] According to some examples, the digital component that has been associated with the policy tag indicating that the digital component violates the policy 552 may not be stored in the storage device 554. For example, if the policy violates the prediction system 440 to determine that the digital component violates the policy, the digital component 552 that violates the policy may not be stored in the storage device 554, and therefore may not be accessible by the publisher. By not storing the digital component 552 that violates the policy in the storage device 554, and thus making the digital component 552 that violates the policy inaccessible to the publisher, the digital component that violates the policy can be prevented from being provided for output. This prevents the digital component that is not wanted or violates the policy from being provided for output to the user. This can improve computing efficiency by reducing the processing power and network overhead required for providing a replacement digital component for the digital component that violates the policy. In addition, less memory is required, because only the digital component that does not violate the policy can be stored in the storage device 554, thereby improving computing efficiency. The example of the feature of the digital component that can be checked for policy violations includes one or more of resolution, contrast, size, visual quality, the color palette used, sharpness, the existence of digital watermarks, the existence of QR or other codes, the maliciousness of the content, etc. Malicious content may be, for example, violating content, such as content that violates the content policy of the host.The above features of the list may also take into account the functional capabilities of the target device that will view the digital component. Label Propagation

[0066] Return to reference Figure 1 , the policy labels may be propagated 108 in one or more ways. The policy labels may be propagated 108 using seed-based 110 propagation or neighborhood-based 112 propagation. Although the seed-based 110 and neighborhood-based 112 propagation techniques discussed herein are based on LLM-based policy violation predictions 106, the seed-based 110 and neighborhood-based 112 propagation may be used without previously determining the policy violation predictions 106. In such examples, the policy labels may be propagated without LLM review.

[0067] According to some examples, when the confidence score of a policy violation prediction for a given digital component is above a threshold, the policy tag associated with the digital component can be used to propagate the policy tag to other incoming digital components received by the publisher. For example, if the incoming digital component is above a threshold similarity or within a threshold embedding distance to a previously labeled digital component, the incoming digital component can be automatically labeled with the policy tag of the previously labeled digital component.

[0068] In some examples, a directive write may inject an opinion when the confidence score of a policy violation prediction for a given digital component is below a threshold, such as threshold "X," but above a second threshold, such as threshold "Y." For example, when the confidence score is between threshold X and threshold Y for a given digital component, a policy label may be associated with the digital component, but will not be propagated to incoming digital components.

[0069] According to some examples, propagating labels via a seed-based approach or a neighborhood-based approach can improve computational efficiency. For example, the number of inputs required to label digital components can be reduced because only some candidate digital components must be reviewed and labeled before the labels can be automatically applied to other digital components. In addition, by propagating labels based on content similarity, the amount of processing power and network overhead required to review and label candidate digital components is reduced because only a subset of candidates are reviewed before labels are propagated to other candidates with similar content and / or content providers.

[0070] In some examples, propagating tags to digital components with similar content and / or content providers above a threshold can prevent unwanted digital components from being provided for output by a publisher. For example, if a digital component is tagged with a policy violation tag, and the policy violation tag is propagated to digital components with similar content and / or submitted from similar content providers, the policy-violating digital component can be prevented from being output to a user. This avoids the processing power and network overhead required to provide a replacement digital component after a first digital component provided for output is reported as a policy violation, because the first digital component was never output in the first place. Based on seed

[0071] According to some examples, the labeled digital component can be provided as a seed to the seed-based execution system. For example, when the confidence score of the policy violation prediction of the given digital component is above a threshold, the labeled digital component can be provided as a seed and used to propagate the policy label to the incoming digital component.

[0072] The seed or the tag associated with the tagged digital component can be used to identify the digital component that violates the policy based on the similarity of the content. The seed can be tagged with a policy tag indicating whether the digital component violates a given policy or does not violate a given policy. The policy tag can be assigned by a reviewer. The reviewer can be, for example, an LLM model. In some examples, the reviewer can be a human reviewer. In some examples, the policy tag can be a policy tag applied via tag propagation.

[0073] The seed may be compared to the other digital component to determine whether the other digital component is similar to the seed. For example, the content and / or content provider of the other digital component may be compared to the content and / or content provider of the seed. If the other digital component is above a threshold similarity to the seed, then the tag associated with the seed may be applied or propagated to the other digital component. Figure 5 is an example method for seed-based label propagation.

[0074] Figure 6 An example method of seed-based label propagation is shown. Candidate digital components with policy violation prediction confidence scores above a threshold can be provided as seeds into a seed database 660. In some examples, the seed database 660 can be populated based on previously reviewed digital components, previously labeled digital components, manual addition of seeds, feedback associated with digital components, policy violation predictions 106, content quality reviews from publishers, etc.

[0075] The seed may include a seed tag. The seed tag may correspond to an embedded representation of the digital component. For example, the seed tag may correspond to an embedding of a content type and / or a content provider of the digital component.

[0076] According to some examples, the seed may include a tag identifier. The tag identifier may correspond to the policy being implemented. For example, each publisher may have a corresponding policy for its website or mobile application. The policy associated with the publisher's website and / or mobile application may have a corresponding tag identifier.

[0077] The seed may include a policy label. The policy label may be "policy violation" or "no policy violation". The policy label may be based on policy violation prediction 106, prior label propagation 108, etc. The policy label may be propagated based on one or more determinations, such as those described with respect to blocks 661, 663, and 665.

[0078] In block 661, similarity of the incoming candidate digital components may be determined. The similarity of the incoming candidate digital components may be similarity between content types and / or content providers of the incoming candidate digital components. The similarity may be determined based on an embedding distance between the content types and / or content providers of the incoming candidate digital components and the content types and / or content providers of the seeds in the seed database 660.

[0079] In block 662, if the similarity between the incoming candidate digital components is above a threshold similarity, the policy tag may be propagated to the incoming candidate digital components. In some examples, if the embedding distance between the content types and / or content providers of the incoming candidate digital components is less than a threshold distance, the policy tag of the seed may be propagated to the incoming candidate digital components. Conversely, if the similarity is below a threshold or the embedding distance is greater than a threshold distance, the policy tag may not be propagated.

[0080] In block 663, similarity of previously reviewed candidate digital components may be determined. The similarity of previously reviewed digital components may be similarity between content type and / or content provider of previously reviewed candidate digital components and seeds within seed database 660. Similarity may be determined based on content type and / or embedding distance between content provider and seeds of previously reviewed candidate digital components.

[0081] In block 664, if the similarity between the previously reviewed digital components is above a threshold similarity, the policy tag may be propagated to the previously reviewed digital components. In some examples, if the embedding distance between the content types and / or content providers of the previously reviewed digital components is less than a threshold distance, the policy tag of the seed may be propagated to the previously reviewed digital components. According to some examples, propagating the seed's tag to the previously reviewed digital components may include updating the policy tag associated with the previously reviewed digital components. Conversely, if the similarity is below a threshold or the embedding distance is greater than a threshold distance, the policy tag may not be propagated or updated.

[0082] In block 665, the quality of policy label propagation for each seed may be monitored. The quality of a seed may be determined based on the rate at which labels are continuously propagated for a given seed. For example, if a determined policy violation for a seed is appealed by a submitter of the digital component, corrected after additional review, etc., the quality of the label for the seed may be low. Conversely, if a determined policy violation for a given seed is maintained, e.g., not appealed, changed, etc., the quality of the label may be determined to be acceptable, good, etc.

[0083] In block 666, if the tag propagation quality is below a threshold, the seed tag associated with the seed, such as a digital component, may be removed. For example, if the quality of a seed is determined to be low, the seed may be removed from the seed database so that the tag for the given seed is not used for propagation.

[0084] Feedback loop 667 may update seed database 660 based on propagated policy tags 662 , updated policy tags 664 , and / or removed seed tags 666 .

[0085] Seed-based label propagation can allow policy labels to be quickly and automatically applied to digital components that are within a threshold embedding distance or above a threshold similarity to a seed in the seed database 660. This can improve the computational efficiency of the system by reducing the number of times a digital component must be reviewed, how many digital components must be reviewed, etc. In addition, by automatically propagating policy labels based on being within a threshold embedding distance and / or above a threshold similarity, the consistency of policy labels can be increased. For example, by using an embedding distance or similarity score to remove the subjectivity of policy violation predictions. This improves consistency and can improve the computational efficiency of the system as a whole. Neighborhood-based

[0086] According to some examples, both labeled and unlabeled digital components can be provided as input to a neighborhood graph. The neighborhood graph can be, for example, a graphical representation of the similarity of digital components. The similarity can be determined based on the content of the digital components, the content provider, etc. The policy tags of the labeled digital components can be applied or propagated to neighboring digital components. The neighboring digital components can be, for example, digital components within a threshold embedding distance, above a threshold similarity, etc.

[0087] According to some examples, the ML model may predict a confidence score based on a neighborhood graph and a labeled digital component. The confidence score may correspond to the probability of a policy violation. In some examples, the confidence score may be used to determine whether to propagate the policy label of the labeled digital component to adjacent digital components. For example, the ML model may receive an embedding associated with a digital component, a policy label of a previously labeled digital component, a distance score indicating the similarity of the content between adjacent digital components, and / or an LLM result as training data. The ML model may be trained to predict a confidence score corresponding to the probability of a policy violation. The confidence score may be used to determine whether to propagate the policy label to adjacent digital components. In some examples, when executing the ML model, the ML may receive the policy label, distance score, and LLM result of a given candidate digital component as input. The ML model may predict a confidence score for a given candidate digital component.

[0088] The confidence score of the ML model can be compared to two or more thresholds. The first threshold can be an upper threshold and the second threshold can be a lower threshold. The lower threshold can be a threshold that is less than the upper threshold. In some examples, the upper threshold and the lower threshold can correspond to confidence scores. In examples where the confidence score of a digital component exceeds the upper threshold, the digital component can be automatically labeled with the policy tags of adjacent digital components. In some examples, if the confidence score of the digital component exceeds the lower threshold but does not exceed the upper threshold, the digital component can be returned to the funnel processing as part of a feedback loop. In such an example, if the digital component is not filtered out during the funnel stage, the digital component can be evaluated by the LLM.

[0089] Figure 7 A block diagram of an example neighborhood-based propagation system 700 that may be implemented on one or more computing devices is depicted. The neighborhood-based propagation system 700 may be configured to receive inferred data 770 and / or training data 772 for use in determining a probability that a digital component violates a policy. For example, the neighborhood-based propagation system 700 may receive the inferred data 770 and / or training data 772 as part of a call to an application programming interface (API) that exposes the neighborhood-based propagation system 700 to one or more computing devices. The inferred data 770 and / or training data 772 may also be provided to the neighborhood-based propagation system 700 via a storage medium, such as remote storage connected to one or more computing devices via a network. The inferred data 770 and / or training data 772 may be further provided as input via a user interface on a client computing device coupled to the neighborhood-based propagation system 700.

[0090] Inference data 770 may include data associated with determining the probability that a digital component violates a policy. Inference data 770 may include features derived from a neighborhood. Features derived from a neighborhood may include, for example, a policy label ratio among "N" neighbors or neighbors within a predetermined distance. According to some examples, features may be node-level features. Node-level features may be, for example, attributes associated with a digital component. For example, node-level features may include image embeddings, video embeddings, embeddings associated with content providers, and the like.

[0091] The training data 772 may correspond to an artificial intelligence (AI) task, such as a machine learning task, for determining a probability that a digital component violates a policy, such as a task performed by a neural network. The training data 772 may be segmented into a training set, a validation set, and / or a test set. An example training / validation / test segmentation may be an 80 / 10 / 10 segmentation, but any other segmentation is possible. The training data 772 may include examples of digital components that violate a policy and digital components that do not violate a policy. The digital components provided as training data may include a policy label providing an indication of whether the digital component is a policy violation or a non-policy violation.

[0092] The training data 772 may be in any form suitable for training the model according to one of a variety of different learning techniques. The learning techniques used to train the model may include supervised learning, unsupervised learning, and semi-supervised learning techniques. For example, the training data 772 may include a plurality of training examples that may be received as input by the model. When processing labeled training examples, the training examples may be labeled with the desired output of the model. The labels and model outputs may be evaluated by a loss function to determine an error, which may be back-propagated through the model to update the weights of the model. For example, if the machine learning task is a classification task, the training examples may be images labeled with one or more classes that classify the subject depicted in the image. As another example, supervised learning techniques may be applied to calculate the error between the outputs, where the true value labels of the training examples are processed by the model. Any of a variety of loss or error functions suitable for the type of task for which the model is trained may be utilized, such as the cross entropy loss for a classification task or the mean squared error for a regression task. The gradient of the error relative to the different weights of the candidate model on the candidate hardware may be calculated, for example, using a back-propagation algorithm, and the weights of the model may be updated. The model may be trained until a stopping criterion is met, such as the number of iterations for training, a maximum time period, convergence, or when a minimum accuracy threshold is met.

[0093] Based on the inference data 770 and / or the training data 772, the neighborhood-based propagation system 700 can be configured to output one or more results related to inferences of the digital component and the probability that the digital component violates a policy generated as output data 774. For example, the neighborhood-based propagation system 700 can be executed to run inferences on a new incoming digital component for policy review. The neighborhood-based propagation system 700 can be executed on a new - e.g., unseen - digital component and provide a probability score as output data 774 that the neighborhood-based propagation system 700 determines how likely it is that the digital component violates a policy. The probability score can correspond to a confidence score. If the score is above a threshold, the digital component can be labeled with a policy label.

[0094] As an example, output data 774 can be any kind of scoring, classification, or regression output based on input data. Accordingly, an AI or machine learning task can be a scoring, classification, and / or regression task for predicting some output given some input. These AI or machine learning tasks can correspond to various different applications of processing images, videos, text, speech, or other types of data to determine the probability that a digital component violates a policy. The output data can include instructions associated with determining the probability that a digital component is a policy violation and determining further actions based on the policy violation.

[0095] As an example, the neighborhood-based propagation system 700 can be configured to send output data 774 to be displayed on a client or user display. As another example, the neighborhood-based propagation system 700 can be configured to provide output data 774 as a set of computer-readable instructions, such as one or more computer programs. The computer program can be written in any type of programming language and according to any programming paradigm, such as declarative, procedural, assembly, object-oriented, data-oriented, functional or imperative. The computer program can be written to perform one or more different functions and operate within a computing environment, for example, on a physical device, a virtual machine, or across multiple devices. The computer program can also implement the functions described herein, for example, by a system, engine, module, or model. The neighborhood-based propagation system 700 can be further configured to forward the output data 774 to one or more other devices configured to convert the output data 774 into an executable program written in a computer programming language. The neighborhood-based propagation system 700 can also be configured to send the output data 774 to a storage device for storage and later retrieval.

[0096] In some examples, the neighborhood-based propagation system 700 can be configured to add or remove digital components from a storage device, such as a publisher's storage device, based on the output data 774, such as the probability that the digital component violates a policy. Figure 5 , if the probability or confidence score of the digital component violating the policy is above a threshold, the digital component may not be transmitted to the storage device 554. By not transmitting the digital component violating the policy to the storage device 554, the digital component violating the policy may not be selected by the publisher to be provided for output. This prevents the digital component violating the policy from being provided for output to the user. By preventing the digital component violating the policy from being stored in the storage device 554, the computational efficiency of the system is increased by reducing the amount of memory or storage space required, and computing efficiency and processing are increased by not having to provide a replacement digital component for the digital component violating the policy.

[0097] Figures 8A-8CA sequence of neighborhood graphs corresponding to neighborhood-based label propagation is shown. Each circle in the figure represents a corresponding digital component, such as digital components 1-9. The distance between any two digital components can correspond to the similarity between the digital components. The distance can be, for example, a Euclidean distance. The distance can be determined based on embeddings associated with the digital components. As shown, when the similarity between the two digital components is above a threshold similarity, the neighborhood graph can include a line connecting any two digital components. In some examples, in addition or as an alternative, the similarity can be represented based on the distance between the digital components.

[0098] Fig. 8A A neighborhood graph 800 is shown at time ("t") = 0. At time t = 0, the similarity of the digital components, the neighborhood graph may indicate that no digital components violate the policy. The determination may be made before any information, such as a policy violation prediction, is available to the system. For example, the determination may be made when the system receives a candidate digital component. Additional information about the policy violation may not be available when the system receives the candidate digital component. In such an example, when the system receives the candidate digital component, the candidate digital component has not yet been reviewed for policy violations. Therefore, prior to any review, such as at t = 0, all digital components may be non-policy violating digital components.

[0099] Figure 8B A neighborhood graph 800 is shown at t=1. At t=1, at least one digital component may have been identified as violating a policy. For example, the policy violation prediction system 440 may have predicted that digital component 1, which has a confidence value greater than a threshold confidence value, is violating a policy, as indicated by the diagonal shading. Due to the similarity of the policy violation label associated with digital component 1 to digital component 1, the policy violation label associated with digital component 1 can be automatically propagated to digital components 2 and 6 with high certainty, as indicated by the cross-hatching of digital components 2 and 6. The policy violation label associated with digital component 1 can be automatically propagated to digital components 2 and 7 with low certainty, as indicated by the dotted shading of digital components 2 and 7. When policy labels are propagated with high certainty, additional review of the digital component may not be required. When policy labels are propagated with low certainty, the digital component can be flagged for further review.

[0100] Figure 8C Neighborhood graph 800 is shown at t = 2. At t = 2, digital component 3 may have been identified as a policy violation, as indicated by the diagonal shading, and digital component 7 may have been identified as a non-policy violation by the horizontal shading. In some examples, policy violations may have been determined by policy violation prediction system 440 and / or neighborhood-based propagation system 700.

[0101] Based on the determination that digital component 3 is a policy violation, the neighborhood graph can be updated to propagate the policy violation label to digital components 2 and 4 with high certainty, as indicated by the cross-hatching, and to digital component 5 with low certainty, as indicated by the dotted shading.

[0102] In some examples, based on the determination that digital component 7 is a non-policy violating label, a policy violation label previously propagated to digital component 6 may be removed because digital component 6 may be more similar to digital component 7 than digital component 1. Digital component 6 may be more similar to digital component 7 than digital component 1 because the distance between digital component 6 and digital component 7 is less than the distance between digital component 6 and digital component 1. Since the distance between digital components 6 and 7 is less than the distance between digital components 6 and 1, the non-policy violating label may be propagated to digital component 6 with high certainty.

[0103] Neighborhood graph 800 may continue to be updated based on policy violation predictions provided by policy violation prediction system 440 and / or neighborhood-based propagation system 700. As the neighborhood graph is updated, policy labels may be updated and propagated. Feedback loop

[0104] Labeled digital components based on LLM predictions or labeled through label propagation can be provided as inference and / or training data to predict the policy violation probability of the incoming digital components. For example, the labeled digital components can be provided to the funnel processing stage 104 as noise and / or training data, such as Figure 1 In such examples, the labeled digital components can be used to funnel or filter additional candidate digital components for further policy review by the LLM. In some examples, the labeled digital components can be provided to the seed database 660 as inference and / or training data, such as Figure 6 In such an example, the labeled digital components can be used for seed-based propagation of policy labels. In another example, the labeled digital components can be provided to the neighborhood-based propagation system 700 as inference and / or training data, such as Figure 7 shown.

[0105] According to some examples, LLM-labeled digital components may be divided into subsets. The subsets may be determined based on, for example, confidence scores. In some examples, only a subset of LLM-labeled digital components may be provided as inference and / or training data. For example, LLM-labeled digital components having confidence scores above a threshold may be provided as part of a feedback loop, while LLM-labeled digital components having confidence scores below a threshold may not be provided as part of a feedback loop. Example System

[0106] Fig. 9 An example system is shown in which the features described above and herein can be implemented. It should not be considered to limit the scope of disclosure or usefulness of the features described herein. In this example, system 900 includes device 901, server 940, storage device 930, data center 920 and network 950.

[0107] Device 901 may be a user device. Device 901 may include one or more processors 902, memory 903, data 904, and instructions 905. Device 901 may also include input 906, output 907, and communication interface 908. Device 901 may be, for example, a smart phone, a tablet, a laptop, a smart watch, an AR / VR headset, a smart helmet, a home assistant, etc.

[0108] The memory 903 of the device 901 can store information accessible by the processor 902. The memory 903 can also include data that can be retrieved, manipulated, or stored by the processor 902. The memory 903 can be any non-transitory type capable of storing information accessible by the processor 902, including non-transitory computer-readable media or other media storing data that can be read with the aid of an electronic device, such as a hard drive, a memory card, a read-only memory (ROM), a random access memory (RAM), an optical disk, and other write-only and read-only memories. The memory 903 can store information accessible by the processor 902, including instructions 905 and data 904 that can be executed by the processor 902.

[0109] Data 904 may be retrieved, stored, or modified by processor 902 according to instructions 905. For example, although the present disclosure is not limited to a particular data structure, data 904 may be stored in a computer register, a relational database as a table with multiple different fields and records, an XML document, or a flat file. Data 904 may also be formatted in a computer readable format, such as, but not limited to, binary values, ASCII, or Unicode. By way of further example only, data 904 may include information sufficient to identify relevant information, such as numbers, descriptive text, proprietary codes, pointers, references to data stored in other storage (including other network locations), or information used by a function to calculate related data.

[0110] Instructions 905 may be any set of instructions to be executed directly by processor 902, such as machine code, or any set of instructions to be executed indirectly, such as a script. In this regard, the terms "instructions," "applications," "steps," and "programs" may be used interchangeably herein. Instructions may be stored in an object code format for direct processing by a processor, or in any other computing device language, including scripts or collections of independent source code modules that are interpreted or precompiled as needed. The functions, methods, and routines of instructions are explained in more detail below.

[0111] The one or more processors 902 may include any conventional processor, such as a commercially available CPU or microprocessor. Alternatively, the processor may be a dedicated component, such as an ASIC or other hardware-based processor. Although not required, the device 901 may include a dedicated hardware component to perform a specific computing function faster or more efficiently.

[0112] although Fig. 9 The processor, memory, and other elements of device 901 are functionally shown as being within the same respective blocks, but one of ordinary skill in the art will appreciate that a processor or memory may actually include multiple processors or memories that may or may not be stored within the same physical housing. Similarly, the memory may be a hard drive or other storage medium located in a housing different from that of device 901. Thus, references to a processor or device will be understood to include references to a collection of processors or devices or memories that may or may not operate in parallel.

[0113] Input 906 may be, for example, a mouse, keyboard, touch screen, microphone, camera, image capture device, or any other type of input.

[0114] Output 907 can be a display, such as a monitor with a screen, a touch screen, a projector, or a television. Display 907 of device 901 can electronically display information to a user via a graphical user interface (GUI) or other type of user interface. For example, display 907 can electronically display information associated with a digital component received in response to receiving an input corresponding to a selection of input 906. In some examples, display 907 can electronically display one or more additional inputs available for selection. Additional inputs can provide access to additional information associated with digital components, digital content, etc.

[0115] Device 901 may be at various nodes of network 950 and may be capable of communicating directly and indirectly with other nodes of network 950. Fig. 9 A single device is depicted in the figure, but it should be understood that a typical system may include one or more devices, each of which is at a different node of the network 950. The network 950 and intermediate nodes described herein can be interconnected using various protocols and systems, so that the network can be part of the Internet, the World Wide Web, a specific intranet, a wide area network, or a local network. The network 950 can utilize one or more company-proprietary standard communication protocols, such as WiFi, Bluetooth, 4G, 5G, etc. Although certain advantages are obtained when transmitting or receiving information as described above, other aspects of the subject matter described herein are not limited to any particular transmission method.

[0116] The storage device 930 can be a combination of volatile and non-volatile memory and can be at the same or different physical location as the computing device. For example, the storage device 930 can include any type of non-transitory computer-readable medium capable of storing information, such as a hard drive, a solid-state drive, a tape drive, an optical storage, a memory card, a ROM, a RAM, a DVD, a CD-ROM, a writeable and read-only memory. The storage device can be configured to store non-policy-violating digital components 550. In some examples, the storage device 930 can include a seed database 660. In another example, the storage device 930 can be configured to store training and / or inference data for the neighborhood-based propagation system 700.

[0117] Device 901 and server 940 may be communicatively coupled to one or more storage devices 930 via network 950. Storage device 930 may be a combination of volatile and non-volatile memory and may be at the same or a different physical location as the computing device. For example, storage device 930 may include any type of non-transitory computer-readable medium capable of storing information, such as a hard drive, solid-state drive, tape drive, optical storage, memory card, ROM, RAM, DVD, CD-ROM, writeable and read-only memory.

[0118] The server 940 may include one or more processors 942 and memory 943, instructions 945, and data 944. These components may operate in the same or similar manner as those described above with respect to the device 901. The memory 943 may store information accessible by the processor 942, including instructions 945 that may be executed by the processor 942. The memory 943 may also include data that may be retrieved, manipulated, or stored by the processor 942. The memory 943 may be a type of non-transitory computer-readable medium capable of storing information accessible by the processor 942, such as volatile and non-volatile memory. The processor 942 may include one or more central processing units (CPUs), graphics processing units (GPUs), field programmable gate arrays (FPGAs), and / or application-specific integrated circuits (ASICs), such as tensor processing units (TPUs).

[0119] Instructions 945 may include one or more instructions that, when executed by a processor, cause one or more processors to perform actions defined by the instructions. Instructions 945 may be stored in an object code format for direct processing by a processor, or in other formats, including interpretable scripts or collections of independent source code modules that are interpreted or pre-compiled as needed. The instructions may include instructions for implementing the policy prediction violation system 440 and / or the neighborhood-based propagation system 700, and the policy prediction violation system 440 may correspond to Figure 4The policy prediction violation system 440 and / or the neighborhood-based propagation system 700 may correspond to the neighborhood-based propagation system 700 of FIG. 71. The policy prediction violation system 440 and / or the neighborhood-based propagation system 700 may be executed using the processor 942 and / or using other processors remote from the server 940.

[0120] Data 944 may be retrieved, stored, or modified by processor 942 according to instructions 945. 944 data may be stored in computer registers, in a relational or non-relational database as a table with multiple different fields and records, or as a JSON, YAML, proto, or XML document. Data 944 may also be formatted in a computer readable format, such as, but not limited to, binary values, ASCII, or Unicode. In addition, data 944 may include information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, pointers, references to data stored in other memories, including other network locations, or information used by functions to calculate related data.

[0121] The server 940 may be configured to transmit data to the device 901, and the device 901 may be configured to display at least a portion of the received data on a display implemented as part of a user output. The user output may also be used to display an interface between the device 901 and the server 940. The user output may alternatively or additionally include one or more speakers, transducers or other audio outputs, tactile interfaces, or other tactile feedback that provides non-visual and non-auditory information to a platform user of the device 901.

[0122] although Fig. 9 The processor 942 and memory 943 are shown as being within a computing device, but the components described herein may include multiple processors and memories that may operate in different physical locations rather than within the same computing device. For example, some instructions and data may be stored on a removable SD card, while other instructions and data may be stored within a read-only computer chip. Some or all of the instructions and data may be stored in a location physically remote from the processor but still accessible to the processor. Similarly, the processor may include a collection of processors that may perform concurrent and / or sequential operations. The computing devices may each include one or more internal clocks that provide timing information that may be used for time measurement of operations and programs run by the computing device.

[0123] Server 940 may be connected to a data center 920 housing any number of hardware accelerators via a network 950. Data center 920 may be one of a plurality of data centers or other facilities where various types of computing devices, such as hardware accelerators, are located. Computing resources housed in data center 920 may be designated for deploying models associated with predicting policy violations and propagating policy labels, as described herein.

[0124] Server 940 may be configured to receive requests from device 901 to process data on computing resources in data center 920. For example, the environment may be part of a computing platform configured to provide various services to users through various user interfaces and / or application programming interfaces (APIs) that expose platform services. The various services may include predicting whether a digital component violates a policy, propagating policy tags to incoming digital components, etc.

[0125] As another example of potential services provided by the platform implementing the environment, server 940 may maintain various models according to different constraints available at the data center. For example, server 940 may maintain different families for deploying models on various types of TPUs and / or GPUs housed in the data center or otherwise available for processing.

[0126] Fig.10 Depicted is a block diagram showing one or more model architectures, such as for deployment in a data center housing a hardware accelerator on which the deployed model is to be executed for predicting whether a digital component violates a policy, neighborhood-based label propagation, etc. The hardware accelerator may be any type of processor, such as a CPU, GPU, FPGA, or ASIC such as a TPU.

[0127] The architecture of a model may refer to characteristics that define the model, such as characteristics of the model's layers, how the layers process inputs, or how the layers interact with each other. For example, a model may be a convolutional neural network (ConvNet) that includes a convolutional layer that receives input data, followed by a pooling layer, followed by a fully connected layer that generates a result. The architecture of a model may also define the type of operations performed within each layer. For example, the architecture of a ConvNet may define the use of a rectified linear unit (ReLU) activation function in a fully connected layer of the network. One or more model architectures may be generated that may output results associated with predicting whether a digital component violates a policy, neighborhood-based label propagation, and the like.

[0128] Return to reference Fig. 9 , although a single server 940, device 901, and data center 920 are shown, it should be understood that aspects of the present disclosure may be implemented according to various different configurations and numbers of computing devices, including for sequential or parallel processing paradigms, or through a distributed network of multiple devices. In some embodiments, aspects of the present disclosure may be performed on a single device connected to a hardware accelerator configured to process the optimization model, and any combination thereof. Example Method

[0129] Fig.11An example method for propagating tags to digital components is shown. The following operations do not have to be performed in the exact order described below. Instead, various operations may be processed in a different order or simultaneously, and operations may be added or omitted.

[0130] In block 1110, embeddings associated with a plurality of candidate digital components and previously reviewed digital components may be determined. The previously reviewed digital components may include at least one previously reviewed labeled digital component or a previously reviewed unlabeled digital component. The embeddings may be determined using an ML model. The embeddings may be a representation of a content type, a content provider, or other information associated with a given digital component.

[0131] In block 1120, similarity between the candidate digital component and a previously reviewed digital component may be determined based on the embedding. The similarity may include at least one of content similarity or content provider similarity. The similarity may be determined based on a comparison of the embeddings of the digital components. For example, a distance between any two digital components may correspond to a similarity between the digital components. The digital component may be compared to a previously marked digital component, a previously reviewed but unmarked digital component, and the like.

[0132] In block 1130, a subset of digital components may be identified from the plurality of candidate digital components. The subset of digital components may include one or more digital components having a similarity below a threshold similarity. According to some examples, the one or more digital components may be identified by filtering the plurality of candidate digital components. The candidate digital components may be filtered based on a threshold similarity, whether the candidate digital component has been previously reviewed, whether the candidate digital component has an associated tag, and the like.

[0133] According to some examples, when the similarity is above a threshold, a second subset of digital components can be removed from the plurality of candidate digital components. The second subset of digital components can include one or more digital components having a similarity above a threshold similarity. For example, the similarity can be used to filter the candidate digital components. The similarity can be a similarity between the candidate digital component and a previously reviewed digital component, whether marked or unmarked. When the similarity is above a threshold similarity, the candidate digital component can be filtered without further review. Conversely, when the similarity is below a threshold similarity, the candidate digital component can be marked for further review.

[0134] According to some examples, when the similarity between the candidate digital component and the previously reviewed digital component is above a threshold similarity, the candidate digital component can be labeled with the policy label of the previously reviewed digital component. The candidate digital component can be labeled using seed-based label propagation and / or neighborhood-based label propagation.

[0135] In some examples, when the second subset of digital components is identified from the plurality of candidate digital components, the previously marked digital components can be removed. Removing the previously marked digital components can include, for example, filtering the previously marked digital components from further policy review.

[0136] In block 1140, the identified subset of digital components may be provided as input to a large language model ("LLM"). The LLM may be trained to provide a confidence score associated with a policy violation prediction. A policy violation prediction may be "policy violation" or "no policy violation."

[0137] In block 1150, an LLM may be performed to determine that a digital component in a subset of digital components violates a policy. Determining that a digital component violates a policy may include determining a binary response to at least one prompt. The binary response may be, for example, yes or no. At least one prompt may be generated based on a policy. According to some examples, a digital component may violate a first policy but not a second policy. In such an example, the prompt for the first policy may be different from the prompt for the second policy.

[0138] In block 1160, a subset of digital components may be labeled based on the determined policy violation. In some examples, a label may be applied only when the determined policy violation is a "policy violation." In such an example, digital components that do not violate a policy may not be labeled. In another example, a label may be applied regardless of the policy violation. For example, when the determined policy violation is a "policy violation," a "policy violation" label may be associated with the policy-violating digital components. In an example where the determined policy violation is a "policy non-violation," a "policy non-violation" label may be associated with the non-policy-violating digital components.

[0139] In block 1170, the tag may be propagated to other digital components. The other digital components may be outside the subset of digital components. The other digital components may include at least one of a previously reviewed marked digital component, a previously reviewed unmarked digital component, or an unmarked digital component.

[0140] Labels may be propagated using seed-based label propagation or neighborhood-based label propagation. According to one example, labels may be propagated by identifying adjacent digital components. Adjacent digital components may include, for example, unlabeled digital components within a threshold embedding distance of the labeled one or more digital components. Adjacent digital components may be labeled with a policy label corresponding to the label of the one or more digital components.

[0141] According to some examples, it can be determined whether the LLM has already determined a policy violation for a candidate digital component. In examples where a candidate digital component has a previously determined policy violation, multiple digital components can be deduplicated to remove the candidate digital component with the previously determined policy violation.

[0142] The term "configuration" is used herein in conjunction with system and computer program components. For a system of one or more computers to be configured to perform a particular operation or action, it is meant that the system has installed thereon software, firmware, hardware, or a combination thereof that causes the system to perform the operation or action. For one or more computer programs to be configured to perform a particular operation or action, it is meant that the one or more programs include instructions that, when executed by one or more data processing devices, cause the devices to perform the operation or action.

[0143] The term "data processing apparatus" refers to data processing hardware and covers various devices, apparatuses and machines for processing data, including programmable processors, computers or a combination thereof. The data processing apparatus may include special-purpose logic circuits, such as field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). The data processing apparatus may include code that creates an execution environment for a computer program, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system or a combination thereof.

[0144] The data processing device may include a dedicated hardware accelerator unit for implementing the machine learning model to handle common and computationally intensive parts of machine learning training or production, such as inference or workloads. The machine learning model may be implemented and deployed using one or more machine learning frameworks, such as the TensorFlow framework, the Microsoft Cognitive Toolkit framework, the Apache Singa framework, or the Apache MXNet framework, or a combination thereof.

[0145] The term "computer program" refers to a program, software, software application, app, module, software module, script, or code. A computer program may be written in any form of programming language, including compiled, interpreted, declarative, or procedural languages, or a combination thereof. A computer program may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may correspond to a file in a file system and may be stored in a portion of a file that holds other programs or data, such as one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, such as files storing one or more modules, subroutines, or code portions. A computer program may be executed on one or more computers located at one site or distributed across multiple sites and interconnected by a data communications network.

[0146] The term "database" refers to any collection of data. The data may be unstructured or structured in any manner. The data may be stored on one or more storage devices in one or more locations. For example, an index database may include multiple collections of data, each of which may be organized and accessed differently.

[0147] The term "engine" refers to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. An engine may be implemented as one or more software modules or components, or may be installed on one or more computers in one or more locations. A particular engine may have one or more computers dedicated to it, or multiple engines may be installed and run on the same one or more computers.

[0148] The processes and logic flows described herein may be performed by one or more computers executing one or more computer programs to perform functions by operating on input data and generating output data. The processes and logic flows may also be performed by a dedicated logic circuit or by a combination of a dedicated logic circuit and one or more computers.

[0149] A computer or dedicated logic circuit that executes one or more computer programs may include a central processing unit for implementing or executing instructions, including a general or special purpose microprocessor, and one or more memory devices for storing instructions and data. The central processing unit may receive instructions and data from one or more memory devices, such as read-only memory, random access memory, or a combination thereof, and may implement or execute instructions. The computer or dedicated logic circuit may also include or be operatively coupled to one or more storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, for receiving data from or transmitting data to them. The computer or dedicated logic circuit may be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS), or a portable storage device, such as a universal serial bus (USB) flash drive.

[0150] Computer readable media suitable for storing one or more computer programs may include any form of volatile or non-volatile memory, medium or memory device. Examples include semiconductor memory devices such as EPROM, EEPROM or flash memory devices, magnetic disks such as internal hard disks or removable disks, magneto-optical disks, CD-ROM disks, DVD-ROM disks, or combinations thereof.

[0151] Aspects of the present disclosure may be implemented in a computing system that includes a back-end component, such as a data server, a middleware component, such as an application server, or a front-end component, such as a client computer with a graphical user interface, a web browser, or an app, or any combination thereof. The components of the system may be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.

[0152] A computing system may include a client and a server. The client and the server may be remote from each other and interact via a communication network. The relationship of client and server is due to computer programs running on respective computers and having a client-server relationship with each other. For example, a server may transmit data such as an HTML page to a client device, for example, for the purpose of displaying data to a user interacting with the client device and receiving user input from a user interacting with the client device. Data generated at the client device, such as a result of a user interaction, may be received at the server from the client device.

[0153] Unless otherwise stated, the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to achieve unique advantages. Since these and other variations and combinations of the features discussed above may be utilized without departing from the subject matter defined by the claims, the foregoing description of the examples should be made by way of illustration rather than by way of limitation of the subject matter defined by the claims. In addition, the provision of the examples described herein and the clauses expressed as "such as", "including", etc. should not be interpreted as limiting the subject matter of the claims to specific examples; on the contrary, the examples are intended to illustrate only one of many possible implementations. In addition, the same reference numerals in different figures may identify the same or similar elements.

Claims

1. A method comprising: determining, by one or more processors, embeddings associated with a plurality of candidate digital components and previously reviewed digital components; determining, by one or more processors, a similarity between the candidate digital component and a previously reviewed digital component based on the determined embedding, the similarity comprising at least one of content similarity or content provider similarity; identifying, by the one or more processors, a subset of digital components from the plurality of candidate digital components, wherein the subset of digital components includes one or more digital components having a similarity below a threshold similarity; providing, by the one or more processors, the identified subset of digital components as input to a machine learning model; executing the machine learning model, by the one or more processors, to determine that a digital component in the subset of digital components violates a policy; marking, by the one or more processors, the subset of digital components based on the determined policy violation; and The tag is propagated, by the one or more processors, to other digital components, wherein the other digital components are outside the subset of digital components.

2. The method according to claim 1, further comprising: A second subset of digital components in the plurality of candidate digital components is removed, by the one or more processors, from the plurality of candidate digital components, wherein the second subset of digital components includes one or more digital components having a similarity above the threshold similarity.

3. The method according to claim 2, further comprising: identifying, by the one or more processors, a previously reviewed digital component having a greater similarity to the second digital component body; as well as The second subset of digital components is labeled with the policy violation labels of previously reviewed digital components having the greater similarity.

4. A method according to any preceding claim, wherein: The previously reviewed digital component includes at least one of a previously reviewed marked digital component or a previously reviewed unmarked digital component; as well as When the one or more digital components are identified, the method further includes removing the previously reviewed marked digital components from the plurality of candidate digital components.

5. The method according to the preceding claim, further comprising: determining, by the one or more processors, whether the machine learning model has determined a policy violation for the candidate digital component; as well as The plurality of candidate digital components are deduplicated to remove candidate digital components having previously determined policy violations.

6. A method according to the preceding claim, wherein: When it is determined that the one or more digital components violate the policy, the method further includes executing, by the one or more processors, the machine learning model to determine a binary response to at least one prompt.

7. The method according to claim 6, wherein: The binary response is yes or no.

8. The method according to claim 6, wherein: The at least one prompt is generated based on the policy.

9. The method according to the preceding claim, wherein: When propagating the tag to the other digital components, the method further comprises: identifying, by the one or more processors, adjacent digital components based on the determined embeddings; and Adjacent digital components are marked, by the one or more processors, with policy tags corresponding to the policy tags of the subset of digital components.

10. The method according to claim 9, wherein: The neighboring digital components include unlabeled digital components within a threshold embedding distance of one or more digital components in the subset of digital components.

11. The method according to the preceding claim, wherein: The other digital components include at least one of: a previously reviewed marked digital component, a previously reviewed unmarked digital component, or an unmarked digital component.

12. A method according to any preceding claim, wherein: The machine learning model is a large language model ("LLM").

13. A system comprising: One or more processors configured to: determining embeddings associated with a plurality of candidate digital components and previously reviewed digital components; determining a similarity between the candidate digital component and a previously reviewed digital component based on the determined embedding, the similarity comprising at least one of content similarity or content provider similarity; identifying a subset of digital components from the plurality of candidate digital components, wherein the subset of digital components includes one or more digital components having a similarity below a threshold similarity; providing the subset of digital components as input to a machine learning model; determining, by executing a machine learning model, that a digital component in the subset of components violates a policy; marking the subset of digital components based on the determined policy violation; and The label is propagated to other digital components, wherein the other digital components are outside the subset of digital components.

14. The system according to claim 13, wherein: The one or more processors are further configured to remove a second subset of digital components from the plurality of candidate digital components, wherein the second subset of digital components includes one or more digital components having a similarity above the threshold similarity.

15. The system of claim 14, wherein: The one or more processors are further configured to: identifying previously reviewed digital components having a substantial similarity to the second digital component body; and The second subset of digital components is labeled with the policy violation labels of previously reviewed digital components having the greater similarity.

16. A system according to any one of claims 13 to 15, wherein: The previously reviewed digital component includes at least one of a previously reviewed marked digital component or a previously reviewed unmarked digital component; as well as When the one or more digital components are identified, the one or more processors are further configured to remove the previously reviewed marked digital components from the plurality of candidate digital components.

17. A system according to any one of claims 13 to 16, wherein: The one or more processors are further configured to: determining whether the machine learning model has identified a policy violation for the candidate digital component; as well as The plurality of candidate digital components are deduplicated to remove candidate digital components having previously determined policy violations.

18. A system according to any one of claims 13 to 17, wherein: When it is determined that the one or more digital components violate the policy, the one or more processors are further configured to determine a binary response to at least one prompt by executing the machine learning model.

19. The system of claim 18, wherein: The binary response is yes or no.

20. The system of claim 18, wherein: The at least one prompt is generated based on the policy.

21. A system according to any one of claims 13 to 20, wherein: When propagating the tag to the other digital components, the one or more processors are further configured to: identifying adjacent digital components based on the determined embeddings; and Adjacent digital components are labeled with policy tags corresponding to the policy tags of the subset of digital components.

22. The system of claim 21, wherein: The neighboring digital components include unlabeled digital components within a threshold embedding distance of one or more digital components in the subset of digital components.

23. A system according to any one of claims 13 to 22, wherein: The other digital components include at least one of: a previously reviewed marked digital component, a previously reviewed unmarked digital component, or an unmarked digital component.

24. A system according to any one of claims 13 to 23, wherein: The machine learning model is a large language model ("LLM").

25. One or more computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to: determining embeddings associated with a plurality of candidate digital components and previously reviewed digital components; determining a similarity between the candidate digital component and a previously reviewed digital component based on the determined embedding, the similarity comprising at least one of content similarity or content provider similarity; identifying a subset of digital components from the plurality of candidate digital components, wherein the subset of digital components includes one or more digital components having a similarity below a threshold similarity; providing the subset of digital components as input to a large language model ("LLM"); determining, by executing the LLM, that digital components in the subset of components violate a policy; marking the subset of digital components based on the determined policy violation; and The label is propagated to other digital components, wherein the other digital components are outside the subset of digital components.

26. One or more computer-readable media according to claim 25, wherein: The one or more processors are further configured to remove a second subset of digital components from the plurality of candidate digital components, wherein the second subset of digital components includes one or more digital components having a similarity above the threshold similarity.

27. One or more computer-readable storage media according to claim 26, wherein: The one or more processors are further configured to: identifying the previously reviewed digital component having a greater similarity to the second digital component body; and The second subset of digital components is labeled with a policy violation label of a previously reviewed digital component having the greater similarity.

28. One or more computer-readable storage media according to any one of claims 25 to 27, wherein: The previously reviewed digital component includes at least one of a previously reviewed marked digital component or a previously reviewed unmarked digital component; as well as When the one or more digital components are identified, the one or more processors are further configured to remove the previously reviewed marked digital components from the plurality of candidate digital components.

29. One or more computer-readable storage media according to any one of claims 25 to 28, wherein: The one or more processors are further configured to: determining whether the LLM has determined a policy violation for the candidate digital component; as well as The plurality of candidate digital components are deduplicated to remove candidate digital components having previously determined policy violations.

30. One or more computer-readable storage media according to any one of claims 25 to 29, wherein: When it is determined that the one or more digital components violate the policy, the one or more processors are further configured to determine a binary response to at least one prompt by executing the LLM.

31. One or more computer-readable storage media according to claim 30, wherein: The binary response is yes or no.

32. One or more computer-readable storage media according to claim 30, wherein: The at least one prompt is generated based on the policy.

33. One or more computer-readable storage media according to any one of claims 25 to 32, wherein: When propagating the tag to the other digital components, the one or more processors are further configured to: identifying adjacent digital components based on the determined embeddings; and Adjacent digital components are labeled with policy tags corresponding to the policy tags of the subset of digital components.

34. One or more computer-readable storage media according to claim 33, wherein: The neighboring digital components include unlabeled digital components within a threshold embedding distance of one or more digital components in the subset of digital components.

35. One or more computer-readable storage media according to any one of claims 25 to 34, wherein: The other digital components include at least one of: a previously reviewed marked digital component, a previously reviewed unmarked digital component, or an unmarked digital component.

36. One or more computer-readable storage media according to any one of claims 25 to 35, wherein: The machine learning model is a large language model ("LLM").