Petra Kvitova battled past a resurgent Venus Williams to set up a showdown with Angelique Kerber in the Toray Pan Pacific Open final.