NLTagger tagHypotheses always returns a single entry

Hi,

I noticed that the NLTagger is always returning a dictionary with a single entry when using tagHypotheses. However for some words I was expecting to see several entries with different probability. Shouldn't that be the case? Is there something to set to alter this behaviour outside of setting maximumCount to a value greater than 1?

For example, we know that "drive" can be a verb or a noun. But tagHypotheses() will only return the most likely based on context in the sentence (either verb or noun) and completely ignore the other one when returning the results dictionary.

Interestingly if you submit "drive" as the only item in the string linked to the tagger, it will say it is a verb. However, if you submit "drive, roam" then tagHypotheses will say that both are nouns (and no probability for either of them being a verb)...

Thanks!

--------- Code used for testing -------

tagger.enumerateTags(

            in: text.startIndex..<text.endIndex, 

            unit: .word, 

            scheme: .lexicalClass, 

            options: [.omitWhitespace, .omitPunctuation, .omitOther, .joinNames]

        ) { (tag, range) -> Bool in

            let (hypotheses, range) = tagger.tagHypotheses(

                at: range.lowerBound, 

                unit: .word, 

                scheme: .lexicalClass, 

                maximumCount: 5

            )

            print(hypotheses.count, String(text[range]))

NLTagger tagHypotheses always returns a single entry
 
 
Q