Майнинг данных. Специалист по Computer Science Алексей Незнанов о проблемах искусственного интеллекта, видах майнинга данных и обработке данных в корпорациях. |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-03-17 16:00 искусственный интеллект, компьютерная лингвистика, большие данные big data Майнинг данных. Специалист по Computer Science Алексей Незнанов о проблемах искусственного интеллекта, видах майнинга данных и обработке данных в корпорациях. Майнинг данных (калька с английского Data mining) — это термин, который сейчас в России, с одной стороны, считается не очень удачным, а с другой — становится все более распространенным. Почему так происходит? Все прочие синонимы, например «разработка данных» (от «разработки месторождений»), смешиваются с «разработкой методов». Есть хороший термин «добыча», но он почему-то не очень нравится математикам. В итоге по-русски мы все чаще говорим просто «майнинг». Здесь под майнингом данных мы будем в первую очередь понимать не весь анализ данных в целом, а те задачи, которые связаны с преобразованием исходных, возможно, сырых данных в данные, на основе которых мы принимаем решения. То есть под майнингом в узком смысле понимается только предобработка данных, но не их итоговый анализ и интерпретация. Но точно определить, где кончается предобработка, тоже непросто. Анализ данных и искусственный интеллект: проблема смысла Получается, что майнинг данных — это подкласс анализа данных. Интеллектуальность конкретного метода анализа данных — это тоже очень спорный вопрос. Под интеллектуальностью имеется в виду сложность метода, его близость к представлению об искусственном интеллекте. Технологии искусственного интеллекта (AI — artificial intelligence) сегодня развиваются стремительно. И так же стремительно растет диапазон его возможных приложений: от простейших вещей, которые тем не менее все равно считались прерогативой человека, до того, что сейчас принято называть семантическими технологиями. То есть теперь можно работать напрямую со смыслом, а не просто с данными, которые, с точки зрения человека, никак не продуманы и не осмыслены. В чем здесь проблемы? Смысл — это неопределенное понятие. Нельзя сказать, что компьютер не понимает человека совсем: компьютер понимает нас в каких-то конкретных ситуациях и при наличии конкретных целей, то есть в контексте. Голосовые помощники — Siri, Cortana, OK Google — в общем смысле людей не понимают. Но так как они знают историю наших действий и поисковых запросов, из этого контекста они могут сделать выводы не только за счет распознавания фонем в речи, а за счет анализа многих других данных, кроме голоса пользователя, и тем самым как бы предугадать наши желания. Этот вывод никак не связан с тем, что и как мы думаем, и со свойственным человеку умением понимать, что хочет другой. У компьютеров сейчас нет того, что характеризует настоящий, сильный искусственный интеллект, — это теория разума (англ. mind theory). Поэтому интеллектуальными методами анализа данных считают те, которые нельзя описать как простое применение детерминированной функции; это нечто более сложное. Эта граница сдвигается произвольным образом. Например, статистические методы анализа данных разные исследователи называют то интеллектуальными, то неинтеллектуальными. Подходы к майнингу данных В рамках майнинга данных существуют отдельные методологии. Например, есть классическая методология Билла Инмона по созданию и использованию хранилищ данных, витрин данных и анализу корпоративных данных. Широко распространенная идеология предобработки данных, которая получила название ETL (Extract, Transform, Load, то есть «вытащить, переработать, загрузить»), хорошо подходит именно для хранилищ и витрин данных, но плохо пригодна для других методологий. Поэтому часто говорят о подходе NoETL — по аналогии с NoSQL. NoSQL, кстати, часто неверно воспринимается как отказ от SQL, хотя на самом деле это расшифровывается как Not only SQL, то есть «не только SQL». То же и с NoETL: это не только ETL, но и что-то еще. И говоря о современном майнинге, мы имеем в виду, что все время появляются новые методологии, дополняющие существующие. В английском языке для этого удобно использовать понятие workflow, то есть говорить о потоке задач, связанных с переработкой данных. В рамках workflow выделяют pipeline, то есть конвейер отдельных действий над данными. Как можно классифицировать данные в соответствии с целями майнинга? Первая группа — числовые данные в виде параметров математических моделей. Представим, что мы расставили по всему Мировому океану станции, которые фиксируют давление, температуру воздуха и прочие показатели каждые две минуты. Это огромный объем данных, который нельзя просто так применить в качестве входа математической модели из первых принципов: на это потратилось бы очень много времени и ресурсов. Поэтому ее рассчитывают статистически. Именно здесь начинается майнинг больших данных (Big Data mining). Но таких данных не так много, как кажется. До сих пор, по оценке IBM, более 80% накопленных данных хранятся в неструктурированном виде (в основном в виде обычного текста на естественном языке). И только с развитием киберфизических систем, интернета вещей и смежных технологий ситуация начинает меняться. Прочие виды данных обычно представлены в форме, которая содержит некий смысл для человека, и компьютеру, чтобы их понять, нужно либо научиться мыслить так же, как люди, либо каким-то образом имитировать это. В первую очередь это касается текстов и относится к области NLP — Natural Language Processing (обработка естественного языка). Когда мы говорим про NLP, то подразумеваем майнинг текстов. Его можно делать на разных уровнях: сочетания двух-трех слов, тематическое моделирование (topic modeling), то есть определение тематики текста, затем — семантика. Но как это сделать? Необходимо понимать структуру языка, поэтому нужен парсер, который может обработать и морфологию, и грамматику, и общий синтаксис языка. Это представление об устройстве языка затем нужно объединить с формальным представлением знаний в предметной области, то есть с онтологией. В результате этого мы получаем онтологически контролируемый анализ естественного языка. И здесь уже можно говорить о некотором понимании смысла в исходном представлении об искусственном интеллекте, то есть компьютере, который мыслит как человек. Этот онтологически контролируемый анализ является сейчас очень популярной темой, потому что без этого компьютер будет плохо понимать нас, несмотря на все успехи статистических методов. Майнинг данных и задачи машинного обучения Для достижения этих целей майнинг становится двухуровневым: он разделяется на майнинг в смысле препроцессинга (предобработки) и майнинг в смысле интеллектуального анализа данных, то есть получение определенных выводов. Интересно, что майнинг-препроцессинг — это получение из сырых данных других, новых, но тоже большого объема. А майнинг второго уровня предполагает получение малого объема данных или знаний в виде гипотез, выводов и объяснений, если был использован хорошо интерпретируемый метод анализа. В результате получается интересная классификация задач и методов их решения. Есть статистика: от описательной статистики по выборке до проверки статистических гипотез. Есть задачи, связанные с установлением более интересных, чем классическая статистика, характеристик самих данных. К этому относится применение факторного анализа: если раньше компьютеры были большими и работали медленно и факторный анализ в целом тяжело было реализовывать, то сегодня есть возможность применять его к большим данным и на большом числе факторов. Можно говорить о том, что у нас есть огромное пространство данных, и мы можем описать их факторами риска или факторами улучшения, а можем отслеживать их влияние на нужную нам переменную. Сейчас это делается множеством интересных способов, что стало возможно именно благодаря увеличению производительности компьютеров. Есть классические задачи кластеризации и классификации, к которым применяется машинное обучение с учителем и без. В задаче классификации мы знаем, какие у нас есть классы, и предъявляем примеры разбитых на группы данных (классы), а затем на новых данных, уже не зная, где какой класс, просим компьютер распределить их. При кластеризации мы не имеем примеров и просим компьютер разделить данные по некоторым «общим соображениям». Есть анализ временных рядов, где изучается динамика данных. Есть выявление априори известных шаблонов (patterns) и выявление неожиданных зависимостей. Здесь используются очень хитрые методы машинного обучения, включая обучение с подкреплением, которое потихоньку распространяется на все большее число областей. Но самое интересное, на мой взгляд, направление — привязка классических задач к структурным данным. Под такими данными понимаются структуры некоторых систем, которые математически представляются графами. На этих моделях запускаются алгоритмы теории графов, которые показывают, что это за структура, какие в ней есть интересные закономерности и как она связана с характеристиками отдельных узлов (вершин) и отдельных связей (ребер). Машинное обучение на графовых моделях — это одна из самых горячих тем. Майнинг социальных сетей Классическим примером майнинга данных являются социальные сети. В них очень важна структура взаимодействий между пользователями. В результате их исследования и получается майнинг структурных данных (graph mining). То есть у нас есть классический майнинг числовых данных, майнинг текстов и graph mining. Все три направления развиваются параллельно и обогащают друг друга. Вычислительная сложность растет с каждым следующим шагом. Особый вид — гибридные данные. Например, у нас есть граф, в узлах которого расположены тексты. Именно такими графами обычно являются социальные сети: есть пользователи, у которых много постов с текстами, а также есть их друзья и связи между ними, перекрестные ссылки и так далее. Это и есть пример гибридного анализа. А как майнить социальные сети? Для начала нужен некий метод ETL, то есть необходимо взять данные, преобразовать их в приемлемый для нас формат и сохранить. Так они будут копиться несколько лет, и в итоге получатся динамические структурированные данные с текстами и мультимедиа в узлах. Это классический пример гибридных данных. Майнинг медицинских данных Похожая ситуация и с медицинскими данными. Под клинической информатикой сегодня понимаются не только показатели температуры и давления, но мультимедийные данные с КТ-сканеров, ультразвуковых аппаратов и прочей медицинской техники. К счастью, она вся стандартизирована, и данные с них накапливаются уже нормальные и унифицированные. Раньше с этим было гораздо хуже. Но как их анализировать? Порой это сделать сложнее, чем проанализировать обычный текст на естественном языке. Более того, примерно 80% исторических медицинских данных — это в основном тексты, записи диагнозов. Старые снимки в большинстве случаев не сохраняются, но остаются их описания и интерпретации. Это обычные тексты на естественном языке, которые зачастую содержат много ошибок, и это является отдельной большой проблемой клинической информатики. Например, кто-то мог написать «миллиметр» вместо «сантиметр», или случайно приписать лишнюю единичку, или обозначить степень не мелко вверху, а написать практически обычным шрифтом — при распознавании текста вместо 1010 получается 1010. Перечисление таких ошибок можно продолжать долго. Сейчас специалисты учатся бороться с этим, а главная задача — научиться делать так, чтобы не пришлось исправлять это все при майнинге, а исходные данные сразу содержали минимальное количество ошибок и были унифицированы. Но сделать это очень тяжело, в том числе и из-за внешнего сопротивления медицинских чиновников. Но в целом за последние годы с этим стало немного проще: с начала 2000-х появились хорошие workflow, которые предназначены для преобразования и анализа таких данных. Анализ данных в корпорациях Так от узких задач майнинга мы переходим к созданию систем поддержки принятия решений, рекомендательных систем, интеллектуальных систем контроля и мониторинга производственных процессов и так далее. Майнинг с этой точки зрения становится более мелкой задачей, и основным вопросом становится системный анализ в инженерии и интеграция всех процессов. Основные методы в майнинге были придуманы давным-давно, и в разработке остаются в основном дополнительные вещи вроде повышения интеллектуальности и эффективности, особенно в анализе текстов и графов (сетей). Основные реализации workflow, которые есть сегодня (в таких продуктах, как Power BI от Microsoft, Oracle BI от Oracle, Pentaho, SPSS от IBM, SAS и других), в основном заточены под корпоративного заказчика и в первую очередь под работу с финансовыми данными, во вторую — с данными бюджетирования и управленческой отчетности (management accounting), а в третью — с производственным процессом. Производители средств анализа данных в основном занимаются тем, что пытаются предлагать корпорациям и компаниям какой-то большой цельный продукт, а те отказываются от него из-за высокой стоимости, хотя готовы потратить деньги на меньший продукт. Поэтому чаще всего большая задача, большой продукт разбиваются на несколько маленьких и предоставляются по отдельности. Большие компании понимают ту ситуацию и поэтому пытаются изначально ставить себе какие-то интегрированные системы. А мелкие фирмы пытаются решить свои отдельные мелкие задачи, хотя на самом деле можно было бы решить их все сразу и дешевле, согласившись на целую систему. Здесь в целом возникают три проблемы: необходимость переделывания некоторых бизнес-процессов, единократная высокая стоимость и нехватка квалифицированных кадров для пользования крупными системами и их поддержки. С точки зрения стоимости сейчас есть решения на любой вкус: от бесплатных открытых систем, начиная со знаменитых языков R с банком пакетов и Python со значительным количеством более-менее интегрированных решений до проприетарных систем, «заточенных» под конкретные задачи анализа данных. Отметим, что их стоимость может начинаться с десятков тысяч долларов. Особенно «ценными» являются системы, способные без «допиливания напильником» работать с динамическими большими данными разных типов в разных исходных формах, что позволяет, например, к графу корпоративной сети подгрузить данные о продажах и KPI или к графу социальной сети с разверткой во времени подгрузить информацию о купленных билетах на поезда, корабли и самолеты. Например, цена одного рабочего места знаменитого IBM i2 Analyst Notebook в базовой редакции начинается с $8800 USD, а цена решения для рабочей группы с дополнительными компонентами и поддержкой облачных вычислений может доходить до $300 000 USD. Аналогично цена инструментов SAS начинается с $9720 USD и доходит до $200 000. Утешает, что почти все инструменты имеют академические лицензии. Источник: postnauka.ru Комментарии: |
|