Instance Method

enumerateTagsInRange:scheme:options:usingBlock:

Enumerates over a given range of the string and calls the specified block for each tag.

Declaration

- (void)enumerateTagsInRange:(NSRange)range scheme:(NSLinguisticTagScheme)tagScheme options:(NSLinguisticTaggerOptions)opts usingBlock:(void (^)(NSLinguisticTag tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop))block;

Parameters

range

The range to analyze.

tagScheme

The tag scheme. For possible values, see NSLinguisticTagScheme.

opts

The linguistic tagger options to use. See NSLinguisticTaggerOptions for possible values.

block

The block to apply to ranges of the string.

The block takes the following arguments:

tag

The located linguistic tag.

tokenRange

The range of the linguistic tag.

sentenceRange

The range of the sentence in which the tag occurs.

stop

A reference to a Boolean value. The block can set the value to YES to stop further processing of the set. The stop argument is an out-only argument. You should only ever set this Boolean to YES within the block.

Discussion

This method’s block is called for all tokens intersecting a given range, supplying tags and ranges. The tagger segments the string into sentences and tokens as necessary, and return those ranges along with a tag for any scheme in its array of tag schemes. For example, if the tag scheme is NSLinguisticTagSchemeLexicalClass, the tags specify the part of speech (for word tokens) or the type of whitespace or punctuation (for whitespace or punctuation tokens). If the tag scheme is NSLinguisticTagSchemeLemma, the tags specify the stem form of the word (if known) for each word token.

This is a convenience method for calling the enumerateTagsInRange:unit:scheme:options:usingBlock: method, passing NSLinguisticTaggerUnitWord as the linguistic unit.

See Also

Enumerating Linguistic Tags

Identifying Parts of Speech

Classify nouns, verbs, adjectives, and other parts of speech in a string.

Identifying People, Places, and Organizations

Use a linguistic tagger to perform named entity recognition on a string.

- enumerateTagsInRange:unit:scheme:options:usingBlock:

Enumerates over a given range of the string for a particular unit and calls the specified block for each tag.

+ enumerateTagsForString:range:unit:scheme:options:orthography:usingBlock:

Enumerates over a given string and calls the specified block for each tag.

NSLinguisticTaggerOptions

Constants for linguistic tagger enumeration specifying which tokens to omit and whether to join names.