SlideShare a Scribd company logo
ПиоNER: обучаемая система
извлечения фактов из текста
Иван
Бондаренко
Специалист
по анализу данных
Что такое машинное обучение?
Это методы решения задачи путём автоматического выявления закономерностей
в эмпирических данных.
Машинное обучение
Когда машинное обучение вредно?
ax2
+ bx + c = 0
x = ?
Когда машинное обучение вредно?
ax2
+ bx + c = 0
x = ?
Входные данные Желаемые выходные данные
a b c x1
x2
2,00 3,50 1,00 -0,3596 -1,3904
-1,30 0,70 0,01 -0,0139 0,5524
3,00 -5,00 -3,33 2,1766 -0,5100
Обучающая выборка Глубокая нейронная сеть
Когда машинное обучение вредно?
ax2
+ bx + c = 0
x = ?
Входные данные Желаемые выходные данные
a b c x1
x2
2,00 3,50 1,00 -0,3596 -1,3904
-1,30 0,70 0,01 -0,0139 0,5524
3,00 -5,00 -3,33 2,1766 -0,5100
Обучающая выборка Глубокая нейронная сеть
Когда машинное обучение вредно?
ax2
+ bx + c = 0
x = ?
Когда машинное обучение бесполезно?
Диагностика онкологических заболеваний
Температура Давление Есть
онкология?
37,3∘
C 120/80 да
36,6∘
C 100/70 нет
37,5∘
C 120/80 нет
37,8∘
C 130/90 да
Когда машинное обучение бесполезно?
Диагностика онкологических заболеваний
Температура Давление Есть
онкология?
37,3∘
C 120/80 да
36,6∘
C 100/70 нет
37,5∘
C 120/80 нет
37,8∘
C 130/90 да
Когда машинное обучение бесполезно?
Диагностика онкологических заболеваний
Температура Давление Есть
онкология?
37,3∘
C 120/80 да
36,6∘
C 100/70 нет
37,5∘
C 120/80 нет
37,8∘
C 130/90 да
Когда машинное обучение нужно?
1. Есть закономерности
2. Эти закономерности не описываются простыми
формулами
Извлечение фактов из веб-сайтов
1) Извлечение данных из сайтов-каталогов
2) Извлечение фактов о компаниях с их
корпоративных сайтов
Веб-краулинг для заполнения справочников 2ГИС:
Named Entity Recognition
● Определяем классы распознаваемых сущностей (Named Entities)
● Размечаем учебный и тестовый корпус
● Обучаем алгоритм
● Извлекаем факты из новых страниц
Что распознаём?
Что распознаём?
Как размечаем?
Подготовленный корпус
● 10 асессоров
● Свыше 20 тыс. сущностей 11 классов
● 9 тыс. организаций
● 8 тыс. адресов
● 500 расписаний
● …
BIO-формат для классов NE
Begin, Inside, Outside
Минздрав
Московской
области:
ул.
Большая
Полянка,
д.
42/2,
I
этаж
B-ORG
I-ORG
I-ORG
B-STREET
I-STREET
I-STREET
B-HOUSE
I-HOUSE
O
O
Признаки слов
● Графико-орфографические признаки
● Морфология
● Синтаксис
● Словари
● HTML-признаки
● ...
Графико-орфографические признаки
С большой
буквы?
Заканчивается
двоеточием?
Заканчивается
точкой?
Заканчивается
запятой?
Есть ли
цифры?
…
Минздрав
Московской
области:
ул.
Большая
Полянка,
д.
42/2,
I
этаж
1
1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
…
…
…
…
…
…
…
…
…
…
Морфологические признаки
Существительное? Глагол? Прилагательное? … Нормальная форма
слова
Минздрав
Московской
области:
ул.
Большая
Полянка,
д.
42/2,
I
этаж
1
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
…
…
…
…
…
…
…
…
…
…
минздрав
московский
область
ул
большой
полянка
д
42/2
I
этаж
Синтаксические признаки
Выделяются именные группы (Noun Phrases, NP)
Минздрав
Московской
области:
ул.
Большая
Полянка,
д.
42/2,
I
этаж
B-NP
B-NP
I-NP
O
B-NP
I-NP
O
O
O
B-NP
Словарные признаки
Входит в словарь
госучреждений?
Входит в
географический
словарь?
Входит в словарь
опциональных слов?
…
Минздрав
Московской
области:
ул.
Большая
Полянка,
д.
42/2,
I
этаж
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
…
…
…
…
…
…
…
…
…
…
HTML-признаки
Позиция на странице Уровень вложенности в
DOM-дереве
Форматирование …
Минздрав
Московской
области:
ул.
Большая
Полянка,
д.
42/2,
I
этаж
left, bottom
left, bottom
left, bottom
left, bottom
left, bottom
left, bottom
left, bottom
left, bottom
left, bottom
left, bottom
7
7
7
8
8
8
8
8
8
8
bold
bold
bold
normal
normal
normal
normal
normal
normal
normal
…
…
…
…
…
…
…
…
…
…
Матрица признаков для веб-страницы
Слово X Y
Адрес:
143904
г.
Балашиха,
пр.
Ленина,
д.21
1 1 0 0 1 … 0 1 0
1 0 1 0 0 … 0 0 0
0 0 1 1 0 … 0 0 0
1 0 0 1 0 … 1 0 0
0 0 0 1 0 … 0 0 0
1 1 0 1 0 … 1 0 0
1 0 1 1 0 … 0 0 1
O
B-ZIPCODE
B-CITY
I-CITY
B-STREET
I-STREET
B-HOUSE
Conditional Random Fields (CRF)
T - количество слов в распознаваемой последовательности
xt
= (xt
1
, xt
2
, …, xt
k
, …, xt
K
) - признаки t-го слова (K - общее количество признаков),
yt
∈ S - класс t-го слова (s1
= ORG, s2
= SCHEDULE, s3
= TEL, и т.п.)
y0
y1
yT-1
yT
y2
x1
xT-1
xT
x2
…
Распознавание с помощью CRF
Распознавание с помощью CRF
y0
=<START>
Адрес: Станционная, дом 104
x1
x2
x3 x41 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1
y1
=B-HOUSE
y1
=I-HOUSE
y1
=B-STREET
y2
=B-HOUSE
y2
=I-HOUSE
y2
=B-STREET
y2
=O
y3
=B-HOUSE
y3
=I-HOUSE
y3
=B-STREET
y3
=O
y4
=B-HOUSE
y4
=I-HOUSE
y4
=B-STREET
y4
=Oy1
=O
Обучение CRF
Качество распознавания NE
ПиоNER: текущие результаты
Precision = 90,07%
Recall = 70,74%
F1
= 79,12%
ПиоNER для других задач
2ГИС - Аптеки
2ГИС - Шины
2ГИС - Аптеки
Исходные данные
Сбор Бруснивер фильтр-пакеты по 2 г, 20 шт.
Целебрекс капсулы 100 мг, 10 шт. Пуэрто-Рико Пфайзер Фармасьютикалз ЭлЭлСи Целекоксиб
Синафлан линимент 0,025%, 15 г по рецепту Россия НИЖФАРМ Флуоцинолона ацетонид
Анти-ангин спрей для горла, 25 мл 100 доз
Простамол Уно капсулы 320 мг, 60 шт.
Размеченные данные
Сбор Бруснивер фильтр-пакеты по 2 г, 20 шт.
Целебрекс капсулы 100 мг, 10 шт. Пуэрто-Рико Пфайзер Фармасьютикалз ЭлЭлСи Целекоксиб
Синафлан линимент 0,025%, 15 г по рецепту Россия НИЖФАРМ Флуоцинолона ацетонид
Анти-ангин спрей для горла, 25 мл 100 доз
Простамол Уно капсулы 320 мг, 60 шт.
2ГИС - Шины
Исходные данные
Toyo Observe G3-Ice 215/60-R16 T 95
Кама Евро 519 175/65-R14
Nokian Nordman 5 155/70-R13 T 75
Dunlop Ice Touch 185/65-R14 T 86
Matador MP 30 Sibir Ice 2 215/65-R16 T 102
Размеченные данные
Toyo Observe G3-Ice 215/60-R16 T 95
Кама Евро 519 175/65-R14
Nokian Nordman 5 155/70-R13 T 75
Dunlop Ice Touch 185/65-R14 T 86
Matador MP 30 Sibir Ice 2 215/65-R16 T 102
Результаты для Аптек и Шин
2ГИС - Аптеки
Precision = 97,14%
Recall = 93,74%
2ГИС - Шины
Precision = 97,52%
Recall = 96,61% *
* регулярки ~ 50%
We machine learning!
bond_005
Иван
Бондаренко
Специалист
по анализу данных
Вопросы?
bond005
iv.bondarenko@2gis.ru

