Из всех задач, с которыми мы столкнулись в ходе исследований, разбор зависимостей требует наибольшего объема вычислительных мощностей. Обработка одного романа занимает до пятнадцати часов, а романов у нас были тысячи. К тому же после разбора нужно было пройти по всем текстам еще раз, чтобы извлечь интересующие нас сочетания подлежащего и сказуемого. Это настолько трудоемкий процесс, что нам понадобился кластер из тысячи компьютеров, чтобы обрабатывать тысячу книг одновременно.
С точки зрения сложности вычислительных задач самой простой, вероятно, была описанная в 3-й главе – построение сюжетных графиков на основе слов, означающих эмоциональное состояние героев. Ученые, работающие в этой области (она называется «анализ тональности текста»), разработали несколько подходов к исследованию слов, обозначающих эмоции. Самые совершенные из этих методов делают выводы на основе статистических данных – примерно так же, как и программы разбора по частям речи и разбора зависимостей. Сейчас эти методы используются для анализа отзывов потребителей о товарах и услугах, а также для определения общего эмоционального настроя различных текстов, в том числе электронных писем. Мы экспериментировали с разными методами анализа тональности, но оказалось, что для выделения эмоционально нагруженных слов из текста более простые методы работают лучше.
В методе, который мы сочли наиболее эффективным, использовалось несколько специальных словарей, содержащих эмоционально окрашенные слова. Эти «словари эмоций» представляют собой просто списки слов, для которых указана эмоциональная окраска (положительная или отрицательная) и «валентность». Например, слово «любить» имеет сильную положительную окраску, а «ненавидеть» – сильную отрицательную. Мы научили программу читать книгу слово за словом, регистрировать эмоциональную окраску каждого, а затем давать оценку всему предложению. Последовательности позитивно и негативно окрашенных предложений и создают кривые графиков, приведенные в 3-й главе. Возьмем фразу из речи Эймона в «Сфере»: «Я люблю вас, как трава росинку, как птица ветку». Такое предложение алгоритм определит как положительно окрашенное. Вот еще одна фраза из «Сферы» – ее произносит Энни, только что узнавшая, что ее предки были рабовладельцами: «Ты вообще представляешь, какой бардак сейчас у нас в семье?» Неудивительно, что эту фразу алгоритм пометит как окрашенную отрицательно. Количество положительно и отрицательно окрашенных предложений в отрывке текста, как правило, отражает состояние главного героя в текущий момент и показывает, в каком месте сюжета мы находимся.
Все процессы интеллектуального анализа текста, которые мы обсуждали до сих пор, имеют дело с выделением и распознаванием отдельных компонентов текста. После вычленения слов уже легко узнать, как часто каждое из них встречается. Определив границы предложений, можно подсчитать, например, среднюю длину предложения или соотношение объема диалогов с объемом остального текста. Выполнив разбор по частям речи, мы можем исследовать типы существительных, прилагательных и глаголов, используемых разными авторами. Можно даже начать искать закономерности, характерные для одних писателей и отсутствующие у других. Извлеченные существительные можно ввести в алгоритм моделирования тем (как было показано во 2-й главе), а результаты разбора зависимостей позволяют нам исследовать синтаксис предложений и увидеть, какие связки «подлежащее – сказуемое» используются в каждой книге.
Вся эта вычислительная работа – на самом деле лишь подготовка. Обычно ее называют «предобработкой», предшествующей выделению и извлечению параметров текста. Лишь исследовав различные методы извлечения интересующих нас параметров, можно переходить к более интересной работе – использованию этих методов для классификации книг. Эта вторая фаза построения бестселлерометра называется машинным обучением.
Машинное обучение
Машинное обучение – это фильтрация данных, извлеченных на стадии анализа текста. На первой стадии исследований, положенных в основу этой книги, мы проверили 28 000 параметров, чтобы понять, какие из них имеют ценность в построении прогнозов успешности. Это было необходимо для экспериментов по обучению компьютера классификации книг. Мы трудились долго и в итоге отсеяли тысячи характеристик. В конце концов мы пришли к базовому набору из 2799 параметров, которые, по нашему мнению, действительно позволяют предсказать успех книги. Так что мы сбросили со счетов «Нью-Йорк» и «Стокгольм», игнорировали числа в заглавии («1984» и «1 000 000»), но отметили ценность темы человеческой близости (глава 2), глаголов