Я работаю над приложением, которое сканирует изображение обложки книги, используя Firebase's MLKit
, и получает текст с изображения обложки книги.Из полученного текста я хочу получить название книги и имя автора книги.Я уже пытался использовать NSLinguisticTagger
, но не получил ожидаемый результат.Как NSLinguisticTagger
находит из предложения личное имя, название организации, название места и т. Д.Ниже приведен мой код, который я использовал для определения названия книги и имени автора из предложения:
let updatedTextFromOCR = textFromOCR.replacingOccurrences(of: "\n", with: " ")
let schemes = NSLinguisticTagger.availableTagSchemes(forLanguage: "en")
let tagger = NSLinguisticTagger(tagSchemes: schemes, options: 0)
tagger.string = updatedTextFromOCR
let range = NSRange(location: 0, length: updatedTextFromOCR.utf16.count)
let options: NSLinguisticTagger.Options = [.omitPunctuation, .omitWhitespace, .joinNames]
let tags: [NSLinguisticTag] = [.personalName, .placeName, .organizationName]
tagger.enumerateTags(in: range, unit: .word, scheme: .nameType, options: options) { tag, tokenRange, stop in
if let tag = tag, tags.contains(tag) {
if let range = Range(tokenRange, in: updatedTextFromOCR) {
let name = updatedTextFromOCR[range]
print("\(name): \(tag)")
}
}
}
Используя приведенный выше код, я не смог получить вывод, в котором указано название и название книги.Было бы здорово, если бы кто-нибудь мог помочь мне в этом.
Я делаю это приложение на iOS.И использовал Firebase MLkit для iOS.Заранее спасибо.