Pull to refresh

Data Mining: что внутри

Data Mining *

Уровни информации


Я не думаю, что открою Америку, если скажу, что не вся информация одинаково полезна. Иногда для объяснения какого-то понятия необходимо написать много текста, а иногда для объяснения сложнейших вопросов достаточно посмотреть на простую диаграмму. Для сокращения избыточности информации были придуманы математические формулы, чертежи, условные обозначения, программный код и т.д. Кроме того, важным является не только сама информация, но и ее представление. Понятно, что котировки акций более наглядно можно продемонстрировать с помощью графика, а математические формулы опишут законы Ньютона в более компактном виде.
Читать дальше →
Total votes 84: ↑70 and ↓14 +56
Views 46K
Comments 47

Латентно-семантический анализ

Algorithms *
Sandbox
Как находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

Латентно-семантический анализ

Читать дальше →
Total votes 104: ↑101 and ↓3 +98
Views 91K
Comments 27

Real-world text mining using machine learning

Self Promo
21-ого апреля 2012 в рамках семинара по Автоматической обработке естественного языка состоится выступление Яна Жижки (Mendel University, Брно, Чехия).
Он прочитает доклад об использовании машинного обучения для извлечения информации из текстов. Будут рассмотрены применение различных алгоритмов и интерпретация результатов.
Отдельно будут показаны результаты по применению этих методов к реальным данным на примере анализа пользовательских отзывов на отели.
Доклад будет прочитан на английском языке.

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 1.9K
Comments 0

Text Mining Framework (Java)

Semantics *Java *Data Mining *
Что это и для кого (вместо вступления)

В данной статье я бы хотел рассказать о небольших результатах своей научной деятельности в сфере Text Mining. Этими самыми «результатами» стал небольшой FrameWork, который, пока еще, и до либы то не очень дотягивает, но мы растем =). Данный проект — реализация на практике некоторых, разработанных мною, теоретических положений. Как следствие этого я представляю возможности, которыми он может потенциально обладать в конце внедрения всех идей. Названо сее творение: «Text Mining FrameWork»(TextMF). Давайте в кратце рассмотрим, что именно будет позволять TextMF в своей первой финальной версии и что работает уже сейчас.
Читать дальше →
Total votes 42: ↑37 and ↓5 +32
Views 30K
Comments 39

Рекомендательная система: text mining как средство борьбы с холодным стартом

Surfingbird corporate blog Algorithms *
В предыдущей статье я уже обозначил основные направления решения задачи холодного старта в рекомендательной системе веб-страниц. Напомню, что проблема холодного старта делится на холодный старт для пользователей (что показывать новым пользователям) и холодный старт для сайтов (кому рекомендовать вновь добавленные сайты). Сегодня я более подробно остановлюсь на методе семантического анализа текстов (text mining) как основном подходе к решению проблемы холодного старта для новых сайтов.
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Views 17K
Comments 8

Рекомендательная система: полезные задачи текстмайнинга

Surfingbird corporate blog Algorithms *
Я продолжаю цикл статей по применению текстмайнинг-методов для решения различных задач, возникающих в рекомендательной системе веб-страниц. Сегодня я расскажу о двух задачах: автоматическое определение категорий для страниц из RSS-лент и поиск дубликатов и плагиата среди веб-страниц. Итак, по порядку.

Автоматическое определение категорий для веб-страниц из RSS-лент


Обычная схема добавления веб-страниц (вернее, ссылок на них) в Surfingbird такова: при добавлении новой ссылки пользователь должен указать до трёх категорий, к которым принадлежит эта ссылка. Понятно, что в такой ситуации задача автоматического определения категорий не стоит. Однако, кроме ручного добавления, ссылки попадают в базу и из RSS-потоков, которые предоставляют многие популярные сайты. Поскольку ссылок, поступающих через RSS-потоки, очень много, зачастую модераторы (а в этом случае именно они вынуждены проставлять категории) просто не справляются с таким объёмом. Возникает задача создания интеллектуальной системы автоматической классификации по категориям. Для ряда сайтов (например, lenta.ru или sueta.ru) категории можно вытащить непосредственно из rss-xml и вручную привязать к нашим внутренним категориям:

image
image
Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Views 14K
Comments 10

Простой алгоритм для поиска всех совпадающих под-текстов в двух текстах

