Как стать автором
Обновить

Учёные описали алгоритм автоматического анализа текстов Толкина на основе ИИ

Время на прочтение3 мин
Количество просмотров1.7K

Старший научный сотрудник института искусственного интеллекта AIRI Илья Макаров и выпускница ВШЭ Анастасия Ященко описали алгоритм автоматического анализа литературных произведений на основе ИИ. Исследователи проанализировали системы персонажей книг Джона Рональда Руэла Толкина.

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии0

Алиса поможет разработчикам найти объекты в запросах пользователей. NER в Диалогах

Время на прочтение4 мин
Количество просмотров6.5K
Весной мы запустили платформу Диалоги, которая позволяет создавать навыки для Алисы и распознавать голосовые запросы пользователей. Изначально разработчикам навыков приходилось разбирать запросы самостоятельно. К примеру, находить адрес в тексте. Теперь эту часть работы платформа берёт на себя.

Сегодня мы расскажем читателям Хабра о распознавании именованных сущностей (Named-entity recognition; NER) и новых возможностях для разработчиков навыков.



Мы верим, что будущее за голосовыми интерфейсами. Уже сейчас во многих случаях пользователи предпочитают использовать голос, а не экранную клавиатуру. Например, при управлении автомобилем. Или для поиска быстрых ответов на простые вопросы. Или для игры в «города» лёжа на диване. Но чтобы таких сценариев становилось всё больше, простого распознавания голоса в текст недостаточно.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии25

NLP. Основы. Техники. Саморазвитие. Часть 1

Время на прочтение12 мин
Количество просмотров72K

Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе прикладной математики и информатики МФТИ для старшеклассников, интересующихся программированием и математикой. Возможно, тезисы моей лекции кому-то пригодятся, поэтому поделюсь ими с Хабром.

Поскольку за один раз все объять не получится, разделим статью на две части. Сегодня я расскажу о том, как нейросети (или глубокое обучение) используются в NLP. Во второй части статьи мы сконцентрируемся на одной из самых распространенных задач NLP — задаче извлечения именованных сущностей (Named-entity recognition, NER) и разберем подробно архитектуры ее решений.


Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии11

Как мы ИИ учили новости понимать

Время на прочтение11 мин
Количество просмотров7K

Все мы хотим быть в курсе происходящего поэтому часть своего времени тратим на чтение новостей, и сейчас все чаще новости приходят не из новостных сайтов или газет, а из каки-то телеграм-каналов. В итоге, через какое-то время, оказывается, что ты подписан на десяток(а может и на десятки каналов), которые постоянно что-то пишут – как следствие, тратится либо огромное количество времени на то, чтобы "что-то не пропустить". Но если посмотреть – большинство из них пишут примерно об одном, просто по-разному. Так и пришла идея научить ИИ отбирать новости, которые действительно являются главными. Конечно, есть разные ТОП-ы, вроде Яндекс.Новостей или что-то вроде итогов дня от какого-то уважаемого СМИ, но везде есть нюансики. В этой статье я постараюсь описать эти нюансики и что у нас получилось, а что нет.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии11

Программируемые NER (Named Entity Recognition) компоненты

Время на прочтение6 мин
Количество просмотров3.3K

В данной заметке мы продолжим говорить о NER компонентах и попытаемся  определить условия, в которых нам начинает недоставать функционала стандартных компонентов и стоит задуматься о программировании своих собственных.

В подавляющем большинстве случаев для поиска пользовательских сущностей достаточно найти и настроить какой-либо уже существующий компонент, сконфигурировать или обучить его модель. Лишь иногда, в достаточно специфичных ситуациях, возможностей существующих решений оказывается недостаточным, и нам приходится начинать программировать. Но выделение ресурсов, кодирование, тесты, поддержка - все это стоит затевать лишь когда без всего этого просто не обойтись. 

Читать далее
Рейтинг0
Комментарии4

NLP (Natural Language Processing) для обращений граждан. Эксперимент на реальных данных

Время на прочтение10 мин
Количество просмотров4.8K

Когда собираешься строить систему обработки обращений граждан, неплохо бы автоматизировать и работу с текстами. Часть операций по атрибутированию, классификации и аннотированию наверняка можно переложить на машину. Но как определить, какие задачи автоматизации поддаются хорошо, а какие - не очень? В поисках ответа на этот вопрос мы попытались понять, что может предложить рынок с точки зрения продуктов, которые можно было бы интегрировать в систему документооборота white-label и провели исследование на реальных данных. 

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Yargy-парсер и библиотека Natasha. Извлечения структурированной информации из текстов на русском языке

