IP Library Granted Patent US 12,455,927
Granted Patent B1
US 12,455,927 · App. 17/937,384 · Granted Oct 28, 2025

Multimodal techniques for web information extraction

Inventors: Shrikant G Nayak (Bangalore, IN); Tejas Duseja (Naya Bazar, IN); Sathya Prakash Podila Venkata Subramanya (Bangalore, IN)
Assignee: Amazon Technologies, Inc.
G06F16/951G06N3/08G06F16/904G06F16/958G06F30/20G06F30/27G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,455,927
App. No.
17/937,384
Filed
Sep 30, 2022
Granted
Oct 28, 2025
Kind
B1
Art Unit
2626
USPC
706/20
Abstract

A machine learning model for extracting information from web pages is prepared. The preparation includes generating respective representations of a first set of web pages, including embeddings from screenshots and bounding boxes of the web pages for multi-phase training of the model. In a first phase of training of the model, multiple loss functions associated with respective prediction tasks are optimized jointly, including a markup language element prediction task and a prediction of overlap between bounding boxes and screenshot subdivisions. In a second phase of training, using output of a hidden layer of the model (whose parameters were learned in the first phase) as input, a loss function is optimized to achieve a target web information extraction objective. The trained version of the model is stored.

Claims (60)

1. A system, comprising:

one or more computing devices;

wherein the one or more computing devices include instructions that upon execution on or across the one or more computing devices:

determine, at an analytics service of a cloud provider network, a set of target attributes for which respective values are to be extracted from web pages of one or more web sites, wherein individual ones of the web pages comprise data about one or more entities whose attributes are included in the set of target attributes;

prepare, at the analytics service, a neural network based model to be used to extract the respective values, wherein the neural network based model comprises a transformer encoder, and wherein preparation of the neural network based model comprises:

identifying an input data set for a first training phase of the neural network based model, wherein the input data set comprises, corresponding to a first web page of a first plurality of web pages, at least (a) a screenshot of the first web page, (b) markup language content of the first web page, wherein the markup language content indicates a plurality of elements arranged in accordance with a document model, wherein a particular element of the plurality of elements comprises a value of an attribute of the set of target attributes, and (c) a representation of respective bounding boxes corresponding to at least some elements of the plurality of elements, and wherein the input data set does not comprise a label for the first web page;

generating respective multi-modal embedding representations of the first plurality of web pages, wherein a multi-modal embedding representation of the first web page comprises embeddings of at least (a) respective subdivisions of the screenshot of the first web page, (b) text content of respective elements of the plurality of elements of the first web page, (c) respective bounding boxes included in the input data set for the first web page and (d) respective document model paths of individual elements of the plurality of elements of the first web page;

conducting the first training phase of the neural network based model, wherein the first training phase comprises self-supervised learning of the transformer encoder, and wherein in the first training phase, parameters of the transformer encoder are learned by jointly optimizing a plurality of multi-modal loss functions corresponding to respective tasks, wherein the plurality of multi-modal loss functions includes:

a first loss function associated with a first task which comprises reconstructing text of a masked element of the plurality of elements of the first web page, and

a second loss function associated with a second task comprising predicting an overlap between (a) a masked subdivision of the screenshot of the first web page and (b) a bounding box of an element of the plurality of elements;

conducting a second training phase of the neural network based model, wherein the second training phase comprises supervised learning to classify elements of web pages, wherein input of the second training phase comprises output of a hidden layer of the transformer encoder, wherein the output of the hidden layer corresponds to a second plurality of web pages, and wherein at least some parameters of the hidden layer were learned in the first training phase; and

generate, at the analytics service, a response to a query pertaining to a particular web page, wherein the response to the query is based at least in part on (a) classification, by a version of the neural network based model obtained after the second training phase, of a particular element of the particular web page, and (b) a determination, from the particular element, of a value of a particular target attribute of the set of target attributes.

2. The system as recited in claim 1 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:

transmit the response to the query to a tool configured to utilize the response to modify contents of another web page.

3. The system as recited in claim 1 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:

transmit the value of the particular target attribute to an automated assistant from which the query is received, wherein the automated assistant is configured to transmit the query to the analytics service in response to a request directed to the automated assistant.

