Нейросеть и таблица по фото: когда код становится датой
Нейросеть и таблица по фото: как перенести коды и количества, подготовить текстовый столбец Excel и проверить одну строку на всём пути от бумаги до файла.
Евгений
Дизайнер-партнёр LibraChat
7 мин чтения
Я вручную перенёс код «05-06» с бумажной ведомости в Excel и получил дату. Дефис на листе был виден отлично. Ошибка произошла уже после чтения. С тех пор, поручая нейросети перенос таблицы по фото, я заранее готовлю место для данных. Важно довести обозначения до рабочего файла, сохранив их смысл. Покажу порядок, с которым проще заметить такую подмену на одной строке, прежде чем переносить весь лист.
Ведомость относилась к биркам. На бумаге код, название и количество стояли рядом, одинаковым почерком. Программа не знала, что первая запись обозначает вариант макета. Я-то знал, но не объяснил этого даже собственной таблице.
Нейросеть и таблица по фото: зачем заранее различать код и число?
Мой промах оказался полезным. Я искал бы ошибку в фотографии, хотя сам верно перепечатал символы. Более чёткий снимок не помог бы: он не меняет способ хранения вставленного значения.
Поэтому перед переносом я подписываю смысл колонок. В одном столбце нужны обозначения, в другом числа для подсчёта. Это не дизайнерская придирка. Код «05-06» нельзя заменить любой удобной записью той же даты, потому что даты там вообще нет.
Для объяснения я набрал небольшой контрольный набор:
Это мои исходные ориентиры для проверки, а не результат распознавания снимка. Например, в первой строке нужно сохранить код целиком и количество 12 штук. Название помогает найти строку, но не заменяет проверку остальных клеток.
Я сделал для себя простое различие: обозначение нужно узнавать, количество нужно считать. Если оба столбца выглядят как числа, это ещё не делает их одинаковыми данными. Одинаковая ширина клеток на бумаге тоже ничего не решает.
С обычным текстом на снимке можно начать с разбора распознавания текста. У таблицы добавляется расположение: какое значение относится к какому заголовку и к какой строке. Отдельно прочитанные слова этой связи не сохраняют.
Что я снимаю, кроме самих значений?
Раньше я кадрировал лист плотнее, чтобы строки получились крупнее. Однажды вместе с полями убрал заголовок. Цифры читались, а смысл колонки приходилось вспоминать. Так что теперь сначала делаю общий кадр и только затем нужные крупные части.
На фотографии должны быть видны не только строки бирок, но и шапка. Если единица записана один раз над столбцом, она относится к данным ниже. Если примечание объясняет звёздочку у количества, его тоже нельзя оставить за краем.
Перед отправкой я смотрю на снимок с увеличением:
Не обрезаны ли названия колонок и последняя строка.
Различимы ли соседние клетки на сгибе листа.
Не закрывает ли блик дефис или тонкую цифру.
Попало ли в кадр пояснение к сокращениям.
Понятен ли порядок частей, если лист снят несколькими кадрами.
Несколько снимков я подписываю по положению на листе. Небольшое перекрытие удобно, чтобы связать части, но совпадающую строку потом нужно узнать, а не механически добавить второй раз. При этом одинаковое название ещё не доказывает, что записи повторяются: коды могут различаться.
Фото с нечитаемой клеткой я переснимаю. Не прошу восстановить её по соседним значениям. У количества 18 может быть сколько угодно правдоподобных соседей, и ни один из них не подтверждает размытую цифру.
Таблица по фото: какое поручение получает нейросеть?
В LibraChat фотографию можно приложить к сообщению. Мне нужен не рассказ о том, что на ней изображено, а перенос значений с сохранёнными связями. Поэтому поручение начинается с формата результата и смысла столбцов.
Для ведомости бирок я предложил бы такой запрос:
Перенеси таблицу с фотографии в таблицу ответа. Первый столбец содержит коды макетов: сохраняй их как обозначения со всеми символами, не трактуй как даты или вычисления. Количество оставь отдельным числовым столбцом с единицей из шапки. Сохрани порядок исходных строк. Не исправляй записи по догадке. Если клетка не читается, назови её строку и столбец, а значение пометь как неразборчивое. Отдельно укажи, какие части листа надо переснять.
Такое поручение можно передать в чат вместе с подготовленным фото. Оно задаёт работу, а не подтверждает точность будущего ответа. Я всё равно беру исходный лист рядом для приёмки.
Просьбу отсортировать данные или объединить похожие названия оставляю на потом. На первом проходе мне нужна узнаваемая связь с бумагой. Когда строки переставлены и подписи уже исправлены, труднее понять, где произошло отличие.
Если есть две соседние ведомости, называю нужную по заголовку. И добавляю, что делать с пустыми клетками и прочерками, если их значение известно. Код макета, количество и условное обозначение не должны превращаться в одну общую категорию «цифры».
Что делать в Excel до вставки?
Здесь я возвращаюсь к своей дате вместо кода. В справке Microsoft описан тот же тип преобразования: похожие на даты записи Excel может распознать как даты. Для таких обозначений текстовый формат нужно назначить заранее.
В настольном Excel под Windows я подготовлю столбец так:
Выделю клетки, куда пойдут коды макетов.
Открою формат ячеек сочетанием Ctrl+1.
Выберу категорию «Текстовый».
Вставлю значения и сопоставлю первый код с источником.
Отдельно проверю, что количество осталось числом для расчёта.
Не нужно переводить в текст всю ведомость. Иначе код будет в порядке, а количествами станет неудобно пользоваться. Коды и названия в нашем наборе сохраняются как текст, количество как число. Я готовлю каждый столбец по его назначению, чтобы следующий шаг не приходилось чинить после вставки.
Если значение уже стало датой, я беру исходное обозначение с листа и ввожу его заново после подготовки формата. Просто изменить внешний вид клетки недостаточно для проверки: нужно сравнить её содержимое с тем, что было на бумаге.
В браузере LibraChat таблицу ответа можно перенести через «Копировать для Excel» либо получить через «Скачать .csv». Ни один путь не отменяет подготовку и приёмку обозначений. При импорте CSV тоже нужно следить за типом соответствующего столбца, а не полагаться на расширение файла.
Как я понимаю, что перенос можно продолжать?
Я проверяю одну строку по всей цепочке. Сначала код на фотографии, потом его запись в полученной таблице, затем значение после вставки. Это помогает определить место ошибки. Если символ уже прочитан неверно, настраивать формат Excel рано. Если до вставки всё совпадало, возвращаюсь к способу переноса.
Для контрольной первой строки я ищу именно «05-06», подпись «Для кашпо» и количество 12. Проверка названия в одиночку не отвечает на вопрос, сохранился ли код. А знакомая цифра 12 не говорит, что она стоит в нужной строке.
Потом прохожу остальные строки тем же способом. Важна не только верхняя часть: внизу легче пропустить обрезанное поле или повтор заголовка на продолжении листа. Исправление одной клетки я проверяю вместе с соседями, чтобы данные не сдвинулись.
Мой сценарий для выбора доступа сформулирован конкретно: фотографии ведомостей с обозначениями и числовыми колонками, затем проверка структуры. Его и соотноси с описаниями тарифов, если работа повторяется. Допустимость вложений уточняй после входа; числовых пределов в публичных карточках нет.
Что я сохраняю после работы?
Исходное фото остаётся рядом с принятой таблицей. Не вместо неё и не как украшение папки. Оно нужно, чтобы при вопросе к коду вернуться к конкретному месту, а не восстанавливать обозначение по памяти.
Я также сохраняю, какие клетки пришлось уточнить. Это помогает при следующем листе: если один и тот же столбец постоянно размыт, стоит поменять съёмку. Если коды портятся только при вставке, надо исправлять подготовку электронного столбца.
Красивое выравнивание я оставляю последним. У аккуратной ведомости с изменёнными обозначениями будет неправильное содержимое, даже если все границы идеально совпали. Поэтому сначала провожу одну строку до конца.
Попробуй это на своём листе: выбери код, который программа может принять за другой тип данных, и проверь его на каждом переходе. Если исходный «05-06» всё ещё остаётся обозначением макета, можно продолжать перенос остальных записей с тем же вниманием.