Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

ИИ датских разработчиков вычисляет школьников, заказывающих домашние работы в Сети

Машинное обучениеИскусственный интеллект


Исследовательская группа Копенгагенского университета сообщила о результатах тестирования новой нейросети Ghostwriter. Разработанный учеными алгоритм искусственного интеллекта анализирует тексты письменных работ, которые сдают учителям школьники, чтобы установить авторство и выявить тех, кто прибегает к услугам текстовых бирж.
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры4.7K
Комментарии 21

В Москве пройдет хакатон по анализу текстов. Регистрация до 14 декабря

ПрограммированиеХакатоныИскусственный интеллектNatural Language Processing
Приглашаем всех 15 декабря принять участие в очном хакатоне по анализу данных «Новый Год hack 2019» в Москве в Научном парке МГУ.

Хакатон проводят компании Лаборатория Наносемантика и Контакт-центр «Гран» вместе с МФТИ и МГУ.

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

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

Текстовый анализатор: распознавание авторства (начало)

Разработка веб-сайтов

Добрый день, уважаемые хабражители. Я давно хотел опубликовать под GPL-лицензией свой «Текстовый анализатор» ([1]). Наконец, дошли руки. «Текстовый анализатор» — это исследовательский проект, который я разрабатывал три года на 3, 4 и 5-м курсах университета. Главная цель была: создать алгоритм распознавания авторства текста, используя нейросети Хэмминга или Хопфилда. Идея была такова: эти нейросистемы распознают образы, а к задаче распознавания образов можно свести задачу выявления авторства. Для этого необходимо по каждому тексту собрать статистику, и чем больше разных критериев, тем лучше: частотный анализ букв, анализ длин слов/предложений/абзацев, частотный анализ двухбуквенных сочетаний, и так далее. Нейросистема могла бы выявить, характеристики каких текстов наиболее сходны. Работы было — вал. Много кода, хитрые алгоритмы, ООП, паттерны проектирования. Помимо основной задачи я так же реализовал ещё одно ноу-хау: «Карту благозвучия». По задумке, такая карта должна показывать все плохо и хорошо звучащие места, выделяя их цветом. Критерии оценки благозвучия должны задаваться каким-то универсальным образом, например, правилами. Для этой цели я даже разработал специальный графический язык, RRL (Resounding Rules Language). Работы было — вал. Много кода, хитрые алгоритмы, ООП, паттерны проектирования. В итоге получилась большая и сложная программа, правда, с неприглядным интерфейсом. С этим проектом я даже выиграл в конкурсе дипломных работ, получил 1 и 3 места на университетских конференциях, а так же 2 место на международной научно-практической.

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

(У статьи есть продолжение и окончание.)

Структура статьи:
  1. Анализ авторства
  2. Знакомство с кодом
  3. Внутренности TAuthoringAnalyser и хранение текстов
  4. Разбиение на уровни конечным автоматом на стратегиях
  5. Сбор частотных характеристик
  6. Нейросеть Хэмминга и анализ авторства

Дополнительные материалы:
  • Исходники проекта «Текстовый анализатор» (Borland C++ Builder 6.0)
  • Тестирование нейросистемы Хэмминга в Excel'е ([xls])
  • Таблица переходов для КА, разбивающего текст на уровни ([xls])
  • Расчет благозвучия отдельных букв ([xls])
  • Презентация дипломного проекта «Текстовый анализатор» ([ppt])
  • Презентация проекта «Карта благозвучия» ([ppt])
  • Все эти материалы в сжатом виде ([zip], [7z], [rar])

Читать дальше →
Всего голосов 54: ↑49 и ↓5 +44
Просмотры7.2K
Комментарии 5

Текстовый анализатор: распознавание авторства (продолжение)

Разработка веб-сайтов
Эта статья об алгоритме распознавания авторства, реализованном в проекте «Текстовый анализатор». В продолжении статьи мы рассмотрим конечный автомат для разбиения текста на уровни. (Начало и окончание).

Структура статьи:
  1. Анализ авторства
  2. Знакомство с кодом
  3. Внутренности TAuthoringAnalyser и хранение текстов
  4. Разбиение на уровни конечным автоматом на стратегиях
  5. Сбор частотных характеристик
  6. Нейросеть Хэмминга и анализ авторства

