Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR PREDICTIVE QUOTING
Document Type and Number:
WIPO Patent Application WO/2019/051618
Kind Code:
A1
Abstract:
A method and system for predictive quoting are provided. A first request is received, and includes at least one set of descriptors, each corresponding to one of a set of product types. For each of the at least one set of descriptors, at least one of the set of product types that the set of descriptors corresponds to is selected based at least partially on similarities between the set of descriptors and at least one expected set of descriptors for each of the set of product types. At least one of a confirmation and a rejection of the predicted product type for each of the at least one set of the descriptors by a user is registered. The set of product types each of the at least one set of descriptors corresponds to is predicted for subsequent requests based at least partially on previously registered confirmations and rejections.

Inventors:
CHAPMAN JEREMY (US)
Application Number:
PCT/CA2018/051161
Publication Date:
March 21, 2019
Filing Date:
September 18, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LEAP GROUP INC (CA)
International Classes:
G06Q10/08; G06F16/903
Domestic Patent References:
WO2007127226A22007-11-08
WO2012071396A12012-05-31
Foreign References:
US20140337200A12014-11-13
Other References:
See also references of EP 3676772A4
Attorney, Agent or Firm:
MILLMAN IP INC. (CA)
Download PDF:
Claims:
CLAIMS

1 . A method for predictive quoting, comprising:

receiving a first request, via a computer system, including at least one set of descriptors, each of the at least one set of descriptors corresponding to one of a set of product types;

parsing the request to identify the at least one set of descriptors at least partially based on token set rules stored in storage of the computer system;

parsing each of the at least one set of descriptors at least partially based on the token set rules to identify each of the descriptors in the set;

selecting, for each of the at least one set of descriptors, at least one of the set of product types that the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and at least one set of descriptors for each of the set of product types stored in the storage of the computer system;

registering at least one of a confirmation and a rejection of the predicted product type for each of the at least one set of the descriptors by a user; and

predicting, by the computer system, which of the set of product types each of the at least one set of descriptors corresponds to for subsequent requests based at least partially on previously registered confirmations and rejections for the at least one set of descriptors and the selected product types.

2. A method according to claim 1 , wherein the at least one set of descriptors comprises at least two sets of descriptors.

3. A method according to claim 2, wherein each of the at least two sets of descriptors comprises an ordered set of descriptors.

4. A method according to claim 3, further comprising: performing a first query of a supply database to select a first set of supply records corresponding with the selected product type for each of the at least two sets of descriptors;

performing a second query of the supply database to select a second set of supply records for the selected product type using a set of alternative satisfaction rules for each of the at least two sets of descriptors; and

generating a user interface presenting the first set and the second set of supply records.

5. A method according to claim 4, wherein the performing the second query is only performed when the first set of supply records is empty.

6. A method according to claim 3, wherein the parsing of each of the at least two sets of descriptors comprises:

using a set of token set rules stored by the computer system that specify how to identify descriptors in the first request.

7. A method according to claim 1 , further comprising:

receiving a list of supplied resources, via a computer system, including at least two sets of descriptors;

parsing the list of supplied resources to identify the at least two sets of descriptors; parsing each of the at least two sets of descriptors to identify each of the descriptors in the sets;

selecting, for each of the at least two sets of descriptors, by the computer system, one of the set of product types the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and a set of descriptors for each of the set of product types;

registering at least one of an acceptance and a rejection of the predicted product type for each of the at least two sets of the descriptors by a user; predicting, by the computer system, which of the set of product types each of the at least two sets of descriptors corresponds to for subsequent requests based at least partially on previously registered confirmations and rejections for the at least two sets of descriptors and the selected product types; and

populating a supply database with the accepted product type for each of the at least two sets of descriptors.

8. A method for predictive quoting, comprising:

receiving requests, via a computer system, each of the requests including at least one set of descriptors, each of the at least one set of descriptors corresponding to one of a set of product types;

parsing each of the requests to identify the at least one set of descriptors at least partially based on token set rules stored in storage of the computer system;

