IP Library Granted Patent US 9,864,795
Granted Patent B1
US 9,864,795 · App. 14/526,116 · Granted Jan 9, 2018

Identifying entity attributes

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,864,795
App. No.
14/526,116
Granted
Jan 9, 2018
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating an ontology of entity attributes. One of the methods includes extracting a plurality of attributes based upon a plurality of queries; and constructing an ontology based upon the plurality of attributes and a plurality of entity classes.

Claims (51)

1. A method comprising:

generating an ontology of class-attribute pairs, wherein each class that occurs in the class-attribute pairs of the ontology is a class of entities and each attribute occurring in the class-attribute pairs of the ontology is an attribute of the respective entities in the class of the class-attribute pair in which the attribute occurs, wherein each attribute in the class-attribute pairs has one or more domains of instances to which the attribute applies and a range that is either a class of entities or a type of data, and wherein generating the ontology comprises:

obtaining class-entity data representing a set of classes and, for each class, entities belonging to the class as instances of the class;

obtaining a plurality of entity-attribute pairs, wherein each entity-attribute pair identifies an entity that is represented in the class-entity data and a candidate attribute for the entity;

determining a plurality of attribute extraction patterns from occurrences of the entities identified by the entity-attribute pairs with the candidate attributes identified by the entity-attribute pairs in text of documents in a collection of documents, wherein determining the plurality of attribute extraction patterns comprises:

identifying an occurrence of the entity and the candidate attribute identified by a first entity-attribute pair in a first sentence from a first document in the collection of documents;

generating a candidate lexical attribute extraction pattern from the first sentence;

generating a candidate parse attribute extraction pattern from the first sentence; and

selecting the candidate lexical attribute extraction pattern and the candidate parse attribute extraction pattern as attribute extraction patterns if the candidate lexical attribute pattern and the candidate parse attribute extraction patterns were generated using at least a predetermined number of unique entity-attribute pairs; and

applying the plurality of attribute extraction patterns to the documents in the collection of documents to determine entity-attribute pairs, and from the entity-attribute pairs and the class-entity data, for each of one or more entity classes represented in the class-entity data, attributes possessed by entities belonging to the entity class.

2. The method of claim 1 , wherein obtaining the plurality of entity-attribute pairs comprises:

extracting one or more of the plurality of entity-attribute pairs from a stream of search queries submitted to a search engine.

3. The method of claim 2 , wherein extracting the one or more entity-attribute pairs comprises:

applying one or more predetermined patterns to the search queries in the stream to extract one or more candidate entity-attribute pairs.

4. The method of claim 1 , wherein generating the ontology comprises:

classifying each of the determined attributes as either non-atomic, numeric or atomic-textual.

5. The method of claim 4 , wherein classifying each determined attribute comprises processing features associated with the determined attribute using each of a plurality of classifiers to determine the classification for the determined attribute, wherein each classifier is specific to a respective one of the possible classifications for the determined attribute.

6. The method of claim 1 , wherein the entity classes are arranged in a hierarchy, and wherein generating the ontology comprises:

determining, for each of the plurality of determined attributes, one or more best entity classes for the determined attribute.

7. A system comprising one or more processors and one or more computer-readable media storing instructions that when executed by the one or more processors to cause the one or more processors to perform operations comprising:

generating an ontology of class-attribute pairs, wherein each class that occurs in the class-attribute pairs of the ontology is a class of entities and each attribute occurring in the class-attribute pairs of the ontology is an attribute of the respective entities in the class of the class-attribute pair in which the attribute occurs, wherein each attribute in the class-attribute pairs has one or more domains of instances to which the attribute applies and a range that is either a class of entities or a type of data, and wherein generating the ontology comprises:

obtaining class-entity data representing a set of classes and, for each class, entities belonging to the class as instances of the class;

obtaining a plurality of entity-attribute pairs, wherein each entity-attribute pair identifies an entity that is represented in the class-entity data and a candidate attribute for the entity;

determining a plurality of attribute extraction patterns from occurrences of the entities identified by the entity-attribute pairs with the candidate attributes identified by the entity-attribute pairs in text of documents in a collection of documents, wherein determining the plurality of attribute extraction patterns comprises:

identifying an occurrence of the entity and the candidate attribute identified by a first entity-attribute pair in a first sentence from a first document in the collection of documents;

generating a candidate lexical attribute extraction pattern from the first sentence;

generating a candidate parse attribute extraction pattern from the first sentence; and

selecting the candidate lexical attribute extraction pattern and the candidate parse attribute extraction pattern as attribute extraction patterns if the candidate lexical attribute pattern and the candidate parse attribute extraction patterns were generated using at least a predetermined number of unique entity-attribute pairs; and

applying the plurality of attribute extraction patterns to the documents in the collection of documents to determine entity-attribute pairs, and from the entity-attribute pairs and the class-entity data, for each of one or more entity classes represented in the class-entity data, determine one or more attributes possessed by entities belonging to the entity class.

8. The system of claim 7 , wherein obtaining the plurality of entity-attribute pairs comprises:

extracting one or more of the plurality of entity-attribute pairs from a stream of search queries submitted to a search engine.

9. The system of claim 8 , wherein extracting the one or more entity-attribute pairs comprises:

applying one or more predetermined patterns to the search queries in the stream to extract one or more candidate entity-attribute pairs.

10. The system of claim 7 , wherein generating the ontology comprises:

classifying each of the determined attributes as either non-atomic, numeric or atomic-textual.

11. The system of claim 10 , wherein classifying each determined attribute comprises processing features associated with the determined attribute using each of a plurality of classifiers to determine the classification for the determined attribute, wherein each classifier is specific to a respective one of the possible classifications for the determined attribute.

12. The system of claim 7 , wherein the entity classes are arranged in a hierarchy, and wherein generating the ontology comprises:

determining, for each of the plurality of determined attributes, one or more best entity classes for the determined attribute.

13. A non-transitory computer-readable medium storing instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:

generating an ontology of class-attribute pairs, wherein each class that occurs in the class-attribute pairs of the ontology is a class of entities and each attribute occurring in the class-attribute pairs of the ontology is an attribute of the respective entities in the class of the class-attribute pair in which the attribute occurs, wherein each attribute in the class-attribute pairs has one or more domains of instances to which the attribute applies and a range that is either a class of entities or a type of data, and wherein generating the ontology comprises:

obtaining class-entity data representing a set of classes and, for each class, entities belonging to the class as instances of the class;

obtaining a plurality of entity-attribute pairs, wherein each entity-attribute pair identifies an entity that is represented in the class-entity data and a candidate attribute for the entity;

determining a plurality of attribute extraction patterns from occurrences of the entities identified by the entity-attribute pairs with the candidate attributes identified by the entity-attribute pairs in text of documents in a collection of documents, wherein determining the plurality of attribute extraction patterns comprises:

identifying an occurrence of the entity and the candidate attribute identified by a first entity-attribute pair in a first sentence from a first document in the collection of documents;

generating a candidate lexical attribute extraction pattern from the first sentence;

generating a candidate parse attribute extraction pattern from the first sentence; and

selecting the candidate lexical attribute extraction pattern and the candidate parse attribute extraction pattern as attribute extraction patterns if the candidate lexical attribute pattern and the candidate parse attribute extraction patterns were generated using at least a predetermined number of unique entity-attribute pairs; and

applying the plurality of attribute extraction patterns to the documents in the collection of documents to determine entity-attribute pairs, and from the entity-attribute pairs and the class-entity data, for each of one or more entity classes represented in the class-entity data, determine one or more attributes possessed by entities belonging to the entity class.

14. The non-transitory computer-readable medium of claim 13 , wherein generating the ontology comprises:

classifying each of the determined attributes as either non-atomic, numeric or atomic-textual.

15. The non-transitory computer-readable medium of claim 14 , wherein classifying each determined attribute comprises processing features associated with the determined attribute using each of a plurality of classifiers to determine the classification for the determined attribute, wherein each classifier is specific to a respective one of the possible classifications for the determined attribute.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2015
From: HALEVY, ALON YITZCHAK; WU, FEI; WHANG, STEVEN EUIJONG; GUPTA, RAHUL
To: GOOGLE INC.
Reel/Frame 035350/0411 →