Наступил новый учебный год. Студенты получили расписание занятий и стали задумываться о пьянках-гулянках-девушках-гитарах будущей сессии. Написание курсовых, дипломов, статей и диссертаций не за горами. А значит, грядут и анализ текстов на наличие заимствований, и отчеты о проверке, и прочая головная студенческая и администраторская боль. И у сотен тысяч людей (без шуток – мы посчитали!) уже возникает закономерный вопрос – как же обмануть «Антиплагиат». В нашем случае практически все способы обмана так или иначе связаны с искажениями текста. Мы уже научили «Антиплагиат» обнаруживать текст, «искаженный » с помощью перевода с английского на русский ( мы уже писали об этом в первой статье нашего корпоративного блога). Сегодня речь пойдет о том, как обнаруживать самый эффективный, хотя и трудоемкий способ искажения текста – парафраз.
Рубрика «обработка текста» - 2
«Трое в лодке, нищета и собаки», или как Антиплагиат ищет парафраз
2018-09-11 в 12:30, admin, рубрики: Алгоритмы, алгоритмы поиска, анализ данных, антиплагиат, Блог компании «Антиплагиат», математика, машинное обучение, обработка текста, Семантика«Туда и обратно» для нейронных сетей, или обзор применений автокодировщиков в анализе текстов
2018-07-25 в 10:28, admin, рубрики: Алгоритмы, анализ данных, антиплагиат, Блог компании «Антиплагиат», математика, машинное обучение, обработка текста, Семантика, тематическое моделированиеМы уже писали в самой первой статье нашего корпоративного блога о том, как работает алгоритм обнаружения переводных заимствований. Лишь пара абзацев в той статье посвящена теме сравнения текстов, хотя идея достойна гораздо более развернутого описания. Однако, как известно, обо всем сразу рассказать нельзя, хоть и очень хочется. В попытках воздать должное этой теме и архитектуре сети под названием «автокодировщик», к которой мы питаем очень теплые чувства, мы с Oleg_Bakhteev и написали этот обзор.
Источник: Deep Learning for NLP (without Magic)
Как мы упоминали в той статье, сравнение текстов у нас было “смысловое” – мы сопоставляли не сами текстовые фрагменты, а векторы, им соответствующие. Такие векторы получались в результате обучения нейронной сети, которая отображала текстовый фрагмент произвольной длины в вектор большой, но фиксированной размерности. Как получить такое отображение и как научить сеть выдавать нужные результаты – отдельный вопрос, о которой и пойдет речь ниже.
Читать полностью »
Теория большой свалки: ищем научные документы на просторах интернета
2018-06-06 в 10:34, admin, рубрики: анализ данных, антиплагиат, Блог компании «Антиплагиат», математика, машинное обучение, обработка текста, поисковые технологии, Семантика, тематическое моделированиеСистема «Антиплагиат» – это специализированный поисковик. Как и положено поисковику, с собственным движком и поисковыми индексами. Самый большой наш индекс по количеству источников – конечно же, у русскоязычного интернета. Довольно давно мы решили, что будем помещать в этот индекс все, что является именно текстом (а не картинкой, музыкой или видео), написано на русском языке, имеет размер больше 1 кб и не является «почти-дубликатом» чего-то, что уже есть в индексе.
Такой подход хорош тем, что он не требует сложных предварительных обработок и минимизирует риски «выплеснуть с водой ребенка» – пропустить документ, из которого потенциально может быть заимствован текст. С другой стороны, в результате мы мало знаем, какие именно документы находятся в итоге в индексе.
По мере роста интернет-индекса – а сейчас, на секундочку, это уже более 300 млн документов только лишь на русском языке – возникает вполне естественный вопрос: а много ли в этой свалке действительно полезных документов.
И раз уж мы (yury_chekhovich и Andrey_Khazov) занялись такой рефлексией, то почему бы нам заодно не ответить еще на несколько вопросов. Сколько проиндексировано научных документов, а сколько ненаучных? Какую долю среди научных статей занимают дипломы, статьи, авторефераты? Каково распределение документов по тематикам?
Так как речь идет о сотнях миллионов документов, то необходимо использовать средства автоматического анализа данных, в частности, технологии машинного обучения. Конечно, в большинстве случаев качество экспертной оценки превосходит машинные методы, но привлекать человеческие ресурсы для решения столь обширной задачи оказалось бы слишком дорогим удовольствием.
Читать полностью »
Открываем историю Большого театра. Часть первая
2018-04-02 в 9:44, admin, рубрики: ABBYY, abbyy compreno, Finereader, jpeg, PDF, pdf с текстовым слоем, TIFF, Блог компании ABBYY, Большой театр, волонтеры, изображения, обработка изображений, обработка текста, сканеры, текстВы когда-нибудь собирали театральные программки? Если да, то, наверное, в вашей коллекции их десятки, а может, наберется и сотня. А теперь представьте, что в вашем распоряжении 120 тысяч программок, 48 тысяч афиш и 100 тысяч исторических фотографий. Столько бумажных документов сохранил с середины XIX века Большой театр. Самые древние и ценные из них уже пожелтели и стали ветхими, а на поиск информации в театральном архиве уходили часы. Чтобы сохранить эти сокровища, сотрудники театрального музея начали вручную переводить документы в электронный вид, но оказалось, что на это могут уйти годы.
Поэтому в сентябре 2016 года вместе с Большим театром и при активной поддержке Феклы Толстой, праправнучки Льва Николаевича Толстого, мы запустили краудсорсинговый проект по оцифровке истории главного театра страны. В этом посте мы расскажем о подробностях первого этапа проекта и о его технических деталях: как мы оцифровывали уникальные документы с помощью ABBYY FineReader и как волонтеры помогали проверять результаты распознавания. Читать полностью »
Кластеризация текстовых документов по семантическим признакам (часть вторая: описание моделей)
2017-04-02 в 6:30, admin, рубрики: data mining, word2vec, кластеризация, машинное обучение, обработка текста, СемантикаМодели Word2Vec
Как было упомянуто в первой части публикации, модели получаются из classes — представления результата текста word2vec виде ассоциативно-семантических классов путем сглаживания распределений.
Идея сглаживания в следующем.
Читать полностью »
Кластеризация текстовых документов по семантическим признакам (часть первая: описание алгоритма)
2017-03-22 в 20:32, admin, рубрики: data mining, word2vec, Алгоритмы, кластеризация, машинное обучение, обработка текста, Семантика, метки: word2vecСуществует огромное количество алгоритмов кластеризации. Основная идея большинства из них – объединить одинаковые последовательности в один класс или кластер на основе сходства. Как правило, выбор алгоритма определяется поставленной задачей. Что касается текстовых данных, то здесь сравниваемыми составляющими служат последовательности слов и их атрибутов (например, вес слова в тексте, тип именованной сущности, тональность и пр.). Таким образом, тексты изначально преобразуются в вектора, с которыми производят разного типа манипуляции. При этом, как правило, возникает ряд проблем, связанных с: выбором первичных кластеров, зависимостью качества кластеризации от длины текста, определением общего количества кластеров и т.п. Но наиболее сложной проблемой является отсутствие связи между близкими по смыслу текстами, в которых используется разная лексика. В таких случаях объединение должно происходить не только на основе сходства, а еще и на основе семантической смежности или ассоциативности.
Читать полностью »
Обзор новых возможностей Mathematica 11 и языка Wolfram Language
2016-08-21 в 8:42, admin, рубрики: 3D-печать, api, web-разработка, Wolfram Alpha, wolfram cloud, wolfram data drop, wolfram development platform, wolfram language, wolfram mathematica, wolfram research, Блог компании Wolfram Research, визуализация, визуализация данных, временные ряды, география, дифференциальные уравнения, интегральные уравнения, математика, машинное обучение, наука, обработка аудио, обработка текста, образование, открытые данные, Программирование, программирование систем, уравнения в частных производных
Перевод поста Стивен Вольфрам (Stephen Wolfram) "Today We Launch Version 11!".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации
Содержание
— Первое, что вы отметите...
— 3D печать
— Машинное обучение и нейронные сети
— Аудио
— Встроенные данные о чем угодно: от скелетной структуры и продуктов питания до сведений о нашей Вселенной
— Вычисления с реальными объектами
— Передовые возможности географических вычислений и визуализаций
— Не забудем про сложные задачи математического анализа и теоретической физики...
— Образование
— Совмещение всех функций в одно целое
— Визуализация
— От строк к тексту
— Современный подход к программированию систем
— Работа в интернете
— Облачные данные
— Подключайтесь к любым внешним сервисам: Facebook, Twitter, Instagram, ArXiv, Reddit и многим другим...
— WolframScript
— Новое в ядре языка Wolfram Language
— И еще много нового...
Я рад объявить о выходе новой версии системы Mathematica и 11-й версии языка Wolfram Language, доступной как для Desktop-компьютеров, так и в облачном виде. В течение последних двух лет сотни человек упорно трудились над ее созданием, а несколько тысяч часов и я лично. Я очень взволнован; это важный шаг вперед, имеющий важное значение для многих крупнейших технологических областей.
Прошло больше 28 лет с тех пор, как вышла 1-я версия, — и почти 30 лет с тех пор, как я занялся ее разработкой. И все это время я продолжал воплощать дерзкую мечту — строить все больший и больший стек технологий. Большая часть программного обеспечения спустя несколько лет и несколько версий, за исключением мелких доработок, практически не меняется. С системой Mathematica и Wolfram Language сложилась совсем другая история: в течение трех десятилетий мы c каждой новой версией продвигались вперед, завоевывая постепенно огромное количество новых областей.
Читать полностью »
Конвейер обработки текста в Sphinx
2014-12-24 в 10:25, admin, рубрики: sphinx, индексация, лемматизация, морфология, обработка текста, Поисковые машины и технологииОбработка текста в поисковом движке выглядит достаточно простой снаружи, однако на самом деле это сложный процесс. При индексации текст документов должен быть обработан стриппером HTML, токенайзером, фильтром стопслов, фильтром словоформ и морфологическим процессором. А ещё при этом нужно помнить про исключения (exceptions), слитные (blended) символы, N-граммы и границы предложений. При поиске всё становится ещё сложнее, поскольку помимо всего вышеупомянутого нужно вдобавок обрабатывать синтаксис запроса, который добавляет всевозможные спец. символы (операторы и маски). Сейчас мы расскажем, как всё это работает в Sphinx.
Картина в целом
Упрощённо конвейер обработки текста (в движке версий 2.х) выглядит примерно так:
Выглядит достаточно просто, однако дьявол кроется в деталях. Есть несколько очень разных фильтров (которые применяются в особом порядке); токенайзер занимается ещё чем-то помимо разбиения текста на слова; и наконец под «и т.д.» в блоке морфологии на самом деле находится ещё по меньшей мере три разных варианта.
Поэтому более точной будет следующая картина:
Petrovich просклоняет русские имена
2013-10-06 в 20:25, admin, рубрики: nlp, ruby, ruby on rails, обработка текста, Программирование, русский язык, метки: nlp, ruby, ruby on rails, обработка текста, русский языкВам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.
Это не всегда удобно, не всегда красиво, не всегда уместно. Русский язык одарён богатой морфологией, которая несколько затрудняет его автоматическую обработку. Всем известно, что антропонимы, как полагается именам существительным, подчиняются всем правилам словообразования.
Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.
Алгоритмы сегментации текста
2012-04-02 в 7:36, admin, рубрики: clojure, data mining, machine learning, nlp, обработка текста, метки: clojure, machine learning, nlp, обработка текстаЗдравствуйте.
В контексте анализа данных из твиттера возникла задача обработки хештегов. Нужно было взять хештег и разбить его на отдельные слова (#habratopic => habra topic). Задача казалась примитивной, но, получается, я ее недооценил. Пришлось перебрать несколько алгоритмов пока не было найдено то, что надо.
Эту статью можно считать некой хронологией решения задачи с анализом преимуществ и недостатков каждого из использованных алгоритмов. Поэтому, если вам интересна данная тема, прошу под кат.