Уже на протяжении нескольких месяцев, когда выпадает возможность, возвращаюсь к работе над особым видом анализатора новостей.
Смысл его заключается в просмотре новостей заданного RSS канала и определение "отношения" к этой статье (позитивное, негативное или нейтральное), естественно, пока что на основе заранее заданных в базе параметров. Кроме "отношения", этот анализатор также выдает дополнительную информацию (например, место происшествия и количество погибших).
Одна из первых версий, которую я умудрился написать, основывалась на ключевых словах и ограниченном количестве ключевых слов (их было до 10: дата, число, существо, происшествие...), не могла оценивать новость (т.к. была ориентирована только на негативные статьи) и все ее возможности упирались в объемы ассоциаций (т.е. количество слов в базе). И, естественно, она не выдавала прямой информации о содержимом. Основной ее задачей был поиск последовательностей, на основе наличия в тексте ключевых слов. После определения всех последовательностей некоторые из них отсеивались. Вот пример работы анализатора с одной из статей (строка - последовательность, выделенные слова - ключевые).
Вчера опять получилось присесть за этот анализатор. Теперь основу всего составляют ассоциации. Ассоциация это обычное слово, например "собака" или "кот". Заполнение базы анализаторами, как и прежде, увеличивает кругозор анализатора. Определенные ассоциации, например, "животное", становятся ключевыми словами. Эти ключевые слова объединяют в себе другие ассоциации ("животное" объединяет "собаку" и "кота"). В свою очередь ключевые слова могут являться ассоциациями для других ключевых слов, тем самым строя большую пирамиду взаимосвязей, улучшая поиск в тексте и максимально обобщая воспринимаемые данные, упрощая тем самым восприятие.
Последовательности сейчас остались неизменными, но к числу объектов прибавились связи, которые позволяют улучшить точность объединения слов в последовательности и отбрасывание из несвязанных ключевых слов подальше. Связи представляют собой правила или условия взаимодействия одного ключевого слова с другим, позволяя обобщить ключевые слова в одно ("15 августа" в виде ключевых "число месяц", и с использованием связи объединяются в одно ключевое слово "дата").
Сейчас, в новом анализаторе работает все кроме связей :P... Улучшена обработка статьи, поиск выдает более правильные значения, чем в первой версии и имеет подготовленный костяк для внедрения связей. Не знаю, будет ли это кому-либо интересно, но как буду близиться к результату, выложу здесь пример работы. Возможно, этот анализатор можно будет использовать не только в целях анализа новостей и генерации уровней одно из задуманных проектов >;D...