Orange vs NLTK for Content Classification in Python
NLTK is a toolkit that supports a four state model of natural language processing:

Tokenizing: grouping characters as words. This ranges from trivial regex stuff to dealing with contractions like "can't"
Tagging. This is applying part-of-speech tags to the tokens (eg "NN" for noun, "VBG" for verb gerund). This is typically done by training a model (eg Hidden Markov) on a training corpus (i.e. large list of by by hand tagged sentences).
Chunking/Parsing. This is taking each tagged sentence and extracting features into a tree (eg noun phrases). This can be according to a hand-written grammar or a one trained on a corpus.
Information extraction. This is traversing the tree and extracting the data. This is where your specific orange=fruit would be done.

NLTK supports WordNet, a huge semantic dictionary that classifies words. So there are 5 noun definitions for orange (fruit, tree, pigment, color, river in South Africa). Each of these has one or more 'hypernym paths' that are hierarchies of classifications. E.g. the first sense of 'orange' has a two paths:

orange/citrus/edible_fruit/fruit/reproductive_structure/plant_organ/plant_part/natural_object/whole/object/physical_entity/entity

and

orange/citrus/edible_fruit/produce/food/solid/matter/physical_entity/entity

Depending on your application domain you can identify orange as a fruit, or a food, or a plant thing. Then you can use the chunked tree structure to determine more (who did what to the fruit, etc.)
We need a content classification module. Bayesian classifier seems to be what I am looking for. Should we go for Orange or NLTK ?