parsing each of the at least one set of descriptors at least partially based on the token set rules to identify each of the descriptors in the set;

selecting, for each of the sets of descriptors, by the computer system, one of the set of product types the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and a set of descriptors for each of the set of product types stored in the storage of the computer system;

registering at least one of a confirmation and a rejection of the predicted product type for each of the at least one set of descriptors by a user; and

training, by the computer system, which of the set of product types each of the at least one set of descriptors corresponds to using the registered confirmation or rejection for the at least one set of descriptors and the selected product types.

9. A method according to claim 8, wherein each of the at least one set of descriptors comprises an ordered set of descriptors.

10. A computer system, comprising: at least one processor;

a storage storing supply data, token set rules, quote satisfaction rules, descriptor string delimiters, descriptor delimiters, expected sets of descriptors for product types, and computer executable instructions that, when executed by the at least one processor, cause the at least one processor to:

receive a first request including at least one set of descriptors, each of the at least one set of descriptors corresponding to one of a set of product types; parse the request to identify the at least one set of descriptors at least partially based on the token set rules;

parse each of the at least one set of descriptors at least partially based on the token set rules to identify each of the descriptors in the set;

select, for each of the at least one set of descriptors, at least one of the set of product types that the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and at least one expected set of descriptors for each of the set of product types;

register at least one of a confirmation and a rejection of the predicted product type for each of the at least one set of the descriptors by a user; and

predict, by the computer system, which of the set of product types each of the at least one set of descriptors corresponds to for subsequent requests based at least partially on previously registered confirmations and rejections for the at least one set of descriptors and the selected product types.

Description:
SYSTEM AND METHOD FOR PREDICTIVE QUOTING

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part of U.S. Application No. 16/044,961 , filed on July 25, 2018, which claims the benefit of U.S. Provisional Application No. 62/560,125, filed September 18, 2017, the contents of which are incorporated herein by reference in their entirety.

FIELD

[0002] The specification relates generally to artificial intelligence systems. In particular, the following relates to a system and method for predictive quoting. BACKGROUND OF THE DISCLOSURE

[0003] In some industries, there are a wide variety of manners in which different materials and components are described. Procurers can have different contexts and experience, can be from multiple industries and sizes, representing small fabrication businesses to large engineering, procurement, construction and manufacturing corporations. These buyers may be interested in purchasing raw, semi-finished, or finished industrial materials and/or components, such as, for example, metal components, on a frequent basis, to build a product for end-user clients. Traditionally, in order to purchase these semi-finished industrial materials and parts, the buyers contact one or more distributors. The distributors can stock or have access to materials and parts via a variety of means. For example, the distributors can incorporate fabrication into their business as well as service centers and mills which produce the semi-finished industrial materials. In addition, the distributors can resell materials and/or components, sold by other companies. During the procurement process, buyers send one or more distributors requests-for-quotation ("RFQs") that include lists of materials and/or components. This is typically done via a voice telephone call, fax, or email. These lists include one or more types of materials and/or components required, typically separated on separate lines. For each type of material or component, a description is provided for the material or component that includes some type of identifier of the material or component, and often includes a requested quantity, a desired delivery date, and potential quality standards required of the material in demand. [0004] Procurers can request materials and/or components in a variety of manners. For example, one procurer may specify that they are looking for "Rnd 5 x 4" x 20' 4140 x 4", where they are looking for four pipes that have a five inch outside diameter, a four inch inside diameter, 20 feet in length, and of a 4140 grade. In contrast, another procurer may specify "4 x 5 x 1 x 240" to indicate the same general requirement (without specification of the grade). Distributors must digest what the buyer is requesting, search a database of available materials and/or components, and find suitable materials and/or components to supply as a solution while providing a best price, a best delivery date, and a best quality of materials and/or components, and finally prepare a quote in order to secure the purchase order. Some of the items quoted and/or sold are similar to the item being requested and likely suitable for customer 's application. A typical salesperson at a distributor will receive 100 in inquiry items per day, and a typical distribution company has 5-50 salespeople in each location.

[0005] Similarly, distributors receive lists of materials and/or components provided by suppliers, whether internal or external, and whether the materials and/or components are being received or the lists simply represent price lists of available materials and/or components. Similar to the lists provided with RFQs, these lists include one or more types of materials and/or components supplied, typically separated on separate lines. For each type of material or component, a description is provided for the material or component that includes some type of identifier of the material or component, a price, a quality standard, and often includes a quantity available or provided, a delivery date or lead time. These lists are typically entered into a database system that is structured in a particular manner, so that the supplier lists must be interpreted by an operator in order to populate the database in a consistent manner so that the database of available materials and/or components can be readily searched. The database systems are typically written in an archaic language such as Cobol and executed on an IBM AS/400 server that is not user friendly and do not readily enable data exchange with other applications. [0006] The entering in of these lists from suppliers into the database and then the interpretation of the RFQ lists performed by operators is labor-intensive, costly, and slow. Further, the experience gained by an operator is generally not passed on to other operators. As a result, each operator spends time learning what was already learned by other operators.

SUMMARY OF THE DISCLOSURE

[0007] In one aspect, there is provided a method for predictive quoting, comprising: receiving a first request, via a computer system, including at least one set of descriptors, each of the at least one set of descriptors corresponding to one of a set of product types; parsing the request to identify the at least one set of descriptors at least partially based on token set rules stored in storage of the computer system; parsing each of the at least one set of descriptors at least partially based on the token set rules to identify each of the descriptors in the set; selecting, for each of the at least one set of descriptors, at least one of the set of product types that the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and at least one set of descriptors for each of the set of product types stored in the storage of the computer system; registering at least one of a confirmation and a rejection of the predicted product type for each of the at least one set of the descriptors by a user; and predicting, by the computer system, which of the set of product types each of the at least one set of descriptors corresponds to for subsequent requests based at least partially on previously registered confirmations and rejections for the at least one set of descriptors and the selected product types.

[0008] The at least one set of descriptors can comprise at least two sets of descriptors.

[0009] Each of the at least two sets of descriptors can comprise an ordered set of descriptors. [0010] The method can further comprise: performing a first query of a supply database to select a first set of supply records corresponding with the selected product type for each of the at least two sets of descriptors; performing a second query of the supply database to select a second set of supply records for the selected product type using a set of alternative satisfaction rules for each of the at least two sets of descriptors; and generating a user interface presenting the first set and the second set of supply records.

[0011] The performing the second query can be only performed when the first set of supply records is empty. [0012] The parsing of each of the at least two sets of descriptors can comprise using a set of token set rules stored by the computer system that specify how to identify descriptors in the first request.

[0013] The method can further comprise: receiving a list of supplied resources, via a computer system, including at least two sets of descriptors; parsing the list of supplied resources to identify the at least two sets of descriptors; parsing each of the at least two sets of descriptors to identify each of the descriptors in the sets; selecting, for each of the at least two sets of descriptors, by the computer system, one of the set of product types the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and a set of descriptors for each of the set of product types; registering at least one of an acceptance and a rejection of the predicted product type for each of the at least two sets of the descriptors by a user; predicting, by the computer system, which of the set of product types each of the at least two sets of descriptors corresponds to for subsequent requests based at least partially on previously registered confirmations and rejections for the at least two sets of descriptors and the selected product types; and populating a supply database with the accepted product type for each of the at least two sets of descriptors.

[0014] In another aspect, there is provided a method for predictive quoting, comprising: receiving requests, via a computer system, each of the requests including at least one set of descriptors, each of the at least one set of descriptors corresponding to one of a set of product types; parsing each of the requests to identify the at least one set of descriptors at least partially based on token set rules stored in storage of the computer system; parsing each of the at least one set of descriptors at least partially based on the token set rules to identify each of the descriptors in the set; selecting, for each of the sets of descriptors, by the computer system, one of the set of product types the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and a set of descriptors for each of the set of product types stored in the storage of the computer system; registering at least one of a confirmation and a rejection of the predicted product type for each of the at least one set of descriptors by a user; and training, by the computer system, which of the set of product types each of the at least one set of descriptors corresponds to using the registered confirmation or rejection for the at least one set of descriptors and the selected product types.

[0015] Each of the at least one set of descriptors can comprise an ordered set of descriptors.

[0016] In a further aspect, there is provided a computer system, comprising: at least one processor; a storage storing supply data, token set rules, quote satisfaction rules, descriptor string delimiters, descriptor delimiters, expected sets of descriptors for product types, and computer executable instructions that, when executed by the at least one processor, cause the at least one processor to: receive a first request including at least one set of descriptors, each of the at least one set of descriptors corresponding to one of a set of product types; parse the request to identify the at least one set of descriptors at least partially based on the token set rules; parse each of the at least one set of descriptors at least partially based on the token set rules to identify each of the descriptors in the set; select, for each of the at least one set of descriptors, at least one of the set of product types that the set of descriptors corresponds to based at least partially on similarities between the set of descriptors and at least one expected set of descriptors for each of the set of product types; register at least one of a confirmation and a rejection of the predicted product type for each of the at least one set of the descriptors by a user; and predict, by the computer system, which of the set of product types each of the at least one set of descriptors corresponds to for subsequent requests based at least partially on previously registered confirmations and rejections for the at least one set of descriptors and the selected product types. BRIEF DESCRIPTIONS OF THE DRAWINGS

[0017] For a better understanding of the various embodiments described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings in which: [0018] FIG. 1 shows a computer system for predictive quoting in accordance with one embodiment thereof;

[0019] FIG. 2A is a schematic diagram showing various logical components stored in the database of the computer system of FIG. 1 ; [0020] FIG. 2B is a partial chart of the ontology maintained in the database of the computer system of FIG. 2A;

[0021] FIG. 3 is a flowchart of the general method of predictive quoting using the computer system of FIG. 1 ;

[0022] FIG. 4 is a flowchart of the general method of populating and/or updating the supply data in the predictive quoting method of FIG. 3;

[0023] FIG. 5 shows a portion of an email window presenting an email that has an RFQ list embedded in its email body;

[0024] FIG. 6 shows a search text field presented by the computer system of FIG. 1 into which an RFQ list is entered; and [0025] FIG. 7 shows search results for the RFQ list generated by the computer system of FIG. 1.

DETAILED DESCRIPTION

[0026] For simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the Figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Also, the description is not to be considered as limiting the scope of the embodiments described herein. [0027] Various terms used throughout the present description may be read and understood as follows, unless the context indicates otherwise: "or" as used throughout is inclusive, as though written "and/or"; singular articles and pronouns as used throughout include their plural forms, and vice versa; similarly, gendered pronouns include their counterpart pronouns so that pronouns should not be understood as limiting anything described herein to use, implementation, performance, etc. by a single gender; "exemplary" should be understood as "illustrative" or "exemplifying" and not necessarily as "preferred" over other embodiments. Further definitions for terms may be set out herein; these may apply to prior and subsequent instances of those terms, as will be understood from a reading of the present description .

[0028] Any module, unit, component, server, computer, terminal, engine or device exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the device or accessible or connectable thereto. Further, unless the context clearly indicates otherwise, any processor or controller set out herein may be implemented as a singular processor or as a plurality of processors. The plurality of processors may be arrayed or distributed, and any processing function referred to herein may be carried out by one or by a plurality of processors, even though a single processor may be exemplified. Any method, application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media and executed by the one or more processors. [0029] A computer system 20 for predictive quoting in accordance with an embodiment is shown in FIG. 1. The computer system 20 parses an unstandardized RFQ list using ontologies of component and/or material (hereinafter, alternatively collectively referred to as products) descriptions and recognized patterns to predict what materials and/or components are being requested, and learns from the interaction of the user to make future predictions. Further, the computer system 20 an unstandardized supply list using the libraries of components and/or part descriptions and recognized patterns to predict what materials and/or components are being supplied, and learns from the interaction of the user to make future predictions. The computer system 20 queries a supply database of the supplied materials and/or components to prepare a quote for requested components and/or materials.

