SlideShare a Scribd company logo
17 октября 2015
17 октября 2015
Павел Вейник
Программирование и лингвистика:
как понять язык и
извлечь знания из текстов
Реальный кейс проекта
17 октября 2015
Понимание текста
Эмоциональный анализ
Определение тематики текста
Определение тенденций
Выявление значимых событий и персон
Knowledge Extraction
17 октября 2015
Natural Language Processing
Качество всегда существенно меньше 100%
В критичных задачах требуют вмешательства человека
Часто сложны в понимании и применении
Не решают прямо business задачи
17 октября 2015
Проект
Заказчик: большой инвестиционный фонд (не стартапы —
строительство, финансы...)
Цель: всегда иметь полный и минимальный обзор текущих
событий в интересующих областях.
Контекст: мировые новости на английском языке.
MVP: простейшее выделение объектов.
17 октября 2015
Pipeline
17 октября 2015
Pipeline: Search Engine
Задача: получить адреса всех страниц по интересующим
тематикам.
Решение: использовать платный Google Custom Search.
Вход: Seed Phrases — список создается до начала работы и
постоянно пополняется в процессе.
Реализация: custom, Amazon EC2.
17 октября 2015
Pipeline: Crawler
Задача: получить содержимое всех страниц по интересующим
тематикам.
Вход: очередь адресов.
Решение: использовать Crawler4j — просто и немасштабируемо.
Реализация: Crawler4j, Amazon EC2.
17 октября 2015
Pipeline: Text Extractor
Задача: извлечь текст статьи из страницы.
Сложность: эвристики, машинное обучение.
Вход: очередь страниц.
Решение: использовать boilerpipe.
code.google.com/p/boilerpipe/
Реализация: boilerpipe, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: NE Extractor
Задача: извлечь Named Entities из текста страницы.
Сложность: эвристики, машинное обучение, словари.
Вход: очередь страниц.
Решение: использовать Illinois Named Entity Tagger.
cogcomp.cs.illinois.edu/page/software_view/NETagger
Реализация: Illinois NE Tagger, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: NE Disambiguator
Задача: понять какие NE представляют одно и то же.
Сложность: эвристики, машинное обучение, словари.
Вход: очередь NE и текст страницы.
Решение: использовать Illinois NE Similarity Metric.
cogcomp.cs.illinois.edu/page/software_view/NESim
Реализация: Illinois NESim + custom, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: Relation Extractor
Задача: найти в тексте связки.
Связка — то, что может связывать NE в предложении.
Сложность: эвристики, словари.
Вход: очередь страниц.
Решение: сформировать и пополнять словарь связок.
Реализация: custom, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: Temporal Expressions
Extractor
Задача: найти в тексте упоминания дат в любом виде.
Сложность: эвристики, словари.
Вход: очередь страниц.
Решение: Illinois Temporal Expression Extractor.
Реализация: Illinois TE Extractor, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: Sentence Detector
Задача: разбить текст на предложения.
Сложность: эвристики, машинное обучение.
Вход: очередь страниц.
Решение: Stanford Tokenizer, LingPipe Sentence Detection или ANNIE
Sentence Splitter.
Реализация: Stanford Tokenizer, несколько Amazon EC2.
17 октября 2015
Pipeline: Fact Extractor
Задача: выделить факты.
Факт — это один или больше NE, связка и, возможно, дата.
Сложность: эвристики.
Вход: выделенные NE, связки, Теmporal Expressions, границы
предложений.
Решение: custom.
Реализация: custom, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: Fact Merger
Задача: выбросить дублирующиеся факты.
Сложность: эвристики.
Вход: выделенные факты, бд фактов.
Решение: custom.
Реализация: custom, несколько Amazon EC2.
17 октября 2015
17 октября 2015
Pipeline: Theme Detector
Задача: определить тему текста.
Сложность: машинное обучение.
Вход: текст страницы.
Решение: Stanfod MaxEnt Classifier.
Реализация: Stanfod MaxEnt Classifier, несколько Amazon EC2.
17 октября 2015
Pipeline: Feedback Cycle
Задача: дать контроль на каждом шаге.
Сложность: зависит от шаге.
Вход: степень уверенности компонента в его результатах.
Решение: custom.
Реализация: custom, UI, несколько Amazon EC2.
17 октября 2015
17 октября 2015
17 октября 2015
Начало
Объем: 4 млн документов в сутки.
Скорость: 30 минутный интервал после появления новости.
Решение: AWS EC2, DynamoDB, SQS, RDS, S3.
17 октября 2015
Топология
17 октября 2015
Павел Вейник
enabler @ geomotiv
pavel@geomotiv.com

More Related Content

Viewers also liked

Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Tanya Denisyuk
 
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Tanya Denisyuk
 
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Tanya Denisyuk
 
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Tanya Denisyuk
 
Управление контейнерами в облаках
 Управление контейнерами в облаках Управление контейнерами в облаках
Управление контейнерами в облаках
Aleksey Zalesov
 
Анализ текста на естественном языке, управляемый вариантами разбора
Анализ текста на естественном языке, управляемый вариантами разбораАнализ текста на естественном языке, управляемый вариантами разбора
Анализ текста на естественном языке, управляемый вариантами разбора
Alexey Noskov
 
Открытый код Томита-парсера. Виктор Бочаров
 Открытый код Томита-парсера. Виктор Бочаров Открытый код Томита-парсера. Виктор Бочаров
Открытый код Томита-парсера. Виктор Бочаров
Yandex
 
Максим Барышников (Wargaming.net)
Максим Барышников (Wargaming.net)Максим Барышников (Wargaming.net)
Максим Барышников (Wargaming.net)Ontico
 
Как мы считали трафик на Вертике, Николай Голов (Avito)
Как мы считали трафик на Вертике, Николай Голов (Avito)Как мы считали трафик на Вертике, Николай Голов (Avito)
Как мы считали трафик на Вертике, Николай Голов (Avito)
Ontico
 
Извлечение знаний и фактов из текстов
Извлечение знаний и фактов из текстовИзвлечение знаний и фактов из текстов
Извлечение знаний и фактов из текстов
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
 
извлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовизвлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовYandex
 

Viewers also liked (12)

Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
 
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
 
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
 
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
 
Управление контейнерами в облаках
 Управление контейнерами в облаках Управление контейнерами в облаках
Управление контейнерами в облаках
 
Анализ текста на естественном языке, управляемый вариантами разбора
Анализ текста на естественном языке, управляемый вариантами разбораАнализ текста на естественном языке, управляемый вариантами разбора
Анализ текста на естественном языке, управляемый вариантами разбора
 
Открытый код Томита-парсера. Виктор Бочаров
 Открытый код Томита-парсера. Виктор Бочаров Открытый код Томита-парсера. Виктор Бочаров
Открытый код Томита-парсера. Виктор Бочаров
 
Tomita
TomitaTomita
Tomita
 
Максим Барышников (Wargaming.net)
Максим Барышников (Wargaming.net)Максим Барышников (Wargaming.net)
Максим Барышников (Wargaming.net)
 
Как мы считали трафик на Вертике, Николай Голов (Avito)
Как мы считали трафик на Вертике, Николай Голов (Avito)Как мы считали трафик на Вертике, Николай Голов (Avito)
Как мы считали трафик на Вертике, Николай Голов (Avito)
 
Извлечение знаний и фактов из текстов
Извлечение знаний и фактов из текстовИзвлечение знаний и фактов из текстов
Извлечение знаний и фактов из текстов
 
извлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовизвлечение объектов и фактов из текстов
извлечение объектов и фактов из текстов
 

