IP Library Granted Patent US 12,229,167
Granted Patent B2
US 12,229,167 · App. 18/316,929 · Granted Feb 18, 2025

Systems and methods for grouping search results into dynamic categories based on query and result set

Inventors: Anubhav Malhotra (Sunnyvale, CA); John M. Hörnkvist (Cupertino, CA)
Assignee: Apple Inc.
G06F16/285G06F16/2228G06F16/248G06F16/951
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 12,229,167
App. No.
18/316,929
Granted
Feb 18, 2025
Kind
B2
Abstract

A method and apparatus of a device that indexes donated content from an application on a device is described. In an exemplary embodiment, the device receives donated content for an application object from the application. The device further associates a metadata tag for a topic to the donated content. In addition, the device indexes the donated content with the metadata tag in a local search index of the device.

Claims (62)

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to index content from an application on an electronic device, the method comprising:

receiving, with an electronic device, content for an application object accessible to the electronic device;

associating a metadata tag for a topic to the content;

storing the association between the content and the metadata tag in an on-device local search index of the electronic device, wherein the content in the on-device local search index remains local to the electronic device and the on-device local search index is not exposed to an external server;

receiving a query search request and performing a query search for the query search request using the local search index to obtain a set of search results that includes the content;

determining a preference of a user for the topic based on a history of on-device interactions with the topic; and

causing a presentation of a category for at least some of the set of search results using at least the metadata tag of the content.

2. The non-transitory machine-readable medium of claim 1 , wherein determining a preference of the user for the topic comprises:

classifying one or more interactions by the user with search results on the topic.

3. The non-transitory machine-readable medium of claim 1 , wherein the method further comprises:

ranking search results for the category based on the history of on-device interactions with search results.

4. The non-transitory machine-readable medium of claim 1 , wherein the application object is from an application locally installed on the electronic device.

5. The non-transitory machine-readable medium of claim 1 , wherein the method further comprises:

performing an analysis on the application object, wherein the analysis is selected from the group consisting of latent semantic analysis, explicit semantic analysis, latent Dirichlet allocation, hierarchical Dirichlet process, non-negative matrix factorization, and expectation maximization;

extracting at least one topic from the analysis; and

adding the at least one topic to the metadata tag for the application object.

6. The non-transitory machine-readable medium of claim 1 , wherein the method further comprises:

retrieving an application category for the application; and

adding the application category to the metadata tag as a topic for the application object.

7. The non-transitory machine-readable medium of claim 1 , wherein the content is metadata relating to objects used with the application.

8. A method to index donated content from an application on a device, the method comprising:

receiving, with an electronic device, content for an application object accessible to the electronic device;

associating a metadata tag for a topic to the content;

storing the association between the content and the metadata tag in an on-device local search index of the electronic device, wherein the content in the on-device local search index remains local to the electronic device and the on-device local search index is not exposed to an external server;

receiving a query search request and performing a query search for the query search request using the local search index to obtain a set of search results that includes the content;

determining a preference of a user for the topic based on a history of on-device interactions with the topic; and

causing a presentation of a category for at least some of the set of search results using at least the metadata tag of the content.

9. The method of claim 8 , wherein determining a preference of the user for the topic comprises:

classifying one or more interactions by the user with search results on the topic.

10. The method of claim 8 , wherein the method further comprises:

ranking search results for the category based on the history of on-device interactions with search results.

11. The method of claim 8 , wherein the application object is from an application locally installed on the electronic device.

12. The method of claim 8 , wherein the method further comprises:

performing an analysis on the application object, wherein the analysis is selected from the group consisting of latent semantic analysis, explicit semantic analysis, latent Dirichlet allocation, hierarchical Dirichlet process, non-negative matrix factorization, and expectation maximization;

extracting at least one topic from the analysis; and

adding the at least one topic to the metadata tag for the application object.

13. The method of claim 8 , wherein the method further comprises:

retrieving an application category for the application; and

adding the application category to the metadata tag as a topic for the application object.

14. The method of claim 8 , wherein the content is metadata relating to objects used with the application.

15. A device to index donated content from an application on a device, the device comprising:

at least one processor;

memory coupled to the processor through a bus; and

a process executed from the memory by the processor that causes the processor to:

receive, with an electronic device, content for an application object accessible to the electronic device;

associate a metadata tag for a topic to the content;

store the association between the content and the metadata tag in an on-device local search index of the electronic device, wherein the content in the on-device local search index remains local to the electronic device and the on-device local search index is not exposed to an external server;

receive a query search request and performing a query search for the query search request using the local search index to obtain a set of search results that includes the content;

determine a preference of a user for the topic based on a history of on-device interactions with the topic; and

cause a presentation of a category for at least some of the set of search results using at least the metadata tag of the content.

16. The device of claim 15 , wherein determining a preference of the user for the topic comprises:

classifying one or more interactions by the user with search results on the topic.

17. The device of claim 15 , wherein the process further causes the processor to:

ranking search results for the category based on the history of on-device interactions with search results.

18. The device of claim 15 , wherein the application object is from an application locally installed on the electronic device.

19. The device of claim 15 , wherein the process further causes the processor to:

