How do you learn labels with unsupervised learning? In https://huyenchip.com/machine-learning-systems-design/design-a-machine-learning-system.html#design-a-machine-learning-system-dwGQI5R, I came across the sentence:

Similarly, you can use unsupervised learning to learn labels for your data, then use those labels for supervised learning.

I have never heard of the bolded part before. How exactly do you use unsupervised learning to "learn labels" for labeless data?

This pops up a lot when labelling your full data set is expensive and time consuming. A simple example would be labelling product reviews into buckets such as:

*

*Price Related

*Shipping Related

*Quality Related

What we may do is label a small fraction of our dataset and then we can cluster the word vecs, do knn with them, or do some analysis to pull out keywords to then label the rest (although technically not unsupervised but the easiest to explain).  For example, the word 'price' pops up mostly for reviews about price (unsurprisingly).  So, if we see that word we can just label it price and let the machine learn the label and hopefully generalize better than just mapping keywords to labels (it usually does). Alternatively, with clustering we would hope that reviews with the word 'price' would get lumped with the other price labels.
Obviously, this approach will add error over labelling everything but it can definitely get you closer to your end goal.
This type of approach is called 'semi-supervised' learning.
