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

Основы Linux от основателя Gentoo. Часть 2 (4/5): Обработка текста и перенаправления

Настройка Linux *
Перевод
В этом отрывке вы узнаете про множество интересных и полезных команд по работе с текстовыми данными в Linux. Также даны основы работы с потоками ввода-вывода в bash.



Навигация по основам Linux от основателя Gentoo:

Часть I
  1. BASH: основы навигации (вступление)
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки (итоги и ссылки)

Часть II
  1. Регулярные выражения (вступление)
  2. Назначения папок, поиск файлов
  3. Управление процессами
  4. Обработка текста и перенаправления
  5. Модули ядра (итоги и ссылки)


Читать дальше →
Всего голосов 60: ↑55 и ↓5 +50
Просмотры 32K
Комментарии 32

Алгоритмы сегментации текста

Data Mining *
Из песочницы
Здравствуйте.

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

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

Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Просмотры 13K
Комментарии 15

Petrovich просклоняет русские имена

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

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

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


Склоняй меня полностью!
Всего голосов 161: ↑155 и ↓6 +149
Просмотры 62K
Комментарии 141

Конвейер обработки текста в Sphinx

Поисковые технологии *Sphinx *
Перевод
Обработка текста в поисковом движке выглядит достаточно простой снаружи, однако на самом деле это сложный процесс. При индексации текст документов должен быть обработан стриппером HTML, токенайзером, фильтром стоп-слов, фильтром словоформ и морфологическим процессором. А ещё при этом нужно помнить про исключения (exceptions), слитные (blended) символы, N-граммы и границы предложений. При поиске всё становится ещё сложнее, поскольку помимо всего вышеупомянутого нужно вдобавок обрабатывать синтаксис запроса, который добавляет всевозможные спец. символы (операторы и маски). Сейчас мы расскажем, как всё это работает в Sphinx.

Картина в целом


Упрощённо конвейер обработки текста (в движке версий 2.х) выглядит примерно так:



Выглядит достаточно просто, однако дьявол кроется в деталях. Есть несколько очень разных фильтров (которые применяются в особом порядке); токенайзер занимается ещё чем-то помимо разбиения текста на слова; и наконец под «и т.д.» в блоке морфологии на самом деле находится ещё по меньшей мере три разных варианта.

Поэтому более точной будет следующая картина:



А теперь перейдём к деталям
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 14K
Комментарии 8

Обзор новых возможностей Mathematica 11 и языка Wolfram Language

Блог компании Wolfram Research Программирование *Математика *Визуализация данных *Машинное обучение *
Перевод
Tutorial

Перевод поста Стивен Вольфрам (Stephen Wolfram) "Today We Launch Version 11!".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации




Содержание


Первое, что вы отметите...
3D печать
Машинное обучение и нейронные сети
Аудио
Встроенные данные о чем угодно: от скелетной структуры и продуктов питания до сведений о нашей Вселенной
Вычисления с реальными объектами
Передовые возможности географических вычислений и визуализаций
Не забудем про сложные задачи математического анализа и теоретической физики...
Образование
Совмещение всех функций в одно целое
Визуализация
От строк к тексту
Современный подход к программированию систем
Работа в интернете
Облачные данные
Подключайтесь к любым внешним сервисам: Facebook, Twitter, Instagram, ArXiv, Reddit и многим другим...
WolframScript
Новое в ядре языка Wolfram Language
И еще много нового...



Я рад объявить о выходе новой версии системы Mathematica и 11-й версии языка Wolfram Language, доступной как для Desktop-компьютеров, так и в облачном виде. В течение последних двух лет сотни человек упорно трудились над ее созданием, а несколько тысяч часов и я лично. Я очень взволнован; это важный шаг вперед, имеющий важное значение для многих крупнейших технологических областей.
Узнайте больше о Mathematica 11...
Всего голосов 52: ↑50 и ↓2 +48
Просмотры 24K
Комментарии 23

