약 6 천만 개의 문구를 벡터 공간 에 삽입하려고 시도하고 그 사이 의 코사인 유사성 을 계산 하려고합니다. 나는 유니 그램 CountVectorizer
과 bigram을 생성하는 맞춤형 내장 토큰 화 기능과 함께 sklearn을 사용 하고 있습니다. 의미있는 표현을 얻으려면 행 수에서 선형으로 엄청난 수의 열을 허용해야합니다. 이로 인해 엄청나게 희소 행렬이 발생하여 성능이 저하됩니다. 약 10,000 개의 열만 있으면 그렇게 나쁘지 않을 것입니다. 단어 삽입에 상당히 합리적이라고 생각합니다.
word2vec
치수가 더 작고 밀도가 높은 임베딩을 생성하기 때문에 Google을 사용하려고합니다 . 그러나 그 전에 먼저 살펴볼만한 다른 삽입물이 있습니까? 핵심 요구 사항은 약 6 천만 개의 문구 (행)로 확장 할 수 있어야합니다.
나는 단어 임베딩 분야에 익숙하지 않아 조언이 도움이 될 것입니다.
또한 성능 향상을 위해 이미 단일 값 분해를 사용하고 있다고 덧붙여 야합니다.
Spark를 사용하고 있습니까?
—
eliasah
그것이 처음에 Spark를 제안한 이유 중 하나입니다. 죄송합니다. 전화를 받고 있습니다. 사전 임베드 된 PCA 기술에 관한 어떠한 참조에도 액세스 할 수 없습니다.
—
eliasah 2018 년
그 양의 데이터로 과잉인지 확실하지 않습니다.
—
eliasah
불필요한 토큰을 제거하면 텍스트를 작업하고 있기 때문에 차원을 크게 줄일 수 없습니다. 150000 단어 사전을 고려할 때 예제 당 중지 단어를 제거하면 수십 가지가 도움이됩니다. 도움이되지 않습니다.
—
eliasah
그렇지 않으면 Latent Dirichlet Allocation으로 주제 모델링을 고려하여 구문 당 텍스트 벡터 크기를 줄일 수 있습니다.
—
eliasah