Two-time defending champion Aryna Sabalenka has fought past Anastasia Pavlyuchenkova in three sets to reach an Australian Open semi-final against Paula Badosa.