Natural Language Processing (NLP) with .NET for #dotnetby meetup-29Sergey Tihon
(LUIS) from Azure Cognitive Services and IBM Watson. We will also take a look at popular NuGet packages like Stanford.NLP.NET, OpenNLP.NET, and others.
Natural Language Processing (NLP) with .NET for #dotnetby meetup-29Sergey Tihon
(LUIS) from Azure Cognitive Services and IBM Watson. We will also take a look at popular NuGet packages like Stanford.NLP.NET, OpenNLP.NET, and others.
DOC Использование особенностей языка запросов поиска Яндекса для исследований...Eugene Trofimenko
http://promosite.ru/conference/optimization-2008.php
Текст
Доклад на конференции "Поисковая оптимизация и продвижение сайтов в Интернете 2008". Яндекс - не только наиболее популярный поисковик в Рунете, но и наиболее открытый к исследованиям его алгоритмов. Рассмотрены особенности работы поиска по текстам ссылок, возможности для изучения трактовки Яндексом многозначных запросов и их расширения. Отдельные элементы переформулировки запросов Яндексом, полезные для оптимизации сайтов.
[Skolkovo Robotics 2015 Day 2] Владимир Веселов Bot and humans "Взаимодействи...Skolkovo Robotics Center
Skolkovo Robotics 2015 Презентация
Владимира Веселова на Robohack, одного из создателей чатбота Евгений Густман который в 2014 году прошел тест Тьюринга
Методы для вычисления базовой статистики текста
Работа с корпусами и лексикографическими ресурсами
Обработка естественного языка (токенизация, лемматизация, стемминг, pos-tagging, parsing)
Классификация
Машинный перевод
Работа с XML-документами
Представление знаний
MT as a Translator's Tool (TFR_11) - in Russianoleg_vigodsky
- Integration of PROMT MT and SDL Trados
- Terminology development
- MT system customization: user dictionaries, DoNotTranslate lists and Translation Rules
В данном выступлении будет рассказно об общих принципах организации систем полнотекстового поиска на примере движка Sphinx. Будут рассмотрены структура и организация поискового индекса, на примере разобраны различные механимзы индексирования. Речь пойдет также и о продвинутых методиках работы со Sphinx: индексы реального времени, атрибуты с несколькими значениями, дельта-индексирование. Все это будет не только описано но и продемонстрировано, а желающие смогут проделывать все операции у себя на ноутбуках параллельно с докладчиком (см. описание программных требований).
Вторая часть будет посвящена непосредственно поиску и взаимодействию с движком Sphinx из программного кода на языке C#. Будут использованы механизмы обращения к Sphinx как используя нативный протокол, так и через MySQL-адаптер. Будет показано применение библиотек Sphinx.Client, Scarab и ByndyuSoft.Infrastructure.Sphinx, две из которых созданы автором мастер-класса. Также будут рассмотрены типовые ситуации использования Sphinx и шаблоны организации поиска.
Корпусная лингвистика: компиляция корпуса устной речиNLProc.by
Что такое корпус? Корпус устной речи?
Виды
Корпусы устной речи (фокус: слявянские языки)
Компиляция корпуса устной речи: основные этапы, принципы, инструменты
Дмитрий Шахов. Эксперименты на тему распространённых методов в SEODariaShalahinova
Много оптимизаторов использует в своей работе методы, которые приняло за аксиому, не требующую доказательств. Но так ли верны эти методики? Проверим их экспериментально.
DOC Использование особенностей языка запросов поиска Яндекса для исследований...Eugene Trofimenko
http://promosite.ru/conference/optimization-2008.php
Текст
Доклад на конференции "Поисковая оптимизация и продвижение сайтов в Интернете 2008". Яндекс - не только наиболее популярный поисковик в Рунете, но и наиболее открытый к исследованиям его алгоритмов. Рассмотрены особенности работы поиска по текстам ссылок, возможности для изучения трактовки Яндексом многозначных запросов и их расширения. Отдельные элементы переформулировки запросов Яндексом, полезные для оптимизации сайтов.
[Skolkovo Robotics 2015 Day 2] Владимир Веселов Bot and humans "Взаимодействи...Skolkovo Robotics Center
Skolkovo Robotics 2015 Презентация
Владимира Веселова на Robohack, одного из создателей чатбота Евгений Густман который в 2014 году прошел тест Тьюринга
Методы для вычисления базовой статистики текста
Работа с корпусами и лексикографическими ресурсами
Обработка естественного языка (токенизация, лемматизация, стемминг, pos-tagging, parsing)
Классификация
Машинный перевод
Работа с XML-документами
Представление знаний
MT as a Translator's Tool (TFR_11) - in Russianoleg_vigodsky
- Integration of PROMT MT and SDL Trados
- Terminology development
- MT system customization: user dictionaries, DoNotTranslate lists and Translation Rules
В данном выступлении будет рассказно об общих принципах организации систем полнотекстового поиска на примере движка Sphinx. Будут рассмотрены структура и организация поискового индекса, на примере разобраны различные механимзы индексирования. Речь пойдет также и о продвинутых методиках работы со Sphinx: индексы реального времени, атрибуты с несколькими значениями, дельта-индексирование. Все это будет не только описано но и продемонстрировано, а желающие смогут проделывать все операции у себя на ноутбуках параллельно с докладчиком (см. описание программных требований).
Вторая часть будет посвящена непосредственно поиску и взаимодействию с движком Sphinx из программного кода на языке C#. Будут использованы механизмы обращения к Sphinx как используя нативный протокол, так и через MySQL-адаптер. Будет показано применение библиотек Sphinx.Client, Scarab и ByndyuSoft.Infrastructure.Sphinx, две из которых созданы автором мастер-класса. Также будут рассмотрены типовые ситуации использования Sphinx и шаблоны организации поиска.
Корпусная лингвистика: компиляция корпуса устной речиNLProc.by
Что такое корпус? Корпус устной речи?
Виды
Корпусы устной речи (фокус: слявянские языки)
Компиляция корпуса устной речи: основные этапы, принципы, инструменты
Дмитрий Шахов. Эксперименты на тему распространённых методов в SEODariaShalahinova
Много оптимизаторов использует в своей работе методы, которые приняло за аксиому, не требующую доказательств. Но так ли верны эти методики? Проверим их экспериментально.
Павел Вейник-«Программирование и лингвистика: как понять язык и как извлечь з...Tanya Denisyuk
Текста много, а полезной информации мало. Как извлечь только то что нужно и ничего не пропустить? Система, которая представляется в докладе, обрабатывает огромный массив текстов, автоматически извлекает из них сущности и события интересующей предметной области, после чего они доступны для последующего анализа. Такую систему можно разработать только на open source технологиях, она не требует гигантского количества серверов, зато интенсивно использует технологии Natural Language Processing и Machine Learning.
[ИТ-лекторий ФКН ВШЭ]: Диалоговые системы. Татьяна ЛандоNLPseminar
Диалоговые системы и чат-боты: как они устроены сейчас (правила, фреймы, шаблоны) и как машинное обучение может изменить их качество и применимость.
Видеозапись лекции: https://www.youtube.com/watch?v=-9zKXLAwm7w
Хранение json-документов в Tarantool / Андрей Дроздов (Mail.ru Group)Ontico
AVRO - система сериализации данных, созданная сообществом Apache Hadoop. Включает в себя различные структуры данных, компактный формат хранения в бинарном виде, язык описания схем данных и правила миграции данных между разными версиями схемы. С помощью инструментария AVRO можно валидировать данные по схеме, совершать преобразования из одной версии в другую и даже восстанавливать неполные данные при помощи значений по-умолчанию. Поддержка Apache AVRO была добавлена в Tarantool в этом году и уже используются в production.
Tarantool можно использовать как документо-ориентированную СУБД. В докладе я расскажу про подход к версионированию данных, разработанный командой tarantool: использование avro схемы для валидации входных данных, преобразования от одной версии к другой в runtime, оптимальное хранение версий документа, изменение схемы данных без избыточности и проблем в предыдущих версиях.
Также я расскажу, как применять этот подход для создания бэкендов restful api прямо в базе данных (без дополнительной разработки). Для наглядности мы сравним получившуюся систему с популярными веб-фреймворками: django-rest-framework, go-restful, node.js и посмотрим, кто окажется в лидерах по производительности. Кроме того, во время выступления я покажу live пример создания restful api на стеке технологий tarantool в облаке amazon.
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Yandex
2 июля 2011, Я.Субботник в Екатеринбурге
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
О докладе:
Про Python и Django: зачем нужна красота и простота перфекционистам с дедлайнами, на примере Яндекс.Погоды.
Когда число сервисов, которые делаются в Яндексе, стало возрастать, дедлайны — поджимать, а от процесса разработки требовалось стать более гибким, возникла потребность в свежих решениях. В докладе на примере Яндекс.Погоды рассказывается, как в Яндексе делают сервисы с помощью языка Python и веб-фреймворка Django.
Python AST / Николай Карелин / VPI Development Center [Python Meetup 27.03.15]Python Meetup
Python AST: между исходным текстом и байт-кодом / Николай Карелин / Системный архитектор VPI Development Center
Николай познакомит слушателей с деталями устройства Python AST и, в частности, расскажет некоторые интересные факты о работе диалекта Hy.
Python Meetup - встречи минского сообщества любителей языка программирования Python.
Присоединяйся к нам!
Мы в twitter: https://twitter.com/pythonminsk
Мы на youtube: http://www.youtube.com/pythonMinsk
Мы на slideshare: http://www.slideshare.net/MinskPythonMeetup
3. Томита-парсер
Инструмент для извлечения фактов
• В основе парсера лежит алгоритм GLR – парсинга
(http://ru.wikipedia.org/wiki/GLR-парсер)
• Автор алгоритма - Масару Томита, мы назвали
парсер в его честь.
• Извлечение фактов - извлечение структурированных
данных из текста на естественном языке.
• Извлечение фактов происходит при помощи
контекстно-свободных грамматик и словарей
ключевых слов.
4. Томита-парсер
Что можно извлечь?
Объекты в тексте: Связи между этими объектами:
- даты - События
- адреса
- телефоны - Мнения и отзывы
- ФИО
- название товара - Контактные данные
- действие
- тональность… - Объявления
Объект 1 Объект 2 Тип связи
Яндекс Аркадий Волож директор
5. Извлечение фактов в Яндексе
В проекте Яндекс.Новости
для извлечения адресов
для геопривязки
сюжетов
для выделения
компаний и персон
10. Что делает томита-парсер?
Томита-парсер
Тяжёлый труд
облагораживает тяжёлый | труд
tomitaparser.exe
хороший | человек
хорошего человека
Исходный текст Факты
словари
и грамматики
11. Откуда берется исходный текст?
• из одного текстового файла
• один файл — один документ
• одна строка — один документ (dpl)
• из нескольких текстовых файлов
• папка
• .tar архив
• из STDIN
Кодировка символов: UTF-8, Windows-1251
12. Вывод фактов
Куда сохраняются факты?
• в файл
• в STDOUT
Форматы:
• для автоматической обработки
• Facts XML
• Google Protobuf
• чтобы «смотреть глазами»
• текстовый формат
Кодировка символов: UTF-8, Windows-1251
13. Конфигурация парсера
● Откуда читать текст?
● В какой кодировке?
● Куда записывать факты?
● В каком формате и кодировке?
+
● Какие грамматики запускать?
● Какие факты записывать?
14. Что делает Томита-парсер?
Томита-парсер
Тяжёлый труд
облагораживает тяжёлый | труд
tomitaparser.exe
хороший | человек
хорошего человека
Исходный текст Факты
словари файл
и грамматики конфигурации
18. Простой файл конфигурации
Действия парсера:
• скомпилирует и загрузит словарь
mydic.gzt
• прочитает текст из STDIN
Для полноценной работы нужно указать:
• статьи корневого словаря, которые нужно
запустить
• факты, которые нужно записать
20. Словари
Словари состоят из статей
• Формат — Google Protobuf
• Кодировка — UTF-8
Корневой словарь
• всегда один
• содержит ссылки на остальные словари и
грамматики
21. Статьи корневого словаря
Articles = [
{ Name = "статья1" }
{ Name = "статья2" }
// можно указать
// несколько статей
]
24. Что делает Томита-парсер?
Томита-парсер
Тяжёлый труд
облагораживает тяжёлый | труд
tomitaparser.exe
хороший | человек
хорошего человека
Исходный текст Факты
корневой файл
словарь конфигурации
другие
словари
и грамматики
29. Секция Output
● File — в какой файл сохранять
● Format — в каком формате
– xml, protobuf или text
● Mode: append/overwrite
● Encoding
По умолчанию:
STDOUT, xml, append, utf-8
38. Наша задача
Заполнение «карточки фильма»
информацией, извлеченной из
текста на естественном языке
название
жанр
год
оригинальное название
режиссер
39. Исходный текст input.txt
Фильм Оливера Стоуна "Александр" основан на
реальной жизни одного из самых выдающихся людей в
истории.
«Титаник» (Titanic) — фильм-катастрофа 1997
года, снятый Джеймсом Кэмероном, в котором
показана гибель легендарного лайнера «Титаник».
Главные роли в фильме исполнили Кейт Уинслет (Роза
Дьюитт Бьюкейтер) и Леонардо Ди Каприо (Джек
Доусон).
«Неприкасаемые» (Intouchables) — трагикомедийный
фильм 2011 года, основанный на реальных событиях.
Главные роли исполняют Франсуа Клюзе и Омар
Си, удостоенный за эту актёрскую работу национальной
премии «Сезар».
40. Правила в Томите
Грамматика состоит из правил, которые
описывают цепочки
В правиле есть левая и правая часть,
разделенные символом ->
В левой части стоит один нетерминал, правая
состоит из терминалов и нетерминалов.
S -> Noun;
46. Результат output.txt
Фильм Оливера Стоуна "Александр" основан на реальной
жизни одного из самых выдающихся людей в истории .
"Титаник" ( Titanic ) — фильм-катастрофа 1997 года ,
снятый Джеймсом Кэмероном , в котором показана
гибель легендарного лайнера "Титаник" .
Главные роли в фильме исполнили Кейт Уинслет ( Роза
Дьюитт Бьюкейтер ) и Леонардо Ди Каприо ( Джек Доусон
).
«Неприкасаемые" ( Intouchables ) — трагикомедийный
фильм 2011 года , основанный на реальных событиях .
Главные роли исполняют Франсуа Клюзе и Омар Си ,
удостоенный за эту актёрскую работу национальной
премии "Сезар" .
54. Операторы
Позволяют получить более удобную сокращенную
запись правил грамматики
* — символ повторяется 0 или более раз
S -> Adj* Noun;
=
S -> Noun;
S -> Adj Noun;
S -> Adj Adj Noun;
…
55. Операторы
+ — символ повторяется 1 или более раз
S -> Adj+ Noun;
=
S -> Adj Noun;
S -> Adj Adj Noun;
S -> Adj Adj Adj Noun;
…
56. Операторы
() — символ входит в правило 0 или 1 раз
S -> (Adj) Noun;
=
S -> Noun;
S -> Adj Noun;
63. Результат output.txt
Фильм Оливера Стоуна "Александр" основан на реальной жизни одного из
самых выдающихся людей в истории .
Film
{
Name = Оливер Стоуна "Александр“
}
"Титаник" ( Titanic ) — фильм-катастрофа 1997 года , снятый Джеймсом
Кэмероном , в котором показана гибель легендарного лайнера "Титаник" .
Film
{
Name = Titanic
}
Film
{
Name = 1997
}
Film
{
Name = Джеймс Кэмероном
}
64. Результат output.txt
Главные роли в фильме исполнили Кейт Уинслет (
Роза Дьюитт Бьюкейтер ) и Леонардо Ди Каприо (
Джек Доусон ) .
Film { Name = Кейт Уинслет}
Film { Name = Роза Дьюитт Бьюкейтер}
Film { Name = Леонардо Ди Каприо}
Film { Name = Джек Доусон}
81. Посмотрим еще раз на входной
файл
Фильм Оливера Стоуна "Александр" основан на реальной
жизни одного из самых выдающихся людей в истории.
"Титаник" (Titanic) — фильм-катастрофа 1997 года, снятый
Джеймсом Кэмероном, в котором показана гибель
легендарного лайнера «Титаник». Главные роли в фильме
исполнили Кейт Уинслет (Роза Дьюитт Бьюкейтер) и
Леонардо Ди Каприо (Джек Доусон).
«Неприкасаемые»(Intouchables) — трагикомедийный
фильм 2011 года, основанный на реальных событиях.
Главные роли исполняют Франсуа Клюзе и Омар Си,
удостоенный за эту актёрскую работу национальной
премии «Сезар».
82. Надо учесть:
1. После названия фильма на русском может идти
оригинальное название в скобках. А может и не
идти
2. Между названием и дескриптором может стоять
тире
3. Дескриптор может быть как после, так и перед
названием
96. Включение грамматик
Правила, которые могут использоваться во многих
грамматиках, целесообразно выделять в отдельную
грамматику.
Например, грамматика дат.