1. A method for monitoring and protecting against unauthorized access of a computer system comprising: automatic monitoring of all authorized users' patterns of use of the computer or computer system; constructing and storing a unique use profile of each authorized user based on the user's monitored patterns of use; performing an interactive or free form natural language learning session with each authorized user; making inferences about users' personalities based on the learning session; constructing and storing a unique personality profile of each authorized user based on the learning session; continuously monitoring all real-time users' patterns of use; comparing for deviation a real-time user's patterns of use to the stored unique use profile assigned to an authorization code, key, password, or other identifying feature used by the real-time user to gain access; updating the real-time user's unique use profile if the comparison deviation is no greater than a predetermined magnitude; interrogating the real-time user with questions from the stored unique personality profile assigned to an authorization code, key, password, or other identifying feature used by the real-time user to gain access if the comparison deviation is greater than a predetermined magnitude; and logging off the real-time user and blocking further access by the user whose interrogation responses do not match, to a predetermined level of accuracy, the correct interrogation responses stored in the unique personality profile assigned to an authorization code, key, password, or other identifying feature used by the real-time user to gain access.