Advanced scoring allows awarding of badges to identify members as experts. Advanced scoring assigns points based on the quantity and quality of content created by a member, whereas basic scoring assigns points simply based on the quantity of content created.
This difference is due to the scoring engine used to calculate the scores. The basic scoring engine applies simple math. The advanced scoring engine is an adaptive algorithm that rewards active members who contribute valued and relevant content, deduced through natural language processing (NLP) of a topic.
In addition to content relevance, the scoring algorithms take into account member activities, such as voting and percentage of answers. While basic scoring includes them quantitatively, advanced scoring uses them algorithmically.
Therefore, the advanced scoring engine requires enough data to make analysis meaningful. The achievement threshold for becoming an expert is constantly re-evaluated as the algorithm continually adjusts to the volume and quality of content created. There is also a concept of decay of a member’s older posts. If an expert member stops participating in the subject matter where they gained expert status, at some pre-determined point (see scoring engine configuration) they could lose their status as an expert.
Setting up advanced scoring is virtually the same as basic scoring:
Basic and advanced scoring and badging rules are applied to content in the same manner.
Enabling badges for components is generic.
The differences in setting up the scoring and badging rules are:
Configurable advanced scoring engine
Advanced scoring rules:
Advanced badging rules:
badgingLevelsset to number of expert levels to award
badgingPathsarray of badges instead of thresholds array mapping points to badges.
To use advanced scoring and badging capabilities, install the Expert Identification package.
The advanced scoring engine provides an OSGi configuration with parameters that affect the advanced scoring algorithm.
For a topic, specify the verb that should be given the highest priority when calculating the score. One or more topics may be entered, but limited to one verb per topic. See Topics and Verbs.
topic,verb with the comma escaped. For example:
Default is set to the ADD verb for QnA and forum components.
The range for advanced scores is defined by this value (maximum possible score) and 0 (lowest possible score).
Default value is 100 so that scoring range is 0-100.
Entity decay time interval
This parameter represents the number of hours after which all entity scores are decayed. This is required to no longer include old content in scores for a community site.
Default value is 216000 hours (~24 years).
Scoring growth rate
This specifies the score between 0 and scoring range, beyond which growth slows to limit the number of experts.
Default value is 50.
In basic scoring, the quantity needed to earn a badge is known.
In advanced scoring, the quantity needed is constantly adjusting based on the amount of quality data within the system. The scoring is continually calculated in a manner similar to a bell curve.
If a member earned an expert badge on a topic which is no longer active, there is a possibility they will lose their badge due to decay over time.
A scoring rule is a set of scoring sub-rules, each of which declares the
To invoke the advanced scoring engine, the
scoringTypeshould be set to
See Scoring Sub-Rules.
The advanced scoring package installs a configuration folder that contains a stopwords file:
The advanced scoring algorithm uses the list of words contained in the stopwords file to identify common English words that are ignored during content processing.
There is no expectation that this file would be modified.
If the stopwords file is missing, the advanced scoring engine will throw an error.
The advanced badging rule properties differ from the basic badging rule properties.
Instead of associating points with a badge image, it is only necessary to identify the number of experts allowed and the badge image to award.
|badgingPath||String||(Required) A multi-value string of badge images up to the number of badgingLevels. The badge image paths must be ordered so the first is awarded to the highest expert. If there are less badges than indicated by badgingLevels, the last badge in the array fills out the rest of the array. Example entry:
|badgingLevels||Long||(Optional) Specifies the levels of expertise to be awarded. For example, if there should be an
|badgingType||String||(Required) Identifies the scoring engine as either "basic" or "advanced". Set to "advanced" else the default is "basic".|
|scoringRules||String||(Optional) A multi-value string to restrict the badging rule to scoring events identified by the scoring rule(s) listed.
Default is no restriction.
Included in this beta release is one reward-based expert badge:
For the expert badge to appear as a reward for activity, make sure:
Badges are enabled for the feature, such as a forum or QnA component.
Advanced scoring and badging rules are applied to the page (or ancestor) on which the component is placed
See the basic information for:
Included in the beta release are two advanced scoring rules for the forum function (one each for the forum and comments components of the forum feature):
subRules = /libs/settings/community/scoring/rules/sub-rules/adv-comments-rule /libs/settings/community/scoring/rules/sub-rules/adv-voting-rule-owner /libs/settings/community/scoring/rules/sub-rules/adv-voting-rule
subRules = /libs/settings/community/scoring/rules/sub-rules/adv-forums-rule /libs/settings/community/scoring/rules/sub-rules/adv-comments-rule /libs/settings/community/scoring/rules/sub-rules/adv-voting-rule-owner
sub-rules nodes are of type
subRules is an attribute of type String on the rule’s
sub-rules may be shared among various scoring rules.
rules should be located in a repository location with read permission for everyone.
Rule names must be unique regardless of location.
Included in the release are two advanced badging rules that correspond to the advanced forums and comments scoring rules.
rulesnodes are of type cq:Page.
rulesshould be located in a repository location with read permission for everyone.