Машинное обучение

Preview:

DESCRIPTION

Презентация Павла Егорова, СКб Контур

Citation preview

Машинное обучение

Kontur LabsПавел ЕгоровМихаил СамойленкоАлексей Буславьев

@xoposhiype@kontur.ru

ЗадачаБухгалтерские документы:

акты, накладные, счета, договора, …

Excel

Установленных стандартных шаблонов — НЕТ!

Хотим извлекать «интересные» поля:• Тип документа, Номер, Дата• Сумма, НДС, Основание• Покупатель, Продавец• …

3

4

5

6

7

Куча хороших данных

→ PROFIT

Машинное обучение

Данные

Данные — это множество векторов:

vi = (1, 0.5, 1.37, 2.8, -1, -0.1, …)

Разметка — что-то, известное для каждого вектора обучающей выборки. Это то, что мы хотим научиться вычислять для произвольного вектора.

Классификаторы…тренируются классифицировать на обучающей выборке

• Нейронные сети• KNN (K nearest neighbors)• Линейное разделение• Дерево решений• Рандомизированный лес• SVM

Feature-engineeringЗадача:«Является ли данный кусок текста датой документа?»

Фичи, господа, фичи!

Фичи• Положение на странице• Размер шрифта• Жирность• Расстояние до ключевых слов• …и направление • Положение гипотезы внутри блока текста

(ячейки)• Выравнивание• На сколько далеко от Now?

Прагматичный взглядМашинное обучение — всего лишь способ объединения большого количества слабых признаков в сильный классификатор

Если фич мало — просто закодируйте эвристику.

Генеральный планИщем в документе поле, в котором Тип/Дата/Номер/…

Но постойте! Это же не задача классификации!

Двухходовка:Простая эвристика находит все гипотезыКлассификатор выбирает из них

правильную

Разметка базы

Demo

Обучение и

тестированиеРазмеченная база:• Обучающая выборка• Тестовая выборка

Метрики качества:• Точность = truePositive / allPositive• Полнота = truePositive / allTrue

Общая схема

Для каждого поля отдельно

Размечаем базу

документов

Делаем генератор

гипотез

Обучаем

Изучаем ошибки

Придумываем фичи

Отладка

Demo

ИКРРаспознаем всё, во всех форматах!

1. Новые типы документов, со своими полями2. Новые форматы3. Optical character recognition

Я тоже хочу так уметь!Machine learning @ Stanford university (www.coursera.org)

Классическая книга:Pattern Recognition and Machine Learning

Christopher M. Bishop

Книги попроще:Machine Learning in Action, Peter Harrington

Machine learning for Hackers, Drew Conway, John Myles White

Q&AЕгоров Павел, Kontur Labs@xoposhiype@kontur.ru

Excel• http://poi.apache.org (JAVA)• https://code.google.com/p/npoi/ (.NET port)

Текст-блок: X, Y, W, H, Font, VAlignment, HAllignmentИнтерпретация формул

Игнорируем:Картинки, объекты вне ячеек, границы,

Фичи. ИнвариантностьИнвариантность относительно некоторых трансформаций:

Шрифт, масштаб, положение, синонимы, выравнивание текста, …

Данные — наше всё!• «Повезло» — у нас уже есть 100К+

документов.• Грубые фильтры:

Неинтересные нам документы (отчеты, расчеты, …)Дубли и очень похожие документыТестовые, пустые, мусор

→ ~2К документов

RandomForest

Recommended