# US 2012/0310941 A1 · System and method for web-based content categorization

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

- Number: US 2012/0310941 A1
- Document ID: US20120310941A1
- Status: Published application
- Kind: A1
- Application number: 13/152,175
- Filed: 2011-06-02
- Published: 2012-12-06
- Earliest claimed: 2011-06-02
- Assignees: Kindsight, Inc.
- Inventors: Roderick William MacDonald; Hao Tang; Haijun Cao; Kumaran Sangareddi
- Web page: https://patentgrep.com/patent/US20120310941A1

## CPC

- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A web mapping system and method are described. The web map system receives a content pointer and provides a category result associated with the content pointer. The category result is determined by successively selecting and applying one of a plurality of categorization algorithms that each attempt to provide a category result for a URL based on a plurality of rules. If no category result is determined, the content pointer may be passed to a categorization manager to generate a rule for the content pointer so that subsequent categorization requests for the content pointer will result in a category result.

## Claims

### Claim 1

A system for categorizing web pages comprising:
a memory unit for storing instructions; and
a processing unit for executing instructions stored in the memory unit, the instructions, when executed by the processing unit configuring the system to provide:
a plurality of rules, each rule comprising a matching expression and associated categorization information;
a plurality of categorization algorithms, each of the categorization algorithms for providing a category result for a content pointer indicating a particular content according to one of the plurality of rules, the category result based on categorization information of a rule having a matching expression that matches the content pointer; and
a lookup component for receiving a requested content pointer and successively selecting a categorization algorithm from the plurality of categorization algorithms to apply to the requested content pointer until one of the plurality of categorization algorithms provides a category result for the content pointer.

### Claim 2 (depends on 1)

The system of claim 1, wherein the category result comprises an identifier of one or more predefined content categories and an associated score indicating a relevance of each of the respective one or more predefined categories to the content pointer.

### Claim 3 (depends on 1)

The system of claim 1, further comprising:
a rules database storing one or more of the plurality of rules; and
a categorization manager for receiving a categorization content pointer, generating a rule based on the categorization content pointer and storing the generated rule in the rules database for subsequent use by at least one of the plurality of categorization algorithms.

### Claim 4 (depends on 3)

The system of claim 3, wherein the categorization manager receives a plurality of categorization content pointers and generates at least one rule based on the received plurality of categorization content pointers, wherein the categorization manager retrieves content associated with the plurality of categorization content pointers and applies one or more rule-generation algorithms to the categorization content pointers and the associated retrieved content to generate the at least one rule, and wherein the categorization manager generates the matching expression of the generated at least one rule based on the plurality of categorization content pointers and generates the categorization information based on the associated retrieved content.

### Claim 5 (depends on 1)

The system of claim 1, further comprising:
a categorization manager for receiving categorization content pointers, generating rules based on the categorization content pointer according to one or more rule-generation algorithms and storing the generated rules for subsequent use by at least one of the plurality of categorization algorithms,
wherein the one or more rule-generation algorithms include:
an exact match rule-generation algorithm generating a rule for each categorization content pointer, each generated rule comprising:
a matching expression corresponding to the exact categorization content pointer; and
categorization information generated based on the retrieved content associated with the categorization content pointer; and
a longest prefix match (LPM) rule-generation algorithm for grouping together a plurality of categorization content pointers sharing a common content pointer path and generating a single rule comprising:
a matching expression that will match the plurality of categorization content pointers sharing the common content pointer path; and
categorization information based on the content associated with the plurality of categorization content pointers sharing the common content pointer path.

### Claim 6 (depends on 1)

The system of claim 1, wherein the plurality of categorization algorithms comprise one or more:
list based categorization algorithms for determining the category result using a predefined list of rules; and
crawling categorization algorithms for determining the category result using one or more rules generated from crawling a plurality of content pointers, wherein:
the list based categorization algorithms comprise one or more of:
a white-list categorization algorithm returning the content pointer profile based on a white list of regular expressions and associated content pointer profiles, the white-list categorization algorithm returning the content pointer profile associated with the regular expression from the white list matching the received content pointer; and
a black-list categorization algorithm returning an empty content pointer profile if the received content pointer matches a regular expression of a black list comprising a plurality of regular expressions of content pointers not to be categorized; and
the crawling based categorization algorithms comprise one or more of:
a longest prefix match (LPM) categorization algorithm returning the category result when the received content pointer has a path in common with a content pointer of an LPM rule stored in the rule database; and
an exact match categorization algorithm returning the category result when the received content pointer is an exact match to a content pointer of an exact match rule stored in the rule database.

### Claim 7 (depends on 6)

The system of claim 6, wherein if a crawling categorization algorithm does not return a category result for the requested content pointer, the requested content pointer is passed to the categorization component.

### Claim 8 (depends on 1)

The system of claim 1, further comprising one or more real-time categorization algorithms that each can be selected by the categorization manager when successively selecting the categorization algorithm from the plurality of categorization algorithms, the real-time categorization algorithm for generating the category result based on the requested content pointer.

### Claim 9 (depends on 8)

