Информация

Обсуждало 2 человека

Опрос от автора

Чтобы принять участие в голосовании, зарегистрируйтесь, пожалуйста!

Ключевые слова, ассоциации, связи и последовательности

Логика и программирование
14 июля 2011 в 01:36:57

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

Смысл его заключается в просмотре новостей заданного RSS канала и определение "отношения" к этой статье (позитивное, негативное или нейтральное), естественно, пока что на основе заранее заданных в базе параметров. Кроме "отношения", этот анализатор также выдает дополнительную информацию (например, место происшествия и количество погибших).

Одна из первых версий, которую я умудрился написать, основывалась на ключевых словах и ограниченном количестве ключевых слов (их было до 10: дата, число, существо, происшествие...), не могла оценивать новость (т.к. была ориентирована только на негативные статьи) и все ее возможности упирались в объемы ассоциаций (т.е. количество слов в базе). И, естественно, она не выдавала прямой информации о содержимом. Основной ее задачей был поиск последовательностей, на основе наличия в тексте ключевых слов. После определения всех последовательностей некоторые из них отсеивались. Вот пример работы анализатора с одной из статей (строка - последовательность, выделенные слова - ключевые).



Вчера опять получилось присесть за этот анализатор. Теперь основу всего составляют ассоциации. Ассоциация это обычное слово, например "собака" или "кот". Заполнение базы анализаторами, как и прежде, увеличивает кругозор анализатора. Определенные ассоциации, например, "животное", становятся ключевыми словами. Эти ключевые слова объединяют в себе другие ассоциации ("животное" объединяет "собаку" и "кота"). В свою очередь ключевые слова могут являться ассоциациями для других ключевых слов, тем самым строя большую пирамиду взаимосвязей, улучшая поиск в тексте и максимально обобщая воспринимаемые данные, упрощая тем самым восприятие.

Последовательности сейчас остались неизменными, но к числу объектов прибавились связи, которые позволяют улучшить точность объединения слов в последовательности и отбрасывание из несвязанных ключевых слов подальше. Связи представляют собой правила или условия взаимодействия одного ключевого слова с другим, позволяя обобщить ключевые слова в одно ("15 августа" в виде ключевых "число месяц", и с использованием связи объединяются в одно ключевое слово "дата").

Сейчас, в новом анализаторе работает все кроме связей :P... Улучшена обработка статьи, поиск выдает более правильные значения, чем в первой версии и имеет подготовленный костяк для внедрения связей. Не знаю, будет ли это кому-либо интересно, но как буду близиться к результату, выложу здесь пример работы. Возможно, этот анализатор можно будет использовать не только в целях анализа новостей и генерации уровней одно из задуманных проектов >;D...

Обсуждение (вниз)

Не хватает только вашего мнения. Зарегистрируйтесь, чтобы написать!

16 августа 2011 в 19:58:51

Уже готов огромный инструментарий для заполнения базы и на 75% готов генератор уровней (осталось только реализовать объектную модель, будет время, так до сентября и закончу), а потом можно будет и что-нибудь другое с ним сотворить ;).




16 июля 2011 в 00:36:26

Немного заполнил базу, испробовал на некоторых новостях, включая http://www.un.org/russian/news/fullstorynews.asp?newsID=15921 (она использовалась и на рисунке в самой статье).

Ниже еще один рисунок, обработанные данные уже на последнем этапе (выбрал из последовательностей происшествия, количество смертей и даты, здесь можно увидеть даже сложную дату):

15 июля 2011 в 15:13:49

Добавил пока простые связи, которые связывают соседей, хоть и просто, но радует, что работает... :)... На следующей недели постараюсь выбить время и добавить еще несколько более сложных связей и улучшить качество кода, потому что в некоторых местах все же есть унылые кусочки >;D...

На неделе еще постараюсь более-менее заполнить базу, можно будет уже показывать и пробовать.

15 июля 2011 в 01:41:11

Ну просто сам проект очень весомый, решили в него мега крутой генератор уровней с неким подобием ИИ всунуть :)....

15 июля 2011 в 01:24:51

"Ну я в самом конце написал, что сейчас он нужен только для генерации уровней для 3D арканоида (т.е. смотрим, что именно произошло, где, сколько жертв, выводим определенную таблицу, по ней расставляем блоки различных цветов и размеров)... :)"

Даааа... Ну тут действительно никак не обойтись без такого анализатора :-)

14 июля 2011 в 11:43:23

Удобно было бы при анализе текстов, например вводим в поиск "фамилия", мне подсвечиваются все найденные фамилии по ассоциациям. Таких сервисов не видел, а фурор бы имели шанс произвести не малый.


Можно будет потом попробовать...

14 июля 2011 в 11:22:00

Было бы значительно легче понять смысл проекта, если бы была раскрыта конечная цель его... если, конечно, это не секрет...


Ну я в самом конце написал, что сейчас он нужен только для генерации уровней для 3D арканоида (т.е. смотрим, что именно произошло, где, сколько жертв, выводим определенную таблицу, по ней расставляем блоки различных цветов и размеров)... :)

14 июля 2011 в 10:39:20

Удобно было бы при анализе текстов, например вводим в поиск "фамилия", мне подсвечиваются все найденные фамилии по ассоциациям. Таких сервисов не видел, а фурор бы имели шанс произвести не малый.

14 июля 2011 в 01:43:07

Было бы значительно легче понять смысл проекта, если бы была раскрыта конечная цель его... если, конечно, это не секрет...
Fundux.ru v.3.0 © 2006-2021 AleXNoD
Портал русских флеш игр и flash мультов