Дополнительные материалы:
  • Исходники проекта «Текстовый анализатор» (Borland C++ Builder 6.0)
  • Тестирование нейросистемы Хэмминга в Excel'е ([xls])
  • Таблица переходов для КА, разбивающего текст на уровни ([xls])
  • Расчет благозвучия отдельных букв ([xls])
  • Презентация дипломного проекта «Текстовый анализатор» ([ppt])
  • Презентация проекта «Карта благозвучия» ([ppt])
  • Все эти материалы в сжатом виде ([zip], [7z], [rar])


Читать дальше →
Всего голосов 45: ↑41 и ↓4 +37
Просмотры1.8K
Комментарии 2

Текстовый анализатор: распознавание авторства (окончание)

Разработка веб-сайтов
Эта статья об алгоритме распознавания авторства, реализованном в проекте «Текстовый анализатор». В окончании статьи мы рассмотрим, как собираются частотные характеристики, и в общих чертах познакомимся с нейросистемой Хэмминга. (Начало и продолжение).

Структура статьи:
  1. Анализ авторства
  2. Знакомство с кодом
  3. Внутренности TAuthoringAnalyser и хранение текстов
  4. Разбиение на уровни конечным автоматом на стратегиях
  5. Сбор частотных характеристик
  6. Нейросеть Хэмминга и анализ авторства

Дополнительные материалы:
  • Исходники проекта «Текстовый анализатор» (Borland C++ Builder 6.0)
  • Тестирование нейросистемы Хэмминга в Excel'е ([xls])
  • Таблица переходов для КА, разбивающего текст на уровни ([xls])
  • Расчет благозвучия отдельных букв ([xls])
  • Презентация дипломного проекта «Текстовый анализатор» ([ppt])
  • Презентация проекта «Карта благозвучия» ([ppt])
  • Все эти материалы в сжатом виде ([zip], [7z], [rar])


Читать дальше →
Всего голосов 44: ↑37 и ↓7 +30
Просмотры2.1K
Комментарии 18

Автоматический анализ текста без модераторов

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

Мне удалось добиться того, чтобы алгоритм находил повторяющиеся и близкие по содержанию тексты. Также он автоматически определяет близость текста к определенным тематикам и выделяет из общей массы те тексты, которые составляют некоторый мэйнстрим. То есть, читателю не придется просеивать всю информацию, чтобы понять главное. С увеличением объема анализируемых текстов автоматически будет отсеяно все некачественное, неинтересное, нецензурное, неактуальное, и т.п.
Читать дальше →
Всего голосов 65: ↑52 и ↓13 +39
Просмотры12.2K
Комментарии 107

Анализ текстов SMS пользователей ЗАО «Мегафон»

Data Mining
image

Мы проанализировали 862 уникальных текста SMS на частотность употребляемых слов, распределили по городам и сгруппировали по получателям. За основу были взяты тексты, находящиеся короткое время в открытом доступе на популярном поисковом сервисе.

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

Данный проект интересен нам исключительно в исследовательских и промо целях.

Некоторые результаты под катом.
Читать дальше →
Всего голосов 144: ↑90 и ↓54 +36
Просмотры3.1K
Комментарии 69

Программа проверки грамматики

Искусственный интеллект
Большинство систем редактирования текста имеют инструмент для автоматической проверки орфографических ошибок (когда в слове написаны неправильно одна или несколько букв; по-английски — speller). Их принцип действия: программа анализирует в тексте каждое слово и ищет такое же в Базе Данных всех слов и их всевозможных форм.

Такая проверка текста гарантирует, что слова в тексте будут написаны правильно (как в словаре), но не защищает от ошибок согласования и синтаксических ошибок в предложении. Например, предложение «Я читаешь интересными журналом» неправильно, но система редактирования текста не покажет правильный вариант: «Я читаю интересный журнал».
Избежать таких ошибок помогает программа проверки грамматических ошибок в предложении (по-английски — grammar checker).
Читать дальше →
Всего голосов 54: ↑53 и ↓1 +52
Просмотры58.3K
Комментарии 40

О понимании компьютерами текста

Искусственный интеллект
Одна девушка-переводчица, задумчиво глядя в потолок, спросила меня: «А смогут когда-нибудь компьютеры понимать текст так же, как человек?» Тогда я не смог ответить на этот вопрос, но сейчас, обладая некоторыми знаниями в области семиотики текста, я уверен, что так же как человек компьютеры не смогут понимать текст никогда.

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

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

Читать дальше →
Всего голосов 84: ↑66 и ↓18 +48
Просмотры2.9K
Комментарии 145

Выявление виртуалов в Википедии