Кластеризация текстовых документов по семантическим признакам (часть первая: описание алгоритма)

Семантика *Data Mining *Алгоритмы *Машинное обучение *
Существует огромное количество алгоритмов кластеризации. Основная идея большинства из них – объединить одинаковые последовательности в один класс или кластер на основе сходства. Как правило, выбор алгоритма определяется поставленной задачей. Что касается текстовых данных, то здесь сравниваемыми составляющими служат последовательности слов и их атрибутов (например, вес слова в тексте, тип именованной сущности, тональность и пр.). Таким образом, тексты изначально преобразуются в вектора, с которыми производят разного типа манипуляции. При этом, как правило, возникает ряд проблем, связанных с: выбором первичных кластеров, зависимостью качества кластеризации от длины текста, определением общего количества кластеров и т.п. Но наиболее сложной проблемой является отсутствие связи между близкими по смыслу текстами, в которых используется разная лексика. В таких случаях объединение должно происходить не только на основе сходства, а еще и на основе семантической смежности или ассоциативности.


Читать дальше →
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 25K
Комментарии 9

Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)

Семантика *Data Mining *Машинное обучение *

Модели Word2Vec


Как было упомянуто в первой части публикации, модели получаются из classes — представления результата текста word2vec виде ассоциативно-семантических классов путем сглаживания распределений.

Идея сглаживания в следующем.
Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Просмотры 10K
Комментарии 3

Открываем историю Большого театра. Часть первая

Блог компании ABBYY Обработка изображений *
image

Вы когда-нибудь собирали театральные программки? Если да, то, наверное, в вашей коллекции их десятки, а может, наберется и сотня. А теперь представьте, что в вашем распоряжении 120 тысяч программок, 48 тысяч афиш и 100 тысяч исторических фотографий. Столько бумажных документов сохранил с середины XIX века Большой театр. Самые древние и ценные из них уже пожелтели и стали ветхими, а на поиск информации в театральном архиве уходили часы. Чтобы сохранить эти сокровища, сотрудники театрального музея начали вручную переводить документы в электронный вид, но оказалось, что на это могут уйти годы.

Поэтому в сентябре 2016 года вместе с Большим театром и при активной поддержке Феклы Толстой, праправнучки Льва Николаевича Толстого, мы запустили краудсорсинговый проект по оцифровке истории главного театра страны. В этом посте мы расскажем о подробностях первого этапа проекта и о его технических деталях: как мы оцифровывали уникальные документы с помощью ABBYY FineReader и как волонтеры помогали проверять результаты распознавания.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 4K
Комментарии 8

Теория большой свалки: ищем научные документы на просторах интернета

Блог компании «Антиплагиат» Поисковые технологии *Семантика *Математика *Машинное обучение *
Система «Антиплагиат» – это специализированный поисковик. Как и положено поисковику, с собственным движком и поисковыми индексами. Самый большой наш индекс по количеству источников – конечно же, у русскоязычного интернета. Довольно давно мы решили, что будем помещать в этот индекс все, что является именно текстом (а не картинкой, музыкой или видео), написано на русском языке, имеет размер больше 1 кб и не является «почти-дубликатом» чего-то, что уже есть в индексе.

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

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

И раз уж мы (yury_chekhovich и Andrey_Khazov) занялись такой рефлексией, то почему бы нам заодно не ответить еще на несколько вопросов. Сколько проиндексировано научных документов, а сколько ненаучных? Какую долю среди научных статей занимают дипломы, статьи, авторефераты? Каково распределение документов по тематикам?



Так как речь идет о сотнях миллионов документов, то необходимо использовать средства автоматического анализа данных, в частности, технологии машинного обучения. Конечно, в большинстве случаев качество экспертной оценки превосходит машинные методы, но привлекать человеческие ресурсы для решения столь обширной задачи оказалось бы слишком дорогим удовольствием.
Читать дальше →
Всего голосов 33: ↑30 и ↓3 +27
Просмотры 13K
Комментарии 10