4. The system as recited in claim 1 , wherein the particular web page is part of a first web site of the one or more web sites, and wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices:

extract, using another classification result obtained from the version of the neural network based model, a value of the particular target attribute from another web page, wherein the other web page is part of a second web site, and wherein the value is extracted from the other web page without retraining the neural network based model.

5. The system as recited in claim 1 , wherein the plurality of multi-modal loss functions includes one or more of: (a) a loss function associated with a third task comprising prediction of a coordinate of a bounding box of another element of the plurality of elements or (b) a loss function associated with a fourth task comprising prediction of a distance, within a tree of markup language elements of the first web page, between a pair of markup language elements.

6. A computer-implemented method, comprising:

preparing a first machine learning model to extract information from web pages, wherein the preparing includes:

generating respective embedding representations of a first plurality of web pages, wherein an embedding representation of a first web page of the first plurality of web pages comprises embeddings of at least (a) respective subdivisions of a screenshot of the first web page, (b) content of individual markup language elements of a plurality of markup language elements of the first web page, and (c) respective bounding boxes of the individual markup language elements;

conducting a first training phase of the first machine learning model, wherein in the first training phase, the respective embedding representations of the first plurality of web pages are used as input, and one or more parameters of the first machine learning model are learned by jointly optimizing a plurality of loss functions, wherein the plurality of loss functions includes:

a first loss function associated with reconstructing text of a masked markup language element of the plurality of markup language elements of the first web page, and

a second loss function associated with predicting overlap between (a) a masked subdivision of the screenshot of the first web page and (b) a bounding box of a markup language element of the plurality of markup language elements;

conducting a second training phase of the first machine learning model, wherein the second training phase comprises learned classification of markup language elements of web pages, wherein input of the second training phase comprises output, corresponding to a second plurality of web pages, of a hidden layer of the first machine learning model; and

extracting, using a classification result obtained from a version of the first machine learning model obtained after the second training phase is complete, a value from a particular portion of a particular web page.

7. The computer-implemented method as recited in claim 6 , further comprising:

automatically modifying, based at least in part on the value from the particular portion of the particular web page, contents of another web page.

8. The computer-implemented method as recited in claim 6 , further comprising:

receiving, by an automated assistant, a query pertaining to at least the particular web page, wherein the value of the particular portion of the particular web page is extracted in response to the query.

9. The computer-implemented method as recited in claim 6 , wherein the particular web page is part of a first web site, the computer-implemented method further comprising:

extracting, using another classification result obtained from the version of the first machine learning model obtained, a value from another portion of another web page, wherein the other web page is part of a second web site, and wherein the value from the other portion is extracted without retraining the first machine learning model.

10. The computer-implemented method as recited in claim 6 , wherein embedding representation of the first web page comprises embeddings of respective document model paths of individual markup language elements of the plurality of markup language elements of the first web page.

11. The computer-implemented method as recited in claim 6 , wherein the plurality of loss functions includes one or more of: (a) a loss function associated with predicting a coordinate of a bounding box of another markup language element of the plurality of markup language elements or (b) a loss function associated with prediction of a distance, within a tree of markup language elements of the first web page, between a pair of markup language elements.

12. The computer-implemented method as recited in claim 6 , further comprising:

determining, based at least in part on a first set of input received via a programmatic interface, a first set of attributes whose values are to be extracted from one or more web pages, wherein the first machine learning model is prepared to extract values of the first set of attributes;

determining, based at least in part on a second set of input received via the programmatic interface, a second set of attributes whose values are to be extracted from one or more web pages; and

preparing, to extract values of the second set of attributes, a second machine learning model.

13. The computer-implemented method as recited in claim 6 , further comprising:

receiving, via one or more programmatic interfaces of a cloud provider network, a request to analyze the particular web page, wherein the value is extracted in response to the request to analyze the particular web page.

14. The computer-implemented method as recited in claim 6 , further comprising:

receiving, via one or more programmatic interfaces of a cloud provider network, a request to train the first machine learning model, wherein at least the second training phase is conducted in response to the request to train the machine learning model.

15. The computer-implemented method as recited in claim 6 , further comprising:

receiving, via one or more programmatic interfaces of a cloud provider network, an indication of at least a portion of the second plurality of web pages.

16. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors:

prepare a machine learning model for extracting information from web pages, wherein the preparing includes:

generating respective embedding representations of a first plurality of web pages, wherein an embedding representation of a first web page of the first plurality of web pages comprises embeddings of at least (a) respective subdivisions of a screenshot of the first web page, and (b) respective bounding boxes of one or more markup language elements of the first web page;

conducting a first training phase of the machine learning model, wherein in the first training phase, the respective embedding representations of the first plurality of web pages are used as input, and one or more parameters of the machine learning model are learned by jointly optimizing a plurality of loss functions associated with respective prediction tasks, including a first task comprising markup language element prediction task and a second task comprising prediction of overlap between bounding boxes and screenshot subdivisions;

conducting a second training phase of the machine learning model, wherein input of the second training phase comprises output of a hidden layer of the machine learning model, wherein parameters of the hidden layer were learned in the first training phase, and wherein a loss function of the second training phase is optimized to achieve a target web information extraction objective; and

store a trained version of the machine learning model obtained after the second training phase is completed.

17. The one or more non-transitory computer-accessible storage media as recited in claim 16 , storing further program instructions that when executed on or across the one or more processors:

utilize the trained version to extract information from a particular web page; and

transmit the information to a tool configured to utilize the information to modify contents of another web page.

18. The one or more non-transitory computer-accessible storage media as recited in claim 16 , storing further program instructions that when executed on or across the one or more processors:

utilize the trained version to extract information from a particular web page; and

transmit the information to an automated assistant configured to utilize the information to respond to a query.

19. The one or more non-transitory computer-accessible storage media as recited in claim 16 , storing further program instructions that when executed on or across the one or more processors:

extract, using the trained version, respective sets of information from a plurality of web sites without retraining the machine learning model.

