Hate Speech Detection via Dual Contrastive Learning