Author | Message | Time |
---|---|---|
warz | It's probably in the realm of artificial intelligence, but I'm embarking on an interesting idea, where a project of mine will need to be able to evaluate a user submitted paragraph, and determine if the paragraph is either "for" or "against" a pre-defined cause. It'd just need to detect either a positive, or negative attitude, and report that. I'm not sure how this would work, although I have some ideas brewing. If anyone has dabbled in this in the past, any information would be appreciated - if not, I'd enjoy discussing it, too. Python is the programming language, specifically, but I don't think that's a huge concern right now - unless there's some neat modules provided. :) | July 15, 2007, 8:37 AM |
BreW | [quote author=betawarz link=topic=16883.msg171023#msg171023 date=1184488645] It's probably in the realm of artificial intelligence, but I'm embarking on an interesting idea, where a project of mine will need to be able to evaluate a user submitted paragraph, and determine if the paragraph is either "for" or "against" a pre-defined cause. It'd just need to detect either a positive, or negative attitude, and report that. I'm not sure how this would work, although I have some ideas brewing. [/quote] hyyyyyy i don't really have any good ideas brewing but i'd say just look out for negative words you shuld ask tehuser, he's been (being lame) working on that kind of stuffs for a while (remember TehBot and his plan to make replicas of us?) | July 15, 2007, 12:25 PM |
rabbit | Looking for negative words won't always work, as you can be for one thing by being against something else. You can also have a lot of negative words and have a neutral stance. Basically, if these paragraphs are written the way they should be (IE: it's a report or something), you should be able to write a sentence parser that identifies the object and verb pairs, and then you can go from there. | July 15, 2007, 2:24 PM |
dlStevens | Look for repetitive aggressive, and passive aggressive words; look for repetitive words like, "great", "well", and "hate" | July 15, 2007, 4:36 PM |
St0rm.iD | The technical and Googling term you should be using for this project is natural language processing. My two ideas would be to either a) Find a neural net implementation and use it to analyze and learn the frequency of certain words or b) Write some software that can parse and understand English sentences (subject/verb/object recognition etc). Statistical analysis will probably get you farther, but I don't really know what I'm talking about. People dedicate their PhD thesis and multinational corporations to this stuff. GL HF http://en.wikipedia.org/wiki/Natural_language_processing | July 15, 2007, 5:21 PM |
warz | im going to play around with this module: http://nltk.sourceforge.net/index.php/Main_Page for a little bit. it looks pretty interesting. | July 15, 2007, 6:06 PM |
Zakath | Neural networks is what I would suggest, too, although as $t0rm says, it might be a bit much for something like this...at least if you want it to be accurate. | July 25, 2007, 7:02 AM |
warz | Well, there's another Python module I found that implements Bayes theorem. Basically the module was made to categorize paragraphs as spam, or not, but it allows for custom specifications as to what you want the classifications to be. I'm currently using it, in conjunction with that Natural Language toolkit I mentioned previously, and it's working quite nicely. | July 25, 2007, 1:27 PM |