[0030] The computer system 20 is an enterprise-grade server computer that is operated by a distributor at a central location. It has a web interface for enabling a number of users to access the functionality provided via a web browser on a computing device, such as a personal computer, a tablet, etc. Any computing device that communicates with the computer system 20 to access the functionality provided by it may be referred to hereinafter as a client computing device. The computer system 20 is coupled to a computer network, which can be a private network, such as a local area network, and to a public network, such as the Internet, to enable client computing devices to connect to the computer system 20 and access the functionality provided. In other embodiments, the computer system 20 may only be accessible via a private network.

[0031] FIG. 1 shows various physical elements of the computer system 20. As shown, the computer system 20 has a number of physical and logical components, including a central processing unit ("CPU") 24, random access memory ("RAM") 28, an input/output ("I/O") interface 32, a network interface 36, non-volatile storage 40, and a local bus 44 enabling CPU 24 to communicate with the other components. The CPU 24 executes at least an operating system, a web service, a database service, and a predictive quoting software system. The RAM 28 provides relatively responsive volatile storage to the CPU 24. The I/O interface 32 allows for input to be received from one or more devices, such as a keyboard, a mouse, etc., and outputs information to output devices, such as a display and/or speakers. The network interface 36 permits communication with other computing devices over computer networks such as a local computer network and/or the Internet. The non-volatile storage 40 stores the operating system, the web service, the database service, and programs, including computer-executable instructions for implementing the predictive quoting software system. During operation of the computer system 20, the operating system, the services, the programs and data used by these may be retrieved from the non-volatile storage 40 and placed in the RAM 28 to facilitate execution.

[0032] FIG. 2A shows various logical components stored within the supply database 48.

In particular, the supply database 48 stores supply data 52 that represents products such as materials and/or components that are in stock or otherwise available to a distributor. A material and/or component may be referred to hereinafter interchangeably as a product.

Supply data 52 includes records for each type of product available through the distributor.

Each record for a product type can identify the supplier, the location of the product, the type of product, including the material and/or component name, the dimensions, the characteristics, the quality, the quantity or amount, the lead time for products currently not in stock for delivery, etc.

[0033] A set of token set rules 56 define the logic used to parse input data representing sets of one or more products, each having one or more descriptors from one another. Tokens are strings of one or more characters that represent words, numbers, etc. The tokens can represent descriptors of products, such as product types, attributes, classes, quantities, etc. The input data is parsed into sets of tokens, each corresponding to one of a set of descriptors relating to the product types, attributes, classes, quantities, etc. For example, token set delimiters can include a hard return, a semi-colon, etc. Where data is being retrieved from a non-plain text source, other delimiters can be used, such as cell delimiters for a spreadsheet. Token delimiters are characters, control codes, etc. that are used to separate tokens within sets of tokens in input data from one another. Examples of token delimiters can include spaces, commas, hyphens, etc. The set of token set rules 56 can be either static or dynamic, learning from training documents and input data. The token set rules 56 can use patterns to analyze data to determine what is likely a token set delimiter and what is likely a token delimiter. Further, the patterns can be used to analyze characters, control codes, etc. in relation to adjacent characters, control codes, etc. in order to interpret them.

[0034] A set of quote satisfaction rules 60 are used to determine how to filter the supply data based on normalized RFQ list data, and how to locate alternative supplied products where an exact match cannot be located. The quote satisfaction rules 60 can define scoring for matching between a set of descriptors and at least one expected set of descriptors for a product type. In an alternative embodiment, the quote satisfaction rules can at least partially eliminate product types based on a decision tree.

