Рубрика «nlp» - 8

Необходимость сложной обработки текстовых данных, хранящихся в ERP-системах (и не только) возникает достаточно часто. В качестве вводных примеров можно привести следующие:

  • Унификация наименований товарной номенклатуры
  • Автоматическая расстановка формализованных атрибутов товаров на основании их наименований или описаний
  • Преобразование почтовых адресов как с целью унификации так и для формального структурирования
  • Определение пола человека по его имени
  • Извлечение информации из примечаний к документам (например, для автоматического связывания записи из выписки с отгрузочными документами)
  • и т.д. (фантазировать можно еще долго)

Читать полностью »

Искусственный интеллект под Android с открытым API
Только ленивый не знает сегодня о том, что такое голосовой помощник Siri. Когда два года назад этот продукт был показан на презентации нового iPhone 4S, многие посмотрели на развитие IT-индустрии по-новому. Действительно, искусственный интеллект в кармане, понимающий естественную речь, еще не показывал никто.

Многие в то время начали говорить о том, что Apple может уже на следующем WWDC предоставить всем программистам под iOS возможность использовать открытое API ассистента Siri для своих собственных программ. Картина вырисовывалась радужной — любое приложение смогло бы реагировать на пользовательские фразы, исполняя различные команды. Действительно, если в магазине AppStore так много разных полезных приложений, почему бы им не дать возможность управления голосом? Тем более что такой вид коммуникации с пользователем, как речь, быстро стал трендовым после выхода iPhone 4s.

О том, удалось ли это сделать Apple, и что удалось сделать нам, читайте далее.

Читать полностью »

Вам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.

Это не всегда удобно, не всегда красиво, не всегда уместно. Русский язык одарён богатой морфологией, которая несколько затрудняет его автоматическую обработку. Всем известно, что антропонимы, как полагается именам существительным, подчиняются всем правилам словообразования.

Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.

Petrovich просклоняет русские имена
Читать полностью »

Искусственный интеллект и почему мой компьютер меня не понимает?

Гектор Левекwiki утверждает, что его компьютер тупой. И ваш тоже. Siri и голосовой поиск Google умеют понимать заготовленные предложения. Например «Какие фильмы будут показывать неподалёку в 7 часов?» Но что насчёт вопроса «Может ли аллигатор пробежать стометровку с барьерами?» Такой вопрос никто раньше не задавал. Но любой взрослый может найти ответ на него (Нет. Аллигаторы не могут участвовать в беге с барьерами). Но если вы попытаетесь ввести этот вопрос в Google, то получите тонны информации о спортивной команде по лёгкой атлетике Florida Gators. Другие поисковые системы, такие как Wolfram Alpha, тоже не способны найти ответ на поставленный вопрос. Watson, компьютерная система выигравшая викторину «Jeopardy!», вряд ли покажет себя лучше.
Читать полностью »

В далеком 2009 году на хабре уже была статья "Кузявые ли бутявки.." про pymorphy — морфологический анализатор для русского языка на Python (штуковину, которая умеет склонять слова, сообщать информацию о части речи, падеже и т.д.)

В 2012м я начал потихоньку делать pymorphy2 (github, bitbucket) — думаю, самое время представить эту библиотеку тут: pymorphy2 может работать в сотни раз быстрее, чем pymorphy (втч без использования C/C++ расширений) и при этом требовать меньше памяти; там лучше словари, лучше качество разбора, лучше поддержка буквы ё, проще установка и более «честный» API. Из негатива — не все возможности pymorphy сейчас реализованы в pymorphy2.

Эта статья о том, как pymorphy2 создавался (иногда с довольно скучными техническими подробностями), и сколько глупостей я при этом наделал; если хочется просто все попробовать, то можно почитать документацию.

Читать полностью »

Сегодня я хотел бы начать серию заметок, в которых даётся обзор различных курсов на прекрасном образовательном ресурсе Coursera, про который не слышал, мне кажется, только лишь глухой аутист. С начала 2012 года я систематически прохожу на этом сайте различные интересные курсы, и с тех пор у меня накопилось предостаточно материала, чтобы поделиться им с почтеннейшей публикой. Надеюсь, что эта серия заметок будет полезна всем, кто хочет продолжать продвигать свой уровень образования.

Сегодня я расскажу про первые пять курсов, которые были прослушаны мною с начала 2012 года по его середину. Вот они:

  1. Model Thinking
  2. Natural Language Processing
  3. Game Theory
  4. Automata
  5. Introduction to Logic

Если кто-то заинтересовался хотя бы одним из перечисленных курсов, то добро пожаловать под кат.

Читать полностью »

Решение арифметических задач — вероятностный подход против регулярных выраженийКак всегда в начале месяца состоялся конкурс по функциональному программированию, который проводится на ежемесячной основе под эгидой Фонда Поддержки Функционального Программирования. В мае на суд конкурсантов была предложена задача, которая планировалась в качестве задачи для Большого Ежегодного Конкурса по ФП, который пока так и не состоялся. Изначальная концепция задачи была переосмыслена, в результате чего появилась такая формулировка:

В файле, находящемся по известному адресу, записано 100 тысяч условий арифметических задач на четыре действия: сложение, вычитание, умножение и деление. Условия записаны на естественном языке. В качестве результата необходимо представить файл с ответами на задачи — по одному ответу в виде натурального числа на каждой строке (итого 100 тысяч строк).

Читать полностью »

Здравствуйте.

В контексте анализа данных из твиттера возникла задача обработки хештегов. Нужно было взять хештег и разбить его на отдельные слова (#habratopic => habra topic). Задача казалась примитивной, но, получается, я ее недооценил. Пришлось перебрать несколько алгоритмов пока не было найдено то, что надо.

Эту статью можно считать некой хронологией решения задачи с анализом преимуществ и недостатков каждого из использованных алгоритмов. Поэтому, если вам интересна данная тема, прошу под кат.

Читать полностью »

Здравствуйте.
Если вы занимаетесь DataMining, анализом текстов на выявление мнений или вам просто интересны статистические модели для оценки эмоциональной окраски предложений — эта статья может оказаться интересной.
Далее, чтобы не тратить время потенциального читателя впустую на груду теории и рассуждений, сразу краткие результаты.
Реализованный подход работает приблизительно с 55% точностью в трех классах: негативный, нейтральный, позитивный. Как говорит Википедия, 70% точность приблизительно равна точности человеческих суждений в среднем (в силу субъективности трактований каждого).
Следует отметить, что существует немало утилит с точностью выше полученной мной, но описанный подход, можно достаточно просто усовершенствовать (будет описано ниже) и получить в итоге 65-70%. Если после всего вышеизложенного у вас осталось желание читать — добро пожаловать под кат.
Читать полностью »

Понимаю, что все заинтересованные уже получили оповещение по почте, но для тех кто не в танке — объявление: онлайн курсы от Stanford University наконец-то начинаются.

Probabilistic Graphical Models — начинается 19 марта, лекции пока не доступны.

По данным курсам доступны первые лекции и задания

Natural Language Processing — начало с 12 марта, первое задание Spamlord должно быть уже выполнено к 19 марта, так что регистрируемся.

Design and Analysis of Algorithms I — курс по дизайну и анализу алгоритмов.

CryptographyЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js