Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

835 views

Published on

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

Published in: Technology
  • Be the first to comment

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

  1. 1. Машинное обучениеKontur Labs @xoposhiy Павел Егоров Михаил Самойленко pe@kontur.ru Алексей Буславьев
  2. 2. ЗадачаБухгалтерские документы: акты, накладные, счета, договора, …ExcelУстановленных стандартных шаблонов — НЕТ!Хотим извлекать «интересные» поля:• Тип документа, Номер, Дата• Сумма, НДС, Основание• Покупатель, Продавец• …
  3. 3. 3
  4. 4. 4
  5. 5. 5
  6. 6. 6
  7. 7. 7
  8. 8. Машинное обучение Куча хороших данных → PROFIT
  9. 9. ДанныеДанные — это множество векторов:vi = (1, 0.5, 1.37, 2.8, -1, -0.1, …)Разметка — что-то, известное для каждого вектораобучающей выборки. Это то, что мы хотим научитьсявычислять для произвольного вектора.
  10. 10. Классификаторы…тренируются классифицировать на обучающей выборке• Нейронные сети• KNN (K nearest neighbors)• Линейное разделение• Дерево решений• Рандомизированный лес• SVM
  11. 11. Feature-engineeringЗадача:«Является ли данный кусок текста датой документа?» Фичи, господа, фичи!
  12. 12. Фичи• Положение на странице• Размер шрифта• Жирность• Расстояние до ключевых слов• …и направление• Положение гипотезы внутри блока текста (ячейки)• Выравнивание• На сколько далеко от Now?
  13. 13. Прагматичный взглядМашинное обучение — всего лишь способ объединениябольшого количества слабых признаков в сильныйклассификаторЕсли фич мало — просто закодируйте эвристику.
  14. 14. Генеральный планИщем в документе поле, в котором Тип/Дата/Номер/…Но постойте! Это же не задача классификации!Двухходовка: Простая эвристика находит все гипотезы Классификатор выбирает из них правильную
  15. 15. Разметка базы Demo
  16. 16. Обучение и тестированиеРазмеченная база:• Обучающая выборка• Тестовая выборкаМетрики качества:• Точность = truePositive / allPositive• Полнота = truePositive / allTrue
  17. 17. Общая схема Придумываем Обучаем фичи Делаем Размечаемгенератор базу гипотез документов Изучаем ошибки Для каждого поля отдельно
  18. 18. Отладка Demo
  19. 19. ИКРРаспознаем всё, во всех форматах!1. Новые типы документов, со своими полями2. Новые форматы3. Optical character recognition
  20. 20. Я тоже хочу так уметь!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
  21. 21. Q&AЕгоров Павел, Kontur Labs@xoposhiype@kontur.ru
  22. 22. Excel• http://poi.apache.org (JAVA)• https://code.google.com/p/npoi/ (.NET port)Текст-блок: X, Y, W, H, Font, VAlignment, HAllignment Интерпретация формулИгнорируем: Картинки, объекты вне ячеек, границы, …
  23. 23. Фичи. ИнвариантностьИнвариантность относительно некоторых трансформаций: Шрифт, масштаб, положение, синонимы, выравнивание текста, …
  24. 24. Данные — наше всё!• «Повезло» — у нас уже есть 100К+ документов.• Грубые фильтры: Неинтересные нам документы (отчеты, расчеты, …) Дубли и очень похожие документы Тестовые, пустые, мусор → ~2К документов
  25. 25. RandomForest

×