SlideShare a Scribd company logo
1 of 40
Download to read offline
HWdTech, LLC
Записанных в текстовой форме
Разбор почтовых адресов
Адрес – атрибут единицы информации,
непосредственно вводимой пользователем
Задачи, где это может потребоваться 02
Адрес – атрибут единицы информации,
непосредственно вводимой пользователем
Для обмена информацией со сторонним сервисом
Задачи, где это может потребоваться 03
Адрес – атрибут единицы информации,
непосредственно вводимой пользователем
Для обмена информацией со сторонним сервисом
Извлечение адреса из текста
Задачи, где это может потребоваться 04
Вопросы
Которые необходимо учесть при разработке
05
https://habrahabr.ru/company/hflabs/blog/230823/
!6436 вариантов написания номера дома
Сложная нумерация домов 06
Особенно производственные корпуса
Проспект Карла Маркса, 41/19 лит Л
Пристанционная, 17 лит А1
10 лет Октября, 203 ст 5 (2gis)
10 лет Октября, 203c5 (yandex)
!2gis не понимает 10 лет Октября, 203c5
Сложная нумерация домов 07
Проспект Карла Маркса, 41/101а (yandex)
Проспект Карла Маркса, 41 к 101а (2gis)
!Это один и тот же адрес
!Проспект Карла Маркса, 41/101а – 2gis не понимает
10 лет Октября, 203в к1
10 лет Октября, 203в/1
!Это разные адреса
Сложная нумерация домов 08
Раздольная, 1Б
Раздольная, 1ББ (это не опечатка, это другой адрес)
Коммунальная улица, 2к1/1
08а – 0 обязательно, так как есть 8а и это другой дом
Сложная нумерация домов 09
10
Улица 33-я Северная
33-я Северная улица
33-я Северная
Ул. 33-я Северная
ул 33-я Северная
33-я Северная улица
33-я Северная ул
33-я Северная ул.
Итого 40+ вариантов!
Различные варианты написания улиц 12
33ья
33я
33-ья
33-я
33
Улица Олега Кошевого
Улица Кошевого
Улица Кошевого Олега
Улица О. Кошевого
Улица О Кошевого
Улица Кошевого О
Олега Кошевого улица
Улица - ул
Различные варианты написания улиц 13
Улица Осоавиахимовская
Проспект Мира
Ошибки в названии улиц 14
Улица Мира
Мира улица
Улица проспект Мира
Мира проспект
Проспект Мира
Мира проспект улица
Проспект Мира улица
Различные варианты написания улиц 15
Бульвар б-р б. б
Проспект п. п п-т п-кт
Тупик т т. туп туп. т-к
Площадь пл. пл п-дь площ. Площ
Переулок пер пер. пер-к
И т.д.
Различные виды улиц 16
1-ый тупик 2-го переулка
16-й военный городок
Димитрова 1-ый переулок
Сложные названия улиц 17
Набережные Челны
5-й комплекс, 6 / Московский проспект, 101
Традиции/Старые названия 18
Москва
8 марта (район Аэропорт)
8 марта (Южное Бутово)
В Омске таких улиц 3!!!
Даже есть дома с одинаковым номером 
Улицы с одинаковыми названиями 19
Микрорайон Загородный
Поселок Козицкого
Нет улиц - 101 км, 2 (101 км – название населенного пункта)
Улица Ленина
Площадь Ленина
Двойные/тройные адреса, например, на перекрестке улиц
Прочие случаи 20
Откуда брать начальные
данные?
Надо быть осторожно – не для каждой задачи подходит тот или иной источник
21
Нет всех данных
Кладр/ФИАС 22
Нет всех данных
Большой размер (ФИАС)
Кладр/ФИАС 23
Нет всех данных
Большой размер (ФИАС)
Ошибки
Кладр/ФИАС 24
Нет всех данных
Большой размер (ФИАС)
Ошибки
Уровень города (ФИАС):
— Волхов
ул.Металлургов 17а
Кладр/ФИАС 25
Нет всех данных
Большой размер (ФИАС)
Ошибки
Уровень города (ФИАС):
— Волхов ул.Металлургов
17а
— Упоровский
муниципальный
— в районе деревни
Матокса
Кладр/ФИАС 26
Нет всех данных
Большой размер (ФИАС)
Ошибки
Уровень города (ФИАС):
— Волхов ул.Металлургов
17а
— Упоровский
муниципальный
— в районе деревни
Матокса
Кладр/ФИАС 27
Улицы (ФИАС):
— Гаражи в р-не
очистных сооружений
Блок 3
Нет всех данных
Большой размер (ФИАС)
Ошибки
Уровень города (ФИАС):
— Волхов ул.Металлургов
17а
— Упоровский
муниципальный
— в районе деревни
Матокса
Кладр/ФИАС 28
Улицы (ФИАС):
— Гаражи в р-не очистных
сооружений Блок 3
— Левая сторона дороги
Оренбуг-Орск 12.400
— За администрацией
поселка (левое крыло)
— Сараи (за гаражами по
ул Дзержинского)
Нет всех данных
Большой размер (ФИАС)
Ошибки
Уровень города (ФИАС):
— Волхов ул.Металлургов
17а
— Упоровский
муниципальный
— в районе деревни
Матокса
Кладр/ФИАС 29
Улицы (ФИАС):
— Гаражи в р-не очистных
сооружений Блок 3
— Левая сторона дороги
Оренбуг-Орск 12.400
— За администрацией
поселка (левое крыло)
— Сараи (за гаражами по ул
Дзержинского)
— Зона хранения
вооружений и
боеприпасов
• Разные форматы представления
адреса
2gis/yandex 30
• Разные форматы представления
адреса
• Не всегда понимают допустимые
написания адресов
• Не подходят для некоторых
предметных областей
2gis/yandex 31
• Разные форматы представления
адреса
• Не всегда понимают допустимые
написания адресов
• Не подходят для некоторых
предметных областей
2gis/yandex 32
Подходы к реализации
Как делать не надо
33
Россия,,Омск,,ул. Учебная, 83
,,,,ул. Учебная, 83
Жесткое позициорирование 34
• Split
• Регулярные выражения
• Чревато ошибками
• Медленно
• Тяжело поддерживать
Жесткое позициорирование 35
Подсказки 36
• Пользователи могут делать опечатки
• Пользователи могут набирать
устаревшие адреса
• Работает только для ручного ввода
данных
Подсказки 37
Dodata.ru
• Неполная база
• Устаревшие данные
• Как правило построены на базе ФИАС
• Платно
Online сервисы 38
Как сделать самому?
Свой справочник, только с блэк-джеком и …
39
Пишите: eytumentcev@hwdtech.ru
Звоните: +7 913 150 22 04
http://hwdtech.ru
Тюменцев
Евгений
Александрович

