相关疑难解决方法(0)

语言标记器错误地标记为"OtherWord"

我一直在使用NSLinguisticTagger句子,并且遇到了一个奇怪的问题,例如"我饿了"或"我喝醉了".虽然人们会期望'我'被标记为代词,'是'作为动词而'饥饿'作为形容词,但他们不是.相反,它们都被标记为OtherWord.

有什么我做错了吗?

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);
}];
Run Code Online (Sandbox Code Playgroud)

输出是:

I ((null)) : OtherWord
am ((null)) : OtherWord
hungry ((null)) : OtherWord
Run Code Online (Sandbox Code Playgroud)

cocoa nlp linguistics objective-c ios

8
推荐指数
1
解决办法
828
查看次数

标签 统计

cocoa ×1

ios ×1

linguistics ×1

nlp ×1

objective-c ×1