Patent ID: 8160979

Claim:
An apparatus comprising: a processor; a memory; and a virtual agent programmed to: receive a question from a user; compare the question against a set of queries in a database, the database being associated with the virtual agent; assign a point value to each of the set of queries that indicates whether the corresponding one of the set of queries matches said question; identify one of the set of queries that is a closest match to said question based upon the point value that has been assigned to each of the set of queries; determine to which of a set of ranges the point value of the closest match corresponds, wherein a first one of the set of ranges indicates that a match to the question has been found in the set of queries in said database, wherein a second one of the set of ranges indicates that a tentative match to the question has been found in the set of queries in said database, and wherein a third one of the set of ranges indicates that no match to the question has been found in the set of queries in said database; and perform an action responsive to which of the ranges the point value of the closest match corresponds such that, when the point value of the closest match corresponds to the second one of the set of ranges, the virtual agent presents the closest match found back to the user and seeks confirmation that the closest match matches the question, wherein when the user confirms that the closest match matches the question, the closest match is treated as a match to the question.