Używałem zdań ze zdaniami i spotkałem się z dziwnym problemem, takim jak "Jestem głodny" lub "Jestem pijany". Chociaż można by się spodziewać, że "ja" będzie oznaczane jako zaimek, "am" jako czasownik i "głodny" jako przymiotnik, nie są. Raczej wszystkie są oznaczone jako OtherWord
.Lingwistyczny tagger niepoprawnie oznaczony jako "OtherWord"
Czy jest coś, co robię nieprawidłowo?
NSString *input = @"I am hungry";
NSLinguisticTaggerOptions options = NSLinguisticTaggerOmitWhitespace;
NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes:[NSLinguisticTagger availableTagSchemesForLanguage:@"en"] options:options];
tagger.string = input;
[tagger enumerateTagsInRange:NSMakeRange(0, input.length) scheme:NSLinguisticTagSchemeNameTypeOrLexicalClass options:options usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSString *token = [input substringWithRange:tokenRange];
NSString *lemma = [tagger tagAtIndex:tokenRange.location
scheme:NSLinguisticTagSchemeLemma
tokenRange: NULL
sentenceRange:NULL];
NSLog(@"%@ (%@) : %@\n", token, lemma, tag);
}];
a wyjście jest:
I ((null)) : OtherWord
am ((null)) : OtherWord
hungry ((null)) : OtherWord
Bardzo dziwne, bawię się ze zdaniem - wstawienie "bardzo" powoduje prawidłowe zdanie, wstawienie "nie" nie powoduje wstawienia "niezbyt", ale będzie ... yeiks ... I próbowałem dla języka niemieckiego: niektóre zdania z dwoma słowami nie działają, słowa wydają się działać. (ale czasami nie tak doskonałe, jak tego oczekiwano). Ale to zdecydowanie dziwny problem. – luk2302
I 'my jesteśmy głodne' działa,' on jest głodny' działa, po prostu 'jestem głodny' nie:/używanie przymiotnika" spragniony "działa dla wszystkich trzech – luk2302
@ luk2302 Tak, widząc to samo. Wydaje się, że wstawienie przymiotnika/przysłówka powoduje, że jest on poprawnie oznaczony i jakikolwiek inny zaimek również wydaje się w porządku. – Joshua