IP Library Granted Patent US 9,317,564
Granted Patent B1
US 9,317,564 · App. 14/518,891 · Granted Apr 19, 2016

Construction of text classifiers

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 9,317,564
App. No.
14/518,891
Granted
Apr 19, 2016
Kind
B1
Abstract

Methods, systems, and apparatus, including computer program products, for constructing text classifiers. The method includes receiving a collection of candidate phrases for a given topic; filtering the received candidate phrases to remove erroneously included candidate phrases; assigning weights to the candidate phrases including scoring each candidate phrase using an initial classifier and assigning weights to the candidate phrases based on the scores; and generating a linear classifier using the filtered and weighted candidate phrases, where the linear classifier varies the weights for each phrase candidate depending on the length of the document being classified.

Claims (47)

1. A method comprising:

receiving a collection of documents;

for each document of the collection of documents:

breaking the document into pieces of text, and

extracting n+k-grams from each piece of text separately such that each n+k-gram does not overlap;

using the extracted n+k-grams for each document as a collection of candidate phrases for a given topic;

assigning weights to the candidate phrases; and

generating a linear classifier using the weighted candidate phrases, wherein the linear classifier varies the weights for each phrase candidate depending on the length of a document being classified.

2. The method of claim 1 , wherein breaking the document into pieces of text comprises breaking document text at each HTML structure tag in the document.

3. The method of claim 1 , wherein extracting the n+k-grams includes defining a base order n and a list of skip words.

4. The method of claim 3 , wherein each n+k-gram include exactly n non-skip words and a variable number, k, of skip-words.

5. The method of claim 4 , wherein the skip-words are in-between the non-skip words.

6. The method of claim 1 , comprising:

filtering the candidate phrases to remove erroneously included candidate phrases.

7. The method of claim 1 , wherein assigning weights to the candidate phrases includes scoring each candidate phrase using an initial classifier and assigning weights to the candidate phrases based on the scores.

8. The method of claim 1 , further comprising:

varying the weights for each phrase candidate depending on the length of the document being classified is based upon a learning process using a set of labeled example documents, each example document including a score assigned by the linear classifier, a number of words in the corresponding example document, and a label, wherein the learning process outputs a decision function that assigns a label to each pair of score and document length.

9. The method of claim 1 , further comprising:

applying the linear classifier to a plurality of documents, wherein the classifier determines whether each document of the plurality of documents belongs to the given topic.

10. A system comprising:

one or more computers configured to perform operations comprising:

receiving a collection of documents;

for each document of the collection of documents:

breaking the document into pieces of text, and

extracting n+k-grams from each piece of text separately such that each n+k-gram does not overlap;

using the extracted n+k-grams for each document as a collection of candidate phrases for a given topic;

assigning weights to the candidate phrases; and

generating a linear classifier using the weighted candidate phrases, wherein the linear classifier varies the weights for each phrase candidate depending on the length of a document being classified.

11. The system of claim 10 , wherein breaking the document into pieces of text comprises breaking document text at each HTML structure tag in the document.

12. The system of claim 10 , wherein extracting the n+k-grams includes defining a base order n and a list of skip words.

13. The system of claim 12 , wherein each n+k-gram include exactly n non-skip words and a variable number, k, of skip-words.

14. The system of claim 13 , wherein the skip-words are in-between the non-skip words.

15. The system of claim 10 , wherein the one or more computers are further configured to perform operations comprising:

filtering the candidate phrases to remove erroneously included candidate phrases.

16. The system of claim 10 , wherein assigning weights to the candidate phrases includes scoring each candidate phrase using an initial classifier and assigning weights to the candidate phrases based on the scores.

17. The system of claim 10 , wherein the one or more computers are further configured to perform operations comprising:

varying the weights for each phrase candidate depending on the length of the document being classified is based upon a learning process using a set of labeled example documents, each example document including a score assigned by the linear classifier, a number of words in the corresponding example document, and a label, wherein the learning process outputs a decision function that assigns a label to each pair of score and document length.

18. The system of claim 10 , wherein the one or more computers are further configured to perform operations comprising:

applying the linear classifier to a plurality of documents, wherein the classifier determines whether each document of the plurality of documents belongs to the given topic.

19. A computer program product, stored on a non-transitory computer readable medium, comprising instructions that when executed on a server cause the server to perform operations comprising:

receiving a collection of documents;

for each document of the collection of documents:

breaking the document into pieces of text, and

extracting n+k-grams from each piece of text separately such that each n+k-gram does not overlap;

using the extracted n+k-grams for each document as a collection of candidate phrases for a given topic;

assigning weights to the candidate phrases; and

generating a linear classifier using the weighted candidate phrases, wherein the linear classifier varies the weights for each phrase candidate depending on the length of a document being classified.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2014
From: KOROLEV, DMITRY; MAENNEL, HARTMUT; HEILER, MATTHIAS; SCHAER, MICHAEL; HOFMANN, THOMAS; GAJEWSKI, WOJCIECH; SIDORSKA, JUSTYNA
To: GOOGLE INC.
Reel/Frame 034206/0089 →