IP Library Granted Patent US 9,824,138
Granted Patent B2
US 9,824,138 · App. 13/071,949 · Granted Nov 21, 2017

Systems and methods for three-term semantic search

Inventor: Todd Pehle (Annapolis, MD)
Assignee: Orbis Technologies, Inc.
G06F17/3064G06F17/30864
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 9,824,138
App. No.
13/071,949
Granted
Nov 21, 2017
Kind
B2
Abstract

Methods and systems for searching over a large corpus of data to discover relevant information artifacts based on similar content and/or relationships are disclosed. Improvements over simple keyword and phrase based searching over Internet scale data are shown. A search query may be modified or relaxed based on the search terms and a contextual relationship therebetween. The search results may be ranked based on both a data ranking corresponding to the data entries in the corpus and a query ranking corresponding to the search query and/or the modified or relaxed search query. In this manner, the accuracy and relevance of the search results is improved.

Claims (83)

1. A system for searching through a corpus by using a query, the corpus comprising a plurality of items, and the system comprising:

a first computer hosting a server node, the first computer comprising a processor and a non-transitory memory to store instructions; and

a second computer hosting a user interface node in communication with the first computer, wherein the second computer is configured to receive a first query input and to transmit the first query input to the first computer;

wherein the processor executes the instructions to:

use the received first query input to determine a first search term corresponding to a subject of the query and to prompt a user for entry of a second query input after receiving the first query input, by causing first known relationships corresponding to the first search term to be listed, wherein the subject corresponds to a class type, property, name, or literal that matches the first query input;

use the received second query input to determine a second search term corresponding to a predicate of the query and to prompt the user for entry of a third query input, after receiving the second query input, by causing second known relationships corresponding to the second search term to be listed, wherein the predicate is one of the first known relationships corresponding to the first search term;

use the received third query input to determine a third search term corresponding to an object of the query, wherein the object corresponds to a class type, person, or location within a range of the second search term;

use the first, second, and third search terms to determine a contextual relationship therebetween; and

use the query formed by the first, second, and third search terms and the determined contextual relationship to perform a first comparison against the corpus to determine a ranked list of results.

2. The system of claim 1 , wherein the corpus comprises one or more graph-based datasets and the processor further executes the instructions to determine a graphical depiction of the query formed by the first, second, and third search terms, the graphical depiction being based on at least one parameter relating to the determined contextual relationship; and to determine the ranked list of results based on a measure relating to the at least one parameter.

3. The system of claim 2 , wherein the processor further executes the instructions to:

modify the query with respect to the at least one parameter, and

use the modified query to determine a modified ranked list of results.

4. The system of claim 1 , wherein the processor further executes the instructions to use the query and the determined contextual relationship to determine a data ranking score for each item contained in the corpus.

5. The system of claim 4 , wherein the processor further executes the instructions to:

use the query to determine a query ranking score;

use the query ranking score and the data ranking score to determine a knowledge ranking score; and

use the knowledge ranking score to determine the ranked list of results.

6. The system of claim 1 , wherein the processor further executes the instructions to:

determine at least one suggested alternative search term to at least one of the first, second, and third search terms;

transmit the at least one suggested alternative search term to the user interface node;

receive an acceptance of the at least one suggested alternative search term from the user interface node;

use the accepted alternative search term to determine a modified contextual relationship between the search terms and to form a modified query; and

use the modified query and the modified contextual relationship to perform a second comparison against the corpus to determine a modified list of results.

7. A computer program product comprising a non-transitory computer readable medium storing computer readable program code for searching through a corpus by using a query, the computer readable program code comprising a set of instructions, the set of instructions executed by a processor to:

receive a first query input from a user;

use the received first query input to determine a first search term corresponding to a subject of the query, wherein the subject corresponds to a class type, property, name, or literal that matches the first query input;

prompt the user for entry of a second query input, after receiving the first query input, by causing first known relationships corresponding to the first search term to be listed;

receive the second query input from the user;

use the received second query input to determine a second search term corresponding to a predicate of the query, wherein the predicate is one of the first known relationships corresponding to the first search term;

prompt the user for entry of a third query input, after receiving the second query input, by causing second known relationships corresponding to the second search term to be listed;

receive a third query input from the user;

use the received third query input to determine a third search term corresponding to an object of the query, wherein the object corresponds to a class type, person, or location within a range of the second search term;

use the first, second, and third search terms to determine a contextual relationship therebetween; and

use the query formed by the first, second, and third search terms and the determined contextual relationship to perform a first comparison against the corpus to determine a ranked list of results.

8. The computer program product of claim 7 , wherein the corpus comprises one or more graph-based datasets and the set of instructions further executed by the processor to:

determine a graphical depiction of the query formed by the first, second, and third search terms, the graphical depiction being based on at least one parameter relating to the determined contextual relationship; and

determine the ranked list of results based on a measure relating to the at least one parameter.

