Imagine a large set of text embeddings (e.g. by OpenAI model), created on user inputs in a natural language interface (e.g. a semantic search app), which we want to cluster on some "non-topic aspect" of the text (e.g. clarity of query). As expected, clustering by default results in different topics being grouped together.

What are the best practices to ignore the topics when clustering if we define topics as whatever some dimensionality reduction process favours (e.g. the clusters we get initially)?

Alternatively, is there some documented/researched process of training additional models on top of these embeddings (or adding layers to existing models) to boost these different aspects of the embedded text, or at least to achieve this "blindness" to certain aspects of the embedding (with some additional train data)?

Of course, I am assuming that these other aspects are also contained in the embedding, they are just less expressed.


1 Answer 1


An option that I have thought of before is to label the embeddings as good (basically take any public database good enough that has labeled data without grammatical errors).

Once you have these, you can find the top k eigenvectors by performing PCA with low variance, and there you can say with a certain confidence that these correspond to having fewer grammatical errors.

NOTE: Due to the black-box nature of Neural Networks, you can never certainly say that the eigenvector with low variance in this case has to correspond to grammar.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .