Based on what you have shared, it seems like Doc2Vec
should be suited to your objective.
That said, I think the Doc
in the package name can lead people astray. It gives the impression that you can feed in any documents and it will find the similarities among them. And while you certainly can feed whole documents, the reality is that the similarity / dissimilarity may not be aligned in a useful way to your task. I have found that training the model on smaller chunks of the document, like sentences or paragraphs, allows for the model to identify subtle differences that can then be aggregated to the whole document.
In your case, are the 17 documents you mentioned, exemplars of 17 different types of documents whose label you want to assign to the entire corpus? If so, Doc2Vec
may be overkill. Have you looked into using Tf-Idf
? Sometimes this approach works well if you don't necessarily need the word embeddings. Just some food for thought.