Text Mining как высокая технология словоблудия
АрхивСтатья родилась не спонтанно — "наболело". Будучи на острие прогресса
=+=+=+=Статья родилась не спонтанно — «наболело». Будучи на острие прогресса
(в смысле изучения наисовременнейших технологий обработки данных) и сидя на этом острие с открытыми глазами, нельзя не заметить удручающие тенденции: чуть только появляется некое новое направление, некая перспективная идея — ее тут же вытаптывают дикие менеджеры и рекламщики.
Нет, они не против. Они очень даже за. Только чтобы теория давала деньги. Завтра. А лучше — сегодня. Какие там исследования, какое развитие идей — тут крупнее дела, тут надо деньгу зашибить, пока публика не приняла еще сырую технологию за шарлатанство и не выкинула на помойку. Как, похоже, скоро случится с любимой темой автора — технологиями Text Mining.
Часть первая, вводно-оптимистическая
… –
та же добыча радия.
В грамм добыча,
в год труды,
Изводишь
единого слова ради
тысячи тонн
словесной руды.
Маяковский, первый теоретик Text Mining
Да, именно так. А точнее (научнее) — «Метод добычи неизвестных заранее зависимостей из сырых текстовых данных». Из трех тысяч гневных и ругательных писем покупателей выделить рациональное зерно и понять, чем эти письма вызваны (ведь продукт не хуже, чем раньше) — это Text Mining. По запросу «в чем смысл жизни» выбрать соответствующие статьи из энциклопедии — не те, которые объясняют словарное значение слов «смысл» и «жизнь», а, например, выдать ссылки на соответствующие философские труды. По описанию ЧП за последние пять лет определить зависимости между, к примеру, маркой автомобиля, временем года и частотой аварий в районе Тулы (этой проблемой довольно долго и иногда успешно занимался автор). Все это он — Text Mining, а по-нашему — Интеллектуальный Анализ Текста. Вот это он, родимый, и есть.
Эта отрасль компьютерных наук своим появлением обязана двум извечным человеческим порокам — графомании и бюрократии. Это приводит к тому, что в средненькой службе поддержки пользователя количество обрабатываемой корреспонденции на человеко-час превосходит любые человеческие возможности. А попробуйте понять сущность нового изобретения по горе бумажек, которые его документируют. И тот, кто может из сорока пресс-релизов вычленить главное новшество в технологии Microsoft .NET, — тот пусть первый бросит в меня камень. Вот и получается, что информации человечеством накоплены терабайты, а выделить из них зерно знаний — не под силу никому. Неслучайно самые востребованные ноне технологии относятся к Data Mining (дословно — раскопка данных, литературно — интеллектуальный анализ данных), оно же Knowledge Discovery (обнаружение знаний). Частным случаем которых как раз и являются технологии Text Mining.
Вот появляется Он, и имя Ему — специалист по Text Mining! И сразу становится понятно, что покупатели недовольны потому, что им грубит продавщица тетя Зина. Что новое изобретение, запатентованное в Австралии и описанное на 86 страницах, — это колесо. Что самое большое новшество технологии .NET — в том, что ее название начинается с точки (да и то, кажется, такое уже было). И все это — легко, удобно, доступно даже ежику, а ГЛАВНОЕ — сверхсовременно! Так что все и немедленно падают ниц, и новые технологии триумфально шествуют по планете.
Но стоп. Как же у них все получается? В чем суть этих технологий? Каковы результаты их применения?
Мама, как они это делают?
– Магия! — со значением проговорила Бупу.
DragonLance
Итак, немного сухой теории. Основные задачи Data Mining вообще и Text Mining в частности, это: классификация — например, разбиение документов по заранее определенным разделам; кластеризация — разбиение документов на группы, когда принципы группировки заранее неизвестны; прогнозирование и анализ отклонений. Это вообще. В частности же, методы анализа текста применяют для автоматической рубрикации документов, «интеллектуального» поиска, составления аннотаций, а также борьбы со спамом (отделения электронных овец от козлищ), и дальше кому что в голову взбредет.
Причем имейте в виду, что Text Mining — это даже не технология, а отрасль. А технологии в ней бывают самые разные, и классифицировать их можно по-всякому. Например, по степени взаимодействия с языком — ориентированные на конкретный язык или универсальные. По степени инновационности — консервативные (вроде статистического анализа количества некоторых слов в документе) и самые-пресамые передовые-экспериментальные (ключевое слово, которым очень любят бросаться адепты этих учений, — затасканный ИИ). Бывают технологии математические, вроде широко известных нейронных сетей, а бывают сугубо «филологические» — вроде сетей семантических.
Последние рассмотрим как славный и типичнейший пример «технологии будущего», «искусственного интеллекта во плоти» (расхожий штамп как для этой, так и для многих других идей, на которых спекулируют продавцы систем Data Mining). Возьмем название — «семантическая сеть». Произнесите утром восемнадцать раз перед зеркалом — видите, умнеете прямо на глазах! А идейка-то простая. Есть у нас понятия, которые мы для красоты обозначим точками в некотором «пространстве понятий», а связи между ними — обозначим прямыми (или даже кривыми). Все! Все, господа! Вот и вся пресловутая семантическая сеть. Сложно? А как красиво звучит!
Поймите меня правильно. Я не пытаюсь развенчивать какие-то теории. Системы, основывающиеся на семантических сетях, бывают очень хороши. Я просто пытаюсь показать, что на одних умных словах далеко не уедешь. Под любые умные идеи можно подвести никудышную реализацию — а особенно под расплывчатые теории с красивыми названиями.
Но мы отвлеклись. Как бы то ни было, системы интеллектуального анализа текста создаются и продаются, теории существуют — часть из них публикуется и делает имя автору, а часть — скрывается, как know-how, и делает автору деньги.
И вот на фоне всех этих умных слов возникает закономерный вопрос: и что, это все работает? И достигаются поставленные цели? И обнаруживаются новые знания? Ну что вам сказать…
…в общем-то, работает
— Урра! Заррработало!
Кот Матроскин
Общий ответ на поставленный вопрос — «да». А в частности — когда как. Системы, от которых ждут сенсационных результатов, выдают закономерности, о которых старина Боб говорил на собрании директоров в начале 2-го квартала позапозапрошлого года. А полулюбительские разработки маленьких лабораторий или кафедр провинциальных институтов (привет родной кафедре) вдруг оказываются откровением. Главное, что можно сказать о таких системах на данном этапе развития, — они работают, но не всегда, не везде и не на любых данных. И чаще всего требуют опытного специалиста, который бы трактовал результаты работы, увеличивал объем обучающей выборки, изменял параметры и настройки, оценивал достоверность. Технологии уже не новы, но все еще сырые, не всегда можно ручаться за качество результата — короче, еще учиться и учиться. То есть если на вопрос «работает ли это?» ответить с точки зрения среднестатистического пользователя системы, ответ будет: работает. Но так себе.
Тут читатель, знакомый с отраслью, возмутится: как же так, ведь коммерческие системы создаются. И успешно продаются. Между прочим, расценки на этом рынке стартуют от 104 вечнозеленых единиц. Ведь это же удивительная успешность! Ведь у них-то получается?
Часть вторая, реалистически-пессимистическая
— …ведь никто не станет отрицать, что избушка готова.
— Готова, но не избушка, — возражает режиссер.
— А что готово?
— Только не избушка.
— Хорошо, пусть не избушка. Но готова? Неизбушка готова?
В ход идет новое, доселе неизвестное понятие: неизбушка.
Феликс Кривин. «Записки микрофонщика»
Ага, получается. Правда, не избушка. А неизбушка отлично получается.
Позвольте, я объяснюсь. Как человек, занимающийся научной работой по тематике данной статьи, а также пытающийся практически использовать вышеозначенные технологии (кстати, практически единственный по-настоящему полезный результат всей этой деятельности — собственно статья). И как человек, перелопачивающий для оных научных работ горы литературы и реально существующих систем. Если кто не понял, я пытаюсь обосновать свое право объясняться и делать выводы. Хотя и глуповато оправдываться в середине статьи, но все же совесть стала чище. И, раз уж мы отвлеклись, еще одно оправдание: я не стану называть реальные системы и давать адреса сайтов — просто из принципа, а не потому, что не знаю.
Замечательно. Итак, из чего же строится неизбушка? А известно из чего: берем три умные теории — теорию А, теорию Б и теорию В. Программисты их штудируют. Потом упрощают (чтобы легче программировать было, да и все равно это было не нужно). Потом соединяют (типа, что-то новое придумали). Причем не путем длительных экспериментов на реальных данных, а эдак, как бы попроще, — скажем, если мы данные на выходе А подадим на вход Б, а результаты объясним как в литературе по В? Отлично! Кодируем!
Этап следующий — удобство использования. Что вы! Какое удобство? Мы адепты Text Mining, нам эти мелочи до фени. Результаты непонятные? Ага, а вы попробуйте три гигабайта информации руками обработать — мы посмотрим, что у вас получится. Не совсем то, что нужно? Ну вы же понимаете, системы интеллектуального анализа данных — это всегда системы нечеткой логики. Тут все просто: нечеткая логика — нечеткие результаты. Вы на третьей странице смотрели? Вот там, в левом углу? Во! А вы говорите — результатов нет!
Я о чем? О том, что системы Text Mining — огромное поле для спекуляции. Если, к примеру, в электронной таблице все четко и ясно (работает — значит, работает, считает — значит, 2х2=4, а если не 4, то кому они нужны, такие таблицы) — то здесь все очень расплывчато. Хочешь попробовать новую систему? Ага. Так мы тебе и дали попробовать систему за 18 (Personal) или 53 (Enterprise) тысячи долларов. Смотри результаты тестовых прогонов у нас на сайте. Вот и получается — смотришь одну лишь систему. На сайте, как пример системы рубрикации, — новости месячной давности, разбитые по рубрикам. Причем на глаз разбиение выполнялось так: в рубрику «Компьютеры» шли все тексты, где встречался хоть один компьютерный термин (из ста предварительно заданных). В рубрику «Президент» — где встречалось слово «президент». Или «Путин». Или, на всякий случай, «Кремль». Нет, я не спорю, такой системы за глаза хватит примерно 80 процентам пользователей. Но, братцы. Ей ведь цена — 30 рублей в базарный день. А между прочим, уважаемая фирма. Практически самая известная в Рунете (не говорю — в России, не знаю я, как у них там с продажами и пользователями).
Едем дальше. Другая система предлагает протестировать ее «составитель рефератов» прямо на сайте — копируешь туда текст, а он через тридцать секунд выдает краткую аннотацию на 90, 150 или 200 слов. Скопировал. Выдал. Только почему-то аннотация эта подозрительно напоминает первые 90, 150 или 200 слов моего текста (для придир — я перепробовал с десяток совершенно разных текстов).
Едем еще дальше. Толстый компьютерный журнал. Публикует обзор восьми самых известных систем Text Mining. Ни одного примера применения. Никаких достоинств-недостатков. Никаких мнений экспертов. Похоже, информация о каждой системе — описание с сайта производителя. «Мощные интеллектуальные алгоритмы, основанные на статистической обработке». Чтобы понять смысл этой фразы, впору применить парочку инструментов Text Mining. Создается впечатление, что никому, кроме самих продавцов, системы не нужны. Вроде гербалайфа.
Но ведь кто-то же их покупает за эти страшные деньги! Да и идеи-то заложены правильные, за этими методами — вроде как будущее человеко-компьютерного взаимодействия. Да только вместо того, чтоб теорию двигать, разработки разрабатывать, проще сделать системку побыстрее, назвать покруче и продать подороже. Я тут опрометчиво сказал, что бывают теории опубликованные, а бывают тщательно скрываемые, как know-how. Забыл упомянуть про третий (и, к сожалению, самый распространенный) тип — отсутствие теоретической базы, тщательно прикрываемое громкими словами и маской know-how — не беспокойтесь, мы все равно знаем лучше.
Такая вот неизбушка.
Зачем…
— Шейчаш я тебе покажу, хто это и жачем это, штоматолог чертов!
Змей Горыныч
Зачем же нас обманывают? Почему эти системы создают люди, предел способностей которых — второсортные офисные приложения?
И вы еще спрашиваете? Неужели это не очевидно?
Впрочем, в качестве подсказки позвольте провести коротенький сравнительный анализ. Предположим, вы глава софтверной фирмы. И пишете, к примеру, офисные приложения. На что вы можете рассчитывать? Во-первых, переплюнуть Microsoft вы не сможете. Ну просто не сможете и все, примите это как печальный факт. Остается писать что-то, что не охвачено редмондцами. Во-вторых, куча конкурентов, которые начинали лет на десять раньше вас. В-третьих, купив основные офисные приложения по $300 за пучок, вряд ли ваш потенциальный пользователь выложит за какую-нибудь полезную примочку больше 100–150 у.е.
В-четвертых, малейшее сообщение об ошибке, или кнопочка покрашена не так, или справка не в том формате — и все — привередливый пользователь крутит носом и покупает продукт одного из 85 с половиной конкурентов. И, наконец, в-восемнадцатых, как-то несолидно говорить о фирме: «наша специализация — офисные приложения». Несовременно, что ли.
Это одна сторона банкноты. А вот обратная: у вас Суперсовременная Исследовательская Фирма. Вы занимаетесь интеллектуальным анализом текста и придумали свой новейший метод. Или не придумали, а где-то вычитали и реализовали. Но никому не признаетесь. Сравним ваши перспективы с судьбой гипотетического автора офисных приложений. Во-первых, признанного хедлайнера в этой области еще нет, и никто не мешает вам стать Самым Крутым. Во-вторых, практически ни одна из систем конкурентов не дает удовлетворительных результатов и поэтому не является особо популярной (ваша, впрочем, тоже не дает, но кого это волнует?). В-третьих, всякая уважающая себя система Text Mining стоит не менее 10 тысяч долларов. В-четвертых, никто не обратит внимания на мелкие недоработки интерфейса, потому что а) тут другое важнее и б) если они вылизали интерфейс, значит, у них алгоритмы слабоваты (таков стереотип). И в конце концов, как приятно при встрече с коллегой на вопрос о роде занятий эдак лениво ответить: науку, мол, двигаю…
А теперь представьте себя ни тем, ни другим — а просто человеком, который решил завести наконец-то Свое Дело и размышляет: не то офисные приложения писать, не то на острие прогресса податься. Что выберете? Что-что? Лучше неприбыльное, но качественное? Хорош врать-то!
…и почему
…внутре у ней!
АБС. «Сказка о тройке»
В одном из предыдущих номеров «Компьютерры» (том самом, где в пух и прах разносили пиар) была опубликована замечательная статья Экслера. Так вот, автор, помнится, говорил о подмене понятий, которая происходит в современной рекламе: вместо новых технологий — новая голубая и полупрозрачная крышечка. Как ни печально, в области Data Mining происходит то же самое: вместо развития идей — развитие лексикона, в описании систем появляются все новые и новые словечки, а чтобы системы стали работать лучше — так нет же! Но есть одна крупная и вопиющая разница: единственное, в чем можно упрекнуть новый принтер, — так это в наличии пижонской голубой крышечки, а с задачей своей он вполне справляется. Если же вы купите систему анализа текста «с самыми современными технологиями», то самый большой плюс этой системы — в названии. То есть подмена понятий произошла раньше, чем прогресс системы принес реальные плоды.
Да, у нас есть много теорий, которые теоретически должны работать (пардон за каламбур). Впрочем, наилучшие результаты эти теории показывают на тестовых данных, удовлетворяющих двадцати восьми заумным требованиям (из которых шесть — взаимоисключающие). Да, в каких-то случаях все это работает… если рядом стоит старичок Машкин Эдельвейс Захарович, изобретатель, и барабанит по клавишам. Но, черт возьми, ведь эти технологии по сути своей — почти пресловутый ИИ, золотое дно и ответ на все вопросы. А что мы имеем? Ведь текстовый редактор, в котором можно набирать только восемь букв, да и то — японских, а чтобы отформатировать текст, надо его восемь дней настраивать, — это нонсенс! Почему же, когда дело доходит до «святая святых», «работы со знаниями», — такой уровень функциональности становится нормой и никого не удивляет? Печальная история…
Часть третья, итогово-неопределенная
— Г-голубчики, — сказал Федор Симеонович озадаченно, разобравшись в почерках. — Это же п-проблема Бен Б-бецалеля. К-калиостро же доказал, что она н-не имеет р-решения.
— Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетинившись. — Мы хотим знать, как ее решать.
АБС. «Понедельник начинается в субботу»
Вот мы и дошли до самого забавного (если до этого места кто-нибудь дочитал). Самое забавное, что когда на критику ответить нечего, то проще всего сказать: «Критиковать, мол, каждый может. Ты что-нибудь конструктивное предложи». Ладно. Пусть будет так. Добавлю и свои рубль двадцать в общую копилку.
Сразу уточню: я не издавал ни восьми монографий, ни тысячедолларовых программ. Все нижесказанное — исключительно мои выводы и мнения, по-русски — ИМХО.
В «Компьютерре» после выхода #504–505 («Мышление и мозг») хорошим тоном стало в статьях о высоких знаниеориентированных технологиях принимать за аксиому, что мышление человеческое не поддается алгоритмизации и дискретизации и, как таковое, не может быть имитировано (моделировано) компьютером. Если не оспаривать это мнение (а автор не чувствует в себе достаточно нахальства, чтобы этим заниматься), то выходит вот что. Проанализировать текст, чтобы понять его смысл, выдать ключевые слова, оценить релевантность запросу, отнести к какой-либо категории (типичные задачи интеллектуального анализа текстов) — задача сугубо человеческая. Тут не то что алгоритмизировать, тут попробуй корректно поставить задачу. А ну-ка, с ходу, хотя бы одно строгое определение понятия «релевантность информации запросу». Какие из найденных файлов лучше всего соответствуют запросу пользователя? «Те, которые содержат информацию, интересную пользователю»? Ну и откуда этой железяке (Pentium 4 1?7 ГГц 512 Мбайт, 80 Гбайт) знать, что именно мне интересно в данный момент?
Так что же, спросит нетерпеливый читатель, так-таки все эти «новые технологии» — сплошной треп? Или автор просто ведет к какому-нибудь эффектному сюжетному ходу, чтобы объяснить на пальцах, как складывать два и два, чтобы получалось четыре?
Правда в том, что автор не знает. Он может лишь предположить, что автоматическим применением к входным данным трех-четырех простых преобразований (как, собственно, и работает сейчас большинство систем) — проблему не решить. Что без глубоких знаний о структуре языка и речи составлять реферат сколько-нибудь реального документа — практически бессмысленно. Что нужны совместные усилия филологов и психологов, лингвистов и программистов, только чтобы понять, что это такое — Дар, извиняюсь за выражение, Слова и Речи, Анализа и Синтеза, Восприятия и, опять же, Осмысления. Тут, господа, не на рынке торговать нужно, а вкалывать, чтобы только пыль из гигабайтов летела.
Но, впрочем, это уже излишне. Ведь системы-то и так продаются. А что будет завтра — можно только предполагать.
И что будет?
— Неизбушка меня не интересует, — говорит режиссер.
— Но она готова? Неизбушка готова?
— Какая неизбушка?
— Обыкновенная. Самая простая, нормальная неизбушка — готова?
Уже было
Позвольте рассказать вам притчу. В 70-х годах прошлого века неглупые люди придумали занятную теорию. Обещала эта теория — просто золотые горы. А именно — по любым числовым данным определять скрытые зависимости. На входе имеем: количество зонтиков в штате Огайо пять лет назад и результаты президентских выборов в том же году. Обучаем систему. Обученной задаем количество зонтиков в штате Огайо по результатам последней переписи. Система скрипит 30 секунд и предсказывает результаты грядущих выборов с точностью до сотой доли процента. Все. Сбылась извечная мечта человечества — мы научились предсказывать будущее. Минобороны США вкладывает в новые технологии миллиарды, биржевые игроки и финансовые воротилы готовы на все, лишь бы приобщиться к благам, которые обещает эта идея. И что? Пшик. На одно верное предсказание — три десятка абсурдных. Значит, шарлатанство. Значит, обман. Не использовать, прекратить финансирование исследований, стереть с лица земли. Двадцать лет понадобилось, чтобы убедиться, что теория нейронных сетей (а именно о ней шла речь) — не шарлатанство. Просто нужно уметь ее применять и видеть ее ограничения. А при этих условиях — пользы от нее существенно больше, нежели вреда. И сам автор, прослушав лекцию о нейронных сетях в университете (стандартный курс для всех кафедр), а затем, услышав от знакомого (и авторитетного) преподавателя «нейронные сети? а что, это кому-то еще нужно?», возвращается на работу в солидную фирму, разрабатывающую программные системы для предсказания с помощью нейронных сетей и успешно ими торгующую. По 100–200 долларов.
Чувствуете аналогию? Точно так же все эти методы и технологии Text Mining, которые сейчас продают как некую панацею, вполне могут завтра стать шарлатанством и лишь через двадцать лет опять оказаться на коне. Одна надежда, что пользователь, наученный горьким опытом нейронных сетей, гербалайфа и еще пары сотен подобных «панацей», не слишком-то поверит рекламе, а поверит своим глазам и не пропустит момента, когда технологии догонят и перегонят рекламу, описание систем превратится в перечисление способов реального применения, каждому воздастся по потребностям (и возьмется по способностям), и добро навеки победит зло.
А пока — добро пожаловать. Неизбушка готова.