gpt4 book ai didi

iphone - 如何识别 NSString 中单词的词性?

转载 作者:IT王子 更新时间:2023-10-29 08:04:32 25 4
gpt4 key购买 nike

我目前正在开发的应用要求我确定 NSString 中单词的词性。

所以基本上有一个你可以在 Objective C 中访问的库/数据库/类,它允许你检查一个单词(以 NSString 的形式)是否是一个名词,一个形容词, 副词还是动词?

类似的东西:

NSString *foo="cat";

if ([foo wordIsNoun]) {
//do something
};

关于类似但略微不相关的说明,是否可以检查两个 NSString 包含相同词干但时态不同(ask、asking、asked 等)的动词是否具有相同的词干?它也会非常有用。

最佳答案

您可以使用 NSLinguisticTagger 来做到这一点!我以前从未使用过,但我把它一起破解了:

NSString *str = @"i have a cat";

NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes:[NSArray arrayWithObject:NSLinguisticTagSchemeLexicalClass] options:~NSLinguisticTaggerOmitWords];
[tagger setString:str];
[tagger enumerateTagsInRange:NSMakeRange(0, [str length])
scheme:NSLinguisticTagSchemeLexicalClass
options:~NSLinguisticTaggerOmitWords
usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSLog(@"found: %@ (%@)", [str substringWithRange:tokenRange], tag);
}];
[tagger release];

当您运行它时,它会记录:

found: i (Pronoun)
found: have (Verb)
found: a (Determiner)
found: cat (Noun)

但是请注意,NSLinguisticTagger 仅适用于 iOS 5+(和 Mac OS X 10.7+)。

关于iphone - 如何识别 NSString 中单词的词性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9167340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com