patents.google.com

CN112395261A - Service recommendation method and device, computing equipment and computer storage medium - Google Patents

  • ️Tue Feb 23 2021

Detailed Description

Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

Fig. 1 shows a flow diagram of a service recommendation method provided by an embodiment of the present invention. As shown in fig. 1, the service recommendation method includes:

step S11: and generating an initial tree label system according to the historical log data.

Specifically, historical log data is acquired. The embodiment of the invention can adopt foreground service consultation and historical log data of the acceptance date.

And then cleaning and structuring the historical log data, wherein the cleaning, the integration, the conversion and the reduction are four aspects. The cleaning is as follows: detecting and eliminating the existing error or inconsistent log data to improve the quality of the log data, including denoising, deduplication, missing data processing, such as interpolation, reconstruction or discarding data processing. The integration is represented as: integrating the log data of multiple data sources. Aiming at the problems of selection, conflict and inconsistent processing of log data, the aim of simplifying log data sets is fulfilled after integration. The conversion appears as: and converting the log data which cannot be processed into normalized log data which can be processed. The log data processing method is characterized in that non-normalized log data, namely log data which cannot be processed by a data mining model, are processed through operations such as smoothing, filtering, clustering, normalization, transformation and normalization. Reduction, i.e. dimensionality reduction, is represented by: and deleting log data corresponding to the attribute which does not describe the key characteristic. Such as culling attributes that partially fail to describe key features of the system and attributes that do not conform to the mined topic, and sample sampling.