performing an analysis on the application object, wherein the analysis is selected from the group consisting of latent semantic analysis, explicit semantic analysis, latent Dirichlet allocation, hierarchical Dirichlet process, non-negative matrix factorization, and expectation maximization;

extracting at least one topic from the analysis; and

adding the at least one topic to the metadata tag for the application object.

20. The device of claim 15 , wherein the process further causes the processor to:

retrieving an application category for the application; and

adding the application category to the metadata tag as a topic for the application object.

Continuity (4)
Continuation 16731977 · Dec 31, 2019
Division 15721197 · Sep 29, 2017
Provisional Application 62514717 · Jun 2, 2017
Related Publication 20230281226A1 · Sep 7, 2023
References Cited (55)
US 7345671B2 · Robbin et al. · 2008 [cited by applicant]
US 7627343B2 · Fadell et al. · 2009 [cited by applicant]
US 8122029B2 · Loofbourrow et al. · 2012 [cited by applicant]
US 8380743B2 · Convertino et al. · 2013 [cited by applicant]
US 9384211B1 · Castillo et al. · 2016 [cited by applicant]
US 10200824B2 · Gross et al. · 2019 [cited by applicant]
US 10534783B1 · Raczko et al. · 2020 [cited by applicant]
US 10621189B2 · Lin et al. · 2020 [cited by applicant]
US 10621246B2 · Malhotra et al. · 2020 [cited by applicant]
US 11210301B2 · De Almeida Forjaz De Lacerda et al. · 2021 [cited by applicant]
US 20050192955A1 · Farrell · 2005 [cited by applicant]
US 20070033191A1 · Hornkvist et al. · 2007 [cited by applicant]
US 20070033531A1 · Marsh · 2007 [cited by applicant]
US 20070250501A1 · Grubb et al. · 2007 [cited by applicant]
US 20070255755A1 · Zhang et al. · 2007 [cited by applicant]
US 20080005086A1 · Moore · 2008 [cited by applicant]
US 20080071929A1 · Motte et al. · 2008 [cited by applicant]
US 20080195664A1 · Maharajh et al. · 2008 [cited by applicant]
US 20090271283A1 · Fosnacht et al. · 2009 [cited by applicant]
US 20100262608A1 · Hornkvist · 2010 [cited by applicant]
US 20100268700A1 · Wissner et al. · 2010 [cited by applicant]
US 20110113052A1 · Hornkvist et al. · 2011 [cited by applicant]
US 20110125744A1 · Immonen et al. · 2011 [cited by applicant]
US 20120109970A1 · Hornkvist et al. · 2012 [cited by applicant]
US 20120159337A1 · Travilla et al. · 2012 [cited by applicant]
US 20120203764A1 · Wood et al. · 2012 [cited by applicant]
US 20120290950A1 · Rapaport et al. · 2012 [cited by applicant]
US 20130151549A1 · Papamiltiadis et al. · 2013 [cited by applicant]
US 20140172821A1 · Hu et al. · 2014 [cited by applicant]
US 20140181186A1 · Stevens et al. · 2014 [cited by applicant]
US 20140207776A1 · Harris et al. · 2014 [cited by applicant]
US 20140250098A1 · Kasterstein et al. · 2014 [cited by applicant]
US 20140344661A1 · Sipe · 2014 [cited by examiner]
US 20150100569A1 · Reid De Sousa · 2015 [cited by applicant]
US 20150161212A1 · Yang et al. · 2015 [cited by applicant]
US 20150186369A1 · Yan et al. · 2015 [cited by applicant]
US 20160049083A1 · Brinton et al. · 2016 [cited by applicant]
US 20160055225A1 · Xu et al. · 2016 [cited by applicant]
US 20160070731A1 · Chang et al. · 2016 [cited by applicant]
US 20160098405A1 · Gorbansky et al. · 2016 [cited by applicant]
US 20160210061A1 · Soncodi et al. · 2016 [cited by applicant]
US 20160357808A1 · Morris et al. · 2016 [cited by applicant]
US 20160357831A1 · Linn et al. · 2016 [cited by applicant]
US 20170041296A1 · Ford et al. · 2017 [cited by applicant]
US 20170052967A1 · Castillo et al. · 2017 [cited by applicant]
US 20170132227A1 · Bostick et al. · 2017 [cited by applicant]
US 20170169401A1 · Beane et al. · 2017 [cited by applicant]
US 20170357650A1 · De Almeida Forjaz De Lacerda et al. · 2017 [cited by applicant]
US 20180067945A1 · Jain et al. · 2018 [cited by applicant]
US 20180192156A1 · Xu et al. · 2018 [cited by applicant]
US 20180260417A1 · Mahadevan et al. · 2018 [cited by applicant]
US 20180349467A1 · Malhotra et al. · 2018 [cited by applicant]
US 20200097840A1 · Burns et al. · 2020 [cited by applicant]
US 20210134270A1 · Rakshit · 2021 [cited by examiner]
Marcin Rudolf, “In Pursuit Of A Perfect App Search Engine, From Generic App Search Queries to Intent Discovery”, http://sites.google.com/site/appweb2012/home/files/Xyologic-slides.pdf, 2012, 45 pages. [cited by applicant]