我正试图从OCR扫描的一些文本中解析出职位和个人姓名。
字符串:841 l5 )“-~_§' ‘Ir-‘P... Dennis Hadley Account Manager
正如你所看到的,我认为有一些垃圾文本可以。
以下是我尝试从字符串中解析个人姓名的方法:
NSString *question = @" 841 l5 )“-~_§' ‘Ir-‘P... Dennis Hadley Account Manager ";
NSLinguisticTaggerOptions options = NSLinguisticTaggerOmitWhitespace | NSLinguisticTaggerOmitPunctuation | NSLinguisticTaggerJoinNames;
NSLinguisticTagger *tagger = [[NSLinguisticTagger alloc] initWithTagSchemes: [NSLinguisticTagger availableTagSchemesForLanguage:@"en"] options:options];
tagger.string = question;
[tagger enumerateTagsInRange:NSMakeRange(0, [question length]) scheme:NSLinguisticTagSchemeNameTypeOrLexicalClass options:options usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSString *token = [question substringWithRange:tokenRange];
NSLog(@"%@: %@", token, tag);
}];
这是输出:
2014-04-20 17:32:54.349 NameDetection[7126:303] 841: Number
2014-04-20 17:32:54.349 NameDetection[7126:303] l5: Number
2014-04-20 17:32:54.350 NameDetection[7126:303] ~: Noun
2014-04-20 17:32:54.350 NameDetection[7126:303] Ir: Noun
2014-04-20 17:32:54.350 NameDetection[7126:303] P: Noun
2014-04-20 17:32:54.351 NameDetection[7126:303] Dennis Hadley Account Manager: PersonalName
正如您所看到的,它将作业标题和名称连接成一个,任何人都可以提供有关如何从字符串中解析此信息的建议吗?
答案 0 :(得分:0)
真的很难说。因为某些人的名字可以包含2,3或4个甚至更多的部分。因为名称和名称之间没有任何分隔符。一个想法如下。
希望这会有所帮助.. :)