IP Library Granted Patent US 11,314,793
Granted Patent B2
US 11,314,793 · App. 15/941,527 · Granted Apr 26, 2022

Query processing

Inventors: Daniel E. Gallagher (Fairport, NY); Jason T. Nordhaus (Rochester, NY); William Consagra-Francis (Brockport, NY); Scott M. Leubner (Pittsford, NY); Richard W. Ibbotson (Fairport, NY)
Assignee: Soleo Communications, Inc.
G06F16/3325G06F3/167G06F16/338G06F16/9535
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 11,314,793
App. No.
15/941,527
Granted
Apr 26, 2022
Kind
B2
Abstract

A method includes associating an identifier with a plurality of business listings, receiving a first query, generating a second query based at least in part on the first query, the second query including at least one word included in the first query, and selecting a subset of business listings based at least in part on the second query. The method also includes providing the subset of business listings such that the subset of business listings is configured to be displayed in a ranked order. In such methods, the ranked order is based at least in part on respective levels of relatedness between the second query and listings included in the subset of business listings.

Claims (89)

1. A method, comprising:

receiving, with a server, a plurality of business listings, each listing of the plurality of business listings including information identifying a respective business entity;

associating, within a memory associated with the server, an identifier with each listing of the plurality of business listings, each respective identifier being indicative of information included in listings of the plurality of business listings associated with the respective identifier, wherein the associating comprises comparing, with the server, the information included in each listing of the plurality of business listings with other information included in one or more other business listings;

receiving, with the server and via a network, a first query, the first query including a word;

generating, with the server, a second query based at least in part on the first query and on a query rule set stored within the memory, the second query including at least one word included in the first query;

comparing the second query with at least a first subset of business listings included in the plurality of business listings;

receiving, with the server and via the network, metadata comprising contextual information associated with the first query, wherein the metadata is received without user input;

selecting, based at least in part on the comparing and the contextual information, a second subset of business listings included in the at least the first subset of business listings; and

providing the second subset of business listings configured to be displayed in a ranked order, wherein the ranked order is based at least in part on respective levels of relatedness between the second query and each listing included in the second subset of business listings.

2. The method of claim 1 , wherein information included in each listing of the plurality of business listings comprises text describing at least one of goods and services provided by a particular business entity identified by the information included in the listing, the method further comprising:

identifying, with the server, a deficiency in the information included in the listing; and

augmenting, with the server and in response to the identifying, the information included in the listing with additional information retrieved via an automated search.

3. The method of claim 1 , wherein associating the identifier with each listing of the plurality of business listings comprises associating a first identifier with a first listing of the plurality of business listings, the method further comprising:

associating, within the memory, a second listing of the plurality of business listings with the first identifier; and

associating, within the memory, a second identifier different from the first identifier with a third listing of the plurality of business listings, wherein

the second identifier is indicative of information included in the third listing, and

the first and second identifiers are generated by the server.

4. The method of claim 1 , wherein the first query comprises one of text entered by a user via an electronic device remote from the server, and a voice command entered by the user via the electronic device.

5. The method of claim 1 , wherein

the query rule set comprises a list of stop words, and

generating the second query comprises removing a stop word included in the list of stop words from the first query.

6. The method of claim 1 , wherein

the first query comprises a first word and a second word,

the first word and the second word are arranged in a first order in the first query such that the first word precedes the second word, and

the query rule set comprises a command executable by the server to maintain the first word and the second word in the first order in the second query.

7. The method of claim 1 , wherein

comparing the second query includes determining a plurality of relatedness values, each value of the plurality of relatedness values being indicative of a level of relatedness between the second query and a respective listing included in the second subset of business listings, and

the second subset of business listings is selected based at least in part on the plurality of relatedness values.

8. The method of claim 7 , wherein selecting the second subset of business listings includes

selecting a first business listing having a highest value of the plurality of relatedness values, and

selecting a second business listing having a sequentially second highest value of the plurality of relatedness values.

9. The method of claim 1 , wherein the comparing the second query includes

matching at least one word included in the second query with a corresponding word of a particular business listing included in the first subset of business listings, and

determining a relatedness value corresponding to the particular business listing based at least partly on matching the at least one word.

10. The method of claim 1 , further including omitting a business listing from the second subset of business listings based at least in part on the contextual information.

11. The method of claim 1 , further including

receiving, with the server and via the network, an indication of a selection of one of the business listings included in the second subset of business listings, and

storing, in the memory and at least partly in response to receiving the indication, information indicative of:

the first query,

the second subset of business listings, and

the selection.

12. The method of claim 11 , further including adding text included in the second query to the one of the business listings at least partly in response to receiving the indication.