Algorithms *
По долгу службы мне часто нужно находить все пересечения между текстами (например, все цитаты из одного текста в другом). Я достаточно долго искал стандартное решение, которое бы позволило бы это делать, но найти его мне так и не удалось — обычно решается какая-то совсем или немного другая задача. Например, класс SequenceMatcher из difflib в стандартной библиотеке Питона находит самую длинную общую подпоследовательность в двух последовательностях hashable элементов, а потом рекурсивно повторяет поиск слева и справа от нее. Если в одном из текстов будет более короткая подпоследовательность, которая содержится внутри уже найденной (например, если кусок длинной цитаты где-то был повторен еще раз), он ее пропустит. Кроме того, когда я загнал в него «Войну и мир» и «Анну Каренину» в виде списков слов и попросил для начала найти самую длинную подпоследовательность, он задумался на семь минут; когда я попросил все совпадающие блоки, он ушел и не вернулся (в документации обещают среднее линейное время, но что-то в прозе Льва Толстого, по-видимому, вызывает к жизни worst-case квадратичное).

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

Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 27K
Comments 39

Релиз СУБД InterSystems Caché 2015.2

InterSystems corporate blog
Корпорация InterSystems на Global Summit 2015 приняла социалистическое обязательство объявила о политике частых релизов — выпуск новых версий как минимум 4 раза в год. В исполнение этого обета, 8 июля вышел релиз СУБД InterSystems Caché 2015.2 через 3 месяца после релиза Caché 2015.1. Видео о релизе.
В Caché 2015.2 улучшена производительность и масштабируемость, появилась поддержка русского и украинского в iKnow, реализована поддержка CORS в REST.
Подробности
Total votes 11: ↑10 and ↓1 +9
Views 2.9K
Comments 1

Работа с текстовыми данными в scikit-learn (перевод документации) — часть 1

Python *Data Mining *Machine learning *
Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn.

Цель этой главы — это исследование некоторых из самых важных инструментов в scikit-learn на одной частной задаче: анализ коллекции текстовых документов (новостные статьи) на 20 различных тематик.
В этой главе мы рассмотрим как:
  • загрузить содержимое файла и категории
  • выделить вектора признаков, подходящих для машинного обучения
  • обучить одномерную модель выполнять категоризацию
  • использовать стратегию grid search, чтобы найти наилучшую конфигурацию для извлечения признаков и для классификатора

Читать дальше
Total votes 12: ↑11 and ↓1 +10
Views 50K
Comments 0

Работа с текстовыми данными в scikit-learn (перевод документации) — часть 2

Python *Data Mining *Machine learning *
Данная статья представляет собой перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn. Начало статьи вы можете прочесть в части 1.

Обучение классификатора


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

>>> from sklearn.naive_bayes import MultinomialNB
>>> clf = MultinomialNB().fit(X_train_tfidf, twenty_train.target)

Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 39K
Comments 3

Релиз СУБД InterSystems Caché 2016.1

InterSystems corporate blog
Всем привет! Рады представить вам новую версию Caché 2016.1, релиз которой состоялся во второй половине марта. Важных и интересных изменений действительно много, поэтому предлагаю сразу перейти к ним.

Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Views 5.5K
Comments 3

Технологии больших данных в работе с бактериями микробиоты. Лекция в Яндексе

Яндекс corporate blog Research and forecasts in IT *
Мы часто говорим о задачах, которые лежат на стыке той или иной классической науки и анализа данных. В сегодняшнем докладе эта идеология представлена воочию — большую часть доклада читает учёный, а о конкретных методах и инструментах рассказывает программист.


Под катом — расшифровка и основная часть слайдов.

Total votes 42: ↑42 and ↓0 +42
Views 6.8K
Comments 2

Измеряем динамику упоминания сущностей в информационном поле

Data Mining *Big Data *Open data *Data visualization *


Сегодня мы покажем дашборд с визуализацией данных о динамике популярных сущностей, засетапим для пользователей хабра отдельный инстанс и дадим на нём возможность следить за собственными показателям, добавив регулярку.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 4.4K
Comments 12

Применение сверточных нейронных сетей для задач NLP

Open Data Science corporate blog Python *Data Mining *Machine learning *Natural Language Processing *
Когда мы слышим о сверточных нейронных сетях (CNN), мы обычно думаем о компьютерном зрении. CNN лежали в основе прорывов в классификации изображений — знаменитый AlexNet, победитель соревнования ImageNet в 2012 году, с которого начался бум интереса к этой теме. С тех пор сверточные сети достигли большого успеха в распознавании изображений, в силу того факта, что они устроены наподобие зрительной коры головного мозга — то есть умеют концентрироваться на небольшой области и выделять в ней важные особенности. Но, как оказалось, CNN хороши не только для этого, но и для задач обработки естественного языка (Natural Language Processing, NLP). Более того, в недавно вышедшей статье [1] от коллектива авторов из Intel и Carnegie-Mellon University, утверждается, что они подходят для этого даже лучше RNN, которые безраздельно властвовали областью на протяжении последних лет.

