IP Library Granted Patent US 10,628,400
Granted Patent B2
US 10,628,400 · App. 15/252,691 · Granted Apr 21, 2020

Automatic content tagging

Inventors: Eric Huang (San Francisco, CA); David Golland (Oakland, CA); Patrick Chase (Portola Valley, CA); Alexandre Patry (Dublin, CA); Shakti Dhirendraji Sinha (Sunnyvale, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/22G06F16/2379G06F16/35G06F16/38
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,628,400
App. No.
15/252,691
Granted
Apr 21, 2020
Kind
B2
Abstract

A system and method for automatic topic tagging are provided. In example embodiments, input content is received, the content includes a plurality of terms. Term vectors are generated from the plurality of terms. Candidate topics are identified to assigned to the plurality of terms. Topics are assigned to the received content from the identified candidate topics.

Claims (61)

1. A system comprising:

a processor, and a memory including instructions, which when executed by the processor, cause the processor to:

receive content information that include a plurality of terms;

generate term vectors from the plurality of terms;

compare the term vectors to a plurality of coarse filter terms to eliminate one or more coarse filter terms that do not apply to any of the term vectors, wherein each coarse filter term has a separate predetermined threshold, resulting in a matching set of coarse filter terms, wherein the comparing includes incrementing a frequency count associated with each course filter term in the plurality of coarse filter terms for each appearance of the corresponding coarse filter term in the term vectors and eliminating, for each of the plurality of coarse filter terms, any coarse filter term with a frequency count less than the predetermined threshold assigned to the corresponding coarse filter term from the matching set of coarse filter terms;

access a stored mapping data structure that maps each of one or more coarse filter terms to a plurality of candidate topic identifications to identify candidate topic identifications for the matching set of coarse filter terms;

identify a result set of candidate topics based on classifier coefficients assigning different weights to different word terms, the classifier coefficients learned by a machine learning algorithm;

reject one or more candidate topics in the result set of candidate topics based on a dot product operation between the classifier coefficients and the term vectors corresponding to the identified candidate topics;

generate metadata identifying each non-rejected topic in the result set of candidate topics;

tag the content information with the generated metadata, wherein the tagging involves storing the generated metadata with the content information in such a way as to facilitate searching for the content information based on the generated metadata.

2. The system of claim 1 , wherein:

each of the plurality of coarse filter terms corresponds to a plurality of candidate topics.

3. The system of claim 2 , wherein:

the comparison is based on calculating the frequency count for the plurality of candidate topics identified for term vectors of the content.

4. The system of claim 3 , wherein:

the identifying candidate topics is further based on the frequency count for the plurality of candidate topics transgressing respective frequency threshold.

5. The system of claim 1 , wherein:

the rejecting is further based on determining a dot product result that transgresses a threshold.

6. The system of claim 5 , wherein:

the determination whether the dot product result of a topic transgresses a threshold is performed asynchronously.

7. The system of claim 1 , wherein:

the classifier coefficients represent weight assigned to the plurality of terms.

8. A method comprising:

using one or more computer processors:

receiving content information that include a plurality of terms;

generating term vectors from the plurality of terms;

comparing the term vectors to a plurality of coarse filter terms to eliminate one or more coarse filter terms that do not apply to any of the term vectors, wherein each coarse filter term has a separate predetermined threshold, resulting in a matching set of coarse filter terms, wherein the comparing includes incrementing a frequency count associated with each course filter term in the plurality of coarse filter terms for each appearance of the corresponding coarse filter term in the term vectors and eliminating, for each of the plurality of coarse filter terms, any coarse filter term with a frequency count less than the predetermined threshold assigned to the corresponding coarse filter term from the matching set of coarse filter terms;

accessing a stored mapping data structure that maps each of one or more coarse filter terms to a plurality of candidate topic identifications to identify candidate topic identifications for the matching set of coarse filter terms;

identifying a result set of candidate topics based on classifier coefficients assigning different weights to different word terms, the classifier coefficients learned by a machine learning algorithm;

Rejecting one or more candidate topics in the result set of candidate topics based on a dot product operation between the classifier coefficients and the term vectors corresponding to the identified candidate topics;

generating metadata identifying each non-rejected topic in the result set of candidate topics;

tagging the content information with the generated metadata, wherein the tagging involves storing the generated metadata with the content information in such a way as to facilitate searching for the content information based on the generated metadata.

9. The method of claim 8 , wherein:

each of the plurality of coarse filter terms corresponds to a plurality of candidate topics.

10. The method of claim 9 , wherein:

the comparison is based on calculating the frequency count for the plurality of candidate topics identified for all term vectors of the content.

11. The method of claim 10 , wherein:

the identifying candidate topics is further based on the frequency count for the plurality of candidate topics transgressing respective frequency threshold.

12. The method of claim 8 , wherein:

the rejecting is further based on determining a dot product result that transgresses a threshold.

13. The method of claim 12 , wherein:

the determination whether the dot product result of a topic transgresses a threshold is performed asynchronously.

14. The method of claim 8 , further comprising:

the classifier coefficients represent weight assigned to the plurality of terms.

15. A machine-readable medium not having any transitory signals and storing instructions that, when executed by at least one processor of a machine, cause the machine to perform operations comprising:

using one or more computer processors:

receiving content information that include a plurality of terms;

generating term vectors from the plurality of terms;

comparing the term vectors to a plurality of coarse filter terms to eliminate one or more coarse filter terms that do not apply to any of the term vectors, wherein each coarse filter term has a separate predetermined threshold, resulting in a matching set of coarse filter terms, wherein the comparing includes incrementing a frequency count associated with each course filter term in the plurality of coarse filter terms for each appearance of the corresponding coarse filter term in the term vectors and eliminating, for each of the plurality of coarse filter terms, any coarse filter term with a frequency count less than the predetermined threshold assigned to the corresponding coarse filter term from the matching set of coarse filter terms;

accessing a stored mapping data structure that maps each of one or more coarse filter terms to a plurality of candidate topic identifications to identify candidate topic identifications for the matching set of coarse filter terms;

identifying a result set of candidate topics based on classifier coefficients assigning different weights to different word terms, the classifier coefficients learned by a machine learning algorithm;

Rejecting one or more candidate topics in the result set of candidate topics based on a dot product operation between the classifier coefficients and the term vectors corresponding to the identified candidate topics;

generating metadata identifying each non-rejected topic in the result set of candidate topics;

tagging the content information with the generated metadata, wherein the tagging involves storing the generated metadata with the content information in such a way as to facilitate searching for the content information based on the generated metadata.

16. The machine-readable medium of claim 15 , wherein:

each of the plurality of coarse filter terms corresponds to a plurality of candidate topics;

wherein the comparison is based on calculating the frequency count for the plurality of candidate topics identified for all term vectors of the content; and

wherein the identifying candidate topics is further based on the frequency count for the plurality of candidate topics transgressing respective frequency threshold.

17. The machine-readable medium of claim 15 , wherein:

the rejecting is further based on determining a dot product result that transgresses a threshold; and

the determination whether the dot product result of a topic transgresses a threshold is performed asynchronously.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2016
From: HUANG, ERIC; GOLLAND, DAVID; CHASE, PATRICK; PATRY, ALEXANDRE; SINHA, SHAKTI DHIRENDRAJI
To: LINKEDIN CORPORATION
Reel/Frame 039601/0951 →
Continuity (2)
Provisional Application 62377332 · Aug 19, 2016
Related Publication 20180052874A1 · Feb 22, 2018