IP Library Granted Patent US 10,698,977
Granted Patent B1
US 10,698,977 · App. 16/207,402 · Granted Jun 30, 2020

System and methods for processing fuzzy expressions in search engines and for information extraction

Inventor: Guangsheng Zhang (Palo Alto, CA)
G06F17/2247G06F16/313G06F17/218G06F17/277
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,698,977
App. No.
16/207,402
Granted
Jun 30, 2020
Kind
B1
Abstract

System and methods for enhancing search engine functionality by enabling and providing a new search function based on fuzzy expressions in a query string. When a query is received by a search engine, it is first analyzed to identify whether the query contains an expression that represents a fuzzy reference to certain objects or properties of objects, or object with certain properties, to overcome the limitations of the keyword-matching methods used by conventional search engines. For example, the present invention can accurately retrieve results for a query such as “find large-screen smart-phones” or “find light-weighted computers”, by understanding the meaning of the query and automatically identifying objects with applicable properties and mapping the meaning of the expression to such objects.

Claims (72)

1. A computer-implemented method to enable a search engine to process fuzzy expressions in a query and to retrieve results that cannot be found through keyword-matching, comprising:

receiving a query string for search information by a search engine;

tokenizing the query string into tokens comprising words or phrases or sentences;

identifying a first token and a second token;

identifying a structural relation between tokens in the query, wherein the structural relation is not explicitly indicated in the query string, wherein the structural relation comprises a modifier-head relation inside a phrase structure;

identifying a phrase, wherein the first token is a modifier and the second token is a head in the phrase;

identifying whether the first token represents a name of a property associated with an object;

identifying whether the second token represents a name of an object, wherein the object comprises a physical object, or a collection of physical objects, or a concept representing an object or class of objects;

identifying a value associated with the property;

identifying whether the value of the property is quantifiable;

if the value of the property is quantifiable, then gathering the values of a collection of the objects and forming a corresponding collection of quantifiable values;

determining a range in the quantifiable values;

mapping the first token to a range of the quantifiable values;

retrieving the objects or names of the objects that are associated with the property, wherein the values of the property are within the range; and

presenting the retrieved objects or names of the retrieved objects as a search result relevant to the first token and the second token in the query.

2. The method of claim 1 , wherein at least the first token is not the same keyword as the name of the property.

3. The method of claim 1 , wherein the range of the quantifiable values is identified by:

gathering a collection of objects;

identifying a property or attribute associated with each of the objects in the collection;

identifying whether a value of the property or attribute is quantifiable or not;

if the value of the property or attribute is quantifiable, then sorting the objects in the collection of objects by the corresponding values; and

determining the range of the values to be between a small value and a large value.

4. The method of claim 3 , further comprising:

dividing the range into one or more sub-ranges.

5. The method of claim 4 , further comprising:

mapping the first token to one of the sub-ranges.

6. The method of claim 5 , further comprising:

wherein the mapping of the first token to one of the sub-ranges is determined based on whether the first token semantically represents a range of values corresponding to the sub-range.

7. The method of claim 6 , wherein the mapping of the first token to one of the sub-ranges is further determined based on a result of a computer-performed contextual analysis of the tokens in the query string.

8. The method of claim 7 , wherein the computer-performed contextual analysis of the tokens in the query string includes identifying whether or not the first token is in a scope of a negation.

9. The method of claim 8 , wherein the first token is in a scope of a negation, the method further comprising:

identifying a sub-range that the first token is mapped to when the first token is not in a scope of negation as a first sub-range;

identifying a complement of the sub-range in the range of values as a second sub-range; and

retrieving the objects with values in the second sub-range.

10. The method of claim 9 , further comprising:

presenting the objects with values in the second sub-range as a search result relevant to the query string.

11. A computer-implemented method to enable a search engine to process fuzzy expressions in a query and to retrieve results that cannot be found be keyword-matching, comprising:

receiving a query string for search information by a search engine;

tokenizing the query string into tokens comprising words or phrases or sentences;

identifying a first token and a second token;

identifying a structural relation between tokens in the query, wherein the structural relation is not explicitly indicated in the query string, wherein the structural relation comprises a modifier-head relation inside a phrase structure;

identifying a phrase, wherein the first token is a modifier and the second token is a head in the phrase;

identifying whether the first token represents a name of a property associated with an object;

identifying whether the second token represents a name of an object, wherein the object comprises a physical object, or a collection of physical objects, or a concept representing an object or class of objects;

identifying a value associated with the property;

identifying whether the value of the property is enumerable;

if the value of the property is enumerable, then gathering the values of a collection of the objects and forming a corresponding collection of enumerable values;

determining a range in the enumerable values;

mapping the first token to a range of the enumerable values;

retrieving the objects or names of the objects that are associated with the property, wherein the values of the property are within the range; and

presenting the retrieved objects or names of the retrieved objects as a search result relevant to the first token and the second token in the query.

12. The method of claim 11 , wherein at least the first token is not the same keyword as the name of the property.

13. The method of claim 11 , wherein the range of the enumerable values is identified by:

gathering a collection of objects;

identifying a property or attribute associated with each of the objects in the collection;

identifying whether a value of the property or attribute is enumerable or not;

if the value of the property or attribute is enumerable, then arranging the objects in the collection of objects by the corresponding values; and

determining the range of the values to be a set of the enumerable values.

14. The method of claim 13 , further comprising:

dividing the range into one or more sub-ranges.

15. The method of claim 14 , further comprising:

mapping the first token to one of the sub-ranges.

16. The method of claim 15 , further comprising:

wherein the mapping of the first token to one of the sub-ranges is determined based on whether the first token semantically represents a range of values corresponding to the sub-range.

17. The method of claim 16 , wherein the mapping of the first token to one of the sub-ranges is further determined based on a result of a computer-performed contextual analysis of the tokens in the query string.

18. The method of claim 17 , wherein the computer-performed contextual analysis of the tokens in the query string includes identifying whether or not the first token is in a scope of a negation.

19. The method of claim 18 , wherein the first token is in a scope of a negation, the method further comprising:

identifying a sub-range to which the first token is mapped when the first token is not in a scope of negation as a first sub-range;

identifying a complement of the sub-range in the range of values as a second sub-range; and

retrieving the objects with values in the second sub-range.

20. The method of claim 19 , further comprising:

presenting the objects with values in the second sub-range as a search result relevant to the query string.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2021
From: ZHANG, CHIZONG; ZHANG, GUANGSHENG
To: LINFO IP LLC
Reel/Frame 057128/0500 →
Continuity (2)
Continuation 14961882 · Dec 7, 2015
Provisional Application 62098978 · Dec 31, 2014
Cited By (1)
US 12,271,698