[0035] Libraries stored in supply database 48 include ontologies 64 and a set of scores 68. The ontologies 64 stores information about products, including categories and subcategories of products, properties or attributes of products, and relations between products and/or between attributes. The categories and subcategories of products, and the properties or attributes of products form expected sets of descriptors for the products. The ontology 64 enables the relationships between terms to be understood. [0036] FIG. 2B illustrates a portion of an ontology 64 stored by the computer system 20. The ontology 64 includes a term, product 70. Three subclasses of product 70 are shown: plate 71 , pipe 72, and rod 73. These subclasses are all types of products 70. For plate 71 , two relationships are shown. In particular, a term flat 74 and a term sheet 75 are shown being the same as plate 71 . That is, whenever the term "sheet" or "plate" is used, these terms are synonymous with the term "plate". Four attributes of plate 71 are shown. Three of these attributes, length 76, width 77, and thickness 78, relate to dimensions of plate 71 . In addition, a fourth attribute, material 79, is shown for plate 71 . Three subclasses are shown for material 79: steel 80, aluminum 81 , and bronze 82. As will be understood, the portion of the ontology 64 shown is representative and by no means complete. The ontologies 64 can be used to classify products into logical groups.

[0037] The scores 68 maintain scores for use by the computer system 20 to predictively select a product type in view of the ontologies 64. Separate ontologies 64 and scores 68 are maintained for procurers, distributors and service centers, and mills, as each of these types of people can have distinct manners of describing products, and, accordingly, it can be beneficial to maintain separate ontologies 64 and scores 68 so at least that the scores 68 accumulated for procurers, distributors, and mills don't cross-pollenate.

[0038] The ontologies 64 are initialized with a seed ontology created by a human expert based on their understanding of the domain in question (such as metal components). A neuro-linguistic programming ontology builder is then used to further populate the ontology to cover all of the terms in a body of old documents, such as quotations, enquiries, and search terms.

[0039] The method 100 of predictive quoting carried out by the computer system 20 will now be discussed with reference to FIGS. 1 to 3. Method 100 commences with the intake of supply data (1 10).

[0040] FIG. 4 shows the process of intake of supply data in greater detail. A supply list is received (1 1 1 ). A supply list is a list of products that is either being received and stocked, or is otherwise being made available to the distributor. It can be a single line string, a set of strings separated by hard returns, etc. In the current implementation, the supply list is received via a text entry field in a web page generated by the computer system 20. This can be achieved by typing it in or pasting it in from elsewhere, such as an email, etc.

[0041] The supply list is parsed to identify products (1 12). Typically, product types are separated in a standardized manner. Token string delimiters forming part of the token set rules 56 identify various standard separators for token sets relating to a product type. For example, product types can be separated in the supply list by hard returns. Alternatively, another convention can be employed to separate them, such as semicolons.

[0042] Upon separation of the supply list for each product type, the data for each product type is parsed (1 13). The computer system 20 uses the token delimiters forming part of the token set rules 56 to parse the token sets relating to a product type to identify the descriptors (i.e., the tokens) and the token delimiters, etc.

[0043] Once the descriptors for each product type are parsed, the data for each product type is normalized (1 14). As mentioned, each supplier may use a different convention to refer to the same material or component. Below in Table 1 are a set of exemplary descriptions that may be provided in the RFQ list and a translation of what is meant by each. All of the descriptions provided below refer to the same component.

Table 1 : Description variations

[0044] During normalization, the computer system 20 compares the parsed descriptors for a product type to the terms for the product types stored in the ontologies 64. In this embodiment, the ontologies 64 are actively populated datasets of product classes and subclasses, attributes, synonyms, etc. for each known product type. The computer system 20 locates the best guess in the supplier ontology of the ontologies 64 using the major product classes and subclasses, and attributes of each product type. [0045] In another example, during normalization, where supply input data refers to "sheet" or "flat", these product types can be normalized to "plate", based on the partial ontology shown in FIG. 2B.

[0046] Upon normalizing the supply list, it is presented in a user interface (i.e., on a web page) to the user entering the supply list (1 15). [0047] Corrections can then be received from the user via the user interface (1 16). The user can interact with the user interface to correct any descriptor interpreted from the supply list and/or to select a different product type.