Время на прочтение12 мин
Количество просмотров83K
В 2020 году библиотека Natasha значительно обновилась, на Хабре опубликована статья про актуальную версию. Чтобы использовать инструменты, описанные в этом тексте, установите старую версию библиотеки pip install natasha<1 yargy<0.13.

Раздел про Yargy-парсер актуален и сейчас.


Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами:



Задача старая и хорошо изученная, для английского языка существует масса коммерческих и открытых решений: Spacy, Stanford NER, OpenNLP, NLTK, MITIE, Google Natural Language API, ParallelDots, Aylien, Rosette, TextRazor. Для русского тоже есть хорошие решения, но они в основном закрытые: DaData, Pullenti, Abbyy Infoextractor, Dictum, Eureka, Promt, RCO, AOT, Ahunter. Из открытого мне известен только Томита-парсер и свежий Deepmipt NER.

Я занимаюсь анализом данных, задача обработки текстов одна из самых частых. На практике оказывается, что, например, извлечь имена из русского текста совсем непросто. Есть готовое решение в Томита-парсере, но там неудобная интеграция с Python. Недавно появилось решение от ребят из iPavlov, но там имена не приводятся к нормальной форме. Для извлечения, например, адресов («ул. 8 Марта, д.4», «Ленинский проезд, 15») открытых решений мне не известно, есть pypostal, но он чтобы парсить адреса, а не искать их в тексте. C нестандартными задачами типа извлечения ссылок на нормативные акты («ст. 11 ГК РФ», «п. 1 ст. 6 Закона № 122-ФЗ») вообще непонятно, что делать.

Год назад Дима Веселов начал проект Natasha. С тех пор код был значительно доработан. Natasha была использована в нескольких крупных проектах. Сейчас мы готовы рассказать о ней пользователям Хабра.
Natasha — это аналог Томита-парсера для Python (Yargy-парсер) плюс набор готовых правил для извлечения имён, адресов, дат, сумм денег и других сущностей.
В статье показано, как использовать готовые правила из Natasha и, самое главное, как добавлять свои с помощью Yargy-парсера.
Читать дальше →
Всего голосов 87: ↑86 и ↓1+85
Комментарии33

Визуализация новостей рунета

Время на прочтение6 мин
Количество просмотров15K


Представьте себе, что вы поспорили с друганом, что было раньше — курица или яйцо повышение какого-то налога, к примеру, или новости на эту тему, или вовсе важное событие заглушили тучей новостей про новую песню, скажем, Киркорова. Удобно было бы посчитать, сколько новостей на каждую тему было в каждый конкретный момент времени, а потом наглядно это представить. Собственно, этим и занимается проект “радар новостей рунета”. Под катом мы расскажем, при чём здесь машинное обучение и как любой доброволец может в этом поучаствовать.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии26

Как научить машину понимать инвойсы и извлекать из них данные

Время на прочтение8 мин
Количество просмотров9.4K
Привет, Хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем недавно и которые используем прямо сейчас. А еще мы поговорим о том, насколько для решения этой задачи применимы методы машинного обучения.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии13

Распознавание дат, написанных естественным языком, средствами Python3

Время на прочтение2 мин
Количество просмотров7K
Мы в компании создаем сервис, который извлекает юридические факты из переписки клиента и заказчика. Сервис вырос из одной простой идеи — мои постоянные клиенты из решили упросить работу менеджерам и создать “генератор договоров”. Первую задачу — подтягивать в договор реквизиты клиента и заказчика мы решили легко.

Появилась вторая идея — искать в переписке даты и вставлять их в техническое задание, документы, автоматически.

Однако, люди редко пишут в чатах и мессенджерах даты так, чтобы их легко мог распознать алгоритм.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии10

NLP. Основы. Техники. Саморазвитие. Часть 2: NER

Время на прочтение19 мин
Количество просмотров50K
Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи.

image
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии3

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Время на прочтение34 мин
Количество просмотров88K
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

Всего голосов 57: ↑55 и ↓2+53
Комментарии25

Извлечение троих: Как найти пасхалки в книгах Стивена Кинга с помощью NLP алгоритмов

Время на прочтение7 мин
Количество просмотров12K

У нас было 17 романов Стивена Кинга, много свободного времени, навыки анализа данных Python и безудержная любовь к поиску пасхалок. Вот, что из этого вышло.

Читать далее
Всего голосов 24: ↑22 и ↓2+20
Комментарии8

Смотрим на Санкт-Петербург сквозь призму публикаций в соцсетях — базовый анализ популярных локаций

Время на прочтение6 мин
Количество просмотров3.9K

Магистры, аспиранты и сотрудники Института дизайна и урбанистики ИТМО рассказывают, как можно изучить публичный образ той или иной локации. Для Санкт-Петербурга они проанализировали более пяти млн публикаций из популярной в России соцсети с соответствующими геотегами за 2018, 2019 и 2020-й.

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

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

NER для русского языка в Spacy 3: удобно и легко

Время на прочтение8 мин
Количество просмотров12K

Славянские языки, в том числе и русский, считаются довольно сложными для обработки. В основном, из-за богатой системы окончаний, свободного порядка слов и других морфологических и синтаксических явлений. Распознавание именованных сущностей (далее, NER) представляется трудной задачей для славянских языков, где синтаксические зависимости часто маркируются морфологическими чертами, нежели определенным порядком словоформ. Поэтому NER сложен для этих языков в сравнении с германскими или романскими языками.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии1

Как повысить интеллект систем машинного перевода и отучить путать продукты?

Время на прочтение3 мин
Количество просмотров844

Всем привет!

В ходе обсуждения возможных сценариев применения представления смысла документа через действия нам сообщили интересную проблему, с которой сталкиваются пользователи общедоступных систем машинного перевода при работе с не англоязычными текстами. Например, фраза
«Груша мне понравилась больше, чем кислое яблоко, так как она была слаще» переводится на немецкий язык одной из самых известных он-лайн систем так:
«Ich mochte die Birne lieber als den sauren Apfel, da er süßer war»
(Мне больше понравилась груша, чем кислое яблоко, так как оно было слаще), что нарушает смысл и делает яблоко вдобавок еще и сладким – «er süßer war». Разбор проблемы и потенциальное решение - далее.

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

BERT в задачах кибербезопасности

Время на прочтение8 мин
Количество просмотров3.3K

В настоящее время объем данных в домене кибербезопасности быстро растет. Однако большая его часть представляет собой текстовые неструктурированные данные, которые не подходят для непосредственного использования автоматизированными системами безопасности. Автоматическая и real-time трансформация информации о защищенности системы из неструктурированных текстовых источников в структурированные представления может помочь аналитикам лучше отслеживать ситуацию кибербезопасности. Существует много подходов к решению данной проблемы и некоторыми из них являются модели, основанные на трансформерах, во главе с BERTом. В этом эссе я хочу пролить свет на магию этих четырех букв в контексте защиты информации.

Читать далее
Всего голосов 28: ↑27 и ↓1+26
Комментарии0

Инструменты для решения NER-задач для русского языка

Время на прочтение5 мин
Количество просмотров5.1K

Зачастую приходится работать с большими объемами документов, к примеру, исполнительными листами, заявлениями, договорами, из текстов которых нам необходимо извлечь весьма конкретную информацию: ФИО, даты рождения, наименования должности, паспортные данные, адрес, ИНН и наименование компаний, даты подписания документов и так далее. Всё это относится к задаче распознавания именованных сущностей (NER). Какие инструменты могут помочь нам в решении данной задачи для русского языка?

Пожалуй, первое что приходит в голову Data Scientist’у, когда речь идет о NLP или конкретно NER-задачах — это проекты DeepPavlov. Немного углубимся в данную тему, разберем все по порядку.

DeepPavlov — это фреймворк (open source), который помогает в разработке различных голосовых ботов, соответственно, решая различные NLP задачи.

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии0

Искусство распознавания: как мы разрабатывали прототип AutoML для задачи Named Entity Recognition

Время на прочтение32 мин
Количество просмотров4.5K

Процессы и продукты банка всё время совершенствуются, и в какой-то момент приходит понимание, что рутинные операции нужно автоматизировать. Так случилось и у нас: возникла необходимость в автоматизации обработки текстовой информации. Это не только банковская тенденция — во многих сферах бизнеса сейчас растёт спрос на подобные решения, поэтому мы подумали, что хабровчанам тоже могут быть интересны наши изыскания в этой сфере. Так что сегодня расскажем  о том, как работает наш прототип AutoML для распознавания именованных сущностей (named entity recognition, NER). Ну и о том, какие результаты в итоге показала обученная модель. 

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Разметка именованных сущностей в Label Studio

Время на прочтение5 мин
Количество просмотров13K

В предыдущей статье мы уже подробно рассмотрели процесс разметки семантической сегментации в CVAT. Сейчас я подробнее расскажу по NER-разметку в другом популярном open source инструменте Label Studio

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

В процессе будем подробнее останавливаться на нюансах связанных с извлечением именованных сущностей и рекомендациях из личного опыта.

Посмотрим, что у тебя там...
Всего голосов 3: ↑2 и ↓1+1
Комментарии0
1