#ios #parsing #text-parsing #nslinguistictagger
#iOS #синтаксический анализ #синтаксический анализ текста #nslinguistictagger
Вопрос:
Я работаю с классом NSLinguisticTagger для фильтрации или поиска названия места, имени, названия организации, номера телефона, номера мобильного телефона, адреса, такого как домашний адрес, адрес офиса и т. Д., Используя строку строки.
Есть 3 варианта, такие как 1. NSLinguisticTagPlaceName 2. NSLinguisticTagOrganizationName 3. NSLinguisticTagPersonalName
Других вариантов для номера мобильного телефона, номера телефона, номера факса и т. Д,
Итак, мой вопрос в том, можем ли мы создать собственный пользовательский класс схемы тегов. Если ДА, то как мы можем реализовать этот класс в iOS.
Результат уже заданной опции не является хорошим. Как я могу улучшить его результат.
Спасибо.
Ответ №1:
NSLinguisticTagger используется для разделения слов и классификации их на более простые части предложения (глаголы, существительные, прилагательные, имена и т. Д.). Чтобы найти номера телефонов, адреса, даты и т. Д., Попробуйте посмотреть на NSDataDetector
let message = "What did I do on October 4"
let types: NSTextCheckingResult.CheckingType = [NSTextCheckingResult.CheckingType.date]
let detector = try? NSDataDetector(types: types.rawValue)
detector?.enumerateMatches(in: message, options: [], range: NSMakeRange(0, (message as NSString).length)) { (result, flags, _) in
print(result)
}