In previous works, Juba and Sudan [6] and Goldreich, Juba and Sudan [4] considered the idea of "semantic communication", wherein two players, a user and a server, attempt to communicate with each other without any prior common language (or communication protocol). They showed that if communication was goal-oriented and the user could sense progress towards the goal (or verify when it has been achieved), then meaningful communication is possible, in that the user's goal can be achieved whenever the server is helpful. A principal criticism of their result has been that it is inefficient: in order to determine the "right" protocol to communicate with the server, the user enumerates protocols and tries them out with the server until it finds one that allows it to achieve its goal. They also show settings in which such enumeration is essentially the best possible solution. In this work we introduce definitions which allow for efficient behavior in practice. Roughly...