Nothing Special   »   [go: up one dir, main page]

US8364661B2 - System and method for providing a response to a search query - Google Patents

System and method for providing a response to a search query Download PDF

Info

Publication number
US8364661B2
US8364661B2 US13/169,783 US201113169783A US8364661B2 US 8364661 B2 US8364661 B2 US 8364661B2 US 201113169783 A US201113169783 A US 201113169783A US 8364661 B2 US8364661 B2 US 8364661B2
Authority
US
United States
Prior art keywords
search
vendor
master file
customer master
item entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US13/169,783
Other versions
US20110252017A1 (en
Inventor
Geoffry A. Westphal
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WW Grainger Inc
Original Assignee
WW Grainger Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WW Grainger Inc filed Critical WW Grainger Inc
Priority to US13/169,783 priority Critical patent/US8364661B2/en
Assigned to W.W. GRAINGER, INC. reassignment W.W. GRAINGER, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WESTPHAL, GEOFFRY A.
Publication of US20110252017A1 publication Critical patent/US20110252017A1/en
Application granted granted Critical
Publication of US8364661B2 publication Critical patent/US8364661B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Definitions

  • the following relates generally to e-commerce and, more particularly, relates to a system and method for providing a response to a search query.
  • null search results may lead to the loss of current and/or future sales by an online vendor.
  • U.S. Pat. No. 6,785,671 describes a system that assists users in locating Web sites or Web pages from which a user-specified item may be purchased.
  • the system utilizes a Web crawler program to retrieve Web pages which are evaluated, according to a set of content-based rules, to generate a score that indicates a likelihood that the Web page includes an offering for the user-specified item.
  • the user may then be presented with a search result from which the user can navigate to those Web page(s) of vendor(s) that have been determined to likely include an offering for the user-specified item.
  • redirecting sales to other vendors is also generally undesirable as it again may lead to the loss of current and/or future sales by an online vendor, e.g., the user may, in the future, proceed directly to the other vendor when desiring to purchase an item.
  • the described system receives a request to search an electronic catalog of a vendor which specifies a query term.
  • the query term is used to search an electronic catalog of a third party.
  • the results obtained by searching the electronic catalog of the third party are parsed to uncover a keyword recognized by a search engine associated with the electronic catalog of the vendor.
  • the uncovered keyword is then used in the search engine associated with the electronic catalog of the vendor to locate one or more items in the electronic catalog of the vendor. Items located in this manner are the search results responsive to the query term.
  • the described system and method provides a mechanism for translating a first search request having what would normally be an unrecognized query term, i.e., one which would normally return a null search result, into a search request having a recognizable query term and, furthermore, may utilize the vast resources of the Internet/world wide web as the effective translating engine.
  • FIG. 1 illustrates an exemplary computer system in which the principles of the described invention may be employed
  • FIG. 2 illustrates a screen shot of an exemplary Web page having a query entry field
  • FIG. 3 illustrates a flow chart diagram of an exemplary method for providing product alternative(s) in response to a search query
  • FIG. 4 illustrates an exemplary null search results page
  • FIG. 5 illustrates screen shots of an exemplary spidering program
  • FIG. 6 illustrates an exemplary, parsed search result page retrieved using a spidering program
  • FIG. 7 illustrates exemplary data maintained within an electronic database of a vendor
  • FIGS. 8 and 9 illustrate exemplary keyword indices
  • FIGS. 10 and 15 illustrate a screen shot of a search result page retrieved from a third party Web site using a spidering program
  • FIG. 11 illustrates a flow chart of an exemplary method for identifying product alternatives using a batch process
  • FIG. 12 illustrates a flow chart of an exemplary method for providing product alternatives considering a product parametric
  • FIGS. 13 , 14 , and 16 illustrate exemplary alternative search results pages including products from the catalog of the vendor.
  • FIG. 1 an exemplary system and method for providing a response to a search query is described.
  • a processing device 20 illustrated in the exemplary form of a computer system, is provided with executable instructions to, for example, provide a means for a user to access a vendor server 68 and thereby perform a search for items.
  • the computer executable instructions reside in program modules which may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • processing device 20 may be embodied in any device having the ability to execute instructions such as, by way of example, a personal computer, mainframe computer, personal-digital assistant (“PDA”), cellular telephone, or the like.
  • PDA personal-digital assistant
  • the various tasks described hereinafter may be practiced in a distributed environment having multiple processing devices linked via a local or wide-area network whereby the executable instructions may be associated with and/or executed by one or more of multiple processing devices.
  • the processing device 20 preferably includes a processing unit 22 and a system memory 24 which may be linked via a bus 26 .
  • the bus 26 may be a memory bus, a peripheral bus, and/or a local bus using any of a variety of bus architectures.
  • the bus 26 may include an architecture having a North Bridge and a South Bridge where the North Bridge acts as the connection point for the processing unit 22 , memory 24 , and the South Bridge.
  • the North Bridge functions to route traffic from these interfaces, and arbitrates and controls access to the memory subsystem from the processing unit 22 and I/O devices.
  • the South Bridge in its simplest form, integrates various I/O controllers, provides interfaces to peripheral devices and buses, and transfers data to/from the North bridge through either a PCI bus connection in older designs, or a proprietary interconnect in newer chipsets.
  • the system memory 24 may include read only memory (ROM) 28 and/or random access memory (RAM) 30 . Additional memory devices may also be made accessible to the processing device 20 by means of, for example, a hard disk drive interface 32 , a magnetic disk drive interface 34 , and/or an optical disk drive interface 36 . As will be understood, these devices, which would be linked to the system bus 26 , respectively allow for reading from and writing to a hard disk 38 , reading from or writing to a removable magnetic disk 40 , and for reading from or writing to a removable optical disk 42 , such as a CD/DVD ROM or other optical media.
  • ROM read only memory
  • RAM random access memory
  • the drive interfaces and their associated computer-readable media allow for the nonvolatile storage of computer readable instructions, data structures, program modules and other data for the processing device 20 .
  • Those skilled in the art will further appreciate that other types of computer readable media that can store data may be used for this same purpose. Examples of such media devices include, but are not limited to, magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, random access memories, nano-drives, memory sticks, and other read/write and/or read-only memories.
  • a number of program modules may be stored in one or more of the memory/media devices.
  • a basic input/output system (BIOS) 44 containing the basic routines that help to transfer information between elements within the processing device 20 , such as during start-up, may be stored in ROM 28 .
  • the RAM 30 , hard drive 38 , and/or peripheral memory devices may be used to store computer executable instructions comprising an operating system 46 , one or more applications programs 48 (such as a Web browser), other program modules 50 , and/or program data 52 .
  • computer-executable instructions may be downloaded to one or more of the computing devices as needed, for example, via a network connection.
  • An end-user may enter commands and information into the processing device 20 through input devices such as a keyboard 54 and/or a pointing device 56 . While not illustrated, other input devices may include a microphone, a joystick, a game pad, a scanner, etc. These and other input devices would typically be connected to the processing unit 22 by means of an interface 58 which, in turn, would be coupled to the bus 26 . Input devices may be connected to the processor 22 using interfaces such as, for example, a parallel port, game port, firewire, or a universal serial bus (USB). To view information from the processing device 20 , a monitor 60 or other type of display device may also be connected to the bus 26 via an interface, such as a video adapter 62 . In addition to the monitor 60 , the processing device 20 may also include other peripheral output devices, not shown, such as speakers and printers.
  • input devices such as a keyboard 54 and/or a pointing device 56 . While not illustrated, other input devices may include a microphone, a joystick, a game pad
  • the processing device 20 may also utilize logical connections to one or more remote processing devices, such as a Web servers 64 , 68 having associated data repositories.
  • remote processing devices 64 , 68 have been illustrated in the exemplary form of a computer, it will be appreciated that the remote processing devices 64 , 68 may be any type of device having processing capabilities.
  • the remote processing devices 64 , 68 need not be implemented as a single device but may be implemented in a manner such that the tasks performed by the remote processing devices 64 , 68 are distributed to a plurality of processing devices linked through a communication network
  • the remote processing devices 64 , 68 may include many or all of the elements described above relative to the processing device 20 .
  • the remote processing device 68 may include the executable instructions for handling search requests and providing search results with the processing device 20 being a thin client or a simple input/output device.
  • Communications between the processing device 20 and the remote processing device 64 may be exchanged via a further processing device, such a network router 72 , that is responsible for network routing. Communications with the network router 72 may be performed via a network interface component 73 .
  • program modules depicted relative to the processing device 20 may be stored in the memory storage device(s) of the remote processing device 64 .
  • a user For providing a product alternative in response to a search query, a user first uses an input device to provide a search query term to the system.
  • a user may access the Web site of a vendor by establishing communications with the vendor server 68 via the network.
  • the user may then be presented with (or navigate to) a search entry Web page 200 , an example of which is illustrated in FIG. 2 .
  • the search entry Web page 200 provides a graphical user interface element 202 by which a user can use an input device to enter a freeform query term, e.g., a product name, product descriptor, product manufacturer, product stock keeping unit (“SKU”) number, etc.
  • a freeform query term e.g., a product name, product descriptor, product manufacturer, product stock keeping unit (“SKU”) number, etc.
  • a search engine associated with the vendor Web site 68 may, as illustrated in FIG. 3 , perform a query 302 to determine if the electronic product catalog of the vendor, e.g., product related data stored in database 68 A, includes any entries that might satisfy the query requested by the user. In the event that the search performed by the search engine does uncover one or more entries in the electronic product catalog of the vendor which satisfy the freeform query requested by the user, the results of the search my be presented to the user in keeping with conventional practice 304 .
  • search engine does not uncover one or more entries in the electronic product catalog of the vendor which satisfy the freeform query requested by the user, rather than immediately present to the user a “null search” page, an example of which is illustrated in FIG. 4 , further processing may be performed, in the various manners described below, to generally provide the searching user with one or more alternatives to those items the user may have been searching for.
  • the further search may include the searching 306 of a third party database 64 A associated with a third party server 64 using a network searching tool, such as a conventional Internet spidering program, an example of which is illustrated in FIG. 5 .
  • a network searching tool such as a conventional Internet spidering program, an example of which is illustrated in FIG. 5 .
  • the searching tool may also be a program which utilizes APIs (application program interfaces) associated with the third party database, etc.
  • the freeform query term(s) entered by the user may be utilized as the argument(s) supplied to the network searching program.
  • the freeform query term “40245” which would normally result in a “null” search as illustrated in FIG.
  • the search tool may be used to search for item(s) within the third party database 64 A which may have some relationship within the third party database 64 A to the user-provided term “40245.”
  • the third party Web site 64 will respond to the search request provided by the search tool by returning relevant search results, if any. It will be further appreciated that, in the event that the third party Web site 64 fails to return any search results, or any search results determined to be relevant, further searches of further third party Web sites may be performed in a similar manner.
  • the search results returned from the third party Web site 64 in the event that the search results are in the form of a mark-up language formatted page, it is preferred, although not required, that the mark-up language formatted page be parsed 308 to thereby strip mark-up language page tags from the returned search results. Thereafter, the remaining text, an example of which is illustrated in FIG. 6 , may be searched 310 to determine if the remaining text includes any information that may be relevant to the initial query entered by the user. This relevancy determination would typically consider the products/items that the vendor normally sells.
  • the text of the search results returned from the third party Web site 64 may be searched for occurrences of keywords.
  • keywords may be keywords that also appear within the electronic product catalog of the vendor (for example FIG. 7 illustrates the long description file of two product “SKUs”—1A004 and 1A005), are index words used to find products in the product catalog of the vendor (for example FIGS. 8 and 9 illustrate a descriptor index and a brand name index, respectively), or the like.
  • the text of the search results returned from the third party Web site 64 may be searched (manually or by means of a computer program) to look for indicators that are typically found as transitions between items when more than one item is included within the returned search results.
  • transition indicators are useful to allow text in the search results to be associated with individual items.
  • Transition indicators may also be recognized in one or more mark-up language tags found within a returned mark-up language document. Keyword(s) found in an item descriptor in the returned search results may then be utilized to provide the user with the ability to find the product(s) they may have been interested in when the search process was commenced.
  • the “Akro-Mils Divider For Bin” includes vendor keywords, i.e., keywords relevant to the product catalog of the vendor, namely, “Akro-Mils” and “bin.” Using these keywords, the product catalog of the vendor may then be re-queried to provide product alternatives (or the actual product the user was looking for but using an original keyword that was unrecognized by the vendor system).
  • vendor keywords i.e., keywords relevant to the product catalog of the vendor, namely, “Akro-Mils” and “bin.”
  • the product catalog of the vendor may then be re-queried to provide product alternatives (or the actual product the user was looking for but using an original keyword that was unrecognized by the vendor system).
  • FIG. 13 illustrates a page which presents to the user “Akro-Mils” products in the catalog of the vendor which products were uncovered through a search of the vendor catalog using the “Akro-Mils” keyword found in the Internet search results as a new search query term provided to the search engine.
  • FIG. 14 illustrates a page which presents to the user “bin” products in the catalog of the vendor which were products were uncovered through a search of the vendor catalog using the “bin” keyword found in the Internet search results as a new query term provided to the search engine.
  • the user may be prompted to further direct the user towards the search results that the user might consider to be most meaningful. For example, the user may be prompted with the following in keeping with the above-example, “Did you mean to search for Akro-Mils?” and/or “Did you mean to search for bins?” This further guidance may be utilized in-lieu of presenting the user with the search results obtained using all recognized keywords.
  • the subject system in response to a user originally entering a search query “48-11-2230,” which keyword in this example is not recognized by the vendor search system and which would normally result in a “null search” result, the subject system would search the third party Web site using the query term “48-11-2230,” retrieve the search results (an example of which is illustrated in FIG. 15 ), examine the search results for recognized keywords and item transition points (in this example both “Milwaukee” and the parametric or units of measure “UOM” of “18 volt” would be recognized keywords), use the recognized keywords to re-query the vendor catalog, and return search results such as illustrated in FIG. 16 .
  • a representative of the vendor may examine the results obtained by using this process to provide, for example, a relevancy weight to the obtained results.
  • a relevancy weight to the obtained results.
  • items from the vendor catalog may be presented to the user in an ordered fashion, e.g., with those deemed most likely to be what the user was searching for presented at a top of an ordered list, high-lighted, etc.
  • the ranking of the ultimate search results may also be performed by providing weights to the keywords uncovered in the Internet search results.
  • search results obtained using an SKU as a re-query term may be given a first ranking level
  • search results obtained using a brand name keyword as a re-query term may be given a second ranking level
  • search results obtained using a product parametric descriptor as a re-query term may be given a third ranking level.
  • UOMs are specified in the original query entered by the user (which UOM may be utilized as part of the Internet searching process or stripped prior to the Internet searching process) or when UOMs are found in the results returned from an Internet search, the UOM may be also be utilized to rank the relevancy of search results as illustrated in FIG. 12 .
  • the user specified “18 Volts” in the original query with “48-11-2230,” the one product sold by the vendor meeting all of the keywords found in the Internet search result item which also meets the specified “18 Volts” is provided to the user, as illustrated in FIG. 16 .
  • the vendor items having a UOM close to 15 Volts may be presented to the user as search results as alternatives, e.g., the 18 Volt product illustrated in FIG. 16 .
  • the vendor Web site 68 may maintain a list of all keywords entered over a given period of time that resulted in a null search and then perform the search of the Internet in a batch process to identify product alternatives in keeping with the above-described process. In this manner, as illustrated in FIG. 11 , a look-up table may then be created and maintained such that, when that keyword is entered into the search engine in the future, rather than provide a null search result, a positive search result is provided.
  • the query term “40245” could be used as a term in the batch Internet searching process where the recognized keywords “Akro-Mils” and “bin” would be uncovered for the query term “40245” and mapped to the query term “40245.” Then, when the query term “40245” is entered in the future by a user, the system may prompt the user with “Did you mean to search for Akro-Mils?” and/or “Did you mean to search for bins?” since the recognized query terms “Akro-Mils” and “bins” (or results of already performing this query) have been mapped to the previously unrecognized query term “40245.” Thus, the query of the third party site may be performed to reduce future “null” searches rather than in near real-time as described previously.
  • the input into the system may be, for example, a customer master file, i.e., a file which details products a customer is interested in purchasing which may include product SKUs, parametric values, and other product descriptors.
  • the customer master file may be treated as if it were the returned Internet search results, namely, it may be parsed to look for keywords and item transitions with the keywords then being used to search the vendor catalog for products.
  • the customer master file may be parsed and the data terms within the customer master file may be utilized as the initial search terms, i.e., where terms are unrecognized, an attempt may be made to translate those terms using the network (to access a remote data repository) to find recognizable keyword equivalents to those terms for use in the searching process.
  • the initial search request may originate via a phone call, email, etc. issued to an IVR (interactive voice response) system, a sales representative, automated email parser, etc.
  • the initial search request could also originate using any input device such as a scanner.
  • possible results could be communicated back to the user orally, by email, etc. Accordingly, the particular arrangement disclosed is meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A system receives a request to search an electronic catalog of a vendor which specifies a query term. The query term is used to search an electronic catalog of a third party. The results obtained by searching the electronic catalog of the third party are parsed to uncover a keyword recognized by a search engine associated with the electronic catalog of the vendor. The uncovered keyword is then used in the search engine associated with the electronic catalog of the vendor to locate one or more items in the electronic catalog of the vendor. Items located in this manner are the search results responsive to the query term.

Description

RELATED APPLICATION
This application is a continuation of and claims the benefit of U.S. application Ser. No. 12/346,118, filed Dec. 30, 2008, which application claims the benefit of and is a continuation of U.S. application Ser. No. 11/126,761, filed May 11, 2005, which applications are incorporated herein by reference in their entirety.
BACKGROUND
The following relates generally to e-commerce and, more particularly, relates to a system and method for providing a response to a search query.
Systems and methods for searching electronic product catalogs for the purpose of facilitating e-commerce are well known in the art. In this regard, many online merchants commonly provide search engines for assisting customers in locating items from an online catalog. For example, as described in the background section of U.S. Pat. No. 6,144,958, to perform a search using a search engine, a user submits a query containing one or more search terms. The query may also explicitly or implicitly identify a record field to be searched, such as a title, author, subject classification, model number, etc. of the item. A query server program of the search engine then processes the query to identify any items that match the query. The set of items identified by the query server program is referred to as the “query result,” and is commonly presented to the user as a list of the located items.
When the user of a search engine, however, enters a search term in an attempt to locate an item that is not within an electronic catalog, many search engines will simply return a null (empty) search result. The user frustration that arises from the presenting of null search results is a significant problem for online vendors. For example, null search results may lead to the loss of current and/or future sales by an online vendor.
In circumstances where an online vendor does not offer for sale an item a user is looking for, it is also known in the art to assist users in locating other vendors for the item of interest. For example, U.S. Pat. No. 6,785,671 describes a system that assists users in locating Web sites or Web pages from which a user-specified item may be purchased. To this end, the system utilizes a Web crawler program to retrieve Web pages which are evaluated, according to a set of content-based rules, to generate a score that indicates a likelihood that the Web page includes an offering for the user-specified item. The user may then be presented with a search result from which the user can navigate to those Web page(s) of vendor(s) that have been determined to likely include an offering for the user-specified item. It will be appreciated that redirecting sales to other vendors is also generally undesirable as it again may lead to the loss of current and/or future sales by an online vendor, e.g., the user may, in the future, proceed directly to the other vendor when desiring to purchase an item.
SUMMARY
To address these and other problems associated with known methods for facilitating the online sales of items, disclosed hereinafter is a system and method that responds to a search for an item in which the search request specifies a query term that would normally result in a null search. More particularly, the described system receives a request to search an electronic catalog of a vendor which specifies a query term. The query term is used to search an electronic catalog of a third party. The results obtained by searching the electronic catalog of the third party are parsed to uncover a keyword recognized by a search engine associated with the electronic catalog of the vendor. The uncovered keyword is then used in the search engine associated with the electronic catalog of the vendor to locate one or more items in the electronic catalog of the vendor. Items located in this manner are the search results responsive to the query term. Thus, the described system and method provides a mechanism for translating a first search request having what would normally be an unrecognized query term, i.e., one which would normally return a null search result, into a search request having a recognizable query term and, furthermore, may utilize the vast resources of the Internet/world wide web as the effective translating engine.
A better understanding of the objects, advantages, features, properties and relationships of the system and method described hereinafter will be obtained from the following detailed description and accompanying drawings which set forth illustrative embodiments which are indicative of the various ways in which the principles of the invention may be employed.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the described system and method for providing a response to a search query, reference may be had to preferred embodiments shown in the following drawings in which:
FIG. 1 illustrates an exemplary computer system in which the principles of the described invention may be employed;
FIG. 2 illustrates a screen shot of an exemplary Web page having a query entry field;
FIG. 3 illustrates a flow chart diagram of an exemplary method for providing product alternative(s) in response to a search query;
FIG. 4 illustrates an exemplary null search results page;
FIG. 5 illustrates screen shots of an exemplary spidering program;
FIG. 6 illustrates an exemplary, parsed search result page retrieved using a spidering program;
FIG. 7 illustrates exemplary data maintained within an electronic database of a vendor;
FIGS. 8 and 9 illustrate exemplary keyword indices;
FIGS. 10 and 15 illustrate a screen shot of a search result page retrieved from a third party Web site using a spidering program;
FIG. 11 illustrates a flow chart of an exemplary method for identifying product alternatives using a batch process;
FIG. 12 illustrates a flow chart of an exemplary method for providing product alternatives considering a product parametric;
FIGS. 13, 14, and 16 illustrate exemplary alternative search results pages including products from the catalog of the vendor.
DETAILED DESCRIPTION
Turning to the drawings, wherein like reference numerals refer to like elements, an exemplary system and method for providing a response to a search query is described. In particular, as illustrated in FIG. 1, the system and method will be described in the context of a plurality of processing devices linked via a network, such as the World Wide Web or the Internet. In this regard, a processing device 20, illustrated in the exemplary form of a computer system, is provided with executable instructions to, for example, provide a means for a user to access a vendor server 68 and thereby perform a search for items. Generally, the computer executable instructions reside in program modules which may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Accordingly, those skilled in the art will appreciate that the processing device 20 may be embodied in any device having the ability to execute instructions such as, by way of example, a personal computer, mainframe computer, personal-digital assistant (“PDA”), cellular telephone, or the like. Furthermore, while described and illustrated in the context of a single processing device 20, those skilled in the art will also appreciate that the various tasks described hereinafter may be practiced in a distributed environment having multiple processing devices linked via a local or wide-area network whereby the executable instructions may be associated with and/or executed by one or more of multiple processing devices.
For performing the various tasks in accordance with the executable instructions, the processing device 20 preferably includes a processing unit 22 and a system memory 24 which may be linked via a bus 26. Without limitation, the bus 26 may be a memory bus, a peripheral bus, and/or a local bus using any of a variety of bus architectures. By way of further example, the bus 26 may include an architecture having a North Bridge and a South Bridge where the North Bridge acts as the connection point for the processing unit 22, memory 24, and the South Bridge. The North Bridge functions to route traffic from these interfaces, and arbitrates and controls access to the memory subsystem from the processing unit 22 and I/O devices. The South Bridge, in its simplest form, integrates various I/O controllers, provides interfaces to peripheral devices and buses, and transfers data to/from the North bridge through either a PCI bus connection in older designs, or a proprietary interconnect in newer chipsets.
As needed for any particular purpose, the system memory 24 may include read only memory (ROM) 28 and/or random access memory (RAM) 30. Additional memory devices may also be made accessible to the processing device 20 by means of, for example, a hard disk drive interface 32, a magnetic disk drive interface 34, and/or an optical disk drive interface 36. As will be understood, these devices, which would be linked to the system bus 26, respectively allow for reading from and writing to a hard disk 38, reading from or writing to a removable magnetic disk 40, and for reading from or writing to a removable optical disk 42, such as a CD/DVD ROM or other optical media. The drive interfaces and their associated computer-readable media allow for the nonvolatile storage of computer readable instructions, data structures, program modules and other data for the processing device 20. Those skilled in the art will further appreciate that other types of computer readable media that can store data may be used for this same purpose. Examples of such media devices include, but are not limited to, magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, random access memories, nano-drives, memory sticks, and other read/write and/or read-only memories.
A number of program modules may be stored in one or more of the memory/media devices. For example, a basic input/output system (BIOS) 44, containing the basic routines that help to transfer information between elements within the processing device 20, such as during start-up, may be stored in ROM 28. Similarly, the RAM 30, hard drive 38, and/or peripheral memory devices may be used to store computer executable instructions comprising an operating system 46, one or more applications programs 48 (such as a Web browser), other program modules 50, and/or program data 52. Still further, computer-executable instructions may be downloaded to one or more of the computing devices as needed, for example, via a network connection.
An end-user may enter commands and information into the processing device 20 through input devices such as a keyboard 54 and/or a pointing device 56. While not illustrated, other input devices may include a microphone, a joystick, a game pad, a scanner, etc. These and other input devices would typically be connected to the processing unit 22 by means of an interface 58 which, in turn, would be coupled to the bus 26. Input devices may be connected to the processor 22 using interfaces such as, for example, a parallel port, game port, firewire, or a universal serial bus (USB). To view information from the processing device 20, a monitor 60 or other type of display device may also be connected to the bus 26 via an interface, such as a video adapter 62. In addition to the monitor 60, the processing device 20 may also include other peripheral output devices, not shown, such as speakers and printers.
The processing device 20 may also utilize logical connections to one or more remote processing devices, such as a Web servers 64, 68 having associated data repositories. In this regard, while the remote processing devices 64, 68 have been illustrated in the exemplary form of a computer, it will be appreciated that the remote processing devices 64, 68 may be any type of device having processing capabilities. Again, it will be appreciated that the remote processing devices 64, 68 need not be implemented as a single device but may be implemented in a manner such that the tasks performed by the remote processing devices 64, 68 are distributed to a plurality of processing devices linked through a communication network
For performing tasks as needed, the remote processing devices 64, 68 may include many or all of the elements described above relative to the processing device 20. By way of further example, the remote processing device 68 may include the executable instructions for handling search requests and providing search results with the processing device 20 being a thin client or a simple input/output device. Communications between the processing device 20 and the remote processing device 64 may be exchanged via a further processing device, such a network router 72, that is responsible for network routing. Communications with the network router 72 may be performed via a network interface component 73. Thus, within such a networked environment, e.g., the Internet, World Wide Web, LAN, or other like type of wired or wireless network, it will be appreciated that program modules depicted relative to the processing device 20, or portions thereof, may be stored in the memory storage device(s) of the remote processing device 64.
For providing a product alternative in response to a search query, a user first uses an input device to provide a search query term to the system. By way of illustration, a user may access the Web site of a vendor by establishing communications with the vendor server 68 via the network. Upon establishing contact with the vendor server 68, the user may then be presented with (or navigate to) a search entry Web page 200, an example of which is illustrated in FIG. 2. More particularly, the search entry Web page 200 provides a graphical user interface element 202 by which a user can use an input device to enter a freeform query term, e.g., a product name, product descriptor, product manufacturer, product stock keeping unit (“SKU”) number, etc.
Once a query term is entered 300, a search engine associated with the vendor Web site 68 may, as illustrated in FIG. 3, perform a query 302 to determine if the electronic product catalog of the vendor, e.g., product related data stored in database 68A, includes any entries that might satisfy the query requested by the user. In the event that the search performed by the search engine does uncover one or more entries in the electronic product catalog of the vendor which satisfy the freeform query requested by the user, the results of the search my be presented to the user in keeping with conventional practice 304. In the event, however, that the search performed by the search engine does not uncover one or more entries in the electronic product catalog of the vendor which satisfy the freeform query requested by the user, rather than immediately present to the user a “null search” page, an example of which is illustrated in FIG. 4, further processing may be performed, in the various manners described below, to generally provide the searching user with one or more alternatives to those items the user may have been searching for.
When the search performed by the search engine does not uncover one or more entries in the electronic product catalog of the vendor which satisfy the freeform query requested by the user, a further search may be initiated over the network for the purpose of trying to identify what item or items the user may have been actually searching for. To this end, the further search may include the searching 306 of a third party database 64A associated with a third party server 64 using a network searching tool, such as a conventional Internet spidering program, an example of which is illustrated in FIG. 5. It will be appreciated that the searching tool may also be a program which utilizes APIs (application program interfaces) associated with the third party database, etc.
To search the third party database 64A in keeping with the illustrated example, the freeform query term(s) entered by the user may be utilized as the argument(s) supplied to the network searching program. By way of example, in the case where the user entered the freeform query term “40245,” which would normally result in a “null” search as illustrated in FIG. 4, the search tool may be used to search for item(s) within the third party database 64A which may have some relationship within the third party database 64A to the user-provided term “40245.” In this illustrated example, the third party Web site 64 might be “froogle.com” and the search tool may perform the search of the database 64A associated with the third party Web site 64 by posting the following to the network: “http://www.google.com/froogle?q=40245”
As will be appreciated, the third party Web site 64 will respond to the search request provided by the search tool by returning relevant search results, if any. It will be further appreciated that, in the event that the third party Web site 64 fails to return any search results, or any search results determined to be relevant, further searches of further third party Web sites may be performed in a similar manner.
Considering now the search results returned from the third party Web site 64, in the event that the search results are in the form of a mark-up language formatted page, it is preferred, although not required, that the mark-up language formatted page be parsed 308 to thereby strip mark-up language page tags from the returned search results. Thereafter, the remaining text, an example of which is illustrated in FIG. 6, may be searched 310 to determine if the remaining text includes any information that may be relevant to the initial query entered by the user. This relevancy determination would typically consider the products/items that the vendor normally sells.
To determine if the search of the third party Web site 64 uncovered any relevant information, the text of the search results returned from the third party Web site 64 may be searched for occurrences of keywords. These keywords may be keywords that also appear within the electronic product catalog of the vendor (for example FIG. 7 illustrates the long description file of two product “SKUs”—1A004 and 1A005), are index words used to find products in the product catalog of the vendor (for example FIGS. 8 and 9 illustrate a descriptor index and a brand name index, respectively), or the like. Furthermore, the text of the search results returned from the third party Web site 64 may be searched (manually or by means of a computer program) to look for indicators that are typically found as transitions between items when more than one item is included within the returned search results. The transition indicators are useful to allow text in the search results to be associated with individual items. For example, as seen in FIG. 6, the text word “price value=” may serve to indicate an end to the data related to one item and the transition to data related to another item (for aide of reference, FIG. 10 illustrates a mark-up language page displayed in a browser which corresponds to the parsed text file of FIG. 6 where it can be seen that the displayed price follows item description data). Transition indicators may also be recognized in one or more mark-up language tags found within a returned mark-up language document. Keyword(s) found in an item descriptor in the returned search results may then be utilized to provide the user with the ability to find the product(s) they may have been interested in when the search process was commenced.
By way of illustration, when the user entered the search term “40245” the search results of FIG. 6 were returned from the third party Web site. Within these returned search results, at least the data associated with the first item, the “Akro-Mils Divider For Bin” (see FIG. 10) includes vendor keywords, i.e., keywords relevant to the product catalog of the vendor, namely, “Akro-Mils” and “bin.” Using these keywords, the product catalog of the vendor may then be re-queried to provide product alternatives (or the actual product the user was looking for but using an original keyword that was unrecognized by the vendor system). By way of example, FIG. 13 illustrates a page which presents to the user “Akro-Mils” products in the catalog of the vendor which products were uncovered through a search of the vendor catalog using the “Akro-Mils” keyword found in the Internet search results as a new search query term provided to the search engine. Similarly, FIG. 14 illustrates a page which presents to the user “bin” products in the catalog of the vendor which were products were uncovered through a search of the vendor catalog using the “bin” keyword found in the Internet search results as a new query term provided to the search engine.
In the case where multiple recognized keywords are found in the Internet search results, the user may be prompted to further direct the user towards the search results that the user might consider to be most meaningful. For example, the user may be prompted with the following in keeping with the above-example, “Did you mean to search for Akro-Mils?” and/or “Did you mean to search for bins?” This further guidance may be utilized in-lieu of presenting the user with the search results obtained using all recognized keywords.
As a further example, in response to a user originally entering a search query “48-11-2230,” which keyword in this example is not recognized by the vendor search system and which would normally result in a “null search” result, the subject system would search the third party Web site using the query term “48-11-2230,” retrieve the search results (an example of which is illustrated in FIG. 15), examine the search results for recognized keywords and item transition points (in this example both “Milwaukee” and the parametric or units of measure “UOM” of “18 volt” would be recognized keywords), use the recognized keywords to re-query the vendor catalog, and return search results such as illustrated in FIG. 16.
In some instances, it may be desired to allow a representative of the vendor to examine the results obtained by using this process to provide, for example, a relevancy weight to the obtained results. Using this relevancy weight, items from the vendor catalog may be presented to the user in an ordered fashion, e.g., with those deemed most likely to be what the user was searching for presented at a top of an ordered list, high-lighted, etc. The ranking of the ultimate search results may also be performed by providing weights to the keywords uncovered in the Internet search results. For example, search results obtained using an SKU as a re-query term may be given a first ranking level, search results obtained using a brand name keyword as a re-query term may be given a second ranking level, and search results obtained using a product parametric descriptor as a re-query term may be given a third ranking level. Still further, when UOMs are specified in the original query entered by the user (which UOM may be utilized as part of the Internet searching process or stripped prior to the Internet searching process) or when UOMs are found in the results returned from an Internet search, the UOM may be also be utilized to rank the relevancy of search results as illustrated in FIG. 12. For example, if the user specified “18 Volts” in the original query with “48-11-2230,” the one product sold by the vendor meeting all of the keywords found in the Internet search result item which also meets the specified “18 Volts” is provided to the user, as illustrated in FIG. 16. Still further, if the user specified, for example, “15 Volts” in the original query with “48-11-2230” or “15 Volts” was returned as an Internet search result item, the vendor items having a UOM close to 15 Volts may be presented to the user as search results as alternatives, e.g., the 18 Volt product illustrated in FIG. 16.
In yet another embodiment, the vendor Web site 68 may maintain a list of all keywords entered over a given period of time that resulted in a null search and then perform the search of the Internet in a batch process to identify product alternatives in keeping with the above-described process. In this manner, as illustrated in FIG. 11, a look-up table may then be created and maintained such that, when that keyword is entered into the search engine in the future, rather than provide a null search result, a positive search result is provided. For example, if “40245” were a search term that originally resulted in a null search, the query term “40245” could be used as a term in the batch Internet searching process where the recognized keywords “Akro-Mils” and “bin” would be uncovered for the query term “40245” and mapped to the query term “40245.” Then, when the query term “40245” is entered in the future by a user, the system may prompt the user with “Did you mean to search for Akro-Mils?” and/or “Did you mean to search for bins?” since the recognized query terms “Akro-Mils” and “bins” (or results of already performing this query) have been mapped to the previously unrecognized query term “40245.” Thus, the query of the third party site may be performed to reduce future “null” searches rather than in near real-time as described previously.
It will be additionally appreciated that the input into the system may be, for example, a customer master file, i.e., a file which details products a customer is interested in purchasing which may include product SKUs, parametric values, and other product descriptors. In one case, the customer master file may be treated as if it were the returned Internet search results, namely, it may be parsed to look for keywords and item transitions with the keywords then being used to search the vendor catalog for products. In another case, the customer master file may be parsed and the data terms within the customer master file may be utilized as the initial search terms, i.e., where terms are unrecognized, an attempt may be made to translate those terms using the network (to access a remote data repository) to find recognizable keyword equivalents to those terms for use in the searching process.
While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. For example, it will be appreciated that the initial search request may originate via a phone call, email, etc. issued to an IVR (interactive voice response) system, a sales representative, automated email parser, etc. The initial search request could also originate using any input device such as a scanner. Still further, possible results could be communicated back to the user orally, by email, etc. Accordingly, the particular arrangement disclosed is meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.
All patents, patent applications, and other references cited within this document are hereby incorporated by reference in their entirety.

Claims (10)

1. A non-transitory, computer readable media having stored thereon computer executable instructions for providing a search result, the instructions performing steps comprising:
parsing an input customer master file comprised of data indicative of plural item entries to discern each item entry, wherein the input customer master file is an Extensible Markup Language (XML) file or a markup language file;
parsing each discerned item entry to uncover one or more keywords within each discerned item entry, the keywords being product stocking keeping units (SKUs), product parametric values, and product descriptors recognized by a search engine associated with a hardware database of a vendor;
providing the uncovered keywords to the search engine associated with the hardware database device of the vendor to thereby locate for each discerned item entry having one or more keywords recognized by the search engine associated with the hardware database of the vendor one or more items in the hardware database device of the vendor; and
causing the one or more items in the hardware database device of the vendor located for each discerned item entry having one or more keywords recognized by the search engine associated with the hardware database of the vendor to be returned as the search result.
2. The non-transitory, computer readable media as recited in claim 1, wherein the instructions use weights associated with keywords to order within the returned search results the one or more items in the hardware database device of the vendor located for each discerned item entry having one or more keywords recognized by the search engine associated with the hardware database of the vendor.
3. The non-transitory, computer readable media as recited in claim 1, wherein the instructions use a catalog index to uncover one or more keywords within each discerned item entry.
4. The non-transitory, computer readable media as recited in claim 2, wherein the instructions use a catalog index to uncover one or more keywords within each discerned item entry.
5. The non-transitory, computer readable media as recited in claim 1, wherein the instructions search the input customer master file for textual transition indicators to discern each item entry within the input customer master file.
6. The non-transitory, computer readable media as recited in claim 2, wherein the instructions search the input customer master file for textual transition indicators to discern each item entry within the input customer master file.
7. The non-transitory, computer readable media as recited in claim 3, wherein the instructions search the input customer master file for textual transition indicators to discern each item entry within the input customer master file.
8. The non-transitory, computer readable media as recited in claim 1, wherein the instructions search the input customer master file for mark-up language tag transition indicators to discern each item entry within the input customer master file.
9. The non-transitory, computer readable media as recited in claim 2, wherein the instructions search the input customer master file for mark-up language tag transition indicators to discern each item entry within the input customer master file.
10. The non-transitory, computer readable media as recited in claim 3, wherein the instructions search the input customer master file for mark-up language tag transition indicators to discern each item entry within the input customer master file.
US13/169,783 2005-05-11 2011-06-27 System and method for providing a response to a search query Active US8364661B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/169,783 US8364661B2 (en) 2005-05-11 2011-06-27 System and method for providing a response to a search query

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/126,761 US7546289B2 (en) 2005-05-11 2005-05-11 System and method for providing a response to a search query
US12/346,118 US8051067B2 (en) 2005-05-11 2008-12-30 System and method for providing a response to a search query
US13/169,783 US8364661B2 (en) 2005-05-11 2011-06-27 System and method for providing a response to a search query

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/346,118 Continuation US8051067B2 (en) 2005-05-11 2008-12-30 System and method for providing a response to a search query

Publications (2)

Publication Number Publication Date
US20110252017A1 US20110252017A1 (en) 2011-10-13
US8364661B2 true US8364661B2 (en) 2013-01-29

Family

ID=37420379

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/126,761 Active 2026-07-13 US7546289B2 (en) 2005-05-11 2005-05-11 System and method for providing a response to a search query
US12/346,118 Active 2026-06-22 US8051067B2 (en) 2005-05-11 2008-12-30 System and method for providing a response to a search query
US13/169,783 Active US8364661B2 (en) 2005-05-11 2011-06-27 System and method for providing a response to a search query

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/126,761 Active 2026-07-13 US7546289B2 (en) 2005-05-11 2005-05-11 System and method for providing a response to a search query
US12/346,118 Active 2026-06-22 US8051067B2 (en) 2005-05-11 2008-12-30 System and method for providing a response to a search query

Country Status (6)

Country Link
US (3) US7546289B2 (en)
EP (1) EP1880323A4 (en)
JP (1) JP2008541265A (en)
CN (1) CN101203850A (en)
CA (1) CA2605991C (en)
WO (1) WO2006124206A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965915B2 (en) 2013-03-17 2015-02-24 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
WO2017075603A1 (en) * 2015-10-29 2017-05-04 Afshari Foad System and method for facilitating a transaction

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321427B2 (en) * 2002-10-31 2012-11-27 Promptu Systems Corporation Method and apparatus for generation and augmentation of search terms from external and internal sources
US8745684B1 (en) 2006-08-08 2014-06-03 CastTV Inc. Facilitating video search
US9398350B1 (en) 2006-08-08 2016-07-19 CastTV Inc. Video matching service to offline counterpart
US20080189257A1 (en) * 2007-02-01 2008-08-07 Microsoft Corporation World-wide classified listing search with translation
US8447760B1 (en) 2009-07-20 2013-05-21 Google Inc. Generating a related set of documents for an initial set of documents
US8577879B1 (en) * 2009-10-29 2013-11-05 Amazon Technologies, Inc. Navigational aids within item search results
US9842162B1 (en) * 2010-02-02 2017-12-12 Amazon Technologies, Inc. Navigating a taxonomy using search queries
US9623119B1 (en) 2010-06-29 2017-04-18 Google Inc. Accentuating search results
US20120095994A1 (en) * 2010-10-18 2012-04-19 Transaxtions Llc Intelligent Search Appliance with Memory and Feedback
US8533054B1 (en) * 2011-03-22 2013-09-10 Amazon Technologies, Inc. Buyer global search
US20120253984A1 (en) * 2011-03-30 2012-10-04 W.W. Grainger, Inc. System and method for highlighting differences in items in a search result listing
US20130097054A1 (en) * 2011-10-12 2013-04-18 Vendmore Systems, Llc Systems and methods for menuless mobile commerce
CN103593343B (en) * 2012-08-13 2019-05-03 北京京东尚科信息技术有限公司 Information retrieval method and device in a kind of e-commerce platform
CN103049525B (en) * 2012-12-20 2016-04-06 北京百度网讯科技有限公司 A kind of for providing the method and apparatus of object-related information
US11301876B2 (en) * 2012-12-31 2022-04-12 W.W. Grainger, Inc. Systems and methods for providing navigation tendencies to users of a website
US9378277B1 (en) * 2013-02-08 2016-06-28 Amazon Technologies, Inc. Search query segmentation
US9098543B2 (en) 2013-03-14 2015-08-04 Wal-Mart Stores, Inc. Attribute detection
US9953652B1 (en) * 2014-04-23 2018-04-24 Amazon Technologies, Inc. Selective generalization of search queries
US10459998B1 (en) * 2018-04-09 2019-10-29 W.W. Grainger, Inc. System and method for providing a user interface with contextual search result filtering capability
CN110347910A (en) * 2019-05-28 2019-10-18 成都美美臣科技有限公司 One e-commerce website search result filtering rule
US12026156B2 (en) * 2020-06-29 2024-07-02 Forescout Technologies, Inc. Information enhanced classification

Citations (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694551A (en) * 1993-05-20 1997-12-02 Moore Business Forms, Inc. Computer integration network for channeling customer orders through a centralized computer to various suppliers
US5802510A (en) 1995-12-29 1998-09-01 At&T Corp Universal directory service
WO1999045487A1 (en) 1998-03-03 1999-09-10 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US5978799A (en) 1997-01-30 1999-11-02 Hirsch; G. Scott Search engine including query database, user profile database, information templates and email facility
JP2000235583A (en) 1999-02-16 2000-08-29 Fujitsu Ltd Device and method for accessing data in distributed retrieval system
US6134548A (en) 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
US6144958A (en) 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
JP2000331032A (en) 1996-10-31 2000-11-30 Fuji Xerox Co Ltd Document processor and method and device for word extraction
US6169986B1 (en) 1998-06-15 2001-01-02 Amazon.Com, Inc. System and method for refining search queries
JP2001043229A (en) 1999-07-28 2001-02-16 Mitsubishi Electric Corp Device and method for data base retrieval guidance
US6226649B1 (en) 1997-06-23 2001-05-01 Oracle Corporation Apparatus and method for transparent access of foreign databases in a heterogeneous database system
US20010021914A1 (en) 1998-09-18 2001-09-13 Jacobi Jennifer A. Personalized recommendations of items represented within a database
US6317740B1 (en) 1998-10-19 2001-11-13 Nec Usa, Inc. Method and apparatus for assigning keywords to media objects
US6324534B1 (en) 1999-09-10 2001-11-27 Requisite Technology, Inc. Sequential subset catalog search engine
JP2001338224A (en) 2000-05-26 2001-12-07 Casio Comput Co Ltd Global component managing method
US20020013781A1 (en) 2000-01-13 2002-01-31 Erik Petersen System and method of searchin and gathering information on-line and off-line
US20020024532A1 (en) 2000-08-25 2002-02-28 Wylci Fables Dynamic personalization method of creating personalized user profiles for searching a database of information
US20020052887A1 (en) * 2000-10-30 2002-05-02 Nec Corporation Method and system for distributing master file
US20020077929A1 (en) 2000-05-05 2002-06-20 Knorr Yolanda Denise Event driven shopping method utilizing electronic e-commerce order pending
US6418441B1 (en) 1998-03-27 2002-07-09 Charles G. Call Methods and apparatus for disseminating product information via the internet using universal product codes
US20020103871A1 (en) 2000-09-11 2002-08-01 Lingomotors, Inc. Method and apparatus for natural language processing of electronic mail
US20020103789A1 (en) 2001-01-26 2002-08-01 Turnbull Donald R. Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US20020107718A1 (en) 2001-02-06 2002-08-08 Morrill Mark N. "Host vendor driven multi-vendor search system for dynamic market preference tracking"
US20020111873A1 (en) 2001-02-10 2002-08-15 International Business Machines Corporation On-line real-time price comparison and adjustment system and method
US6438539B1 (en) 2000-02-25 2002-08-20 Agents-4All.Com, Inc. Method for retrieving data from an information network through linking search criteria to search strategy
US20020120527A1 (en) 2000-07-27 2002-08-29 Benson Lam Method and system for international shopping
JP2002269123A (en) 2001-03-12 2002-09-20 Dainippon Printing Co Ltd System for retrieving electronic catalog
US20020138481A1 (en) 2001-03-23 2002-09-26 International Business Machines Corporation Searching product catalogs
US20020161699A1 (en) * 2001-04-27 2002-10-31 Fujitsu Limited Method of invitation to alteration of contract of cash loan for consumption
US20030041147A1 (en) 2001-08-20 2003-02-27 Van Den Oord Stefan M. System and method for asynchronous client server session communication
US20030066025A1 (en) 2001-07-13 2003-04-03 Garner Harold R. Method and system for information retrieval
US20030074301A1 (en) 1999-11-01 2003-04-17 Neal Solomon System, method, and apparatus for an intelligent search agent to access data in a distributed network
US20030083958A1 (en) 2001-06-08 2003-05-01 Jinshan Song System and method for retrieving information from an electronic catalog
US20030105680A1 (en) 2001-06-08 2003-06-05 W.W. Grainger, Inc. System and method for retrieving information from an electronic catalog
US20030144924A1 (en) 2002-01-29 2003-07-31 Mcgee Todd Smart multi-search method and system
US20030144912A1 (en) 2002-01-29 2003-07-31 Mcgee Todd Multilingual messaging system and method for e-commerce
US20030185379A1 (en) 2002-03-27 2003-10-02 O'connor Neil Managing communications in a call centre
US20030195877A1 (en) 1999-12-08 2003-10-16 Ford James L. Search query processing to provide category-ranked presentation of search results
JP2003296363A (en) 2002-03-29 2003-10-17 Fujitsu Ltd Document retrieval method
US20030200155A1 (en) 2002-04-22 2003-10-23 Ouchi Norman Ken Catalog, catalog query, and item identifier for a physical item
US6643640B1 (en) 1999-03-31 2003-11-04 Verizon Laboratories Inc. Method for performing a data query
US20030212669A1 (en) 2002-05-07 2003-11-13 Aatish Dedhia System and method for context based searching of electronic catalog database, aided with graphical feedback to the user
US6651052B1 (en) 1999-11-05 2003-11-18 W. W. Grainger, Inc. System and method for data storage and retrieval
US6654735B1 (en) 1999-01-08 2003-11-25 International Business Machines Corporation Outbound information analysis for generating user interest profiles and improving user productivity
US20030229546A1 (en) * 2002-06-07 2003-12-11 Fujitsu Limited Point management apparatus, point management system, point management method, and point management program
GB2391647A (en) 2002-08-07 2004-02-11 Sharp Kk Generating a List of Terms and a Thesaurus from Input Terms
US20040030690A1 (en) 2000-12-28 2004-02-12 Teng Albert Y. Method and apparatus to search for information
US20040107125A1 (en) 1999-05-27 2004-06-03 Accenture Llp Business alliance identification in a web architecture
US6751606B1 (en) 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6763351B1 (en) 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
JP2004227140A (en) 2003-01-21 2004-08-12 Toshiba Corp Search linkage program, search system, and search method
US6785671B1 (en) 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US20040199430A1 (en) 2003-03-26 2004-10-07 Victor Hsieh Online intelligent multilingual comparison-shop agents for wireless networks
US20050027611A1 (en) 1999-08-26 2005-02-03 Wharton Brian K. Electronic commerce systems and methods providing multiple-vendor searches
US20050055275A1 (en) * 2003-06-10 2005-03-10 Newman Alan B. System and method for analyzing marketing efforts
US6917941B2 (en) 2001-12-28 2005-07-12 Channel Intelligence, Inc. Method and apparatus for creation and maintenance of database structure
US20050154651A1 (en) 2001-07-06 2005-07-14 Bezos Jeffrey P. Contextual presentation of information about prior transactions during browsing of an electronic catalog
US20050222987A1 (en) 2004-04-02 2005-10-06 Vadon Eric R Automated detection of associations between search criteria and item categories based on collective analysis of user activity data
US6996538B2 (en) 2000-03-07 2006-02-07 Unisone Corporation Inventory control system and methods
US20060036577A1 (en) 2004-08-03 2006-02-16 Knighton Mark S Commercial shape search engine
US20060041562A1 (en) 2004-08-19 2006-02-23 Claria Corporation Method and apparatus for responding to end-user request for information-collecting
US20060053095A1 (en) 2004-09-07 2006-03-09 Koch Donald O Computer-implemented system and method for analyzing search queries
US7080070B1 (en) 1999-07-02 2006-07-18 Amazon Technologies, Inc. System and methods for browsing a database of items and conducting associated transactions
US20060235831A1 (en) * 2005-01-14 2006-10-19 Adinolfi Ronald E Multi-source multi-tenant entitlement enforcing data repository and method of operation
US20060282304A1 (en) 2005-05-02 2006-12-14 Cnet Networks, Inc. System and method for an electronic product advisor
US7152059B2 (en) 2002-08-30 2006-12-19 Emergency24, Inc. System and method for predicting additional search results of a computerized database search user based on an initial search query
US20070124216A1 (en) 2000-03-07 2007-05-31 Michael Lucas Systems and methods for locating and purchasing proximal inventory items
US20080168074A1 (en) * 2005-01-21 2008-07-10 Yuichi Inagaki Data Transfer Device, Data Transfer Method, and Data Transfer Program
US7668885B2 (en) 2002-09-25 2010-02-23 MindAgent, LLC System for timely delivery of personalized aggregations of, including currently-generated, knowledge

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3747542B2 (en) * 1996-12-05 2006-02-22 富士ゼロックス株式会社 Integrated search device
AU2001293052A1 (en) * 2000-09-25 2002-04-08 Benson, Peter R. Method and system for performing electronic commerce

Patent Citations (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694551A (en) * 1993-05-20 1997-12-02 Moore Business Forms, Inc. Computer integration network for channeling customer orders through a centralized computer to various suppliers
US5802510A (en) 1995-12-29 1998-09-01 At&T Corp Universal directory service
JP2000331032A (en) 1996-10-31 2000-11-30 Fuji Xerox Co Ltd Document processor and method and device for word extraction
US5978799A (en) 1997-01-30 1999-11-02 Hirsch; G. Scott Search engine including query database, user profile database, information templates and email facility
US6226649B1 (en) 1997-06-23 2001-05-01 Oracle Corporation Apparatus and method for transparent access of foreign databases in a heterogeneous database system
WO1999045487A1 (en) 1998-03-03 1999-09-10 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6418441B1 (en) 1998-03-27 2002-07-09 Charles G. Call Methods and apparatus for disseminating product information via the internet using universal product codes
US6169986B1 (en) 1998-06-15 2001-01-02 Amazon.Com, Inc. System and method for refining search queries
US20020152204A1 (en) 1998-07-15 2002-10-17 Ortega Ruben Ernesto System and methods for predicting correct spellings of terms in multiple-term search queries
US20050071332A1 (en) 1998-07-15 2005-03-31 Ortega Ruben Ernesto Search query processing to identify related search terms and to correct misspellings of search terms
US6144958A (en) 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US20050071251A1 (en) 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog
US20010021914A1 (en) 1998-09-18 2001-09-13 Jacobi Jennifer A. Personalized recommendations of items represented within a database
US6317740B1 (en) 1998-10-19 2001-11-13 Nec Usa, Inc. Method and apparatus for assigning keywords to media objects
US6134548A (en) 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
US6751606B1 (en) 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
US6654735B1 (en) 1999-01-08 2003-11-25 International Business Machines Corporation Outbound information analysis for generating user interest profiles and improving user productivity
JP2000235583A (en) 1999-02-16 2000-08-29 Fujitsu Ltd Device and method for accessing data in distributed retrieval system
US6643640B1 (en) 1999-03-31 2003-11-04 Verizon Laboratories Inc. Method for performing a data query
US20040107125A1 (en) 1999-05-27 2004-06-03 Accenture Llp Business alliance identification in a web architecture
US7080070B1 (en) 1999-07-02 2006-07-18 Amazon Technologies, Inc. System and methods for browsing a database of items and conducting associated transactions
JP2001043229A (en) 1999-07-28 2001-02-16 Mitsubishi Electric Corp Device and method for data base retrieval guidance
US20050027611A1 (en) 1999-08-26 2005-02-03 Wharton Brian K. Electronic commerce systems and methods providing multiple-vendor searches
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6324534B1 (en) 1999-09-10 2001-11-27 Requisite Technology, Inc. Sequential subset catalog search engine
US20030074301A1 (en) 1999-11-01 2003-04-17 Neal Solomon System, method, and apparatus for an intelligent search agent to access data in a distributed network
US20040093330A1 (en) 1999-11-05 2004-05-13 W.W. Grainger, Inc. System and method for data storage and retrieval
US6928446B2 (en) 1999-11-05 2005-08-09 W. W. Grainger, Inc. System and method for data storage and retrieval
US6651052B1 (en) 1999-11-05 2003-11-18 W. W. Grainger, Inc. System and method for data storage and retrieval
US6785671B1 (en) 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US20030195877A1 (en) 1999-12-08 2003-10-16 Ford James L. Search query processing to provide category-ranked presentation of search results
US20050004889A1 (en) 1999-12-08 2005-01-06 Bailey David R. Search engine system and associated content analysis methods for locating web pages with product offerings
US20020013781A1 (en) 2000-01-13 2002-01-31 Erik Petersen System and method of searchin and gathering information on-line and off-line
US6438539B1 (en) 2000-02-25 2002-08-20 Agents-4All.Com, Inc. Method for retrieving data from an information network through linking search criteria to search strategy
US6996538B2 (en) 2000-03-07 2006-02-07 Unisone Corporation Inventory control system and methods
US20070124216A1 (en) 2000-03-07 2007-05-31 Michael Lucas Systems and methods for locating and purchasing proximal inventory items
US20020077929A1 (en) 2000-05-05 2002-06-20 Knorr Yolanda Denise Event driven shopping method utilizing electronic e-commerce order pending
JP2001338224A (en) 2000-05-26 2001-12-07 Casio Comput Co Ltd Global component managing method
US20020120527A1 (en) 2000-07-27 2002-08-29 Benson Lam Method and system for international shopping
US20020024532A1 (en) 2000-08-25 2002-02-28 Wylci Fables Dynamic personalization method of creating personalized user profiles for searching a database of information
US20020103871A1 (en) 2000-09-11 2002-08-01 Lingomotors, Inc. Method and apparatus for natural language processing of electronic mail
US20020052887A1 (en) * 2000-10-30 2002-05-02 Nec Corporation Method and system for distributing master file
US20040030690A1 (en) 2000-12-28 2004-02-12 Teng Albert Y. Method and apparatus to search for information
US20020103789A1 (en) 2001-01-26 2002-08-01 Turnbull Donald R. Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US20020107718A1 (en) 2001-02-06 2002-08-08 Morrill Mark N. "Host vendor driven multi-vendor search system for dynamic market preference tracking"
US20020111873A1 (en) 2001-02-10 2002-08-15 International Business Machines Corporation On-line real-time price comparison and adjustment system and method
JP2002269123A (en) 2001-03-12 2002-09-20 Dainippon Printing Co Ltd System for retrieving electronic catalog
US6728706B2 (en) 2001-03-23 2004-04-27 International Business Machines Corporation Searching products catalogs
US20020138481A1 (en) 2001-03-23 2002-09-26 International Business Machines Corporation Searching product catalogs
US20020161699A1 (en) * 2001-04-27 2002-10-31 Fujitsu Limited Method of invitation to alteration of contract of cash loan for consumption
US20030083959A1 (en) 2001-06-08 2003-05-01 Jinshan Song System and method for creating a customized electronic catalog
US20030083958A1 (en) 2001-06-08 2003-05-01 Jinshan Song System and method for retrieving information from an electronic catalog
US20030093337A1 (en) 2001-06-08 2003-05-15 Jinshan Song System and method for creating a searchable electronic catalog
US20030105680A1 (en) 2001-06-08 2003-06-05 W.W. Grainger, Inc. System and method for retrieving information from an electronic catalog
US6763351B1 (en) 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
US20050154651A1 (en) 2001-07-06 2005-07-14 Bezos Jeffrey P. Contextual presentation of information about prior transactions during browsing of an electronic catalog
US20030066025A1 (en) 2001-07-13 2003-04-03 Garner Harold R. Method and system for information retrieval
US20030041147A1 (en) 2001-08-20 2003-02-27 Van Den Oord Stefan M. System and method for asynchronous client server session communication
US6917941B2 (en) 2001-12-28 2005-07-12 Channel Intelligence, Inc. Method and apparatus for creation and maintenance of database structure
US20090138371A1 (en) 2002-01-29 2009-05-28 Mcgee Todd Smart multi-search method
US20030144924A1 (en) 2002-01-29 2003-07-31 Mcgee Todd Smart multi-search method and system
US20030144912A1 (en) 2002-01-29 2003-07-31 Mcgee Todd Multilingual messaging system and method for e-commerce
US20030185379A1 (en) 2002-03-27 2003-10-02 O'connor Neil Managing communications in a call centre
JP2003296363A (en) 2002-03-29 2003-10-17 Fujitsu Ltd Document retrieval method
US20030200155A1 (en) 2002-04-22 2003-10-23 Ouchi Norman Ken Catalog, catalog query, and item identifier for a physical item
US20030212669A1 (en) 2002-05-07 2003-11-13 Aatish Dedhia System and method for context based searching of electronic catalog database, aided with graphical feedback to the user
US20030229546A1 (en) * 2002-06-07 2003-12-11 Fujitsu Limited Point management apparatus, point management system, point management method, and point management program
GB2391647A (en) 2002-08-07 2004-02-11 Sharp Kk Generating a List of Terms and a Thesaurus from Input Terms
US7152059B2 (en) 2002-08-30 2006-12-19 Emergency24, Inc. System and method for predicting additional search results of a computerized database search user based on an initial search query
US7668885B2 (en) 2002-09-25 2010-02-23 MindAgent, LLC System for timely delivery of personalized aggregations of, including currently-generated, knowledge
JP2004227140A (en) 2003-01-21 2004-08-12 Toshiba Corp Search linkage program, search system, and search method
US20040199430A1 (en) 2003-03-26 2004-10-07 Victor Hsieh Online intelligent multilingual comparison-shop agents for wireless networks
US20050055275A1 (en) * 2003-06-10 2005-03-10 Newman Alan B. System and method for analyzing marketing efforts
US20050222987A1 (en) 2004-04-02 2005-10-06 Vadon Eric R Automated detection of associations between search criteria and item categories based on collective analysis of user activity data
US20060036577A1 (en) 2004-08-03 2006-02-16 Knighton Mark S Commercial shape search engine
US20060041562A1 (en) 2004-08-19 2006-02-23 Claria Corporation Method and apparatus for responding to end-user request for information-collecting
US20060053095A1 (en) 2004-09-07 2006-03-09 Koch Donald O Computer-implemented system and method for analyzing search queries
US20060235831A1 (en) * 2005-01-14 2006-10-19 Adinolfi Ronald E Multi-source multi-tenant entitlement enforcing data repository and method of operation
US20080168074A1 (en) * 2005-01-21 2008-07-10 Yuichi Inagaki Data Transfer Device, Data Transfer Method, and Data Transfer Program
US20060282304A1 (en) 2005-05-02 2006-12-14 Cnet Networks, Inc. System and method for an electronic product advisor

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Curt Powley et al., "DASHER: A Prototype for Federated E-Commerce Services", IEEE Internet Computing, vol. 1, Issue 6, Nov./Dec. 1997, pp. 62-71.
Filippo Menczer et al., "IntelliShopper: A Proactive, Personal, Private Shopping Assistant", AAMAS '02, Bologna, Italy, Jul. 15-19, 2002, pp. 1001-1008.
Ian Ruthven et al., "A survey on the use of relevance feedback for information access systems", Knowledge Engineering Review, Cambridge University Press, GB, vol. 18; No. 2, Jun. 1, 2003, pp. 1-53.
Mathias Gery et al., Knowledge Discovery for Automatic Query Expansion on the World Wide Web, Advances in Conceptual Modeling; Springer Berline Heidelberg, Berlin, Nov. 15, 1999, pp. 334-344 and 347.
Stan Sclaroff et al., "ImageRover: A Content-Based Image Browser for the World Wide Web", IVL 1997, San Juan, Puerto Rico, Jun. 20, 1997, pp. 2-9.

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965915B2 (en) 2013-03-17 2015-02-24 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
US8996559B2 (en) 2013-03-17 2015-03-31 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
US9244952B2 (en) 2013-03-17 2016-01-26 Alation, Inc. Editable and searchable markup pages automatically populated through user query monitoring
WO2017075603A1 (en) * 2015-10-29 2017-05-04 Afshari Foad System and method for facilitating a transaction

Also Published As

Publication number Publication date
WO2006124206A2 (en) 2006-11-23
US20110252017A1 (en) 2011-10-13
CA2605991C (en) 2016-08-09
US7546289B2 (en) 2009-06-09
JP2008541265A (en) 2008-11-20
EP1880323A2 (en) 2008-01-23
CA2605991A1 (en) 2006-11-23
US20060259467A1 (en) 2006-11-16
WO2006124206A3 (en) 2008-02-21
CN101203850A (en) 2008-06-18
US8051067B2 (en) 2011-11-01
EP1880323A4 (en) 2010-09-29
US20090150392A1 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
US8364661B2 (en) System and method for providing a response to a search query
US10032207B2 (en) Product placement engine and method
US9754029B2 (en) Lateral search
US10204121B1 (en) System and method for providing query recommendations based on search activity of a user base
US8566177B2 (en) User supplied and refined tags
JP2003518664A (en) Method and system for constructing a personalized result set
US20050065774A1 (en) Method of self enhancement of search results through analysis of system logs
US20090240589A1 (en) Structured web advertising
JP2015522190A (en) Generate search results
US20140317076A1 (en) System and method for facilitating use of a selection guide
US10860666B2 (en) Method and system for providing alternative result for an online search previously with no result
US20130018914A1 (en) System and method for facilitating use of a selection guide
US20210295371A1 (en) Advanced search engine for business

Legal Events

Date Code Title Description
AS Assignment

Owner name: W.W. GRAINGER, INC., ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WESTPHAL, GEOFFRY A.;REEL/FRAME:026507/0467

Effective date: 20050511

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY