Ab'*_*tio 8 iphone linguistics objective-c ios
我正在使用NSLinguisticTagger
词干.我能够在一个句子中得到单词的词干,但是不能为单个单词得到词干.
以下是我正在使用的代码,
NSString *stmnt = @"i waited";
NSLinguisticTaggerOptions options = NSLinguisticTaggerOmitWhitespace | NSLinguisticTaggerOmitPunctuation | NSLinguisticTaggerJoinNames;
NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes:@[NSLinguisticTagSchemeLemma] options:options];
tagger.string = stmnt;
[tagger enumerateTagsInRange:NSMakeRange(0, [stmnt length]) scheme:NSLinguisticTagSchemeLemma options:options usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSString *token = [stmnt substringWithRange:tokenRange];
NSLog(@"%@: %@", token, tag);
}];
Run Code Online (Sandbox Code Playgroud)
为此,我正确地出去了:
i: i
waited: wait
Run Code Online (Sandbox Code Playgroud)
但上面的代码无法识别词干 stmnt = @"waited";
任何帮助是极大的赞赏
以下代码为我工作,
NSString *stmt = @"waited";
NSRange stringRange = NSMakeRange(0, stmt.length);
NSDictionary* languageMap = @{@"Latn" : @[@"en"]};
[stmt enumerateLinguisticTagsInRange:stringRange
scheme:NSLinguisticTagSchemeLemma
options:NSLinguisticTaggerOmitWhitespace
orthography:[NSOrthography orthographyWithDominantScript:@"Latn" languageMap:languageMap]
usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
// Log info to console for debugging purposes
NSString *currentEntity = [stmt substringWithRange:tokenRange];
NSLog(@"%@ is a %@, tokenRange (%d,%d)",currentEntity,tag,tokenRange.length,tokenRange.location);
}];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1286 次 |
最近记录: |