Не знаю точно как подобное реализуется на практике, но я бы сделал следующим образом:
1. Определил бы конечный набор тегов.
2. Сделал бы словарь ключевых слов к каждому из этих тегов - синонимы, слова из предметной области и т.д.
3. Анализировал бы каждую статью на наличие ключевых слов и при достаточном количестве совпадений предлагал бы добавить тег в статью.