Trainable communication systems