[0048] The scores for the suppliers in the scores 68 are then updated based on the corrections or acceptances made by the user (1 17). If the user accepts the predicted product type, then a score for the relationship between the parsed descriptors from the supply list and the predicted product type is incremented. If, instead, the user corrects the predicted product type, then a score for the relationship between the parsed descriptors from the supply list and the predicted product type is decremented. These increments and decrements are used to affect future predictions by the computer system 20 in selecting a product type based on a set of descriptors.

[0049] Once the supply list has been mapped to product types via user interaction, the computer system 20 registers the identified supplied product types and any relevant data, such as location, lead time, cost, units, volume, etc. in the supply data 52 (1 18). [0050] For product line items provided in the supply input data that are not matched up products in the ontologies 64, the product line items can be reviewed by a human expert. In response, the human expert can amend the ontologies 64 to add products, attributes, synonyms, etc.

[0051] It will be appreciated that additional or revised supply data can be provided at any time to update the supply data 52 stored in the supply database 48.

[0052] Returning again to FIGS. 1 to 3, once the supply data is intaken, an RFQ list is received by the computer system 20 (120). RFQ lists can be received by the distributor in many different ways. RFQ lists can come in the form of a spreadsheet document, a fax, an email, data communicated via a phone call, etc. [0053] FIG. 5 shows an exemplary RFQ list 300 received in the body of an email. RFQ list 300 includes nine line items. Each of the line items includes a description and a need-by date.

[0054] The RFQ list is then entered into the computer system 20 by copying and pasting, typing, uploading a text file, etc. [0055] FIG. 6 shows a portion of the user interface 304 generated by the predictive quoting software system executing on the computer system 20, wherein a user has entered the RFQ list into a text field. A search button 306 causes the predictive quoting software system to commence processing and searching of the requested products. [0056] Returning again to FIGS. 1 to 3, the RFQ list is parsed into line items (130). Typically, product types are separated in a standardized manner. For example, input data relating to each product type can be separated in the RFQ list by token set delimiters such as hard returns to create line items. Alternatively, another convention can be employed to separate them. [0057] Upon separation of the RFQ list for each product, the input data for each product is parsed (140). The computer system 20 uses the token set rules 56 to parse the input data to identify the tokens and the delimiters.

[0058] Once the input data for each product is parsed, the data is normalized (150). As mentioned, each procurer may use a different convention to refer to the same material or component. This step is generally the same as for 1 14 described above and in Table 1 . During normalization, the computer system 20 compares the parsed descriptors for a product type to the descriptors for the product types stored in the procurer ontology of the ontologies 64. In this embodiment, the ontologies 64 are actively populated datasets of the product classes and subclasses, attributes, synonyms, etc. for each known product type. The computer system 20 locates the best guess in the ontologies 64 using the major attributes of each product type.

[0059] Upon normalizing the RFQ list, the list is sorted and formatted (160). Each procurer can request a quotation in a particular sorted order, and in a particular format. For example, one procurer may wish quantity to be expressed as the last descriptor for a product, whereas another may wish it to be the first descriptor. Further, different procurers can specify different formats for expressing descriptors of a material or component; e.g., feet may be expressed via " ' " or "ft", plate may be expressed as "plate", "pit", "sheet", etc.

[0060] The sorted, formatted, normalized RFQ list is then queried against the supply data 52 (170). In searching for each line item in the RFQ list, the predictive quoting software system queries the supply data 52 to locate matches for the requested products. In particular, matches between the sets of descriptors and the sets of descriptors for products in the supply data 52 are located. Matches are determined by using the ontologies 64 to bridge between the sets of descriptors from the RFQ list and the sets of descriptors for products in the supply data 52.

