Ich habe gerade angefangen zu spielen, um mit NSLinguisticTagger
in diesem Blog meinen Code basieren: NSLinguisticTagger @ NSHipster.comObjective-C: NSLinguisticTagger "new york" vs "New York"
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); }];
Als ich diese laufen mit question = @"Weekend in New York"
, wird "New York"
markiert als PlaceName
was großartig ist. Aber wenn ich dies mit question = @"Weekend in new york"
, "new"
wird getags als "Adjective"
und "york"
wird als PlaceName
getaggt. Gibt es eine Möglichkeit, dies zu umgehen, so dass "New York"
und "new york"
beide als PlaceName
getaggt werden?
Ich bin völlig neu in dieser linguistischen Sache.
"Wochenende in New York" und "Wochenende in New York" hat eigentlich zwei verschiedene Bedeutungen (York ist auch eine Stadt). Der Tagger wählt den aus, den er für richtig hält, wenn er "Weekend in New York" benutzt. Wahrscheinlich ist Ihre beste Wette, die Rechtschreibung selbst zu korrigieren, wenn das möglich ist. – Daniel
dies ist nicht möglich, aus einer grammatikalischen Sicht "New York" und "New York" sind völlig anders – tkanzakic
Gibt es eine Möglichkeit, Autokorrektur rückwirkend auf eine Zeichenfolge anwenden? Wenn ich zum Beispiel "weekend in new york" auf einem Gerät tippe, wird automatisch "Wochenende in New York" angezeigt, sobald ich nach "york" die Leertaste drücke. –