Классификация намерений с большим количеством классов намерений - PullRequest
0 голосов
/ 24 февраля 2019

Я работаю над набором данных приблизительно из 3000 вопросов, и я хочу провести целевую классификацию. Набор данных еще не помечен , но с точки зрения бизнеса существует требование идентификации приблизительно 80 различных классов намерений .Давайте предположим, что мои тренировочные данные имеют примерно одинаковое количество классов и не сильно смещены в сторону некоторых классов.Я собираюсь преобразовать текст в word2vec или Glove, а затем подать его в мой классификатор.

Мне известны случаи, когда у меня есть меньшее количество классов намерений, таких как 8 или 10, и выбор машиныучебные классификаторы, такие как SVM, naive bais или deeplearning (CNN или LSTM).

Мой вопрос заключается в том, что если у вас уже был опыт работы с таким большим количеством классов с намерениями, и какой из алгоритмов машинного обучения, по вашему мнению, будетвыполнять разумно?Как вы думаете, если я буду использовать рамки глубокого обучения, все еще большое количество меток приведет к снижению производительности, учитывая данные обучения выше?

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

Заранее спасибо ...

1 Ответ

0 голосов
/ 24 февраля 2019

Во-первых, word2vec и GloVe почти мертвы.Вам, вероятно, следует рассмотреть возможность использования более новых встраиваний, таких как BERT или ELMo (оба из которых чувствительны к контексту; другими словами, вы получаете разные вложения для одного и того же слова в другом контексте).В настоящее время BERT является моим собственным предпочтением, поскольку он полностью открыт и доступен (gpt-2 был выпущен пару дней назад, что, очевидно, немного лучше. Но он не полностью доступен для общественности).

Во-вторых, когда вы используете предварительно обученные вложения BERT, ваша модель имеет преимущество в виде огромного объема текста (массива Google) и, таким образом, может обучаться на небольших объемах данных, что значительно повысит ее производительность.

Наконец, если бы вы могли классифицировать свои намерения в несколько классов общего назначения, вы могли бы обучить классификатор, чтобы указать, к какому из этих классов общего назначения принадлежит ваш экземпляр.Затем для каждого крупнозернистого класса обучите другого классификатора, чтобы указать мелкозернистый.Эта иерархическая структура, вероятно, улучшит результаты.Также я считаю, что для классификатора этого типа достаточно простого полностью связанного слоя поверх BERT.

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