Emergent Semantics and Cooperation in Multi-Knowledge Environments: the ESTEEM Architecture