Информационная безопасность
Википедия — свободная общедоступная мультиязычная универсальная интернет-энциклопедия, которая создаётся усилиями многих пользователей. На сегодня Википедия содержит 25 миллионов записей на 285 языках, почти полмиллиарда людей обращаются к ней каждый месяц. По полноте и глубине охвата материала Википедия сравнима со знаменитой Британской энциклопедией. Тысячи добровольных редакторов со всего мира постоянно пополняют её свежими статьями. Благодаря их бескорыстному труду создаётся и развивается это гигантское хранилище знаний.

Википедия стала самым популярным в мире источником общеобразовательных, исторических и научных знаний и входит в топ-10 самых посещаемых сайтов в Интернете. Она привлекает к себе не только тех, кто ищет знания, или хочет ими бескорыстно поделиться, но и маркетологов и PR-менеджеров, пытающихся использовать сайт в качестве рекламной площадки, размещать там заказные проплаченные статьи. Была создана компания Wiki-PR, специализирующаяся на написании и размещении в Википедии статей и правок рекламного характера. Цена размещения одной такой статьи варьировала от 500 до 1000 долларов. Отдельно выплачивался ежемесячный взнос порядка 50-70 долларов за то, чтобы статья или правка не была удалена, или же наоборот, чтобы был удалён и больше не появлялся на страницах Википедии нежелательный для заказчика материал. Этот момент заслуживает особого внимания.
Читать дальше →
Всего голосов 43: ↑38 и ↓5 +33
Просмотры16.1K
Комментарии 19

Автоматическая расстановка поисковых тегов

AnetikaПрограммированиеАлгоритмы
В этой статье мы попытаемся рассказать о проблеме множественной классификации на примере решения задачи автоматической расстановки поисковых тегов для текстовых документов в нашем проекте www.favoraim.com. Хорошо знакомые с предметом читатели скорее всего не найдут для себя ничего нового, однако в процессе решения этой задачи мы перечитали много различной литературы где о проблеме множественной классификации говорилось очень мало, либо не говорилось вообще.

Итак, начнем с постановки задачи классификации. Пусть X — множество описаний объектов, Y — множество номеров (или наименований) классов. Существует неизвестная целевая зависимость — отображение image, значения которой известны только на объектах конечной обучающей выборки image. Требуется построить алгоритм image, способный классифицировать произвольный объект x∈X. Однако более распространенным является вероятностная постановка задачи. Пусть X — множество описаний объектов, Y — множество номеров (или наименований) классов. На множестве пар «объект, класс» X×Y определена вероятностная мера P. Имеется конечная обучающая выборка независимых наблюдений image, полученных согласно вероятностной мере P.
Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры6.4K
Комментарии 4

Продолжение дилетанта

Криптография
Из песочницы
Recovery mode
Этот пост я написал как свое собственное продолжение поста «Манускрипт Войнича. Маньчжурский кандидат». Рекомендую, сначала прочесть именно его, а потом уже продолжить чтением моего поста.

Так как это мой первый пост, и я не мог дописать свои соображения в виде комментария, иду, так сказать, на риск. Прошу сильно не судить. Текст не имеет прямого отношения к компьютерной тематике.
Читать дальше →
Всего голосов 24: ↑10 и ↓14 -4
Просмотры4.4K
Комментарии 15

Лингвистическая загадка. Переводим с «мертвого» языка

Криптография
Ответ можно найти здесь — Лингвистическая загадка. Переводим с «мертвого» языка. [§2] Разбор полётов.

Навеяло постом «Продолжение дилетанта».

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

К слову, я никогда не понимал людей, пытающихся вот так — нахрапом брать подобные «лингвистические» задачи, и делать на основании (иногда даже огромной) проделанной работы, но базирующейся на сомнительных исходных выкладках, далекоидущие выводы.
А некоторые методы вообще доставляют, в криптографии их назвали бы — брутфорсом и серьезно к анализу «чего либо» так никто не подходит.

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

Скажем так, тот язык за многие лета претерпел некоторые изменения.

Собственно текст

