System and methods for processing fuzzy expressions in search engines and for information extraction
View Patent ↗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.
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.