Pull to refresh

Comments 5

Какова длина ваших текстов? Линейность для word2vec репрезентаций сохраняется до разумного предела, и скорее распространяется на семантику, типа того же (queen, king, man, woman) примера. Для длинных текстов это не будет работать, потому что это не теоретическое свойство, а просто приятность, которая вдруг обнаружилась на практике.

Также вам скорее всего нужно отфильтровывать больше стоп-слов, а не только два. Например, 'have' может иметь очень широкий контекст, и скорее всего не будет иметь разумной репрезентации, а word2vec учится как раз на контекстах слов.
Это да, 2 стоп слова — это я к этому конкретному показометру. Конечно, в «рабочих» данных их будет больше, но они пока не подготовлены.

Что до размера — пока рассчёт на относительно малую длину. Как пример — https://github.com/watson-developer-cloud/conversation-simple/blob/master/training/car_intents.csv. К тому же — часть можно и выкинуть, как не несущие важной (для классификации) нагрузки.

p.s. как я понимаю — в случае длинных текстов копать в сторону doc2vec?
Про doc2vec я не читал, к сожалению, и не могу сказать, что внутри, но по abstract похоже, что да. Из предыдущих техник могу посоветовать TF/IDF + классификатор, TF/IDF + SVD + классификатор, TD/IDF + LDA + классификатор. Ну и возможно (скорее всего) рекуррентные нейронки типа LSTM, GRU заработают, но тут бубен нужен.
Word2vec это просто нейронная сеть на skip грамах. Возьмём предложение «Моя собака не умеет играть в компьютерные игры», обучим нейронную сеть. К какому кластеру отнести к собакам или к компьютерам?

TF-IDF как уже советовали или в сторону тематического моделирования и LDA.

То что мы имеем сейчас судя по результатам точность модели нулевая, отклонение 3 десятых погрешность.
На тему word2Vec в качестве классификатора. Я недавно проводил масштабный эксперимент, получил удивительно хорошие результаты .

Краткая суть подхода в следующем. Для классификации документа мы определяем набор затронутых в нём тем. Темы определяются как кластеры в пространстве Word2Vec. Практически идентично, как и описано в данной заметке. Но потом делается следующий шаг. Пространство тем само превращается в пространство признаков и уже в этом пространстве происходит классификация по kMeans. Грубо говоря, мы по всей выборке вычисляем среднее удельное количество тем-кластеров на документ, что нам даёт моменты — мат ожидание и дисперсию среднего удельного количества тем на документ. Тогда, взяв исследуемый образец, мы нормируем его относительно средних моментов — и уже отнормированные вектора сравниваем. Нормировка позволяет хорошо разделять документы частых тематик и уменьшает влияние размера документа на результаты.
Sign up to leave a comment.

Articles