9. The computer program product of claim 8 , wherein the set of instructions further executed by the processor to:

modify the query with respect to the at least one parameter, and

use the modified query to determine a modified ranked list of results.

10. The computer program product of claim 7 , wherein the set of instructions further executed by the processor to use the query and the determined contextual relationship to determine a data ranking score for each item contained in the corpus.

11. The computer program product of claim 10 , wherein the set of instructions further executed by the processor to:

use the query to determine a query ranking score;

use the query ranking score and the data ranking score to determine a knowledge ranking score; and

determine the ranked list of results based on the knowledge ranking score.

12. The computer program product of claim 7 , wherein the set of instructions further executed by the processor to:

provide at least one suggested alternative search term to at least one of the first, second, and third search terms;

receive an acceptance of the at least one suggested alternative search term;

use the accepted alternative search term to determine a modified contextual relationship between the search terms and to form a modified query; and

use the modified query and the modified contextual relationship to perform a second comparison against the corpus to determine a modified list of results.

13. A computer-implemented method for searching through a corpus by using a query, the corpus comprising a plurality of items, and the method comprising:

using a computer to receive a first query input from a user;

using the received first query input to determine a first search term corresponding to a subject of the query, wherein the subject corresponds to a class type, property, name, or literal that matches the first query input;

using the computer to prompt the user for entry of a second query input, after receiving the first query input, by causing first known relationships corresponding to the first search term to be listed;

using the computer to receive the second query input from the user;

using the received second query input to determine a second search term corresponding to a predicate of the query, wherein the predicate is one of the first known relationships corresponding to the first search term;

using the computer to prompt the user for entry of a third query input, after receiving the second query input, by causing second known relationships corresponding to the second search term to be listed;

using the computer to receive the third query input from the user;

using the received third query input to determine a third search term corresponding to an object of the query, wherein the object corresponds to a class type, person, or location within a range of the second search term;

using the first, second, and third search terms to determine a contextual relationship therebetween; and

using the query formed by the first, second, and third search terms and the determined contextual relationship to perform a first comparison against the corpus to determine a ranked list of results.

14. The method of claim 13 , wherein the corpus comprises one or more graph-based datasets and the determination of a contextual relationship comprises using the computer to determine a graphical depiction of the query formed by the first, second, and third search terms, the graphical depiction being based on at least one parameter relating to the determined contextual relationship; and wherein the determination of a ranked list of results is based on a measure relating to the at least one parameter.

15. The method of claim 14 , further comprising the steps of:

using the computer to modify the query with respect to the at least one parameter, and

using the modified query to determine a modified ranked list of results.

16. The method of claim 13 , wherein the step of using the query and the determined contextual relationship to perform a first comparison against the corpus comprises using the computer to determine a data ranking score for each item contained in the corpus.

17. The method of claim 16 , further comprising the steps of:

using the query to determine a query ranking score, and

using the query ranking score and the data ranking score to determine a knowledge ranking score,

wherein the determination of a ranked list of results is based on the knowledge ranking score.

18. The method of claim 13 , further comprising the steps of:

using the computer to provide at least one suggested alternative search term to at least one of the first, second, and third search terms;

using the computer to receive an acceptance of the at least one suggested alternative search term;

using the accepted alternative search term to determine a modified contextual relationship between the search terms and to form a modified query; and

using the modified query and the modified contextual relationship to perform a second comparison against the corpus to determine a modified list of results.

19. A system for searching through a corpus by using a query, the corpus comprising a plurality of items, and the system comprising:

a first computer hosting a server node, the first computer comprising a processor and a non-transitory memory to store instructions, wherein the processor executes the instructions to:

use a received first query input to determine a first search term corresponding to a subject of the query and to prompt the user for entry of a second query input, after receiving the first query input, by causing first known relationships corresponding to the first search term to be listed, wherein the subject corresponds to a class type, property, name, or literal that matches the first query input;

use the received second query input to determine a second search term corresponding to a predicate of the query and to prompt the user for entry of a third query input, after receiving the second query input, by causing second known relationships corresponding to the second search term to be listed, wherein the predicate is one of the first known relationships corresponding to the first search term;

use the received third query input to determine a third search term corresponding to an object of the query, wherein the object corresponds to a class type, person, or location within a range of the second search term;

use the first, second, and third search terms to determine a contextual relationship therebetween; and

use the query formed by the first, second, and third search terms and the determined contextual relationship to perform a first comparison against the corpus to determine a ranked list of results.

Assignments (2)
CHANGE OF NAME Recorded Sep 25, 2023
From: ORBIS TECHNOLOGIES, INC.
To: CONTIEM INC.
Reel/Frame 065022/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2011
From: PEHLE, TODD
To: ORBIS TECHNOLOGIES, INC.
Reel/Frame 026714/0438 →
Continuity (1)
Related Publication 20120246153A1 · Sep 27, 2012