The system of claim 8, wherein:
the real-time categorization algorithms comprise one or more of:
a search term categorization algorithm for identifying search terms in the received content pointer and generating a categorization for the content pointer profile based on the identified search terms; and
a content pointer categorization algorithm for identifying terms in the received content pointer and generating a categorization for the content pointer profile based on the identified terms.

### Claim 10

A method for categorizing web pages comprising:
receiving a content pointer request for categorization;
selecting a first categorization algorithm from a plurality of categorization algorithms, each of the categorization algorithms for providing a category result for a content pointer according to one of a plurality of rules, each rule comprising a matching expression and associated categorization information;
applying the selected first categorization algorithm to the requested content pointer;
determining if the selected first categorization algorithm provided a category result for the requested content pointer; and
selecting an other categorization algorithm to apply to the requested content pointer when it is determined that the first categorization algorithm did not provide the category result.

### Claim 11 (depends on 10)

The method of claim 10, wherein the category result comprises an identifier of one or more predefined content categories and an associated score indicating a relevance of each of the respective one or more predefined categories to the content pointer.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
generating a rule based on the requested content pointer when it is determined that the first categorization algorithm did not provide the category result; and
storing the generated rule in the rules database for subsequent use by at least one of the plurality of categorization algorithms.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
receiving a plurality of categorization content pointers;
retrieving content associated with the plurality of categorization content pointers;
applying one or more rule-generation algorithms to the categorization content pointers and the associated retrieved content to generate the at least one rule; and
generating at least one rule based on the received plurality of categorization content pointers comprising:
generating the matching expression of the generated at least one rule based on the plurality of categorization content pointers; and
generating the categorization information based on the associated retrieved content.

### Claim 14 (depends on 10)

The method of claim 10, further comprising:
receiving categorization content pointers;
generating rules based on the categorization content pointer according to one or more rule-generation algorithms; and
storing the generated rules for subsequent use by at least one of the plurality of categorization algorithms,
wherein the one or more rule-generation algorithms include:
an exact match rule-generation algorithm generating a rule for each categorization content pointer, each generated rule comprising:
a matching expression corresponding to the exact categorization content pointer; and
categorization information generated based on the retrieved content associated with the categorization content pointer; and
a longest prefix match (LPM) rule-generation algorithm for grouping together a plurality of categorization content pointers sharing a common content pointer path and generating a single rule comprising:
a matching expression that will match the plurality of categorization content pointers sharing the common content pointer path; and
categorization information based on the content associated with the plurality of categorization content pointers sharing the common content pointer path.

### Claim 15 (depends on 10)

The method of claim 10, wherein the plurality of categorization algorithms comprise one or more:
list based categorization algorithms for determining the category result using a predefined list of rules; and
crawling categorization algorithms for determining the category result using one or more rules generated from crawling a plurality of content pointers.

### Claim 16 (depends on 15)

The method of claim 15, wherein:
the list based categorization algorithms comprise one or more of:
a white-list categorization algorithm returning the content pointer profile based on a white list of regular expressions and associated content pointer profiles, the white-list categorization algorithm returning the content pointer profile associated with the regular expression from the white list matching the received content pointer; and
a black-list categorization algorithm returning an empty content pointer profile if the received content pointer matches a regular expression of a black list comprising a plurality of regular expressions of content pointers not to be categorized; and
the crawling based categorization algorithms comprise one or more of:
a longest prefix match (LPM) categorization algorithm returning the category result when the received content pointer has a path in common with a content pointer of an LPM rule stored in the rule database; and
an exact match generation algorithm returning the category result when the received content pointer is an exact match to a content pointer of an exact match rule stored in the rule database.

### Claim 17 (depends on 15)

The method of claim 15, wherein if a crawling categorization algorithm does not return a category result for the requested content pointer, the requested content pointer is passed to the categorization component.

### Claim 18 (depends on 10)

The method of claim 10, wherein the other categorization algorithm is a real-time categorization algorithm for generating the category result based on the requested content pointer.

### Claim 19 (depends on 18)

The method of claim 18, wherein:
the real-time categorization algorithms comprise one or more of:
a search term categorization algorithm for identifying search terms in the received content pointer and generating a categorization for the content pointer profile based on the identified search terms; and
a content pointer categorization algorithm for identifying terms in the received content pointer and generating a categorization for the content pointer profile based on the identified terms.

### Claim 20 (depends on 10)

The method of claim 10, further comprising:
successively selecting a categorization algorithm from the plurality of categorization algorithms to apply to the requested content pointer until one of the plurality of categorization algorithms provides the category result for the content pointer or until there are no more categorization algorithms to apply.

### Claim 21

A computer readable memory comprising instructions for providing a method for categorizing web pages comprising:
receiving a content pointer request for categorization;
selecting a first categorization algorithm from a plurality of categorization algorithms, each of the categorization algorithms for providing a category result for a content pointer according to one of a plurality of rules, each rule comprising a matching expression and associated categorization information;
applying the selected first categorization algorithm to the requested content pointer;
determining if the selected first categorization algorithm provided a category result for the requested content pointer; and
selecting an other categorization algorithm to apply to the requested content pointer when it is determined that the first categorization algorithm did not provide the category result.
