Intelligent semantic agents