Patent US6363373B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6363373B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for concept searching using a Boolean or keyword search engine

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1998-10-01
•
Granted: 2002-03-26
•
Expires: 2018-10-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Concept searching using a Boolean or keyword search engine. Documents are preprocessed before being passed to a search engine by identifying, on a word-by-word basis, the "word tokens" contained in the document. Once the word tokens have been extracted, each word token is referenced in a concept database that maps word tokens to concept identifiers. The concept identifiers associated with the word tokens are converted into unique non-word concept tokens and arranged into a list. The list is then inserted into the document as invisible but searchable text. The document is then transferred to the server monitored by the search engine. Search queries are preprocessed before being passed to the search engine in the same manner. The query is first broken into word tokens and the word tokens are then referenced in the concept database. All associated concept identifiers are retrieved and converted to unique concept tokens. The concept tokens are then combined into a string and sent to the search engine as an ordinary query.

Inventors

  • 👤 David W. Steinkraus

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 03:09
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/30; G06F16/31; G06F16/313; G06F16/33; G06F16/3331; G06F16/3332; G06F16/3334; G06F16/38; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99933; Y10S707/99934; Y10S707/99935

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 120 words
A computer-readable medium on which is stored a computer program for preprocessing a document comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens in the document is contained in a concept database; in response to determining that one of the word token s is contained in the concept database, reading a plurality of concept identifiers associated with the word token from the concept database; and in response to reading the concept identifier, assigning the concept identifiers to unique non-word concept tokens, and embedding the concept tokens in the document for use by a search engine not otherwise capable of concept searching.
Claim 2
Dependent Claim 120 words
A computer-readable medium on which is stored a computer program for preprocessing a document comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens in the document is contained in a concept database; in response to determining that one of the word token s is contained in the concept database, reading a plurality of concept identifiers associated with the word token from the concept database; and in response to reading the concept identifier, assigning the concept identifiers to unique non-word concept tokens, and embedding the concept tokens in the document for use by a search engine not otherwise capable of concept searching.
Claim 3
Dependent Claim 53 words
The computer-readable medium of claim 1 , further comprising the following steps after the assigning step: determining whether the document contains additional word tokens; and in response to determining that the document contains additional word tokens, incrementing to the next word token contained in said document and repeating from the first determining step.
Claim 4
Dependent Claim 247 words
A computer-readable medium on which is stored a computer program for preprocessing a document comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens is contained in a concept database; in response to determining that the word token is contained in the concept database, reading a plurality of concept identifiers associated with the word token from the concept database, and reading a numerical weight associated with the word token from the concept database; in response to reading the concept identifiers and weights, adding the numerical weights to the sum of any numerical weights for previous word tokens associated with the concept identifiers to create a sum of word token weights for each of the plurality of concept identifiers; in response to adding the weights, determining whether the document contains additional word tokens; in response to determining that the document contains additional word tokens, incrementing to the next word token contained in said document and repeating from the first determining step; and in response to determining that the document does not contain additional word tokens, normalizing the sums of word token weights for each of the plurality of concept identifiers, arranging each of the plurality of concept identifiers according to the value of said normalized sums of word token weights, converting each of the plurality of concept identifiers to unique concept tokens, and embedding the concept tokens in the document.
Claim 5
Dependent Claim 247 words
A computer-readable medium on which is stored a computer program for preprocessing a document comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens is contained in a concept database; in response to determining that the word token is contained in the concept database, reading a plurality of concept identifiers associated with the word token from the concept database, and reading a numerical weight associated with the word token from the concept database; in response to reading the concept identifiers and weights, adding the numerical weights to the sum of any numerical weights for previous word tokens associated with the concept identifiers to create a sum of word token weights for each of the plurality of concept identifiers; in response to adding the weights, determining whether the document contains additional word tokens; in response to determining that the document contains additional word tokens, incrementing to the next word token contained in said document and repeating from the first determining step; and in response to determining that the document does not contain additional word tokens, normalizing the sums of word token weights for each of the plurality of concept identifiers, arranging each of the plurality of concept identifiers according to the value of said normalized sums of word token weights, converting each of the plurality of concept identifiers to unique concept tokens, and embedding the concept tokens in the document.
Claim 6
Dependent Claim 111 words
A computer-readable medium on which is stored a computer program for preprocessing a query comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading concept identifiers associated with the word token from the concept database; and in response to reading concept identifiers, assigning the concept identifiers to unique non-word concept tokens and passing the concept identifiers to a search engine not otherwise capable of concept searching as search parameters.
Claim 7
Dependent Claim 111 words
A computer-readable medium on which is stored a computer program for preprocessing a query comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading concept identifiers associated with the word token from the concept database; and in response to reading concept identifiers, assigning the concept identifiers to unique non-word concept tokens and passing the concept identifiers to a search engine not otherwise capable of concept searching as search parameters.
Claim 8
Dependent Claim 57 words
The computer-readable medium of claim 4 , further comprising the following steps after the reading step and before the assigning step: determining whether the query contains additional word tokens; and in response to determining that the query contains additional word tokens, selecting the next word token contained in the query and repeating from the first determining step.
Claim 9
Dependent Claim 191 words
A computer-readable medium on which is stored a computer program for preprocessing a query comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading concept identifiers associated with the word token from the concept database; in response to reading concept identifiers, assigning the concept identifiers to unique concept tokens, and determining whether the query contains additional word tokens; in response to determining that the query contains additional word tokens, selecting the next word token contained in the query and repeating from the first determining step; and in response to determining that the query does not contain additional word tokens, assigning each concept token a normalized weight based upon the number of occurrences of each of the concept tokens, arranging each of the concept tokens according to the value of the normalized weights associated with said concept tokens, and passing the concept tokens and normalized weights to the search engine.
Claim 10
Dependent Claim 191 words
A computer-readable medium on which is stored a computer program for preprocessing a query comprising one or more word tokens, the computer program comprising instructions which, when executed by a computer, perform the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading concept identifiers associated with the word token from the concept database; in response to reading concept identifiers, assigning the concept identifiers to unique concept tokens, and determining whether the query contains additional word tokens; in response to determining that the query contains additional word tokens, selecting the next word token contained in the query and repeating from the first determining step; and in response to determining that the query does not contain additional word tokens, assigning each concept token a normalized weight based upon the number of occurrences of each of the concept tokens, arranging each of the concept tokens according to the value of the normalized weights associated with said concept tokens, and passing the concept tokens and normalized weights to the search engine.
Claim 11
Dependent Claim 25 words
The computer-readable medium of claim 6 , wherein the arranging step further comprises removing concept tokens whose normalized weights are less than a threshold value.
Claim 12
Independent Claim 90 words
A method for preprocessing a document comprising one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the document is contained in a concept database; and in response to determining that the word token is contained in the concept database, reading concept identifiers associated with the word token from the concept database, converting the concept identifiers to unique non-word concept tokens, and embedding the concept tokens in the document for use by a search engine not otherwise capable of concept searching.
Claim 13
Independent Claim 90 words
A method for preprocessing a document comprising one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the document is contained in a concept database; and in response to determining that the word token is contained in the concept database, reading concept identifiers associated with the word token from the concept database, converting the concept identifiers to unique non-word concept tokens, and embedding the concept tokens in the document for use by a search engine not otherwise capable of concept searching.
Claim 14
Dependent Claim 50 words
The method of claim 8 , further comprising the following steps after the embedding step: determining whether the document contains additional word tokens; and in response to determining that the document contains additional word tokens, selecting the next word token in the document and repeating from the first determining step.
Claim 15
Independent Claim 222 words
A method for preprocessing a document comprising one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the document is contained in a concept database; in response to determining one of the word tokens is contained in the concept database, reading concept identifiers associated with the word token from the concept database, and reading a numerical weight associated with the word token from the concept database; in response to reading concept identifiers and a numerical weight, adding the numerical weight to the sum of any numerical weights for any previous word tokens associated with the plurality of concept identifiers to create a sum of word token weights for each of said plurality of concept identifiers and determining whether said document contains additional word tokens; in response to determining that the document contains additional word tokens, selecting the next word token contained in the document and repeating from the determining step; and in response to determining that the document does not contain additional word tokens, normalizing the sums of word token weights for each of the concept identifiers, arranging each of the concept identifiers according to the value of the normalized sums of word token weights, converting each of the concept identifiers to unique concept tokens, and embedding the concept tokens in the document.
Claim 16
Independent Claim 222 words
A method for preprocessing a document comprising one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the document is contained in a concept database; in response to determining one of the word tokens is contained in the concept database, reading concept identifiers associated with the word token from the concept database, and reading a numerical weight associated with the word token from the concept database; in response to reading concept identifiers and a numerical weight, adding the numerical weight to the sum of any numerical weights for any previous word tokens associated with the plurality of concept identifiers to create a sum of word token weights for each of said plurality of concept identifiers and determining whether said document contains additional word tokens; in response to determining that the document contains additional word tokens, selecting the next word token contained in the document and repeating from the determining step; and in response to determining that the document does not contain additional word tokens, normalizing the sums of word token weights for each of the concept identifiers, arranging each of the concept identifiers according to the value of the normalized sums of word token weights, converting each of the concept identifiers to unique concept tokens, and embedding the concept tokens in the document.
Claim 17
Independent Claim 97 words
A method for preprocessing a query comprising one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading concept identifiers associated with said word token from said concept database; and in response to reading concept identifiers, assigning the concept identifiers to unique non-word concept tokens said passing the concept identifiers to the search engine for use by a search engine not otherwise capable of concept searching.
Claim 18
Independent Claim 97 words
A method for preprocessing a query comprising one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading concept identifiers associated with said word token from said concept database; and in response to reading concept identifiers, assigning the concept identifiers to unique non-word concept tokens said passing the concept identifiers to the search engine for use by a search engine not otherwise capable of concept searching.
Claim 19
Dependent Claim 50 words
The method of claim 11 , further comprising the following steps after the reading step: determining whether the query contains additional word tokens; and in response to determining that the query contains additional word tokens, selecting the next word token in the query and repeating from the first determining step.
Claim 20
Independent Claim 172 words
A method for preprocessing a query comprising a one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading a plurality of concept identifiers associated with the word token from the concept database, assigning each of the concept identifiers to concept tokens, and determining whether the query contains additional word tokens; in response to determining that the query contains additional word tokens, selecting the next word token in the query and repeating from the first determining step; and in response to determining that the query does not contain additional word tokens, assigning each concept token a normalized weight based upon the number of occurrences of each of the concept tokens, arranging each of he concept tokens according to the value of the normalized weights associated with the concept tokens, and passing the concept tokens and normalized weights to the search engine.
Claim 21
Independent Claim 172 words
A method for preprocessing a query comprising a one or more word tokens, the method comprising the steps of: determining whether one of the word tokens in the query is contained in a concept database; in response to determining that the word token is contained in the concept database, reading a plurality of concept identifiers associated with the word token from the concept database, assigning each of the concept identifiers to concept tokens, and determining whether the query contains additional word tokens; in response to determining that the query contains additional word tokens, selecting the next word token in the query and repeating from the first determining step; and in response to determining that the query does not contain additional word tokens, assigning each concept token a normalized weight based upon the number of occurrences of each of the concept tokens, arranging each of he concept tokens according to the value of the normalized weights associated with the concept tokens, and passing the concept tokens and normalized weights to the search engine.
Claim 22
Dependent Claim 24 words
The method of claim 13 , wherein the arranging step further comprises removing concept tokens whose normalized weights are less than a threshold value.
Claim 23
Dependent Claim 280 words
A computer apparatus for preprocessing a document comprising one or more word tokens, the computer apparatus comprising: a processor; a storage unit coupled to the processor, the storage unit maintaining the document and a concept database comprising a plurality of word tokens associated with a plurality of concept identifiers; a memory coupled to the processor; the processor being operative to read one of the word tokens from the document; determine whether the word token is contained in the concept database; in response to determining that the word token is contained in the concept database, said processor operative to read concept identifiers associated with the word token from the concept database, to read a numerical weight associated with the word token from said concept database, to add the numerical weight to the sum of any numerical weights for any previous word tokens associated with said plurality of concept identifiers to create a sum of word token weights for each of said plurality of concept identifiers, and to determine whether the document contains additional word tokens; in response to determining that the document contains additional word tokens, said processor operative to read the next word token from said document and repeat from the first determining step; and in response to determining that the document does not contain additional word tokens, said processor operative to normalize the sums of word token weights for each of the plurality of concept identifiers, to arrange each of said plurality of concept identifiers according to the value of said normalized sums of word token weights, to convert each of said plurality of concept identifiers to unique concept tokens, and to embed the concept tokens in the document.
Claim 24
Dependent Claim 280 words
A computer apparatus for preprocessing a document comprising one or more word tokens, the computer apparatus comprising: a processor; a storage unit coupled to the processor, the storage unit maintaining the document and a concept database comprising a plurality of word tokens associated with a plurality of concept identifiers; a memory coupled to the processor; the processor being operative to read one of the word tokens from the document; determine whether the word token is contained in the concept database; in response to determining that the word token is contained in the concept database, said processor operative to read concept identifiers associated with the word token from the concept database, to read a numerical weight associated with the word token from said concept database, to add the numerical weight to the sum of any numerical weights for any previous word tokens associated with said plurality of concept identifiers to create a sum of word token weights for each of said plurality of concept identifiers, and to determine whether the document contains additional word tokens; in response to determining that the document contains additional word tokens, said processor operative to read the next word token from said document and repeat from the first determining step; and in response to determining that the document does not contain additional word tokens, said processor operative to normalize the sums of word token weights for each of the plurality of concept identifiers, to arrange each of said plurality of concept identifiers according to the value of said normalized sums of word token weights, to convert each of said plurality of concept identifiers to unique concept tokens, and to embed the concept tokens in the document.
Claim 25
Dependent Claim 237 words
A computer apparatus for preprocessing a query comprising one or more word tokens, the computer apparatus comprising: a processor; a storage unit coupled to the processor, the storage unit maintaining the query and a concept database comprising a plurality of word tokens associated with a plurality of concept identifiers; a memory coupled to the processor; the processor being operative to read one of the plurality of word tokens from the query; determine whether the word token is contained in the concept database; in response to determining that the word token is contained in the concept database, said processor operative to read concept identifiers associated with the word token from the concept database, to assign each of the concept identifiers to unique concept tokens, and to determine whether the query contains additional word tokens; in response to determining that the query contains additional word tokens, said processor operative to read the next word token contained in said query and repeat from the first determining step; and in response to determining that the query does not contain additional word tokens, said processor operative to assign each of the concept tokens a normalized weight based upon the number of occurrences of each of the concept tokens, to arrange each of the concept tokens according to the value of the normalized weights associated with the concept tokens, and to transmit the concept tokens and the normalized weights to the search engine.
Claim 26
Dependent Claim 237 words
A computer apparatus for preprocessing a query comprising one or more word tokens, the computer apparatus comprising: a processor; a storage unit coupled to the processor, the storage unit maintaining the query and a concept database comprising a plurality of word tokens associated with a plurality of concept identifiers; a memory coupled to the processor; the processor being operative to read one of the plurality of word tokens from the query; determine whether the word token is contained in the concept database; in response to determining that the word token is contained in the concept database, said processor operative to read concept identifiers associated with the word token from the concept database, to assign each of the concept identifiers to unique concept tokens, and to determine whether the query contains additional word tokens; in response to determining that the query contains additional word tokens, said processor operative to read the next word token contained in said query and repeat from the first determining step; and in response to determining that the query does not contain additional word tokens, said processor operative to assign each of the concept tokens a normalized weight based upon the number of occurrences of each of the concept tokens, to arrange each of the concept tokens according to the value of the normalized weights associated with the concept tokens, and to transmit the concept tokens and the normalized weights to the search engine.

References Cited (Backward Citations)

US5675819A Cited
US5724571A Cited
US6006221A Cited
US6026388A Cited
US6076088A Cited
US6038560A Cited
US6094657A Cited
US6094652A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-03-25 2005-09-24 2006-03-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-03-25 2009-09-24 2010-03-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-03-25 2013-09-24 2014-03-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag