Twitter + OpenAmplify + Xcelsius = Awesome

July 28 6 Comments Category: Projects, Words, Xcelsius

This post has been moved to my new blog, Uncharted. Please continue the discussion there.

I recently learned about OpenAmplify, a web service that uses Natural Language Processing (NLP) to extract meaning from text. I’m very familiar with NLP because I’ve worked on the Text Analysis team at SAP (previously with Inxight Software), so I was very interested to see OpenAmplify provide this capability for free and online. It’s the first such service that I’ve heard of and I wanted to try it out.

So, I put together a little demo using Twitter and Xcelsius, the product I’m currently working on. Here’s how it works:

  1. Twitter supplies the data.
  2. OpenAmplify analyzes it for semantic content.
  3. Xcelsius displays the data.

Try it out for yourself. (Note: Only single-word keywords will work right now.)



Those who are geekily-inclined can continue reading for the “how.” The rest of you can stop reading now. ;)

Getting this set up was actually really easy and quick. Both Twitter’s and OpenAmplify’s APIs are easy to use and easy to connect. Here is what an OpenAmplify API call looks like when using Twitter as the data source:

http://portaltnx.openamplify.com/AmplifyWeb/AmplifyThis?apiKey=[your API key]&sourceURL=http://search.twitter.com/search.atom?q=[keyword]

To get this into Xcelsius, you first need to create an XML map to that URL in your Excel spreadsheet. Then, you set up the XML Map connection and with a little concatenation, link the URL to a cell that inserts the keyword at the end. (Feel free to e-mail me if you have questions about how to get this working.)

That’s all there is to it. Seriously.

In terms of functionality, I think OpenAmplify is rather limited. In their “About” page, they claim that OpenAmplify “identifies the significant topics, brands, people, perspectives, emotions, actions and timescales.” While that’s probably true, it would be nice to see the data by type (e.g., who are the people? what are the perspectives? what are the emotions?). As it is, you just get a list of “topics” and “actions” with ratings for polarity (positive, negative, or neutral). It would also be nice to get the supporting evidence that shows why each topic got the rating it got as a list of all the positive statements and all the negative statements. The style analysis (“slang” and “flamboyance”) might be fun, but I have a hard time imagining real uses for it. The demographics data, on the other hand, is very useful and I’m glad the OpenAmplify team says they will focus more on this in the future.

The latest release of OpenAmplify seems to have some good improvements in it, including performance improvements and the addition of “intentions” (what are people doing or intend to to). Just note that if you want to use the latest release, you actually have to use a different base URL for your API call:

http://portaltnx.openamplify.com/AmplifyWeb_V11/

rather than

http://portaltnx.openamplify.com/AmplifyWeb/

[A note for any OpenAmplify folks who may be reading this: You might want to update your documentation to point to the latest release URL. Not everyone reads your blog.]

I did not use this latest release because I wasn’t aware of the difference in URLs, but I’ll try to upgrade to it in the future and see how it works.

Overall, I am impressed with OpenAmplify for two reasons. One, it provides a valuable service for free, and two, it uses a community model. Rather than building applications themselves, the OpenAmplify team provides the tools for other people to do it. This can be very powerful, as demonstrated by Apple’s App Store, and I hope it takes off for natural language processing as well. Twitter seems to be a popular choice for analysis at the moment, but I’m really interested to see what other applications people find for OpenAmplify and NLP. I think there is a lot of potential here.

UPDATE: This little app was blogged by OpenAmplify!

This post has been moved to my new blog, Uncharted. Please continue the discussion there.

6 Responses

Write a comment
  1. That’s awesome! I’ve been interested in NLP for a while now – mostly because I’m lazy and would rather type as I speak, instead of “coding” everything.

    Thomas 28 July 2009 at 7:05 am Permalink
  2. Hi Natasha
    The app looks awesome.I still don’t understand the polarity scaling . I tried “Britney”, I see “Britney” with red pointer in the extreme left end and green on the right ,and I see a red filled bar till the middle.

    So does that tell that. MAX is -1 and MIN is +1 and the Mean is represented by the length of the red bar. pls clarify?

    surfer 28 July 2009 at 10:15 am Permalink
  3. @surfer: Yes, that’s exactly right. The left-most arrow is the min, the right-most arrow is the max, and the bar is the mean. The value to the right of the bar is the exact mean value.

    Natasha Lloyd 28 July 2009 at 10:18 am Permalink
  4. This is really awesome,especially to carry out the analysis with twitter

    Rajasekar Nonburaj 3 September 2009 at 11:24 am Permalink

Trackbacks/Pingbacks

  1. Twitted by XcelsiusGurus - July 28, 2009

    [...] This post was Twitted by XcelsiusGurus [...]

  2. natasha’s corner » Blog Archive » Amplify Anything: Sentiment analysis for the web - September 2, 2009

    [...] Twitter + OpenAmplify + Xcelsius = Awesome [...]