[0061] Additionally, the predictive quoting software system uses quote satisfaction rules 60 to generate alternative queries that are executed against the supply database 48 (180). System appends logic from the quote satisfaction rules 60 to the buyer query to incorporate alternate acceptable solutions. That is, the quote satisfaction rules 60 are used in conjunction with the ontologies 64 to bridge between the sets of descriptors in the RFQ list and the sets of descriptors for products in the supply data 52.

- Example 1 : procurer wants quantity 4 of a component with length 20'; system searches for inventory >= 20 but searches for 20' first and 40' second b/c 40' can be cut in half.

- Example 2: buyer wants plate/sheet with abnormal width length - Example 3: 120" pit 24" 3/4" ; system searches where shape = plate, thickness or gauge= 3/4", width >= 24, length >=120"

- Example 4: tube 6.18 x 3.64; system searches for exact match but then sorts by OD>=6.18 and then ID <=3.64 or WT>=1 .27

[0062] In other embodiments, the predictive quoting software system can, upon the location of one or more exact matches, determine that alternative queries don't need to be run.

[0063] The normalized RFQ list, exact matches, and alternative matches are then returned (190). The list of exact matches and alternative matches are scored and ordered based on the level of match with the RFQ list. The predictive quoting software system then generates a web page with the list of the sorted and formatted RFQ list, together with the available supplies for each requested product type that exactly match and/or alternatively match the RFQ list. [0064] Upon receipt of the results of the queries, the predictive quoting software system generates a web page with the list of the sorted and formatted RFQ list, together with the available supplies for each requested product type generated via the queries.

[0065] FIG. 7 shows a portion of a webpage 308 generated by the predictive quoting software system wherein the RFQ list has been entered in a text field 312, and a corresponding set of search results have been returned. A dropdown list 316 enables a user to select alternative options for each product or to correct the type of product being requested.

[0066] Returning again to FIGS. 1 to 3, corrections are then received (210). A user can interact with the web page showing the requested products and the search results to accept or correct any of the data thereon. The user may correct the parsing of the requested products from the RFQ list, and the normalization, and may accept or reject the search results (or select options within the search results to generate a quote). If the user corrects a descriptor of a requested product, the score for the association between the received line item and the parsed descriptors is adjusted to reflect the correction. If the user corrects the identification of a product type in the supply database 48, the score for the association between the received and parsed tokens and the product type is reduced. If alternative query results are returned and rejected by the user, the score for the corresponding quote satisfaction rule is adjusted. This is done either at 220 when rerunning a query against the supply database 48, or at 230 after it's been determined that no further queries need to be run.

[0067] Finally, if query results have been accepted by the user, the predictive quoting software system generates a quote based on the accepted search results (240). This entails generating a list of each product type, the quantity requested, the cost per unit, the total cost per product type, a total, and any additional costs or fees.

[0068] The computer system 20 can be exposed directly to procurers and suppliers, and can be integrated with other systems that these parties may have.

[0069] In an alternative embodiment, the supply lists and the RFQ lists can be received in other formats. For example, spreadsheets can be provided instead of straight text. In another implementation, a CAD model can be provided and parsed to identify required materials. The requests can take other forms, such as a project definition, a product definition, etc.

[0070] While, in the above-described embodiment, metal parts are used to illustrate its working, the system can be used for other types of products, such as raw materials like powdered materials, chemicals, etc. Further, the system can be used to match requests for other types of resources, such as temporary workers.

[0071] Computer-executable instructions for implementing the predictive quoting software system on a computer system could be provided separately from the computer system, for example, on a computer-readable medium (such as, for example, an optical disk, a hard disk, a USB drive or a media card) or by making them available for downloading over a communications network, such as the Internet.

[0072] While the computer system is shown as a single physical computer, it will be appreciated that the computer system can include two or more physical computers in communication with each other. Accordingly, while the embodiment shows the various components of the computer system residing on the same physical computer, those skilled in the art will appreciate that the components can reside on separate physical computers.

[0073] Persons skilled in the art will appreciate that there are yet more alternative implementations and modifications possible, and that the above examples are only illustrations of one or more implementations. The scope, therefore, is only to be limited by the claims appended hereto.