IP Library Granted Patent US 11,880,373
Granted Patent B2
US 11,880,373 · App. 17/400,283 · Granted Jan 23, 2024

Systems and methods for identifying a category of a search term and providing search results subject to the identified category

Inventors: Prabhat Gupta (Uttar Pradesh, IN); Manik Malhotra (New Delhi, IN)
Assignee: Rovi Product Corporation
G06F16/24575G06F16/248G06F16/7867G06F16/9535
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 11,880,373
App. No.
17/400,283
Granted
Jan 23, 2024
Kind
B2
Abstract

Systems and methods are disclosed herein for identifying a category of a search term and providing search results subject to the identified category. These systems and methods may be performed by a media guidance application. The media guidance application may receive a search term that may correspond to different categories of items, and the media guidance application may identify a category that the search term is most likely related to using a hierarchical structure. The media guidance application may limit the search to the identified category of items.

Claims (63)

1. A method comprising:

receiving a search term;

identifying, using the search term, a structured data file comprising a plurality of tags, wherein each tag of the plurality of tags describes of a subcategory relating to content of the structured data file;

accessing a pre-defined hierarchical structure of categories and subcategories, the hierarchical structure comprising multiple levels of a hierarchy of nodes comprising a first seed node, a plurality of first lower-level nodes that are connected to the first seed node, a second seed node, and a plurality of second lower-level nodes that are connected to the second seed node;

for each tag of the plurality of tags:

identifying a first node of the plurality of first lower-level nodes and a second node of the plurality of second lower-level nodes that correspond to the tag;

computing a first distance between the first node and the first seed node and a second distance between the second node and the second seed node; and

generating a tag vector based, at least in part, on the first distance and the second distance;

computing a first probability value identifying a probability that the search term corresponds to a subcategory corresponding to the first seed node and a second probability value identifying a probability that the search term corresponds to a second category corresponding to the second seed node based, at least in part, on the tag vector; and

determining that the first probability is greater than the second probability and, in response, generating for display, search results based, at least in part, on the search term subject to first category.

2. The method of claim 1 , further comprising:

designating a first unit vector to the first seed node and a second unit vector to the second seed node;

computing a document vector for the search term by summing all tag vectors for the plurality of tags, wherein a first coefficient for the first unit vector in the document vector is calculated as a harmonic mean of weights corresponding to the first unit vector over all tag vectors and wherein a second coefficient for the second unit vector in the document vector is calculated as a harmonic mean of weights corresponding to the second unit vector over all tag vectors; and

computing the first probability value based, at least in part, on the first coefficient and computing the second probability value based, at least in part, on the second coefficient.

3. The method of claim 2 , wherein computing the first probability value comprises normalizing the first coefficient based, at least in part, on the document vector and computing the second probability value comprises normalizing the second coefficient based, at least in part, on the document vector.

4. The method of claim 2 , further comprising generating the tag vector as a weighted sum of the first unit vector and the second unit vector, wherein the first unit vector is weighted by the first distance and the second unit vector is weighted by the second distance.

5. The method of claim 2 , further comprising:

traversing the pre-defined hierarchical structure from the first seed node to the first node through a breadth-first search; and

wherein identifying the first node comprises determining that a threshold amount of textual data of a first subcategory corresponding to the first node matches the textual data of the first tag.

6. The method of claim 1 , wherein the accessing the pre-defined hierarchical structure of categories and subcategories comprises:

determining an estimate of one or more categories relating to a text of the search term; and

retrieving the pre-defined hierarchical structure based, at least in part, on the estimate of one or more categories, wherein the estimate of one or more categories includes at least one of the first category or the second category.

7. The method of claim 1 , wherein identifying the first node comprises:

retrieving a plurality of textual subcategory names relating to the respective tag, wherein each textual subcategory name indicates a same subcategory as the respective tag;

determining whether a first subcategory corresponding to the first node matches any textual category name from the plurality of textual category names; and

in response to determining that the first subcategory corresponding to the first node matches a textual category name from the plurality of textual category names, determining that the first subcategory corresponding to the first node matches the subcategory described by the tag.

8. The method of claim 1 , further comprising determining a first path from the first seed node to the first node by traversing the pre-defined hierarchical structure from the first node to the first seed node and progressively including each edge that leads to a node at a next level.

9. The method of claim 8 , further comprising computing the first distance based, at least in part, on a number of edges in the first path.

10. The method of claim 1 , wherein the pre-defined hierarchical structure comprises a third seed node and a plurality of third lower-level nodes that are connected to the third seed node, and wherein the method further comprises, for a particular tag of the plurality of tags:

determining that no node of the plurality of third lower-level nodes matches a subcategory corresponding to the particular tag; and

in response to determining that no node of the plurality of third lower-level nodes matches the subcategory corresponding to the particular tag, allocating a pre-defined path length to denote a distance from the particular tag to the third seed node.

11. A system comprising:

communication circuitry configured to receive a search term; and

control circuitry configured to:

identify, using the search term, a structured data file comprising a plurality of tags, wherein each tag of the plurality of tags describes of a subcategory relating to content of the structured data file;

access a pre-defined hierarchical structure of categories and subcategories, the hierarchical structure comprising multiple levels of a hierarchy of nodes comprising a first seed node, a plurality of first lower-level nodes that are connected to the first seed node, a second seed node, and a plurality of second lower-level nodes that are connected to the second seed node;

for each tag of the plurality of tags:

identify a first node of the plurality of first lower-level nodes and a second node of the plurality of second lower-level nodes that correspond to the tag;

compute a first distance between the first node and the first seed node and a second distance between the second node and the second seed node; and

generate a tag vector based, at least in part, on the first distance and the second distance;

compute a first probability value identifying a probability that the search term corresponds to a subcategory corresponding to the first seed node and a second probability value identifying a probability that the search term corresponds to a second category corresponding to the second seed node based, at least in part, on the tag vector; and

determine that the first probability is greater than the second probability and, in response, generating for display, search results based, at least in part, on the search term subject to first category.

12. The system of claim 11 , wherein the control circuitry is further configured to:

designate a first unit vector to the first seed node and a second unit vector to the second seed node;

compute a document vector for the search term by summing all tag vectors for the plurality of tags, wherein a first coefficient for the first unit vector in the document vector is calculated as a harmonic mean of weights corresponding to the first unit vector over all tag vectors and wherein a second coefficient for the second unit vector in the document vector is calculated as a harmonic mean of weights corresponding to the second unit vector over all tag vectors; and

compute the first probability value based, at least in part, on the first coefficient and computing the second probability value based, at least in part, on the second coefficient.

13. The system of claim 12 , wherein the control circuitry is further configured to compute the first probability value by normalizing the first coefficient based, at least in part, on the document vector and computing the second probability value comprises normalizing the second coefficient based, at least in part, on the document vector.

14. The system of claim 12 , wherein the control circuitry is further configured to generate the tag vector as a weighted sum of the first unit vector and the second unit vector, wherein the first unit vector is weighted by the first distance and the second unit vector is weighted by the second distance.

15. The system of claim 12 , wherein the control circuitry is further configured to:

traverse the pre-defined hierarchical structure from the first seed node to the first node through a breadth-first search; and

identify the first node by determining that a threshold amount of textual data of a first subcategory corresponding to the first node matches the textual data of the first tag.

16. The system of claim 11 , wherein the control circuitry is further configured to access the pre-defined hierarchical structure of categories and subcategories by:

determining an estimate of one or more categories relating to a text of the search term; and

retrieving the pre-defined hierarchical structure based, at least in part, on the estimate of one or more categories, wherein the estimate of one or more categories includes at least one of the first category or the second category.

17. The system of claim 11 , wherein the control circuitry is further configured to identify the first node by:

retrieving a plurality of textual subcategory names relating to the respective tag, wherein each textual subcategory name indicates a same subcategory as the respective tag;

determining whether a first subcategory corresponding to the first node matches any textual category name from the plurality of textual category names; and

in response to determining that the first subcategory corresponding to the first node matches a textual category name from the plurality of textual category names, determining that the first subcategory corresponding to the first node matches the subcategory described by the tag.

18. The system of claim 11 , wherein the control circuitry is further configured to determine a first path from the first seed node to the first node by traversing the pre-defined hierarchical structure from the first node to the first seed node and progressively including each edge that leads to a node at a next level.

19. The system of claim 18 , wherein the control circuitry is further configured to compute the first distance based, at least in part, on a number of edges in the first path.

20. The system of claim 11 , wherein the pre-defined hierarchical structure comprises a third seed node and a plurality of third lower-level nodes that are connected to the third seed node, and wherein the control circuitry is further configure to, for a particular tag of the plurality of tags:

determine that no node of the plurality of third lower-level nodes matches a subcategory corresponding to the particular tag; and

in response to determining that no node of the plurality of third lower-level nodes matches the subcategory corresponding to the particular tag, allocate a pre-defined path length to denote a distance from the particular tag to the third seed node.

Assignments (3)
CHANGE OF NAME Recorded Oct 23, 2022
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 061746/0981 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2022
From: ADEIA GUIDES INC.
To: ROVI PRODUCT CORPORATION
Reel/Frame 061747/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2021
From: GUPTA, PRABHAT; MALHOTRA, MANIK
To: ROVI GUIDES, INC.
Reel/Frame 057160/0531 →