US20100082571A1 - Text conversion - Google Patents
Text conversion Download PDFInfo
- Publication number
- US20100082571A1 US20100082571A1 US12/234,377 US23437708A US2010082571A1 US 20100082571 A1 US20100082571 A1 US 20100082571A1 US 23437708 A US23437708 A US 23437708A US 2010082571 A1 US2010082571 A1 US 2010082571A1
- Authority
- US
- United States
- Prior art keywords
- item
- compatibility
- text
- free
- parent
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Definitions
- Users may seek information about items that is stored in various locations by performing a search query. Queries for items using free-form text may not provide a user with desired results.
- FIG. 1 is a block diagram of a system, according to example embodiments
- FIG. 2 is a block diagram of a query conversion subsystem that may be deployed within the system of FIG. 1 , according to an example embodiment
- FIG. 3 is a block diagram of a clustering subsystem that may be deployed within the system of FIG. 1 , according to an example embodiment
- FIG. 4 is a block diagram of a compatibility identification subsystem that may be deployed within the system of FIG. 1 , according to an example embodiment
- FIG. 5 is a block diagram of an analysis subsystem that may be deployed within the system of FIG. 1 , according to an example embodiment
- FIG. 6 is an example flowchart illustrating a method for text conversion according to an example embodiment
- FIG. 7 is a diagram of compatibility data according to an example embodiment
- FIG. 8 is an example flowchart illustrating a method for text conversion according to an example embodiment
- FIGS. 9 and 10 are flowcharts illustrating a method for query usage according to an example embodiment
- FIG. 11 is a flowchart illustrating a method for clustering according to an example embodiment
- FIG. 12 is a diagram of item clusters according to an example embodiment
- FIGS. 13-16 is a flowchart illustrating a method for clustering according to an example embodiment
- FIGS. 17-19 is a flowchart illustrating a method for compatibility identification according to an example embodiment
- FIG. 20 is a flowchart illustrating a method for item analysis according to an example embodiment
- FIG. 21 is a network diagram depicting a network system, according to an example embodiment, having a client server architecture configured for exchanging data over a network;
- FIG. 22 is a block diagram illustrating an example embodiment of multiple network and marketplace applications, which are provided as part of the network-based marketplace.
- FIG. 23 is a block diagram of a machine in the example form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
- free form search inquiries may be converted to compatibility-based search inquiries.
- the compatibility-based search inquiries may be processed to provide more relevant search results than corresponding free form search inquiries would provide.
- clustering may be used to record interoperability of one or more items with a parent item.
- the interoperability may identify car parts that can be used with particular cars and/or which cars can use various parts, computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals.
- item matching may be used to locate items (e.g., parts or accessories) that will work with (e.g., fit) a particular parent item.
- the method 200 may be used to identify additional items that may be of interest to a user based on items currently included in an electronic shopping basket.
- FIG. 1 illustrates an example system 100 in which a client machine 102 may be in communication with a provider 106 over a network 104 .
- a user may operate the client machine 102 to communicate with the provider 106 to search for items associated with other users of the provider 106 .
- Examples of the client machine 102 include a set-top box (STB), a receiver card, a mobile telephone, a personal digital assistant (PDA), a display device, a portable gaming unit, or another type of computing system.
- STB set-top box
- PDA personal digital assistant
- STB set-top box
- display device a portable gaming unit
- other devices may also be used.
- the network 104 over which the client machine 102 and the provider 106 communicate may include a Global System for Mobile Communications (GSM) network, an Internet Protocol (IP) network, a Wireless Application Protocol (WAP) network, a WiFi network, or a IEEE 802.11 standards network as well as various combinations thereof.
- GSM Global System for Mobile Communications
- IP Internet Protocol
- WAP Wireless Application Protocol
- WiFi Wireless Fidelity
- IEEE 802.11 standards network as well as various combinations thereof.
- Other conventional and/or later developed wired and wireless networks may also be used.
- the provider 106 may operate on a computer system maintained or controlled by a business entity.
- the provider 106 may be maintained by PayPal, Inc. of San Jose, Calif.
- An electronic catalog 108 may be used by the client machine 102 and/or the provider 106 to access information.
- the electronic catalog 108 may include compatibility data 114 and item data 122 .
- the compatibility data 114 may include information regarding the fit or interface between an item and another item.
- the compatibility data 114 may include parent items (e.g., car models) with which an item (e.g., a particular type of engine) is compatible.
- the item data 122 may include information regarding items available in the electronic catalog 108 .
- the item data 122 may include specifications of available items.
- the electronic catalog 108 may include a parts catalog (e.g., for a car or a computer), a merchandise catalog, and/or a different type of catalog.
- the electronic catalog 108 may be stored in a separate device, within a storage unit of the client machine 102 , in the database 110 of the provider 106 , or may be otherwise stored.
- the client machine 102 and/or the provider 106 may also be in communication with a database 108 .
- the database 110 may store user data 116 , transaction data 118 , and/or one or more item clusters 120 .
- the user data 116 may include information regarding users of the provider 106 .
- the transactional data 118 may include information regarding transactions conducted by the provider 106 . For example, the sale of an item from one user to another may be stored in the transactional data 116 .
- One or more processing subsystems 112 may be deployed in the client machine 102 and/or the provider 106 to construct compatibility-based text for an item, to create an item cluster for one or more items that associated with a compatibility identifier for a parent item, to identify a number of matching items through use of a compatibility identifier, and/or identify a non-included item in a shopping basket.
- a compatibility search engine 122 may communicate with the client machine 102 and/or the provider 106 to receive a request for compatibility verification, determine that an item is compatible with a parent item and provide compatibility verification in response.
- FIG. 2 illustrates an example text conversion subsystem 200 that may be deployed as the processing subsystem 112 in the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or that may be otherwise deployed in another system.
- the text conversion subsystem 200 may include a free-form text receiver module 202 , a term extraction module 204 , an item identification module 206 , a compatibility data notification module 208 , a compatibility data access module 210 , an item descriptor identification module 212 , a parent item identification module 214 , an approval module 216 , a compatibility-based text construction module 218 , an item identifier selection module 220 , a matching item identification module 222 , an availability determination module 224 , a result provider module 226 , a query provider module 228 , and/or an identification receiver module 230 .
- Other modules may also be included.
- the modules may be distributed so that some of the modules may be deployed in the client machine 102 and some of the modules may
- the free-form text receiver module 202 receives free-form text associated with an item.
- the item may be compatible with a parent item.
- the item may, in an example embodiment, be a part of the parent item.
- the term extraction module 204 extracts one or more terms from the free-form search query.
- the item identification module 206 identifies the item based on free-form text, extraction of the terms and/or an item identifier.
- the item identification module 206 may identify an item name of an item.
- the item name may be among the one or more terms.
- the compatibility data notification module 208 provides a compatibility-based notification of availability of a compatibility-based text for the item based on availability of the compatibility data 114 .
- the compatibility data access module 210 accesses the compatibility data 114 for available compatibility-based search queries.
- the item and the parent item may be associated together within the compatibility data 114 .
- the item descriptor identification module 212 identifies an item descriptor in the free-form search text.
- the identification of the item may be based on the free-form text, extraction of the terms and/or access of the compatibility data 114 .
- the item descriptor may be a term of the extracted terms.
- the item descriptor may be, by way of example, a make, a model year, an engine type, a part number, or the like.
- the parent item identification module 214 identifies a parent item.
- the parent item may be identified by the parent item identification module 214 from the free-form text.
- the parent item may be identified by the parent item identification module 214 from extraction of one or more terms.
- the parent item may be identified by the parent item identification module 214 by requesting identification of the parent item and receiving identification of the parent item.
- the parent item may be otherwise identified by the parent item identification module 214 .
- the approval module 216 provides an approval request to a user based on identification of the item and receives an approval response from the user.
- the compatibility-based text construction module 218 constructs compatibility-based text for an item based on a parent item, identification of an item descriptor, identification of the item, receipt of the approval request, and/or availability of the item cluster 120 for the item.
- the compatibility-based text may be a compatibility-base search query used to search for one or more matching items.
- the item identifier selection module 220 selects one or more item identifiers based on a compatibility-based search query.
- the matching item identification module 222 identifies one or more matching items based on a compatibility-based search query and/or selection one or more the item identifiers.
- the availability determination module 224 determines availability of one or more matching items.
- the result provider module 226 provides a result based on identification and/or availability of one or more matching items.
- the result may include one or more of the matching items.
- the matching items may be, in an example embodiment, compatible parts for the parent item.
- the query provider module 228 provides a compatibility-based search query for an item to the compatibility search engine 122 .
- the identification receiver module 230 receives identification of the one or more matching items from the compatibility search engine 122 .
- FIG. 3 illustrates an example clustering subsystem 300 that may be deployed may be deployed as the processing subsystem 112 in the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or that may be otherwise deployed in another system.
- the clustering subsystem 300 may include a compatibility data access module 302 , a parent item identification module 304 , a compatibility identification module 306 , an item cluster determination module 308 , an item cluster creation module 310 , an item cluster association module 312 , a parent item association module 314 , an association identification module 316 , a compatibility verification module 318 , an item cluster modification module 320 , a notification receiver module 322 , a parent item determination module 324 , an item verification module 326 , and/or an item removal module 328 .
- Other modules may also be included.
- the modules may be distributed so that some of the modules may be deployed in the client machine 102 and some of the modules may be deployed in the provider 106 .
- a compatibility data access module 302 accesses the compatibility data 114 for an item and/or accesses additional compatibility data 114 for a further item.
- the parent item identification module 304 identifies a particular parent item within the compatibility data 114 and/or identifies an additional parent item within the compatibility data 114 .
- the compatibility identification module 306 identifies compatibility of the item and the additional item with the particular parent item from the compatibility data 114 and/or the additional parent item from the compatibility data 114 .
- the item cluster determination module 308 determines existence or absence of the item cluster 120 for the item and the additional item.
- the item cluster creation module 310 creates the item cluster 120 for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from the compatibility data 114 , identification of the compatibility and/or absence of the item cluster.
- the item cluster association module 312 associates a compatibility identifier (e.g., a token) with the item cluster 120 and/or associates the compatibility identifier with the additional parent item.
- a compatibility identifier e.g., a token
- the association of the compatibility identifier with the additional parent item may be based on the existence of the item cluster 120 .
- the parent item association module 314 associates the compatibility identifier with the parent item.
- the association identification module 316 identifies an additional parent item associated with the compatibility identifier.
- the compatibility verification module 318 verifies that the further item is compatible with the additional parent item.
- the item cluster modification module 320 modifies the item cluster 120 for the item and the additional item based on compatibility of the item, the additional item, and the further item with the particular parent item and/or verification that the further item is compatible with the additional parent item.
- the notification receiver module 322 receives an incompatibility notification regarding the item and the parent item.
- the parent item determination module 324 determines whether n additional parent item is associated with the compatibility identifier.
- the item verification module 326 verifies that the item is incompatible with the additional parent item.
- the item removal module 328 removes the item from the item cluster 120 based on the receiving of the incompatibility notification and/or the verification of incompatibility.
- FIG. 4 illustrates an example compatibility identification subsystem 400 that may be deployed as the processing subsystem 112 in the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or that may be otherwise deployed in another system.
- the compatibility identification subsystem 400 may include a text access module 402 , a compatibility identification module 404 , an identifier usage module 406 , an intersection module 408 , a query verification module 410 , a result provider module 412 , a posting module 414 , and/or an additional information module 416 .
- Other modules may also be included.
- the modules may be distributed so that some of the modules may be deployed in the client machine 102 and some of the modules may be deployed in the provider 106 .
- the text access module 402 accesses compatibility-based text for an item and/or additional compatibility-based text for the item.
- the compatibility-based text may be a compatibility-based search query, a compatibility-based listing, or the like.
- the compatibility identification module 404 identifies a compatibility identifier based on the compatibility-based text and/or identifies an additional compatibility identifier based on the compatibility-based text and/or the additional compatibility-based text.
- the compatibility identifier may be associated with the item cluster 120 .
- the additional compatibility identifier may be associated with an additional item cluster 120 .
- the identifier usage module 406 uses the compatibility identifier to identify matching items and/or uses the additional compatibility identifier to identify additional matching items.
- the intersection module 408 intersects the matching items with the additional matching items to obtain a matching result.
- the query verification module 410 verifies the compatibility-based search query based on identification of the matching items.
- the result provider module 412 provides a result based on identification of the matching items, intersection performed by the intersection module 408 , and/or verification of the compatibility-based search query.
- Providing the result may include modifying a listing for the item based on identification of the matching items.
- the listing may include the compatibility-based text.
- the posting module 414 posts the modified listing of the item. For example, the listing may be posted in an online commerce system that sells items at a fixed fee, via auction, or otherwise makes items available for sale.
- the additional information module 416 receives a selection of a matching item based on the providing of the result, accesses the additional information on the matching item (e.g., from the electronic catalog 108 ), and provides additional information on the matching item.
- FIG. 5 illustrates an example analysis subsystem 500 that may be deployed as the processing subsystem 112 in the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or otherwise deployed in another system.
- the analysis subsystem 500 may include an item access module 502 , a parent item identification module 504 , a companion item determination module 506 , a non-included item identification module 508 , a notification provider module 510 , and/or the item addition module 512 .
- Other modules may also be included.
- the modules may be distributed so that some of the modules may be deployed in the client machine 102 and some of the modules may be deployed in the provider 106 .
- the item access module 502 accesses items in a shopping basket.
- the parent item identification module 504 identifies a parent item associated with the items.
- the companion item determination module 506 determines companion items associated with the parent item.
- the non-included item identification module 508 identifies a non-included item in the shopping basket based on the accessing of the plurality of items and determining the identity of companion items.
- the notification provider module 510 provides a notification based on identification of the non-included item.
- the item addition module 512 adds the non-included item to the shopping basket.
- one or more of the subsystems 200 , 300 , 400 , 500 may be deployed as the processing subsystem 112 in the system 100 .
- FIG. 6 illustrates a method 600 for text conversion according to an example embodiment.
- the method 600 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 600 may operate to convert free-form text (e.g., a free-form search query) into compatibility-based text (e.g., a compatibility-based search query).
- the compatibility-based text may enable a user to receive more accurate results that reflect desired matching items.
- the matching items may be the exact item requested or compatible with the item requested.
- a free-form search query for a specific type of MICROSOFT keyboard that includes a particular type of functionality (e.g., wireless connectivity) may be converted into a compatibility-based search query that may be used to return a result of all the keyboards that include the same type of functionality or a comparable type of functionality.
- a query might be entered as “microsoft wireless keyboard 4000 ” to search for a MICROSOFT Wireless Laser Desktop 4000 wireless keyboard product and equivalent products.
- the conversion of the free-form text into compatibility-based text by the method 600 may increase consumer satisfaction with the results of the search and/or may enhance the likelihood that a product will be sold to the searching user.
- the method 600 may enable the user to locate a desired item even when the user fails to include a particular keyword in the free-form text (e.g., the user may have entered a specific manufacturer part number instead of the make and model of all the cars in which the part may work).
- Free-form text associated with an item is received at block 602 .
- the item may be, by way of example, an accessory for a consumer electronic product (e.g., a remote control), a car part (e.g., a short block of an engine), or the like. Other items may also be used.
- An example of free-form text includes “2004 Honda break pads”.
- the free-form text may be in the form of a free-form search query or may be in another form.
- One or more terms are extracted from the free-form text at block 604 .
- the parent item may be identified at block 606 .
- the parent item is an item with which the item of the text may be used.
- the item may be a part of the parent item, usable with the parent item, or otherwise associated with the parent item.
- the item may be a remote control and the parent item may be a television, the item may be an air filter and the parent item may be an engine, or the like.
- the parent item may be identified based on extraction of the terms.
- the parent item may be identified by requesting identification of the parent item and receiving the identification of the parent item.
- the parent item may be identified otherwise.
- the item is identified based on extraction of the terms.
- the item may be compatible with a parent item.
- an item name of the item may be identified during the operations at block 608 .
- the item name may be a term of the free-form text.
- a determination of whether compatibility data 114 is available for the item based on identification of the item may be made at block 610 .
- a compatibility-based notification may be provided at block 612 .
- the compatibility-based notification may be provided based on availability of the compatibility data 114 .
- an approval request may be provided to a user based on identification of the item and/or providing of the compatibility-based notification.
- An approval response may be received from the user at block 616 based on providing the approval request.
- one or more item descriptors are identified in the free-form text based on the extraction of the terms.
- the item descriptor may be one or more terms of the free-form text.
- the item descriptor may be, by way of example, a make, a model year, an engine type, or a part number. For example, if the item is an engine, item descriptors in the free form search may include “volvo” “2006”, and/or “turbo”.
- Compatibility-based text is constructed for the item at block 620 based on the identity of the parent item, identification of the item descriptor, availability of the compatibility data 114 for the item, and/or receiving an approval request.
- the compatibility-based text may include a compatibility-based search query that is capable of being used to search for matching items.
- the compatibility-based text may be used at block 622 .
- the compatibility-based text may be used to perform a search, list an item in an online marketplace, or may be otherwise used.
- FIG. 7 is an example diagram of compatibility data 700 , 710 .
- the compatibility data 700 , 710 may be used as a portion of the compatibility data 114 (see FIG. 1 ) or may otherwise be used.
- the compatibility data 700 illustrates an item 702 associated with three parent items 704 , 706 , 708 . However, more or less parent items may be associated with the item 702 .
- An example of the compatibility data 700 with example data is shown in FIG. 7 as an air filter 710 is associated with three vehicles 714 , 716 , 718 .
- the compatibility data 700 , 710 may be implemented as a linked association, a listing, or may otherwise be implemented in some form of relational format.
- FIG. 8 illustrates a method 800 for text conversion according to an example embodiment.
- the method 800 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 800 may operate to convert free-form text (e.g., a free-form search query) into compatibility-based text (e.g., a compatibility-based search query).
- the compatibility-based text may enable a user to receive more accurate results that reflect desired matching items.
- the matching items may be the exact item requested or compatible with the item requested.
- a free-form search query for a specific type of MICROSOFT keyboard that includes a particular type of functionality (e.g., wireless connectivity) may be converted into a compatibility-based search query that may be used to return a result of all the keyboards that include the same type of functionality or a comparable type of functionality.
- the conversion of the free-form text into compatibility-based text by the method 800 may increase consumer satisfaction with the results of the search and/or may enhance the likelihood that a product will be sold to the searching user.
- the method 800 may enable the user to locate a desired item even when the user fails to include a particular keyword in the free-form text (e.g., the user may have entered a specific manufacturer part number instead of the make and model of all the cars in which the part may work).
- Free-form text associated with an item is received at block 802 .
- An item identifier is identified within the free-form text at block 804 .
- the item is identified based on the item identifier at block 806 .
- a parent item is identified based on extraction of terms at block 808 .
- the identification of the parent item may include, by way of example, requesting identification of the parent item based on identification of the item and receiving the identification of the parent item.
- Compatibility-based text is constructed for the item based on the parent item and identification of the item at block 810 .
- the compatibility-based text may be a compatibility-based query capable of being used to search for matching items.
- the compatibility-based text may be used at block 812 .
- the compatibility-based text may be used to perform a search, list an item in an online marketplace, or may be otherwise used.
- FIG. 9 illustrates a method 900 for query usage according to an example embodiment.
- the method 900 may be performed using information developed by performing the activities shown at block 622 of FIG. 6 , and/or block 812 of FIG. 8 , or may be performed using other information.
- the compatibility-based search query for the item is provided to the compatibility search engine 122 at block 902 .
- Identification of the matching items is received from the compatibility search engine 122 based on providing the compatibility-based search query at block 904 .
- FIG. 10 illustrates a method 1000 for query usage according to an example embodiment.
- the method 1000 may be performed using information developed by performing the activities shown at block 622 of FIG. 6 , and/or block 812 of FIG. 8 , or may be performed using other information.
- Item identifiers may be selected based on the compatibility-based search query at block 1002 .
- Matching items based are identified at block 1004 based on the compatibility-based search query. Identification of the matching items may be based on selection of the item identifiers.
- the matching items may be, by way of example, compatible parts for the parent item.
- Availability of the matching items may be determined at block 1006 .
- the matching items may be determined by accessing the appropriate item cluster 120 (see FIG. 1 ).
- FIG. 11 illustrates a method 1100 for clustering according to an example embodiment.
- the method 1100 may be performed by the client machine 102 and/or the provider 106 of the system 110 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 1100 may be used to record interoperability of one or more items with a parent item. For example, the method 1100 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used.
- Compatibility data 114 (see FIG. 1 ) is accessed for an item at block 1102 .
- the compatibility data 114 may include one or more parent items with which the item is compatible. A particular parent item is identified within the compatibility data at block 1104 .
- Absence of the item cluster 120 for the item and an additional item may be determined at block 1106 .
- an item cluster is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item.
- the compatibility may be reflected in the compatibility data 114 .
- the creation of the item cluster may be based on the absence of the item cluster.
- a compatibility identifier is associated with the item cluster at block 1110 .
- the compatibility identifier is associated with the parent item at block 1112 .
- FIG. 12 is an example diagram of example item clusters 1200 , 1212 .
- the item clusters 1200 , 1212 may be used as a portion of the item clusters 120 (see FIG. 1 ) or may otherwise be used.
- the item cluster 1200 illustrates a compatibility identifier 1202 associated with three items 1204 , 1206 , 1208 . However, more or less items may be associated with the compatibility identifier 1202 .
- a single parent item 1210 is associated with the compatibility identifier 1202 . However, multiple parent items may be associated with the compatibility identifier 1202 .
- FIG. 12 An example of the item cluster 1200 using example data is shown in FIG. 12 .
- a compatibility identifier 1214 is associated with three filter brands 1216 , 1218 , 1220 .
- An air filter 1222 is associated with the compatibility identifier 1214 as the parent item 1210 .
- FIG. 13 illustrates a method 1300 for clustering according to an example embodiment.
- the method 1300 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 1300 may be used to record interoperability of one or more items with a parent item. For example, the method 1300 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used.
- Compatibility data 114 (see FIG. 1 ) is accessed for an item at block 1302 .
- the compatibility data 114 may include one or more parent items with which the item is compatible. A particular parent item is identified within the compatibility data 114 at block 1304 .
- Compatibility of the item and the additional item with the particular parent item may be identified from the compatibility data 114 at block 1306 .
- the item cluster 120 is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from the compatibility data 114 and/or identification of the compatibility.
- a compatibility identifier is associated with the item cluster 120 at block 1310 .
- the compatibility identifier is associated with the parent item at block 1312 .
- FIG. 14 illustrates a method 1400 for clustering according to an example embodiment.
- the method 1400 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- Compatibility data 114 (see FIG. 1 ) is accessed for an item at block 1402 .
- the compatibility data 114 may include a list of parent items with which the item is compatible. A particular parent item is identified within the compatibility data 114 at block 1404 .
- the item cluster 120 (see FIG. 1 ) is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from the compatibility data 114 .
- a compatibility identifier is associated with the item cluster 120 at block 1408 .
- the compatibility identifier is associated with the parent item at block 1410 .
- Additional compatibility data 114 for a further item is accessed at block 1412 .
- the additional compatibility data 114 may be received from a user or otherwise accessed.
- An additional parent item associated with the compatibility identifier is identified at block 1414 .
- the additional parent item may be identified as also being compatible with the items of the item cluster 120 .
- Verification that the further item is compatible with the additional parent item may be performed at block 1416 .
- the verification may include analyzing the additional compatibility data 114 for the further item to verify that the further item is compatible with the additional parent item.
- the verification may include providing a request for compatibility verification that the further item is compatible with the additional parent item to the compatibility search engine 122 and receiving the compatibility verification in response to the providing of the request.
- the item cluster 120 for the item and the additional item may be modified based on compatibility of the item, the additional item, and the further item with the particular parent item and/or verification that the further item is compatible with the additional parent item.
- the item cluster may be modified to include the further item to reflect that the further item is also compatible with the parent item.
- an additional air filter that has the same compatibility as a group of other air filters may be added as a further item to the item cluster 120 for the air filters.
- FIG. 15 illustrates a method 1500 for clustering according to an example embodiment.
- the method 1500 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ) or may be otherwise performed.
- the method 1500 may be used, in an example embodiment to remove an incompatible item from the item cluster 120 .
- Compatibility data 114 (see FIG. 1 ) is accessed for an item at block 1502 .
- the compatibility data 114 may include one or more parent items with which the item is compatible. A particular parent item is identified within the compatibility data 114 at block 1504 .
- the item cluster 120 (see FIG. 1 ) is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from the compatibility data 114 .
- a compatibility identifier is associated with the item cluster 114 at block 1508 .
- the compatibility identifier is associated with the parent item at block 1510 .
- An additional parent item associated with the compatibility identifier may be identified at block 1512 .
- An incompatibility notification regarding the item and the parent item may be received at block 1514 .
- Verification that the item is incompatible with the additional parent item may be made at block 1516 .
- the item may be removed from the item cluster 120 based on the receiving of the incompatibility notification and/or the incompatibility verification at block 1518 .
- FIG. 16 illustrates a method 1600 for clustering according to an example embodiment.
- the method 1600 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 1600 may be used to record interoperability of one or more items with a parent item.
- the method 1600 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used.
- Compatibility data 114 (see FIG. 1 ) is accessed for an item at block 1602 .
- the compatibility data 114 may include parent items with which the item is compatible. A particular parent item is identified on the compatibility data 114 at block 1604 .
- the item cluster 120 (see FIG. 1 ) is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from the compatibility data 114 .
- An additional parent item may be identified on the compatibility listing at block 1612 . Compatibility of the item and the additional item with the additional parent item may be determined from the item listing at block 1614 .
- Existence of the item cluster 114 for the item and the additional item may be determined at block 1616 .
- the compatibility identifier may be associated with the additional parent item at block 1618 .
- the association of the compatibility identifier with the additional parent item may be based on the existence of the item cluster 120 .
- FIG. 17 illustrates a method 1700 for compatibility identification according to an example embodiment.
- the method 1700 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 1700 may be used, in an example embodiment, to locate items (e.g., parts or accessories) that will work with (e.g., fit) a particular parent item.
- the method 1700 may decompress compressed compatibility data 114 by use of a compatibility identifier.
- Compatibility-based text is accessed for an item at block 1702 .
- the compatibility-based text may include, by way of example, a compatibility-based search query, a compatibility-based listing, or the like.
- a compatibility identifier is identified based on the compatibility-based text at block 1704 .
- the compatibility identifier may be associated with the item cluster 120 (see FIG. 1 ).
- the compatibility identifier is used to identify matching items at block 1706 .
- the compatibility-based search query may be verified based on identification of the matching items at block 1708 .
- An additional compatibility identifier may be identified based on the compatibility-based text at block 1710 .
- the additional compatibility identifier may be associated with an additional item cluster 120 .
- the additional compatibility identifier may be used to identify additional matching items at block 1712 .
- the compatibility-based text may be used to match more than one item cluster 120 .
- the compatibility-based text for the terms “canon digital rifle camera” may be used to match a first item cluster for compatible lens, a second item cluster for compatible flashes, a third item cluster for compatible grips, and so on.
- the matching items may be intersected with the additional matching items to obtain a result at block 1714 .
- the intersection may identify items that are common in both sets of matching items.
- the compatibility-based text for the terms “canon digital camera” may identify a first item cluster that is for items compatible with a point and shoot camera and a second item cluster that is for items compatible with a digital SLR camera.
- the intersection of the item clusters may reveal items that are compatible with both types of cameras (e.g., tripods).
- a result is provided based on identification of the matching items and/or the intersecting at block 1716 .
- Providing the result may be based on verification of the compatibility-based search query.
- a selection of a particular matching item of the matching items may be received based on the providing of the result at block 1718 .
- the additional information on the particular matching item may be accessed from the electronic catalog 108 at block 1720 .
- Additional information on the particular matching item may be provided at block 1722 .
- Providing the additional information may be based on accessing the additional information.
- FIG. 18 illustrates a method 1800 for compatibility identification according to an example embodiment.
- the method 1800 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- Compatibility-based text is accessed for an item at block 1802 .
- the compatibility-based text may include, by way of example, a compatibility-based search query, a compatibility-based listing, or the like.
- a compatibility identifier is identified based on the compatibility-based text at block 1804 .
- the compatibility identifier may be associated with the item cluster 120 (see FIG. 1 ).
- the compatibility identifier is used to identify matching items at block 1806 .
- the compatibility-based search query may be verified based on identification of the matching items at block 1808 . Additional compatibility-based text may be accessed for the item at block 1810 .
- An additional compatibility identifier may be identified based on the additional compatibility-based text at block 1812 .
- the additional compatibility identifier may be associated with an additional item cluster 120 .
- the additional compatibility identifier may be used to identify additional matching items at block 1814 .
- the matching items may be intersected with the additional matching items to obtain a matching result at block 1816 .
- a matching result is provided based on identification of the matching items and/or the intersecting at block 1818 .
- the providing of the matching result may be based on verification the compatibility-based search query.
- a selection of a particular matching item of the matching items may be received based on providing the matching result at block 1820 .
- the additional information on the particular matching item may be accessed from an electronic catalog at block 1822 .
- Additional information on the particular matching item may be provided at block 1824 .
- the providing of the additional information may be based on the accessing of the additional information.
- FIG. 19 illustrates a method 1900 for compatibility identification according to an example embodiment.
- the method 1900 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- Compatibility-based text is accessed for an item at block 1902 .
- the compatibility-based text may include, by way of example, a compatibility-based search query, a compatibility-based listing, or the like.
- a compatibility identifier is identified based on the compatibility-based text at block 1904 .
- the compatibility identifier may be associated with the item cluster 120 (see FIG. 1 ).
- the compatibility identifier is used to identify matching items at block 1906 .
- the compatibility-based text may be verified based on identification of the matching items at block 1908 .
- a listing for the item is modified based on identification of the matching items at block 1910 .
- the listing may include the compatibility-based text.
- Providing the listing may be based on verification of the compatibility-based search query.
- the modified listing of the item may be posted at block 1912 .
- FIG. 20 illustrates a method 2000 for item analysis according to an example embodiment.
- the method 2000 may be performed by the client machine 102 and/or the provider 106 of the system 100 (see FIG. 1 ), or may be otherwise performed by another entity.
- the method 200 may be used to identify additional items that may be of interest to a user based on items currently included in an electronic shopping basket.
- Items in a shopping basket are accessed at block 2002 .
- a parent item associated with the items is identified at block 2004 .
- the parent item may be identified based on the compatibility data 114 (see FIG. 1 ) or may be otherwise identified.
- Companion items associated with the parent item may be determined at block 2006 .
- a non-included item in the shopping basket may be identified based on the accessing of the items and the determining of the companion items.
- the non-included item may be added to the shopping basket at block 2010 .
- a notification may be provided based on identification of the non-included item and/or the addition of the non-included item to the shopping basket at block 2012 .
- FIG. 21 is a network diagram depicting a client-server system 2100 , within which various embodiments may be deployed.
- a network 2104 may include the functionality of the network 104
- the provider 106 may be deployed within an application server 2118
- the client machine 102 may include the functionality of a client machine 2110 or a client machine 2112 .
- the system 2100 may also be deployed as a part of other systems.
- a networked system 2102 in the example form of a network-based marketplace or publication system, provides server-side functionality, via a network 2104 (e.g., the Internet or Wide Area Network (WAN)) to one or more clients.
- a network 2104 e.g., the Internet or Wide Area Network (WAN)
- FIG. 21 illustrates, for example, a web client 2106 (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.), and a programmatic client 2108 executing on respective client machines 2110 and 2112 .
- a web client 2106 e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.
- programmatic client 2108 executing on respective client machines 2110 and 2112 .
- An Application Program Interface (API) server 2114 and a web server 2116 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 2118 .
- the application servers 2118 host one or more marketplace applications 2120 and authentication providers 2122 .
- the application servers 2118 are, in turn, shown to be coupled to one or more databases servers 2124 that facilitate access to one or more databases 2126 .
- the marketplace applications 2120 may provide a number of marketplace functions and services to users that access the networked system 2102 .
- the authentication providers 2122 may likewise provide a number of payment services and functions to users.
- the authentication providers 2122 may allow users to accumulate value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the marketplace applications 2120 . While the marketplace and authentication providers 2120 and 2122 are shown in FIG. 21 to both form part of the networked system 2102 , in alternative embodiments the authentication providers 2122 may form part of a payment service that is separate and distinct from the networked system 2102 .
- system 2100 shown in FIG. 21 employs a client-server architecture
- the various embodiments of the invention are of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example.
- the various marketplace and authentication providers 2120 and 2122 could also be implemented as standalone software programs, which need not have networking capabilities.
- the web client 2106 accesses the various marketplace and authentication providers 2120 and 2122 via the web interface supported by the web server 2116 .
- the programmatic client 2108 accesses the various services and functions provided by the marketplace and authentication providers 2120 and 2122 via the programmatic interface provided by the API server 2114 .
- the programmatic client 2108 may, for example, be a seller application (e.g., the TurboListerTM application developed by eBay Inc., of San Jose, Calif.) to enable sellers to author and manage listings on the networked system 2102 in an off-line manner, and to perform batch-mode communications between the programmatic client 2108 and the networked system 2102 .
- FIG. 21 also illustrates a third party application 2128 , executing on a third party server machine 2130 , as having programmatic access to the networked system 2102 via the programmatic interface provided by the API server 2114 .
- the third party application 2128 may, utilizing information retrieved from the networked system 2102 , support one or more features or functions on a website hosted by the third party.
- the third party may, for example, provide one or more promotional, marketplace or payment functions that are supported by the relevant applications of the networked system 2102 .
- FIG. 22 is a block diagram illustrating multiple applications 2120 and 2122 that may be provided as part of the networked system 2102 (see FIG. 21 ).
- the applications 2120 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between server machines.
- the applications themselves are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, so as to allow information to be passed between the applications or so as to allow the applications to share and access common data.
- the applications may operate to access one or more databases 2126 via the database servers 2124 .
- the networked system 2102 may provide a number of publishing, listing and price-setting mechanisms whereby a seller may list (or publish information concerning) goods or services for sale, a buyer can express interest in or indicate a desire to purchase such goods or services, and a price can be set for a transaction pertaining to the goods or services.
- the marketplace applications 2120 are shown to include at least one publication application 2200 and one or more auction applications 2202 which support auction-format listing and price setting mechanisms (e.g., English, Dutch, Vickrey, Chinese, Double, Reverse auctions etc.).
- the various auction applications 2202 may also provide a number of features in support of such auction-format listings, such as a reserve price feature whereby a seller may specify a reserve price in connection with a listing and a proxy-bidding feature whereby a bidder may invoke automated proxy bidding.
- a reserve price feature whereby a seller may specify a reserve price in connection with a listing
- a proxy-bidding feature whereby a bidder may invoke automated proxy bidding.
- a number of fixed-price applications 2204 support fixed-price listing formats (e.g., the traditional classified advertisement-type listing or a catalogue listing) and buyout-type listings.
- buyout-type listings e.g., including the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.
- BIN Buy-It-Now
- auction-format listings may be offered in conjunction with auction-format listings, and allow a buyer to purchase goods or services, which are also being offered for sale via an auction, for a fixed-price that is typically higher than the starting price of the auction.
- Store applications 2206 allow a seller to group listings within a “virtual” store, which may be branded and otherwise personalized by and for the seller. Such a virtual store may also offer promotions, incentives and features that are specific and personalized to a relevant seller.
- Reputation applications 2208 allow users that transact, utilizing the networked system 2102 , to establish, build and maintain reputations, which may be made available and published to potential trading partners.
- the reputation applications 2208 allow a user, for example through feedback provided by other transaction partners, to establish a reputation within the networked system 2102 over time. Other potential trading partners may then reference such a reputation for the purposes of assessing credibility and trustworthiness.
- Personalization applications 2210 allow users of the networked system 2102 to personalize various aspects of their interactions with the networked system 2102 . For example a user may, utilizing an appropriate personalization application 2210 , create a personalized reference page at which information regarding transactions to which the user is (or has been) a party may be viewed. Further, a personalization application 2210 may enable a user to personalize listings and other aspects of their interactions with the networked system 2102 and other parties.
- the networked system 2102 may support a number of marketplaces that are customized, for example, to operate in specific geographic regions.
- a version of the networked system 2102 may be customized for operations in the United Kingdom, whereas another version of the networked system 2102 may be customized for operations in the United States.
- Each of these versions may operate as an independent marketplace, or may be customized (or internationalized and/or localized) presentations of a common underlying marketplace.
- the networked system 2102 may accordingly include a number of internationalization applications 2212 that customize information (and/or the presentation of information) by the networked system 2102 according to predetermined criteria (e.g., geographic, demographic or marketplace criteria).
- the internationalization applications 2212 may be used to support the customization of information for a number of regional websites that are operated by the networked system 2102 and that are accessible via respective web servers 2116 .
- Navigation of the networked system 2102 may be facilitated by one or more navigation applications 2214 .
- a search application (as an example of a navigation application) may enable key word searches of listings published via the networked system 2102 .
- a browse application may allow users to browse various category, catalogue, or system inventory structures according to which listings may be classified within the networked system 2102 .
- Various other navigation applications may be provided to supplement the search and browsing applications.
- the marketplace applications 2120 may include one or more imaging applications 2216 utilizing which users may upload images for inclusion within listings.
- An imaging application 2216 also operates to incorporate images within viewed listings.
- the imaging applications 2216 may also support one or more promotional features, such as image galleries that are presented to potential buyers. For example, sellers may pay an additional fee to have an image included within a gallery of images for promoted items.
- Listing creation applications 2218 allow sellers conveniently to author listings pertaining to goods or services that they wish to transact via the networked system 2102 , and listing management applications 2200 allow sellers to manage such listings. Specifically, where a particular seller has authored and/or published a large number of listings, the management of such listings may present a challenge.
- the listing management applications 2200 provide a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the seller in managing such listings.
- One or more post-listing management applications 2202 also assist sellers with a number of activities that typically occur post-listing. For example, upon completion of an auction facilitated by one or more auction applications 2102 , a seller may wish to leave feedback regarding a particular buyer. To this end, a post-listing management application 2202 may provide an interface to one or more reputation applications 2208 , so as to allow the seller conveniently to provide feedback regarding multiple buyers to the reputation applications 2208 .
- Dispute resolution applications 2214 provide mechanisms whereby disputes arising between transacting parties may be resolved.
- the dispute resolution applications 2214 may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a merchant mediator or arbitrator.
- a number of fraud prevention applications 2226 implement fraud detection and prevention mechanisms to reduce the occurrence of fraud within the networked system 2102 .
- Messaging applications 2228 may be used to generate and deliver messages to users of the networked system 2102 , such messages for example may advise users regarding the status of listings at the networked system 2102 (e.g., providing “outbid” notices to bidders during an auction process or to provide promotional and merchandising information to users). Respective messaging applications 2228 may utilize any one of a number of message delivery networks and platforms to deliver messages to users.
- messaging applications 2228 may deliver electronic mail (e-mail), instant message (IM), Short Message Service (SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP)) messages via the wired (e.g., the Internet), Plain Old Telephone Service (POTS), or wireless (e.g., mobile, cellular, WiFi, WiMAX) networks.
- e-mail electronic mail
- IM instant message
- SMS Short Message Service
- text e.g., text
- facsimile e.g., facsimile
- voice e.g., Voice over IP (VoIP)
- POTS Plain Old Telephone Service
- wireless e.g., mobile, cellular, WiFi, WiMAX
- Merchandising applications 2230 support various merchandising functions that are made available to sellers to enable sellers to increase sales via the networked system 2102 .
- the merchandising applications 2230 also operate the various merchandising features that may be invoked by sellers, and may monitor and track the success of merchandising strategies employed by sellers.
- FIG. 23 shows a block diagram of a machine in the example form of a computer system 2300 .
- a set of instructions may be executed by the computer system 2300 , causing the machine to perform any one or more of the methods, processes, operations, or methodologies discussed herein.
- the provider 106 and/or the compatibility search engine 122 may operate on one or more computer systems 2300 (see FIG. 1 ).
- the client machine 102 may include the functionality of the one or more computer systems 2300 .
- the machine may operate as a standalone device, or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA Personal Digital Assistant
- the example computer system 2300 includes a processor 2302 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), a main memory 2304 and a static memory 2306 , which communicate with each other via a bus 2308 .
- the computer system 2300 may further include a video display unit 2310 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
- the computer system 2300 also includes an alphanumeric input device 2312 (e.g., a keyboard), a cursor control device 2314 (e.g., a mouse), a drive unit 2316 , a signal generation device 2318 (e.g., a speaker) and a network interface device 2320 .
- the drive unit 2316 includes a machine-readable medium 2322 on which is stored one or more sets of instructions (e.g., software 2324 ) embodying any one or more of the methodologies or functions described herein.
- the software 2324 may also reside, completely or at least partially, within the main memory 2304 and/or within the processor 2302 during execution thereof by the computer system 2300 , the main memory 2304 and the processor 2302 also constituting machine-readable media.
- the software 2324 may further be transmitted or received over a network 2326 via the network interface device 2320 .
- machine-readable medium 2322 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention.
- the term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical, and magnetic media, and carrier wave signals.
- a module or a mechanism may be a unit of distinct functionality that can provide information to, and receive information from, other modules. Accordingly, the described modules may be regarded as being communicatively coupled. Modules may also initiate communication with input or output devices, and can operate on a resource (e.g., a collection of information).
- the modules be implemented as hardware circuitry, optical components, single or multi-processor circuits, memory circuits, software program modules and objects, firmware, and combinations thereof, as appropriate for particular implementations of various embodiments.
- free-form text associated with an item may be received.
- the item may be identified based on the free-form text.
- the item may be compatible with a parent item.
- the parent item may be identified based on the free-form text.
- An item descriptor may be identified in the free-form text.
- the item descriptor may be a particular term of the free-form text.
- Compatibility-based text may be constructed for the item based on identification of the parent item and the item descriptor.
- the compatibility-based text may be capable of being used to identify a plurality of matching items.
- a free-form search query for an item may be received.
- An item identifier within the free-form search query may be identified.
- the item may be identified based on the item identifier.
- a parent item may be identified based on the extracting of the plurality of terms.
- a particular compatibility-based search query may be constructed for the item based on the parent item and identification of the item.
- the particular compatibility-based search query may be capable of being used to search for a plurality of matching items.
- compatibility data may be accessed for an item.
- the compatibility data may include a plurality of parent items with which the item is compatible. A particular parent item within the compatibility data may be identified. An item cluster for the item and an additional item may be created based on compatibility of the item and the additional item with the particular parent item within the compatibility data.
- a compatibility identifier may be associated with the item cluster. The compatibility identifier may be associated with the parent item.
- compatibility-based text for an item may be accessed.
- a compatibility identifier may be identified based on the compatibility-based text.
- the compatibility identifier may be associated with an item cluster.
- the compatibility identifier may be used to identify a plurality of matching items.
- a result may be provided based on identification of the plurality of matching items.
- a plurality of items in a shopping basket may be accessed.
- a parent item associated with the plurality of items may be identified.
- a plurality of companion items associated with the parent item may be determined.
- a non-included item in the shopping basket may be identified based on the accessing of the plurality of items and the determining of the plurality of companion items.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Methods and system for text conversion are described. In one embodiment, free-form text associated with an item may be received. The item may be identified based on the free-form text. The item may be compatible with a parent item. The parent item may be identified based on the free-form text. An item descriptor may be identified in the free-form text. The item descriptor may be a particular term of the free-form text. Compatibility-based text may be constructed for the item based on identification of the parent item and the item descriptor. The compatibility-based text may be capable of being used to identify a plurality of matching items. Additional methods and systems are disclosed.
Description
- This application is related to U.S. patent application Ser. No. ______ (Attorney Docket No. 2043.579US1), filed on ______ (“ITEM CLUSTERING”) and U.S. patent application Ser. No. ______ (Attorney Docket No. 2043.580US1), filed on ______ (“ITEM MATCHING”), the contents of which are incorporated by reference in their entirety.
- Users may seek information about items that is stored in various locations by performing a search query. Queries for items using free-form text may not provide a user with desired results.
- Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
-
FIG. 1 is a block diagram of a system, according to example embodiments; -
FIG. 2 is a block diagram of a query conversion subsystem that may be deployed within the system ofFIG. 1 , according to an example embodiment; -
FIG. 3 is a block diagram of a clustering subsystem that may be deployed within the system ofFIG. 1 , according to an example embodiment; -
FIG. 4 is a block diagram of a compatibility identification subsystem that may be deployed within the system ofFIG. 1 , according to an example embodiment; -
FIG. 5 is a block diagram of an analysis subsystem that may be deployed within the system ofFIG. 1 , according to an example embodiment; -
FIG. 6 is an example flowchart illustrating a method for text conversion according to an example embodiment; -
FIG. 7 is a diagram of compatibility data according to an example embodiment; -
FIG. 8 is an example flowchart illustrating a method for text conversion according to an example embodiment; -
FIGS. 9 and 10 are flowcharts illustrating a method for query usage according to an example embodiment; -
FIG. 11 is a flowchart illustrating a method for clustering according to an example embodiment; -
FIG. 12 is a diagram of item clusters according to an example embodiment; -
FIGS. 13-16 is a flowchart illustrating a method for clustering according to an example embodiment; -
FIGS. 17-19 is a flowchart illustrating a method for compatibility identification according to an example embodiment; -
FIG. 20 is a flowchart illustrating a method for item analysis according to an example embodiment; -
FIG. 21 is a network diagram depicting a network system, according to an example embodiment, having a client server architecture configured for exchanging data over a network; -
FIG. 22 is a block diagram illustrating an example embodiment of multiple network and marketplace applications, which are provided as part of the network-based marketplace; and -
FIG. 23 is a block diagram of a machine in the example form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. - Example methods and systems for text conversion are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of example embodiments. It will be evident, however, to one of ordinary skill in the art that embodiment of the present invention may be practiced without these specific details.
- In an example embodiment, free form search inquiries may be converted to compatibility-based search inquiries. The compatibility-based search inquiries may be processed to provide more relevant search results than corresponding free form search inquiries would provide.
- In an example embodiment, clustering may be used to record interoperability of one or more items with a parent item. For example, the interoperability may identify car parts that can be used with particular cars and/or which cars can use various parts, computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals.
- In an example embodiment, item matching may be used to locate items (e.g., parts or accessories) that will work with (e.g., fit) a particular parent item.
- In an example embodiment, the
method 200 may be used to identify additional items that may be of interest to a user based on items currently included in an electronic shopping basket. -
FIG. 1 illustrates anexample system 100 in which aclient machine 102 may be in communication with aprovider 106 over anetwork 104. A user may operate theclient machine 102 to communicate with theprovider 106 to search for items associated with other users of theprovider 106. Examples of theclient machine 102 include a set-top box (STB), a receiver card, a mobile telephone, a personal digital assistant (PDA), a display device, a portable gaming unit, or another type of computing system. However, other devices may also be used. - The
network 104 over which theclient machine 102 and theprovider 106 communicate may include a Global System for Mobile Communications (GSM) network, an Internet Protocol (IP) network, a Wireless Application Protocol (WAP) network, a WiFi network, or a IEEE 802.11 standards network as well as various combinations thereof. Other conventional and/or later developed wired and wireless networks may also be used. - The
provider 106 may operate on a computer system maintained or controlled by a business entity. For example, theprovider 106 may be maintained by PayPal, Inc. of San Jose, Calif. - An
electronic catalog 108 may be used by theclient machine 102 and/or theprovider 106 to access information. Theelectronic catalog 108 may includecompatibility data 114 anditem data 122. Thecompatibility data 114 may include information regarding the fit or interface between an item and another item. For example, thecompatibility data 114 may include parent items (e.g., car models) with which an item (e.g., a particular type of engine) is compatible. Theitem data 122 may include information regarding items available in theelectronic catalog 108. For example, theitem data 122 may include specifications of available items. - The
electronic catalog 108 may include a parts catalog (e.g., for a car or a computer), a merchandise catalog, and/or a different type of catalog. Theelectronic catalog 108 may be stored in a separate device, within a storage unit of theclient machine 102, in thedatabase 110 of theprovider 106, or may be otherwise stored. - The
client machine 102 and/or theprovider 106 may also be in communication with adatabase 108. Thedatabase 110 may storeuser data 116,transaction data 118, and/or one ormore item clusters 120. Theuser data 116 may include information regarding users of theprovider 106. Thetransactional data 118 may include information regarding transactions conducted by theprovider 106. For example, the sale of an item from one user to another may be stored in thetransactional data 116. - One or
more processing subsystems 112 may be deployed in theclient machine 102 and/or theprovider 106 to construct compatibility-based text for an item, to create an item cluster for one or more items that associated with a compatibility identifier for a parent item, to identify a number of matching items through use of a compatibility identifier, and/or identify a non-included item in a shopping basket. - A
compatibility search engine 122 may communicate with theclient machine 102 and/or theprovider 106 to receive a request for compatibility verification, determine that an item is compatible with a parent item and provide compatibility verification in response. -
FIG. 2 illustrates an exampletext conversion subsystem 200 that may be deployed as theprocessing subsystem 112 in theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or that may be otherwise deployed in another system. Thetext conversion subsystem 200 may include a free-formtext receiver module 202, aterm extraction module 204, anitem identification module 206, a compatibilitydata notification module 208, a compatibilitydata access module 210, an itemdescriptor identification module 212, a parentitem identification module 214, anapproval module 216, a compatibility-basedtext construction module 218, an itemidentifier selection module 220, a matchingitem identification module 222, anavailability determination module 224, aresult provider module 226, aquery provider module 228, and/or anidentification receiver module 230. Other modules may also be included. In various embodiments, the modules may be distributed so that some of the modules may be deployed in theclient machine 102 and some of the modules may be deployed in theprovider 106. - The free-form
text receiver module 202 receives free-form text associated with an item. The item may be compatible with a parent item. The item may, in an example embodiment, be a part of the parent item. Theterm extraction module 204 extracts one or more terms from the free-form search query. - The
item identification module 206 identifies the item based on free-form text, extraction of the terms and/or an item identifier. Theitem identification module 206 may identify an item name of an item. The item name may be among the one or more terms. - The compatibility
data notification module 208 provides a compatibility-based notification of availability of a compatibility-based text for the item based on availability of thecompatibility data 114. The compatibilitydata access module 210 accesses thecompatibility data 114 for available compatibility-based search queries. The item and the parent item may be associated together within thecompatibility data 114. - The item
descriptor identification module 212 identifies an item descriptor in the free-form search text. The identification of the item may be based on the free-form text, extraction of the terms and/or access of thecompatibility data 114. The item descriptor may be a term of the extracted terms. The item descriptor may be, by way of example, a make, a model year, an engine type, a part number, or the like. - The parent
item identification module 214 identifies a parent item. The parent item may be identified by the parentitem identification module 214 from the free-form text. The parent item may be identified by the parentitem identification module 214 from extraction of one or more terms. The parent item may be identified by the parentitem identification module 214 by requesting identification of the parent item and receiving identification of the parent item. The parent item may be otherwise identified by the parentitem identification module 214. Theapproval module 216 provides an approval request to a user based on identification of the item and receives an approval response from the user. - The compatibility-based
text construction module 218 constructs compatibility-based text for an item based on a parent item, identification of an item descriptor, identification of the item, receipt of the approval request, and/or availability of theitem cluster 120 for the item. The compatibility-based text may be a compatibility-base search query used to search for one or more matching items. - The item
identifier selection module 220 selects one or more item identifiers based on a compatibility-based search query. The matchingitem identification module 222 identifies one or more matching items based on a compatibility-based search query and/or selection one or more the item identifiers. - The
availability determination module 224 determines availability of one or more matching items. Theresult provider module 226 provides a result based on identification and/or availability of one or more matching items. The result may include one or more of the matching items. The matching items may be, in an example embodiment, compatible parts for the parent item. - The
query provider module 228 provides a compatibility-based search query for an item to thecompatibility search engine 122. Theidentification receiver module 230 receives identification of the one or more matching items from thecompatibility search engine 122. -
FIG. 3 illustrates anexample clustering subsystem 300 that may be deployed may be deployed as theprocessing subsystem 112 in theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or that may be otherwise deployed in another system. Theclustering subsystem 300 may include a compatibilitydata access module 302, a parentitem identification module 304, acompatibility identification module 306, an itemcluster determination module 308, an itemcluster creation module 310, an itemcluster association module 312, a parentitem association module 314, anassociation identification module 316, acompatibility verification module 318, an itemcluster modification module 320, anotification receiver module 322, a parentitem determination module 324, anitem verification module 326, and/or anitem removal module 328. Other modules may also be included. In various embodiments, the modules may be distributed so that some of the modules may be deployed in theclient machine 102 and some of the modules may be deployed in theprovider 106. - A compatibility
data access module 302 accesses thecompatibility data 114 for an item and/or accessesadditional compatibility data 114 for a further item. The parentitem identification module 304 identifies a particular parent item within thecompatibility data 114 and/or identifies an additional parent item within thecompatibility data 114. - The
compatibility identification module 306 identifies compatibility of the item and the additional item with the particular parent item from thecompatibility data 114 and/or the additional parent item from thecompatibility data 114. - The item
cluster determination module 308 determines existence or absence of theitem cluster 120 for the item and the additional item. The itemcluster creation module 310 creates theitem cluster 120 for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from thecompatibility data 114, identification of the compatibility and/or absence of the item cluster. - The item
cluster association module 312 associates a compatibility identifier (e.g., a token) with theitem cluster 120 and/or associates the compatibility identifier with the additional parent item. The association of the compatibility identifier with the additional parent item may be based on the existence of theitem cluster 120. - The parent
item association module 314 associates the compatibility identifier with the parent item. Theassociation identification module 316 identifies an additional parent item associated with the compatibility identifier. - The
compatibility verification module 318 verifies that the further item is compatible with the additional parent item. The itemcluster modification module 320 modifies theitem cluster 120 for the item and the additional item based on compatibility of the item, the additional item, and the further item with the particular parent item and/or verification that the further item is compatible with the additional parent item. - The
notification receiver module 322 receives an incompatibility notification regarding the item and the parent item. The parentitem determination module 324 determines whether n additional parent item is associated with the compatibility identifier. - The
item verification module 326 verifies that the item is incompatible with the additional parent item. Theitem removal module 328 removes the item from theitem cluster 120 based on the receiving of the incompatibility notification and/or the verification of incompatibility. -
FIG. 4 illustrates an examplecompatibility identification subsystem 400 that may be deployed as theprocessing subsystem 112 in theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or that may be otherwise deployed in another system. Thecompatibility identification subsystem 400 may include atext access module 402, acompatibility identification module 404, anidentifier usage module 406, anintersection module 408, aquery verification module 410, aresult provider module 412, aposting module 414, and/or anadditional information module 416. Other modules may also be included. In various embodiments, the modules may be distributed so that some of the modules may be deployed in theclient machine 102 and some of the modules may be deployed in theprovider 106. - The
text access module 402 accesses compatibility-based text for an item and/or additional compatibility-based text for the item. The compatibility-based text may be a compatibility-based search query, a compatibility-based listing, or the like. - The
compatibility identification module 404 identifies a compatibility identifier based on the compatibility-based text and/or identifies an additional compatibility identifier based on the compatibility-based text and/or the additional compatibility-based text. The compatibility identifier may be associated with theitem cluster 120. The additional compatibility identifier may be associated with anadditional item cluster 120. - The
identifier usage module 406 uses the compatibility identifier to identify matching items and/or uses the additional compatibility identifier to identify additional matching items. Theintersection module 408 intersects the matching items with the additional matching items to obtain a matching result. - The
query verification module 410 verifies the compatibility-based search query based on identification of the matching items. - The
result provider module 412 provides a result based on identification of the matching items, intersection performed by theintersection module 408, and/or verification of the compatibility-based search query. Providing the result may include modifying a listing for the item based on identification of the matching items. The listing may include the compatibility-based text. Theposting module 414 posts the modified listing of the item. For example, the listing may be posted in an online commerce system that sells items at a fixed fee, via auction, or otherwise makes items available for sale. - The
additional information module 416 receives a selection of a matching item based on the providing of the result, accesses the additional information on the matching item (e.g., from the electronic catalog 108), and provides additional information on the matching item. -
FIG. 5 illustrates anexample analysis subsystem 500 that may be deployed as theprocessing subsystem 112 in theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or otherwise deployed in another system. Theanalysis subsystem 500 may include anitem access module 502, a parentitem identification module 504, a companionitem determination module 506, a non-includeditem identification module 508, anotification provider module 510, and/or theitem addition module 512. Other modules may also be included. In various embodiments, the modules may be distributed so that some of the modules may be deployed in theclient machine 102 and some of the modules may be deployed in theprovider 106. - The
item access module 502 accesses items in a shopping basket. The parentitem identification module 504 identifies a parent item associated with the items. - The companion
item determination module 506 determines companion items associated with the parent item. The non-includeditem identification module 508 identifies a non-included item in the shopping basket based on the accessing of the plurality of items and determining the identity of companion items. - The
notification provider module 510 provides a notification based on identification of the non-included item. Theitem addition module 512 adds the non-included item to the shopping basket. - In an example embodiment, one or more of the
subsystems processing subsystem 112 in thesystem 100. -
FIG. 6 illustrates amethod 600 for text conversion according to an example embodiment. Themethod 600 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 600 may operate to convert free-form text (e.g., a free-form search query) into compatibility-based text (e.g., a compatibility-based search query). The compatibility-based text may enable a user to receive more accurate results that reflect desired matching items. The matching items may be the exact item requested or compatible with the item requested. For example, a free-form search query for a specific type of MICROSOFT keyboard that includes a particular type of functionality (e.g., wireless connectivity) may be converted into a compatibility-based search query that may be used to return a result of all the keyboards that include the same type of functionality or a comparable type of functionality. For example, a query might be entered as “microsoft wireless keyboard 4000” to search for a MICROSOFT Wireless Laser Desktop 4000 wireless keyboard product and equivalent products. - The conversion of the free-form text into compatibility-based text by the
method 600 may increase consumer satisfaction with the results of the search and/or may enhance the likelihood that a product will be sold to the searching user. Themethod 600 may enable the user to locate a desired item even when the user fails to include a particular keyword in the free-form text (e.g., the user may have entered a specific manufacturer part number instead of the make and model of all the cars in which the part may work). - Free-form text associated with an item is received at
block 602. The item may be, by way of example, an accessory for a consumer electronic product (e.g., a remote control), a car part (e.g., a short block of an engine), or the like. Other items may also be used. An example of free-form text includes “2004 Honda break pads”. The free-form text may be in the form of a free-form search query or may be in another form. One or more terms are extracted from the free-form text atblock 604. - The parent item may be identified at
block 606. The parent item is an item with which the item of the text may be used. The item may be a part of the parent item, usable with the parent item, or otherwise associated with the parent item. For example, the item may be a remote control and the parent item may be a television, the item may be an air filter and the parent item may be an engine, or the like. - The parent item may be identified based on extraction of the terms. The parent item may be identified by requesting identification of the parent item and receiving the identification of the parent item. The parent item may be identified otherwise.
- At
block 608, the item is identified based on extraction of the terms. The item may be compatible with a parent item. In an example embodiment, an item name of the item may be identified during the operations atblock 608. The item name may be a term of the free-form text. - A determination of whether
compatibility data 114 is available for the item based on identification of the item may be made atblock 610. A compatibility-based notification may be provided atblock 612. The compatibility-based notification may be provided based on availability of thecompatibility data 114. - At
block 614, an approval request may be provided to a user based on identification of the item and/or providing of the compatibility-based notification. An approval response may be received from the user atblock 616 based on providing the approval request. - At
block 618, one or more item descriptors are identified in the free-form text based on the extraction of the terms. The item descriptor may be one or more terms of the free-form text. The item descriptor may be, by way of example, a make, a model year, an engine type, or a part number. For example, if the item is an engine, item descriptors in the free form search may include “volvo” “2006”, and/or “turbo”. - Compatibility-based text is constructed for the item at
block 620 based on the identity of the parent item, identification of the item descriptor, availability of thecompatibility data 114 for the item, and/or receiving an approval request. The compatibility-based text may include a compatibility-based search query that is capable of being used to search for matching items. The compatibility-based text may be used atblock 622. The compatibility-based text may be used to perform a search, list an item in an online marketplace, or may be otherwise used. -
FIG. 7 is an example diagram ofcompatibility data compatibility data FIG. 1 ) or may otherwise be used. - The
compatibility data 700 illustrates anitem 702 associated with threeparent items item 702. An example of thecompatibility data 700 with example data is shown inFIG. 7 as anair filter 710 is associated with threevehicles - The
compatibility data -
FIG. 8 illustrates amethod 800 for text conversion according to an example embodiment. Themethod 800 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 800 may operate to convert free-form text (e.g., a free-form search query) into compatibility-based text (e.g., a compatibility-based search query). The compatibility-based text may enable a user to receive more accurate results that reflect desired matching items. The matching items may be the exact item requested or compatible with the item requested. For example, a free-form search query for a specific type of MICROSOFT keyboard that includes a particular type of functionality (e.g., wireless connectivity) may be converted into a compatibility-based search query that may be used to return a result of all the keyboards that include the same type of functionality or a comparable type of functionality. - The conversion of the free-form text into compatibility-based text by the
method 800 may increase consumer satisfaction with the results of the search and/or may enhance the likelihood that a product will be sold to the searching user. Themethod 800 may enable the user to locate a desired item even when the user fails to include a particular keyword in the free-form text (e.g., the user may have entered a specific manufacturer part number instead of the make and model of all the cars in which the part may work). - Free-form text associated with an item is received at
block 802. An item identifier is identified within the free-form text atblock 804. The item is identified based on the item identifier atblock 806. - A parent item is identified based on extraction of terms at
block 808. The identification of the parent item may include, by way of example, requesting identification of the parent item based on identification of the item and receiving the identification of the parent item. - Compatibility-based text is constructed for the item based on the parent item and identification of the item at
block 810. The compatibility-based text may be a compatibility-based query capable of being used to search for matching items. The compatibility-based text may be used atblock 812. The compatibility-based text may be used to perform a search, list an item in an online marketplace, or may be otherwise used. -
FIG. 9 illustrates amethod 900 for query usage according to an example embodiment. Themethod 900 may be performed using information developed by performing the activities shown atblock 622 ofFIG. 6 , and/or block 812 ofFIG. 8 , or may be performed using other information. - The compatibility-based search query for the item is provided to the
compatibility search engine 122 atblock 902. Identification of the matching items is received from thecompatibility search engine 122 based on providing the compatibility-based search query atblock 904. -
FIG. 10 illustrates amethod 1000 for query usage according to an example embodiment. Themethod 1000 may be performed using information developed by performing the activities shown atblock 622 ofFIG. 6 , and/or block 812 ofFIG. 8 , or may be performed using other information. - Item identifiers may be selected based on the compatibility-based search query at
block 1002. Matching items based are identified atblock 1004 based on the compatibility-based search query. Identification of the matching items may be based on selection of the item identifiers. The matching items may be, by way of example, compatible parts for the parent item. - Availability of the matching items may be determined at
block 1006. The matching items may be determined by accessing the appropriate item cluster 120 (seeFIG. 1 ). - A query result based on identification of the matching items is provided at
block 1008. Providing the query result may be based on the availability of the matching items. The result may include, by way of example, one or more matching items. -
FIG. 11 illustrates amethod 1100 for clustering according to an example embodiment. Themethod 1100 may be performed by theclient machine 102 and/or theprovider 106 of the system 110 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 1100 may be used to record interoperability of one or more items with a parent item. For example, themethod 1100 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used. - Compatibility data 114 (see
FIG. 1 ) is accessed for an item atblock 1102. Thecompatibility data 114 may include one or more parent items with which the item is compatible. A particular parent item is identified within the compatibility data atblock 1104. - Absence of the
item cluster 120 for the item and an additional item may be determined atblock 1106. Atblock 1108, an item cluster is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item. The compatibility may be reflected in thecompatibility data 114. The creation of the item cluster may be based on the absence of the item cluster. - A compatibility identifier is associated with the item cluster at
block 1110. The compatibility identifier is associated with the parent item atblock 1112. -
FIG. 12 is an example diagram ofexample item clusters item clusters FIG. 1 ) or may otherwise be used. - The
item cluster 1200 illustrates acompatibility identifier 1202 associated with threeitems compatibility identifier 1202. Asingle parent item 1210 is associated with thecompatibility identifier 1202. However, multiple parent items may be associated with thecompatibility identifier 1202. - An example of the
item cluster 1200 using example data is shown inFIG. 12 . Acompatibility identifier 1214 is associated with threefilter brands air filter 1222 is associated with thecompatibility identifier 1214 as theparent item 1210. -
FIG. 13 illustrates amethod 1300 for clustering according to an example embodiment. Themethod 1300 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 1300 may be used to record interoperability of one or more items with a parent item. For example, themethod 1300 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used. - Compatibility data 114 (see
FIG. 1 ) is accessed for an item atblock 1302. Thecompatibility data 114 may include one or more parent items with which the item is compatible. A particular parent item is identified within thecompatibility data 114 atblock 1304. - Compatibility of the item and the additional item with the particular parent item may be identified from the
compatibility data 114 atblock 1306. Atblock 1308, theitem cluster 120 is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from thecompatibility data 114 and/or identification of the compatibility. - A compatibility identifier is associated with the
item cluster 120 atblock 1310. The compatibility identifier is associated with the parent item atblock 1312. -
FIG. 14 illustrates amethod 1400 for clustering according to an example embodiment. Themethod 1400 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 1400 may be used to record interoperability of one or more items with a parent item. For example, themethod 1400 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used. - Compatibility data 114 (see
FIG. 1 ) is accessed for an item atblock 1402. Thecompatibility data 114 may include a list of parent items with which the item is compatible. A particular parent item is identified within thecompatibility data 114 atblock 1404. - At
block 1406, the item cluster 120 (seeFIG. 1 ) is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from thecompatibility data 114. A compatibility identifier is associated with theitem cluster 120 atblock 1408. The compatibility identifier is associated with the parent item atblock 1410. -
Additional compatibility data 114 for a further item is accessed atblock 1412. Theadditional compatibility data 114 may be received from a user or otherwise accessed. An additional parent item associated with the compatibility identifier is identified atblock 1414. For example, the additional parent item may be identified as also being compatible with the items of theitem cluster 120. - Verification that the further item is compatible with the additional parent item may be performed at
block 1416. The verification may include analyzing theadditional compatibility data 114 for the further item to verify that the further item is compatible with the additional parent item. The verification may include providing a request for compatibility verification that the further item is compatible with the additional parent item to thecompatibility search engine 122 and receiving the compatibility verification in response to the providing of the request. - At
block 1418, theitem cluster 120 for the item and the additional item may be modified based on compatibility of the item, the additional item, and the further item with the particular parent item and/or verification that the further item is compatible with the additional parent item. - The item cluster may be modified to include the further item to reflect that the further item is also compatible with the parent item. For example, an additional air filter that has the same compatibility as a group of other air filters may be added as a further item to the
item cluster 120 for the air filters. -
FIG. 15 illustrates amethod 1500 for clustering according to an example embodiment. Themethod 1500 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ) or may be otherwise performed. - The
method 1500 may be used, in an example embodiment to remove an incompatible item from theitem cluster 120. - Compatibility data 114 (see
FIG. 1 ) is accessed for an item atblock 1502. Thecompatibility data 114 may include one or more parent items with which the item is compatible. A particular parent item is identified within thecompatibility data 114 atblock 1504. - At
block 1506, the item cluster 120 (seeFIG. 1 ) is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from thecompatibility data 114. - A compatibility identifier is associated with the
item cluster 114 atblock 1508. The compatibility identifier is associated with the parent item atblock 1510. - An additional parent item associated with the compatibility identifier may be identified at
block 1512. An incompatibility notification regarding the item and the parent item may be received atblock 1514. Verification that the item is incompatible with the additional parent item may be made atblock 1516. - The item may be removed from the
item cluster 120 based on the receiving of the incompatibility notification and/or the incompatibility verification atblock 1518. -
FIG. 16 illustrates amethod 1600 for clustering according to an example embodiment. Themethod 1600 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 1600 may be used to record interoperability of one or more items with a parent item. For example, themethod 1600 may be used to identify the car parts that can be used with particular cars and/or which cars can use various parts, the computer peripherals that may be used with particular computer systems and/or the computer systems that may work with particular computer peripherals, or may be otherwise used. - Compatibility data 114 (see
FIG. 1 ) is accessed for an item atblock 1602. Thecompatibility data 114 may include parent items with which the item is compatible. A particular parent item is identified on thecompatibility data 114 atblock 1604. - At
block 1606, the item cluster 120 (seeFIG. 1 ) is created for the item and an additional item based on compatibility of the item and the additional item with the particular parent item from thecompatibility data 114. - A compatibility identifier is associated with the
item cluster 120 atblock 1608. The compatibility identifier is associated with the parent item atblock 1610. - An additional parent item may be identified on the compatibility listing at
block 1612. Compatibility of the item and the additional item with the additional parent item may be determined from the item listing atblock 1614. - Existence of the
item cluster 114 for the item and the additional item may be determined atblock 1616. The compatibility identifier may be associated with the additional parent item atblock 1618. The association of the compatibility identifier with the additional parent item may be based on the existence of theitem cluster 120. -
FIG. 17 illustrates amethod 1700 for compatibility identification according to an example embodiment. Themethod 1700 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - The
method 1700 may be used, in an example embodiment, to locate items (e.g., parts or accessories) that will work with (e.g., fit) a particular parent item. Themethod 1700 may decompresscompressed compatibility data 114 by use of a compatibility identifier. - Compatibility-based text is accessed for an item at
block 1702. The compatibility-based text may include, by way of example, a compatibility-based search query, a compatibility-based listing, or the like. - A compatibility identifier is identified based on the compatibility-based text at
block 1704. The compatibility identifier may be associated with the item cluster 120 (seeFIG. 1 ). - The compatibility identifier is used to identify matching items at
block 1706. The compatibility-based search query may be verified based on identification of the matching items atblock 1708. - An additional compatibility identifier may be identified based on the compatibility-based text at
block 1710. The additional compatibility identifier may be associated with anadditional item cluster 120. The additional compatibility identifier may be used to identify additional matching items atblock 1712. For example, the compatibility-based text may be used to match more than oneitem cluster 120. By way of example, the compatibility-based text for the terms “canon digital rebel camera” may be used to match a first item cluster for compatible lens, a second item cluster for compatible flashes, a third item cluster for compatible grips, and so on. - The matching items may be intersected with the additional matching items to obtain a result at
block 1714. The intersection may identify items that are common in both sets of matching items. For example, the compatibility-based text for the terms “canon digital camera” may identify a first item cluster that is for items compatible with a point and shoot camera and a second item cluster that is for items compatible with a digital SLR camera. The intersection of the item clusters may reveal items that are compatible with both types of cameras (e.g., tripods). - A result is provided based on identification of the matching items and/or the intersecting at
block 1716. Providing the result may be based on verification of the compatibility-based search query. - A selection of a particular matching item of the matching items may be received based on the providing of the result at
block 1718. The additional information on the particular matching item may be accessed from theelectronic catalog 108 atblock 1720. - Additional information on the particular matching item may be provided at
block 1722. Providing the additional information may be based on accessing the additional information. -
FIG. 18 illustrates amethod 1800 for compatibility identification according to an example embodiment. Themethod 1800 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - Compatibility-based text is accessed for an item at
block 1802. The compatibility-based text may include, by way of example, a compatibility-based search query, a compatibility-based listing, or the like. - A compatibility identifier is identified based on the compatibility-based text at
block 1804. The compatibility identifier may be associated with the item cluster 120 (seeFIG. 1 ). The compatibility identifier is used to identify matching items atblock 1806. - The compatibility-based search query may be verified based on identification of the matching items at
block 1808. Additional compatibility-based text may be accessed for the item atblock 1810. - An additional compatibility identifier may be identified based on the additional compatibility-based text at
block 1812. The additional compatibility identifier may be associated with anadditional item cluster 120. - The additional compatibility identifier may be used to identify additional matching items at
block 1814. The matching items may be intersected with the additional matching items to obtain a matching result atblock 1816. - A matching result is provided based on identification of the matching items and/or the intersecting at
block 1818. The providing of the matching result may be based on verification the compatibility-based search query. - A selection of a particular matching item of the matching items may be received based on providing the matching result at
block 1820. The additional information on the particular matching item may be accessed from an electronic catalog atblock 1822. - Additional information on the particular matching item may be provided at
block 1824. The providing of the additional information may be based on the accessing of the additional information. -
FIG. 19 illustrates amethod 1900 for compatibility identification according to an example embodiment. Themethod 1900 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - Compatibility-based text is accessed for an item at
block 1902. The compatibility-based text may include, by way of example, a compatibility-based search query, a compatibility-based listing, or the like. - A compatibility identifier is identified based on the compatibility-based text at
block 1904. The compatibility identifier may be associated with the item cluster 120 (seeFIG. 1 ). The compatibility identifier is used to identify matching items atblock 1906. - The compatibility-based text may be verified based on identification of the matching items at
block 1908. A listing for the item is modified based on identification of the matching items atblock 1910. The listing may include the compatibility-based text. Providing the listing may be based on verification of the compatibility-based search query. The modified listing of the item may be posted atblock 1912. -
FIG. 20 illustrates amethod 2000 for item analysis according to an example embodiment. Themethod 2000 may be performed by theclient machine 102 and/or theprovider 106 of the system 100 (seeFIG. 1 ), or may be otherwise performed by another entity. - In an example embodiment, the
method 200 may be used to identify additional items that may be of interest to a user based on items currently included in an electronic shopping basket. - Items in a shopping basket are accessed at
block 2002. A parent item associated with the items is identified atblock 2004. The parent item may be identified based on the compatibility data 114 (seeFIG. 1 ) or may be otherwise identified. - Companion items associated with the parent item may be determined at
block 2006. Atblock 2008, a non-included item in the shopping basket may be identified based on the accessing of the items and the determining of the companion items. - The non-included item may be added to the shopping basket at
block 2010. A notification may be provided based on identification of the non-included item and/or the addition of the non-included item to the shopping basket atblock 2012. -
FIG. 21 is a network diagram depicting a client-server system 2100, within which various embodiments may be deployed. By way of example, anetwork 2104 may include the functionality of thenetwork 104, theprovider 106 may be deployed within anapplication server 2118, and theclient machine 102 may include the functionality of aclient machine 2110 or aclient machine 2112. Thesystem 2100 may also be deployed as a part of other systems. - A
networked system 2102, in the example form of a network-based marketplace or publication system, provides server-side functionality, via a network 2104 (e.g., the Internet or Wide Area Network (WAN)) to one or more clients.FIG. 21 illustrates, for example, a web client 2106 (e.g., a browser, such as the Internet Explorer browser developed by Microsoft Corporation of Redmond, Wash.), and aprogrammatic client 2108 executing onrespective client machines - An Application Program Interface (API)
server 2114 and aweb server 2116 are coupled to, and provide programmatic and web interfaces respectively to, one ormore application servers 2118. Theapplication servers 2118 host one ormore marketplace applications 2120 andauthentication providers 2122. Theapplication servers 2118 are, in turn, shown to be coupled to one ormore databases servers 2124 that facilitate access to one ormore databases 2126. - The
marketplace applications 2120 may provide a number of marketplace functions and services to users that access thenetworked system 2102. Theauthentication providers 2122 may likewise provide a number of payment services and functions to users. Theauthentication providers 2122 may allow users to accumulate value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via themarketplace applications 2120. While the marketplace andauthentication providers FIG. 21 to both form part of thenetworked system 2102, in alternative embodiments theauthentication providers 2122 may form part of a payment service that is separate and distinct from thenetworked system 2102. - Further, while the
system 2100 shown inFIG. 21 employs a client-server architecture, the various embodiments of the invention are of course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system, for example. The various marketplace andauthentication providers - The
web client 2106 accesses the various marketplace andauthentication providers web server 2116. Similarly, theprogrammatic client 2108 accesses the various services and functions provided by the marketplace andauthentication providers API server 2114. Theprogrammatic client 2108 may, for example, be a seller application (e.g., the TurboLister™ application developed by eBay Inc., of San Jose, Calif.) to enable sellers to author and manage listings on thenetworked system 2102 in an off-line manner, and to perform batch-mode communications between theprogrammatic client 2108 and thenetworked system 2102. -
FIG. 21 also illustrates athird party application 2128, executing on a thirdparty server machine 2130, as having programmatic access to thenetworked system 2102 via the programmatic interface provided by theAPI server 2114. For example, thethird party application 2128 may, utilizing information retrieved from thenetworked system 2102, support one or more features or functions on a website hosted by the third party. The third party may, for example, provide one or more promotional, marketplace or payment functions that are supported by the relevant applications of thenetworked system 2102. -
FIG. 22 is a block diagram illustratingmultiple applications FIG. 21 ). Theapplications 2120 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between server machines. The applications themselves are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, so as to allow information to be passed between the applications or so as to allow the applications to share and access common data. The applications may operate to access one ormore databases 2126 via thedatabase servers 2124. - The
networked system 2102 may provide a number of publishing, listing and price-setting mechanisms whereby a seller may list (or publish information concerning) goods or services for sale, a buyer can express interest in or indicate a desire to purchase such goods or services, and a price can be set for a transaction pertaining to the goods or services. To this end, themarketplace applications 2120 are shown to include at least onepublication application 2200 and one ormore auction applications 2202 which support auction-format listing and price setting mechanisms (e.g., English, Dutch, Vickrey, Chinese, Double, Reverse auctions etc.). Thevarious auction applications 2202 may also provide a number of features in support of such auction-format listings, such as a reserve price feature whereby a seller may specify a reserve price in connection with a listing and a proxy-bidding feature whereby a bidder may invoke automated proxy bidding. - A number of fixed-
price applications 2204 support fixed-price listing formats (e.g., the traditional classified advertisement-type listing or a catalogue listing) and buyout-type listings. Specifically, buyout-type listings (e.g., including the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.) may be offered in conjunction with auction-format listings, and allow a buyer to purchase goods or services, which are also being offered for sale via an auction, for a fixed-price that is typically higher than the starting price of the auction. -
Store applications 2206 allow a seller to group listings within a “virtual” store, which may be branded and otherwise personalized by and for the seller. Such a virtual store may also offer promotions, incentives and features that are specific and personalized to a relevant seller. -
Reputation applications 2208 allow users that transact, utilizing thenetworked system 2102, to establish, build and maintain reputations, which may be made available and published to potential trading partners. Consider that where, for example, thenetworked system 2102 supports person-to-person trading, users may otherwise have no history or other reference information whereby the trustworthiness and credibility of potential trading partners may be assessed. Thereputation applications 2208 allow a user, for example through feedback provided by other transaction partners, to establish a reputation within thenetworked system 2102 over time. Other potential trading partners may then reference such a reputation for the purposes of assessing credibility and trustworthiness. -
Personalization applications 2210 allow users of thenetworked system 2102 to personalize various aspects of their interactions with thenetworked system 2102. For example a user may, utilizing anappropriate personalization application 2210, create a personalized reference page at which information regarding transactions to which the user is (or has been) a party may be viewed. Further, apersonalization application 2210 may enable a user to personalize listings and other aspects of their interactions with thenetworked system 2102 and other parties. - The
networked system 2102 may support a number of marketplaces that are customized, for example, to operate in specific geographic regions. A version of thenetworked system 2102 may be customized for operations in the United Kingdom, whereas another version of thenetworked system 2102 may be customized for operations in the United States. Each of these versions may operate as an independent marketplace, or may be customized (or internationalized and/or localized) presentations of a common underlying marketplace. Thenetworked system 2102 may accordingly include a number ofinternationalization applications 2212 that customize information (and/or the presentation of information) by thenetworked system 2102 according to predetermined criteria (e.g., geographic, demographic or marketplace criteria). For example, theinternationalization applications 2212 may be used to support the customization of information for a number of regional websites that are operated by thenetworked system 2102 and that are accessible viarespective web servers 2116. - Navigation of the
networked system 2102 may be facilitated by one ormore navigation applications 2214. For example, a search application (as an example of a navigation application) may enable key word searches of listings published via thenetworked system 2102. A browse application may allow users to browse various category, catalogue, or system inventory structures according to which listings may be classified within thenetworked system 2102. Various other navigation applications may be provided to supplement the search and browsing applications. - In order to make listings available via the
networked system 2102 informative and attractive, themarketplace applications 2120 may include one ormore imaging applications 2216 utilizing which users may upload images for inclusion within listings. Animaging application 2216 also operates to incorporate images within viewed listings. Theimaging applications 2216 may also support one or more promotional features, such as image galleries that are presented to potential buyers. For example, sellers may pay an additional fee to have an image included within a gallery of images for promoted items. -
Listing creation applications 2218 allow sellers conveniently to author listings pertaining to goods or services that they wish to transact via thenetworked system 2102, andlisting management applications 2200 allow sellers to manage such listings. Specifically, where a particular seller has authored and/or published a large number of listings, the management of such listings may present a challenge. Thelisting management applications 2200 provide a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the seller in managing such listings. One or morepost-listing management applications 2202 also assist sellers with a number of activities that typically occur post-listing. For example, upon completion of an auction facilitated by one ormore auction applications 2102, a seller may wish to leave feedback regarding a particular buyer. To this end, apost-listing management application 2202 may provide an interface to one ormore reputation applications 2208, so as to allow the seller conveniently to provide feedback regarding multiple buyers to thereputation applications 2208. -
Dispute resolution applications 2214 provide mechanisms whereby disputes arising between transacting parties may be resolved. For example, thedispute resolution applications 2214 may provide guided procedures whereby the parties are guided through a number of steps in an attempt to settle a dispute. In the event that the dispute cannot be settled via the guided procedures, the dispute may be escalated to a merchant mediator or arbitrator. - A number of
fraud prevention applications 2226 implement fraud detection and prevention mechanisms to reduce the occurrence of fraud within thenetworked system 2102. -
Messaging applications 2228 may be used to generate and deliver messages to users of thenetworked system 2102, such messages for example may advise users regarding the status of listings at the networked system 2102 (e.g., providing “outbid” notices to bidders during an auction process or to provide promotional and merchandising information to users).Respective messaging applications 2228 may utilize any one of a number of message delivery networks and platforms to deliver messages to users. For example,messaging applications 2228 may deliver electronic mail (e-mail), instant message (IM), Short Message Service (SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP)) messages via the wired (e.g., the Internet), Plain Old Telephone Service (POTS), or wireless (e.g., mobile, cellular, WiFi, WiMAX) networks. -
Merchandising applications 2230 support various merchandising functions that are made available to sellers to enable sellers to increase sales via thenetworked system 2102. Themerchandising applications 2230 also operate the various merchandising features that may be invoked by sellers, and may monitor and track the success of merchandising strategies employed by sellers. - The
networked system 2102 itself, or one or more parties that transact via thenetworked system 2102, may operate loyalty programs that are supported by one or more loyalty/promotions applications 2232. For example, a buyer may earn loyalty or promotions points for each transaction established and/or concluded with a particular seller, and may be offered a reward for which accumulated loyalty points can be redeemed. -
FIG. 23 shows a block diagram of a machine in the example form of acomputer system 2300. A set of instructions may be executed by thecomputer system 2300, causing the machine to perform any one or more of the methods, processes, operations, or methodologies discussed herein. For example, theprovider 106 and/or thecompatibility search engine 122 may operate on one or more computer systems 2300 (seeFIG. 1 ). Theclient machine 102 may include the functionality of the one ormore computer systems 2300. - The machine may operate as a standalone device, or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
- The
example computer system 2300 includes a processor 2302 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), amain memory 2304 and astatic memory 2306, which communicate with each other via abus 2308. Thecomputer system 2300 may further include a video display unit 2310 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). Thecomputer system 2300 also includes an alphanumeric input device 2312 (e.g., a keyboard), a cursor control device 2314 (e.g., a mouse), adrive unit 2316, a signal generation device 2318 (e.g., a speaker) and anetwork interface device 2320. - The
drive unit 2316 includes a machine-readable medium 2322 on which is stored one or more sets of instructions (e.g., software 2324) embodying any one or more of the methodologies or functions described herein. Thesoftware 2324 may also reside, completely or at least partially, within themain memory 2304 and/or within theprocessor 2302 during execution thereof by thecomputer system 2300, themain memory 2304 and theprocessor 2302 also constituting machine-readable media. - The
software 2324 may further be transmitted or received over anetwork 2326 via thenetwork interface device 2320. - While the machine-
readable medium 2322 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical, and magnetic media, and carrier wave signals. - Certain systems, apparatus, applications or processes are described herein as including a number of modules or mechanisms. A module or a mechanism may be a unit of distinct functionality that can provide information to, and receive information from, other modules. Accordingly, the described modules may be regarded as being communicatively coupled. Modules may also initiate communication with input or output devices, and can operate on a resource (e.g., a collection of information). The modules be implemented as hardware circuitry, optical components, single or multi-processor circuits, memory circuits, software program modules and objects, firmware, and combinations thereof, as appropriate for particular implementations of various embodiments.
- In an example embodiment, free-form text associated with an item may be received. The item may be identified based on the free-form text. The item may be compatible with a parent item. The parent item may be identified based on the free-form text. An item descriptor may be identified in the free-form text. The item descriptor may be a particular term of the free-form text. Compatibility-based text may be constructed for the item based on identification of the parent item and the item descriptor. The compatibility-based text may be capable of being used to identify a plurality of matching items.
- In an example embodiment, a free-form search query for an item may be received. An item identifier within the free-form search query may be identified. The item may be identified based on the item identifier. A parent item may be identified based on the extracting of the plurality of terms. A particular compatibility-based search query may be constructed for the item based on the parent item and identification of the item. The particular compatibility-based search query may be capable of being used to search for a plurality of matching items.
- In an example embodiment, compatibility data may be accessed for an item. The compatibility data may include a plurality of parent items with which the item is compatible. A particular parent item within the compatibility data may be identified. An item cluster for the item and an additional item may be created based on compatibility of the item and the additional item with the particular parent item within the compatibility data. A compatibility identifier may be associated with the item cluster. The compatibility identifier may be associated with the parent item.
- In an example embodiment, compatibility-based text for an item may be accessed. A compatibility identifier may be identified based on the compatibility-based text. The compatibility identifier may be associated with an item cluster. The compatibility identifier may be used to identify a plurality of matching items. A result may be provided based on identification of the plurality of matching items.
- In an example embodiment, a plurality of items in a shopping basket may be accessed. A parent item associated with the plurality of items may be identified. A plurality of companion items associated with the parent item may be determined. A non-included item in the shopping basket may be identified based on the accessing of the plurality of items and the determining of the plurality of companion items.
- Thus, methods and systems for text conversion have been described. Although embodiments of the invention have been described with reference to specific examples, it will be evident that various modifications and changes may be made without departing from the broader scope of the various embodiments. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
- The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.
Claims (25)
1. A method comprising:
receiving free-form text associated with an item;
identifying the item based on the free-form text, the item being compatible with a parent item;
identifying the parent item based on the free-form text;
identifying an item descriptor in the free-form text, the item descriptor being a particular term of the free-form text; and
constructing compatibility-based text for the item based on identification of the parent item and the item descriptor, the compatibility-based text capable of being used to identify a plurality of matching items.
2. The method of claim 1 , further comprising:
extracting a plurality of terms from the free-form text,
wherein the identifying of the item and the identifying of the item descriptor is based on the extracting of the plurality of terms.
3. The method of claim 2 , wherein the identifying of the item comprises:
identifying an item name of the item, the item name being another term of the plurality of terms.
4. The method of claim 1 , further comprising:
identifying the plurality of matching items based on the compatibility-based text; and
providing a result based on the identifying of the plurality of matching items.
5. The method of claim 4 , further comprising:
determining availability of the plurality of matching items,
wherein the providing of the result is based on the availability of the plurality of matching items.
6. The method of claim 4 , further comprising:
selecting a plurality of item identifiers based on the compatibility-based text,
wherein the identifying of the plurality of matching items is based on selection of the plurality of item identifiers.
7. The method of claim 4 , wherein the result includes the plurality of matching items or a particular matching item of the plurality of matching items.
8. The method of claim 4 , wherein the plurality of matching items comprise a plurality of compatible parts for the parent item.
9. The method of claim 1 , further comprising:
providing the compatibility-based text for the item to a compatibility search engine; and
receiving identification of the plurality of matching items from the compatibility search engine based on the providing of the compatibility-based text.
10. The method of claim 1 , further comprising:
determining whether compatibility data is available for the item based on the identifying of the item,
wherein the constructing of the particular compatibility-based text is based on availability of the compatibility data for the item.
11. The method of claim 10 , further comprising:
providing a compatibility-based notification of availability of the compatibility-based text for the item based on availability of the compatibility-based information.
12. The method of claim 1 , wherein the item comprises a part of the parent item.
13. The method of claim 1 , wherein the free-form text associated with the item comprises a free-from search query for the item.
14. The method of claim 1 , wherein the free-form text associated with the item comprises an item listing for the item.
15. The method of claim 1 , wherein the constructing of the compatibility-based text comprises:
constructing a particular compatibility-based search query for the item based on identification of the parent item and the item descriptor, the particular compatibility-based search query capable of being used to search for the plurality of matching items.
16. A method comprising:
receiving free-form text associated with an item;
identifying the item based on the free-form text, the item being compatible with a parent item;
requesting identification of the parent item based on the identifying of the item; and
receiving the identification of the parent item in response to the requesting of the identification;
identifying an item descriptor in the free-form text, the item descriptor being a particular term of the free-form text; and
constructing compatibility-based text for the item based on identification of the parent item and the item descriptor, the compatibility-based text capable of being used to identify a plurality of matching items.
17. The method of claim 16 , further comprising:
extracting a plurality of terms from the free-form text,
wherein the identifying of the item and the identifying of the item descriptor is based on the extracting of the plurality of terms.
18. The method of claim 16 , further comprising:
identifying the plurality of matching items based on the compatibility-based text; and
providing a result based on the identifying of the plurality of matching items.
19. The method of claim 1 , wherein the free-form text associated with the item is an item listing for the item.
20. The method of claim 1 , wherein the constructing of the compatibility-based text comprises:
constructing a particular compatibility-based search query for the item based on identification of the parent item and the item descriptor, the particular compatibility-based search query capable of being used to search for the plurality of matching items.
21. The method of claim 16 , wherein the item descriptor is a make, a model year, an engine type, or a part number.
22. A machine-readable medium comprising instructions, which when executed by one or more processors, results in the one or more processors performing the following operations:
receive free-form text associated with an item;
identify the item based on the free-form text, the item being compatible with a parent item;
identify the parent item as an identified parent based on the free-form text;
identify an item descriptor in the free-form text as an identified descriptor, the item descriptor being a particular term of the free-form text; and
construct compatibility-based text for the item based on the identified parent and the identified descriptor, the compatibility-based text capable of being used to identify a plurality of matching items.
23. The machine-readable medium of claim 22 further comprising instructions, which when executed by the one or more processors results in the one or more processors performing the following operations:
determine availability of the plurality of matching items,
wherein the result is provided based on the availability of the plurality of matching items.
24. A system comprising:
a free-form text receiver module to receive free-form text associated with an item;
an item identification module to identify the item based on the free-form text received by the free-form text receiver module, the item being compatible with a parent item;
a parent item identification module to identify the parent item based on the free-form text received by the free-form text receiver module;
an item descriptor identification module to identify an item descriptor in the free-form text received by the free-form text receiver module, the item descriptor being a particular term of the free-form text; and
a compatibility-based text construction module to construct compatibility-based text for the item based on identification of the parent item by the parent item identification module and the item descriptor by the item descriptor identification module, the compatibility-based text capable of being used to identify a plurality of matching items.
25. The system of claim 14 , further comprising:
a term extraction module to extract a plurality of terms from the free-form text,
wherein identification of the item by the item identification module and identification of the item descriptor is based on extraction of the plurality of terms by the term extraction module.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/234,377 US20100082571A1 (en) | 2008-09-19 | 2008-09-19 | Text conversion |
US12/234,439 US9576021B2 (en) | 2008-09-19 | 2008-09-19 | Item matching |
US15/428,910 US11003698B2 (en) | 2008-09-19 | 2017-02-09 | Item matching |
US15/480,590 US10360250B2 (en) | 2008-09-19 | 2017-04-06 | Text conversion |
US16/439,991 US11868383B2 (en) | 2008-09-19 | 2019-06-13 | Text conversion |
US17/231,170 US11636142B2 (en) | 2008-09-19 | 2021-04-15 | Item matching |
US18/120,214 US20230214414A1 (en) | 2008-09-19 | 2023-03-10 | Item matching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/234,377 US20100082571A1 (en) | 2008-09-19 | 2008-09-19 | Text conversion |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/480,590 Continuation US10360250B2 (en) | 2008-09-19 | 2017-04-06 | Text conversion |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100082571A1 true US20100082571A1 (en) | 2010-04-01 |
Family
ID=42058566
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/234,377 Abandoned US20100082571A1 (en) | 2008-09-19 | 2008-09-19 | Text conversion |
US15/480,590 Active 2028-11-23 US10360250B2 (en) | 2008-09-19 | 2017-04-06 | Text conversion |
US16/439,991 Active 2032-02-16 US11868383B2 (en) | 2008-09-19 | 2019-06-13 | Text conversion |
US17/231,170 Active 2028-10-01 US11636142B2 (en) | 2008-09-19 | 2021-04-15 | Item matching |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/480,590 Active 2028-11-23 US10360250B2 (en) | 2008-09-19 | 2017-04-06 | Text conversion |
US16/439,991 Active 2032-02-16 US11868383B2 (en) | 2008-09-19 | 2019-06-13 | Text conversion |
US17/231,170 Active 2028-10-01 US11636142B2 (en) | 2008-09-19 | 2021-04-15 | Item matching |
Country Status (1)
Country | Link |
---|---|
US (4) | US20100082571A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082623A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item clustering |
US20100082572A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item matching |
US10360250B2 (en) | 2008-09-19 | 2019-07-23 | Ebay Inc. | Text conversion |
US20220138826A1 (en) * | 2020-11-03 | 2022-05-05 | Ebay Inc. | Computer Search Engine Ranking For Accessory And Sub-Accessory Requests |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020145002A1 (en) * | 2001-04-06 | 2002-10-10 | Mei-Chu Hung | Control device for cigarette packs |
US20030149679A1 (en) * | 2000-08-29 | 2003-08-07 | Na Jong Bum | Optimal high-speed multi-resolution retrieval method on large capacity database |
US20040143600A1 (en) * | 1993-06-18 | 2004-07-22 | Musgrove Timothy Allen | Content aggregation method and apparatus for on-line purchasing system |
US20060242147A1 (en) * | 2005-04-22 | 2006-10-26 | David Gehrking | Categorizing objects, such as documents and/or clusters, with respect to a taxonomy and data structures derived from such categorization |
US20070033221A1 (en) * | 1999-06-15 | 2007-02-08 | Knova Software Inc. | System and method for implementing a knowledge management system |
US20070143327A1 (en) * | 2005-12-20 | 2007-06-21 | Luis Rivas | Application generator for data transformation applications |
US20070143266A1 (en) * | 2005-12-21 | 2007-06-21 | Ebay Inc. | Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension |
US7409393B2 (en) * | 2004-07-28 | 2008-08-05 | Mybizintel Inc. | Data gathering and distribution system |
US20090153327A1 (en) * | 2007-12-12 | 2009-06-18 | Stephan Hartwig | Wireless association |
US20100082623A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item clustering |
US20100082572A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item matching |
US8762214B1 (en) * | 2006-11-14 | 2014-06-24 | Nvidia Corporation | Configuration based hierarchical product selection and product e-commerce agent management |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094652A (en) | 1998-06-10 | 2000-07-25 | Oracle Corporation | Hierarchical query feedback in an information retrieval system |
US7359871B1 (en) | 1999-03-02 | 2008-04-15 | Alticor Investments Inc. | System and method for managing recurring orders in a computer network |
US6785671B1 (en) | 1999-12-08 | 2004-08-31 | Amazon.Com, Inc. | System and method for locating web-based product offerings |
AU6263101A (en) | 2000-05-26 | 2001-12-03 | Tzunami Inc. | Method and system for organizing objects according to information categories |
US8032506B1 (en) | 2000-08-25 | 2011-10-04 | Andrej Gregov | User-directed product recommendations |
US8249885B2 (en) | 2001-08-08 | 2012-08-21 | Gary Charles Berkowitz | Knowledge-based e-catalog procurement system and method |
US20030130897A1 (en) * | 2002-01-07 | 2003-07-10 | Pickover Clifford A. | System and method for automatic addition to online shopping carts |
US7139769B2 (en) | 2002-03-11 | 2006-11-21 | Norman Ken Ouchi | Catalog, catalog query, and item identifier for configurable items |
US6920459B2 (en) * | 2002-05-07 | 2005-07-19 | Zycus Infotech Pvt Ltd. | System and method for context based searching of electronic catalog database, aided with graphical feedback to the user |
US8166033B2 (en) * | 2003-02-27 | 2012-04-24 | Parity Computing, Inc. | System and method for matching and assembling records |
US7533081B2 (en) | 2004-02-06 | 2009-05-12 | General Electric Company | Systems, methods and apparatus to determine relevance of search results in whole/part search |
US7904348B2 (en) | 2004-05-05 | 2011-03-08 | Eplus Systems, Inc. | System and method for eCatalog supplier portal |
KR100721406B1 (en) | 2005-07-27 | 2007-05-23 | 엔에이치엔(주) | Product searching system and method using search logic according to each category |
US20100198773A1 (en) * | 2006-11-06 | 2010-08-05 | Promethean Ventures, Llc | System and method of using movie taste for compatibility matching |
US7765227B1 (en) * | 2007-03-30 | 2010-07-27 | A9.Com, Inc. | Selection of search criteria order based on relevance information |
US7966225B2 (en) | 2007-03-30 | 2011-06-21 | Amazon Technologies, Inc. | Method, system, and medium for cluster-based categorization and presentation of item recommendations |
US8850362B1 (en) | 2007-11-30 | 2014-09-30 | Amazon Technologies, Inc. | Multi-layered hierarchical browsing |
US20100082571A1 (en) | 2008-09-19 | 2010-04-01 | Gurudatta Horantur Shivaswamy | Text conversion |
-
2008
- 2008-09-19 US US12/234,377 patent/US20100082571A1/en not_active Abandoned
-
2017
- 2017-04-06 US US15/480,590 patent/US10360250B2/en active Active
-
2019
- 2019-06-13 US US16/439,991 patent/US11868383B2/en active Active
-
2021
- 2021-04-15 US US17/231,170 patent/US11636142B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143600A1 (en) * | 1993-06-18 | 2004-07-22 | Musgrove Timothy Allen | Content aggregation method and apparatus for on-line purchasing system |
US20070033221A1 (en) * | 1999-06-15 | 2007-02-08 | Knova Software Inc. | System and method for implementing a knowledge management system |
US20030149679A1 (en) * | 2000-08-29 | 2003-08-07 | Na Jong Bum | Optimal high-speed multi-resolution retrieval method on large capacity database |
US20020145002A1 (en) * | 2001-04-06 | 2002-10-10 | Mei-Chu Hung | Control device for cigarette packs |
US7409393B2 (en) * | 2004-07-28 | 2008-08-05 | Mybizintel Inc. | Data gathering and distribution system |
US20060242147A1 (en) * | 2005-04-22 | 2006-10-26 | David Gehrking | Categorizing objects, such as documents and/or clusters, with respect to a taxonomy and data structures derived from such categorization |
US20070143327A1 (en) * | 2005-12-20 | 2007-06-21 | Luis Rivas | Application generator for data transformation applications |
US20070143266A1 (en) * | 2005-12-21 | 2007-06-21 | Ebay Inc. | Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension |
US8762214B1 (en) * | 2006-11-14 | 2014-06-24 | Nvidia Corporation | Configuration based hierarchical product selection and product e-commerce agent management |
US20090153327A1 (en) * | 2007-12-12 | 2009-06-18 | Stephan Hartwig | Wireless association |
US20100082623A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item clustering |
US20100082572A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item matching |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082623A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item clustering |
US20100082572A1 (en) * | 2008-09-19 | 2010-04-01 | Aditya Arora | Item matching |
US9576021B2 (en) | 2008-09-19 | 2017-02-21 | Ebay Inc. | Item matching |
US10360250B2 (en) | 2008-09-19 | 2019-07-23 | Ebay Inc. | Text conversion |
US11003698B2 (en) | 2008-09-19 | 2021-05-11 | Ebay Inc. | Item matching |
US11636142B2 (en) | 2008-09-19 | 2023-04-25 | Ebay Inc. | Item matching |
US11868383B2 (en) | 2008-09-19 | 2024-01-09 | Ebay Inc. | Text conversion |
US20220138826A1 (en) * | 2020-11-03 | 2022-05-05 | Ebay Inc. | Computer Search Engine Ranking For Accessory And Sub-Accessory Requests |
US11875390B2 (en) * | 2020-11-03 | 2024-01-16 | Ebay Inc. | Computer search engine ranking for accessory and sub-accessory requests systems, methods, and manufactures |
Also Published As
Publication number | Publication date |
---|---|
US20170212956A1 (en) | 2017-07-27 |
US11868383B2 (en) | 2024-01-09 |
US20210256042A1 (en) | 2021-08-19 |
US11636142B2 (en) | 2023-04-25 |
US20190294622A1 (en) | 2019-09-26 |
US10360250B2 (en) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9824120B2 (en) | Method and system for presenting search results in a plurality of tabs | |
US20230214414A1 (en) | Item matching | |
US20180307772A1 (en) | Method and system for mobile publication | |
US11222065B2 (en) | System and method for managing an item collection | |
US11636142B2 (en) | Item matching | |
US20060271460A1 (en) | Method and system to provide user created social networks in a distributed commerce system | |
AU2010101427A4 (en) | Method and system for clustering | |
US7801949B2 (en) | Configurable interfaces | |
US20100082623A1 (en) | Item clustering | |
US20140280016A1 (en) | Autocomplete-based advertisements | |
US20100082354A1 (en) | User definition and identification | |
US20110173543A1 (en) | System and method to assist customers in selecting compatible components of a product | |
US20090254470A1 (en) | Method and system for sharing searches | |
US11416949B2 (en) | Method and system for payment delegation using personalized multimedia mechanism | |
US20150286999A1 (en) | Method and system for transaction processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: EBAY INC.,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHIVASWAMY, GURUDATTA HORANTUR;ARORA, ADITYA;JOHNSON, BRIAN M.;SIGNING DATES FROM 20080918 TO 20080919;REEL/FRAME:022232/0386 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |