# US 12,008,320 B2 · System and method for email signature extraction from unstructured text

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,320 B2
- Document ID: US12008320B2
- Status: Granted
- Kind: B2
- Application number: 17/519,727
- Filed: 2021-11-05
- Published: 2022-05-12
- Granted: 2024-06-11
- Earliest claimed: 2020-11-06
- Assignees: The Dun & Bradstreet Corporation
- Applicants: The Dun & Bradstreet Corporation
- Inventors: Mikhail Reyderman
- Web page: https://patentgrep.com/patent/US12008320B2

## CPC

- G06F 40/295: Named entity recognition
- G06F 16/2468: {Fuzzy queries}
- G06F 40/205: Parsing
- G06F 40/211: Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
- G06Q 10/067: Enterprise or organisation modelling
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- G06N 7/02: using fuzzy logic (computing arrangements based on biological models G06N3/00; computing arrangements using knowledge-based models G06N5/00)
- G06N 20/00: Machine learning
- H04L 51/18: Commands or executable codes
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

There is provided a process for extracting contact data from a signature block in an unstructured text or email. The process includes (a) determining a position of a signature block candidate within the unstructured text or email, (b) validating patterns and sentence bounds and/or parts of speech detection in the signature block candidate, (c) using a pattern matcher to detect a business name candidate, (d) using an attribute parser to extract attributes of standard formats, (e) sending the extracted attributes to a structured contact profile data file, (f) using a fuzzy match model to determine if the business name candidate is a match to a pre-existing organization name, (g) assigning an attribute confidence score to the business name candidate, (h) sending the attribute confidence score to the structured contact data file, (i) extracting structured address information, and (j) sending the extracted address information to the structured contact data file.

## Claims

### Claim 1

A process for extracting structured contact data from a signature block in an unstructured text or email, said process comprising:
(a) receiving an unstructured text or email from a data source;
(b) determining a position of a signature block candidate within said unstructured text or email;
(c) validating patterns and sentence bounds and/or parts of speech detection in said signature block candidate, thereby determining that said signature block candidate comprises a valid signature line and is a detected signature block;
(d) using a named entity recognition model with a pattern matcher to detect from said detected signature block a business name candidate and address line;
(e) using an attribute parser to extract attributes of standard formats from at least one selected from the group consisting of: phone number, URL, email address and social media handle, thus yielding extracted attributes;
(f) sending said extracted attributes to a structured contact profile data file;
(g) using a fuzzy match organization name model to determine if said business name candidate is either an exact or close match to a pre-existing organization name database set;
(h) assigning an attribute confidence score to said business name candidate;
(i) sending said attribute confidence score to said structured contact data file;
(j) extracting structured street, city, state and/or zip code from said address line; and
(k) sending said extracted structure street, city, state and/or zip code to said structured contact data file.

### Claim 2

A system for extracting structured contact data from a signature block in an unstructured text or email, said system comprising:
a device that collects a signature block in an unstructured text or email and transmits said unstructured text or email;
a first event-driven computing cloud service that routes (1) synchronous inputs of said unstructured text or email, and/or (2) asynchronous batch inputs of said unstructured text or email, wherein said asynchronous batch inputs are stored in a queue;
a Hadoop cluster device that (a) receives said synchronous inputs directly from said first event-driven computing cloud service, and/or (b) pulls said asynchronous batch inputs from said queue, wherein said Hadoop cluster device includes a natural language processor that processes said unstructured text or email from said synchronous and/or asynchronous inputs so as to (c) extract contact data, and (d) scores said contact data; and
a second event-driven computing cloud service that receives said extracted contact data and combines said scores from said Hadoop cluster device, thereby forming structured contact data.

### Claim 3 (depends on 2)

The system according to claim 2, wherein said second event driven computing cloud returns said structured contact data to said Hadoop cluster device.

### Claim 4 (depends on 2)

The system according to claim 2, wherein said second event-driven computing cloud service performs at least one task selected from the group consisting of: attribute regex parsing, lookup validation, name string parsing, and combinations thereof.

### Claim 5 (depends on 4)

The system according to claim 4, wherein said second event-driven computing cloud service uses a result from said task to validate an attribute candidate against a regex or small set of filters, or to resolve single string names into multiple fields, thereby generating first and last name attributes.

### Claim 6 (depends on 5)

The system according to claim 5, wherein said second event-driven computing cloud service validates said first and last name attributes from a name string against person name reference sets.

### Claim 7 (depends on 5)

The system according to claim 5, further comprising a third event-driven computing cloud service,
wherein said second event-driven computing cloud service combines results from previous processing steps to generate said structured contact data, and passes said structured contact data to said third event-driven computing cloud service, and
wherein said third event-driven computing cloud service stores the structured contact data in a file.
