WO2002005111A2 - Database interrogation - Google Patents

Database interrogation Download PDF

Info

Publication number
WO2002005111A2
WO2002005111A2 PCT/GB2001/003057 GB0103057W WO0205111A2 WO 2002005111 A2 WO2002005111 A2 WO 2002005111A2 GB 0103057 W GB0103057 W GB 0103057W WO 0205111 A2 WO0205111 A2 WO 0205111A2
Authority
WO
WIPO (PCT)
Prior art keywords
database
fields
order
entries
user
Prior art date
Application number
PCT/GB2001/003057
Other languages
French (fr)
Other versions
WO2002005111A3 (en
Inventor
Paul David Mills
Original Assignee
Paul David Mills
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Paul David Mills filed Critical Paul David Mills
Priority to AU2001269298A priority Critical patent/AU2001269298A1/en
Publication of WO2002005111A2 publication Critical patent/WO2002005111A2/en
Publication of WO2002005111A3 publication Critical patent/WO2002005111A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs

Definitions

  • the present invention relates to databases and to database interrogation arrangements.
  • the present invention provides database interrogation means for selecting a database entry for which data is stored within the database in a plurality of fields, comprising input means operable to receive data indicating the preference of a user in relation to at least some of the fields, processing means operable to compare user preferences with the corresponding fields for database entries, the processing means being further operable to provide an order for database entries, at least in part in accordance with the number of fields for which database entries match the user preferences, and output means operable to identify the database entries to the user in accordance with the order provided by the processing means.
  • the fields are each allocated a weighting prior to the order being provided, whereby the processing means may provide a weighted ordering.
  • the fields may include at least one dominant field, and the processing means may be operable to place an entry which matches in a dominant field above an entry which does no ' t, regardless of the total number of matches of these entries.
  • the processing means preferably places the entries in order by first considering the number of matches for dominant fields.
  • the entries which have an equal number of matches for dominant fields are ordered among themselves by reference to the number of matches for other fields.
  • the input means may be operable to receive from a user an order of importance of fields, the order provided by the processing means being created in part by reference to the order of importance.
  • the order is preferably provided by considering, for each entry, each field in the order of importance, and providing a count indicating the number of matching fields, in order of importance, before a non-matching field is identified, the entries being ordered in accordance with their associated count.
  • the input means is operable to receive data transmitted over a communication network.
  • the output means is pre erably operable to send data to a user by means of a communication network.
  • the invention also provides a database system comprising a database and database interrogation means in accordance with any of the definitions set out above.
  • the invention also provides a method of interrogating a database for selecting a database entry for which data is stored within the database in a plurality of fields, comprising receiving data indicating the preference of a user in relation to at least some of the fields, comparing user preferences with the corresponding field for database entries, and providing an order for database entries, at least in part in accordance with the number of fields for which database entries match user preferences, and identifying the database entries to the user in accordance with the order provided by the processing means.
  • the fields are each allocated a weighting prior to the order being provided, whereby the processing means may provide a weighted ordering.
  • the fields may include at least one dominant field, an entry which matches in a dominant field being placed above an entry which does not, regardless of the total number of matches of these entries.
  • entries are placed in order by first considering the number of matches for dominant fields.
  • entries which have an equal number of matches for dominant fields are ordered among themselves by reference to the number of matches for other fields.
  • data may be received from a user to indicate an order of importance of fields, the order provided by the processing means being created in part by reference to the order of importance.
  • the order is preferably provided by considering, for each entry, each field in the order of importance, and providing a count indicating the number of matching fields, in order of importance, before a non-matching field is identified, the entries being ordered in accordance with their associated count.
  • the invention also provides data processing software for use in interrogating a database in accordance with the method set out above.
  • the invention also provides a data storage device containing data processing software operable in conjunction with a computing device to cause a database to be interrogated in accordance with the method set out above.
  • Fig. 1 is a schematic representation of a database
  • Fig. 2 is a flow diagram of a first example of a database interrogation technique in accordance with the present invention
  • FIGs. 3 and 4 illustrate the results of an interrogation in accordance with the invention
  • Fig. 5 is a flow diagram of additional steps for a second example of the invention.
  • fig. 6 illustrates the results of a further interrogation in accordance with the invention.
  • Fig. 7 is a schematic diagram of apparatus for use in implementing the invention.
  • Fig. 1 illustrates schematically a database 10 relating to hotels.
  • the database 10 is shown schematically in Fig. 1 as having a column 12 of data field labels.
  • entries 14 for two hotels In practice, many more than two entries would be expected.
  • the top row identifies the hotels, and indicates that these are called SEA VIEW and BEECH TREE.
  • the second row indicates that both are located in the town of TORQUAY.
  • Lower rows give other information about quality rating, price etc. in relation to each hotel. It can be seen that there are differences in this information, indicating corresponding differences between the hotels.
  • Fig. 2 is a schematic flow diagram of a process by which a database of the types shown in Fig. 1 can be interrogated in order to provide a user with appropriate information for making a choice.
  • the process begins at A.
  • a criterion is presented to the user. This may be, for example, the criterion of hotel quality.
  • the criterion is preferably presented by means of a display, such as a computer display provided on a computer which has gained access to the database by means of a network such as the Internet.
  • the database and the software for interrogating the database may be provided at an Internet website.
  • the database and associated software could be working locally, on the computer being used by the user.
  • the user Having identified the criterion at 20, the user enters a preference relating to that criterion, at 22. Thus, the user can enter an indication of quality required. This preference is stored by step 24 for future reference.
  • the system determines if all available criteria have been offered to the user, for the user to express a preference. If not, the routine returns to step 20, presenting a further criterion, receiving a preference at 22, and storing this at 24.
  • step 28 each database entry (that is the entry for each hotel) is compared with the preferences expressed at 22 for each criterion. That is, user preferences are compared with the corresponding fields in the database entries.
  • the system is seeking to identify those criteria for which the user preference matches the database entry, and those for which there is no match.
  • the user preference must be identical with the database entry in order for a match to be identified. For example, if the user expresses a preference for the hotel to have a swimming pool, the database entry must indicate that the hotel has a swimming pool, in order for a match to be adjudged.
  • other criteria may not require identical information. For instance, the user may be allowed to express a preference in relation to price, such as a maximum price, so that a match would occur with any hotel for which the price was equal to, or lower than the preferred maximum price. In the case of quality, a match could be adjudged for any hotel for which the quality rating was equal to, or higher than the preferred minimum quality rating.
  • the system places the hotels into an order which depends on the results of the comparison.
  • the system simply counts the number of criteria for which there is a match and uses this score to rank the hotels.
  • the hotel with the most matches will have the highest score and thus be ranked first.
  • the results are output at 32, to identify the database entries to the user in accordance with the order provided by the processing means.
  • This may be achieved in a number of ways. For instance, the user could be provided with details relating to a particular number of hotels, perhaps 10, indicating the score allocated to each hotel. Thus, the user would initially be provided with the name of the highest ranked hotel and also with details of other hotels of the same rank or a lower rank. Thus, while the user is provided with the details of the hotel most likely to be of interest, they are also provided with information relating to other hotels, for comparison.
  • a further set of information could be requested, relating to further, lower ranked entries from the order determined at 30.
  • the user could initially be provided only with information relating to the hotel or hotels with the highest score. Information relating to hotels with lower scores would-be provided only on request.
  • Fig. 3 illustrates schematically how the order is achieved at step 30.
  • Block 34 illustrates a block of raw data resulting from the comparisons at step 28.
  • Each product or service within the database i.e. each hotel, in the example
  • Each criterion is indicated by a number to label a row of the block 34.
  • the block 34 is marked with the result of the comparisons, with a tick indicating that the corresponding product or service does match in relation to the criterion represented by that row.
  • a cross indicates that a match does not exist.
  • the raw data at 34 is still in the order in which the entries appear in the database.
  • the step of ordering (step 30) prior to reporting to the user is indicated by the arrow 36 and results in an ordered block 38.
  • product or service C has been moved to the left-hand column as being the best match, having three matching criteria.
  • Product or service A is the next best match, having two matches.
  • Product or service B is the least good match, having only one match.
  • the user will first be provided with information about product or service C on the basis that it is the best fit to the user's preferences, and is therefore the most likely to be chosen by the user. Information about entries A and B will also be available, as has been described.
  • Example 1 may be adequate in many situations, but there will be others for which further improvement is desirable, as follows.
  • a hotel it is often the case that some choice criteria are fundamental to the choice, while others are less significant.
  • the location is fundamental. For instance, a user who requires accommodation in a particular town will not select a hotel in a town many miles away, even if all other criteria fit the user's preferences.
  • the ordering step 30 can be improved in relation to the ordering technique used in Example 1, to take this into account, as follows.
  • one or more of the criteria 20 can be selected as dominant criteria.
  • an entry which matches in a dominant field will be considered a better match than an entry which does not, regardless of the total number of matches of the two entries being compared.
  • location is selected as a dominant criterion, a hotel having only a few of the facilities preferred by the user, but being located in the correct town, will be considered a better match than a hotel which includes many of the facilities preferred by the user, but is in a different town.
  • the criteria to be dominant can be preselected or can be selected by the user at the time of use.
  • Fig. 4 is similar to Fig. 3, showing a block of raw data at 40, and an ordered block at 42.
  • entries A and B both have one match (criteria 1 and 2, respectively), while entry C has two matches (criteria 2 and 3).
  • entry C would be placed first, having the greater total number of matches.
  • criterion 1 is considered to be a dominant criterion.
  • the block 42 places entry A first, being the only entry which matches in the dominant criterion.
  • Entry C is placed next, being ordered ahead of entry B by virtue of the greater total number of matches (two) and being equal with entry B in relation to the dominant criteria, in view of the fact that neither entry B or C matches in the dominant criterion.
  • the entry A may appear to be a poor match with the user's preferences, it is nevertheless the most likely to be selected by the user, given that the dominant criterion is matched. Thus, a hotel is likely to be selected if it has the correct location, even if it is disappointing in its facilities.
  • entry A is the only entry which meets the dominant criterion (hotel location).
  • the ordering technique explained in relation to Example 2 provides two categories of criteria, namely dominant criteria and non-dominant criteria.
  • the ordering technique is ascribing a weighting to each criterion, either dominant or non-dominant. This results in improved ordering, as has been described.
  • Ordering can be further improved by allowing a greater number of weightings to be used and in particular, by allowing the user to select an order of importance of criteria.
  • Fig. 5 This can be achieved by additional steps prior to executing step 20 of Fig. 2.
  • the additional steps are shown in Fig. 5.
  • the process begins at B.
  • the user is provided with a list of criteria at 44 and is invited to select the criterion which is most important to that user. In the case of a hotel, this is likely to be the location, but note that in this example, it is preferred that the choice is made by the user rather than being predetermined within the system.
  • step 46 determines if any more criteria are available for ranking by the user and if so, step 46 is repeated. Once all criteria have been ranked by the user, the process moves to A, and continues as illustrated in Fig. 2 and described above.
  • this order can be used when placing the database entries into an order, as illustrated in Fig. 6.
  • the criteria 1, 2, 3 are shown in Fig. 6 in the order given tot them by the user, in accordance with Fig. 5.
  • entry A has only one match
  • entries B and C have two matches each.
  • entries A and C match criterion 1
  • entry B does not.
  • the raw data block 50 is re-ordered at 52 to place entry C first, followed by entry A and then by entry B.
  • Entry C takes precedence over entry A because both entries match the most important criterion (1), but entry C also matches the next most important criterion (2).
  • Entry A is placed ahead of entry B because entry A matches the most important criterion (1), whereas entry B does not.
  • the result would be to show the user that two hotels are available at the required location, but that one is likely to be more preferred than the other, for having a swimming pool.
  • it is advantageous to display more than the best fitting entries because it may, in some circumstances, be helpful to a user to show that, in this example, if the user is prepared to forego the requirement of criterion 1, despite having chosen this as the most important, the user can then find the other two criteria satisfied, by choosing entry B.
  • a database containing details of motor vehicles for sale could be used by a user who is selecting a new motor vehicle.
  • the user might specify engine size, interior trim, body colour and maximum price. These would form the criteria used in ordering the database entries, as described above.
  • the user might be informed that no vehicle is available which meets all four criteria, but that vehicles do exist which, for instance, have the required engine size, interior trim and maximum price, but a different body colour, or the required engine size, interior trim and body colour, but at a higher price.
  • the user would be provided with two choices which are close, but not perfect matches.
  • the user can then decide that price is more important than body colour, in which case the vehicle which matches engine size, interior trim and maximum price can be selected despite the colour, or the user can decide that the higher price is acceptable, in which case a more expensive car of the required engine size, interior trim and body colour can be selected.
  • a database interrogation technique which reported only on perfect matches would prevent the user from obtaining this information without much greater difficulty, probably requiring many interrogations with slightly modified choices to see if any perfect matches could be retrieved. It would then be necessary to keep a record of those matches and the corresponding modified criteria in order to build up the information which a system according to the present invention will provide immediately. The difficulty and frustration involved in obtaining this information without the benefit of the present invention is likely to deter or prevent many users from completing the task.
  • Fig. 7 is a schematic illustration of computing apparatus 60 by which the interrogation techniques described above may be implemented.
  • the apparatus 60 is based around processing means 62 which may be a computer, microprocessor or the like, running appropriate software by which the hardware is controlled to operate in accordance with the routines described above.
  • processing means 62 incorporates comparison means 64 (such as a software routine) which can compare a user preferences, input at 66,. with database entries stored in a database at 68.
  • An ordering function 70 (such as another software routine) is provided to place database entries into an order, as has been described, prior to making them available to the user at 72.
  • the apparatus 60 can be implemented as a single computer having an input device, such as a layboard, at 66, and an output device, such as a display, at 72.
  • the input and output devices could be provided as a computer operated by the user and communicating with the processing means 62 by means of a data network such as the internet, in which case, the processing means 62 and database 68 may be implemented as a web site.

Abstract

Database interrogation means for selecting a database entry for which data is stored within the database in a plurality of fields, comprising input means operable to receive data indicating the preference of a user in relation to at least some of the fields, processing means operable to compare user preferences with the corresponding fields for database entries, the processing means being further operable to provide an order for database entries, at least in part in accordance with the number of fields for which database entries match the user preferences, and output means operable to identify the database entries to the user in accordance with the order provided by the processing means.

Description

DATABASE INTERROGATION
The present invention relates to databases and to database interrogation arrangements.
Many situations arise in which it is necessary to interrogate a database in order to select a database entry from among the entries contained within the database. For instance, there are many commercial situations in which a user is provided with access to a computer database in order to select a product or service from those contained within the database. This can be achieved by the user specifying preferences for a number of fields representing categories of information about the products or services, such as location, price, type etc. Operation of arrangements in accordance with previous proposals is often faxed to result in the user being told that there are no entries in the database which match the user preferences. The user may then decide not to pursue the matter further, to the detriment of the business operating a commercial database, or may be deterred from doing so by the difficulty of deciding how best to modify the preferences in order to identify a matching entry.
The present invention provides database interrogation means for selecting a database entry for which data is stored within the database in a plurality of fields, comprising input means operable to receive data indicating the preference of a user in relation to at least some of the fields, processing means operable to compare user preferences with the corresponding fields for database entries, the processing means being further operable to provide an order for database entries, at least in part in accordance with the number of fields for which database entries match the user preferences, and output means operable to identify the database entries to the user in accordance with the order provided by the processing means.
Preferably the fields are each allocated a weighting prior to the order being provided, whereby the processing means may provide a weighted ordering. The fields may include at least one dominant field, and the processing means may be operable to place an entry which matches in a dominant field above an entry which does no't, regardless of the total number of matches of these entries. The processing means preferably places the entries in order by first considering the number of matches for dominant fields. Preferably, the entries which have an equal number of matches for dominant fields are ordered among themselves by reference to the number of matches for other fields.
Alternatively, the input means may be operable to receive from a user an order of importance of fields, the order provided by the processing means being created in part by reference to the order of importance. The order is preferably provided by considering, for each entry, each field in the order of importance, and providing a count indicating the number of matching fields, in order of importance, before a non-matching field is identified, the entries being ordered in accordance with their associated count.
Preferably the input means is operable to receive data transmitted over a communication network. The output means is pre erably operable to send data to a user by means of a communication network.
The invention also provides a database system comprising a database and database interrogation means in accordance with any of the definitions set out above.
The invention also provides a method of interrogating a database for selecting a database entry for which data is stored within the database in a plurality of fields, comprising receiving data indicating the preference of a user in relation to at least some of the fields, comparing user preferences with the corresponding field for database entries, and providing an order for database entries, at least in part in accordance with the number of fields for which database entries match user preferences, and identifying the database entries to the user in accordance with the order provided by the processing means. Preferably the fields are each allocated a weighting prior to the order being provided, whereby the processing means may provide a weighted ordering.
The fields may include at least one dominant field, an entry which matches in a dominant field being placed above an entry which does not, regardless of the total number of matches of these entries. Preferably, entries are placed in order by first considering the number of matches for dominant fields. Preferably, entries which have an equal number of matches for dominant fields are ordered among themselves by reference to the number of matches for other fields.
Alternatively, data may be received from a user to indicate an order of importance of fields, the order provided by the processing means being created in part by reference to the order of importance. The order is preferably provided by considering, for each entry, each field in the order of importance, and providing a count indicating the number of matching fields, in order of importance, before a non-matching field is identified, the entries being ordered in accordance with their associated count.
The invention also provides data processing software for use in interrogating a database in accordance with the method set out above.
The invention also provides a data storage device containing data processing software operable in conjunction with a computing device to cause a database to be interrogated in accordance with the method set out above.
Embodiments of the present invention will now be described in more detail, by example only, and with reference to the accompanying drawings, in which:-
Fig. 1 is a schematic representation of a database; Fig. 2 is a flow diagram of a first example of a database interrogation technique in accordance with the present invention;
Figs. 3 and 4 illustrate the results of an interrogation in accordance with the invention;
Fig. 5 is a flow diagram of additional steps for a second example of the invention;
fig. 6 illustrates the results of a further interrogation in accordance with the invention; and
Fig. 7 is a schematic diagram of apparatus for use in implementing the invention.
It will be apparent from the description set out below that the invention may be applied to a database containing information of very many types and that the nature of the invention and its operation is not dependent on the meaning of the data within the database. However, it is convenient, for ease of description, to relate the description to a particular example and for this reason alone, the following description will refer to a database which contains information about hotels, allowing a user to select accommodation. It will be readily apparent to the skilled man that information relating to many other products or services could alternatively be used.
Fig. 1 illustrates schematically a database 10 relating to hotels. The database 10 is shown schematically in Fig. 1 as having a column 12 of data field labels. These list various criteria by which users will select hotels, such as location, quality, price and facilities (swimming pool, bar, restaurant etc.). The nature and number of the criteria can be selected when the database is created and does not itself form part of the present invention.
To the right of the column 12, there are shown entries 14 for two hotels. In practice, many more than two entries would be expected. The top row identifies the hotels, and indicates that these are called SEA VIEW and BEECH TREE. The second row indicates that both are located in the town of TORQUAY. Lower rows give other information about quality rating, price etc. in relation to each hotel. It can be seen that there are differences in this information, indicating corresponding differences between the hotels.
Example 1
Fig. 2 is a schematic flow diagram of a process by which a database of the types shown in Fig. 1 can be interrogated in order to provide a user with appropriate information for making a choice. The process begins at A. At 20, a criterion is presented to the user. This may be, for example, the criterion of hotel quality. The criterion is preferably presented by means of a display, such as a computer display provided on a computer which has gained access to the database by means of a network such as the Internet. In that case, the database and the software for interrogating the database may be provided at an Internet website. Alternatively, the database and associated software could be working locally, on the computer being used by the user.
Having identified the criterion at 20, the user enters a preference relating to that criterion, at 22. Thus, the user can enter an indication of quality required. This preference is stored by step 24 for future reference. At 26, the system determines if all available criteria have been offered to the user, for the user to express a preference. If not, the routine returns to step 20, presenting a further criterion, receiving a preference at 22, and storing this at 24.
When all criteria have been presented to the user, the routine passes to step 28. At this step, each database entry (that is the entry for each hotel) is compared with the preferences expressed at 22 for each criterion. That is, user preferences are compared with the corresponding fields in the database entries.
In making this comparison at 28, the system is seeking to identify those criteria for which the user preference matches the database entry, and those for which there is no match. It is to be noted that for some criteria, the user preference must be identical with the database entry in order for a match to be identified. For example, if the user expresses a preference for the hotel to have a swimming pool, the database entry must indicate that the hotel has a swimming pool, in order for a match to be adjudged. However, other criteria may not require identical information. For instance, the user may be allowed to express a preference in relation to price, such as a maximum price, so that a match would occur with any hotel for which the price was equal to, or lower than the preferred maximum price. In the case of quality, a match could be adjudged for any hotel for which the quality rating was equal to, or higher than the preferred minimum quality rating.
Having made this comparison, the system places the hotels into an order which depends on the results of the comparison. In particular, in this simple example, the system simply counts the number of criteria for which there is a match and uses this score to rank the hotels. Thus, the hotel with the most matches will have the highest score and thus be ranked first. Having created an order at 30, the results are output at 32, to identify the database entries to the user in accordance with the order provided by the processing means. This may be achieved in a number of ways. For instance, the user could be provided with details relating to a particular number of hotels, perhaps 10, indicating the score allocated to each hotel. Thus, the user would initially be provided with the name of the highest ranked hotel and also with details of other hotels of the same rank or a lower rank. Thus, while the user is provided with the details of the hotel most likely to be of interest, they are also provided with information relating to other hotels, for comparison.
In the event that for some reason, the user decides not to choose one of the hotels first provided in the output at 32, a further set of information could be requested, relating to further, lower ranked entries from the order determined at 30. Alternatively, the user could initially be provided only with information relating to the hotel or hotels with the highest score. Information relating to hotels with lower scores would-be provided only on request.
Fig. 3 illustrates schematically how the order is achieved at step 30. Block 34 illustrates a block of raw data resulting from the comparisons at step 28. Each product or service within the database (i.e. each hotel, in the example) is identified in Fig. 3 by a letter above the corresponding column of data. Each criterion is indicated by a number to label a row of the block 34. In this simple example, three different products or services are indicated, each with three different criteria. The block 34 is marked with the result of the comparisons, with a tick indicating that the corresponding product or service does match in relation to the criterion represented by that row. A cross indicates that a match does not exist.
The raw data at 34 is still in the order in which the entries appear in the database. The step of ordering (step 30) prior to reporting to the user is indicated by the arrow 36 and results in an ordered block 38. In this example, product or service C has been moved to the left-hand column as being the best match, having three matching criteria. Product or service A is the next best match, having two matches. Product or service B is the least good match, having only one match.
Consequently, at step 32, the user will first be provided with information about product or service C on the basis that it is the best fit to the user's preferences, and is therefore the most likely to be chosen by the user. Information about entries A and B will also be available, as has been described.
Example 2
The procedure of Example 1 may be adequate in many situations, but there will be others for which further improvement is desirable, as follows. When choosing a hotel, it is often the case that some choice criteria are fundamental to the choice, while others are less significant. For instance, it will often be the case that the location is fundamental. For instance, a user who requires accommodation in a particular town will not select a hotel in a town many miles away, even if all other criteria fit the user's preferences. The ordering step 30 can be improved in relation to the ordering technique used in Example 1, to take this into account, as follows.
While setting up the database and the interrogation system, one or more of the criteria 20 can be selected as dominant criteria. When providing an order at 30, an entry which matches in a dominant field will be considered a better match than an entry which does not, regardless of the total number of matches of the two entries being compared. Thus, if location is selected as a dominant criterion, a hotel having only a few of the facilities preferred by the user, but being located in the correct town, will be considered a better match than a hotel which includes many of the facilities preferred by the user, but is in a different town.
The criteria to be dominant can be preselected or can be selected by the user at the time of use.
This small modification of the order step 30 produces a significant difference to the results, as can be seen in Fig. 4. Fig. 4 is similar to Fig. 3, showing a block of raw data at 40, and an ordered block at 42.
It can be seen from block 40 that entries A and B both have one match (criteria 1 and 2, respectively), while entry C has two matches (criteria 2 and 3). Thus, by the order method described in relation to Example 1, entry C would be placed first, having the greater total number of matches. However, in this example, criterion 1 is considered to be a dominant criterion. In consequence, the block 42 places entry A first, being the only entry which matches in the dominant criterion. Entry C is placed next, being ordered ahead of entry B by virtue of the greater total number of matches (two) and being equal with entry B in relation to the dominant criteria, in view of the fact that neither entry B or C matches in the dominant criterion.
Thus, while the entry A may appear to be a poor match with the user's preferences, it is nevertheless the most likely to be selected by the user, given that the dominant criterion is matched. Thus, a hotel is likely to be selected if it has the correct location, even if it is disappointing in its facilities.
In this example, it is particularly useful for the user to be provided with the results of the matching for more than one entry so that it is apparent to the user that although having a disappointing total match count, entry A is the only entry which meets the dominant criterion (hotel location).
Example 3
The ordering technique explained in relation to Example 2 provides two categories of criteria, namely dominant criteria and non-dominant criteria. Thus, the ordering technique is ascribing a weighting to each criterion, either dominant or non-dominant. This results in improved ordering, as has been described.
Ordering can be further improved by allowing a greater number of weightings to be used and in particular, by allowing the user to select an order of importance of criteria.
This can be achieved by additional steps prior to executing step 20 of Fig. 2. The additional steps are shown in Fig. 5. The process begins at B. The user is provided with a list of criteria at 44 and is invited to select the criterion which is most important to that user. In the case of a hotel, this is likely to be the location, but note that in this example, it is preferred that the choice is made by the user rather than being predetermined within the system.
Having selected the most important criterion at 44, the user is invited at 46 to select the next most important criterion. A decision at 48 determines if any more criteria are available for ranking by the user and if so, step 46 is repeated. Once all criteria have been ranked by the user, the process moves to A, and continues as illustrated in Fig. 2 and described above.
Having taken from the user an order of importance of the criteria, this order can be used when placing the database entries into an order, as illustrated in Fig. 6. The criteria 1, 2, 3 are shown in Fig. 6 in the order given tot them by the user, in accordance with Fig. 5. In Fig. 6, it can be seen that entry A has only one match, whereas entries B and C have two matches each. However, entries A and C match criterion 1, whereas entry B does not. Consequently, the raw data block 50 is re-ordered at 52 to place entry C first, followed by entry A and then by entry B. Entry C takes precedence over entry A because both entries match the most important criterion (1), but entry C also matches the next most important criterion (2). Entry A is placed ahead of entry B because entry A matches the most important criterion (1), whereas entry B does not.
If the entries represent hotels, with criterion 1 being the location, criterion 2 being the availability of a swimming pool, and criterion 3 representing the existence of a restaurant, the result would be to show the user that two hotels are available at the required location, but that one is likely to be more preferred than the other, for having a swimming pool. However, it is advantageous to display more than the best fitting entries because it may, in some circumstances, be helpful to a user to show that, in this example, if the user is prepared to forego the requirement of criterion 1, despite having chosen this as the most important, the user can then find the other two criteria satisfied, by choosing entry B. In the example of choosing a hotel, this may be unlikely to affect the decision if criterion 1 is the location, but there may be other situations in which the user would be prepared to modify his choice, particularly if the dif erence in importance between two criteria was only slight.
An important technical effect can be seen within the results achieved by the examples set out above. In each of the examples (Figs. 3, 4 and 6) there is no entry which matches all of the criteria. In a conventional database interrogation arrangement, this would result in a statement to the user to the effect that no matches had been found. This can be extremely unhelpful to a user, as mentioned above. However, in accordance with the present invention, the user is nevertheless provided with information relating to the best match and ordered in such a way that- the best match is first drawn to the user's attention, with information about other matches also being available. Thus, a user whose complete set of requirements cannot be met is nevertheless provided with a suggestion as to the product or service most likely to be considered acceptable. Another example will help explain the significance of this, as follows.
A database containing details of motor vehicles for sale could be used by a user who is selecting a new motor vehicle. The user might specify engine size, interior trim, body colour and maximum price. These would form the criteria used in ordering the database entries, as described above. Depending upon the nature of the entries and the user's preferences, the user might be informed that no vehicle is available which meets all four criteria, but that vehicles do exist which, for instance, have the required engine size, interior trim and maximum price, but a different body colour, or the required engine size, interior trim and body colour, but at a higher price. Thus, instead of being supplied simply with an indication that no perfect match exists, the user would be provided with two choices which are close, but not perfect matches. The user can then decide that price is more important than body colour, in which case the vehicle which matches engine size, interior trim and maximum price can be selected despite the colour, or the user can decide that the higher price is acceptable, in which case a more expensive car of the required engine size, interior trim and body colour can be selected. These additional choices are made available to the user immediately.
A database interrogation technique which reported only on perfect matches would prevent the user from obtaining this information without much greater difficulty, probably requiring many interrogations with slightly modified choices to see if any perfect matches could be retrieved. It would then be necessary to keep a record of those matches and the corresponding modified criteria in order to build up the information which a system according to the present invention will provide immediately. The difficulty and frustration involved in obtaining this information without the benefit of the present invention is likely to deter or prevent many users from completing the task.
Fig. 7 is a schematic illustration of computing apparatus 60 by which the interrogation techniques described above may be implemented. The apparatus 60 is based around processing means 62 which may be a computer, microprocessor or the like, running appropriate software by which the hardware is controlled to operate in accordance with the routines described above. Thus, the processing means 62 incorporates comparison means 64 (such as a software routine) which can compare a user preferences, input at 66,. with database entries stored in a database at 68. An ordering function 70 (such as another software routine) is provided to place database entries into an order, as has been described, prior to making them available to the user at 72.
The apparatus 60 can be implemented as a single computer having an input device, such as a layboard, at 66, and an output device, such as a display, at 72. Alternatively, the input and output devices could be provided as a computer operated by the user and communicating with the processing means 62 by means of a data network such as the internet, in which case, the processing means 62 and database 68 may be implemented as a web site.
It will be apparent that the technique can be implemented in many different techniques and technologies. It is particularly envisaged that the interrogation, including all interfacing with the user, would take place by means of software able to interrogate a data storage device containing the database. Communication with the user could be by means of a network, such as the Internet. Many software languages and software techniques could be used to implement the techniques, as will be apparent to the skilled man. Whilst endeavouring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon.

Claims

1. Database interrogation means for selecting a database entry for which data is stored within the database in a plurality of fields, comprising input means operable to receive data indicating the preference of a user in relation to at least some of the fields, processing means operable to compare user preferences with the corresponding fields for database, entries, the processing means being further operable to provide an order for database entries, at least in part in accordance with the number of fields for which database entries match the user preferences, and output means operable to identify the database entries to the user in accordance with the order provided by the processing means.
2. Database interrogation means as claimed in Claim 1 in which the fields are each allocated a weighting prior to the order being provided, whereby the processing means may provide a weighted ordering.
3. Database interrogation means as claimed in Claim 1 or 2 in which the fields include at least one dominant field, and the processing means is operable to place an entry which matches in a dominant field above an entry which does not, regardless of the total number of matches of these entries.
4. Database interrogation means as claimed in any one of the preceding claims in which the processing means places the entries in order by first considering the number of matches for dominant fields.
5. Database interrogation means as claimed in any one of the preceding claims in which the entries which have an equal number of matches for dominant fields are ordered among themselves by reference to the number of matches for other fields.
6. Database interrogation means as claimed in any one of the preceding claims in which the input means is operable to receive from a user an order of importance of fields, the order provided by the processing means being created in part by reference to the order of importance.
7. Database interrogation means as claimed in Claim 6 in which the order is provided by considering, for each entry, each field in the order of importance, and providing a count indicating the number of matching fields, in order of importance, before a non-matching field is identified, the entries being ordered in accordance with their associated count.
8. Database interrogation means as claimed in any one of the preceding claims in which the input means is operable to receive data transmitted over a communication network.
9. Database interrogation means as claimed in any one of the preceding claims in which the output means is operable to send data to a user by means of a communication network.
10. A database system comprising a database and database interrogation means as claimed in any one of the preceding claims.
11. A method of interrogating a database for selecting a database entry for which data is stored within the database in a plurality of fields, comprising receiving data indicating the preference of a user in relation to at least some of the fields, comparing user preferences with the corresponding field for database entries, and providing an order to database entries, at least in part in accordance with the number of fields for which database entries match user preferences, and identifying the database entries to the user in accordance with the order provided by the processing means.
12. A method as claimed in Claim 11 in which the fields are each allocated a weighting prior to the order being provided, whereby the processing means may provide a weighted ordering.
13. A method as claimed in Claim 11 or 12 in which the fields include at least one dominant field, an entry which matches in a dominant field being placed above an entry which does not, regardless of the total number of matches of these entries.
14. A method as claimed in any one of Claims 11 to 13 in which entries are placed in order by first considering the number of matches for dominant fields.
15. A method as claimed in any one of Claims 11 to 14 in which entries which have an equal number of matches for dominant fields are ordered among themselves by reference to the number of matches for other fields.
16. A method as claimed in any one of Claims 11 to 15 in which data is received from a user to indicate an order of importance of fields, the order provided by the processing means being created in part by reference to the order of importance.
17. A method as claimed in any one of Claims 11 to 16 in which the order is provided by considering, for each entry, each field in the order of importance, and providing a count indicating the number of matching fields, in order of importance, before a non-matching field is identified, the entries being ordered in accordance with their associated count.
18. Data processing software for use in interrogating a database in accordance with the method as claimed in any" one of Claims 11 to 17.
19. A data storage device containing data processing software operable in conjunction with a computing device to cause a database to be interrogated in accordance with the method as claimed in any one of Claims 11 to 17.
20. Data interrogation means substantially as hereinbefore described with reference to, and as shown in, any one of the embodiments illustrated in the accompanying drawings.
21. A method of interrogating a database substantially as hereinbefore described with reference to any one of the embodiments illustrated in the accompanying drawings.
PCT/GB2001/003057 2000-07-08 2001-07-06 Database interrogation WO2002005111A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001269298A AU2001269298A1 (en) 2000-07-08 2001-07-06 Database interrogation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0016767A GB2364583B (en) 2000-07-08 2000-07-08 Database interrogation
GB0016767.6 2000-07-08

Publications (2)

Publication Number Publication Date
WO2002005111A2 true WO2002005111A2 (en) 2002-01-17
WO2002005111A3 WO2002005111A3 (en) 2003-04-17

Family

ID=9895260

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/003057 WO2002005111A2 (en) 2000-07-08 2001-07-06 Database interrogation

Country Status (3)

Country Link
AU (1) AU2001269298A1 (en)
GB (1) GB2364583B (en)
WO (1) WO2002005111A2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544049A (en) * 1992-09-29 1996-08-06 Xerox Corporation Method for performing a search of a plurality of documents for similarity to a plurality of query words
EP0810535A2 (en) * 1996-05-29 1997-12-03 Matsushita Electric Industrial Co., Ltd. Document retrieval system
US5806061A (en) * 1997-05-20 1998-09-08 Hewlett-Packard Company Method for cost-based optimization over multimeida repositories
US6012053A (en) * 1997-06-23 2000-01-04 Lycos, Inc. Computer system with user-controlled relevance ranking of search results
US6073130A (en) * 1997-09-23 2000-06-06 At&T Corp. Method for improving the results of a search in a structured database

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544049A (en) * 1992-09-29 1996-08-06 Xerox Corporation Method for performing a search of a plurality of documents for similarity to a plurality of query words
EP0810535A2 (en) * 1996-05-29 1997-12-03 Matsushita Electric Industrial Co., Ltd. Document retrieval system
US5806061A (en) * 1997-05-20 1998-09-08 Hewlett-Packard Company Method for cost-based optimization over multimeida repositories
US6012053A (en) * 1997-06-23 2000-01-04 Lycos, Inc. Computer system with user-controlled relevance ranking of search results
US6073130A (en) * 1997-09-23 2000-06-06 At&T Corp. Method for improving the results of a search in a structured database

Also Published As

Publication number Publication date
GB0016767D0 (en) 2000-08-30
GB2364583B (en) 2004-09-22
AU2001269298A1 (en) 2002-01-21
GB2364583A (en) 2002-01-30
WO2002005111A3 (en) 2003-04-17

Similar Documents

Publication Publication Date Title
US6014665A (en) Method for organizing information
CN108268619B (en) Content recommendation method and device
US9424346B2 (en) Web query classification
US7236969B1 (en) Associative search engine
US7096218B2 (en) Search refinement graphical user interface
US8781813B2 (en) Intent management tool for identifying concepts associated with a plurality of users' queries
US6125395A (en) Method for identifying collections of internet web sites with domain names
US6098065A (en) Associative search engine
US20100205180A1 (en) Method and apparatus for identifying and classifying query intent
EP2284731A2 (en) Personalized search engine based on special keyword placement
US20030171999A1 (en) Online used car information search system
WO2002017192A1 (en) Method and system for display advertisement qualification and notification
US6741984B2 (en) Method, system and storage medium for arranging a database
WO2008022150A2 (en) Method and apparatus for identifying and classifying query intent
US8041712B2 (en) System and method for automatically selecting a data source for providing data related to a query
KR20010108330A (en) Method with a plurality of speech recognizers
US20160171122A1 (en) Multimodal search response
US7634475B1 (en) Relevance scoring based on optimized keyword characterization field combinations
Bridge et al. An expressive query language for product recommender systems
WO2002005111A2 (en) Database interrogation
KR20190074830A (en) System and method for determining landing page and computer readable record medium thereof
CN115904178A (en) Recommendation method, server, system, electronic device and storage medium for customer service robot
US20010011279A1 (en) Interactive label selection system
US6052680A (en) Method and apparatus for determining whether to route an input to a process based on a relevance between the input and the process
JP4439604B2 (en) Information collection and retrieval device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP