OpenDover Developer BlogRSS Feed
We're very sad to announce that our service will be discontinued on the first of July of this year.
For almost three years we have been providing the community with this advanced and innovative API. Now unfortunately the time has come to stop this service.
Thanks for your interest and we wish you all the best!
The Opendover team.
Due to excessive use we're forced to decrease our default api limit to 100 calls per hour.
Sorry for the incovenience.
We've recently released a website of a new and State of the Art service named BuzzTalk.
BuzzTalk is a Software as a Service solution which gives unprecedented access to unstructured, textual data, providing new market information to support decision making.
BuzzTalk in a nutshell:
- Buzztalk collects content from rich data sources 24/7
- Social Web Intelligence
- Dual Track
- Monitor, Analyse and Act
You can read all details on http://www.buzztalk.nl/
Buzztalk uses the OpenDover API. The OpenDover API has recently moved to our new and powerful advanced cloud. It uses the OpenDover mood state detection which is categorized in Anger, Tension, Confusion, Depression, Vigor and Fatigue.
If you're interested in a demo or you want to know more about the service please don't hestitate to contact us!
Now you can see the OpenDover Drupal Module in action!
This week we noticed that someone actually went deep into the OpenDover API, his name is Cal Evans, and we could see that he really looked into the usability of OpenDover.Moreover, he was willing to share his feedback with us.
As we appreciated his feedback so much, we have published his findings uncensored in this post. Off course, we felt a little embarrassed when reading the first part, (it is hard to read that we actually could have done a better job on the documentation) but it also helps us a lot to make this documentation better. And we will!
It is great to see that Cal is doing this; we need more similar feedback, because we are actually working in "unknown territory" and we do not pretend to know everything better. Via this Blog we will start giving comments on his findings, especially on things where we can improve the service, and where we will actually change it, based on his recommendations.
PHP Wrapper for OpenDover.nl
By: Cal Evans
For those reading my blog, you know that I am working on a super secret project to stalk everyone on the net, identify networks of important people and bribe my way into them. To this end, last week I started playing with OpenDover's API. As is my practice, I wrote a wrapper for it for PHP developers and that can be fetched from my GitHub project incorrectly named Klout-API-Wrapper-for-PHP The instructions for using it are included and since it's pretty simple, I'll leave it to you to play with the code and discover all the goodies.
I play with a lot of APIs I love writing little scripts that mash them together and sometimes I find some interesting results. One of the things I love doing with APIs most is content analysis. One of my all-time favorite APIs is Yahoo's Term Extraction API. I have a lot of fun with it and while it is pretty limited, it does give me results to work with. The thing that attracted me to OpenDover was that it didn't just do content analysis, it does sentiment analysis. Figuring out what people are talking about is one thing; figuring out if they like it or not is a whole 'nother kettle of fish. So I was excited when I discovered OpenDover.
As with everything in life, OpenDover is not perfect. First off, the manual is very sparse. All the examples that are given are SOAP (ugh) even though REST is supported. In some places the manual is just incomplete, in others, it is just wrong, as in the case of getAvailableSubjectDomains (get_available_subject_domains) and getSubjectDomainByCode (get_subject_domain_by_code). The second one is not actually supported (anymore?) while the first one links to the page for the second one. Now if you are paying attention, this is a minor inconvenience. However, it is one that should not exist.
Also, if everything works correctly but the API cannot analyze your text, you get back a response with nothing more than a response id. It took me a few tries to realize that this was actually normal and that this means that nothing could be discerned from the text.
For example, this code:
$o = new CalEvans_Opendover($key,new CalEvans_Transport_Curl());
print_r($o->searchSentiments('The Evans family is happy to be going to Disney and can\'t wait to get there.'));
Gets this response:
[requestUUID] => e2df2625-ac01-41bd-a818-e826253c210d
As you can see, that's less than helpful. :)
Finally, the context that the API can analyze is very limited. In the example code I use for my wrapper, I use search.twitter.com to pull the last 20 tweets with the #politics tag since OpenDover can usually figure them out. Even then however, I get 10%-25% empty responses.
When you are talking about topics that OpenDover can analyze, it is good at what it does, sentiment tracking.
Using the code:
$o = new CalEvans_Opendover($key,new CalEvans_Transport_Curl());
print_r($o->searchSentiments('I am proud to be a Republican.'));
print_r($o->searchBareSentiments('I am proud to be a Republican.'));
I get the responses:
[domainRanks] => stdClass Object
[domainCode] => politics
[rank] => 1
[domainWords] => stdClass Object
[domainCodes] => politics
[domainWord] => stdClass Object
[cleanText] => Republican
[length] => 10
[offset] => 19
[requestUUID] => 2ae2dd58-cea5-43cf-bfa6-3ceafc95ad0f
[bareSentiments] => stdClass Object
[sentimentForce] => 2
[sentimentType] => APPRECIATION
[sentimentWord] => stdClass Object
[cleanText] => I am proud
[length] => 10
[offset] => 0
[requestUUID] => 02dced8c-d8a3-440c-ba4e-e7cc912bbe31
There are 2 responses in there. As you can see, the call to searchSentiments() correctly identified that this statement dealt with politics while searchBareSentiments() identified that it was an appreciative statement and give it a score of 2. (-9 - 9 are the possible scored with negative numbers identifying negative sentiments.)
Note: That sleep(1) is REAL IMPORTANT. The API limitations are not restrictive but the 1 call per second can trip you up if you are looping over a lot of content.
Honestly, that is pretty dang cool. If the list of topics were broader, this would be a fantastic API. I assume they are continuing to widen the scope of the API. If you are curious, a call to getAvailableSubjectDomains() will get the current list.
Due to the narrow focus of the API, I was not able to use it in my world domination script but that doesn't mean it's not useful. If you are working within its areas of expertise, I would recommend using it. As with all APIs managed by Mashery it is very easy to get going with the API. Request a key and read the docs. The code is released under a BSD license. Really, the only thing I ask is that if you make improvements, push a patch back up my way.
(Disclosure: I have friends at Mashery but they have never asked to write code or content for them, this is not a sponsored blog post)
Today we've released an updated version of the OpenDover Drupal Module (version 1.0 beta3)
Most Important changes:
- Rewritten and optimised for the Mashery API
- Views integration
- New Features from the OpenDover API
For full details, please visit:
Welcome to the first sophisticated Ontology Based Sentiment Analysis API on the market! I would like to take this opportunity to thank our developers and staff for the great work they have delivered in a reasonably short amount of time. Thanks guys great work, without your hard work this wouldn't be possible.
The OpenDover API is a webservice which tags your documents based on sentiments found in your document. More information regarding the features of the OpenDover API can be found here.
The use of this API is free! The only limit we have on the basic subscription is 100 requests within the hour. This plan is used by default. If you need more volumes, your key or new subscription can be easily upgraded to Silver, Gold or Platinum. Depending on your needs. If you need help to determine which plan is good for your application or if you need more information please send an e-mail to: email@example.com or drop us an information request.
Getting Started with the Opendover API is very easy!
- Register a new user account
- Apply for an API key
- Browse the API documentation
- Join a discussion in the forums
The API and its documentation is written with a lot of care however it could be that you find an error or run into other problems. We greatly value your opinion and if you encounter any issue or if you have a feature request let us know in the forum! In the forum you can also find a FAQ section.
For now I would like to wish you a lot of fun with the development of many cool applications!
Head of Operations OpenDover
In August the first article appeared in the press on www.semanticweb.com about the OpenDover service. We hope that OpenDover is a next step to real application of semantic web technologies by determining the sentiment of your content parsed through OpenDover via the API. We have received numerous requests from interested parties to use the Service. It is interesting to see that the initial requests are coming from companies setting up monitoring tools for the web. Indeed, they are the front-runners of the Semantic Web.
Some interesting questions were received regarding our approach to Sentiment Analysis, Questions like; Why don't you use some self learning algorithms? Why not take a statistical approach? All very good questions, and all of them can be answered quite simply too.
The last few years we have looked at all of those approaches. There is some interesting stuff on the web on it, written by scientists also working in this field. What is interesting is that they all talk about a major problem called "Word sense disambiguation", or the problem that a certain sentiment word can have a different meaning, depending on the context in which it is used. Only with our approach it is possible to overcome this problem. One of the consequences of the "ontology approach" that OpenDover supports, is however, that it is impossible to use ready available dictionaries like WORDNET, because they just don't exists. One of our main areas of work the last 2 years was to assemble those lists. At the moment we are very busy in expanding them, and create new ones. Currently we support 15 domains, and we hope to support 25 at the end of the year. The good thing is, that this work is going faster and faster over time. It also means that OpenDover becomes more and more accurate each month. As a user of the OpenDover API, you will not notice those changes, you will only see that OpenDover is becoming better and better, i.e. we are now reaching between 90 and 95% accuracy for each domain.
Maybe you want to know which domains are under development right now? Well, I will give you a sneak preview, on what we are working on, in order of availability:
- Sports - Football
- Health - Health Insurance
- Health – Pharmaceuticals
- Product – Car
- Product - Climate Control Appliances
- Product - Construction materials
- Product - House Hold Appliances
- Health - Home Medical Supplies
- Health - Personal Care
- Product - Furniture
- Product – Clothes
- Product – Footwear
- Product - TV Set
- Entertainment (subdivided into “Music”, “Books”, “Video Games”, stage performances)
- Product - Food Cooking Appliances
- Product - Food Storage Appliances
On the development homepage you will always see the domains currently supported.
We are always open for suggestions on this list, most of the above domains were actually suggested by our customers! So, If you think you have ideas on this, well, keep them coming, please us the following form for it, it allows us to communicate in a professional setting with you.
[ Page 1 of 1 ]