Ограничения многокомпонентной классификации с динамическим набором классов

У меня есть постановка проблемы, и мне нужно знать, можно ли ее решить с помощью машинного обучения или нет. Это звучит так: -

У меня есть система, в которой пользователь может загружать документы, поэтому предположим, что у нас есть файл с именем xxxZxxx.xxx

Пользователь переходит на несколько уровней в структуру папок системы и помещает файл (скажем) A / B / C / D / Z / xxxZxxx.xxx

Нам необходимо создать систему, которая считывает имя файла и предлагает путь, по которому он должен быть помещен.

В этом случае имя файла содержит последнюю часть пути, которая является каталогом бизнес-объекта, но может не содержать. У нас такие пути и документы в порядке 10 ^ 5.

И новые пути, то есть бизнес-объекты, могут добавляться со временем, что делает эту классификацию мультиклассовой с примерно 10 ^ 5 классами, которые продолжают увеличиваться

Это разрешимо?

Я попытался использовать набор символов (на основе набора слов) в качестве вектора признаков, но безуспешно.

Какие-либо комментарии по поводу любого подхода, который можно использовать для этого? Сообщите мне, если потребуется какая-либо другая информация, я отредактирую вопрос или изменю теги.


person divyenduz    schedule 05.09.2014    source источник


Ответы (1)


Итак, чтобы сделать это действительно проблемой машинного обучения, ответьте на следующие вопросы:

1) Почему вы не можете просто прочитать имя файла и получить папку chid, в которой файл должен быть помещен? Это потому, что, как вы сказали, пользователь не может подтвердить имя дочерней папки как часть имени файла? Или это потому, что может быть много каталогов с именем, указанным пользователем?

2) Проблемы машинного обучения обычно имеют статистические закономерности, которые труднее идентифицировать простым невооруженным глазом, например используя регулярное выражение. Здесь вы можете легко найти подходящую папку с помощью поиска по регулярному выражению, не так ли?

person Abhimanu Kumar    schedule 05.09.2014
comment
Привет, я просмотрел упомянутые вами варианты. Пользователь может указать или не указать имя файла в качестве дочерней папки, хотя это будет только одна папка. Это не проблема, которую можно решить с помощью reg-ex. Мы пытаемся найти закономерность в соглашении об именах людей, если это проясняет их. - person divyenduz; 05.09.2014
comment
Итак, вы говорите, что пользователь может дать имя, которое может совпадать с уже существующим каталогом, или это может быть совсем другое имя. И вы не знаете соглашения об именах пользователей, следовательно, вы не знаете, какой шаблон искать. Если вышесказанное верно, и вы хотите превратить это в проблему машинного обучения, тогда это должно быть обучение с учителем. У вас есть предыдущие пользовательские данные, в которых вы уже знаете, какое имя файла с именем пользователя соответствует какой структуре каталогов? Если это так, то мы можем подумать о том, чтобы представить это как проблему ML, иначе вся надежда потеряна, я думаю, что это проблема ML. - person Abhimanu Kumar; 05.09.2014
comment
Причина, по которой это очень трудно назвать проблемой неконтролируемого обучения, заключается в том, что вы ожидаете (или есть) 100% правильного ответа для каждого имени файла, которое пользователь бросает вам. Таким образом, у вас есть отдельная метка (структура каталогов) для каждой точки данных (имя файла) - person Abhimanu Kumar; 05.09.2014
comment
Да, у меня есть данные для 6x10 ^ 5 + записей - person divyenduz; 07.09.2014
comment
В этом случае я бы порекомендовал сначала самый простой подход: сделать каждую конфигурацию каталога отдельным классом и обучить классификатор один против всех для каждого класса. Попробуйте это для 10/15 лучших классов в вашем наборе данных и посмотрите, насколько хорошо вы справляетесь. Затем вы можете применить другие сложные методы, такие как группирование классов после этого. - person Abhimanu Kumar; 09.09.2014
comment
В настоящее время мы используем случайный лес для 2% данных, то есть около 10000 записей с 1500 классами. И получаем точность 50%. Можете ли вы предложить что-нибудь для решения проблемы с таким количеством классов? - person divyenduz; 09.09.2014
comment
Случайный лес - хороший подход. Но в этом случае лучше использовать иерархическую классификацию. См. Этот документ research.microsoft.com/en-us/um /people/sdumais/sigir00.pdf (вы можете продолжать использовать свои деревья решений вместо SVM, используемой в статье). И, учитывая, что у вас есть иерархическая структура каталогов, очень вероятно, что вы найдете иерархию классов. - person Abhimanu Kumar; 11.09.2014