You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simple model architecture to be able to run on edge devices
Run batch inference across whole dom concurrently, or at minimum within a few large batches
The above constraints require us to keep the overall feature space relatively small and ideally numeric so we don't have the memory overhead of embeddings / recursive networks.
We observe that popups are typically parent elements of multiple different kinds of content; buttons, text, graphics, etc. When seen as a wholistic element it is pretty clear the element is an undesirable popup - even if it is viewed in isolation to the rest of the page. The same is typically not true for the component elements themselves. If a button or a text component is isolated it's not often easy to tell that this content is part of a larger popover parent.
We therefore make the decision to treat the popover deletion question as one of a cascading dom prediction. If any parent is predicted to be a popover, the children will be deleted.
Training Time
Only featurize dom elements that are in other portions of the page & the popovers themselves. Don't featurize the popover's children. Because of our cascading assumption, we assume that we don't have to predict on children text of popover elements anyway. This likely allows for an easier training contract - since we are not inappropriately penalizing the model for children whose labels might not be obvious without the surrounding context.
Inference Time
At inference time, run every element in the page through the model - parents and all. For any element that is detected as a popup, remove the popup and all elements. Specifically make the elements invisible and inactive so we can easily re-enable them if clients report an error in the page rendering.
The text was updated successfully, but these errors were encountered:
Design constraints
The above constraints require us to keep the overall feature space relatively small and ideally numeric so we don't have the memory overhead of embeddings / recursive networks.
We observe that popups are typically parent elements of multiple different kinds of content; buttons, text, graphics, etc. When seen as a wholistic element it is pretty clear the element is an undesirable popup - even if it is viewed in isolation to the rest of the page. The same is typically not true for the component elements themselves. If a button or a text component is isolated it's not often easy to tell that this content is part of a larger popover parent.
We therefore make the decision to treat the popover deletion question as one of a cascading dom prediction. If any parent is predicted to be a popover, the children will be deleted.
Training Time
Only featurize dom elements that are in other portions of the page & the popovers themselves. Don't featurize the popover's children. Because of our cascading assumption, we assume that we don't have to predict on children text of popover elements anyway. This likely allows for an easier training contract - since we are not inappropriately penalizing the model for children whose labels might not be obvious without the surrounding context.
Inference Time
At inference time, run every element in the page through the model - parents and all. For any element that is detected as a popup, remove the popup and all elements. Specifically make the elements invisible and inactive so we can easily re-enable them if clients report an error in the page rendering.
The text was updated successfully, but these errors were encountered: