相关疑难解决方法(0)

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";

任何帮助是极大的赞赏

iphone linguistics objective-c ios

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

设备与模拟器语言方案

有谁知道为什么会这样?

在任何模拟器上都可以找到所有方案,代码如下:

NSArray<NSLinguisticTagScheme> *availSchemes = [NSLinguisticTagger availableTagSchemesForLanguage:@"en"];
for (NSLinguisticTagScheme scheme in availSchemes) {
    NSLog(@"Tag scheme %@", scheme);
}
Run Code Online (Sandbox Code Playgroud)

得出以下结论:

2018-02-13 09:12:54.066970-0500 MY_APP[79671:5737063] Tag scheme Language
2018-02-13 09:12:54.067160-0500 MY_APP[79671:5737063] Tag scheme Script
2018-02-13 09:12:54.067300-0500 MY_APP[79671:5737063] Tag scheme TokenType
2018-02-13 09:12:54.067425-0500 MY_APP[79671:5737063] Tag scheme LexicalClass
2018-02-13 09:12:54.067541-0500 MY_APP[79671:5737063] Tag scheme NameType
2018-02-13 09:12:54.067655-0500 MY_APP[79671:5737063] Tag scheme NameTypeOrLexicalClass
2018-02-13 09:12:54.067768-0500 MY_APP[79671:5737063] Tag scheme Lemma
Run Code Online (Sandbox Code Playgroud)

但是,在我的设备(iPhone 6s iOS 11.2)上,我收到以下内容..

2018-02-13 09:13:09.834879-0500 MY_APP[4327:313598] Tag scheme Language
2018-02-13 09:13:09.835256-0500 MY_APP[4327:313598] Tag scheme …
Run Code Online (Sandbox Code Playgroud)

locale objective-c ios ios-simulator nslinguistictagger

5
推荐指数
1
解决办法
328
查看次数