Я только начал играть с NSLinguisticTagger, основываясь на моем коде в этом блоге: NSLinguisticTagger @NSHipster.com
NSLinguisticTaggerOptions options = NSLinguisticTaggerOmitWhitespace | NSLinguisticTaggerOmitPunctuation | NSLinguisticTaggerJoinNames;
NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes: [NSLinguisticTagger availableTagSchemesForLanguage:@"en"] options:options];
tagger.string = question;
[tagger enumerateTagsInRange:NSMakeRange(0, [question length]) scheme:NSLinguisticTagSchemeNameTypeOrLexicalClass options:options usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSString *token = [question substringWithRange:tokenRange];
NSLog(@"%@: %@", token, tag); }];
Когда я запускаю это с помощью question = @"Weekend in New York", "New York" получает помечен как PlaceName, что отлично. Но когда я запускаю это с помощью question = @"Weekend in New York", "new" получает помечен как "Adjective" и "york" получает помечен как PlaceName. Есть ли способ обойти это, чтобы "New York" и "New York" оба помечены как PlaceName?
Я совершенно не знаком с этой лингвистикой.