A computer program product, comprising a computer readable storage device having computer readable code stored therein, said code containing instructions configured to be executed by a processor to implement a method for teaching an object of a deictic reference to a machine, said machine having a conversational system, said machine comprising the processor and the storage device, said machine selected from the group consisting of an automobile and a robot, said method comprising:
- said processor teaching the object of the deictic reference to the machine which results in the machine learning the object, said teaching comprising:
- said processor receiving, from a user, a voice command that declares a name of the object and analyzing a physical pointing gesture, by the user, that points to the object;
- in response to said analyzing the physical pointing gesture, said processor finding an item in a region indicated by the pointing gesture and determining that a reference describing the item is not in a dictionary of the machine;
- in response to said determining that a reference describing the item is not in the dictionary of the machine, said processor shining a laser light on the item and in response, said processor receiving a negative spoken indication from the user that the item shined on by the laser light is not the object;
- in response to the negative spoken indication from the user, said processor interacting with the user in an iterative procedure, wherein during each iteration of the procedure, said processor shining the laser light on a portion of the item or on something thing that is physically coupled to the item and in response, said processor receiving from the user (i) a first spoken indication that the laser light has shined closer to the object than in the previous iteration, (ii) a second spoken indication that the laser light has shined further from the object than in the previous iteration, or (iii) a third spoken indication that the laser light has shined on the object, wherein the machine learns the object in a final iteration of the procedure in which the processor receives the third spoken indication from the user;
- said processor storing the learned object and the voice command in a storage repository, and
- said processor executing a task with respect to the learned object.