Хочу парсить большое число книг < 17 века в поисках информации об исчезнувшем народе, как решить задачу?
в случае с pdf я смогу распарсить регулярками, но "книгами" конечно будут являться чаще сканы, и чаще каких-то рукописей неформатных, да на разных языках, да причем устаревших вариантах языков. вероятно понадобится компьютерное зрение, какой инструмент можно было бы выбрать для такой задачи?
krakaka, Потому что если бы подобное можно было легко автоматизировать, все подобные книги уже были бы отсканены и переведены в текст, особенно учитывая количество разнообразных исторических проектов.
Saboteur, Developer, уважаемые коллеги по цеху, скажите а ОБД "Мемориал" (проекты "Память народа" и "Подвиг народа") тоже вручную делались? krakaka, всё возможно. Нужно окунуться в тему и решение найдётся. Безусловно всё и сразу нельзя сделать, но что-то частично возможно автоматизировать. В Data Science есть несколько направлений - "компьютерное зрение, "распознавание рукописных текстов". Уже есть готовые библиотеки, но всё это долгий путь.
Сейчас работают над тем, чтобы с помощью дронов с воздуха снимать видео, а потом в видеопотоке находить пропавших и разыскиваемых людей, распознавая лица.
UPD:
Могу посоветовать Вам зарегистрироваться в сообществе "OpenDataScience" и задать вопрос там.
Кроме того, документы второй мировой уже написаны современным языком, и даже могут быть полностью и частично напечатаны, что облегчает распознавание, и при наличии множества живых рук и глаз, их можно протегировать, что позволяет выполнять простейший поиск, но никак не полнотекстовый.
Древние же
рукописи
распознавать крайне непросто - начиная от нестандартных почерков, оформлений, заканчивая тем, что язык у них может быть
Уважаемый Saboteur я не буду с Вами спорить. Я обозначил путь. Накинул идею. Показал нулевую точку отсчёта. У Вас своё мнение, я его уважаю, у меня своё мнение.
Прошу заметить, что:
1. "Память народа" содержит огромное количество рукописного текста, просто громадное.
2. Любые сканы содержат строки. С технической стороны нет никакой разницы между текстом, содержащем поименные списки (или строки), и текстом, содержащем летопись народов. И там и там набор символов.
3. Документы Второй мировой войны, загруженные в эти проекты, пусть и современные, но, повторюсь, содержат рукописный текст, в том числе и на немецком языке. Смею предположить, что книги 17 века будут отличаться лишь набором символов, а по читабельности будут многократно превосходить любой современный рукописный текст.
4. Как я понимаю, полнотекстовой поиск в современных СУБД построен вокруг тэгирования.
Подытожу: мне видится, что задача вполне себе реальная и выполнимая.
krakaka, нередко, особенно в программировании, кажется, что задача невыполнима, что нет решения.
В такие моменты лучше попросить помощи, да и просто проговорить её вслух, обсудить с кем-нибудь. Дать информации покрутиться, повариться, в голове. Проходит время, смотришь, вроде и решение нарисовывается или интересные мысли появляются.
UPD:
Вспомнил, что уже несколько лет действует портал о героях Первой мировой войны, где значительная часть сведений о солдатах взята из карточек госпиталей, которые заполнялись от руки.
1. "Память народа" содержит огромное количество рукописного текста, просто громадное.
Вот там просто сканы (нераспознанные) и лежат.
2. Любые сканы содержат строки. С технической стороны нет никакой разницы между текстом, содержащем поименные списки (или строки), и текстом, содержащем летопись народов. И там и там набор символов.
Если знать что и где лежит, например номер части, имя командира, которое можно заранее ввести, то можно сканировать и сравнивать с готовыми образцами из базы. Таким образом частично можно автоматизировать распознавание части и командира. Но не все остальное.
3. Документы Второй мировой войны, загруженные в эти проекты, пусть и современные, но, повторюсь, содержат рукописный текст, в том числе и на немецком языке. Смею предположить, что книги 17 века будут отличаться лишь набором символов, а по читабельности будут многократно превосходить любой современный рукописный текст.
Вы видимо не работали с программами распознавания. Они очень активно используют работу со словарем и грамматикой. Если непонятно какое слово, подходящие варианты ищет по тезаурусу, по грамматическому словарю и это дает весьма немалый процент качества распознавания.
В случае 17 века, это совершенно не современный язык, с кучей отклонений и в начертании и в грамматике. А еще и в качестве исходного материала, ибо 300 лет это не 50.
Кроме того, для документов второй мировой существовали конкретные напечатанные материалы с той же статистикой, откуда можно было заполнять готовую базу, например состав бойцов и так далее, что сильно облегчает распознавание.
4. Как я понимаю, полнотекстовой поиск в современных СУБД построен вокруг тэгирования.
Эм.. вроде как вообще тегирование не причем. Искать по тексту можно вообще без всяких особых технологий, но это будет очень долго. Поэтому весь полнотекстовый поиск в современных СУБД основан на индексировании, чтобы ускорить процесс.
Но чтобы искать по тексту, индексировать можно распознанный текст, а не сами сканы.