Semantic shifts may be also be caused by changes in the attitudes of speakers or in the general environment of the speakers.
semantic shifts are naturally separated into two important classes: linguistic drifts (slow and regular changes in core meaning of words) and cultural shifts (culturally determined changes in associations of a given word).