მეაგ პგლოეზგასელ პაგდლრეოლმელეოგ გილრაგლახაგ მოლ კეუგლზდლიმეილ პეალკგლეგ სფაგიხაგ, ეპეალ ფაგსცლგიბიშჩულდგ პაგდლრეოლეუგლშჩეილ, დოლ ფაგშცელეოგეუგლტ პაგდლრეოლინეგილ. გილრაგელეო კეუგლზდლოლ სტიკეალ პაგდლრეოლმეუგლრეოლ პეალკგლეგ ელ კეუგლლდეოჩედგეგ პეალკლეამკეოლეგ. დოლ მეაგ პაგდლიტ უგ პეალკგლეგ კეუგლზდლეგ, ოლ უგ კეუგლზდლეგ პეალკგლეგ ბლგიდ რეცინოგ ნაენოგ, ეპეალ ეოგლ სცლგოშმაგ პაგდლრეოლმეუგლრ, ელ ნმაეუგლ ტოხგ პაგდლრეოლმეუგლგტაგ.

Задача — то же, но по-русски.

Все совпадения с действующими алфавитами случайны (и я ни в коем случае не хотел назвать какой-либо существующий язык — мертвым).
Читать дальше →
Всего голосов 38: ↑31 и ↓7 +24
Просмотры27K
Комментарии 64

Лингвистическая загадка. Переводим с «мертвого» языка. [§2] Разбор полётов

Криптография
Это — продолжение, вернее ответ на задачу из статьи "Лингвистическая загадка. Переводим с мертвого языка".

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

Ответ

Для нетерпеливых сразу ответ, который кстати на момент написания статьи, кроме единственного человека (не с хабра), полностью не разгадал никто. Но об этом ниже…
Упомянутая известная фраза про «Глокую куздру» (привет AndreyDmitriev), что есть цитата из книги Успенского «Слово о словах», была коварно помещена мной в середину текста. Остальное, как уже говорилось, добил другими из той же темы, причем немного даже в «старорусской» манере…
Читать дальше →
Всего голосов 36: ↑32 и ↓4 +28
Просмотры14.1K
Комментарии 19

Извлечение упоминаний сущностей и поиск в Textocat API

TextocatПоисковые технологииСемантикаData MiningAPI
Textocat API — это облачный SaaS анализа текстов. Качественное извлечение полезной информации из текстов — сложная задача и требует серьезной экспертизы. Миссия команды Textocat — сделать процесс обработки текстов настолько легким для использования, чтобы его мог включить в свой арсенал любой современный разработчик. Используя Textocat API, вы можете быстро прототипировать приложения на основе текстовой аналитики и превращать их в свой бизнес. В данной публикации мы покажем, насколько легко интегрировать в любое приложение возможности Textocat API по распознаванию упоминаний сущностей (объектов) и поиску документов на русском языке.

Возможности Textocat API Beta


В начале апреля мы запустили бета-тестирование Textocat API. В этой версии мы предлагаем разработчикам бесплатно использовать часть функционала сервиса со следующими возможностями:
  • распознавание упоминаний сущностей (entity recognition) в коллекциях документов на русском языке;
  • хранение обработанных коллекций;
  • полнотекстовый поиск с учетом выделенных типов сущностей.


пример распознавания упоминаний сущностей

Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Просмотры15.8K
Комментарии 66

О расширении словаря эмоционально окрашенных слов на базе сообщений Твиттера

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

Предположим, нам надо оценить эмоциональную окраску твитов, например, для проведения различных социологических замеров (о том, могут ли такие замеры заменить классические соц. опросы см. здесь). В таком случае, очевидным подходом будет взять словарь эмоционально окрашенных слов, где эмоции выражены количественно, и оценивать твиты по наличию слов из этого словаря. Но тут возникает проблема: такие словари редки, малы и могут устареть, к тому же не соответствуют «живому» языку общения в соц. сетях. Кажется законным пополнять доступные словари новыми словами, при этом приписывая им эмоциональность твитов, в которых эти слова встречаются (точнее, среднее арифметическое по всем твитам, содержащим данное слово). Собственно такая задача предлагается к решению в курсе «Introduction to Data Science». Возникает вопрос: является ли такое продолжение законным? Будет ли полученный словарь зависеть от тех твитов на которых он расширялся или, точнее, насколько будут отличаться два словаря, полученные из одного и того же начального словаря, но дополненные на разных твитах?
Читать дальше →
Всего голосов 9: ↑6 и ↓3 +3
Просмотры4.1K
Комментарии 9

Анализ отзывов посетителей ресторанов с Meanotek NeuText API

MeanoTekСемантика.NETAPIМашинное обучение
Анализ отзывов пользователей ресторанов был частью задачи тестирования SentiRuEval-2015, прошедшего в рамках конференции Диалог-2015. В этой статье поговорим о том, что собственно делают такие анализаторы, зачем это нужно на практике, и как создать такое средство своими руками с помощью Meanotek NeuText API

