10. Прагматичный взгляд
Машинное обучение — всего лишь способ объединения
большого количества слабых признаков в сильный
классификатор
Если фич мало — просто закодируйте эвристику.
19. Генеральный план
Ищем в документе поле, в котором Тип/Дата/Номер/…
Но постойте! Это же не задача классификации!
Двухходовка:
Простая эвристика находит все гипотезы
Классификатор выбирает из них правильную
25. Фичи
• Положение на странице
• Размер шрифта
• Жирность
• Расстояние* до ключевых слов и других гипотез
…и направление
• Длина гипотезы
• Частотность символов, в гипотезе
• Положение гипотезы внутри блока текста (ячейки)
• Выравнивание
• Значение гипотезы (для сумм, и дат)
27. Фичи. Какие выбрать?
Вычислять много фич — дорого
1. Заменим значение одной из фич белым шумом
2. Обучим классификатор
3. Измерим на сколько упала точность
* Для некоторых классификаторов есть и более правильные способы —
изучайте конкретный классификатор
32. Я тоже хочу так уметь!
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
33. Я тоже хочу так уметь!
Языки программирования:
R
Octave
Библиотеки:
The Accord.NET Framework
ALGLIB
OpenCV
34. Новые языки?!?
v = read.csv("vectors.csv")
hist(v[,4])
plot(hclust(dist(v)))
35. Я тоже хочу так уметь!
http://www.kaggle.com/competitions
38. Данные — наше всё!
• «Повезло» — у нас уже есть 100К+ документов.
• Грубые фильтры:
Неинтересные нам документы (отчеты, расчеты, …)
Дубли и очень похожие документы
Тестовые, пустые, мусор
→ ~2К документов