And generating an initial tree label system according to the processed historical log data. Because some or all of the processed historical log data may have been labeled with labels manually, the embodiments of the present invention use the labeled historical log as seed data to construct a tree-shaped label system to be confirmed. As shown in FIG. 2, assume the level of the original label tree is C, degree is D, and the number of nodes is N, wherein C, D, N is a positive integer. The nodes of the label tree are { j1,j2,j3,…,jNAnd generating an initial tree label system consisting of Num label trees, wherein the initial tree label system comprises:

step S111: a natural number is randomly generated. Wherein the natural number K is a positive integer and is less than or equal to N.

Step S112: and randomly generating the natural numbers of non-repeating integers.

K non-repeating integers of j1,j2,j3,…,jNWherein j is not less than 11i≤N,i∈{1,…,K}。

Step S113: and extracting a set comprising the characteristics of the natural nodes from the processed historical log data, wherein the natural nodes respectively take log data of natural non-repeating integer positions in the processed historical log data.

Set G ═ ti,i={j11,j12,j13,…,j1KWhere t is equal to t }iIs a characteristic of the corresponding node.

Step S114: and generating a label tree according to the feature set of the plurality of natural nodes.

And particularly, determining the relationship among the nodes according to the relationship among the features in the set G. The characteristics of the parent node comprise the characteristics of all the child nodes, and a label tree is generated.

Step S115: judging whether the cycle number is less than Num, if yes, returning to the step S111; if not, step S116 is performed.

Step S116: an initial tree label system is formed.

So, the steps S111 to S114 are repeated to form a plurality of label trees. Specifically, Num times are cycled through the cycling step S111 to the step S114, and an initial tree-shaped label system comprising Num label trees is finally formed, wherein Num is a positive integer.

The tree label system is constructed according to historical log data, and is easy to read, control scale and update. The labels and the characteristics included in the tree label system and the corresponding relation between the labels and the characteristics are obtained according to historical log data. Compared with the prior art, the method provided by the embodiment of the invention is more objective and closer to the actual application scene according to the mode of artificial subjective determination, and the obtained labels and features are more comprehensive.

The embodiment of the invention describes the label system through the tree structure, and compared with a tiled label system, the label system accords with the hierarchical characteristics of information abstraction, is easy to read and is convenient for data analysis from each level; the scale of the labels is easy to control, the problem of label explosion is prevented from a label forming mechanism, and compared with a tiled label system, the increase of the tree-shaped label system is linear, and the increase of the tiled label system is multiplicative; the updating of the labels is easy to realize, for a tree-shaped label system, adding the labels is equivalent to a branching operation, deleting the labels is equivalent to a pruning operation, the technology is mature, and other labels cannot be influenced.

Step S12: and forming a tree label system with contribution rates of the features meeting preset conditions by adjusting the contribution rates of the features in the initial tree label system.

As shown in fig. 3, the method specifically includes the following steps:

step S121: and calculating the contribution rate of any feature to the label according to the depth of each label tree, the weight of the leaf node in each label tree and the information entropy of any feature.

Each tag tree has a depth of Nd,d=1,…,NL,NLIs the number of label trees. The weight of each leaf node in the label tree, namely the corresponding position of the label related feature in the tree, is wijThe information quantity of any feature, i.e. the entropy of information, is

Figure BDA0002169831480000061

Wherein n is the possible value number of any one feature, pjThe probability of each value is taken for any feature.

Any characteristic TiContribution rate C to the labeliThe following relation is satisfied:

Figure BDA0002169831480000071

wherein j is the jth initial label tree of the same label.

Because the same feature can present different characteristics in different regions, when determining the contribution rate of the feature to the label, the embodiment of the present invention considers the distribution characteristic of the feature in the region, that is, the information entropy of each feature is added to the contribution rate determination formula, so that the degree of attachment between the finally constructed tree-shaped label system and the actual application is improved.

Step S122: and judging whether the contribution rate meets the preset condition or not. If not, step S123 is performed, and if yes, step S124 is performed.

Step S123: and adjusting the weight of the leaf node in each label tree. And then returns to step S121.

Specifically, the weight of the leaf node in each label tree is taken as the calculated contribution rate of any one feature to the label, namely wi,j=CiAnd returning to step S121, and repeatedly calculating the contribution rate of any feature to the label.

After obtaining each feature pairContribution rate to label CiAnd then judging whether the contribution rate meets a preset condition, wherein the preset condition is as follows:

Figure BDA0002169831480000072

wherein, CiAs the contribution rate of any of the features to the label, wi,jFor the weight of the leaf node in each label tree, a preset threshold value, which is the depth of the label/the average depth of all label trees, is set.

And if the preset condition is met, stopping circulation.

If it is not

Figure BDA0002169831480000073

Then let wij=CiTaking the weight of the leaf node in each label tree as the calculated contribution rate of any feature to the label, returning to step S121, and repeatedly calculating the contribution rate of any feature to the label until the contribution rate of any feature to the label meets the preset condition.

Step S124: and outputting the final tree-shaped label system.

If the contribution rate of any feature to the label meets the preset condition, the weight value at the moment is used as the final weight value of the feature, the label tree is a final label tree, the tree-shaped label system is a final tree-shaped label system, and the feature with the larger final weight value is used as the final feature of the label.

According to the embodiment of the invention, the actual contribution of each feature of the label to the label is obtained, and the feature finally used for describing the label is determined according to the actual contribution. Compared with the scheme that the feature of the description label is determined firstly and then the label is indexed according to the feature in the prior art, the method provided by the embodiment of the invention can dynamically adjust the feature of the description label according to the actual situation of the historical log data, and avoids the phenomenon of label indexing error caused by inaccurate feature determination. Meanwhile, the method of the embodiment of the invention realizes automatic adjustment between the characteristics and the label, can automatically determine the characteristics of the label according to different log data, avoids the influence of subjective factors on label determination, and improves the label indexing accuracy.

In the process of constructing the tree-shaped label system, the branch and leaf decomposition method formed in the steps S121 to S123 is applied to determine the label tree based on the initial characteristics and the weight thereof, and then the weight is modified based on the reverse characteristics of the label tree. And re-determining the label tree based on the modified weight, reversely deducing and modifying the weight again, and iterating in the way to finally determine the final weight of each feature. Therefore, the feature with larger weight is selected to describe the label, the weight with high matching degree is gradually increased and the weight with low matching degree is gradually reduced in the continuous iteration process, and the high matching degree between the finally determined label and the feature is ensured.

In the embodiment of the invention, the foreground service consultation and acceptance log is subjected to labeling treatment, and the tree-shaped label system depended on when labels are indexed is constructed based on the historical log file in the field of foreground service consultation and acceptance, so that the tree-shaped label system is better in fit with the application scene. The incidence relation between the label and the attribute is not manually specified, but is determined according to the historical log file in the foreground service consultation and acceptance field and the contribution degree of the attribute to the label by a branch and leaf decomposition method, namely, the determination result not only directly reflects the actual situation of the foreground service consultation and acceptance field, but also ensures that the attribute of the description label has strong incidence relation with the description label, and ensures the matching degree of the tree-shaped label system and the foreground service consultation and acceptance scene.

Step S13: and marking the label of the log data according to the position of the log data in the tree-shaped label system.

In step S13, determining a corresponding position of the log data in the tree label system; and marking the label of the position as the label of the log data to finish the labeling of the log data.

It should be noted that some tags become obsolete or no longer used during execution and that it is necessary to reject these old tags to prevent tag explosion problems. Therefore, in step S13, tags whose occurrence frequency is lower than the frequency threshold value are also rejected at preset time intervals. Specifically, the label conditions of log data of a certain time window, such as the last year, the last month and the like, are automatically counted based on the sliding window, a label with the occurrence frequency lower than a preset frequency threshold value in the time window is given, and an outdated label needing to be removed is further determined.

According to the embodiment of the invention, on the premise of giving full play to the knowledge accumulation of the manual labels in the early stage of the historical log data, the logs are automatically labeled, the labels are comprehensive, the efficiency is high, the human resource consumption is greatly reduced, the required manual intervention is small, the influence on the manual intervention is not or is small, the algorithm self-adaption capability is strong, and the labeling quantity is increased and more accurate, so that the recommendation service determined based on the labeled log data is more in line with the user characteristics, and the recommendation accuracy is improved.

Step S14: and determining and recommending the service related to the label.

After the label of the log data is obtained, in step S14, the log data matching the user is determined based on the label; clustering the matched log data, and determining the service related to the label according to the clustered log data; and recommending the service to the user.

In the embodiment of the invention, after the label of the log data is obtained, the log data matched with the user based on the label is determined by calculating the similarity between the label of the user and the label of the log. The similarity calculation method may be an existing method, such as a cosine similarity calculation method, and is not described herein again. Further, clustering the matched log data to obtain the internal association relationship among the data, and determining the final service related to the label. Specifically, clustering the matched log data, and selecting the class with the most tags containing the log data; determining the business to which the log data corresponding to each label in the class belongs; calculating the number of the log data belonging to the same service, and sequencing the services according to the number from large to small; and determining the preset number of services ranked at the top as the services related to the label. The correlation is the number of data/total number of class data. When recommending services to users, the recommendation can be performed in sequence from large to small according to the degree of correlation.

According to the embodiment of the invention, an initial tree label system is generated according to historical log data; forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system; marking the label of the log data according to the position of the log data in the tree-shaped label system; the method comprises the steps of determining and recommending the services related to the labels, fully playing the knowledge accumulation of historical log data, enabling the labels to be comprehensive and efficient, reducing human resource consumption to a great extent, being free from or slightly influenced by subjectivity, and being strong in self-adaptive capacity, enabling the determined recommended services to be more accurate along with the increase of the marked quantity, and improving the recommendation accuracy.

Fig. 4 is a schematic structural diagram of a service recommendation device according to an embodiment of the present invention. As shown in fig. 4, the service recommendation apparatus includes: label generation section 401, adjustment section 402, flag section 403, and service recommendation section 404. Wherein:

the tag generation unit 401 is configured to generate an initial tree tag system according to the history log data; the adjusting unit 402 is configured to form a tree label system in which the contribution rates of the features meet a preset condition by adjusting the contribution rates of the features in the initial tree label system; the marking unit 403 is configured to mark a label of the log data according to a position of the log data in the tree label system; the service recommendation unit 404 is configured to determine and recommend a service related to the tag.

In an alternative manner, the label generating unit 401 is configured to: acquiring historical log data; cleaning and structuring the historical log data; and generating an initial tree label system according to the processed historical log data.

In an optional manner, the tag generation unit 401 is further configured to: randomly generating a natural number; randomly generating the natural number of non-repeating integers; extracting a set including features of the natural nodes from the processed historical log data, wherein the natural nodes respectively take log data of natural non-repeating integer positions in the processed historical log data; generating a label tree according to the feature set of the plurality of natural nodes; and circularly forming a plurality of label trees.

In an alternative manner, the adjusting unit 402 is configured to: calculating the contribution rate of any feature to the label according to the depth of each label tree, the weight of the leaf node in each label tree and the information entropy of any feature; if the contribution rate of any feature to the label does not meet the preset condition, repeatedly calculating the contribution rate of any feature to the label by taking the weight of the leaf node in each label tree as the calculated contribution rate of any feature to the label until the contribution rate of any feature to the label meets the preset condition; and if the contribution rate of any feature to the label meets the preset condition, obtaining the final tree-shaped label system.

In an alternative manner, the preset conditions are:

Figure BDA0002169831480000101

wherein, CiAs the contribution rate of any of the features to the label, wi,jFor the weight of the leaf node in each label tree, a preset threshold value, which is the depth of the label/the average depth of all label trees, is set.

In an alternative manner, the service recommendation unit 404 is configured to: determining log data matched with a user based on the tag; clustering the matched log data, and determining the service related to the label according to the clustered log data; and recommending the service to the user.

In an alternative manner, the service recommendation unit 404 is configured to: clustering the matched log data, and selecting the class with the most tags in the log data; determining the business to which the log data corresponding to each label in the class belongs; calculating the number of the log data belonging to the same service, and sequencing the services according to the number from large to small; and determining the preset number of services ranked at the top as the services related to the label.

According to the embodiment of the invention, an initial tree label system is generated according to historical log data; forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system; marking the label of the log data according to the position of the log data in the tree-shaped label system; the method comprises the steps of determining and recommending the services related to the labels, fully playing the knowledge accumulation of historical log data, enabling the labels to be comprehensive and efficient, reducing human resource consumption to a great extent, being free from or slightly influenced by subjectivity, and being strong in self-adaptive capacity, enabling the determined recommended services to be more accurate along with the increase of the marked quantity, and improving the recommendation accuracy.

The embodiment of the invention provides a nonvolatile computer storage medium, wherein at least one executable instruction is stored in the computer storage medium, and the computer executable instruction can execute the service recommendation method in any method embodiment.

The executable instructions may be specifically configured to cause the processor to:

generating an initial tree label system according to historical log data;

forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system;

marking the label of the log data according to the position of the log data in the tree-shaped label system;

and determining and recommending the service related to the label.

In an alternative, the executable instructions cause the processor to:

acquiring historical log data;

cleaning and structuring the historical log data;

and generating an initial tree label system according to the processed historical log data.

In an alternative, the executable instructions cause the processor to:

randomly generating a natural number;

randomly generating the natural number of non-repeating integers;

extracting a set including features of the natural nodes from the processed historical log data, wherein the natural nodes respectively take log data of natural non-repeating integer positions in the processed historical log data;

generating a label tree according to the feature set of the plurality of natural nodes;

and circularly forming a plurality of label trees.

In an alternative, the executable instructions cause the processor to:

calculating the contribution rate of any feature to the label according to the depth of each label tree, the weight of the leaf node in each label tree and the information entropy of any feature;

if the contribution rate of any feature to the label does not meet the preset condition, repeatedly calculating the contribution rate of any feature to the label by taking the weight of the leaf node in each label tree as the calculated contribution rate of any feature to the label until the contribution rate of any feature to the label meets the preset condition;

and if the contribution rate of any feature to the label meets the preset condition, obtaining the final tree-shaped label system.

In an alternative manner, the preset conditions are:

Figure BDA0002169831480000121

wherein, CiAs the contribution rate of any of the features to the label, wi,jFor each leaf in the tag treeThe weight of the node, preset threshold, is the depth of the label/average depth of all label trees.

In an alternative, the executable instructions cause the processor to:

determining log data matched with a user based on the tag;

clustering the matched log data, and determining the service related to the label according to the clustered log data;

and recommending the service to the user.

In an alternative, the executable instructions cause the processor to:

clustering the matched log data, and selecting the class with the most tags in the log data;

determining the business to which the log data corresponding to each label in the class belongs;

calculating the number of the log data belonging to the same service, and sequencing the services according to the number from large to small;

and determining the preset number of services ranked at the top as the services related to the label.

According to the embodiment of the invention, an initial tree label system is generated according to historical log data; forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system; marking the label of the log data according to the position of the log data in the tree-shaped label system; the method comprises the steps of determining and recommending the services related to the labels, fully playing the knowledge accumulation of historical log data, enabling the labels to be comprehensive and efficient, reducing human resource consumption to a great extent, being free from or slightly influenced by subjectivity, and being strong in self-adaptive capacity, enabling the determined recommended services to be more accurate along with the increase of the marked quantity, and improving the recommendation accuracy.

An embodiment of the present invention provides a computer program product, which includes a computer program stored on a computer storage medium, where the computer program includes program instructions, and when the program instructions are executed by a computer, the computer is caused to execute the service recommendation method in any of the above method embodiments.

The executable instructions may be specifically configured to cause the processor to:

generating an initial tree label system according to historical log data;

forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system;

marking the label of the log data according to the position of the log data in the tree-shaped label system;

and determining and recommending the service related to the label.

In an alternative, the executable instructions cause the processor to:

acquiring historical log data;

cleaning and structuring the historical log data;

and generating an initial tree label system according to the processed historical log data.

In an alternative, the executable instructions cause the processor to:

randomly generating a natural number;

randomly generating the natural number of non-repeating integers;

extracting a set including features of the natural nodes from the processed historical log data, wherein the natural nodes respectively take log data of natural non-repeating integer positions in the processed historical log data;

generating a label tree according to the feature set of the plurality of natural nodes;

and circularly forming a plurality of label trees.

In an alternative, the executable instructions cause the processor to:

calculating the contribution rate of any feature to the label according to the depth of each label tree, the weight of the leaf node in each label tree and the information entropy of any feature;

if the contribution rate of any feature to the label does not meet the preset condition, repeatedly calculating the contribution rate of any feature to the label by taking the weight of the leaf node in each label tree as the calculated contribution rate of any feature to the label until the contribution rate of any feature to the label meets the preset condition;

and if the contribution rate of any feature to the label meets the preset condition, obtaining the final tree-shaped label system.

In an alternative manner, the preset conditions are:

Figure BDA0002169831480000141

wherein, CiAs the contribution rate of any of the features to the label, wi,jFor the weight of the leaf node in each label tree, a preset threshold value, which is the depth of the label/the average depth of all label trees, is set.

In an alternative, the executable instructions cause the processor to:

determining log data matched with a user based on the tag;

clustering the matched log data, and determining the service related to the label according to the clustered log data;

and recommending the service to the user.

In an alternative, the executable instructions cause the processor to:

clustering the matched log data, and selecting the class with the most tags in the log data;

determining the business to which the log data corresponding to each label in the class belongs;

calculating the number of the log data belonging to the same service, and sequencing the services according to the number from large to small;

and determining the preset number of services ranked at the top as the services related to the label.

According to the embodiment of the invention, an initial tree label system is generated according to historical log data; forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system; marking the label of the log data according to the position of the log data in the tree-shaped label system; the method comprises the steps of determining and recommending the services related to the labels, fully playing the knowledge accumulation of historical log data, enabling the labels to be comprehensive and efficient, reducing human resource consumption to a great extent, being free from or slightly influenced by subjectivity, and being strong in self-adaptive capacity, enabling the determined recommended services to be more accurate along with the increase of the marked quantity, and improving the recommendation accuracy.

Fig. 5 is a schematic structural diagram of a computing device according to an embodiment of the present invention, and a specific embodiment of the present invention does not limit a specific implementation of the device.

As shown in fig. 5, the apparatus may include: a processor (processor)502, a

Communications Interface

504, a memory 506, and a

communication bus

508.

Wherein: the processor 502,

communication interface

504, and memory 506 communicate with one another via a

communication bus

508. A

communication interface

504 for communicating with network elements of other devices, such as clients or other servers. The processor 502 is configured to execute the

program

510, and may specifically perform relevant steps in the service recommendation method embodiment described above.

In particular,

program

510 may include program code that includes computer operating instructions.

The processor 502 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement an embodiment of the present invention. The device includes one or more processors, which may be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.

And a memory 506 for storing a

program

510. The memory 506 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.

The

program

510 may specifically be used to cause the processor 502 to perform the following operations:

generating an initial tree label system according to historical log data;

forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system;

marking the label of the log data according to the position of the log data in the tree-shaped label system;

and determining and recommending the service related to the label.

In an alternative, the

program

510 causes the processor to:

acquiring historical log data;

cleaning and structuring the historical log data;

and generating an initial tree label system according to the processed historical log data.

In an alternative, the

program

510 causes the processor to:

randomly generating a natural number;

randomly generating the natural number of non-repeating integers;

extracting a set including features of the natural nodes from the processed historical log data, wherein the natural nodes respectively take log data of natural non-repeating integer positions in the processed historical log data;

generating a label tree according to the feature set of the plurality of natural nodes;

and circularly forming a plurality of label trees.

In an alternative, the

program

510 causes the processor to:

calculating the contribution rate of any feature to the label according to the depth of each label tree, the weight of the leaf node in each label tree and the information entropy of any feature;

if the contribution rate of any feature to the label does not meet the preset condition, repeatedly calculating the contribution rate of any feature to the label by taking the weight of the leaf node in each label tree as the calculated contribution rate of any feature to the label until the contribution rate of any feature to the label meets the preset condition;

and if the contribution rate of any feature to the label meets the preset condition, obtaining the final tree-shaped label system.

In an alternative manner, the preset conditions are:

Figure BDA0002169831480000161

wherein, CiAs the contribution rate of any of the features to the label, wi,jFor the weight of the leaf node in each label tree, a preset threshold value, which is the depth of the label/the average depth of all label trees, is set.

In an alternative, the

program

510 causes the processor to:

determining log data matched with a user based on the tag;

clustering the matched log data, and determining the service related to the label according to the clustered log data;

and recommending the service to the user.

In an alternative, the

program

510 causes the processor to:

clustering the matched log data, and selecting the class with the most tags in the log data;

determining the business to which the log data corresponding to each label in the class belongs;

calculating the number of the log data belonging to the same service, and sequencing the services according to the number from large to small;

and determining the preset number of services ranked at the top as the services related to the label.

According to the embodiment of the invention, an initial tree label system is generated according to historical log data; forming a tree label system with contribution rates of all the characteristics meeting preset conditions by adjusting the contribution rates of all the characteristics in the initial tree label system; marking the label of the log data according to the position of the log data in the tree-shaped label system; the method comprises the steps of determining and recommending the services related to the labels, fully playing the knowledge accumulation of historical log data, enabling the labels to be comprehensive and efficient, reducing human resource consumption to a great extent, being free from or slightly influenced by subjectivity, and being strong in self-adaptive capacity, enabling the determined recommended services to be more accurate along with the increase of the marked quantity, and improving the recommendation accuracy.

The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, embodiments of the present invention are not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.

In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the embodiments of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the invention and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.

Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.

Furthermore, those skilled in the art will appreciate that while some embodiments herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.

It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specified otherwise.