Search
Write a publication
Pull to refresh
-28
0.2

Интересуюсь природой вещей

Send message

Как сделать из нейросети журналиста, или «Секреты сокращения текста на Хабре без лишних слов»

Reading time10 min
Views14K
Только не удивляйтесь, но второй заголовок к этому посту сгенерировала нейросеть, а точнее алгоритм саммаризации. А что такое саммаризация?

Это одна из ключевых и классических задач Natural Language Processing (NLP). Она заключается в создании алгоритма, который принимает на вход текст и на выходе выдаёт его сокращённую версию. Причем в ней сохраняется корректная структура (соответствующая нормам языка) и правильно передается основная мысль текста.

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

К моему удивлению, на Хабре оказалось совсем немного статей о саммаризации, поэтому я решил поделиться своими исследованиями и результатами в этом направлении. В этом году я участвовал в соревновательной дорожке на конференции «Диалог» и ставил эксперименты над генераторами заголовков для новостных заметок и для стихов с помощью нейронных сетей. В этом посте я вначале вкратце пробегусь по теоретической части саммаризации, а затем приведу примеры с генерацией заголовков, расскажу, какие трудности возникают у моделей при сокращении текста и как можно эти модели улучшить, чтобы добиться выдачи более качественных заголовков.
Читать дальше →

Индексируем миллиарды текстовых векторов

Reading time9 min
Views9K

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

Клиентоориентированный Data Lake в игровой компании

Reading time13 min
Views7.7K

Источник

Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье по мотивам нашего с Диной Сафиной выступления на HighLoad++ Moscow 2019 я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище.

Статья состоит из трех частей. Сперва я расскажу, почему мы решили реализовывать DataLake. Во второй части я опишу, какие технологии и решения мы используем, чтобы хранилище могло работать и наполняться данными. И в третьей части опишу, что мы делаем для улучшения качества наших сервисов.
Читать дальше →

Математика на пальцах: методы наименьших квадратов

Reading time8 min
Views236K

Введение




Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это — чуть позже) — стыдно.

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.
Математика для программистов!

Комбинаторика в Python

Reading time4 min
Views132K

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

Читать дальше →

Как Яндекс научил искусственный интеллект находить ошибки в новостях

Reading time7 min
Views14K
Мы часто рассказываем о технологиях и библиотеках, которые зародились и сформировались в Яндексе. На самом деле мы ничуть не реже применяем и развиваем сторонние решения.

Сегодня я расскажу сообществу Хабра об одном из таких примеров. Вы узнаете, зачем мы научили нейросеть BERT находить опечатки в заголовках новостей, а не воспользовались готовой моделью, почему нельзя взять и запустить BERT на нескольких видеокартах и как мы использовали ключевую особенность этой технологии — механизм attention.



Читать дальше →

Ускорение разведочного анализа данных с использованием библиотеки pandas-profiling

Reading time6 min
Views27K
Первым делом, приступая к работе с новым набором данных, нужно понять его. Для того чтобы это сделать, нужно, например, выяснить диапазоны значений, принимаемых переменными, их типы, а также узнать о количестве пропущенных значений.

Библиотека pandas предоставляет нам множество полезных инструментов для выполнения разведочного анализа данных (Exploratory Data Analysis, EDA). Но, прежде чем воспользоваться ими, обычно нужно начать с функций более общего плана, таких как df.describe(). Правда, надо отметить, что возможности, предоставляемые подобными функциями, ограничены, а начальные этапы работы с любыми наборами данных при выполнении EDA очень часто сильно похожи друг на друга.



Автор материала, который мы сегодня публикуем, говорит, что он — не любитель выполнения повторяющихся действий. В результате он, в поисках средств, позволяющих быстро и эффективно выполнять разведочный анализ данных, нашёл библиотеку pandas-profiling. Результаты её работы выражаются не в виде неких отдельных показателей, а в форме довольно подробного HTML-отчёта, содержащего большую часть тех сведений об анализируемых данных, которые может понадобиться знать перед тем, как приступать к более плотной работе с ними.
Читать дальше →

Три метода Pandas, о которых вы, возможно, не знали

Reading time3 min
Views24K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что когда он узнал о тех методах библиотеки Pandas, о которых хочет тут рассказать, он почувствовал себя совершенно некомпетентным программистом. Почему? Дело в том, что ему, когда он до этого писал код, лень было заглянуть в поисковик и узнать, существуют ли некие эффективные способы решения некоторых задач. Как результат, он даже и не знал о существовании целого ряда весьма полезных методов Pandas. Он, не пользуясь этими методами, всё же смог реализовать необходимую логику, но это потребовало от него нескольких часов работы, это заставило его понервничать. И, конечно, он по ходу дела написал кучу ненужного кода. Эту статью он подготовил для тех, кто не хотел бы оказаться в его ситуации.


Читать дальше →

Самый полезный модуль стандартной библиотеки Python, о котором все постоянно забывают

Reading time2 min
Views50K


В Python много отличных доступных «из коробки» модулей. Один из самых полезных — collections. Он содержит «специализированные типы для создания контейнеров», являющихся альтернативами универсальным dict, list, set и tuple. Ниже мы рассмотрим три содержащихся в модуле класса, с которыми большинство питонистов сталкивались, но постоянно забывают применять на практике.

Читать дальше →

Хроники книжного голода

Reading time11 min
Views22K
image

