IP Library Granted Patent US 11,308,141
Granted Patent B2
US 11,308,141 · App. 16/232,107 · Granted Apr 19, 2022

Template generation using directed acyclic word graphs

Inventors: Srinath Ravindran (Santa Clara, CA); Mahmoudreza Abasi (Chesterfield, MO); Narayan Bhamidipati (Sunnyvale, CA)
Assignee: YAHOO ASSETS LLC
G06F16/353G06F7/08G06F16/322G06F16/328G06F16/335G06F16/9024
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 11,308,141
App. No.
16/232,107
Granted
Apr 19, 2022
Kind
B2
Abstract

Technologies for template generation using directed acyclic word graphs (DAWGs). The technologies can include receiving a first plurality of titles from a first plurality of title feeds, and sorting the first plurality of titles into a plurality of category sets. And, for each category set of the plurality of category sets, the technologies can include transforming the respective titles belonging to the category set into a trie data structure by separating words in the respective titles into nodes of the trie data structure. For each category set, the technologies can also include transforming the trie data structure into a directed acyclic word graph (DAWG) data structure. Also, for each category set, the technologies can also include generating one or more unique templates based on the DAWG data structure.

Claims (51)

1. A method comprising:

receiving a first plurality of titles from a first plurality of title feeds;

removing duplicate copies of titles in the first plurality of titles so that the plurality of first titles is transformed into a plurality of unique titles;

sorting the plurality of unique titles into a plurality of category sets; and

for each category set of the plurality of category sets:

transforming the respective unique titles belonging to the category set into a trie data structure by separating words in the respective unique titles into nodes of the trie data structure, each node of the trie data structure comprising one word;

normalizing the trie data structure by at least removing duplicates in the trie data structure;

transforming the normalized trie data structure into a directed acyclic word graph (DAWG) data structure, the DAWG data structure comprising a plurality of fixed nodes and a plurality of variable nodes, each fixed node of the plurality of fixed nodes comprising one fixed word, and each variable node of the plurality of variable nodes comprising a plurality of alternative words representing multiple alternative words for the variable node; and

generating one or more unique templates based on the DAWG data structure.

2. The method of claim 1 , further comprising:

receiving a second plurality of titles from feeds selected from the group of title feeds consisting of the first plurality of title feeds and a second plurality of title feeds; and

for each generated unique template of the generated one or more unique templates of the plurality of category sets, searching the second plurality of titles by using the generated unique template as a regular expression to match one or more titles with the generated unique template.

3. The method of claim 2 , further comprising:

performing an action according to the matched one or more titles.

4. The method of claim 3 , wherein the action comprises associating, in a database, the matched one or more titles with the generated unique template.

5. The method of claim 2 , further comprising:

associating, in a database, a given title of the second plurality of titles that matches multiple generated unique templates of the generated one or more unique templates of the plurality of category sets with only one of the multiple generated unique templates according to a criterion.

6. The method of claim 5 , wherein the criterion comprises selecting one of the multiple generated unique templates that has been associated, in the database, with more titles than the other templates of the multiple generated unique templates.

7. The method of claim 1 , wherein the transforming the respective unique titles belonging to the category set into the trie data structure comprises generating sub-trie data structures of the trie data structure in parallel.

8. The method of claim 1 , wherein the generating the one or more unique templates based on the DAWG data structure comprises including only two fixed words of two fixed nodes of the plurality of fixed nodes into each unique template of the one or more unique templates along with at least one wildcard parameter for one additional word.

9. The method of claim 8 , wherein the generating the one or more unique templates based on the DAWG data structure comprises including only one wildcard parameter for one additional word into each unique template of the one or more unique templates, such that the unique template can be used as a trigram.

10. The method of claim 8 , wherein the generating the one or more unique templates based on the DAWG data structure comprises including only two wildcard parameters for two additional words into each unique template of the one or more unique templates, such that the unique template can be used as a 4-gram.

11. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor of computing device, performs a method, the method comprising:

receiving a first plurality of titles from a first plurality of title feeds;

sorting the first plurality of titles into a plurality of category sets; and

for each category set of the plurality of category sets:

transforming the respective titles belonging to the category set into a trie data structure by separating words in the respective titles into nodes of the trie data structure, each node of the trie data structure comprising one word;

normalizing the trie data structure by at least removing duplicates in the trie data structure; and

transforming the normalized trie data structure into a directed acyclic word graph (DAWG) data structure, the DAWG data structure comprising a plurality of fixed nodes and a plurality of variable nodes, each fixed node of the plurality of fixed nodes comprising one fixed word, and each variable node of the plurality of variable nodes comprising a plurality of alternative words representing multiple alternative words for the variable node.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the transforming the respective titles belonging to the category set into the trie data structure comprises generating sub-trie data structures of the trie data structure in parallel.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises: for each category set of the plurality of category sets, generating one or more unique templates based on the respective DAWG data structure of the category set.

14. The non-transitory computer-readable storage medium of claim 13 , further comprising:

receiving a second plurality of titles from feeds selected from the group of title feeds consisting of the first plurality of title feeds and a second plurality of title feeds; and

for each generated unique template of the generated one or more unique templates of the plurality of category sets, searching the second plurality of titles by using the generated unique template as a regular expression to match one or more titles with the generated unique template.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the generating the one or more unique templates based on the DAWG data structure comprises including only two fixed words of two fixed nodes of the plurality of fixed nodes into each unique template of the one or more unique templates along with at least one wildcard parameter for one additional word.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the generating the one or more unique templates based on the DAWG data structure comprises including only one wildcard parameter for one additional word into each unique template of the one or more unique templates, such that the unique template can be used as a trigram.

17. A computing device, comprising:

a processor; and

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

executable logic for receiving a first plurality of titles from a first plurality of title feeds;

executable logic for sorting the first plurality of titles into a plurality of category sets; and

for each category set of the plurality of category sets:

executable logic for transforming the respective titles belonging to the category set into a trie data structure by separating words in the respective titles into nodes of the trie data structure, each node of the trie data structure comprising one word;

executable logic for transforming the trie data structure into a directed acyclic word graph (DAWG) data structure, the DAWG data structure comprising a plurality of fixed nodes and a plurality of variable nodes, each fixed node of the plurality of fixed nodes comprising one fixed word, and each variable node of the plurality of variable nodes comprising a plurality of alternative words representing multiple alternative words for the variable node; and

executable logic for generating one or more unique templates based on the DAWG data structure.

18. The computing device of claim 17 , wherein the transforming the respective titles belonging to the category set into the trie data structure comprises generating sub-trie data structures of the trie data structure in parallel.

19. The computing device of claim 17 , wherein the program logic further comprises:

executable logic for receiving a second plurality of titles from feeds selected from the group of title feeds consisting of the first plurality of title feeds and a second plurality of title feeds; and

for each generated unique template of the generated one or more unique templates of the plurality of category sets:

executable logic for searching the second plurality of titles by using the generated unique template as a regular expression to match one or more titles with the generated unique template.

20. The computing device of claim 17 , wherein the generating the one or more unique templates based on the DAWG data structure comprises including only two fixed words of two fixed nodes of the plurality of fixed nodes into each unique template of the one or more unique templates along with only one wildcard parameter for one additional word, such that the unique template can be used as a trigram.

Assignments (5)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF INVENTOR MAHMOUDREZA ABASI PREVIOUSLY RECORDED ON REEL 047851 FRAME 0130. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 27, 2018
From: RAVINDRAN, SRINATH; ABASI, MAHMOUDREZA; BHAMIDIPATI, NARAYAN
To: OATH INC.
Reel/Frame 049153/0122 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2018
From: RAVINDRAN, SRINATH; ABASI, MAHMAUDREZA; BHAMPIDIPATI, NARAYAN
To: OATH INC.
Reel/Frame 047851/0130 →