IP Library Granted Patent US 10,013,672
Granted Patent B2
US 10,013,672 · App. 13/667,205 · Granted Jul 3, 2018

Address extraction from a communication

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 10,013,672
App. No.
13/667,205
Granted
Jul 3, 2018
Kind
B2
Abstract

Systems and methods to extract a string from a communication. A method includes: receiving a communication comprising a plurality of strings; assigning a score to each of the strings, wherein the score assigned to each of the strings corresponds to a frequency of usage of the respective string for a first function relative to an overall frequency of usage of the respective string; determining a respective total sum for each of a plurality of sequences in the communication, the respective total sum determined as a sum of the scores for each string in the respective sequence; and extracting a first sequence of the sequences from the communication based on the total sum for the first sequence. In one embodiment, the total sum includes an additional score for each of a starting word and an ending word of the first word sequence, wherein each respective additional score is associated with a probability that the starting (or ending) word is used as the first (or last word) of an address.

Claims (47)

1. A method, comprising:

receiving a communication from a sender comprising a plurality of words, wherein at least one of the words is a zip code comprising five numerical digits;

assigning, via a computing apparatus, a score to each of the words, wherein the score assigned to each of the words is based on a ratio of a first frequency of usage of the respective word in a language relative to a second frequency of usage of the respective word in the language, and wherein a first set of words comprises a first total number of words used as an address, a second set of words comprises a second total number of words including words used other than as an address, the first frequency is determined by counting occurrence of the respective word in the first set of words relative to the first total, the second frequency is determined by counting occurrence of the respective word in the second set relative to the second total, and the first total is less than the second total, and wherein the assigning the score further comprises determining a score for a numerical digit sequence based on treating any numerical digit sequence of a given digit length as being the same word;

determining, via the computing apparatus, a respective total sum for each of a plurality of word sequences in the communication, the respective total sum determined as a sum of the scores for each word in the respective word sequence;

identifying a first word sequence of the word sequences having a total sum that is greater than a threshold value;

applying a at least one filter to the first word sequence, the at least one filter comprising determining a ratio of number tokens to character tokens in the first word sequence, and comparing the ratio to a predetermined value to determine whether the first word sequence passes the at least one filter, and the at least one filter further comprising determining whether the first word sequence includes a token that scores below a predetermined threshold, wherein determining that the first word sequence includes a token that scores below the predetermined threshold disqualifies the first word sequence from being identified as an address;

in response to determining that the first word sequence passes the at least one filter, extracting the first word sequence from the plurality of words of the received communication as a first address of the sender, wherein the first word sequence contains the zip code; and

storing, in a data repository, the first address in a first person profile of the sender, wherein the data repository stores a plurality of person profiles including the first person profile.

2. The method of claim 1 , wherein the assigning the score further comprises forming a plurality of tokens from the communication, each token corresponding to one of the words, and assigning a score to each of the tokens.

3. The method of claim 2 , wherein a first word of the words solely comprises numerical digits, and the forming the tokens comprises forming a single token corresponding to the first word.

4. The method of claim 1 , wherein each of the word sequences has a length of between 2 and 20 words.

5. The method of claim 1 , wherein the determining the total sum for the first word sequence comprises:

determining an additional score for a starting word of the first word sequence, wherein the additional score for the starting word is associated with a probability that the starting word is part of an address;

determining an additional score for an ending word of the first word sequence, wherein the additional score for the ending word is associated with a probability that the ending word is part of an address; and

adding the additional score for the starting word and the additional score for the ending word to the sum of scores for the first word sequence to obtain the total sum.

6. A system, comprising:

at least one processor;

memory storing instructions, that when executed by the processor, cause the system to: receive a communication from a sender comprising a plurality of words, wherein at least one of the words is a zip code comprising five numerical digits;

assign a score to each of the words, wherein the score assigned to each of the words is based on a ratio of a first frequency of usage of the respective word in a language relative to a second frequency of usage of the respective word in the language, and wherein a first set of words comprises a first total number of words used as an address, a second set of words comprises a second total number of words including words used other than as an address, the first frequency is determined by counting occurrence of the respective word in the first set of words relative to the first total, the second frequency is determined by counting occurrence of the respective word in the second set relative to the second total, and the first total is less than the second total, and wherein the assigning the score further comprises determining a score for a numerical digit sequence based on treating any numerical digit sequence of a given digit length as being the same word;

