A software agent, that is used to assist in providing a service, receives communications from a set of users that are attempting to use the software agent. The communications include communications that are interacting with the software agent, and communications that are not interacting with the software agent. The software agent performs natural language processing on all communications to identify such things as user sentiment, user concerns or other items in the content of the messages, and also to identify actions taken by the users in order to obtain a measure of user satisfaction with the software agent. One or more action signals are then generated based upon the identified user satisfaction with the software agent.
 서비스를 제공하는 것을 지원하는 데 사용되는 소프트웨어 에이전트는 해당 소프트웨어 에이전트를 사용하려고 시도하고 있는 일련의 사용자들로부터 통신을 수신한다. 통신은 소프트웨어 에이전트와 상호작용하고 있는 통신 및 소프트웨어 에이전트와 상호작용하고 있지 않은 통신을 포함한다. 소프트웨어 에이전트는 모든 통신에 대하여 자연어 처리를 수행해서 메시지 내용 중 사용자 감정, 사용자 관심사 또는 기타 항목 같은 것들을 식별하는 한편, 소프트웨어 에이전트에 대한 사용자 만족도의 척도를 취득하기 위해 사용자들이 취한 액션을 식별한다. 이후, 소프트웨어 에이전트에 대한 식별된 사용자 만족도에 기초하여 하나 이상의 액션 신호가 생성된다.