Advanced Scoring and Badges advanced-scoring-and-badges
Overview overview
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 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 account for 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 reevaluated 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.
- Basic and advanced scoring and badging rules may be applied to the same content.
-
Enabling badges for components is generic.
The differences in setting up the scoring and badging rules are:
-
Configurable advanced scoring engine
-
Advanced scoring rules:
scoringType
set toadvanced
- Requires
stopwords
-
Advanced badging rules:
badgingType
set toadvanced
badgingLevels
set to number of expert levels to award- Requires
badgingPaths
array of badges instead of thresholds array-mapping points to badges.
Configurable Scoring Engine configurable-scoring-engine
The advanced scoring engine provides an OSGi configuration with parameters that affect the advanced scoring algorithm.
-
Scoring weights
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.
Entered astopic,verb
with the comma escaped. For example:/social/forum/hbs/social/forum\,ADD
Default is set to the ADD verb for QnA and forum components. -
Scoring range
The range for advanced scores is defined by this value (maximum 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–scoring range, beyond which growth slows to limit the number of experts.Default value is 50.
Advanced Scoring Rules advanced-scoring-rules
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.
scoringType scoringtype
A scoring rule is a set of scoring subrules, each of which declares the scoringType
.
To invoke the advanced scoring engine, the scoringType
should be set to advanced
.
See Scoring Sub-Rules.
Stopwords stopwords
The advanced scoring package installs a configuration folder that contains a stopwords file:
/libs/settings/community/scoring/configuration/stopwords
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 gives an error.
Advanced Badging Rules advanced-badging-rules
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.
Included Rules and Badge included-rules-and-badge
Included Badge included-badge
Included in this beta release is one reward-based expert badge:
-
expert
/libs/settings/community/badging/images/expert-badge/jcr:content/expert.png
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 Scoring Rules and Sub-Rules included-scoring-rules-and-sub-rules
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):
-
/libs/settings/community/scoring/rules/adv-comments-scoring
code language-none 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
-
/libs/settings/community/scoring/rules/adv-forums-scoring
code language-none 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
Notes:
- Both
rules
andsub-rules
nodes are of typecq:Page
. subRules
is an attribute of type String[]
on the rule’sjcr:content
node.sub-rules
may be shared among various scoring rules.rules
should be in a repository location with read permission for everyone.- Rule names must be unique regardless of location.
Included Badging Rules included-badging-rules
Included in the release are two advanced badging rules that correspond to the advanced forums and comments scoring rules.
/libs/settings/community/badging/rules/adv-comments-badging
/libs/settings/community/badging/rules/adv-forums-badging
Notes:
rules
nodes are of type cq:Page.rules
should be in a repository location with read permission for everyone.- Rule names must be unique regardless of location.