Я хочу проанализировать ответы на веб-опрос ( Git User's Survey 2008 , если кто-то заинтересован). Некоторые из вопросов были в свободной форме, например, «Как вы узнали о Git?». С более чем 3000 ответов, анализ этих ответов полностью вручную исключен (особенно из-за того, что в этом опросе довольно много вопросов в свободной форме).
Как я могу сгруппировать эти ответы (вероятно, на основе ключевых слов, использованных в ответе) по категориям, по крайней мере, полуавтоматически (то есть программа может запросить подтверждение), а затем, как составить таблицу (подсчитать количество записей в каждой категории) эти ответы в свободной форме (ответы)? Один ответ может принадлежать более чем одной категории, хотя для простоты можно предположить, что категории являются ортогональными / исключительными.
Что я хотел бы знать, это как минимум ключевое слово для поиска или алгоритм (метод) для использования. Я бы предпочел решения в Perl (или C).
Возможное решение № 1. (частично): байесовская классификация
(добавлено 2009-05-21)
Одним из решений, о котором я подумал, было бы использование чего-то вроде алгоритма (и математического метода за ним) для байесовской фильтрации спама, только вместо одной или двух категорий ("спам" и "ветчина") было бы больше; и сами категории будут создаваться адаптивно / интерактивно.