Как-то раз, уже на излете СССР я прочитал распечатку отдельных мест знаменитой кулинарной книги 1861 года г-жи Е. И. Молоховец: «Подарокъ молодым хозяйкамъ, или Средство къ уменьшенiю расходовъ в домашнемъ хозяйстве». Рецепты в стиле: «Самую красивую копченую голову старого вепря очистить, сварить, как копченый окорок...» или «Если к вам пришли гости, а у вас ничего нет, пошлите человека в погреб, пусть принесет фунт масла, два фунта ветчины, дюжину яиц, фунт икры, красной или черной и приготовьте легкий ужин по следующему рецепту…» читались уморительно смешно. Людям, не заставшим СССР, наверное, уже не понять над чем я тогда смеялся.

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

Но цель этой статьи вовсе не обличение пороков СССР. Я хочу рассказать о личном опыте маленького мальчика, жившего в стране с непредсказуемой историей и неясным будущим. Мальчика, который больше всего на свете любил читать книжки.
Читать дальше →

Обзор технологий синтеза речи

Reading time7 min
Views20K

Всем привет! Меня зовут Влад и я работаю data scientist-ом в команде речевых технологий Тинькофф, которые используются в нашем голосовом помощнике Олеге.


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


image

Читать дальше →

Терминология Google Аналитики и Яндекс.Метрики: как не запутаться во всех этих данных

Reading time10 min
Views26K
Терминология Google Аналитики и Яндекс.Метрики: как не запутаться во всех этих данных

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


Мы собрали термины Google Аналитики и Яндекс.Метрики, с которыми чаще всего возникают проблемы. Рассказываем, что они означают и где смотреть значения метрик.


Если вы думаете, что знаете об этих терминах всё, — проверьте. Без сюрпризов не обойдется.

Читать дальше

Укрощаем слона или что такое HUE

Reading time6 min
Views40K
Пост будет о том, как сделать работу на Хадупе немного комфортнее.



В данной статье я хочу рассмотреть один из компонентов экосистемы Hadoop – HUE. Произносим правильно «Хьюи» или «Эйч Ю И», но не другими, созвучными с широко известным русским словом, вариантами.
Читать дальше →

Связь между монетизацией игр и поведением геймеров

Reading time3 min
Views19K
Недавно я детально изучил отчёт GameAnalytics, содержащий некоторую статистику различного поведения геймеров. Анализируя, можно понять кое-что существенное в этих играх.

Помимо большой группы неплатящих геймеров, игроки в этом отчёте подразделяются на 3 типа: «пескари» (игроки «по случаю») (minnows (lowcore)), «дельфины» (регулярные игроки) (dolphins (midcore)) и «киты» (геймеры-фанаты) (whales (hardcore)).

Неплатящие игроки стремятся попробовать, как правило, больше различных игр, чем «дельфины» и «киты». «Дельфины» и «киты» являются более сосредоточенными и используют небольшое количество игр или даже всего лишь одну игру. Определение группы игроков дано в отчёте GameAnalytics.


Удержание различных игроков (источник: GameAnalytics, 2016)
Читать дальше →

AI, Machine Learning, Big Data, Speech Recognition и другие слова, которые НЕ помогут тебе выучить английский язык

Reading time6 min
Views12K
Глупо отрицать, что наличие подобных слов в описании проекта положительно влияет на получение инвестиций. Основатели одной известной на ру рынке компании даже признались в том, что им пришлось немножко соврать и упомянуть эту волшебную формулу, чтобы получить деньги от отечественного фонда.

Машинное обучение,…, Биг Дата — классные слова, которые безжалостно используются маркетологами в своих агрессивных «питчах», но оказывают ничтожно малое влияние на финальный результат.

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

Getting Things Done: Простая и безотказная система по изучению английского языка


image
Читать дальше →

Анатомия рекомендательных систем. Часть вторая

Reading time12 min
Views37K
Неделю назад я делал здесь обзор существующих алгоритмов рекомендаций. В этой статье я продолжу данный обзор: расскажу об item-based варианте коллаборативной фильтрации, о методах, основанных на матричных разложениях, проблемах тестирования, а также о менее «раскрученных» (но не менее интересных) алгоритмах.

Читать дальше →

6 способов слияния списка списков

Reading time4 min
Views126K
Зашел тут у нас в офисе разговор как наиболее «красиво» и быстро склеить список списков в Питоне. Действительно как?

Даже такую казалось бы тривиальную задачу можно решить несколькими способами, существенно отличающимися по скорости и выразительности.

ВАРИАНТ1
Все знают, что элементы списка можно перебирать в цикле и, то что можно добавлять элементы в конец. Это приводит нас к первому варианту решения:
def listmerge1(lstlst):
    all=[]
    for lst in lstlst:
        for el in lst:
            all.append(el)
    return all

Мало того, что функция растянулось аж на 6 строк, так вдобавок она еще и не эффективная.
Попробуем её улучшить в обоих смыслах: скорости и красоты («pythonic way»).
Читать дальше →

Деловая переписка на английском языке: фразы и советы

Reading time18 min
Views633K
Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

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

Разбор: как устроена инфраструктура российского рынка ценных бумаг

Reading time4 min
Views10K


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

C, C++ и DotNet decompile — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 1

Reading time3 min
Views26K
image

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

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →

Information

Rating
4,387-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity