Pull to refresh

Автоматический анализ текста без модераторов

Algorithms *
Sandbox
Недавно на Хабре появилась статья об автоматическом реферировании статей. Так случайно получилось, что я тоже занимаюсь автоматическим анализом текстов и добился в этом некоторых успехов.

Мне удалось добиться того, чтобы алгоритм находил повторяющиеся и близкие по содержанию тексты. Также он автоматически определяет близость текста к определенным тематикам и выделяет из общей массы те тексты, которые составляют некоторый мэйнстрим. То есть, читателю не придется просеивать всю информацию, чтобы понять главное. С увеличением объема анализируемых текстов автоматически будет отсеяно все некачественное, неинтересное, нецензурное, неактуальное, и т.п.

Идея алгоритма заключается в том, что текст разбивается на цепочки, потом производится их сравнительный анализ, выделяются специальные маркеры, на основе которых принимаются решения.

Анализ производится полностью в автоматическом режиме без модератора и главного редактора. Из-за этого алгоритм иногда ошибается и может поместить текст не в тот раздел, но причина этого скорее в том, что изначальный набор текстов обычно бывает сгруппирован с еще меньшей тщательностью. Со временем алгоритм становится все более и более аккуратным, так как со временем накапливается достаточно статистической информации.

Это не все. Алгоритм способен понимать юмор. Если текст выбивается из общей массы и блистает несуразицами, то алгоритм выделит его и пометит как «Юмор». Алгоритм вполне качественно находит шутки, а если что и не смешно — так это скорее от того, что алгоритм не очень долго работает, всего несколько недель. То есть, он еще не успел понять, что кое что уже и не смешно.

Также в автоматическом режиме можно находить новые идеи. Например, в городе Копейске в роддом провели Интернет, чтобы отцы не стояли под окнами и не выкрикивали своих жен в попытке издалека разглядеть лицо своего ребенка, а смотрели на него через Skype. Или курортникам Ялты советуют носить свисток и вооружаться газовыми баллончиками, так как в городе открыт сезон краж и грабежей. А вот Польша будет рекламировать свои яблоки в России на деньги ЕС.

Идеи выискиваются не всегда интересные, но с накоплением «опыта» и это должно исправиться. Желающие же смогут найти подходящую идею и среди того, что уже выискивается.

Алгоритм действующий и его работу можно посмотреть на сайте nfos.ru. Сайт занимается тем, что собирает новости из нескольких источников, анализирует и публикует все, что посчитает нужным опубликовать. Теперь я могу похвастаться тем, что не напрягаясь знаю все главные новости. Чего и вам желаю.

Например, вы уже знаете, что на Навального завели дело по подозрению в рейдерстве? Или слышали ли вы о том, что в Пакистане продано рекордное количество портретов Осамы?

Я так думаю, что алгоритм сгодится не только для анализа текстов, но и для анализа изображений и других неструктурированных данных или данных с не очевидной структурой. Например, для отсеивания шума, для расшифровки, анализа алгоритмов по результатам их работы и т.д. и т.п. Алгоритм потенциально сгодится для предсказания котировок акций и курсов валют, но до всего этого я вряд ли доберусь в ближайшее время, так как времени не хватает.

Весь алгоритм анализа уместился в 40 кбайт кода PHP плюс порядка 70 кбайт кода для оформления новостного ресурса. Согласитесь, что для появившегося функционала это просто мизер. Но на что действительно алгоритм прожорлив, так это на занимаемое пространство. За несколько недель накопилось уже более 1,5 гбайт информации в базе данных. И объем этот постоянно растет.

Алгоритм практически не чувствителен к сбоям. Если в какой-то момент времени в базу данных попадет неточная, искаженная, ложная, сбойная информация, то она либо не повлияет на дальнейший анализ, либо ее влияние со временем станет ничтожным.

Напоследок хочу сказать, что для анализа не потребовался мощный хостинг. Все новости из порядка 150 источников анализируются на дешевом хостинге FirstVDS-Разгон который обходится в 249р/мес. Процессорного времени, конечно, маловато, но это заставило меня оптимизировать алгоритм, что удалось сделать без видимых потерь.
Tags:
Hubs:
Total votes 65: ↑52 and ↓13 +39
Views 13K
Comments 107
Comments Comments 107

Posts