IP Library Granted Patent US 9,501,503
Granted Patent B2
US 9,501,503 · App. 13/920,773 · Granted Nov 22, 2016

Inferring entity attribute values

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,501,503
App. No.
13/920,773
Granted
Nov 22, 2016
Kind
B2
Abstract

Systems, methods, and computer-readable storage media are provided for inferring missing or ambiguous attribute values for entities based on partial information about such entities and/or information about other similar entities as extracted from multiple information sources for generating Web ranking signals for online search. A plurality of heterogeneous input data sources are ingested and combined to produce output data having information content that is more than the sum of its parts. A generic platform is provided where multiple data sources having information content related to entity attributes can be plugged-in without additional changes being necessary to the platform. This generic plugin model for extracting and inferring entity attribute values makes it easy to leverage new data sources as they become available to improve the final inferred attribute data.

Claims (59)

1. One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to infer entity attribute values, the instructions configured to:

receive data from multiple heterogeneous data sources, the data including a plurality of entity attribute values each associated with an entity and an attribute, the attribute having an associated attribute type and an attribute confidence score;

create a partial-to-attribute graph that includes the plurality of entity attribute values and associated entities, a partial being a set of attributes and their corresponding attribute values for a particular entity, a first node of the partial-to-attribute graph comprising a partial for a entity, and a second node comprising an entity attribute value, an edge of the partial-to-attribute graph connecting the first node and the second node when an attribute of the entity of the first node corresponds to the attribute value of the second node;

reduce a number of graph connections in the partial-to-attribute graph, the number of graph connections in the partial-to-attribute graph being reduced by removing attributes having associated attribute values that occur more than a threshold number of times;

create a partial-to-partial similarity graph based upon attribute overlap in the partial-to-attribute graph;

identify a specific partial corresponding to a first entity in the partial-to-partial similarity graph, the specific partial including a missing or ambiguous attribute for the first entity;

identify one or more spatially proximate partials to the specific partial from the partial-to-partial similarity graph; and

infer a possible value for the missing or ambiguous attribute for the first entity by identifying, in aggregate across the one or more spatially proximate partials, values associated with the missing or ambiguous attribute.

2. The one or more computer storage media of claim 1 , wherein the data received from multiple heterogeneous data sources is in a common format.

3. The one or more computer storage media of claim 2 , wherein the common format is a set of partials.

4. The one or more computer storage media of claim 1 , wherein the instructions are further configured to:

normalize the plurality of entity attribute values across the data received from the multiple heterogeneous data sources;

compute an authority score for each of the multiple heterogeneous data sources based upon comparisons with a truth set of data on a per attribute-type basis; and

aggregate the data across the multiple heterogeneous data sources.

5. The one or more computer storage media of claim 1 , wherein normalizing the plurality of entity attribute values comprises applying normalization logic that is specific to each attribute type.

6. The one or more computer storage media of claim 1 , wherein the instructions are further configured to:

normalize the attribute confidence scores associated with each attribute; and

scale the normalized attribute confidence scores in aggregating the data across the multiple heterogeneous data sources.

7. The one or more computer storage media of claim 1 , wherein the number of graph connections in the partial-to-attribute graph is reduced by creating one or more composite attributes.

8. The one or more computer storage media of claim 1 , wherein inferring the possible value for the missing or ambiguous attribute for the first entity comprises creating a ranked set of possible values for the missing or ambiguous attribute for the first entity based on confidence scores.

9. A method being performed by one or more computing devices including at least one processor, the method for inferring entity attribute values, the method comprising:

receiving data from multiple heterogeneous data sources, the data including a plurality of entity attribute values each associated with an entity and an attribute, the attribute having an associated attribute type and an attribute confidence score;

normalizing the plurality of entity attribute values across the data received from the multiple heterogeneous data sources;

computing an authority score for each of the multiple heterogeneous data sources based upon comparisons with a truth set of data on a per attribute-type basis;

normalizing the attribute confidence scores associated with each attribute;

scaling the normalized attribute confidence scores;

aggregating the data across the multiple heterogeneous data sources;

