Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Иван Бондаренко (2ГИС), ПиоNER: обучаемая систе...

CodeFest
January 31, 2018

Иван Бондаренко (2ГИС), ПиоNER: обучаемая система извлечения фактов из текстов, CodeFest 2017

https://2017.codefest.ru/lecture/1173

Основа городского информационного сервиса - полная и актуальная информация о разнообразных фирмах, госучреждениях и прочих организациях. Сейчас в 2ГИС вся эта информация собирается нашими специалистами вручную. Но что, если на помощь живым людям придёт не знающий усталости робот? А поскольку практически все городские организации имеют свой веб-сайт или хотя бы страничку в соцсети, то такому роботу не придётся ходить по улицам или ездить на троллейбусе. Ему достаточно пройти по интернету в поисках корпоративных сайтов и прочитать там разные факты о фирмах: как называются, где находятся, когда работают… Однако веб-дизайнеры - люди творческие, и частенько один созданный ими сайт не похож на другой. В подобных условиях для извлечения фактов из корпоративных сайтов уже не обойтись одними лишь регулярками и XPath-выражениями. В своём докладе я расскажу, как мы использовали методы машинного обучения и компьютерной лингвистики для разработки такого робота, который умел бы понимать текстовый контент любых корпоративных сайтов и извлекать оттуда нужную нам информацию

CodeFest

January 31, 2018
Tweet

More Decks by CodeFest

Other Decks in Programming

Transcript

  1. Когда машинное обучение вредно? ax2 + bx + c =

    0 x = ? Входные данные Желаемые выходные данные a b c x 1 x 2 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 Обучающая выборка Глубокая нейронная сеть
  2. Когда машинное обучение вредно? ax2 + bx + c =

    0 x = ? Входные данные Желаемые выходные данные a b c x 1 x 2 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 Обучающая выборка Глубокая нейронная сеть
  3. Извлечение фактов из веб-сайтов 1) Извлечение данных из сайтов-каталогов 2)

    Извлечение фактов о компаниях с их корпоративных сайтов Веб-краулинг для заполнения справочников 2ГИС:
  4. Named Entity Recognition • Определяем классы распознаваемых сущностей (Named Entities)

    • Размечаем учебный и тестовый корпус • Обучаем алгоритм • Извлекаем факты из новых страниц
  5. Подготовленный корпус • 10 асессоров • Свыше 20 тыс. сущностей

    11 классов • 9 тыс. организаций • 8 тыс. адресов • 500 расписаний • …
  6. 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
  7. Графико-орфографические признаки С большой буквы? Заканчивается двоеточием? Заканчивается точкой? Заканчивается

    запятой? Есть ли цифры? … Минздрав Московской области: ул. Большая Полянка, д. 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 … … … … … … … … … …
  8. Морфологические признаки Существительное? Глагол? Прилагательное? … Нормальная форма слова Минздрав

    Московской области: ул. Большая Полянка, д. 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 этаж
  9. Синтаксические признаки Выделяются именные группы (Noun Phrases, NP) Минздрав Московской

    области: ул. Большая Полянка, д. 42/2, I этаж B-NP B-NP I-NP O B-NP I-NP O O O B-NP
  10. Словарные признаки Входит в словарь госучреждений? Входит в географический словарь?

    Входит в словарь опциональных слов? … Минздрав Московской области: ул. Большая Полянка, д. 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 … … … … … … … … … …
  11. 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 … … … … … … … … … …
  12. Матрица признаков для веб-страницы Слово 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
  13. Conditional Random Fields (CRF) T - количество слов в распознаваемой

    последовательности x t = (x t 1, x t 2, …, x t k, …, x t K) - признаки t-го слова (K - общее количество признаков), y t ∈ S - класс t-го слова (s 1 = ORG, s 2 = SCHEDULE, s 3 = TEL, и т.п.) y 0 y 1 y T-1 y T y 2 x 1 x T-1 x T x 2 …
  14. Распознавание с помощью CRF y 0 =<START> Адрес: Станционная, дом

    104 x 1 x 2 x 3 x 4 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 y 1 =B-HOUSE y 1 =I-HOUSE y 1 =B-STREET y 2 =B-HOUSE y 2 =I-HOUSE y 2 =B-STREET y 2 =O y 3 =B-HOUSE y 3 =I-HOUSE y 3 =B-STREET y 3 =O y 4 =B-HOUSE y 4 =I-HOUSE y 4 =B-STREET y 4 =O y 1 =O
  15. Исходные данные Сбор Бруснивер фильтр-пакеты по 2 г, 20 шт.

    Целебрекс капсулы 100 мг, 10 шт. Пуэрто-Рико Пфайзер Фармасьютикалз ЭлЭлСи Целекоксиб Синафлан линимент 0,025%, 15 г по рецепту Россия НИЖФАРМ Флуоцинолона ацетонид Анти-ангин спрей для горла, 25 мл 100 доз Простамол Уно капсулы 320 мг, 60 шт.
  16. Размеченные данные Сбор Бруснивер фильтр-пакеты по 2 г, 20 шт.

    Целебрекс капсулы 100 мг, 10 шт. Пуэрто-Рико Пфайзер Фармасьютикалз ЭлЭлСи Целекоксиб Синафлан линимент 0,025%, 15 г по рецепту Россия НИЖФАРМ Флуоцинолона ацетонид Анти-ангин спрей для горла, 25 мл 100 доз Простамол Уно капсулы 320 мг, 60 шт.
  17. Исходные данные 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
  18. Размеченные данные 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
  19. Результаты для Аптек и Шин 2ГИС - Аптеки Precision =

    97,14% Recall = 93,74% 2ГИС - Шины Precision = 97,52% Recall = 96,61% * * регулярки ~ 50%