More Related Content

PDF
Alexander Graebe
PDF
Никита Прокопов
PPTX
Денис Баталов
PDF
Елена Гальцина
PDF
Александр Калашников
PDF
Ирина Иванова
PDF
Marko Berković
PDF
Денис Кортунов
Alexander Graebe
Никита Прокопов
Денис Баталов
Елена Гальцина
Александр Калашников
Ирина Иванова
Marko Berković
Денис Кортунов

More from CodeFest (20)

PDF
Александр Зимин
PDF
Сергей Крапивенский
PDF
Сергей Игнатов
PDF
Николай Крапивный
PDF
Alexander Graebe
PDF
Вадим Смирнов
PDF
Константин Осипов
PDF
Raffaele Rialdi
PDF
Максим Пугачев
PDF
Rene Groeschke
PDF
Mete Atamel
PDF
Алексей Акулович
PDF
Артем Титаренко
PDF
Олег Савкин
PDF
Levon Ter-Isahakyan
PPTX
Jeffrey Richter
PDF
Raffaele Rialdi
PDF
Сергей Орлов
PDF
Андрей Лузин
PPTX
Александр Белоцерковский
Александр Зимин
Сергей Крапивенский
Сергей Игнатов
Николай Крапивный
Alexander Graebe
Вадим Смирнов
Константин Осипов
Raffaele Rialdi
Максим Пугачев
Rene Groeschke
Mete Atamel
Алексей Акулович
Артем Титаренко
Олег Савкин
Levon Ter-Isahakyan
Jeffrey Richter
Raffaele Rialdi
Сергей Орлов
Андрей Лузин
Александр Белоцерковский
Ad

Иван Бондаренко