creating a partial-to-attribute graph that includes the plurality of entity attribute values and associated entities, a partial being a set of attributes and their corresponding attribute values for a particular entity, a first node of the partial-to-attribute graph comprising a partial for a entity, and a second node comprising an entity attribute value, an edge of the partial-to-attribute graph connecting the first node and the second node when an attribute of the entity of the first node corresponds to the attribute value of the second node;

reducing a number of graph connections in the partial-to-attribute graph, the number of graph connections in the partial-to-attribute graph being reduced by removing attributes having associated attribute values that occur more than a threshold number of times;

creating a partial-to-partial similarity graph based upon attribute overlap in the partial-to-attribute graph;

identifying a specific partial corresponding to a first entity in the partial-to-partial similarity graph, the specific partial including a missing or ambiguous attribute for the first entity;

identifying one or more spatially proximate partials to the specific partial from the partial-to-partial similarity graph; and

inferring a possible value for the missing or ambiguous attribute for the first entity by identifying, in aggregate across the one or more spatially proximate partials, values associated with the missing or ambiguous attribute.

10. The method of claim 9 , wherein the data received from multiple heterogeneous data sources is in a common format.

11. The method of claim 10 , wherein the common format is a set of partials.

12. The method of claim 9 , wherein normalizing the plurality of entity attribute values comprises applying normalization logic that is specific to each attribute type.

13. The method of claim 9 , wherein the number of graph connections in the partial-to-attribute graph is reduced by creating one or more composite attributes.

14. The method of claim 11 , wherein inferring the possible value for the missing or ambiguous attribute for the first entity comprises creating a ranked set of possible values for the missing or ambiguous attribute for the first entity based on confidence scores.

15. A system comprising:

an inference engine having one or more processors and one or more computer storage media;

a data store coupled with the inference engine,

the inference engine:

receiving data from multiple heterogeneous data sources, the data including a plurality of entity attribute values each associated with an entity and an attribute, the attribute having an associated attribute type and an attribute confidence score;

creating a partial-to-attribute graph that includes the plurality of entity attribute values and associated entities, a partial being a set of attributes and their corresponding attribute values for a particular entity, a first node of the partial-to-attribute graph comprising a partial for a entity, and a second node comprising an entity attribute value, an edge of the partial-to-attribute graph connecting the first node and the second node when an attribute of the entity of the first node corresponds to the attribute value of the second node;

reducing a number of graph connections in the partial-to-attribute graph, the number of graph connections in the partial-to-attribute graph being reduced by removing attributes having associated attribute values that occur more than a threshold number of times;

creating a partial-to-partial similarity graph based upon attribute overlap in the partial-to-attribute graph;

identifying a specific partial corresponding to a first entity in the partial-to-partial similarity graph, the specific partial including a missing or ambiguous attribute for the first entity;

identifying one or more spatially proximate partials to the specific partial from the partial-to-partial similarity graph; and

inferring a possible value for the missing or ambiguous attribute for the first entity by identifying, in aggregate across the one or more spatially proximate partials, values associated with the missing or ambiguous attribute.

16. The system of claim 15 , wherein the inference engine infers the possible value for the missing or ambiguous attribute for the first entity comprises by creating a ranked set of possible values for the missing or ambiguous attribute for the first entity based on confidence scores.

17. The system of claim 15 , wherein the inference engine further:

normalizes the plurality of entity attribute values across the data received from the multiple heterogeneous data sources;

computes an authority score for each of the multiple heterogeneous data sources based upon comparisons with a truth set of data on a per attribute-type basis; and

aggregates the data across the multiple heterogeneous data sources.

18. The system of claim 15 , wherein the inference engine further:

normalizes the attribute confidence scores associated with each attribute; and

scales the normalized attribute confidence scores in aggregating the data across the multiple heterogeneous data sources.

19. The system of claim 15 , wherein the number of graph connections in the partial-to-attribute graph is reduced by creating one or more composite attributes.

20. The system of claim 15 , wherein the data received from multiple heterogeneous data sources is in a common format.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2014
From: MITRA, BHASKAR; ABIB, ELBIO RENATO; IMADA, FABIO EIGI; JIAO, YU
To: MICROSOFT CORPORATION
Reel/Frame 032487/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2013
From: MITRA, BHASKAR; ABIB, ELBIO RENATO; IMADA, FABIO EIGI; JIAO, YU
To: MICROSOFT CORPORATION
Reel/Frame 030915/0369 →