A Web Scale Entity Extraction System (2021)

Abstract: Understanding the semantic meaning of content on the web through the lens of entities and concepts has many practical advantages. However, when building large-scale entity extraction systems, practitioners are facing unique challenges involving finding the best ways to leverage the scale and variety of data available on internet platforms. We present learnings from our efforts in building an entity extraction system for multiple document types at large scale using multi-modal Transformers. We empirically demonstrate the effectiveness of multi-lingual, multi-task and cross-document type learning. We also discuss the label collection schemes that help to minimize the amount of noise in the collected data.

## introduction content understanding finds myriad applications in large scale recommendation system. one example is ranking content with sparse data @xcite . in such scenarios, content signals can offer better generalization to overcome cold-start problems @xcite . another example is explaining the working theory of the recommendation system to users and regulators @xcite . in such scenarios, content signals can offer human understandable features. this paper presents an overview of the entity extraction platform we build for our recommendation system. along the way, we overcome several unique challenges: multiple languages -since our business operates world wide and supports languages from various countries, it is imperative to build a multi-lingual system; multiple entity typeswe want to extract multiple types of entities including named entities like people and places, as well as commercial entities like products and brands; multiple document types -our system should work across multiple structured document types such as web pages, ads and user generated content; scale -owing to our scale, we need a system that is responsive and resource efficient to process billions of documents per day. in the subsequent sections, we will review the methodology to collect data and the ideas behind the models. then we will discuss techniques to deploy these models efficiently. ## notation and setup an entity is a human interpretable concept that is grounded in a real world notion. a mention is a word or a phrase in the text that refers to an entity. for example, both "joe biden" and "biden" can be mentions for the same entity that represents the 46th president of the united states. entity extraction is the task of extracting mentions from a given text and linking them to entities. each instance of this problem consists of a structured document with text attributes like title and description, as well as categorical features and metadata, from which we wish to extract multiple entities. we categorize the entity extraction tasks into closed-world task and open-world task. the former is applicable when we have a fixed predefined universe of entities, say, topics from wikipedia; while the latter is needed when such a list is not available e.g. products. ## open-world entity extraction in this section, we discuss the data labeling and the model architecture for open-world entity extraction. ## closed-world entity extraction in this section, we discuss the data labeling and the model architecture for closed-world entity extraction. ## scaling challenges to have a good coverage over various documents, our system needs to scale across languages, entity types and document types. naively, we can develop a model for each triple (language, entity type, document type) and run a combination of models for each piece of document. however, this would bring significant overhead in model development and model serving. therefore, our system tackles these scaling challenges with the following techniques and train a single model instead. ## conclusion and future work in this paper, we present the platform of the entity extraction at giant internet company's scale. we discuss the practical learnings from our work. in the future, we would like to improve the efficiency of transformer related language model as discussed in @xcite .