Знания о поставщиках
От некоторых поставщиков документы приходят регулярно, и модель на них постоянно ошибается: искажает название, берет переменный символ из другого места, читает цену до скидки. Когда такую ошибку при проверке вы исправите, приложение возьмет знание из исправления и передаст его модели при следующем документе того же поставщика.
Ничего не настраивается. Знания возникают сами из исправлений, и вы найдете их в Настройки → Знания о поставщиках. Там же можно полностью отключить эту функцию. Название поставщика ведет на вкладку Контрагенты, где рядом со знаниями находятся его документы и известные счета.
Знание принадлежит тому, кто выдал документ. У выданного счета это ваша собственная фирма: знание относится к шаблону документа, а не к тому, кому он выдан.
Два типа знаний
Постоянное значение — это то, что у поставщика на каждом документе одинаково: название с правильной диакритикой, DIČ, валюта. Оно возникает в момент, когда вы исправляете значение на то же, что уже указано на другом готовом документе того же поставщика. У поставщика, от которого у вас пока есть только один документ, поэтому постоянное значение не возникнет; оно появится с следующим документом.
Название, IČO, DIČ и валюта запоминаются сразу с первого исправления. Эти значения у поставщика всегда одинаковые, поэтому ждать второго документа нет смысла. Единственное условие: исправленное значение должно действительно стоять на документе. Для валюты достаточно, что она указана на документе в любой форме: исправление «Kč» на «CZK» запомнится, даже если «CZK» на документе буквально нет. Опечатка или значение, записанное на пробу, не запомнятся, а когда модель читала прямо от подписи, которая называется как это поле (DIČ: в DIČ), считается, что она прочитала правильно. Это касается системных типов документов; у собственного схемы приложение не знает, какое поле является каким.
У остальных полей первое исправление не запоминается. Из одного исправления невозможно определить, является ли значение у поставщика постоянным или относится только к этому документу, как его номер или дата. Когда модель на следующем документе того же поставщика ошибается так же, и вы исправляете это на то же, знание возникает.
Где поставщик указывает значение — это знание о месте: «переменный символ находится в поле Ссылка, а не в Номере заказа». Значение на каждом документе разное, ошибка одинаковая. Оно возникает сразу же из первого исправления и не пишется искусственным интеллектом: приложение находит в тексте документа подпись, возле которой стоит значение, и переписывает его. Оно возникает только из исправления, которое может быть подтверждено документом:
- модель взяла другие данные, которые также находятся на документе, например, номер заказа вместо переменного символа или дату выдачи вместо даты оплаты,
- модель упустила значение: поле осталось пустым, а значение, которое вы добавили, на документе есть,
- модель заполнила поле, которое вы стерли, чем-то, что находится на документе под другим заголовком.
Подпись принимается только тогда, когда она находится на том же ряду, что и значение, и разделяется двоеточием («Ссылка: 8812345»). Там, где так точно найти не удается, знание не возникает. Лучше не создавать никаких знаний, чем плохое, поскольку оно идет модели к каждому следующему документу поставщика.
Знание о месте, наоборот, не возникнет:
- из исправления чтения, то есть когда модель стояла на правильных данных и просто прочитала их неверно: перепутанные цифры, отсутствующий диакритический знак, обрезанный конец названия. В следующий раз ошибка будет в другом месте,
- из значения, которое на документе вообще не стоит. Когда вы напишете несколько букв в поле для пробы, приложение не научится из этого ничего,
- когда модель взяла значение прямо от подписи, которая называется как это поле. Документ говорит «Переменный символ: 23501», и модель поместила 23501 в переменный символ, так что она сделала то, что должна была. Когда вы замените это, например, телефонным номером, это ничего не говорит о поставщике.
Строки позиций — единственное место, где предложение формулируется моделью, например, «цена после скидки находится в столбце Цена». Из подписей это не составить. Даже здесь исправление должно быть подтверждено документом: строка была добавлена или удалена, или на документе находится цена, которую взяла модель, и та, которую вы подтвердили. Переименованное название позиции или номер, который не стоит на документе, не дойдет до модели, и даже подтвержденное исправление может быть обозначено моделью как разовое.
У каждого знания в настройках есть ссылка на документ, из исправления которого оно возникло.
Как знание используется
У следующего документа поставщик распознается по IČO в тексте документа, а где IČO нет, по названию. Затем знания идут модели как подсказка, подобно распознаванию текста (OCR). Документ всегда имеет приоритет: если на нем указано что-то другое, чем говорит знание, модель снова прочитает это место и вернет то, что на документе действительно есть. Поставщик, который сменил название или изменил шаблон счета, будет правильно обработан.
Знание действительно только для типа документа, из которого оно возникло. Счет и квитанция имеют разные поля.
Документ, у которого модель получила подсказку, имеет в списке ярлык С подсказкой, поэтому все их можно отфильтровать сразу. Ярлык автоматический, как Счет-фактура: его можно переименовать, изменить цвет или удалить, и удаленный перестанет добавляться.
Какие это были знания, можно увидеть в окне документа на вкладке Детали: рамка Модель получила подсказку распечатает, какие знания это были. Действительно то, что модель получила при обработке, даже если вы между тем удалили знание или оно изменилось из следующего исправления. У документа без подсказки, то есть у большинства, рамки нет. Счетчик использовано в N документах в настройках подсчитывает то же самое: только документы, поставщиком которых знание действительно является.
Что не запоминается
- Номер счета, хотя он у поставщика самый стабильный. Наиболее частый обман с счетами — известный поставщик с чужим номером счета, и подсказка «счет обычно бывает этот» могла бы скрыть такое изменение. Счет поэтому всегда читается из документа.
- Числа: суммы, количества или тарифы. Даже если сумма каждый месяц одинаковая, она должна быть прочитана из документа, а не вспомнена.
- Исправления на электронных счётах (ISDOC). Модель их не читала, они пришли как данные.
Управление в настройках
Знание появится в списке через несколько секунд после подтверждения проверки, оно создается в фоновом режиме.
У каждого знания вы видите поле, к которому оно относится, сколько документов оно использовалось и сколько раз вы исправляли поле вместе с ним. Знание, которое не помогает, можно узнать по второму числу.
Знания нельзя редактировать, только удалять. Они попадают в задания для модели, и это должно оставаться под контролем: возникают только из того, что вы действительно исправили на документе. Когда вы удаляете знание и модель продолжает ошибаться, из следующего исправления возникнет новое. Когда вы исправляете поле, несмотря на знание, оно заменится новым; постоянное значение, которое вы перепишите на другое, забудется.
На одного поставщика и тип документа хранится не более десяти знаний. Когда добавляется еще одно, уходит самое долгое неизменное. Количество поставщиков не ограничено.
Знание относится к поставщику, а не к документу, из которого оно возникло. Когда вы удаляете этот документ, будь то в корзину или навсегда, знание остается и продолжает использоваться; в списке оно просто теряет ссылку на документ. То же самое справедливо, если документ исчезает после истечения срока хранения. Знание, которое вы не хотите, удалите здесь в настройках.
Создание и удаление знаний можно найти в активности.
Отключение
Переключатель в заголовке раздела отключает оба сразу: новые знания перестанут возникать, а сохраненные перестанут передаваться модели. Это действует немедленно, даже для документов, которые уже ожидают в очереди. Сохраненные знания при этом не исчезают. Они остаются в списке, могут быть удалены, и после включения будут снова использованы, ничего заново учить не нужно.
Это удобно, если у вас есть подозрение, что какое-то знание мешает модели, и вы хотите это проверить: выключите, дайте документу обработаться снова и сравните. Включение и отключение записываются в активности.
Когда знание не возникнет или не будет использовано
- Знания у вас в настройках отключены.
- Документ был подтвержден без изменений. Нет, из чего учиться.
- У документа нет поставщика (отсутствуют IČO и название), типично для собственного схемы, который не имеет этих полей.
- Знание о месте требует текст документа. Фотография, обработанная с выключенным OCR, не имеет никакого текста: постоянные значения из нее возникнут, знание о месте — нет. По той же причине у такой фотографии нельзя распознать поставщика, и знания на нее не будут использованы.
- Документ не подлежал проверке. Учатся только на том, что вы исправляете при проверке, поэтому при отключенной проверке знания не добавляются.
В общем файле знание принадлежит владельцу документа, даже если проверку проводил гость.