determine a respective total sum for each of a plurality of contiguous word sequences in the communication, the respective total sum determined as a sum of the scores for each word in the respective contiguous word sequence;

identify a first word sequence of the word sequences having a total sum that is greater than a threshold value;

apply at least one filter to the first word sequence, the at least one filter comprising determining a ratio of number tokens to character tokens in the first word sequence, and comparing the ratio to a predetermined value to determine whether the first word sequence passes the at least one filter, and the at least one filter further comprising determining whether the first word sequence includes a token that scores below a predetermined threshold, wherein determining that the first word sequence includes a token that scores below the predetermined threshold disqualifies the first word sequence from being identified as an address;

in response to determining that the first word sequence passes the at least one filter, extract the first word sequence from the plurality of words of the received communication as a first address of the sender, wherein the first word sequence contains the zip code; and

store, in a data repository, the first address in a first person profile of the sender, wherein the data repository stores a plurality of person profiles including the first person profile.

7. The system of claim 6 , wherein the determining the total sum for the first word sequence comprises:

determining an additional score for a starting word of the first word sequence, wherein the additional score for the starting word is associated with a probability that the starting word is part of an address;

determining an additional score for an ending word of the first word sequence, wherein the additional score for the ending word is associated with a probability that the ending word is part of an address; and

adding the additional score for the starting word and the additional score for the ending word to the sum of scores for the first word sequence to obtain the total sum.

8. The system of claim 6 , wherein the assigning the score further comprises forming a plurality of tokens from the communication, each token corresponding to one of the words, and assigning a score to each of the tokens.

9. The system of claim 8 , wherein a first word of the words solely comprises numerical digits, and the forming the tokens comprises forming a single token corresponding to the first word.

10. A non-transitory computer-readable storage medium storing computer-readable instructions, which when executed, cause a system to:

receive a communication from a sender comprising a plurality of words, wherein at least one of the words is a zip code comprising five numerical digits;

assign, via at least one processor, a score to each of the words, wherein the score assigned to each of the words is based on a ratio of a first frequency of usage of the respective word in a language relative to a second frequency of usage of the respective word in the language, and wherein a first set of words comprises a first total number of words used as an address, a second set of words comprises a second total number of words including words used other than as an address, the first frequency is determined by counting occurrence of the respective word in the first set of words relative to the first total, the second frequency is determined by counting occurrence of the respective word in the second set relative to the second total, and the first total is less than the second total, and wherein the assigning the score further comprises determining a score for a numerical digit sequence based on treating any numerical digit sequence of a given digit length as being the same word;

determine a respective total sum for each of a plurality of word sequences in the communication, the respective total sum determined as a sum of the scores for each word in the respective word sequence;

identify a first word sequence of the word sequences having a total sum that is greater than a threshold value;

apply at least one filter to the first word sequence, the at least one filter comprising determining a ratio of number tokens to character tokens in the first word sequence, and comparing the ratio to a predetermined value to determine whether the first word sequence passes the at least one filter, and the at least one filter further comprising determining whether the first word sequence includes a token that scores below a predetermined threshold, wherein determining that the first word sequence includes a token that scores below the predetermined threshold disqualifies the first word sequence from being identified as an address;

in response to determining that the first word sequence passes the at least one filter, extract the first word sequence from the plurality of words of the received communication as a first address of the sender, wherein the first word sequence contains the zip code; and

store, in a data repository, the first address in a first person profile of the sender, wherein the data repository stores a plurality of person profiles including the first person profile.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the determining the total sum for the first word sequence comprises:

determining an additional score for a starting word of the first word sequence, wherein the additional score for the starting word is associated with a probability that the starting word is part of an address;

determining an additional score for an ending word of the first word sequence, wherein the additional score for the ending word is associated with a probability that the ending word is part of an address; and

adding the additional score for the starting word and the additional score for the ending word to the sum of scores for the first word sequence to obtain the total sum.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the assigning the score further comprises forming a plurality of tokens from the communication, each token corresponding to one of the words, and assigning a score to each of the tokens.

13. The method of claim 1 , wherein the determining the total sum for the first word sequence comprises:

determining an additional score for a starting word of the first word sequence;

determining an additional score for an ending word of the first word sequence; and

adding the additional score for the starting word and the additional score for the ending word to the sum of scores for the first word sequence to obtain the total sum.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2013
From: XOBNI CORPORATION
To: YAHOO! INC.
Reel/Frame 031093/0631 →