13. The method of claim 1 , further comprising:

identifying a pattern associated with pages of a website;

identifying the pages of the website as including product information or service information based at least in part on the pattern; and

forming at least one business listing using the product information or the service information.

14. The method of claim 13 , wherein the pattern is based on at least one of page density, page weight, or page format.

15. The method of claim 1 , further comprising:

identifying a pattern associated with text included in a page of a website, the pattern indicating contact information associated with a first business entity corresponding to the website; and

adding the contact information to a first listing of the plurality of business listings associated with the first business entity.

16. A system, comprising:

a server; and

memory associated with the server, the memory storing a plurality of business listings and instructions which, when executed by the server, cause the server to perform operations including:

associating, within the memory, an identifier with the plurality of business listings, the identifier being indicative of information included in the plurality of business listings, wherein the associating comprises comparing information included in each listing of the plurality of business listings with other information included in one or more other business listings;

receiving, via a network, a first query, the first query including a word;

generating a second query based at least in part on the first query and on a query rule set stored within the memory, the second query including at least one word included in the first query;

receiving, with the server and via the network, metadata comprising contextual information associated with the first query, wherein the metadata is received without user input;

selecting a subset of business listings included in the plurality of business listings, wherein the subset of business listings is selected based at least in part on the second query and the contextual information; and

providing the subset of business listings via the network such that the subset of business listings is configured to be displayed in a ranked order, wherein the ranked order is based at least in part on respective levels of relatedness between the second query and each listing included in the subset of business listings.

17. The system of claim 16 , wherein the operations further include

identifying, with the server, a deficiency in the information included in the listing; and

augmenting, with the server and in response to the identifying, the information included in the listing with additional information retrieved via an automated search.

18. The system of claim 16 , wherein the operations further include

determining a plurality of relatedness values, each value of the plurality of relatedness values being indicative of a level of relatedness between the second query and a respective listing included in the subset of business listings, and

wherein selecting the subset of business listings includes

selecting a first business listing having a highest value of the plurality of relatedness values, and

selecting a second business listing having a sequentially second highest value of the plurality of relatedness values.

19. The system of claim 16 , wherein the operations further include

receiving, via the network, an indication of a selection of one of the business listings included in the subset of business listings;

receiving, via the network, a request for information related to the one of the business listings; and

providing, via the network, the identifier at least partly in response to the request.

20. The system of claim 16 , wherein the operations further include

receiving, via the network, an indication of a selection of one of the business listings included in the subset of business listings;

storing, in the memory and at least partly in response to receiving the indication, information indicative of:

the first query,

the subset of business listings, and

the selection; and

modifying the one of the business listings at least partly in response to receiving the indication.

21. A system, comprising:

a server in communication with a network; and

memory associated with the server, the memory storing a plurality of business listings and instructions which, when executed by the server, cause the server to perform operations including:

associating, within the memory, at least one identifier with each listing of the plurality of business listings, wherein the associating comprises comparing information included in each listing with other information included in one or more other listings;

receiving, via the network and from an electronic device remote from the server, a first query associated with the plurality of business listings;

receiving, via the network and from the electronic device, metadata comprising contextual information associated with at least one of the electronic device and the first query, wherein the metadata is received without user input;

generating a second query based at least in part on the first query and on a query rule set stored within the memory, the second query including at least one word included in the first query;

selecting a subset of business listings included in the plurality of business listings, wherein the subset of business listings is selected based at least in part on the second query and the contextual information; and

providing the subset of business listings via the network such that the subset of business listings is configured to be displayed on the electronic device in a ranked order, wherein the ranked order is based at least in part on respective levels of relatedness between the second query and each listing included in the subset of business listings.

22. The system of claim 21 , wherein the contextual information includes at least one of a geographic location of the electronic device, a time of day at which the first query was received at the electronic device, an indication of time included in the first query, and an indication of an event included in the first query.

23. The system of claim 22 , wherein the operations further include omitting a business listing from the subset of business listings based at least in part on the contextual information.

Assignments (2)
SECURITY INTEREST Recorded Apr 25, 2019
From: SOLEO COMMUNICATIONS INC
To: M&T BANK
Reel/Frame 048999/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: GALLAGHER, DANIEL E.; LEUBNER, SCOTT M.; NORDHAUS, JASON T.; CONSAGRA-FRANCIS, WILLIAM; IBBOTSON, RICHARD W.
To: SOLEO COMMUNICATIONS, INC.
Reel/Frame 046212/0601 →
Continuity (2)
Provisional Application 62483083 · Apr 7, 2017
Related Publication 20180293299A1 · Oct 11, 2018