SlideShare a Scribd company logo
1 of 41
Download to read offline
Пио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

More from CodeFest

Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 
Алексей Акулович
Алексей АкуловичАлексей Акулович
Алексей АкуловичCodeFest
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем ТитаренкоCodeFest
 
Олег Савкин
Олег СавкинОлег Савкин
Олег СавкинCodeFest
 
Levon Ter-Isahakyan
Levon Ter-IsahakyanLevon Ter-Isahakyan
Levon Ter-IsahakyanCodeFest
 
Jeffrey Richter
Jeffrey RichterJeffrey Richter
Jeffrey RichterCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Сергей Орлов
Сергей ОрловСергей Орлов
Сергей ОрловCodeFest
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей ЛузинCodeFest
 
Александр Белоцерковский
Александр БелоцерковскийАлександр Белоцерковский
Александр БелоцерковскийCodeFest
 

More from CodeFest (20)

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

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