More from Tanya Denisyuk

Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Tanya Denisyuk
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Tanya Denisyuk
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Tanya Denisyuk
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
Tanya Denisyuk
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"
Tanya Denisyuk
 
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
Tanya Denisyuk
 
Левон Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
Левон  Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"Левон  Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
Левон Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
Tanya Denisyuk
 
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Tanya Denisyuk
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Tanya Denisyuk
 
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Tanya Denisyuk
 
Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "
Tanya Denisyuk
 
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
Tanya Denisyuk
 
Алексей Залесов-«Управление контейнерами в облаках»
Алексей Залесов-«Управление контейнерами в облаках»Алексей Залесов-«Управление контейнерами в облаках»
Алексей Залесов-«Управление контейнерами в облаках»
Tanya Denisyuk
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Tanya Denisyuk
 
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Александр Тоболь, Кадры решают все, или стриминг видео в ОдноклассникахАлександр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Tanya Denisyuk
 
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWSДенис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Tanya Denisyuk
 
Кирилл Алешин, Ламбда Архитектура на практике
Кирилл Алешин, Ламбда Архитектура на практикеКирилл Алешин, Ламбда Архитектура на практике
Кирилл Алешин, Ламбда Архитектура на практике
Tanya Denisyuk
 
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяцМихаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Tanya Denisyuk
 
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQAlvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
Tanya Denisyuk
 
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под CocaineАнтон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Tanya Denisyuk
 

More from Tanya Denisyuk (20)

Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
 
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"Сергей Аверин "Распространенные ошибки применения баз данных"
Сергей Аверин "Распространенные ошибки применения баз данных"
 
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
 
Левон Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
Левон  Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"Левон  Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
Левон Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
 
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
 
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
 
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
 
Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "Алексей Лесовский "Тюнинг Linux для баз данных. "
Алексей Лесовский "Тюнинг Linux для баз данных. "
 
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
 
Алексей Залесов-«Управление контейнерами в облаках»
Алексей Залесов-«Управление контейнерами в облаках»Алексей Залесов-«Управление контейнерами в облаках»
Алексей Залесов-«Управление контейнерами в облаках»
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
 
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Александр Тоболь, Кадры решают все, или стриминг видео в ОдноклассникахАлександр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
 
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWSДенис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
 
Кирилл Алешин, Ламбда Архитектура на практике
Кирилл Алешин, Ламбда Архитектура на практикеКирилл Алешин, Ламбда Архитектура на практике
Кирилл Алешин, Ламбда Архитектура на практике
 
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяцМихаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
 
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQAlvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
 
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под CocaineАнтон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
 

