Intelligent Document Classification Software Architecture