IP Library › Granted Patent US 10,157,220
Granted Patent B2
US 10,157,220 · App. 14/807,850 · Granted Dec 18, 2018

Context sensitive query expansion

Inventors: Seamus R. Mac an tSaoir (Navan, IE); Daniel J. McCloskey (Dublin, IE); Ahmed M. M. R. Salem (Dublin, IE); Mikhail Sogrin (Kildalkey, IE)
Assignee: International Business Machines Corporation
G06F17/30672G06F17/2785G06F17/30675G06F17/30684
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 10,157,220
App. No.
14/807,850
Granted
Dec 18, 2018
Kind
B2
Abstract

A processor expands a search expression. The processor determines nodes representing query terms of a search expression. The nodes have associated text for search term expansion, and represent at least one concept in a semantic graph of nodes that represents a domain of semantically related concepts. The processor determines i) a center of focus within the semantic graph for the two or more nodes based, at least in part, on a spreading activation in the graph and ii) a contextual relevance for the two or more nodes with respect to node the center of focus. The processor selects, for a query term, a node based on contextual relevance between that node and the query term and expands the search expression using an associated text of that node.

Claims (58)

1. A computer program product for a search engine, the computer program product comprising:

one or more computer-readable storage media and program instructions of the search engine stored on the one or more computer-readable storage media, the program instructions comprising:

program instructions to receive a search expression;

program instructions to extract, using a search term extractor of the search engine, two or more query terms of the search expression;

program instructions to determine two or more nodes representing a first term of the two or more query terms and at least one node representing a second term of the two or more query terms, wherein the two or more nodes each have an associated text for search term expansion and represent at least one concept in a semantic graph of nodes that represents a domain of semantically related concepts;

program instructions to determine a center of focus within the semantic graph for the two or more nodes based, at least in part, on a spreading activation in the semantic graph;

program instructions to determine a contextual relevance for the two or more nodes with respect to the center of focus based, at least in part, on an assessment of semantic similarity for the two or more nodes with respect to the center of focus;

program instructions to select for a query term, which is included in the two or more query terms of the search expression, at least one node from the two or more nodes based, at least in part, on a contextual relevance between the at least one node and the determined center of focus;

program instructions to generate an expanded search expression by expanding the search expression using an associated text of the at least one node; and

program instructions to generate, by the search engine, an output of search results by executing a search using the expanded search expression.

2. The computer program product according to claim 1 wherein program instructions to select for a query term, which is included in the two or more query terms of the search expression, at least one node from the two or more nodes based, at least in part, on a contextual relevance between the at least one node and the determined center of focus include:

program instructions to select a determined node with a greatest contextual relevance for each query term.

3. The computer program product according to claim 1 wherein program instructions to select for a query term, which is included in the two or more query terms of the search expression, at least one node from the two or more nodes based, at least in part, on a contextual relevance between the at least one node and the determined center of focus include:

program instructions to filter the two or more nodes based, at least in part, whether a given node of the two or more nodes has an amount of contextual relevance over a threshold for contextual relevance.

4. The computer program product according to claim 1 , the program instructions comprising:

program instructions to configure the spreading activation such that a balance between over-connected and under-connected nodes is generated.

5. The computer program product according to claim 1 , the program instructions comprising:

program instructions to rank the at least one node based, at least in part, on contextual relevance to the query term following spreading activation and a determination of center of focus.

6. The computer program product according to claim 1 , the program instructions comprising:

program instructions to build the graph using data from at least one of a structured data source and an unstructured data source.

7. The computer program product according to claim 1 , the program instructions comprising:

program instructions to identify processors, one or more categories of semantic concept and relationships in the search expression; and

program instructions to modify impact on signal decay of related links and node categories in the graph as they are encountered during spreading activation.

8. The computer program product according to claim 1 , the program instructions comprising:

program instructions to perform a static analysis of the constructed graph, using a set of graph theoretical metrics; and

program instructions to discover one or both of inherent imbalance and lack of depth in portions of a data source based, at least in part, on a result of the static analysis.

9. The computer program product according to claim 1 , the program instructions comprising:

program instructions to configure signal spread such that a balanced activation of the graph for any input search expression is generated.

10. A computer system with a search engine, the computer system comprising:

one or more computer processors;

one or more computer readable storage medium;

program instructions of the search engine stored on the computer readable storage medium for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to receive a search expression;

program instructions to extract, using a search term extractor of the search engine, two or more query terms of the search expression;

program instructions to determine two or more nodes representing a first term of the two or more query terms and at least one node representing a second term of the two or more query terms, wherein the two or more nodes each have an associated text for search term expansion and represent at least one concept in a semantic graph of nodes that represents a domain of semantically related concepts;

program instructions to determine a center of focus within the semantic graph for the two or more nodes based, at least in part, on a spreading activation in the semantic graph;

program instructions to determine a contextual relevance for the two or more nodes with respect to the center of focus based, at least in part, on an assessment of semantic similarity for the two or more nodes with respect to the center of focus;

program instructions to select for a query term, which is included in the two or more query terms of the search expression, at least one node from the two or more nodes based, at least in part, on a contextual relevance between the at least one node and the determined center of focus;

program instructions to generate an expanded search expression by expanding the search expression using an associated text of the at least one node; and

program instructions to generate, by the search engine, an output of search results by executing a search using the expanded search expression.

11. The computer system according to claim 10 wherein program instructions to select for a query term, which is included in the two or more query terms of the search expression, at least one node from the two or more nodes based, at least in part, on a contextual relevance between the at least one node and the determined center of focus include:

program instructions to select a determined node with a greatest contextual relevance for each query term.

12. The computer system according to claim 10 wherein program instructions to select for a query term, which is included in the two or more query terms of the search expression, at least one node from the two or more nodes based, at least in part, on a contextual relevance between the at least one node and the determined center of focus include:

program instructions to filter the two or more nodes based, at least in part, whether a given node of the two or more nodes has an amount of contextual relevance over a threshold for contextual relevance.

13. The computer system according to claim 10 , the program instructions comprising:

program instructions to configure the spreading activation such that a balance between over-connected and under-connected nodes is generated.

14. The computer system according to claim 10 , the program instructions comprising:

program instructions to rank the at least one node based, at least in part, on contextual relevance to the query term following spreading activation and a determination of center of focus.

15. The computer system according to claim 10 , the program instructions comprising:

program instructions to build the graph using data from at least one of a structured data source and an unstructured data source.

16. The computer program product according to claim 10 , the program instructions comprising:

program instructions to identify processors, one or more categories of semantic concept and relationships in the search expression; and

program instructions to modify impact on signal decay of related links and node categories in the graph as they are encountered during spreading activation.

17. The computer program product according to claim 10 , the program instructions comprising:

program instructions to perform a static analysis of the constructed graph, using a set of graph theoretical metrics; and

program instructions to discover one or both of inherent imbalance and lack of depth in portions of a data source based, at least in part, on a result of the static analysis.

18. The computer program product according to claim 10 , the program instructions comprising:

program instructions to configure signal spread such that a balanced activation of the graph for any input search expression is generated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: MAC AN TSAOIR, SEAMUS R.; MCCLOSKEY, DANIEL J.; SALEM, AHMED M.M.R.; SOGRIN, MIKHAIL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036176/0205 →
Continuity (1)
Related Publication 20170024461A1 · Jan 26, 2017