Claims
- 1. A method of navigating a data structure comprising a plurality of nodes, each node associated with content from a content source and at least a keyword defining the content, said method comprising:
receiving a voice query to access content associated with one of said plurality of nodes, recognizing one or more search keywords in the voice query based on a navigation grammar defined by a first active navigation scope associated with a first set of nodes in the data structure; searching the first set of nodes to find a node with one or more keywords that best match the search keywords; and visiting the node with one or more keywords that best matches the search keywords.
- 2. The method of claim 1, further comprising:
providing content included in the visited node.
- 3. The method of claim 2, wherein the content source is a web site.
- 4. The method of claim 3, wherein content included in each node is associated with content included in a web page within the web site.
- 5. The method of claim 4, wherein the first active navigation scope defines content within a web page that is accessible at the time the voice query is received.
- 6. The method of claim 1, wherein the plurality of nodes are linked in a hierarchical arrangement defined by the content of a web site, the method further comprising:
defining a second navigation scope based on the position of the visited node within the hierarchical arrangement, the second navigation scope associated with a second set of nodes in the data structure.
- 7. A computer-readable medium comprising program code for navigating a data structure comprising a plurality of nodes, each node associated with content from a content source and at least one keyword defining the content, the program code comprising:
logic code configured to cause a computing system to receive a voice query to access content associated with one of said plurality of nodes; logic code configured to cause a computing system to recognize one or more search keywords in the voice query based on a navigation grammar defined by the first active navigation scope; logic code configured to cause a computing system to search the first set of nodes to find a node with one or more keywords that best match the search keywords; and logic code configured to cause a computing system to provide the content included in the node with one or more keywords that best matches the search keywords.
- 8. The computer readable medium of claim 7, wherein the plurality of nodes are linked in a hierarchical arrangement defined by the content of the web site, the program code further comprising:
logic code configured to cause a computing system to define a second navigation scope based on the position of the node that best matches the search keyword within the hierarchical arrangement, the second navigation scope associated with a second set of nodes in the data structure
- 9. A system for navigating a data structure comprising a plurality of nodes, each node associated with content from a content source and at least a keyword defining the content, said system comprising:
means for receiving a voice query to access content in one of said plurality of nodes; means for recognizing one or more search keywords in the voice query based on a navigation grammar defined by a first active navigation scope associated with a first set of nodes in the data structure; means for searching the first set of nodes to find a node with one or more keywords that best match the search keywords; and means for visiting the node that best matches the search keyword.
- 10. The system of claim 9, wherein the plurality of nodes are linked in a hierarchical arrangement defined by the content of the web site, the system further comprising:
means for defining a second navigation scope based on the position of the node that best matches the search keyword within the hierarchical arrangement, the second navigation scope associated with a second set of nodes in the data structure.
- 11. A method for selecting a node from a plurality of content nodes in a data structure, each node linked to one or more respective ancestral nodes based on a hierarchical relationship which defines the data structure, each node comprising one or more keywords, the method comprising:
searching a plurality of content nodes in a data structure for one or more search keywords included in a voice command; if a particular content node is the only content node in the data structure that includes all the search keywords, selecting that content node; otherwise if a particular content node is the only content node in the data structure that in combination with its one or more respective ancestral nodes includes all the search keywords, selecting that content node; otherwise if a particular content node is the only content node in the data structure that includes at least one of the search keywords, selecting that content node.
- 12. The method of claim 11, wherein the voice command further comprises one or more filler words, the method further comprising:
filtering the filler words out of the voice command.
- 13. The method of claim 11, wherein one or more content nodes in the data structure are linked to common ancestral nodes, and wherein more than one content node in the data structure includes at least one of the search keywords, the method further comprising:
defining a selection set comprising all nodes in the data structure that have at least one of the search keywords; and removing from the selection set any ancestral nodes that include at least one of the search keywords.
- 14. The method of claim 13, further comprising:
prompting a user to select from among the content nodes in the selection set.
- 15. The method of claim 13, the method further comprising:
identifying a differentiating node in the data structure for each content node in the selection set, wherein the differentiating node for each node is not an ancestral node for other nodes included in the selection set.
- 16. The method of claim 15, further comprising:
prompting a user to select a differentiating node from a plurality of differentiating nodes for the content nodes included in the selection set.
- 17. The method of claim 16, further comprising:
selecting the content node associated with the selected differentiating node.
- 18. The method of claim 11, wherein each node in the data structure is associated with a node indicator that identifies the search keywords included in the node.
- 19. The method of claim 18, wherein each node in the data structure is associated with an ancestral node indicator that identifies the search keywords included in the one or more respective ancestral nodes for the node.
- 20. The method of claim 19, wherein the node indicator and the ancestral node indicator are each represented by a respective combination of digits, each digit corresponding with a particular search keyword, number of the digits in each respective combination being equal to number of the search keywords, each digit indicating whether or not the node or the one or more respective ancestral nodes for the node include a corresponding search keyword.
- 21. A method of accessing content stored in a data structure comprising:
searching a plurality of content nodes arranged in a hierarchical order in a data structure for one or more keywords, in response to receiving a voice command including said one or more keywords in a first order; comparing a first node indicator value for a first node with a second node indicator value for a second node, wherein the first node and the second node include the highest number of said one or more keywords, and wherein the respective node indicator value for each node represents the number of said one or more keywords included in each node in the first order; providing content included in the first node, if the first node indicator value is greater than the second node indicator value; and providing content included the second node, if the first node indicator value is less than the second node indicator value.
- 22. The method of claim 21, further comprising:
providing content included in the first node, if the first node is the only node comprising all of said one or more keywords; prompting a user to select between the first node and a second node in the plurality of content nodes, if the second node also comprises all said one or more keywords; and providing content included in the first node or the second node in response to the user selecting between the first node and the second node.
- 23. The method of claim 21, wherein the first node indicator is equal to the second node indicator, the method further comprising:
determining a first ancestral indicator value for the first node representing number of said one or more keywords included in a first set of ancestral nodes related to the first node, in the first order; and determining a second ancestral indicator value for the second node representing number of said one or more keywords included in a second set of ancestral nodes related to the second node, in the first order.
- 24. The method of claim 23, further comprising:
comparing the first ancestral indicator value with the second ancestral node indicator value; providing content included in the first node, if the first ancestral indicator value is greater than the second ancestral node indicator value; and providing content included in the second node, if the first ancestral indicator value is less than the second ancestral node indicator value.
- 25. The method of claim 23, further comprising:
calculating a first cumulative indicator value from the first node indicator and the first ancestral indicator value, the first cumulative indicator value representing number of said one or more keywords included in the first node and the first set of ancestral nodes, in the first order; and calculating a second cumulative indicator from the second node indicator and the second ancestral indicator, the second cumulative indicator representing number of said one or more keywords included in the second node and the second set of ancestral nodes, in the first order.
- 26. The method of claim 25, further comprising:
providing content included in the first node, if the first cumulative indicator value is greater than the second cumulative indicator value; and providing content included the second node, if the first cumulative indicator value is less than the second cumulative indicator value.
- 27. The method of claim 25, further comprising:
prompting a user to select between the first node and the second node, if the second cumulative indicator value is equal to the first cumulative indicator value; and providing content included in a node selected by the user, in response to the user selecting between the first node and the second node.
- 28. The method of claim 25, wherein the first node indicator value is represented by a combination of digits, each digit corresponding to a respective one of said one or more keywords and whether or not the respective keyword is included in the first node.
- 29. The method of claim 28, wherein the first ancestral indicator value is represented by a combination of digits, each digit corresponding to a respective one of said one or more keywords and whether or not the respective keyword is included in the first set of ancestral nodes.
- 30. The method of claim 29, wherein the first node indicator value and the first ancestral indicator value are represented by binary numbers, and wherein each digit in the first cumulative indicator value is calculated by applying a logical AND operation to each of the respective individual digits in the first node indicator value and the first ancestral indicator value.
- 31. A voice operated system for accessing content accessible from one or more sources, the system comprising:
a data structure implemented to provide access to content included in a plurality of content nodes, each content node associated with one or more ancestral nodes linked in an arrangement that defines a hierarchy for the content; a voice interface for searching the data structure for one or more keywords included in a search-keyword-set and for further providing content included in a content node associated with at least one of said one or more keywords; and a plurality of node indicators, each node indicator provided for a respective content node and representing a content-keyword-set that is a subset of the search-keyword-set, each content-keyword-set including one or more keywords related to content associated with the respective content node; wherein content associated with a particular content node is provided, if the respective content-keyword-set for other content nodes are subsets of the respective content-keyword-set for the particular content node.
- 32. The system of claim 31, wherein the content associated with a content node is provided, if the respective node indicator for the content node is equivalent to the search-keyword-set.
- 33. The system of claim 31, further comprising:
a plurality of ancestral indicators, each ancestral indicator provided for a respective content node and representing a respective ancestral-keyword-set that is a subset of the search-keyword-set, each ancestral-keyword-set including one or more keywords associated with the respective ancestral nodes for the respective ancestral indicator for each content node, the ancestral indicator representing an ancestral-keyword-set that is a subset of the search-keyword-set and includes one or more keywords associated with ancestral nodes of content node; wherein the content associated with a particular content node is provided, if the ancestral-keyword-sets for other content nodes are subsets of the ancestral-keyword-set for the particular content node.
- 34. The system of claim 33, wherein a respective ancestral-keyword-set for each content node further includes keywords included in the content-keyword-set for the respective content node.
- 35. The system of claim 31, wherein the content-keyword-sets for all content nodes in the data structure are not subsets of the content-keyword-set for the first content node, the system further comprising:
an ancestral indicator for each content node, the ancestral indicator representing an ancestral-keyword-set that is a subset of the search-keyword-set and includes one or more keywords associated with ancestral nodes of each content node; a cumulative indicator for each node, the cumulative indicator representing a cumulative-keyword-set derived from a union between the content-keyword-set and the ancestral-keyword-set; wherein the content associated with a first content node is provided, if the cumulative-keyword-sets for all other content nodes in the data structure are subsets of the cumulative-keyword-set for the first content node.
- 36. The system of claim 35, wherein the system prompts a user to select from among the first node and one or more other nodes in the data structure, if the cumulative-keyword-set for the first node is equivalent to the cumulative-keyword-set for the one or other more nodes.
- 37. The system of claim 31, wherein the node indicator is a binary number comprising one or more digits, each digit corresponding to a keyword included in the content-keyword-set.
- 38. The system of claim 33, wherein the ancestral indicator is a binary number comprising one or more digits, each digit corresponding to a keyword included in the ancestral-keyword-set.
- 39. The system of claim 35, wherein the cumulative indicator is a binary number comprising one or more digits, each digit corresponding to a keyword included in the cumulative-keyword-set.
- 40. The system of claim 37, wherein length of the binary number is equal to the number of keywords included in the search-keyword-set, each digit in the binary number indicating the presence or lack of presence of a corresponding keyword in the content-keyword-set.
- 41. The system of claim 38, wherein length of the binary number is equal to the number of keywords included in the search-keyword-set, each digit in the binary number indicating the presence or lack of presence of a corresponding keyword in the ancestral-keyword-set.
- 42. The system of claim 39, wherein length of the binary number is equal to the number of keywords included in the search-keyword-set, each digit in the binary number indicating the presence or lack of presence of a corresponding keyword in the cumulative-keyword-set.
- 43. The method of claim 1, further comprising:
invoking a first navigation mode, in response to receiving a directive comprising a prefix, one or more fillers and one or more search keywords, wherein the prefix indicates the mode of navigation.
- 44. The method of claim 43, further comprising:
filtering out the search keywords from the directive by ignoring the fillers.
- 45. The method of claim 44, wherein the prefix is positioned at the beginning of the directive.
- 46. A method for navigating a data structure comprising a plurality of nodes, each node associated with respective content, wherein content associated with each respective node is accessible when a node is visited, the method comprising:
providing a choice for navigating the data structure in a first navigation mode, the first navigation mode associated with a first navigation grammar; and navigating of the data structure, in response to a user command, in a second navigation mode, wherein the second navigation mode is associated with a second navigation grammar.
- 47. The method of claim 46, wherein one of the first or second navigation modes comprises a step mode of navigation associated with a navigation grammar comprising:
vocabulary and navigation rules associated with a currently visited node and the visiting node's immediate children or ancestral nodes.
- 48. The method of claim 46, wherein one of the first or second navigation modes comprises a stack mode of navigation associated with a navigation grammar comprising:
vocabulary and navigation rules associated with a currently visited node and all nodes visited prior to visiting the current node.
- 49. The method of claim 46, wherein one of the first or second navigation modes comprises a RAN mode of navigation associated with a navigation grammar comprising:
vocabulary and navigation rules associated with a currently visited node and all nodes within a scope of navigation.
- 50. A voice navigation system for navigating a data structure comprising a plurality of nodes, each node associated with respective content, wherein content associated with each respective node is accessible when a node is visited, the system providing one or more selectable navigation modes for visiting the plurality of nodes in the data structure, wherein each navigation mode is associated with a respective navigation grammar, wherein a user may select a navigation mode by issuing a command.
- 51. The system of claim 50, wherein one of the plurality of navigation modes comprises a step mode of navigation associated with a navigation grammar comprising:
vocabulary and navigation rules associated with a currently visited node and the visiting node's immediate children or ancestral nodes.
- 52. The system of claim 50, wherein one of the plurality of navigation modes comprises a stack mode of navigation associated with a navigation grammar comprising:
vocabulary and navigation rules associated with a currently visited node and all nodes visited prior to visiting the current node.
- 53. The method of claim 50, wherein one of the plurality of navigation modes comprises a RAN mode of navigation associated with a navigation grammar comprising:
vocabulary and navigation rules associated with a currently visited node and all nodes within a scope of navigation.
- 54. A method of accessing content stored in a data structure comprising:
searching a plurality of content nodes arranged in a hierarchical order in a data structure for one or more keywords, in response to receiving a voice command including said one or more keywords in a first order; determining a respective node indicator value for each content node, each respective node indicator value representing the number of said one or more keywords included in the respective content node; and initiating a disambiguation process if the highest node indicator value does not exceed a predetermined threshold.
- 55. The method of claim 54, wherein the predetermined threshold is an absolute value.
- 56. The method of claim 54, wherein the predetermined threshold is a predetermined value for a difference between the two highest node indicator values.
- 57. The method of claim 56, further comprising comparing a first node indicator value for a first node with a second node indicator value for a second node, wherein the first node and the second node include the highest number of said one or more keywords.
RELATED APPLICATIONS
[0001] The present Application is related to U.S. Patent Application number UNKNOWN (Attorney Matter No. M-9333 US), filed Jul. 26, 2001, entitled “System and Method for Browsing Using a Limited Display Device,” and U.S. patent application Ser. No. 09/614,504 (Attorney Matter No. M-8247 US), filed Jul. 11, 2000, entitled “System And Method For Accessing Web Content Using Limited Display Devices,” with claims of priority under 35 U.S.C. §119(e) to Provisional Application No. 60/164,429, filed Nov. 9, 1999, entitled “Method For Accessing Network Data on Telephone and Other Limited Display Devices.” The entire content of the above-referenced applications is incorporated by reference herein.