Vlad Nekrasov, по либам - предобученный FastText от DeepPavlov для эмбеддингов скорее всего будет более к месту, чем BERT, который стоит еще и дообучить. А вот для кластеризации - просто перебирать, что же заведется Зависит от объема данных очень.
Алексей Ярошенко а мне как незнающему можно вопрос, что из себя будет представлять вектор фиксированной длины для произвольной фразы? вот прямо пример данныхДаже больше интересно как фиксированную длину получить если слов разное количество в фразе
Артем Советников если это w2v или fasttext, то я бы для начала просто усреднил вектора всех слов в фразе. Если сложнее - скормить по одному слову фразы в обученную рекуррентную сеточку. Либо просто взять BERT и брать от туда сразу готовое векторное представление всей фразы. Но BERT для ключевых фраз, по мне - немного перебор
Алексей Ярошенко вы не поняли, "незнающему" Я понимаю что фразу можно в вектор преобразовать если заменить слова на указатели на слова ... но фиксированная длина как получится? От чего-то отказаться надо будет?Усреднение вектора слова это приведение синонимов и форм слов к одному слову?А если допустим через нейросеть ... опять не понимаю как вектора одной длины могут получится. Нам же потом эти вектора кластеризовать всёравно, нам надо понимать как компоненты вектора связаны между собой?
Артем Советников я рекомендую послушать, к примеру, первую лекцию этого плейлиста про текстовые эмбеддинги, ибо иначе это превратится в испорченный телефон: https://www.youtube.com/watch?v=I9FF-3UAm4o...
Pymystem + countvectorizer|tfidf|word2vec + AgglomerativeClustering с построением дерева + обертки с метриками (например, силуэт) , чтоб кластеры запросов были плотными (и, возможно, с оптимальной частотой)И инкапсулировать все в класс) вот и библиотека))
Comments