Сверточные нейронные сети


Для начала немного теории. Что такое свертка? Мы не будем на этом останавливаться подробно, так как про это написана уже тонна материалов, но все-таки кратко пробежаться стоит. Есть красивая визуализация от Стэнфорда, которая позволяет ухватить суть:

image
Источник
Читать дальше →
Total votes 71: ↑69 and ↓2 +67
Views 51K
Comments 29

Совершеннолетняя журналистика: от России до Кремля

Python *Data Mining *Open data *

Анализ публикаций Lenta.ru за 18 лет (с сентября 1999 по декабрь 2017 гг.) средствами python, sklearn, scipy, XGBoost, pymorphy2, nltk, gensim, MongoDB, Keras и TensorFlow.



В исследовании использованы данные из поста «Анализируй это — Lenta.ru» пользователя ildarchegg. Автор любезно предоставил 3 гигабайта статей в удобном формате, и я решил, что это прекрасная возможность протестировать некоторые методы текстовой обработки. Заодно, если повезёт, узнать что-то новое о российской журналистике, обществе и вообще.

Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 9.1K
Comments 11

Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern

Data Mining *R *Natural Language Processing *
Sandbox

R. Text Mining. Rap


Популярность многих современных рэп исполнителей остается для меня и других приверженцев “старой школы” большой загадкой. Постоянные споры о том, кто лучше, чьи тексты интереснее, чья музыка разнообразнее занимают умы многих интернет-пользователей. Чтобы подтвердить эти споры не просто словами, а фактами я проанализировал тексты четырех российских рэп исполнителей, используя для этого язык программирования R.
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Views 35K
Comments 47

Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc, Oxxxymiron, Дядя Женя. Эпизод 2

Data Mining *R *Natural Language Processing *

R. Text Mining. Rap. Episode 2


Данная статья является продолжением материала «Сравнение российской рэп сцены используя R и техники Text Mining. Noize Mc and Kasta vs Pharaoh and Morgenshtern» и сейчас я постараюсь детально проанализировать творчество Нойз Мс и Оксимирона. Однако, хочу отметить, что это не будет сравнение между ними. Цель этой статьи не показать кто из них круче, а передать глубину и разнообразие их музыки, которой мы имеем возможность наслаждаться в реальном времени. Нам очень повезло, что мы можем следить за их успехами и ходить на их концерты. В этом материале не будет сопоставления как в первой части, не будет такого сильного контраста.

В этот раз анализ также делался при помощи R, Python и API Genius.com Подробнее можно прочитать в первой части, так как не хочу повторяться.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 9K
Comments 4

How to find an English teacher. Part 1

Python *Programming *Data Mining *Data visualization *Natural Language Processing *


In the modern world, here and there ideas are arising about using data science for an extra benefit. For instance, Google can use a history of watched videos for providing recommendations about new ones. Online shops are using a recommendation system for increasing your receipt. However… if companies use the data for their benefit, could we do the same for own needs such as looking an online English teacher?


Disclaimer

It is an approach based on my own experience and can be unsuitable to your point of view, ideas, or principles.

Total votes 2: ↑1 and ↓1 0
Views 1.2K
Comments 0

Ищем «Троллей». Алгоритм шинглов & косинусное сходство

Python *Semantics *
Sandbox

Думаю, многие в напряженных дискуссиях в интернете сталкивались с обвинением людей в том, что они боты, тролли и проплачены Кремлем, Киевом или Вашингтоном. Но как действительно выявить таковых или просто людей пытающихся активно донести своё мнение до остальных?
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 3.8K
Comments 5

Обнаружение таблиц на сканах с использованием Fast-rcnn на Pytorch

Python *Programming *Machine learning *

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

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

Для того, чтобы извлечь информацию из таблицы, нужно в первую очередь эту таблицу найти. С этой проблемой нам поможет справиться PyTorch и готовая модель Fast-RCNN из библиотеки torchvision. Примеры ее использования, можно прочитать в официальной документации или, например, в этом руководстве.

Данные для обучения возьмем с github. Все действия будем производить в облачном сервисе Google Colaboratory.

Извлечем нужные библиотеки.

Читать далее
Total votes 2: ↑2 and ↓0 +2
Views 2.5K
Comments 2