16. A computer-implemented system, comprising: a data processor; a computer-readable memory encoded with instructions for commanding the data processors to execute steps including: receiving a plurality of offensive words, wherein each respective offensive word in the plurality of offensive words is associated with a severity score identifying the offensiveness of the respective word; receiving a string of words, wherein a candidate word is selected from the string of words; calculating, for each respective offensive word in the plurality of offensive words, a distance between the candidate word and the respective offensive word; calculating a plurality of offensiveness scores for the candidate word, each offensiveness score in the plurality of offensiveness scores based upon (i) the calculated distance between the candidate word and an offensive word in the plurality of offensive words and (ii) the severity score of the offensive word, wherein the plurality of offensiveness scores are calculated according to one or more of: 
 offensiveness score= A *(( B−C )/ B ); 
 offensiveness score= A *(( B −(1/ C ))/ B ); 
 offensiveness score=Max((( A−C )/ A ),0); and 
 offensiveness score=((( B−C )/ B )> T ); wherein A is the severity score for an offensive word in the plurality of offensive words; B is a function of a length of the offensive word; C is the calculated distance between the candidate word and the offensive word; and T is a threshold value; and determining whether the candidate word is an offender word based on whether the highest offensiveness score in the plurality of offensiveness scores for the candidate word exceeds an offensiveness threshold value.
16. A computer-implemented system, comprising: a data processor; a computer-readable memory encoded with instructions for commanding the data processors to execute steps including: receiving a plurality of offensive words, wherein each respective offensive word in the plurality of offensive words is associated with a severity score identifying the offensiveness of the respective word; receiving a string of words, wherein a candidate word is selected from the string of words; calculating, for each respective offensive word in the plurality of offensive words, a distance between the candidate word and the respective offensive word; calculating a plurality of offensiveness scores for the candidate word, each offensiveness score in the plurality of offensiveness scores based upon (i) the calculated distance between the candidate word and an offensive word in the plurality of offensive words and (ii) the severity score of the offensive word, wherein the plurality of offensiveness scores are calculated according to one or more of: 
 offensiveness score= A *(( B−C )/ B ); 
 offensiveness score= A *(( B −(1/ C ))/ B ); 
 offensiveness score=Max((( A−C )/ A ),0); and 
 offensiveness score=((( B−C )/ B )> T ); wherein A is the severity score for an offensive word in the plurality of offensive words; B is a function of a length of the offensive word; C is the calculated distance between the candidate word and the offensive word; and T is a threshold value; and determining whether the candidate word is an offender word based on whether the highest offensiveness score in the plurality of offensiveness scores for the candidate word exceeds an offensiveness threshold value. 30. The system of claim 16 , wherein the highest offensiveness score is one of: a smallest value offensiveness score calculated in comparing each of the plurality of offensive words with the candidate word, or a largest value offensiveness score calculated in comparing each of the plurality of offensive words with the candidate word.