Искусственный интеллект оценивает интерес к статье еще до ее написания
Провел небольшой эксперимент и получил хорошие результаты. Суть эксперимента проста.

- Экспортировал все заголовки с Liberatum за 8 лет. Там их больше 25 тыс.
- Высчитал среднее количество просмотров в день для каждого.
- Построил частотный словарь слов из всех заголовков.
- Отфильтровал мусор (стоп-слова и низкочастотные).
- Использовал библиотеку FANN и обертку ruby-fann для создания нейронной сети. Каждое ключевое слово — это отдельный input. 1 — слово присутствует, 0 — отсутствует. На выходе популярность (точнее, ее логарифм, отмасштабированный в [0,1]).
- Далее сетка обучалась и тестировалась.
- PROFIT!
Теперь можно вводить заголовок будущей статьи и система спрогнозирует ее популярность. Выдается число типа float в диапазоне от 0 до 1, где 0 — статью по этой теме лучше не писать, 1 — пиши давай, тебя ждут лавры Пушкина.
Круто? Нет! Я не хочу перебирать варианты заголовка в поисках удачного. Я хочу, чтобы искусственный разум сам предлагал мне темы дня написания статей (в идеале пускай бы он сам и писал их, но пока это недостижимо по техническим причинам). Интуиция подсказывает, что можно подавать случайным образом слова и простым перебором отыскивать комбинации с высоким выходом. Но тут есть две проблемы: 1) заголовок не будет связанным (скорее это ключевые слова, которые рекомендуется включить в заголовок); 2) пространство вариантов достаточно большое. Если размер словаря n, а заголовок состоит всего из трех слов, то вариантов для перебора будет n*(n-1)*(n-2). При скромном размере словаря в 1000 слов, вариантов будет чуть меньше миллиарда. Работать с такими объемами невозможно. И тут пора вспомнить о марковских цепях. Дело в том, что слово не может быть вставлено в контекст случайным образом. Мы всегда можем вычислить вероятность появления одного слова по его соседу или цепочке соседей. И можем заранее сказать, какие слова никогда не соседствуют друг с другом, поэтому и нет необходимости эту комбинацию проверять через нейронную сеть. Говоря проще, человек оперирует не словами, а устойчивыми словосочетаниями. Вот их-то и нужно помещать в словарь вместо отдельных слов и подавать на вход сети. Количество вариантов для перебора сильно сокращается за счет сокращения словаря.
Готовлюсь реализовать эту идею и обязательно поделюсь результатами. Web-приложение для желающих поиграться тоже, скорее всего, будет.
О том, как я решал похожую задачу, но без нейронных сетей: «R для продвижения сайта на Drupal».