Павел Вейник-«Программирование и лингвистика: как понять язык и как извлечь знания из текстов. Реальный кейс проекта»

  • 2. 17 октября 2015 Павел Вейник Программирование и лингвистика: как понять язык и извлечь знания из текстов Реальный кейс проекта
  • 3. 17 октября 2015 Понимание текста Эмоциональный анализ Определение тематики текста Определение тенденций Выявление значимых событий и персон Knowledge Extraction
  • 4. 17 октября 2015 Natural Language Processing Качество всегда существенно меньше 100% В критичных задачах требуют вмешательства человека Часто сложны в понимании и применении Не решают прямо business задачи
  • 5. 17 октября 2015 Проект Заказчик: большой инвестиционный фонд (не стартапы — строительство, финансы...) Цель: всегда иметь полный и минимальный обзор текущих событий в интересующих областях. Контекст: мировые новости на английском языке. MVP: простейшее выделение объектов.
  • 7. 17 октября 2015 Pipeline: Search Engine Задача: получить адреса всех страниц по интересующим тематикам. Решение: использовать платный Google Custom Search. Вход: Seed Phrases — список создается до начала работы и постоянно пополняется в процессе. Реализация: custom, Amazon EC2.
  • 8. 17 октября 2015 Pipeline: Crawler Задача: получить содержимое всех страниц по интересующим тематикам. Вход: очередь адресов. Решение: использовать Crawler4j — просто и немасштабируемо. Реализация: Crawler4j, Amazon EC2.
  • 9. 17 октября 2015 Pipeline: Text Extractor Задача: извлечь текст статьи из страницы. Сложность: эвристики, машинное обучение. Вход: очередь страниц. Решение: использовать boilerpipe. code.google.com/p/boilerpipe/ Реализация: boilerpipe, несколько Amazon EC2.
  • 11. 17 октября 2015 Pipeline: NE Extractor Задача: извлечь Named Entities из текста страницы. Сложность: эвристики, машинное обучение, словари. Вход: очередь страниц. Решение: использовать Illinois Named Entity Tagger. cogcomp.cs.illinois.edu/page/software_view/NETagger Реализация: Illinois NE Tagger, несколько Amazon EC2.
  • 13. 17 октября 2015 Pipeline: NE Disambiguator Задача: понять какие NE представляют одно и то же. Сложность: эвристики, машинное обучение, словари. Вход: очередь NE и текст страницы. Решение: использовать Illinois NE Similarity Metric. cogcomp.cs.illinois.edu/page/software_view/NESim Реализация: Illinois NESim + custom, несколько Amazon EC2.
  • 15. 17 октября 2015 Pipeline: Relation Extractor Задача: найти в тексте связки. Связка — то, что может связывать NE в предложении. Сложность: эвристики, словари. Вход: очередь страниц. Решение: сформировать и пополнять словарь связок. Реализация: custom, несколько Amazon EC2.
  • 17. 17 октября 2015 Pipeline: Temporal Expressions Extractor Задача: найти в тексте упоминания дат в любом виде. Сложность: эвристики, словари. Вход: очередь страниц. Решение: Illinois Temporal Expression Extractor. Реализация: Illinois TE Extractor, несколько Amazon EC2.
  • 19. 17 октября 2015 Pipeline: Sentence Detector Задача: разбить текст на предложения. Сложность: эвристики, машинное обучение. Вход: очередь страниц. Решение: Stanford Tokenizer, LingPipe Sentence Detection или ANNIE Sentence Splitter. Реализация: Stanford Tokenizer, несколько Amazon EC2.
  • 20. 17 октября 2015 Pipeline: Fact Extractor Задача: выделить факты. Факт — это один или больше NE, связка и, возможно, дата. Сложность: эвристики. Вход: выделенные NE, связки, Теmporal Expressions, границы предложений. Решение: custom. Реализация: custom, несколько Amazon EC2.
  • 22. 17 октября 2015 Pipeline: Fact Merger Задача: выбросить дублирующиеся факты. Сложность: эвристики. Вход: выделенные факты, бд фактов. Решение: custom. Реализация: custom, несколько Amazon EC2.
  • 24. 17 октября 2015 Pipeline: Theme Detector Задача: определить тему текста. Сложность: машинное обучение. Вход: текст страницы. Решение: Stanfod MaxEnt Classifier. Реализация: Stanfod MaxEnt Classifier, несколько Amazon EC2.
  • 25. 17 октября 2015 Pipeline: Feedback Cycle Задача: дать контроль на каждом шаге. Сложность: зависит от шаге. Вход: степень уверенности компонента в его результатах. Решение: custom. Реализация: custom, UI, несколько Amazon EC2.
  • 28. 17 октября 2015 Начало Объем: 4 млн документов в сутки. Скорость: 30 минутный интервал после появления новости. Решение: AWS EC2, DynamoDB, SQS, RDS, S3.
  • 30. 17 октября 2015 Павел Вейник enabler @ geomotiv pavel@geomotiv.com

Editor's Notes

  1. 2
  2. 3
  3. 4
  4. 5
  5. 6
  6. 7
  7. 8
  8. 9
  9. 11
  10. 13
  11. 15
  12. 17
  13. 19
  14. 20
  15. 22
  16. 24
  17. 25
  18. 27
  19. 28
  20. 29
  21. 30