have p.p 는 현재 완료죠. 과거부터 현재까지 이어지는 상황을 설명할 때 사용합니다.
have been (v)ing 는 have p.p 와 be ing 가 합쳐진 것입니다. 분류 해보면 쉽게 이해할 수 있죠. 현재 완료의 의미를 갖고 있는 have p.p 와 현재 진행형인 be ing 가 합쳐져서 과거부터 현재까지 이어져 왔고, 이 것이 현재도 진행되고 있다는 사실을 강조하는 표현입니다.
한국어로 예를 들면
나는 세시부터 게임을 하고 있어. = i have played game since 3 o'clock.
나는 세시부터 게임을 하고 있는 중이야. = i have been played game since 3 o'clock
이정도로 차이를 느낄 수 있습니다.
사실 상황은 똑같지만 현재 분사 진행형은 현재에도 하고 있음을 현재분사보다 더 강조하는 표현이죠. 따라서 쓰는 사람이 어느 포인트에 중심을 잡느냐에 따라서 표현법이 달라질 수 있습니다. 그래서 둘 중에 고르라는 식의 문제는 나오지 않을 것 같습니다.
요약하자면
현재 분사(have p.p) 는 과거부터 현재까지 이어지는 것을 현재 분사 진행형 (have been ing)는 그 일이 현재에도 진행되고 있음을 강조하는 표현입니다.