As I discussed in the previous post if we want to have a powerful cognitive agent, we need to add learning feature to our agent. One type of learning that I was thinking about is learning new information from outside world. In other words, our agent should be able to get input from the outside world and add it to its model (where applicable). This information might be new text-based input, speech-based input or information in any other format. Imagine a cognitive agent that can get an speech-based input, extract semantic meaning, and add it to its model. Isn’t that amazing?
So my idea is to add a feature where we could give speech-based input to the agent. The agent then will get the input, analyze it and checks if the current input is already exists in the model, if so it will ignore it. If not the agent will add the new information to its model. For example lets imagine in our current model we only know that Germany has start players.
Then a new user comes and tells the agent that Germany is also an amazing team. The agent should be able to decompose the given sentence. So as a results of such a decomposition we will have following nodes.
Team node : Germany
Hidden node: Amazing team
Status node : Positive
The agent should then compare the existing team and hidden nodes to see if they exist in the current model. IT then should add those node that are not exist to the model. For example, in this case we already have the node Germany but we do not have amazing team. So the system will add the amazing team to our model and connect it to positive.
Although, it would be very challenging to decompose sentences. In my opinion, we should use natural language processing to decompose/tokenize the sentences. In addition, we should to sentiment analysis to extract status (positive or negative) of the given sentence.