More Related Content

More from Омские ИТ-субботники

2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
Омские ИТ-субботники
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
Омские ИТ-субботники
 

More from Омские ИТ-субботники (20)

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
 
2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
 
2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC
 

2016-02-13 03 Евгений Тюменцев. Разбор почтовых адресов

  • 1. HWdTech, LLC Записанных в текстовой форме Разбор почтовых адресов
  • 2. Адрес – атрибут единицы информации, непосредственно вводимой пользователем Задачи, где это может потребоваться 02
  • 3. Адрес – атрибут единицы информации, непосредственно вводимой пользователем Для обмена информацией со сторонним сервисом Задачи, где это может потребоваться 03
  • 4. Адрес – атрибут единицы информации, непосредственно вводимой пользователем Для обмена информацией со сторонним сервисом Извлечение адреса из текста Задачи, где это может потребоваться 04
  • 6. https://habrahabr.ru/company/hflabs/blog/230823/ !6436 вариантов написания номера дома Сложная нумерация домов 06
  • 7. Особенно производственные корпуса Проспект Карла Маркса, 41/19 лит Л Пристанционная, 17 лит А1 10 лет Октября, 203 ст 5 (2gis) 10 лет Октября, 203c5 (yandex) !2gis не понимает 10 лет Октября, 203c5 Сложная нумерация домов 07
  • 8. Проспект Карла Маркса, 41/101а (yandex) Проспект Карла Маркса, 41 к 101а (2gis) !Это один и тот же адрес !Проспект Карла Маркса, 41/101а – 2gis не понимает 10 лет Октября, 203в к1 10 лет Октября, 203в/1 !Это разные адреса Сложная нумерация домов 08
  • 9. Раздольная, 1Б Раздольная, 1ББ (это не опечатка, это другой адрес) Коммунальная улица, 2к1/1 08а – 0 обязательно, так как есть 8а и это другой дом Сложная нумерация домов 09
  • 10. 10
  • 11.
  • 12. Улица 33-я Северная 33-я Северная улица 33-я Северная Ул. 33-я Северная ул 33-я Северная 33-я Северная улица 33-я Северная ул 33-я Северная ул. Итого 40+ вариантов! Различные варианты написания улиц 12 33ья 33я 33-ья 33-я 33
  • 13. Улица Олега Кошевого Улица Кошевого Улица Кошевого Олега Улица О. Кошевого Улица О Кошевого Улица Кошевого О Олега Кошевого улица Улица - ул Различные варианты написания улиц 13
  • 15. Улица Мира Мира улица Улица проспект Мира Мира проспект Проспект Мира Мира проспект улица Проспект Мира улица Различные варианты написания улиц 15
  • 16. Бульвар б-р б. б Проспект п. п п-т п-кт Тупик т т. туп туп. т-к Площадь пл. пл п-дь площ. Площ Переулок пер пер. пер-к И т.д. Различные виды улиц 16
  • 17. 1-ый тупик 2-го переулка 16-й военный городок Димитрова 1-ый переулок Сложные названия улиц 17
  • 18. Набережные Челны 5-й комплекс, 6 / Московский проспект, 101 Традиции/Старые названия 18
  • 19. Москва 8 марта (район Аэропорт) 8 марта (Южное Бутово) В Омске таких улиц 3!!! Даже есть дома с одинаковым номером  Улицы с одинаковыми названиями 19
  • 20. Микрорайон Загородный Поселок Козицкого Нет улиц - 101 км, 2 (101 км – название населенного пункта) Улица Ленина Площадь Ленина Двойные/тройные адреса, например, на перекрестке улиц Прочие случаи 20
  • 21. Откуда брать начальные данные? Надо быть осторожно – не для каждой задачи подходит тот или иной источник 21
  • 23. Нет всех данных Большой размер (ФИАС) Кладр/ФИАС 23
  • 24. Нет всех данных Большой размер (ФИАС) Ошибки Кладр/ФИАС 24
  • 25. Нет всех данных Большой размер (ФИАС) Ошибки Уровень города (ФИАС): — Волхов ул.Металлургов 17а Кладр/ФИАС 25
  • 26. Нет всех данных Большой размер (ФИАС) Ошибки Уровень города (ФИАС): — Волхов ул.Металлургов 17а — Упоровский муниципальный — в районе деревни Матокса Кладр/ФИАС 26
  • 27. Нет всех данных Большой размер (ФИАС) Ошибки Уровень города (ФИАС): — Волхов ул.Металлургов 17а — Упоровский муниципальный — в районе деревни Матокса Кладр/ФИАС 27 Улицы (ФИАС): — Гаражи в р-не очистных сооружений Блок 3
  • 28. Нет всех данных Большой размер (ФИАС) Ошибки Уровень города (ФИАС): — Волхов ул.Металлургов 17а — Упоровский муниципальный — в районе деревни Матокса Кладр/ФИАС 28 Улицы (ФИАС): — Гаражи в р-не очистных сооружений Блок 3 — Левая сторона дороги Оренбуг-Орск 12.400 — За администрацией поселка (левое крыло) — Сараи (за гаражами по ул Дзержинского)
  • 29. Нет всех данных Большой размер (ФИАС) Ошибки Уровень города (ФИАС): — Волхов ул.Металлургов 17а — Упоровский муниципальный — в районе деревни Матокса Кладр/ФИАС 29 Улицы (ФИАС): — Гаражи в р-не очистных сооружений Блок 3 — Левая сторона дороги Оренбуг-Орск 12.400 — За администрацией поселка (левое крыло) — Сараи (за гаражами по ул Дзержинского) — Зона хранения вооружений и боеприпасов
  • 30. • Разные форматы представления адреса 2gis/yandex 30
  • 31. • Разные форматы представления адреса • Не всегда понимают допустимые написания адресов • Не подходят для некоторых предметных областей 2gis/yandex 31
  • 32. • Разные форматы представления адреса • Не всегда понимают допустимые написания адресов • Не подходят для некоторых предметных областей 2gis/yandex 32
  • 33. Подходы к реализации Как делать не надо 33
  • 34. Россия,,Омск,,ул. Учебная, 83 ,,,,ул. Учебная, 83 Жесткое позициорирование 34
  • 35. • Split • Регулярные выражения • Чревато ошибками • Медленно • Тяжело поддерживать Жесткое позициорирование 35
  • 37. • Пользователи могут делать опечатки • Пользователи могут набирать устаревшие адреса • Работает только для ручного ввода данных Подсказки 37
  • 38. Dodata.ru • Неполная база • Устаревшие данные • Как правило построены на базе ФИАС • Платно Online сервисы 38
  • 39. Как сделать самому? Свой справочник, только с блэк-джеком и … 39
  • 40. Пишите: eytumentcev@hwdtech.ru Звоните: +7 913 150 22 04 http://hwdtech.ru Тюменцев Евгений Александрович