4

I need to use/purchase some sort of tool for doing Sentiment Analysis to determine positive or negative connotation in text content. There are some terrific threads on this topic which I have read and listed below:

Algorithm to determine how positive or negative a statement/text is
NLP: Qualitatively "positive" vs "negative" sentence
Algorithm to determine how positive or negative a statement/text is (same name different thread)

The problem is each one gives a great description of the algorithm, but alludes to the complexity of doing the job from scratch and offers links to the algorithm explanations.

I need a .NET (VB.NET or C#) solution either in the form of a toolkit, API, .dll, etc. I have seen links to JAVA solutions but none really in my searches for .NET solutions.

My fallback plan is to create dictionaries of words with weights and go that route, but I would prefer something a bit more robust.

Does anyone have any information on a Sentiment Analysis solution specifically for .NET?

Thanks!

Community
  • 1
  • 1
atconway
  • 20,624
  • 30
  • 159
  • 229
  • 1
    Will web service work for your sceneario? http://opendover.nl/ – Thomas Li Mar 18 '11 at 15:21
  • Absolutely. I can push data through a service to get the output. That would be no problem. Is there a .asmx or WCF solution avialable? – atconway Mar 18 '11 at 18:24
  • 1
    You can probably just add-service-reference for [this WSDL URL](http://developer.opendover.nl/files/opendover_api_v1_soap.wsdl) (from [the documentation page](http://developer.opendover.nl/docs)) – Rup Mar 18 '11 at 18:34
  • That *initially* seems just about perfect. I don't want to be too picky but my only reservation is that is is hosted in the Netherlands and potential latency issues. I am still open to other suggestions hosted in the US or purchasable solutions accessable via .NET. – atconway Mar 18 '11 at 20:32
  • I am working on a comprehensive list of solutions in regards to my original question now that I know more about the topic, and will get back with a detailed and helpful answer for future readers shortly. – atconway Apr 05 '11 at 19:52

2 Answers2

3

After extensive research on the topic, this was found to be an depth topic way to complex to answer here in a single post. SA is not just some .dll that you drop in an application and magically the tonality of some text content can be determined. It is based on the extensive study of Natural Language Processing and is not something homegrown from some simple block of code.

The most accurate SA tools require extensive training of a system on the topic you want to analyze so the accuracy is increased. You can run text through many of the SA tools with their default algorithms, but the accuracy is quite a bit lower and not a viable solution. I spent several weeks doing the research against a sample and the results of this research is below:

Sentiment Analysis Processing For .NET Solutions:
http://allen-conway-dotnet.blogspot.com/2011/05/sentiment-analysis-processing-for-net.html

Bottom line, to have true Sentiment Analysis performed at a high accuracy, it will involve massaging and training a system that then bumps the processed data up against the SA tool to get the best results. But this is not going to be some .dll that gets dropped in a .NET application.

ASN
  • 588
  • 4
  • 15
atconway
  • 20,624
  • 30
  • 159
  • 229
1

If you have seen Java solutions then you can use IKVM to compile jar files to DLLs.

The approach we've used is building on top of Weka's machine learning algorithms in C#. If you're interested in purchasing/licensing our tool, get in touch.

daoudc
  • 533
  • 2
  • 11