Cha*_*les 20 iphone linguistics objective-c ios
我正在处理的应用程序要求我确定一个单词的词性NSString
.
所以基本上你可以在Objective C中访问一个库/数据库/类,它可以检查单个单词(以a的形式NSString
)是名词,形容词,副词还是动词?
有点像:
NSString *foo="cat";
if ([foo wordIsNoun]) {
//do something
};
Run Code Online (Sandbox Code Playgroud)
在类似但稍微不相关的注释中,是否有可能检查两个NSString
包含相同词干但不同时态(问,询问,询问等)的动词是否具有相同的词干?它也非常有用.
Dav*_*ong 61
你可以这样做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];
Run Code Online (Sandbox Code Playgroud)
运行时,它会记录:
found: i (Pronoun)
found: have (Verb)
found: a (Determiner)
found: cat (Noun)
Run Code Online (Sandbox Code Playgroud)
但请注意,NSLinguisticTagger
仅适用于iOS 5+(和Mac OS X 10.7+).
归档时间: |
|
查看次数: |
3180 次 |
最近记录: |