Hi RICH does this, but its broken into (2) different “lobes”.
If you ask RICH “Who are the Beatles” and there is no local memory, it searches a list of Knowledge bases in an attempt to find an answer that is close to being a synopsis. If if cant find one, it attempts to create a synopsis from more detailed KB entries. (See Daves entry above on “humanizing” the response)
However if you ask RICH “Do you LIKE the Beatles, it uses the Google API to search through several preset news and other reference sites, and builds a list of web references. Then it “reads” (parses) the HTML removing the tags to build a text set. Then it parses these text sets looking for keyphrases and keywords that are already stored and categorized as to emotion and intensity. By “reading” reference material on a subject , RICH can decide what it “feels” about that subject.
Doesnt always work the way you expect. The other day it came back and said that it “Liked” war, and “Yes. Probably.” liked Nazis. My wife went ruunning down the hall screaming “I knew it, its the Terminator” LOL (Truly hard to communicate just how funny this was)
To implement this type of capability you need a method that parses HTML and removes the tags. In Pseudo code it looks like
find “<” as position1
find next “>” as position2
make substring1 as 0 to position1
make substring2 as position2 to end of string (HTML)
concatenate substring1 and substring 2 as new HTML
call recurslvely until end of string
If what your trying to do is have a bot that “reads” the news so that it converse on events of the day, you might want to consider using an RSS instead of the search API. RICH reads the news using http://rss.cnn.com/rss/edition.rss. (Im having problems with the webapp version loading the RSS headlines into a dataset directly that I havent tracked down yet, but it works in the desktop version) Here you have the headlines and links to articles in xml format, and they are updated regularly.
You should probably tell the group what base Bot engine (if any) your using to see if there are specific modules that you can use for your particular circumstances, or if you are custom coding what language(s) are you using
VLG