Александр Дмитриев
Добрый день! Сегодня о том, что собой представляет когнитивная система Watson и как она работает расскажет Александр Дмитриев, бизнес-консультант Клиентского центра IBM в Москве. Он ответит на вопросы, которые возникали у читателей по прочтении других материалов на эту тему.
Александр, на Хабре наши читатели регулярно задают вопросы, основной посыл которых можно уложить в один: «Что такое когнитивная система IBM Watson, и как она работает?» Помогите, пожалуйста, ответить на него.
Здравствуйте. Прежде всего, Watson в целом – это большой набор пакетов программного обеспечения, использующих самые разнообразные алгоритмы. Часть этих пакетов доступна в облаке, а часть – предназначена для местного развертывания. Компания IBM собрала разнообразные аналитические модули и построила систему, которая может справляться с поистине огромным количеством данных. Эта система работает как с цифровой, так и с текстовой информацией на различных языках, в том числе на русском – пока еще на базовом, но все же достаточно глубоком уровне.
При обработке информации устанавливаются связи и корреляции между самыми разными данными, событиями, фактами и явлениями. Одна из главных задач системы — выявление связей, которые незаметны простому глазу и которые не могут быть выявлены обычным способом, либо сделать это стандартными методами сложно. К примеру, если у какого-нибудь предприятия есть система мониторинга, которая выдает тысячи меняющихся параметров за минуту, то ни один аналитик не в состоянии проанализировать такую информацию оперативно. Инструментарий Watson же это позволяет сделать. Это если говорить об IBM Watson в целом.
Я видел вопросы относительно того, является ли Watson искусственным интеллектом. Отвечаю — нет, это не искусственный интеллект. Это – своеобразный усилитель естественного интеллекта человека, который позволяет быстрее обрабатывать информацию, охватывать большие объемы данных и находить то, что проходит мимо человеческого взгляда.
Станислав Лем писал об этом в своей книге «Сумма технологии»: «Человек непосредственно не может соперничать с Природой: она слишком сложна, чтобы он мог ей в одиночку противостоять. Образно говоря, человек должен построить между собой и Природой целую цепь из звеньев, в которой каждое последующее звено будет как усилитель Разума более мощным, чем предыдущее».
Как это делается и зачем? Существует система аналитики верхнего уровня на базе Watson и системы аналитики более мелких уровней. Последние фактически представляют собой поисковые и аналитические системы с определенной спецификой. Они решают прикладные задачи. Как это работает? Заливаем большое количество информации определенной тематики в виде файлов распространенных форматов типа xls и csv. Загружаем эти данные в облако, после чего система Watson Analytics приступает к анализу этой информации, находя корреляции самостоятельно – с минимальным участием оператора. Это и есть небольшое, но очень важное отличие от других систем, поскольку здесь не просто поиск по ранее загруженным данным. Подчеркну – система сама анализирует загруженную информацию.
Что значит — сама? Система так настроена, что она просматривает все загруженные данные, проводит их очистку, указывая на технические проблемы вроде несовпадения форматов, пробелы, пропуски. Человек выбрасывает все экстремумы, которые являются ошибками или поводом для отдельного рассмотрения, выбирает метод обработки. Далее система занимается анализом данных, ищет корреляции, находит наиболее сильные и показывает оператору несколько гипотез с корреляциями, скажем, от 0,3 до 0,8.
Эти задачи я бы назвал условно задачами нижнего уровня. Они предназначены для того, чтобы упростить и ускорить работу аналитика. Рутинные операции автоматизируются самой системой. Это если говорить о Watson как системе поиска корреляций в массивах больших данных. То, на что шести аналитикам потребуется около недели, система IBM Watson Analytics через облако делает примерно за два часа. Насколько сложно работать с Watson? Я однажды провел эксперимент, усадив за систему людей, более-менее разбирающихся в статистике. Они в первый раз видели интерфейс. Через полтора часа они уже самостоятельно и весьма активно работали с ней.
Верхний уровень — это большие системы, внедрение которых требует значительного времени (от полугода и выше). Их принцип работы основан на идее исследования Gartner, в котором говорится, что к 2030 году общая квалификация специалистов в большинстве индустриальных отраслей существенно снизится. Один из факторов этого можно пояснить. Дело в том, что специалист, который привык (и которому по долгу службы нужно) постоянно пользоваться справочной информацией, уже не считает нужным помнить все то, что помнили специалисты «старой закалки» (от высоты стратосферы до точки кипения меди). Новое поколение охотно прибегает к интернету как к справочнику и не держит все необходимые знания в голове. Получается, что специалист становится в определенной степени зависим от машинных систем, а общий уровень его квалификации соответственно понижается. Это раз.
Второе, зачем нужны такие сложные системы? У нефтедобывающих и многих других корпораций огромная проблема — это передача информации от «поколения к поколению». Например, предыдущим коллективом сотрудников накоплен архив очень ценной технической информации. Но вот проблема — его никто в состоянии прочитать. Ведь на это нужно огромное количество времени. Специалисту для того, чтобы с этой информацией, ознакомиться, потребуется несколько лет — это человек должен читать сутками напролет без еды и отдыха.
Так что, обучение новых работников – дорогостоящая проблема. Смена кадров на крупных предприятиях – тут могут быть сотни и тысячи специалистов в год. Ушел человек — и с ним ушел бесценный опыт и знания. Как передать опыт? Путем записей? О них мы говорили выше.
Получается, что на уровне транснациональных корпораций, где огромное количество данных, номенклатуры, сотни тысяч человек персонала, требуется создать определенную систему, которая накапливала бы данные определенной тематической специализации. В идеале этой системой можно пользоваться не просто как справочником, но как справочником, который дает советы.
В чем же задача системы Watson верхнего уровня?
Огромное многообразие аналитических пакетов, входящих в общий инструментарий Watson, собираются воедино, из них выбираются нужные пакеты, которые будут обрабатывать информацию по определенному методу. Ну а в систему после этого загружаются данные любого типа — цифровые, протоколы совещаний, деловая переписка и переговоры, связи, контакты, цены, номенклатура оборудования, учебники по нефтяной промышленности, отчеты за различные периоды времени. На это может потребоваться больше года, но в результате создается пул основной базы знаний корпорации, которым можно активно пользоваться.
После этого настраиваются алгоритмы, которые позволяют анализировать информацию, детализировать ее, выделять и строить дерево актуальных тем — для той же «нефтянки» это наладка оборудования, разработка пластов, статистика, тенденции в технологиях и т.п. Все это собирается по темам, создается система подсказок. Системы такого рода, разработанные специалистами IBM, уже функционируют в ряде корпораций, включая австралийскую компанию Woodside Petroleum.
Сказанное выше можно проиллюстрировать примером. Есть главный инженер на предприятии, он дает задание пробурить скважину в пласте, по которому есть актуальные данные. Тот, кому дали задание, обращается к системе на естественном языке: «Что нужно сделать, чтобы пробурить скважину в таком пласте до такой-то глубины?» И система дает ответ, она работает как подсказка по конкретной нефтяной задаче. Сконфигурированная для «нефтянки» система делает подборку документации с выводами, и «говорит» — вот раньше поступали так, но при этом возникали такие-то проблемы, которые можно решить вот так. Вот это и есть система Watson — она подсказывает то, что человеку нужно делать в конкретном случае, выступает в качестве помощника.
Может ли система Watson работать онкологом, метеорологом, кем-то еще?
В качестве советника или помощника – да, безусловно. Под IBM Watson понимается общая система продуктов для любых прикладных сфер. Но в каждом конкретном случае необходимо настраивать систему для решения специфических вопросов.
В случае онкологии — это создание базы данных по конкретному заболеванию, например, раку легкого. В систему загружают огромное количество данных, включая деперсонализированные истории болезней пациентов. После этого врач задает вопрос о методе лечения конкретного пациента, и система дает ответ с учетом индивидуальных особенностей человека. Watson не берет на себя функции врача – все равно именно врач будет ставить диагноз и назначать лечение, но она помогает персонализировать лечение, очистить необходимые данные от ошибок и сделать подборку наилучших на данный момент вариантов лечения именно этого пациента.
Это важно, что система также проверяет все данные на легитимность и ошибки, поскольку в тех же врачебных данных могут быть ошибки. Проблема врачей (да и не только врачей, а современных специалистов вообще) еще в том, что они не успевают обучаться всему новому. Это не их вина. Просто если есть много работы, а у квалифицированного специалиста она всегда есть, то времени для обучения не хватает. Поэтому те же врачи часто используют не самые современные методы. А система Watson может предложить новый метод лечения, даже несколько методов, с определенной вероятностью излечения пациента и фиксированной степенью риска для его здоровья. И врач, посоветовавшись с пациентом или родственниками больного, может принять решение на основе этих данных. Еще раз стоит подчеркнуть, что ответственность лежит на враче, ведь ответы системы носят рекомендательный характер. Врачу система помогает, предоставляя самую новую информацию о том, какие методы подходят для конкретного больного.
Каким образом IBM Watson работает с естественным языком? Может ли система понимать контекст литературного произведения?
Однозначно, да. Но вопрос — зачем? Еще вопрос — кому это нужно, и кто за это платит? При работе с языком в плане обработки литературного произведения необходимо рассматривать текст в связи с историческим контекстом самой работы. Система может все понимать, если ей поставить такую задачу, включая произведения О. Генри, переводы которого лучше всего получались у Корнея Чуковского. Нужно сказать, что системы, работающие с языком, так же настраиваются и обучаются. В простейшем случае это тривиальный парсинг, то есть разбор очистка текста от излишней информации. Что касается Watson, то это, в первую очередь, создание словарей разных языков. Систему в любом случае нужно обучать с прицелом на конкретную задачу.
Я лично участвовал в проекте эмоционального анализа. Сегодня Watson улавливает эмоциональную окраску текста. Например, она научилась определять иронию. В целом, здесь снова речь заходит о выявлении корреляций. Что касается той же иронии — ее придумали еще древние греки. Кажется, любой человек распознает ее по каким-то определенным признакам. Если машину научить улавливать эти признаки, она тоже научится определять иронию.
Повторюсь, возможности системы определяются актуальностью решаемой задачи. В основном, в помощи IBM Watson нуждаются крупные компании, которым вряд ли нужно в первую очередь определять иронию в отчетах своих сотрудников (хотя и такое, наверное, бывает). А вот для них, в случае необходимости, мы настраиваем систему таким образом, чтобы она могла определять отношение пользователей/покупателей к брендам и продуктам компаний.
Пример: в Испании более двух лет назад был реализован крупный проект по оценке отношения пользователей к бренду. Заказчиком выступала крупная компания, которая попросила проанализировать отношение к ней по различным источникам, включая социальные сети, газеты, журналы и т.п. Это было с успехом проделано. В ходе такой работы мы выделяем и анализируем ложные данные, которые имеют отношение к подделкам, которые бросают тень на репутацию оригинального бренда. В настоящий момент этой системой пользуются известные мировые бренды, проект очень удачный и позволяет повышать эффективность продаж.
В целом, Watson решает конкретные задачи. Делать система может многое, что именно — определяется в зависимости от общей постановки задачи и ее направленности.
Вопрос — границы возможности системы. Возьмем пример — если взять того же О. Генри, можно ли настроить Watson на литературный перевод произведений этого автора, и сколько времени на это потребуется? Скажем, это понадобилось издательству, которое готово за это платить.
Ответ — однозначно можно. Но я не могу ответить точно, сколько времени на это потребуется. Это вопрос усилий и вложений.
Любая специализированная система Watson, будь то «медик», «финансовый аналитик» или «инженер» требует участия специалистов. В этом случае я бы набирал команды лучших лингвистов по теории и практике языка. Часть команд будет составлять словари, идиомы, искать данные по текстам, корреляции между русскими словами и английскими. Зачем? Одно слово на любом языке может значить очень многое. В словари и будут попадать такие слова, с указанием максимально обширного спектра их знания.
После этого нужно приступить к решению второй задачи. А именно — загнать в базу тексты переводов О. Генри, которые считаются наиболее качественными и удачными. Затем Watson для поиска подходящих по смыслу слов будет использовать методику оценки корреляций с максимальными значениями. Выбирать система будет различные варианты перевода от простого к сложному (слова, фразы, предложения и т.д.). В ходе этого процесса понадобятся группы экспертов, которые будут дополнительно обучать систему. Они будут корректировать переводы, проводить тонкую настройку для того, чтобы после такого обучения система Watson начала давать действительно хорошие переводы. Это так и работает — первый перевод будет не очень хорошим, второй — получше, а потом — очень хорошим. Большой плюс Watson в том, что систему можно донастраивать, благодаря обратной связи. Ведь без обратной связи система просто потеряет управление. Обратная связь позволяет системе в динамике, в ходе работы уточнять и корректировать основную цель. В нашем случае обратную связь обеспечивают специалисты в предметной области. Если это нефтяная компания, как Woodside, то лучшие эксперты будут отмечать лучшие, удачные ответы системы, и система это будет запоминать, постепенно улучшая качество выдаваемых рекомендаций. Так что у Watson есть еще одно преимущество. Если большинство систем со временем устаревает и требует переделки, то данная система со временем только набирается опыта и становится еще мощнее.
Еще вопрос — есть ли какие-то задачи, которые Watson не может решить сейчас ни при каких условиях?
Есть очень важный аспект — этический. Часть задач нерешаема потому, что существующие вопросы выходят за рамки технических систем. В качестве примера можно привести робомобиль. Грубо говоря – на кого или во что наедет автомобиль, если невозможно избежать столкновения, но есть выбор – скажем, в стену, пожилого человека или беременную женщину? Водитель-человек ведь все равно сделает свой выбор. Но машина — нет, она выбор сделать не может, поскольку этот вопрос пока не решен ни юридически, ни этически. И в машину эти знания и правила поведения в экстремальных ситуациях просто пока нельзя заложить. Это первый класс задач, пока не решаемых, поскольку не решен целый ряд этических, юридических, социальных и других проблем, связанных с самими задачами.
Второй класс — чрезвычайно сложные технические задачи, которые потребуют огромного количества ресурсов. Для того, чтобы понять, есть ли решение такой задачи, нужно хотя бы попробовать ее решить. Пример — тот же, что и с текстами О. Генри. Пока этого никто не делал. Вероятно, если постараться, то все получится, но точно мы сказать сейчас не можем.
Подводя итог сказанному, я хочу высказать уверенность в том, что решить можно практически любую задачу. Если сейчас кажется, что на какой-то вопрос нельзя получить ответ, спустя время находится человек, который дает идею, открывающую невиданные прежде возможности. Пример: одно время считали, что состав звезд определить нельзя, и этого нельзя будет сделать никогда. Но вскоре изобрели спектрограф, и тут же определили, что превалирующий элемент в составе звезды — гелий. Спустя некоторое время состав звезд научились очень точно определять.
Регулярно находятся решения, которые кардинально меняют видение нашего мира. Границы возможного установить сложно и, честно говоря, я бы их даже не ставил.
Каким вы видите IBM Watson в будущем?
Как уже говорилось выше, Watson в общем виде можно описать как систему, которая помогает человеку принять решение в условиях большой неопределенности. Я полагаю, что, как и все другие системы, она станет существенно дешевле, станет более универсальной, ее можно будет использовать в других сферах.
Я думаю, что это будет универсальная система подсказок, которая сможет отвечать на широчайший круг вопросов и которая станет нам привычной. Причем отвечать она будет не так, как современные поисковики — не просто давать ссылки на источники в интернете, а предоставлять рекомендации с указанием источника информации и используемых методик.
Автор: IBM