System and method for developing a selectably-expandable concept-based search
First Claim
1. An interactive search development system for use by a user in developing a query string, comprising:
- storage means for storing individually-addressable elements, each of said elements storing string signals indicative of a character string which may or may not signify relationships, each of said elements storing relationship indicators indicative of one or more relationships, each of said relationships existing between said each of said elements and a different respective one of said elements, wherein each of said elements exists as a node within a hierarchical tree structure having multiple hierarchical levels, and each of said relationships exists as a branch of said hierarchical tree structure;
search string means coupled to said storage means, said search string means for locating in said storage means a selected one of said elements, for starting at said selected one of said elements and traversing relationships in said hierarchical tree structure until a predetermined number of hierarchical levels in said hierarchical tree structure, as determined by the user, have been traversed; and
user interface means coupled to said search string means for providing a list of ones of said elements located during said traversing of relationships, and for allowing the user to select or de-select each located element for use in developing the query string and wherein a said developed query string may include relationship words as sub strings and wherein said relationship words may also be de-selected from said query string by said user.
12 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented system and method for allowing users to interactively develop search queries is provided. The system performs query development utilizing a hierarchical concept tree stored in memory, wherein the nodes of the concept tree are concepts that describe various search topics. Parent/child relationships are created between the concepts, with children concepts describing sub-categories of a parent concept, and so on. Any concept at any level in the tree structure may be related to one or more character strings descriptive of the related concept. Query development is performed by traversing the various relationships in the hierarchical tree structure to selectively add related character strings to a potential query. According to one embodiment, the user is allowed to control the manner and extent of the traversal, and is further allowed to de-select any located concepts and character strings for further use in query development. According to another embodiment, traversal of the tree is completed according to user specification, with only limited user intervention required to select or de-select the various located character strings for inclusion in a query string. Yet another embodiment allows all query string development to be fully automated based on parameters specifying the extent of the concept tree traversal. After traversal of the tree structure is completed, the located character strings that remain selected based on user specifications are added to a query string. The query string may further be modified to include logical operations. The string may be used to manually or programmatically invoke a wide variety of tools for use in performing searches of text documents, file systems, or a collection of web pages. The system allows the contents and structure of the hierarchical concept tree to be modified by the user. Both the concepts and character strings included in the hierarchical tree may be edited by the user to include search terms tailored to specific search requirements. Additionally, relationships existing between two concepts, or between a concept and a character string, may be added, deleted, or modified to thereby allow the user to control the manner in which query development proceeds.
319 Citations
37 Claims
-
1. An interactive search development system for use by a user in developing a query string, comprising:
-
storage means for storing individually-addressable elements, each of said elements storing string signals indicative of a character string which may or may not signify relationships, each of said elements storing relationship indicators indicative of one or more relationships, each of said relationships existing between said each of said elements and a different respective one of said elements, wherein each of said elements exists as a node within a hierarchical tree structure having multiple hierarchical levels, and each of said relationships exists as a branch of said hierarchical tree structure;
search string means coupled to said storage means, said search string means for locating in said storage means a selected one of said elements, for starting at said selected one of said elements and traversing relationships in said hierarchical tree structure until a predetermined number of hierarchical levels in said hierarchical tree structure, as determined by the user, have been traversed; and
user interface means coupled to said search string means for providing a list of ones of said elements located during said traversing of relationships, and for allowing the user to select or de-select each located element for use in developing the query string and wherein a said developed query string may include relationship words as sub strings and wherein said relationship words may also be de-selected from said query string by said user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. For use in a object management system having a memory to store elements, each of the elements including concept signals indicative of a respective search concept, each of the elements storing relationship signals indicative of one or more respective relationships, wherein each of the one or more respective relationships exists between said each of the elements and a respective other one of the elements, the system further having a user interface for allowing a user to interactively develop a query string, the method of developing a query string, comprising the steps of:
-
(a) searching each of the elements to locate an element storing a selected search concept and adding the located element to a set of located elements;
(b) traversing selected ones of the one or more relationships between said located element to locate one or more other ones of the elements and adding said one or more other ones of the elements to said set of located elements, wherein said traversing and adding step further includes the steps of;
(b1) making said one or more other ones of the located elements located in said step (b) the current set of elements comprising the steps of;
displaying via the user interface each of the elements in said set of located elements; and
allowing the user to selectably remove any of the elements from said set of located elements, whereby removed elements are ineligible for use in building the query string and ineligible for use in this traversing and adding step (b), and wherein said relationship words may also be included among said removed elements;
(b2) performing said step (b) for each of the elements in said current set of elements; and
(b3) repeating steps (b1) and (b2) a selected number of times; and
(c) building a query string without syntax, including the concept signals stored in predetermined ones of said located elements included in said set of located elements, and wherein said query string so built may include among said predetermined ones of said located elements, relationship words as sub strings of said query string. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
displaying via the user interface each of the elements in said set of located elements;
allowing the user to specify, for a selected element is said set of located elements, a selected relationship existing between said selected element and another one of the elements;
traversing said selected relationship to locate said another one of the elements; and
adding said another one of the elements to said set of selected elements.
-
-
18. The method of claim 16, wherein the one or more respective relationships for each of the elements each forms a branch in a hierarchical tree structure having multiple levels, and wherein said selected ones of the one or more relationships in said step (b) may selectably include relationships interconnecting said located element and other elements residing a selected number of levels above said located element in said hierarchical tree structure.
-
19. The method of claim 16, wherein the one or more respective relationships for each of the elements each forms a branch in a hierarchical tree structure having multiple levels, and wherein said selected ones of the one or more relationships in said step (b) may selectably include relationships interconnecting said located element and other elements residing a selected number of levels below said located element in said hierarchical tree structure.
-
20. The method of claim 16, wherein the one or more respective relationships for each the elements each forms a branch in a hierarchical tree structure, and wherein said selected ones of the one or more relationships in said step (b) may selectably include those relationships between said located element and another element existing at the same level in said hierarchical tree structure wherein said located element and said another element each have a relationship to a same element existing one level above said located element in said hierarchical tree structure.
-
21. The method of claim 16, wherein step (c) further includes the step of selectably adding logical operators between selected ones of said concept signals included in the query string.
-
22. The method of claim 16, and further including the step of providing said query string to a search tool for use in performing a search.
-
23. The method of claim 22, wherein step (c) includes the step of using rules to format said query string according to a format required by said search tool.
-
24. The method of claim 16, and further including the step of allowing the user to modify ones of the concept signals stored in selected ones of the elements.
-
25. The method of claim 16, and further including the step of allowing the user to modify ones of the relationship signals in selected ones of the elements to thereby modify one or more respective relationships existing between each of said selected ones of the elements and one or more respective other ones of the elements.
-
26. The method of claim 16 further comprising prior to step “
- (a)”
, permitting user input of a search string word and determining if the search string word corresponds to any one of the elements, then permitting the user to select at least that element for said query string.
- (a)”
-
27. An interactive search development system for use by a user in developing a query string, comprising:
-
storage means for storing individually-addressable objects, ones of said objects being concept elements each for storing concept signals indicative of a respective search concept, and other ones of said objects being word elements, each storing word signals indicative of a character string, wherein said character string may or may not signify relationships, each of said word elements storing relationship signals indicative of a relationship with at least one of said concept elements, wherein said at least one of said concept elements stores concept signals indicative of a respective search concept related to said character string stored by said each of said word elements;
search string means coupled to said storage means, said search string means for receiving a user-provided character string from the user, for searching said storage means for a specified one of said word elements storing word signals indicative of a said user-provided character string, for locating as related concept elements said at least one of said concept elements related to said specified one of said word elements, for further locating all other ones of said word elements related to located ones of said concept elements; and
user interface means coupled to said search string means for allowing the user to select or de-select each of said located ones of said concept elements wherein said query string may include as ones of said concept elements, selectable and de-selectable concept elements which may be relationship words and each located one of said word elements for use in developing the query string wherein said query string may include relationship words as sub strings. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification