Abstract:
The invention relates to a method for automatically comparing search profiles. According to the method, a search profile is compared with one or several offered profiles that are stored in a database. The individual profiles are subdivided in to data fields, in which the information to be compared is saved. Different types of data fields are provided within each profile and the individual profiles have the same structure. During the comparison of a search profile with an offered profile, at least two different types of data fields comprising different comparison functions are compared. A final comparison value is calculated from the interim comparison values that are obtained in this way. According to the inventive method, different comparison functions are thus used for the different types of data fields. This allows a substantially more individual comparison of information than can be obtained using conventional method.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    This application is based on and hereby claims priority to PCT Application No. PCT/DE01/02407 filed on 29 Jun. 2001 and German Application No. 100 34 694.4 filed on 17 Jul. 2000, the contents of which are hereby incorporated by reference. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    The invention relates to a method for comparing two search profiles.  
           [0003]    Methods for automatically comparing and assessing search profiles are used, for example, in search engines on the Internet, in order to assess the individual possible results investigated by the search engines for their relevance with regard to the entered search terms and, if appropriate, to display them as a relevant result. If a plurality of results are found, then these are sorted on the basis of decreasing relevance, and are displayed to the user in the appropriate sequence.  
           [0004]    A method for automatically comparing and assessing information, which is referred to as COINS (COmmon INterest Seeker) is known from the publication by D. Kuokka and L. Harada, Integrating Information via Matchmaking, Journal of Intelligent Information Systems (JIIS) 6(2/3), pages 261-279, 1996. This method allows plain texts to be compared, that is to say text details with any desired wording. The plain texts are in this method converted into document vectors, and these document vectors are compared and assessed in a search. This is done by using an inverse algorithm relating to the document frequency (term frequency-inverse document frequency algorithm).  
           [0005]    The publications K. Sycara, J. Lu, M. Klusch and S. Widoff, Dynamic Service Matchmaking among Agents in Open Information Environments, Journal ACM SIGMOND Record, Special Issue on Semantic Interoperability in Global Information Systems, A. Ouksel, A. Sheth (Eds.), 1999, and K. Sycara, J. Lu, M. Klusch Interoperabilityamong Heterogeneous Software Agents on the Internet, CMU-RJ-TR-98-22, The Robotics Institute Carnegie Mellon University, Pittsburgh, October 1998 relate to a computer language which allows a method for automatically comparing and assessing information to be carried out by heterogeneous agent systems in an open environment such as the Internet. An open environment means that the agents need not all know each other. This language is called Larks (Language for Advertisement and Request for Knowledge Sharing). The comparison process in Larks is subdivided into the following five individual steps:  
           [0006]    1. Those offered information units from a data bank are compared with the request in the same or a similar context in a context comparison process.  
           [0007]    2. The request is compared with the information units selected by the context comparison in three step elements of a syntax comparison process:  
           [0008]    2.1. The search profile and the offered information units are compared using a specific weighting method (term frequency-inverse document frequency weighting).  
           [0009]    2.2. The number and the declaration of the input and output variables and of the input and output functions are compared in a similarity comparison process.  
           [0010]    2.3. The variable types of the input and output variables are compared in a signature comparison process.  
           [0011]    3. A check is carried out in a semantic comparison process to determine whether the input and output functions of a pair comprising a search request and an information offer are comparable.  
           [0012]    This known method attempts to achieve as good an assessment as possible, that is to say an assessment which is as similar as possible to the assessment by a human being. Different major items are set for this purpose in the individual assessment steps. The individual assessment steps are in each case carried out sequentially, with all the information from the search request and all the information from one of the offered information units in each case being evaluated separately in each step.  
           [0013]    Furthermore, so-called multimatchmakers are known, that is to say methods, which can carry out a plurality of separate methods for automatically comparing and assessing information, and for averaging the respective results to form an overall result. Such multimatchmakers in principle operate in the same way as the known methods for comparing and assessing information. Further similar methods for comparing and assessing information, which carry out some of the comparison and assessment process, are called up only if a predetermined search request cannot be coped with in the required time period. This also allows complex search requests to be processed quickly.  
         SUMMARY OF THE INVENTION  
         [0014]    One aspect of the invention is based on the object of providing a method for automatically comparing and assessing information, by which an assessment is possible which is very similar to the assessment by a human being, and which is achieved with little computation effort.  
           [0015]    In one method for comparing a first search profile with at least one second search profile, with the search profiles each having a plurality of data fields and the data fields of the first search profile and of the second search profile each comprising at least two data fields of a different type, which is the same for the respective data field in the first and in the second search profile vector, the at least two different types of data fields are compared using different comparison functions during the comparison of the first search profile with the second search profile.  
           [0016]    In the method for automatically comparing and assessing information, a search profile which is predetermined by the user is compared with an offer profile which is stored in a data bank. The profiles are in each case subdivided into a specific number of data fields, in which the information to be compared is stored. Each profile has at least two different types of data fields. The profiles to be compared each include the same types of data fields.  
           [0017]    During the comparison of a search profile with an offer profile, the at least two different types of data fields are compared using different comparison functions, and the respective comparison is assessed using a provisional comparison value. A final comparison value is calculated from the provisional comparison values.  
           [0018]    The method thus compares profiles which are structured into individual data fields. One aspect of the invention uses different comparison functions for the different types of data fields, by which comparison functions provisional comparison values are calculated. This allows the contents of the individual data fields to be compared and assessed on a type-specific basis. A final comparison value is calculated from the provisional comparison values.  
           [0019]    The invention may result in the individual data fields being compared on a type-specific basis, and in the results of the individual comparisons, that is to say the provisional comparison values, being combined to form a final comparison value.  
           [0020]    The individual data fields are compared on a type-specific basis by the method, thus resulting in considerably more realistic results than with the previously known methods. Since only specific data fields can be processed by each of the individual comparison functions and the entire amount of data for a profile need not always be processed, the individual comparison functions can be produced easily and can be implemented by a short program section. This considerably simplifies the implementation of the method for a specific application and, furthermore, the method can be carried out quickly, since the individual short program sections process only specific tasks that are required for comparison.  
           [0021]    According to one preferred embodiment, one or more complex data fields are provided, which each relate to a plurality of data fields. If these further data fields are in turn complex data fields, then they in turn relate to a plurality of data fields. Basic data fields, in which the information for the profiles is stored, are arranged at the end of such a chain. The data fields are arranged in different levels, with a complex data field which relates to a plurality of further data fields being arranged in the respective level that is superior to the data fields to which it relates.  
           [0022]    According to one preferred embodiment, document vectors are produced for comparing data fields which contain plain texts, with the individual elements of the vectors being weighting factors which describe the relevance of the elements, and a Euclidean interval between the two document vectors being calculated as a provisional comparison value. The calculation of a Euclidean interval satisfies the requirements for a metric distance function, namely that two identical vectors are separated by  0 , and that the distance between a first and a second vector is identical to the distance between the second and the first vector,and that the distance between the first and the third vector is less than or equal to the distance between the first and a second vector plus the distance between the second and the third vector.  
           [0023]    The method can very advantageously be integrated in an agent system. This agent system has at least three types of agents, namely a search agent, an offer agent and a comparison agent which, in response to a request by the search agent, compares and assesses the profiles which are stored in the search agents and in the offer agents. The agent system is preferably an open agent system, that is to say further agents, in particular offer agents, can be added. The agents are preferably mobile agents, which means that they can be active at various locations in a computer network and can change their location in the computer network.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]    These and other objects and advantages of the present invention will become more apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:  
         [0025]    [0025]FIG. 1 shows a table illustrating the various basic data fields,  
         [0026]    [0026]FIG. 2 shows a profile description in tabular form,  
         [0027]    [0027]FIG. 3 shows a profile structure in the form of a block diagram,  
         [0028]    [0028]FIG. 4 shows the method for automatically comparing and assessing information in the form of a flowchart,  
         [0029]    [0029]FIG. 5 a  shows two plain texts to be compared,  
         [0030]    [0030]FIG. 5 b  shows two data records which are derived from the plain texts shown in FIG. 4 a,    
         [0031]    [0031]FIG. 5 c  shows assessment results for the individual words in the data records in tabular form,  
         [0032]    [0032]FIG. 6 shows an example of an offer description for a cooperation market,  
         [0033]    [0033]FIG. 7 shows an agent system in the form of a block diagram, and  
         [0034]    [0034]FIG. 8 shows a network for the connection of computers, on which the agent system shown in FIG. 6 is installed, in the form of a block diagram. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0035]    Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.  
         [0036]    In the method for automatically comparing and assessing information, a search profile is compared with an offer profile which is stored in a data bank. FIG. 2 shows a profile description for one exemplary embodiment. This profile description has eight data fields, of which the left-hand column in FIG. 2 indicates the title of the respective data field, the center column contains the variable symbol for the data field, and the right-hand column contains a brief description of that data field.  
         [0037]    In principle, a distinction is drawn between an offer profile and a search profile for an automatic comparison method. The profile description of the offer profile and of the search profile have matching structures. They differ only in the content of their profile type data field, in which details as to whether this is an offer profile or a search profile are stored. The profile type t data field is a Boolean data field, whose content may be either  0  or  1 . The further data fields are the title, the keywords, the detailed description, the costs, the dates, the duration and the subscribers. The title data field contains a brief description of the offered or sought service in the form of a so-called verb-noun expression. The use of such verb-noun expressions is known fromV.S. Subrahmanian (publisher), Piero Bonatti, Jürgen Dix, Thomas Eiter, “Heterogeneous Active Agents”, Cit Press; ISBN: 0262194368. The keywords data field contains a set of keywords. For the purposes of the present description, a set is an unorganized collection of elements of the same type, for example words, real numbers, integers or the like. The variable in a set is shown between two curved brackets.  
         [0038]    The detailed description data field contains a plain text, in which the service being offered or sought is described.  
         [0039]    The costs data field contains details about the minimum or maximum costs to be expected. The costs data field thus represents an interval.  
         [0040]    The duration data field contains the time period which is consumed in order to carry out the offered service.  
         [0041]    The subscribers data field contains a list of the names of those subscribers who are offering, or are the to be offering, that service. A list is represented by a superscript plus sign. The expression in brackets [ 1 : 2 ] means that each list item is composed of two individual elements, namely the first name and the surname. The data field τ 8 [ 1 : 2 ] + and the data field (τ 1 ) are complex variables, which will be explained in more detail below.  
         [0042]    [0042]FIG. 3 shows the structure of the profile description from FIG. 2. The profile description is subdivided into three levels (Level  0 , Level  1  and Level  2 ). Level  2  is the highest level, in which the data fields shown in FIG. 2 are arranged. The complex data fields τ 1  and τ 8 [ 1 : 2 ] + each relate to further data fields which are represented by corresponding variables in the subordinate level. For example, a plurality of data fields τ 1  are arranged in that level, and a keyword is stored in each of them. The complex variable τ 1  thus relates to the list of keywords stored in Level  1 . The complex data field τ 8 [ 1 : 2 ] + of subscribers relates to a list of further data fields. The elements in this list are field arrangements [ 1 : 2 ] which each include two names, the first name and the surname. In principle, a field arrangement includes a specific number of elements of the same type. The field arrangements τ 8 [ 1 : 2 ] + thus relate to further data fields which are arranged in Level  0  and each have a single-word entry, namely the first name or the surname. Two such data fields τ 8  are in each case combined to form one such field arrangement.  
         [0043]    The data fields which relate to further data fields in a subordinate level are referred to as complex data fields. The other data fields are basic data fields.  
         [0044]    The information for the respective profile is stored in the basic data fields. A plurality of basic data fields are projected over the complex data fields, in the form of sets, lists, field arrangements or registers (records), onto a single field arrangement in the topmost level. Registers are formed in a similar way to field arrangements from a predetermined number of successive elements, which in turn may be composed of different types.  
         [0045]    The tree structure, as described above, by which the complex data fields which branch off from a superior level to a subordinate level result in there being only a single data field in the topmost level (in this case Level  2 ) for each terminology unit.  
         [0046]    [0046]FIG. 1 shows a list of the basic data fields. Column  1  shows the variable names of the basic data fields τ 1  to τ 8 . The center column shows the names of the corresponding basic data fields, and the right-hand column shows a brief description of the content.  
         [0047]    The present exemplary embodiment is designed to compare language elements in the English language. The keywords τ 1  are therefore nouns in the English language. The verb-noun expressions τ 2  are expressions which are composed of a verb and at least one noun. A plain text τ 3  comprises any desired combination of words, letters and numbers. A number τ 4  is either an integer or a real number. An interval τ 5  is a field arrangement of the V 1 ,V 2  type, where V 1  and V 2  are the boundaries of the interval in the form of integers or real numbers. A date interval τ 6  is a field arrangement which has two dates D.M.Y., which in each case represent the date boundary of the field arrangement. A time τ 7  is a field arrangement with the details Y:D:H:M:S:M s , where Y is the year, D the day, H the hours, M the minutes, S the seconds and M s  hundredths of seconds. A name τ 8  is any desired suitable name for a person.  
         [0048]    [0048]FIG. 4 shows the sequence of the method, schematically, for the profile structure shown in FIG. 3.  
         [0049]    The method starts with step S 1 . In step S 2 , the subscriber data fields are compared by a name comparison function. If two names match, that is to say two fields arrangements composed of a first name and a surname match, then the name comparison function which calculates an interval as the provisional comparison value results in the interval  0 . If the names to be compared do not match, then the name comparison function results in the interval  1  as the provisional comparison value. In the comparison of the subscriber data fields in step S 2 , one field arrangement from the search profile is in each case compared with all the corresponding field arrangements in the offer profile. This comparison is therefore carried out between the field arrangements in Level  0 . If a field arrangement in the search profile matches one of the field arrangements in the offer profile, then the value  0  is entered as the provisional comparison value in Level  1  of the search profile, in the data field τ 8 [ 1 : 2 ] associated with the field arrangement that has been found. If it has not been possible to find this field arrangement (=first name and surname), then the value  1  is entered in the corresponding data field in Level  1 . After completion of step S 2 , all the data fields τ 8 [ 1 : 2 ] are provided with a provisional comparison value.  
         [0050]    In step S 3 , the provisional comparison values which are associated with the names are assessed. This is generally done by forming a weighted mean. Since the elements to be compared are always of the same type, they are equivalent and are therefore all given the weighting  1 . A mean value of the values entered in the complex data field τ 8 [ 1 : 2 ] is thus formed in each case. This mean value is a second-order provisional comparison value, which is entered in the complex data field for the name list τ 8 [ 1 : 2 ] + in Level  2 .  
         [0051]    In the next step S 4 , the data fields τ 1  which contain the keywords in the search profile are compared with the corresponding data fields in the offer profile. The comparison function for comparing the keywords is designed such that each keyword in the search profile is compared with each keyword in the offer profile and, if the keywords in the offer profile do not contain a keyword from the search profile, the value  1  is stored. Otherwise, the value  1  is stored. The mean value of these values is calculated as the provisional comparison value, and this is entered in the data field in the list of keywords {τ 1 }.  
         [0052]    Steps S 3  and S 4  are carried out in Level  1 .  
         [0053]    In the next step S 5 , the contents of the data fields title τ 2 , detailed description τ 3 , costs τ 5 , dates τ 6  and duration τ 7  are compared with one another.  
         [0054]    The comparison function for comparing the title τ 2  is a known comparison function for comparing verb-noun expressions.  
         [0055]    The comparison function for comparing the detailed description τ 3  data field is a comparison function for comparing plain texts. FIG. 5 a  shows two examples of plain texts d 1 , d 2 , which each comprise a text in the English language. These plain texts are first of all transformed into data records DS 1  and DS 2 , into which all those words which are not stop words are transferred from the plain texts. Stop words are words which have little information content. Lists of known stop words exist. In the present case, the following words are assessed as stop words:  
         [0056]    this, is, in, a, the, and, off, can, be, are, with, we, for, to, an, able, which, our, not, shout, already, make.  
         [0057]    The individual words are each followed by an indication of their frequency in the corresponding plain texts in the data records DS 1  and DS 2 . The individual words are sorted in alphabetical order in the data records.  
         [0058]    In order to compare the plain texts, the words in the data records must be provided with weighting factors. In order to calculate the weighting factors, a so-called inverse document frequency idf j  is first of all calculated, which is defined as follows:  
           i                   df   f       :=     log        N     df   j           ,                         
 
         [0059]    where N is the total number of all the documents and df j  is the number of documents which contain the word j. In the following exemplary embodiment, each plain text represents one document. Overall, in addition to the two plain texts shown in FIG. 5 a,  there are another  18  plain texts for a further  18  offer profiles. The total number of documents N is thus  20 .  
         [0060]    The inverse document frequency is used to weight those words which occur very frequently with a value which tends to  0 , and those words which occur in only a few documents are weighted with the value which tends to  1 . This results in words which occur rarely in the inverse document frequency idf j  being weighted more strongly than frequent words. Rare words generally have more information content than frequent words.  
         [0061]    In addition to the inverse document frequency, the frequency tf ij  of the words j in the documents i is also taken into account. The weighting factor w ij  thus becomes the product of the frequency tf ij  and of the inverse document frequency idf j  (w ij =tf ij idf j ).  
         [0062]    The inverse document frequency df j  and the weighting factors w 1j  and W 2j  for the words in the data record shown in FIG. 5 b  are listed in the table in FIG. 5 c.    
         [0063]    The weighting factors w 1j  and w 2j  in each case form elements of the document vectors DV 1  and DV 2 .  
         [0064]    The interval between the corresponding document vectors DV 1  and DV 2  is calculated by comparing two plain texts. The interval between the two vectors is calculated from the Euclidean interval in accordance with the following formula:  
         d        (       DV   i     ,     DV   1       )       =         ∑     j   =   1     k                       (       w     i   ,              j       -     w     l   ,   j         )     2                               
 
         [0065]    The Euclidean norm satisfies all the preconditions for a metric interval:  
         [0066]    the interval between two identical vectors is  0 .  
         [0067]    The interval between a first vector and a second vector is equal to the interval between the second vector and the first vector. This means that the interval calculation is symmetrical.  
         [0068]    The interval between a first vector and a third vector is less than the sum of the intervals between the first vector and a second vector and between the second vector and the third vector.  
         [0069]    The only way to ensure that a sensible interval is always determined is for the interval calculation to satisfy this precondition.  
         [0070]    Instead of calculating the interval between the two document vectors by a Euclidean interval, it is also possible, as is done in known comparison methods, to calculate the intervals between the two vectors by the cosine between the two vectors.  
         [0071]    The comparison function for comparing the data fields which contain the costs is a comparison function for comparing intervals. The distance between two intervals i 1 , i 2  which are defined by real numbers i 1 =[l 1 ,r 1 ] and i 2 =[l 2 , r 2 ] is calculated in accordance with the following formula:  
         d        (       i   1     ,     i   2       )       :=     {                      l   1     -     l   2            +            r   1     -     r   2                       l   2     -     r   1                  for           l   1     &lt;     l   2     &lt;     r   1     &lt;     r   2                            l   2     -     l   1            +            r   2     -     r   1                       l   1     -     r   2                  for           l   2     &lt;     l   1     &lt;     r   21     &lt;     r   1                            l   1     -     l   2            +            r   2     -     r   1                       l   2     -     r   2                  for           l   1     &lt;     l   2     &lt;     r   2     &lt;     r   1                            l   2     -     l   1            +            r   1     -     r   2                       l   2     -     r   1                  for           l   2     &lt;     l   1     &lt;     r   1     &lt;     r   2                 ∞                                  else                                              
 
         [0072]    Comparison functions which are known per se are used for calculating the interval in the date and the duration data fields.  
         [0073]    In the present exemplary embodiment, no numbers are compared, for which reason no corresponding comparison functions are used for comparison either. A comparison function such as this can be provided, for example, very easily by determining the absolute value of the difference between the numbers to be compared.  
         [0074]    The provisional comparison values which are determined from the comparison of the data fields τ 2 , τ 3 , τ 5 , τ 6  and τ 7  are stored. This completes step S 5 .  
         [0075]    In step S 6 , the individual provisional comparison values relating to the data fields τ 1  to τ 8  in Level  2  are used to calculate a final comparison value. In this case, a weighted mean value is calculated, with the individual data fields being weighted to different extents depending on their significance. The result of the forming of this weighted mean value is a distance value which indicates the distance between the two profiles to be compared, the search profile and the offer profile.  
         [0076]    Since, as a rule, a similarity value is desired rather than a distance value, the reciprocal of the distance value is formed (step S 7 ). This similarity value represents the final comparison value and is output is step S 8 . The method is ended in step S 9 .  
         [0077]    The final comparison value is used to sort the corresponding offer profile in a list of offer profiles on the basis of the calculated similarity to the search profile.  
         [0078]    If, when initiating a search process, the user findsthat he desires the most similar offer profiles, then the method and as described above is carried out for each offer profile, and the individual offer profiles are sorted on the basis of decreasing similarity to the search profile, and the most similar offer profiles are output to the user as the result.  
         [0079]    The method may be in the form of a computer program for automatically comparing profiles. It is particularly advantageous for the method to be in the form of an agent system.  
         [0080]    Agents are autonomous, cooperative software units which comprise code and data. They are autonomously functioning software units, which do not require any continuous interaction with the user. Both stationary and mobile agents exist.  
         [0081]    Mobile agents are known, for example, from U.S. Pat. No. 5,603,031. Mobile agents are programs which may be active at different locations in a computer network and can change their location in the computer network.  
         [0082]    [0082]FIG. 7 shows, schematically, the sequence of the method by three agents. In this case, a comparison agent, a search agent and an offer agent are used. The comparison agent contains a data bank in which the offer agents that are known to it are stored, with their respective offer profiles. The offer agents may be entered in the appropriate data bank with their offer profile, and this offer profile can be deleted again if it no longer includes the appropriate offer.  
         [0083]    A search agent which searches for a specific service uses a comparison agent and sends a search request to that comparison agent. The search request containsan appropriate search profile. This search profile compares the comparison agent with the offer profiles stored in its data bank and assesses them using the method described above. It transmits to the search agent an appropriate search response, which contains a list with the names of the relevant offer agents, with each offer agent being assessed by a comparison value.  
         [0084]    The search agent can either pass on the search response to its original customer, or can send a request to provide the appropriate service to the offer agent which is associated with the best comparison value. The service can then be provided by the offer agent to the search agent, which passes it on to its customer.  
         [0085]    [0085]FIG. 1 shows, in a schematically simplified form, a network which includes one such agent system. The network has a plurality of computers  1 , that are connected to one another via data lines  2 . An agent system AG is installed in each of the individual computers  1 . The network contains a plurality of mobile agents AG-I to AG-IV, which are either arranged at one of the computers  1  or move from one computer to another.  
         [0086]    Each agent system has an agent platform which comprises service programs which an agent requires in order to make it possible for this to be carried out on the respective computer  1 .  
         [0087]    The agents AG-I are offer agents and the agents AG-II are search agents. The agent AG-III is a comparison agent. The offer profiles for the offer agents AG-I are stored in the comparison agent AG-III. A search agent AG-II can place a search request with the comparison agent AG-III, which responds to it with an appropriate search response.  
         [0088]    The search agents can then further process the search response in the appropriate predetermined manner and, in particular, can pass it on to that user who isusing a computer in the network.  
         [0089]    The method may be in the form of a software product which is stored in a network, for example in the form of a comparison agent. The method may, however, also be stored on any desired electronically legible data medium or in a semiconductor memory in a computer, and can be caused to run in that computer.  
         [0090]    The invention has been explained in relatively great detail above with reference to an exemplary embodiment. However, it is not restricted to the specific embodiment in the exemplary embodiment. The essential feature is that the individual profiles are structured by different types of data fields and that different comparison functions are applied to the different types of data fields. This results in a multidimensional assessment of the profiles to be compared. This multidimensional assessment of the profiles results in a highly individual assessment, which is very similar to the assessment by a human being. For example, within the scope of the invention, it is possible for the basic fields to be filled with contents other than those in the above embodiment. It is also possible to compare profiles with different structures, with one of the profiles being mapped onto a further profile whose structure matches the profile to be compared.  
         [0091]    This additional mapping process allows the field of use of the method to be extended considerably. For example, it may be expedient to provide a relatively small profile with, for example, three to five different types of data fields, onto which any desired information units are mapped. These information units are then compared by the structured profiles associated with them.  
         [0092]    The invention has been described in detail with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.