IP Library Granted Patent US 9,098,543
Granted Patent B2
US 9,098,543 · App. 13/804,806 · Granted Aug 4, 2015

Attribute detection

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,098,543
App. No.
13/804,806
Granted
Aug 4, 2015
Kind
B2
Abstract

Computer-implemented methods and systems may be used for identifying an attribute and/or attribute value in a text string. In embodiments, the text string comprises a search query submitted by a user. Embodiments of the present disclosure include identifying an attribute value from a search query by comparing the search query string to a list of known attribute values and comparing the candidate attribute value to a knowledge base to confirm that the string represents an attribute value rather than a non-attribute concept. In embodiments, a Bloom filter is employed to execute a relatively efficient comparison between a candidate attribute value and known non-attribute concepts.

Claims (55)

1. A computer-implemented method of identifying an item attribute in a search query, comprising:

at a search query attribute module, receiving the search query from a user;

at the search query attribute module, comparing a string from the search query to a value in an attribute database, thereby resulting in a matched attribute string;

at a disambiguation module, processing the matched attribute string through a hash function, thereby resulting in a hashed attribute string;

at the disambiguation module, comparing the hashed attribute string to a Bloom filter table to determine if the matched attribute string does not belong to a set of known non-attribute concepts; and

if the matched attribute string does not belong to the set of known non-attribute concepts:

transmitting an item object to the user, wherein the item object comprises an attribute value that corresponds to the matched attribute string.

2. The method of claim 1 , wherein receiving the search query comprises processing a voice command.

3. The method of claim 1 , further comprising:

performing a keyword search of the search query in a product database.

4. The method of claim 1 , further comprising:

performing a search of the matched attribute string in a product database.

5. The method of claim 1 , further comprising:

at a Bloom filter module, retrieving an attribute value from a product database;

at the Bloom filter module, searching for a match to the attribute value in the attribute database, thereby resulting in a matched attribute value;

at the Bloom filter module, searching for the matched attribute value in a knowledge base, thereby resulting in a matched non-attribute concept;

at the Bloom filter module, processing a text string representing the matched non-attribute concept through the hash function, thereby resulting in a hashed non-attribute concept; and

inserting the hashed non-attribute concept into the Bloom filter table.

6. The method of claim 5 , wherein the knowledge base comprises Wikipedia.

7. A computer-implemented method of identifying an item attribute in a search query, comprising:

at a disambiguation module of a user computing device, receiving the search query from a user;

at the disambiguation module, processing at least a portion of the search query through a hash function, thereby resulting in a hashed attribute string, wherein the at least the portion of the search query comprises a queried attribute value;

at the disambiguation module, comparing the hashed attribute string to a Bloom filter table to determine if the search query belongs to a set of known non-attribute concepts; and

if the hashed attribute string does not belong to the set of known non-attribute concepts:

displaying an item object to the user, wherein the item object comprises the queried attribute value that corresponds to the search query.

8. The method of claim 7 , wherein receiving the search query comprises processing a voice command.

9. The method of claim 7 , further comprising:

at a search query attribute module, comparing the search query to a value in an attribute database.

10. The method of claim 7 , further comprising:

performing a keyword search for the search query in a product database.

11. The method of claim 7 , further comprising:

performing a search for an attribute object in a product database, wherein the attribute object comprises the queried attribute value.

12. The method of claim 7 , further comprising:

at a Bloom filter module, retrieving an attribute value from a product database;

at the Bloom filter module, searching for a match to the attribute value in an attribute database, thereby resulting in a matched attribute value;

at the Bloom filter module, searching for the matched attribute value in a knowledge base, thereby resulting in a matched non-attribute concept;

at the Bloom filter module, processing a text string representing the matched non-attribute concept through the hash function, thereby resulting in a hashed non-attribute concept; and

inserting the hashed non-attribute concept into the Bloom filter table.

13. A system for identifying an item attribute in a search query, comprising:

an attribute database adapted to store attribute values;

a search query attribute module comprising a search query attribute memory device and a search query attribute processing device, the search query attribute memory device storing computer-readable instructions directing the search query attribute processing device to query the attribute database for matches between a query string of the search query received from a user and the attribute values in the attribute database; and

a disambiguation module comprising a disambiguation memory device and a disambiguation processing device, the disambiguation memory device storing computer-readable instructions directing the disambiguation processing device to:

process the query string through a hash function, thereby resulting in a hashed query;

compare the hashed query against a Bloom filter table, wherein the Bloom filter table comprises a representative set of non-attribute concepts; and

in response to not finding a match in the Bloom filter table, return a search result to the user, wherein the search result comprises an item object with a matching attribute value to the query string.

14. The system of claim 13 , wherein the system comprises computer-readable instructions stored in a memory of a mobile computing device.

15. The system of claim 14 , further comprising a voice command module comprising a voice command memory device and a voice command processing device, the voice command memory device storing computer-readable instructions directing the voice command processing device to receive a voice command from the user and translate the voice command to the query string.

16. The system of claim 13 , wherein the system comprises a network server.

17. The system of claim 16 , further comprising a voice command module comprising a voice command memory device and a voice command processing device, the voice command memory device storing computer-readable instructions directing the voice command processing device to receive a voice command from the user and translate the voice command to the query string.

18. The system of claim 13 , wherein the Bloom filter table is stored on the disambiguation memory device.

19. The system of claim 13 , further comprising a Bloom filter module comprising a Bloom filter memory device and a Bloom filter processing device, the Bloom filter memory device storing computer-readable instructions directing the Bloom filter processing device to:

crawl a knowledge base;

process a non-attribute concept from the knowledge base through the hash function, thereby resulting in a hashed non-attribute concept; and

insert the hashed non-attribute concept into the Bloom filter table.

20. The system of claim 19 , wherein the knowledge base comprises Wikipedia.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045817/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: VUONG, BA-QUY; GATTANI, ABHISHEK
To: WAL-MART STORES, INC.
Reel/Frame 029998/0130 →