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

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

...