Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving data that represents actions taken by a particular user with respect to entities of a plurality of entity types, disambiguating the data by identifying entities specified in the data using a machine learning based annotator that is trained to recognize entities and annotating the data, receiving a query specific from the particular user, querying the data that represents actions taken by the particular user, generating an answer to the query from the data representing the actions taken by the particular user, and providing the answer to the query.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: receiving data relating a user to entities of a plurality of entity types, wherein the data includes references to entities that are not names of the entities; annotating the data using a machine-learning based annotator that is trained to recognize entities and entity attributes of the entities in the data, the annotating by the machine-learning based annotator including: identifying an entity reference in the data that is not a name of an entity, identifying multiple candidate entities for the entity reference based in part on the entity reference, selecting a particular entity of the multiple candidate entities based in part on information in a user profile of the user, and annotating the entity reference in the data with an unambiguous entity identifier for the particular entity; receiving a query from the user, wherein the query includes one or more terms that specify one or more entity identifiers indicative of a first entity type and a particular relation of the user with respect to the entities; determining entities that are of the first entity type; querying the annotated data for data indicating the particular relation of the user with respect to the entities of the first entity type; generating an answer to the query from the annotated data indicating the particular relation of the user with respect to the entities of the first entity type; and providing the answer to the query to the user.
2. The method of claim 1 , wherein the query is received from the user by voice input.
3. The method of claim 1 , wherein the query is received from the user by keyboard, mouse, or touchpad inputs.
4. The method of claim 1 , further comprising: associating at least one identified entity with the user profile by annotating the user profile with the identified entity; and customizing an experience of the user using the annotated user profile.
5. The method of claim 1 , wherein the machine-learning based annotator selects the particular entity based at least on content in the data that represents actions taken by the user.
6. The method of claim 1 , wherein generating the answer further comprises aggregating results based on a date or category.
7. A system comprising: one or more computers; and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving, by the system, data relating a user to entities of a plurality of entity types, wherein the data includes references to entities that are not names of the entities; annotating the data using a machine-learning based annotator that is trained to recognize entities and entity attributes of the entities in the data, the annotating by the machine-learning based annotator including: identifying, by the system, an entity reference in the data that is not a name of an entity, identifying, by the system, multiple candidate entities for the entity reference based in part on the entity reference, selecting, by the system, a particular entity of the multiple candidate entities based in part on information in a user profile of the user, and annotating, by the system, the entity reference in the data with an unambiguous entity identifier for the particular entity; receiving, by the system, a query from the user, wherein the query includes one or more terms that specify one or more entity identifiers indicative of a first entity type and a particular relation of the user with respect to the entities; determining, by the system, entities that are of the first entity type; querying, by the system, the annotated data for data indicating the particular relation of the user with respect to the entities of the first entity type; generating, by the system, an answer to the query from the annotated data indicating the particular relation of the user with respect to the entities of the first entity type; and providing, by the system, the answer to the query to the user.
8. The system of claim 7 , wherein the query from the user is received from the user by voice input.
9. The system of claim 7 , wherein the query from the user is received by the system from the user by keyboard, mouse, or touchpad input.
10. The system of claim 7 , wherein the operations further comprise: associating at least one identified entity with a user profile by annotating the user profile with the identified entity; and customizing an experience of the user using the annotated user profile.
11. The system of claim 7 , wherein the machine-learning based annotator selects the particular entity based at least on content in the data that represents actions taken by the user.
12. The system of claim 7 , wherein generating the answer further comprises aggregating results based on a date or a category.
13. At least one non-transitory computer-readable storage medium comprising instructions stored thereon that are executable by a processing device and upon such execution cause the processing device to perform operations comprising: receiving data relating a user to entities of a plurality of entity types, wherein the data includes references to entities that are not names of the entities; annotating the data using a machine-learning based annotator that is trained to recognize entities and entity attributes of the entities in the data, the annotating by the machine-learning based annotator including: identifying an entity reference in the data that is not a name of an entity, identifying multiple candidate entities for the entity reference based in part on the entity reference, selecting a particular entity of the multiple candidate entities based in part on information in a user profile of the user, and annotating the entity reference in the data with an unambiguous entity identifier for the particular entity; receiving a query from the user, wherein the query includes one or more terms that specify one or more entity identifiers indicative of a first entity type and a particular relation of the user with respect to the entities; determining entities that are of the first entity type; querying the annotated data for data indicating the particular relation of the user with respect to the entities of the first entity type; generating an answer to the query from the annotated data indicating the particular relation of the user with respect to the entities of the first entity type; and providing the answer to the query to the user.
14. The at least one non-transitory computer-readable storage medium of claim 13 , wherein the entity reference is text that is different than the name of the entity.
15. The at least one non-transitory computer-readable storage medium of claim 14 , wherein the text is used as a pattern for identifying the multiple candidate entities.
16. The at least one non-transitory computer-readable storage medium of claim 13 , wherein the machine-learning based annotator selects the particular entity based at least on content in the data that represents actions taken by the user.
17. The at least one non-transitory computer-readable storage medium of claim 13 , wherein the annotating by the machine-learning based annotator further includes: identifying in the data candidate entity attributes; and using the candidate entity attributes in selecting the particular entity.
18. The at least one non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise associating the particular entity the user profile by annotating the user profile with the particular entity.
19. The at least one non-transitory computer-readable storage medium of claim 18 , wherein the operations further comprise customizing an experience of the user using the annotated user profile.
20. The at least one non-transitory computer-readable storage medium of claim 13 , wherein the information in the user profile used to select the particular entity includes location data.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
January 22, 2020
October 19, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.