SEARCH SYSTEM UTILZING PURCHASE HISTORY
A method for providing a purchase history context search includes receiving at least one search term from a user through an input device. A purchase history for the user is then accessed from at least one purchase history database over a network. A web index that is located on at least one storage device is then accessed. A plurality of search results, each associated with a web page indexed by the web index, are then determined using the at least one search term and the purchase history, each search result including a link to an associated web page. The plurality of search results are then provided for display on a display device.
The present application claims priority to and is a continuation of co-owned, co-pending U.S. patent application Ser. No. 13/236,029, filed Sep. 19, 2011, the disclosures of which is incorporated herein by reference.
BACKGROUND1. Field of the Disclosure
The present invention generally relates to internet searching and more particularly to a search system that utilizes a user purchase history as context for a search.
2. Related Art
Conventional search systems for searching the Internet typically involve a user providing search terms to the search system and the search system using those search terms to search a web index for web pages to return to the user as search results. The search system may create the web index using “spider” software programs that fetch a first set of web pages, follow a first set of links on the first set of web pages to fetch a second set of web pages that the first set of links point to, follow a second set of links on the second set of web pages to fetch a third set of web pages that the second set of links point to, and so on, in order to index the web such that the web index may include billions of web pages stored on many different devices. In response to receiving search terms from a user, the search system then searches the web index to find the web pages that includes the search terms, and then narrows those web pages into search results using a number of qualifiers such as, for example, a number of times the search terms are included on the web page, whether the search terms are included in the title of the web page, whether the search terms are included in the universal resource locator (URL) for the web page, whether the web page includes synonyms for the search terms, whether the web page is part of what is deemed a ‘quality’ website, how many web sites link to that web page, and/or a variety of other qualifiers known in the art.
Thus, conventional search systems are limited to using the search terms provided by the user in order to determine the web pages that will be returned as search results.
Thus, there is a need for an improved search system.
SUMMARYAccording to one embodiment, a method for providing a purchase history context search includes receiving a search term from a user, accessing a purchase history of the user, and using the search term and purchase history to determine a plurality of search results.
In an embodiment, the purchase history may be accessed from different databases. The method may weigh more recent purchases in the purchase history higher than less recent purchases when determining the search results, and the search results may be ranked using the purchase history. In one example, the search term may be used to determine a superset of search results, and a purchased item in the purchase history may be used to determine a subset of the superset of search results. A plurality of previous searches may be determined for an item that is included in the purchase history, and those previous searches may also be used to determined the search results. In an embodiment, a calendar may be retrieved and used with the search term and the purchase history to determine the search results.
As a result, a user may conduct searches that are tailored, at least in part, to the user's purchase history. This allows a user to provide general search terms and, without any additional action from the user, use those search terms along with purchases that the user has made to determine search results, which provides search results that are relevant to items the user has purchased.
These and other features and advantages of the present disclosure will be more readily apparent from the detailed description of the embodiments set forth below taken in conjunction with the accompanying figures.
Embodiments of the present disclosure and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures, wherein showings therein are for purposes of illustrating embodiments of the present disclosure and not for purposes of limiting the same.
DETAILED DESCRIPTIONThe present disclosure provides a system and method for providing a purchase history context search. At least one search term is received from a user, and a purchase history for that user is retrieved. A web index is then accessed and the at least one search term and the purchase history are used to determine a plurality of search results that are then provided for display on a display device of the user. The system and method allow a user to search using general search terms and have search results returned that are determined using the purchase history of the user as context such that at least some of the search results are related to the at least one search term and one or more purchased items in the purchase history.
Referring now to
The method 100 begins at block 102 where at least one search term is received from a user.
In an embodiment, the at least one search term received by the at least one web search server 210 is associated with a user identifier of the user that provided the at least one search term using the search device 202. For example, a cookie or other identifier on the search device 202 may be provided along with the at least one search term to the at least one web search server 210, and that cookie may include the user identifier that identifies or otherwise indicates that the user of the search device 202 provided the at least one search term. In another embodiment, the user of the search device 202 may have an account that is associated with the search page 300, and an account identifier that identifies the user of the search device 202 is sent along with the at least one search term to the at least one web search server 210. While a few examples of user identifiers that identify the user that sent the at least one search term to the at least one web search server 210 have been described, one of skill in the art will recognize that a variety of other user identifiers for identifying the user of the search device 202 may be used with the method 100 without departing from the scope of the present disclosure.
Referring now to
At block 104, the web search server 210 accesses the at least one payment account server 206 through the network 204 and, in an embodiment, may provide user authentication(s) to the payment account server(s) 206 in order to access the payment history 402 of the user that provided the at least one search term in block 102 of the method 100. Thus, upon providing proper user authentication, the at least one web server 210 accesses the payment history 402 of the user in the purchase history database 400 over the network 204.
Referring now to
In an embodiment, the web search server 210 may use the at least one search term to determine a superset of search results that include web pages that are related to the at least one search term. Each of the web pages in the superset of search results may be related to the at least one search term due to a number of times the at least one search term is included on a web page, whether the at least one search term is included in the title of a web page, whether the at least one search term is included in the universal resource locator (URL) of a web page, whether a web page includes synonyms for the at least one search term, whether a web page is part of what is deemed a ‘quality’ website, how many web sites link to that web page, and/or a variety of other search term/search results relationships known in the art. The superset of search results may then be “filtered” using the purchased items in the purchase history to provide a subset of the superset of search results that include web pages that are related to one or more purchase items in the purchase history. In another embodiment, the at least one search result and the purchase items in the purchase history may be used together to determine the plurality of search results (i.e., rather than first determining a set of results using the at least one search term and then filtering those results using the purchase items in the purchase history).
In another embodiment, more recent purchased items in the purchases history may be provided more weight in determining the plurality of search results relative to less recent purchased items. For example, using the purchase history illustrated in
In another embodiment, the web search server 210 may be coupled to a search database (not illustrated) that includes a plurality of previous searches by users. In this embodiment, at block 108 of the method 100, the web search server 210 may access the search database and use a purchased item in the purchase history 402 to determine a plurality of previous searches that were associated with that purchased item (e.g., searches related to that purchased item that were conducted by users other than the user of the search device 202 that provided the at least one search term at block 102 of the method 100). The web search server 210 may then determine whether the plurality of previous searches associated with the purchased item are relevant to the at least one search term provided in block 102 of the method 100 in order to determine the plurality of search results. For example, using the purchase history illustrated in
Referring now to
For example, the web search server 210 may determine that the purchase item 402a is relevant (due to the description “Printer Model #AX12560” being related to software drivers), the purchase item 402f is relevant (due to the description “Video Card Model #987DS” being related to software drivers), the purchase item 402j is relevant (due to the description “Golf—San Antonio, Tex.” being related to driver golf clubs), the purchase item 402k is relevant (due to the description “Taxi—Austin, Tex.” being related to taxi drivers), and the purchase item 402n is relevant (due to the description “Auto shop—car repair” being related to hired drivers). The web search server 210 may then use the web index in the web index database 212 to determine the search results 506a, 506b, 506c, 506d, and 506e that are each associated with a web page that was indexed by the web index and that each include a link to an associated web page. The web server 210 then provides those search results 506a, 506b, 506c, 506d, and 506e on the search results page 500 for display on the search device 202, as illustrated in
In another example, the at least one search term may include “return”, and the web search server 210 may access the payment history 402 and determine that the purchase item 402a is relevant (due to the description “Printer Model #AX12560”), the purchase item 402c is relevant (due to the description “Airline tickets—New York City”), the purchase item 402d is relevant (due to the description “Computer game—MMORPG”), and the purchase item 402e is relevant (due to the description “Book store—Thriller Novel”). The web search server 210 may then determine search results that include links to web pages that include the return policies for the merchants from whom these purchase items were purchased. While a few examples of search results have been described, one of skill in the art will recognize that the purchase history of a user may be used in combination with search terms in a variety of other ways than those described to produce search results that are relevant to purchases of the user without departing from the scope of the present disclosure.
In an embodiment, the search results that are provided for display (e.g., as illustrated in
In another embodiment, additional user-specific information may be used along with the at least one search term and the purchase history in order to determine the plurality of search results. For example, the user may provide the web search server 210 access to a user calendar that may be stored locally on the search device 202, remotely on a database that is accessible over the network 204, and/or in a variety of other locations known in the art. In response to receiving the at least one search term at block 102 of the method 100, the web search server 210 may access the user calendar as well as the purchase history 402 of the user at block 104 of the method 100. The web search server 210 may then use calendar items in the user calendar along with purchase items in the purchase history and the at least one search term in order to determine the plurality of search results at block 108 of the method 100. For example, using the at least one search term “drivers” (illustrated in
In another embodiment, the use of user-specific information such as a calendar may include the web search server 210 accessing a user calendar that indicates that the user went on vacation during a particular time period in the past year (or multiple years). The web search server 210 may then access the purchase history of the user to determine how much the user spent during that vacation on a hotel, plane tickets, entertainment, and/or a variety of other vacation related payments known in the art. Then, for example, in response to at least one search term that includes “vacation”, the web search server may then search the web index in the web index database 212 to determine a plurality of search results for vacations that include similar destinations to those that were included in the user calendar and/or the purchase history, along with hotel deals, plane tickets, entertainment, and/or other vacation purchases that are in the same or similar price ranges as those purchased by the user in prior vacations.
While a specific example of a vacation has been described, one of skill in the art will recognize how other elements of a user calendar and/or other user-specific information may be used to provide context for a search without departing from the scope of the present disclosure. For example, if the user is using a mobile user device that includes a location determination component (e.g., a Global Positioning System (GPS), a cell tower triangulation system, and/or a variety of other location determination systems known in the art), the current location of the user may be retrieved and used with the purchase history to further refine the search. For example, a search for “restaurants” may reference the current location of the user along with restaurant payment items in the purchase history and return restaurants that are in the current location of the user and that are the same or similar (e.g., “Mexican restaurants”) to restaurant payment items in the purchase history.
Thus, a system and method for providing a purchase history context search has been described that includes a user providing a web search provider access to the purchase history of the user. In some embodiments, the user may provide the web search provider with access to other user-specific information (e.g., a calendar). The web search provider may then access the purchase history and/or other user specific information in response to receiving at least one search term in order to provide context for the search. Such context allows the web search provider to provide for display a plurality of search results that are relevant to purchases or other user-specific events without the need for the user to do anything other than provide access to that information.
Referring now to
Referring now to
Referring now to
Referring now to
The search devices 902, web search devices 904, payment service provider device 906, and account provider devices 908 may each include one or more processors, memories, and other appropriate components for executing instructions such as program code and/or data stored on one or more computer readable mediums to implement the various applications, data, and steps described herein. For example, such instructions may be stored in one or more computer readable mediums such as memories or data storage devices internal and/or external to various components of the system 900, and/or accessible over the network 910.
The network 910 may be implemented as a single network or a combination of multiple networks. For example, in various embodiments, the network 910 may include the Internet and/or one or more intranets, landline networks, wireless networks, and/or other appropriate types of networks.
The search devices 902 may be implemented using any appropriate combination of hardware and/or software configured for wired and/or wireless communication over network 910. For example, in one embodiment, the search devices 902 may be implemented as a personal computer of a user in communication with the Internet. In other embodiments, the search devices 902 may be a smart phone, personal digital assistant (PDA), laptop computer, and/or other types of computing devices.
The search devices 902 may include one or more browser applications which may be used, for example, to provide a convenient interface to permit the user to browse information available over the network 910. For example, in one embodiment, the browser application may be implemented as a web browser configured to view information available over the Internet.
The search devices 902 may also include one or more toolbar applications which may be used, for example, to provide user-side processing for performing desired tasks in response to operations selected by the user. In one embodiment, the toolbar application may display a user interface in connection with the browser application.
The search devices 902 may further include other applications as may be desired in particular embodiments to provide desired features to the search devices 902. In particular, the other applications may include a payment application for payments assisted by a payment service provider through the payment service provider device 906. The other applications may also include security applications for implementing user-side security features, programmatic user applications for interfacing with appropriate application programming interfaces (APIs) over the network 910, or other types of applications. Email and/or text applications may also be included, which allow the user to send and receive emails and/or text messages through the network 910. The search devices 902 include one or more user and/or device identifiers which may be implemented, for example, as operating system registry entries, cookies associated with the browser application, identifiers associated with hardware of the search device 902, or other appropriate identifiers, such as a phone number. In one embodiment, the user identifier may be used by the payment service provider device 906 and/or account provider device 908 to associate the user with a particular account as further described herein.
Referring now to
In accordance with various embodiments of the present disclosure, computer system 1000, such as a computer and/or a network server, includes a bus 1002 or other communication mechanism for communicating information, which interconnects subsystems and components, such as a processing component 1004 (e.g., processor, micro-controller, digital signal processor (DSP), etc.), a system memory component 1006 (e.g., RAM), a static storage component 1008 (e.g., ROM), a disk drive component 1010 (e.g., magnetic or optical), a network interface component 1012 (e.g., modem or Ethernet card), a display component 1014 (e.g., CRT or LCD), an input component 1018 (e.g., keyboard, keypad, or virtual keyboard), a cursor control component 1020 (e.g., mouse, pointer, or trackball), and/or a location determination component 1022 (e.g., a Global Positioning System (GPS) device, a cell tower triangulation device, and/or a variety of other location determination devices known in the art.) In one implementation, the disk drive component 1010 may comprise a database having one or more disk drive components.
In accordance with embodiments of the present disclosure, the computer system 1000 performs specific operations by the processor 1004 executing one or more sequences of instructions contained in the memory component 1006, such as described herein with respect to the search devices 202 and 902, the web search servers/devices 210 and 904, the payment service provider device 906, and/or the account provider device(s) 908. Such instructions may be read into the system memory component 1006 from another computer readable medium, such as the static storage component 1008 or the disk drive component 1010. In other embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the present disclosure.
Logic may be encoded in a computer readable medium, which may refer to any medium that participates in providing instructions to the processor 1004 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. In one embodiment, the computer readable medium is non-transitory. In various implementations, non-volatile media includes optical or magnetic disks, such as the disk drive component 1010, volatile media includes dynamic memory, such as the system memory component 1006, and transmission media includes coaxial cables, copper wire, and fiber optics, including wires that comprise the bus 1002. In one example, transmission media may take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
Some common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier wave, or any other medium from which a computer is adapted to read. In one embodiment, the computer readable media is non-transitory.
In various embodiments of the present disclosure, execution of instruction sequences to practice the present disclosure may be performed by the computer system 1000. In various other embodiments of the present disclosure, a plurality of the computer systems 1000 coupled by a communication link 1024 to the network 910 (e.g., such as a LAN, WLAN, PTSN, and/or various other wired or wireless networks, including telecommunications, mobile, and cellular phone networks) may perform instruction sequences to practice the present disclosure in coordination with one another.
The computer system 1000 may transmit and receive messages, data, information and instructions, including one or more programs (i.e., application code) through the communication link 1024 and the network interface component 1012. The network interface component 1012 may include an antenna, either separate or integrated, to enable transmission and reception via the communication link 1024. Received program code may be executed by processor 1004 as received and/or stored in disk drive component 1010 or some other non-volatile storage component for execution.
Referring now to
Where applicable, various embodiments provided by the present disclosure may be implemented using hardware, software, or combinations of hardware and software. Also, where applicable, the various hardware components and/or software components set forth herein may be combined into composite components comprising software, hardware, and/or both without departing from the scope of the present disclosure. Where applicable, the various hardware components and/or software components set forth herein may be separated into sub-components comprising software, hardware, or both without departing from the scope of the present disclosure. In addition, where applicable, it is contemplated that software components may be implemented as hardware components and vice-versa.
Software, in accordance with the present disclosure, such as program code and/or data, may be stored on one or more computer readable mediums. It is also contemplated that software identified herein may be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein may be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.
The foregoing disclosure is not intended to limit the present disclosure to the precise forms or particular fields of use disclosed. As such, it is contemplated that various alternate embodiments and/or modifications to the present disclosure, whether explicitly described or implied herein, are possible in light of the disclosure. For example, the above embodiments have focused on payment histories; however, a user may include histories with other entities that do not technically include payments, such as gifts or donations to charities and individuals. Thus items in a payment history do not have to involve a purchase, but may be a loan, a charitable contribution, a gift, etc. Thus, purchase items as used herein can also include gifts to charities, individuals, and any other entity or person receiving funds from a user. Having thus described embodiments of the present disclosure, persons of ordinary skill in the art will recognize that changes may be made in form and detail without departing from the scope of the present disclosure. Thus, the present disclosure is limited only by the claims.
Claims
1. A user-specific context search result system, comprising:
- an input device;
- a display device;
- a non-transitory memory system storing a calendar of a user; and
- one or more hardware processors coupled to the input device, the display device, and the non-transitory memory system, wherein the one or more hardware processors are configured to read instructions from the non-transitory memory system to perform the steps of: receiving, through the input device, at least one search term from the user; accessing, from at least one calendar database, the calendar of the user; accessing, on at least one storage device, a search index; determining, using the at least one search term and information included in the calendar of the user, a plurality of search results that are each associated with a respective network destination that is indexed by the search index and that each include a respective link to the respective network destination; and providing, on the display device, the plurality of search results for display.
2. The system of claim 1, wherein the one or more hardware processors are configured to read instructions from the memory system to perform the steps of:
- accessing the at least one calendar database through a network.
3. The system of claim 1, wherein at least one of the plurality of search results is determined using a calendar item that is included in the calendar of the user and that is associated with a future date.
4. The system of claim 3, wherein the at least one of the plurality of search results that is determined using the calendar item includes a merchant that is associated with a location that is included in the calendar item.
5. The system of claim 1, wherein at least one of the plurality of search results is determined using a plurality of calendar items that are included in the calendar of the user and that are each associated with a common location.
6. The system of claim 5, wherein the plurality of calendar items are each associated with the common location during different time periods in the calendar of the user.
7. A method for providing user-specific context search results, comprising:
- receiving, by a search device through an input device, a search query from a user;
- accessing, by the search device from at least one schedule database, a schedule of the user;
- accessing, by the search device on at least one search provider system, a search provider database;
- determining, by the search device using the search query and information included in the schedule of the user, a plurality of search results that are each associated with a respective network location that is stored in the search provider database and that each include a respective pointer to that respective network location; and
- providing, by the search device on a display device, the plurality of search results for display.
8. The method of claim 7, wherein the search device accesses the at least one schedule database locally on a storage device that is included in the search device.
9. The method of claim 7, wherein the search device accesses the at least one schedule database through a network.
10. The method of claim 7, wherein at least one of the plurality of search results is determined using a schedule item that is included in the schedule of the user and that is associated with a future date.
11. The method of claim 10, wherein the at least one of the plurality of search results that is determined using the schedule item includes a merchant that is associated with a location that is included in the schedule item.
12. The method of claim 7, wherein at least one of the plurality of search results is determined using a plurality of schedule items that are included in the schedule of the user and that are each associated with a common location.
13. The method of claim 12, wherein the plurality of schedule items are each associated with the common location during different time periods in the schedule of the user.
14. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions which, when executed by one or more processors, are adapted to cause the one or more processors to perform a method comprising:
- receiving, through an input device, search instructions from a user;
- accessing, from at least one planning database, a plurality of dated plans of the user;
- accessing, on at least one storage system, a search database;
- determining, using the search instructions and information included in the plurality of dated plans of the user, a plurality of search results that are each associated with a respective network address that is included in the search database and that each include a respective selectable display element that directs to that respective network address; and
- providing, on a display device, the plurality of search results for display.
15. The non-transitory machine-readable medium of claim 14, wherein the method further comprises:
- accessing the at least one planning database locally on a storage device.
16. The non-transitory machine-readable medium of claim 14, wherein the wherein the method further comprises:
- accessing the at least one planning database through a network.
17. The non-transitory machine-readable medium of claim 14, wherein at least one of the plurality of search results is determined using at least one of the plurality of dated plans that is associated with a future date.
18. The non-transitory machine-readable medium of claim 17, wherein the at least one of the plurality of search results that is determined using the at least one of the plurality of dated plans includes a merchant that is associated with a location that is included in the at least one of the plurality of dated plans.
19. The non-transitory machine-readable medium of claim 14, wherein at least one of the plurality of search results is determined using two or more of the plurality of dated plans that are each associated with a common location.
20. The non-transitory machine-readable medium of claim 19, wherein the two or more of the plurality of dated plans are each associated with the common location during different time periods.
Type: Application
Filed: Jul 10, 2015
Publication Date: Oct 29, 2015
Inventor: Frank Anthony Nuzzi (Pflugerville, TX)
Application Number: 14/796,676