Определить название книги и имя автора из текста обложки книги, полученного с помощью технологии OCR в Swift?

Я работаю над приложением, которое сканирует изображение обложки книги, используя 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. Заранее спасибо.

0 ответов

Другие вопросы по тегам