Google Duplex: An AI System for Accomplishing Real World Tasks Over the Phone

구글 I/O에서 발표한 듀플렉스. 구글 어시스턴트가 대신 전화를 해서 미용실 예약을 해주는 시연 영상을 보였다.

듀플렉스는 TensorFlow Extended를 사용한 RNN으로 익명화 된 전화 대화 코퍼스를 학습했고 결과는 구글의 ASR(automatic speech recognition)을 사용했다.

블로그에 미용실 예약 외에도 다양한 상황에서 적용한 사례가 올라와 있다.

대화를 자연스럽게 만들기 위해 여러가지 테크닉을 사용했다.

또한 대기 시간이 사람들의 기대치와 일치하는 것이 중요하다. 예를 들어, 사람들이 “hello?”와 같이 간단한 것을 말한 후에는 즉각적인 응답을 기대하며 대기 시간에 보다 민감하다. 낮은 대기 시간이 필요하다는 것을 감지하면 빠르고 신뢰할 수있는 모델을 사용한다. 극단적인 경우 우리는 RNN을 기다리지 않고 빠른 대응을 사용한다 (일반적으로 상대방을 완전히 이해하지 못하면 사람이 할 수있는 것처럼 보다 주저스러운 응답과 결합된다). 이를 통해 이러한 상황에서 100ms 미만의 응답 대기 시간을 가질 수 있다. 흥미롭게도 어떤 상황에서는 대화를 더 자연스럽게 느낄 수 있도록 더 많은 대기 시간을 도입하는 것이 실제로 도움이 된다는 사실을 발견했다. 예를 들어 실제로 복잡한 문장에 답하는 경우입니다.eng

Also, it’s important for latency to match people’s expectations. For example, after people say something simple, e.g., “hello?”, they expect an instant response, and are more sensitive to latency. When we detect that low latency is required, we use faster, low-confidence models (e.g. speech recognition or endpointing). In extreme cases, we don’t even wait for our RNN, and instead use faster approximations (usually coupled with more hesitant responses, as a person would do if they didn’t fully understand their counterpart). This allows us to have less than 100ms of response latency in these situations. Interestingly, in some situations, we found it was actually helpful to introduce more latency to make the conversation feel more natural — for example, when replying to a really complex sentence.