«Туда и обратно» для нейронных сетей, или обзор применений автокодировщиков в анализе текстов

Блог компании «Антиплагиат» Семантика *Алгоритмы *Математика *Машинное обучение *
Мы уже писали в самой первой статье нашего корпоративного блога о том, как работает алгоритм обнаружения переводных заимствований. Лишь пара абзацев в той статье посвящена теме сравнения текстов, хотя идея достойна гораздо более развернутого описания. Однако, как известно, обо всем сразу рассказать нельзя, хоть и очень хочется. В попытках воздать должное этой теме и архитектуре сети под названием «автокодировщик», к которой мы питаем очень теплые чувства, мы с Oleg_Bakhteev и написали этот обзор.


Источник: Deep Learning for NLP (without Magic)

Как мы упоминали в той статье, сравнение текстов у нас было “смысловое” – мы сопоставляли не сами текстовые фрагменты, а векторы, им соответствующие. Такие векторы получались в результате обучения нейронной сети, которая отображала текстовый фрагмент произвольной длины в вектор большой, но фиксированной размерности. Как получить такое отображение и как научить сеть выдавать нужные результаты – отдельный вопрос, о которой и пойдет речь ниже.
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 15K
Комментарии 4

«Трое в лодке, нищета и собаки», или как Антиплагиат ищет парафраз

Блог компании «Антиплагиат» Семантика *Алгоритмы *Математика *Машинное обучение *
Наступил новый учебный год. Студенты получили расписание занятий и стали задумываться о пьянках-гулянках-девушках-гитарах будущей сессии. Написание курсовых, дипломов, статей и диссертаций не за горами. А значит, грядут и анализ текстов на наличие заимствований, и отчеты о проверке, и прочая головная студенческая и администраторская боль. И у сотен тысяч людей (без шуток – мы посчитали!) уже возникает закономерный вопрос – как же обмануть «Антиплагиат». В нашем случае практически все способы обмана так или иначе связаны с искажениями текста. Мы уже научили «Антиплагиат» обнаруживать текст, «искаженный » с помощью перевода с английского на русский (мы писали об этом в первой статье нашего корпоративного блога). Сегодня речь пойдет о том, как обнаруживать самый эффективный, хотя и трудоемкий способ искажения текста – парафраз.



Читать дальше →
Всего голосов 49: ↑39 и ↓10 +29
Просмотры 30K
Комментарии 172

BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab

Машинное обучение *Искусственный интеллект
Из песочницы
Tutorial

image


BERT — это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка: отвечать на вопросы, заданные в произвольной форме, создавать чат-ботов, автоматические переводчики, анализировать текст и так далее.


Google выложила предобученные модели BERT, но как это обычно и бывает в Machine Learning, они страдают от недостатка документации. Поэтому в этом туториале мы научимся запускать нейронную сеть BERT на локальном компьютере, а также на бесплатном серверном GPU на Google Colab.

Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 89K
Комментарии 5

Гадание на нейросетях: отметился ли в комментариях к посту сам автор

Python *Машинное обучение *
Из песочницы


Поделюсь рассказом о небольшом проекте: как найти в комментариях ответы автора, заведомо не зная кто автор поста.

Свой проект я начинал с минимальными знаниями по машинному обучению и думаю для специалистов тут не будет ничего нового. Этот материал в некотором смысле компиляция разных статей, в нем расскажу, как подходил к задаче, в коде можно найти полезные мелочи и приемы с обработкой естественного языка.
Читать дальше →
Всего голосов 34: ↑34 и ↓0 +34
Просмотры 6.6K
Комментарии 2

Так сложно найти, легко пропустить и невозможно оформить

Блог компании «Антиплагиат» Семантика *Алгоритмы *Математика *Машинное обучение *

