Employing latent categories of entities for knowledge graph embeddings with contrastive learning