20. The one or more non-transitory computer-accessible storage media as recited in claim 16 , wherein the plurality of loss functions includes one or more of: (a) a loss function associated with predicting a coordinate of a bounding box of a markup language element of the one or more markup language elements or (b) a loss function associated with prediction of a distance, within a tree of markup language elements of the first web page, between a pair of markup language elements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2023
From: NAYAK, SHRIKANT G; DUSEJA, TEJAS; PODILA VENKATA SUBRAMANYA, SATHYA PRAKASH
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 062981/0424 →
References Cited (36)
US 8566102B1 · Bangalore · 2013 [cited by examiner]
US 10223616B1 · Malin · 2019 [cited by examiner]
US 11188930B2 · Chandra Sekar Rao · 2021 [cited by examiner]
US 11664820B2 · Gan · 2023 [cited by examiner]
US 20150310862A1 · Dauphin · 2015 [cited by examiner]
US 20220222277A1 · Pasumarthy · 2022 [cited by examiner]
US 20230169364A1 · Mueller · 2023 [cited by examiner]
US 20230222285A1 · Zhang · 2023 [cited by examiner]
US 20230306071A1 · Magureanu · 2023 [cited by examiner]
US 20230419081A1 · Tomooka · 2023 [cited by examiner]
Yuxin Wu, et al. “Detectron2: A PyTorch-based modular object detection library,” ML Applications/ Open Source, Oct. 2019, pp. 1-10. [cited by applicant]
Yoshua Bengio, et al., “Unsupervised Feature Learning and Deep Learning: A Review and New Perspectives,” CoRR https://arxiv.org/pdf/1206.5538v1.pdf, pp. 1-30, 2012. [cited by applicant]
William Cohen, et al. “A Flexible Learning System for Wrapping Tables and Lists in HTML Documents,” WWW '02: Proceedings of the 11th international conference on World Wide Web, May 2002, pp. 1-20. [cited by applicant]
Vishwanath, D. et al. “Deep Reader: Information Extraction from Document Images via Relation Extraction and Natural Language” Published in 3rd International Workshop on Robust Reading at Asian Conference of Computer Vis… [cited by applicant]
Jacob Devlin, et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” CoRR arXiv:1810.04805v2 [cs.CL] May 24, 2019, pp. 1-16. [cited by applicant]
Jukasz Garncarek, et al., “LAMBERT: Layout-Aware Language Modeling for Information Extraction” In: Document Analysis and Recognition—ICDAR 2021: 16th International Conference, Lausanne, Switzerland, Sep. 5-10, 2021, Pro… [cited by applicant]
P. Gulhane, et al., “Web-Scale information extraction with vertex,” Published in: 2011 IEEE 27th International Conference on Data Engineering, 2011, pp. 1-12. [cited by applicant]
William L. Hamilton, et al., “Inductive Representation Learning on Large Graphs,” Part of Advances in Neural Information Processing Systems 30 (NIPS 2017), arXiv:1706.02216v2, pp. 1-19. [cited by applicant]
Qiang Hao, et al., “From One Tree to a Forest: A Unified Solution for Structured Web Data Extraction,” SIGIR '11: Proceedings of the 34th international ACM SIGIR conference on Research and development in Information Ret… [cited by applicant]
Alexandra Hotti, et al, “The Klarna Product p. Dataset: A Realistic Benchmark for Web Representation Learning,” arXiv:2111.02168v2, pp. 1-17, 2021. [cited by applicant]
Mandar Joshi, et al., “SpanBERT: Improving Pre-training by Representing and Predicting Spans,” Transactions of the Association for Computational Linguistics (2020) 8: pp. 64-77, https://doi.org/10.1162/tacl_a_00300. [cited by applicant]
Anoop Raveendra Katti, et al., “Chargrid: Towards Understanding 2d Documents,” Published as a conference paper at EMNLP 2018, arXiv:1809.08799v1, pp. 1-11. [cited by applicant]
Johannes Kiesel, et al., “Reproducible Web Corpora: Interactive Archiving with Automatic Quality Assessment,” ACM Journal of Data and Information Quality, vol. 0, No. 0, Article 0. Publication date: Aug. 2018, pp. 1-23. [cited by applicant]
Anurendra Kumar, et al., “CoVA: Context-aware Visual Attention for Webpage Information Extraction,” arXiv:2110.12320v1, 2021, pp. 1-11. [cited by applicant]
Nicholas Kushmerick, et al., “Wrapper Induction for Information Extraction,” IJCAI-97, University of Washington ProQuest Dissertations Publishing, 1997. 9819266 , pp. 1-7. [cited by applicant]
Junlong Li, et al, “MarkupLM: Pre-training of Text and Markup Language for Visually-rich Document Understanding,” CORR arXiv:2110.08518v2, Mar. 2022, pp. 1-10. [cited by applicant]
Bill Yuchen Lin, et al., “FreeDOM: A Transferable Neural Architecture for Structured Information Extraction on Web Documents,” KDD '20: Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery … [cited by applicant]
Xiaojing Liu, et al., “Graph convolution for multimodal information extraction from visually rich documents,” arXiv:1903.11279v1, 2019, pp. 1-8. [cited by applicant]
Yinhan Liu, et al., “RoBERTa: A Robustly Optimized BERT Pretraining Approach,” https://arxiv.org/abs/1907.11692v1, 2019, pp. 1-13. [cited by applicant]
Ilya Loshchilov, et al., “Fixing Weight Decay Regularization in Adam,” CoRR abs/1907.11692, arXiv:1907.11692, 2019, pp. 1-13. [cited by applicant]
Telmo Pires, et al., “How multilingual is Multilingual BERT?,” arXiv:1906.01502v1, 2019, pp. 1-6. [cited by applicant]
Stephen Soderland, “Learning Information Extraction Rules for Semi-Structured and Free Text,” c 999 Kluwer Academic Publishers, Machine Learning 34, 2004, pp. 233-272. [cited by applicant]
Yiheng Xu, et al, “LayoutLM: Pre-training of Text and Layout for Document Image Understanding,” KDD '20: Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Aug. 2020, pp. 1… [cited by applicant]
Yang Xu, et al., “LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding,” arXiv:2012.14740v4 [cs.CL] Jan. 10, 2022, pp. 1-13. [cited by applicant]
Rex Ying, et al., “Graph Convolutional Neural Networks for Web-Scale Recommender Systems,” KDD '18: Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Jul. 2018, pp. 974-98… [cited by applicant]
Yichao Zhou, et al., Simplified DOM Trees for Transferable Attribute Extraction from the Web, CoRR arXiv:2101.02415v1 [cs.LG] Jan. 7, 2021, pp. 1-10. [cited by applicant]