Наши правила жизни: начинать название статей с буквы «Т» и искать текстовые заимствования быстро, точно и, самое главное, красиво. Уже больше года мы успешно находим переводные заимствования и рерайт с помощью нейросетей. Но иногда нужно намеренно «стрелять себе в ногу» и, прихрамывая, идти другой дорожкой, т.е. не проверять ни на парафраз, ни на плагиат, а просто оставить кусочек текста в покое. Парадоксально, больно, но надо. Скажем сразу: трогать не будем библиографию. Как отыскать её в тексте? Почему это легко сказать, но сделать гораздо сложнее, чем кажется? Всё это в продолжении корпоративного блога компании Антиплагиат, единственного блога, где не любят зачёркнутый текст.



Источник изображения:Fandom.com

Читать полностью
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 5.7K
Комментарии 0

Терпение и труд весь текст извлекут

Блог компании «Антиплагиат» .NET *Алгоритмы *PDF API *

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


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



Источник изображения: Википедия

Читать полностью
Всего голосов 27: ↑23 и ↓4 +19
Просмотры 7.2K
Комментарии 9

XLNet против BERT

Блог компании Open Data Science Python *Машинное обучение *Искусственный интеллект Natural Language Processing *


В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка.

В публикации они сразу же обозначили сравнение своей модели с гугловым BERT-ом. Они пишут, что XLNet превосходит BERT в большом количестве задач. И показывает в 18 задачах state-of-the-art результаты.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Просмотры 12K
Комментарии 10

Таинственный противник: нечеткие заимствования

Блог компании «Антиплагиат» Поисковые технологии *Алгоритмы *Математика *Машинное обучение *

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


Сегодня мы расскажем о нашем новом детективе специального назначения по имени Нечеткий Поиск, а также о его первом столкновении с нечеткими заимствованиями.


С вами детективное агентство Антиплагиат, приготовьтесь к Делу о Таинственном Противнике



Начать расследование
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 5K
Комментарии 50

Бредогенератор: создаем тексты на любом языке с помощью нейронной сети

Ненормальное программирование *Python *Программирование *Машинное обучение *Научно-популярное
Привет, Хабр.

Эта статья будет в немного «пятничном» формате, сегодня мы займемся NLP. Не тем NLP, про который продают книжки в подземных переходах, а тем, который Natural Language Processing — обработка естественных языков. В качестве примера такой обработки будет использоваться генерация текста с помощью нейронной сети. Создавать тексты мы сможем на любом языке, от русского или английского, до С++. Результаты получаются весьма интересными, по картинке уже наверно можно догадаться.



Для тех, кому интересно что получается, результаты и исходники под катом.
Читать дальше →
Всего голосов 41: ↑35 и ↓6 +29
Просмотры 51K
Комментарии 67

Физика текста. Часть 1. Символы

Data Mining *Алгоритмы *Data Engineering *
Символ — текстовый атом. Ни больше, ни меньше. В тексте каждый символ встречается определенное количество раз. Разобрав текст на символы, можно заметить некоторые особенности и закономерности. Давайте об этом и поговорим.

[Если без слов: исходники к статье]
Читать дальше →
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 3.9K
Комментарии 7

Deepfakes и deep media: Новое поле битвы за безопасность

Блог компании Voximplant Информационная безопасность *Машинное обучение *Научно-популярное Искусственный интеллект
Перевод


Эта статья является частью специального выпуска VB. Читайте полную серию здесь: AI and Security.

Количество дипфейков – медиа, которые берут существующее фото, аудио или видео и заменяют личность человека на нем на чужую с помощью ИИ – очень быстро растет. Это вызывает беспокойство не только потому, что такие подделки могут быть использованы, чтобы влиять на мнения людей во время выборов или впутывать кого-то в преступления, но и потому, что ими уже злоупотребляли для создания фейкового порно и обмана директора британской энергетической компании.
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 6.1K
Комментарии 9
1