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

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