Use unique n-grams for the denominator

Since `intersect()` finds the unique n-grams that match, not all the
matches, it is necessary to use the unique n-grams in the denominator
too. This shows that the comparisons are more favorable than we thought.
And most important, in the diagonal of the comparison matrix, a code
compared to itself now has a value of 1.