Анализ отзывов по аспектам часто разделяют на несколько этапов. Рассмотрим например предложение «японские блюда были вкусными, но официант работал медленно». На первом этапе мы выделяем из него важные для нас слова или словосочетания. В данном случае это «японские блюда», «вкусными», «официант», «медленно». Это позволяет понять, о чем идет речь в предложении. Далее мы можем захотеть сгруппировать термины — например отнести «блюда» и «вкусными» к еде, а «официант» к обслуживанию. Такая группировка позволит выдавать агрегированную статистику. Наконец, мы можем захотеть оценить тональность терминов, говорится о них что-то положительное или отрицательное
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры4.2K
Комментарии 0

Простой метод для извлечения соотношений и фактов из текста

MeanoTekРазработка веб-сайтовСемантикаМашинное обучение
Ранее мы писали об анализе отзывов о ресторанах, с целью извлечения упоминаний разных аспектов (еды, обстановки, и подобного). Недавно в комментариях возник вопрос о извлечении из текста фактической информации, т.е. можно ли, например, из отзывов об автомобилях извлечь факты, например «быстро ломается коробка передач» => ломается(коробка передач, быстро), чтобы с этими фактами можно было потом работать. В этой статье мы опишем один из подходов к решению такой проблемы.



Метод, о котором мы расскажем, опирается на ряд упрощений, он не самый точный, но зато легок в реализации и позволяет быстро создать прототип приложения, в котором он должен использоваться. В ряде случаев его будет и вполне достаточно, а для других можно ввести усовершенствования, не отступая от основного принципа.
Читать дальше →
Всего голосов 17: ↑14 и ↓3 +11
Просмотры15K
Комментарии 7

Анализ английского текста с чашкой кофе «JavaSE8»

Java
Из песочницы

От автора


«Куда только не заведёт любопытство» — именно с этих слов и началась эта история.

Дело обстояло так.

Вернулся я из командировки из США, где провел целый месяц своей жизни. Готовился я Вам скажу я к ней основательно и прилично так налегал на английский, но вот не задача, приехав к заморским друзьям я понял что совершенно их не понимаю. Моему огорчению не было предела. Первым делом по приезду я встретился с другом, который свободно говорит по английски, излил ему душу и услышал в ответ: «… ты просто не те слова учил, нужно учить самые популярные… запас слов, который используется в повседневных разговорах не более 1000 слов...»

Хм, так ли это?, возник вопрос в моей голове… И пришла мне в голову идея проанализировать разговорный текст, так сказать, определить те самые употребляемые слова.

Исходные данные


В качестве разговорного текста я решил взять сценарий одной из серий сериала друзья, заодно и проверим гипотезу — «… если смотреть сериалы на английском, то хорошо подтянешь язык ...» (сценарий без особого труда можно найти в интернете)

Используемые технологии


  • Java SE 8
  • Eclipse Mars 2

Ожидаемый результат


Результатом нашего творчества станет jar библиотека, которая будет составлять лексический минимум для текста с заданным процентом понимания. То есть мы например хотим понять 80% всего текста и библиотека, проанализировав текст выдаёт нам набор слов, которые необходимо для этого выучить.
Читать дальше →
Всего голосов 14: ↑9 и ↓5 +4
Просмотры13.9K
Комментарии 32

Как я написал приложение, которое за 15 минут делало то же самое, что и регулярное выражение за 5 дней

Высокая производительностьPythonАлгоритмыРегулярные выражения
Перевод

От переводчика


Не так давно столкнулся с проблемой поиска набора слов в большом тексте. Разумеется главной проблемой стала производительность. Поиск готовых решений порождал больше вопросов, чем давал ответов. Часто я натыкался на примеры использования каких-то сторонних коробок или онлайн-сервисов. А мне в первую очередь нужно было простое и легкое решение, которое в дальнейшем дало бы мысли для реализации собственной утилиты.

Несколько недель назад вышла замечательная англоязычная статься об open-source python-библиотеки FlashText. Эта библиотека предоставляла быстрое работающее решение задачи поиска и замены ключевых слов в тексте.

Т.к. на русском материалов подобной тематики не так много, то я решил перевести эту статью на русский. Под катом вас ждет описание проблемы, разбор принципа работы библиотеки а так же примеры тестов производительности.
Поехали
Всего голосов 72: ↑57 и ↓15 +42
Просмотры39.1K
Комментарии 78
1