Embodiments of the invention relate generally to automated systems and methods for search-based problem determination and resolution for complex systems and, in particular, automated search-based problem determination and resolution systems in which domain-specific data models for a class of complex systems, which are representative of structural relationships of entities within the class of complex systems, are utilized to provide enhanced domain-specific content searching and search results ranking for problem determination and resolution for complex systems.
One of the most challenging aspects in complex system management involves implementation of automated problem determination and resolution tools that can effectively help identify performance problems and identify root causes of such performance problems in complex systems such as hardware and/or software systems. For example, in complex software systems, automated problem determination and resolution tools are used to assist in the process of resolving software defects, bugs, reported issues, unexpected application behavior, etc.
In general, conventional techniques for automated problem determination and resolution include (i) decision tree-based systems, (ii) rules-based systems, (iii) case-based systems and (iv) search-based systems. With such conventional methods, decision tree based systems, rules based systems and case-based systems have complex frameworks that require special-purpose systems specifically adapted to prepare certain content and require considerable maintenance of such content. On the other hand, search-based systems are less complex, generally requiring only access to relevant documentation, a crawler and/or content management facility, an indexer and a search engine.
For example, commercially available search engines, such as Google, can be used to search for relevant content over the Internet to rediscover related documents for purposes of problem resolution in a given domain of interest. Although the Internet and other information networks can provide a vast source of electronically accessible information from which relevant information for problem determination and resolution can be extracted, it can be problematic to implement search-based methods that allow an individual to efficiently locate desired information and extract relevant information of interest for a given problem at hand.
For example, conventional search-based methods for problem determination and resolution based on “keyword” searching can be inefficient and inaccurate for various reasons. In particular, when a user formulates a search query (Boolean, natural language search, etc.) the user query will include search terms that the user believes are pertinent to the issue at hand for troubleshooting or researching a given complex system or product. If the search query contains terms with broad scope, the keyword searches can return a large number of documents (based on keywords appearing in the documents) which may or may not be relevant to the specific problem at hand. Moreover, if the user query contains terms that are not commonly used to describe the products or otherwise describe troubleshooting techniques for the issue at hand, the keyword search may not be effective in accessing relevant documents or information and, consequently, it can be difficult and time consuming for a user to locate relevant problem determination and resolution information.
Embodiments of the invention generally include automated systems and methods for search-based problem determination and resolution for complex systems in which domain-specific data models for a class of complex systems, which are representative of structural relationships of entities within the class of complex systems, are utilized to provide enhanced domain-specific content searching and search results ranking for problem determination and resolution for complex systems.
In one exemplary embodiment of the invention, an automated method for providing search-based problem determination and resolution for complex systems includes:
receiving a user-formulated search query from a user seeking access to troubleshooting information for a target computing platform;
obtaining a domain-specific data model for a class of computing platforms associated with the target computing platform, wherein the domain-specific data model comprises a hierarchical structure of related concepts, which represents structural relationships of entities within the class of computing platforms;
automatically generating one or more additional search queries that include concept terms in the data model which are related to terms of the user formulated search query;
performing a search using the user-formulated search query and each additional search query and returning a ranked list of links of search results for each search;
automatically merging the search results for each search into a list of re-ranked search results for presentation to the user.
These and other embodiments, aspects, features and advantages of the present invention will be described or become apparent from the following detailed description of preferred embodiments, which is to be read in connection with the accompanying drawings.
Exemplary embodiments of automated search-based problem determination and resolution systems and methods in which domain-specific data models for a class of complex systems, which are representative of structural relationships of entities within the class of complex systems, are utilized to provide enhanced domain-specific content searching and search results ranking for problem determination and resolution for complex systems, will now be described in further detail with reference to the
In general, the search-based problem determination and resolution system (100) comprises a search engine module (110), a query generator module (120) and a domain knowledge management module (130). The search engine module (110) may be any standard or generic search engine that comprises a crawler program (111), content manager/indexer module (112) and a catalog or database of indexed content (113). As is known in the art, the crawler (111) is a program that can visit web sites and read pages and other information in order to create entries for a search engine index. The content manager (113) is program that creates an content index (113) from pages and information read by the crawler (111). The search engine (110) can be utilized to locate and access content from various content sources (160) at remote locations over a communications network (150) to mine and index relevant problem resolution information for one or more domain-specific applications.
The query processor module (120) comprises a search results merging/ranking module (121), a query generator (122) and a search engine (123). The domain knowledge manager module (130) comprises a domain model processing engine (131) and a database (132) of domain-specific knowledge associated with one or more types of complex systems for which the system (100) is configured to provide technical support and customer assistance in problem determination. The database (132) stores domain specific knowledge regarding one or more complex computing systems according to an ontological model that defines a collection of domain-specific concepts and describes relationships that exist for and between the concepts. In particular, the database (132) persistently stores one or more domain-specific data models for one or more classes of computing platforms, wherein each data model comprises a hierarchical structure of related concepts (e.g., taxonomy) that represents structural relationships of entities within the associated class of computing platforms.
The data models which comprise domain information knowledge in database (132) are managed by and accessed through the domain model processing engine (131). The domain-specific data models representative of complex systems are utilized by the query processor module (120) to provide enhanced domain-specific content searching and search results ranking to thereby obtain and present most relevant user query-related information for problem determination and resolution for a complex system and, thus, rediscover information related to problem determination and resolution in the complex system. In particular, the query generator (122) receives and processes a user-formulated search query from a user seeking access to troubleshooting information for a target computing platform. The query generator (122) accesses a stored domain-specific data model corresponding to the target computing platform and automatically generates one or more additional search queries that include concept terms in the data model which are related to terms of the user formulated search query.
The user-formulated search query and each additional search query are applied to the search engine module (123) which searches the indexed content (113) or remote content sources (160) to find documents and information based on the applied search queries. The returned search results are processed by the search results ranking/merging module (121) to generated a ranked list of links of search results for each search and automatically merge the search results for each search into a list of re-ranked search results for presentation to the user.
In the domain data model (30) of
Moreover, each Type class is partitioned based on different Model classes. For example, as shown in
Moreover, the query generator (122) automatically generates one or more additional queries that expands the initial user-formulated query using the relevant domain-specific data model (step 21). For example, the user-formulated query is processed using a relevant domain-specific data model for the given problem domain to automatically generate one or more additional search queries that include concept terms in the data model which are related to terms of the user formulated search query. In one exemplary embodiment described in further detail below, the process of automatically generating one or more additional search queries comprises computing a distance metric over paths in the data model, which indicates a distance between terms of the user-formulate query and concept terms along paths in the data model, and using the distance metric to select concept terms within a specified distance (relationship) to terms of the user formulated query. This process significantly increases the likelihood that the additional related terms will be helpful to the search refinement process, identifying a plurality of refined search queries, each of which comprises all terms of the query submitted by the user and an additional term. An exemplary method for generating additional search queries using metric computed according to Equations (1) and (2) below will be discussed in further detail.
The user-submitted and additional search queries are then applied to the standard search engine and the search results for each query are obtained and ranked (step 22). In this process, the search results for the user-formulated search query and each additional search query are separately ranked and ordered to generated a ranked list of links of search results for each search. In general, the search results for each query may be ranked using standard techniques wherein during a search, the search results (links) obtained for each query submitted to the search engine will be processed and ranked according to a similarity/relevance measure between the query terms and a words/phrased contained in a corresponding document. The initial search results for each query may be refined at this point by discarding any unrelated links (step 23). For example, this initial refinement process may involve removing links to any documents that do not contain related terms.
Next, the search results are automatically merged into a single list of re-ranked search results (step 24) and the merged result list is presented to the user (step 25). In one exemplary embodiment, the ranked list of search results that are returned (in step 22) are merged by re-ranking and reordering the search results using metric computed based on the initial rankings of the search results and terms in the relevant data model used to refine the search queries. In particular, in one exemplary embodiment of the invention, the process of automatically merging the search results for each search into a list of re-ranked search results for presentation to the user includes a process in which for each separate ranked list of links of search results, a weighted rank metric is determined for each link in that ranked list of links based on the ranking of the links and the distance metric d between the search terms for the associated path, and the links of all search results are reordered into an ordered list based on the weighted rank metric for the links. Moreover, the process may include resolving rating collisions between links having the same weighted rank, and recomputing the rank of links in the ordered list based on resolution of rating collisions. An exemplary method for re-ranking and merging the search results using metric computed according to Equations (2)-(6) below will be discussed in further detail below.
In one exemplary embodiment of the invention, the methods for generating additional search queries and re-ranking and merging the search results of the queries may be performed by computing metrics based on a taxonomic data model, such as depicted in
d(terms,path) (1)
Next, we consider the set of paths in which the distance d between specified terms is less than a predetermined number, k, which is denoted by:
CPaths(terms,k)={path|d(terms,path)<k} (2)
For each path that is determined to be within the restricted distance k to the terms is used to automatically generate an additional query containing all terms of the path, which is submitted to the search engine along with the user-submitted query. The search results (links) obtained for each query submitted to the search engine will be processed and ranked according to a similarity/relevance measure between a query and a corresponding document. The rank assigned to a link in a specific path is denoted as:
R(L,path) (3)
Once the initial search results are obtained and ranked, a weighted link rank (WR) is determined for each link in a given patch based on the rank of the link for the path and the distance between search terms. For example, a weighted link rank can be determined by:
WR(L,path)=R(L,path)(d(terms,path)+1) (4)
Next, possible rating collisions are resolved by reordering links with the same WR in a manner that takes into account the distance of terms in the path and the Weighted Rank of the link. This process is referred to as a Weighted Rank Collision Resolved (WRCR) process, wherein the process may be performed by determining:
WRCR(L)=MIN path(WR(L,path) order by d(terms,path),R(L,path) (5)
Next, the link rank is recomputed according to the WRCR. In one exemplary embodiment, link ranks are re-ranked as follows:
RR(L)=#{L1|WRCR(L1)<WRCR(L)} (6)
The exemplary methods described above will now be illustrated by way of example with reference to
(CPaths(“i527, crash”, 3)).
Assume the identified paths include terms as follows: (i527 crash), (iSeries crash), (i527 iSeries crash), (i642 iSeries crash), (i642 crash), etc, which includes paths with 3 distance of the terms. Each path generates a query to the generic search engine.
Next, we assume that the returned results for the search queries are as follows:
We can discard unrelated links without taxonomy terms.
Next, using formula (4), a Weighted Rank (WR) is computed based on the rate of the link for the path and the distance between search terms. In the example, this computation results in:
1. WR(L1,1)=1; WR(L2,1)=2; WR(L3,1)=3
2. WR(L1,2)=2; WR(L2,2)=4; WR(L3,2)=6
3. WR(L1,3)=3; WR(L2,2)=6; WR(L3,3)=9 etc.
Next, using formula (5), the Weighted Rank Collision Resolved (WRCR)) is computed as:
Next, using formula (6), the link ranks are re-ranked according to the WRCR as follows:
Although illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to the precise system and method embodiments described herein, and that various other changes and modifications may be affected therein by one or ordinary skill in the art without departing from the scope or spirit of the invention. All such changes and modifications are intended to be included within the scope of the invention as defined by the appended claims.