1. A computerized process implemented within a call center for assisting a user in obtaining help with issues comprising the following steps: receiving information provided by the user in natural language, the information comprises at least three words; determining a statement type for the information provided by the user, the statement type is one of either declarative, interrogative, or imperative; transforming information received from the user into a first subroutine based on the statement type and a relationship model, the relationship model includes an indication of tying words in the information; retrieving from memory a second subroutine based on whether the information is declarative, interrogative, or imperative; for each step in the first and second subroutines, if a current step in the first subroutine matches a current step in the second subroutine, execute the current step in the first subroutine by outputting a natural language response to the user, wherein the natural language response includes at least a portion of the information provided by the user and proceed to the next step in both the first and second subroutines, otherwise i) for the current step in the first subroutine and the current step in the second subroutine that have identical meaning, merge the current step in the first subroutine and the current step in the second subroutine and replace the current step in the second subroutine with the merged step and ii) connect the user with a live agent via a telephone network or internet to establish a two way communication between the user and the live agent.