American Madison Keys has locked in a berth in the Australian Open semi-finals with a three-set win over Ukrainian Elina Svitolina.