언어적인 지침 사항을 액션으로 자동 변경이 필요한 이유
오늘 공부할 내용은 ACL 2020에 출판된 자연어 지침들을 모바일 UI 액션들로 자동적으로 바꿔주는 기법(Grounding Natural Language Instructions to Mobile UI Actions)입니다.
모바일 디바이스들은 매일의 우리 활동들에 도움을 주는 수많은 기능들을 제공합니다. 그렇지만 사용자들은 이런 기능들(유튜브에서 알람 설정을 하는 등)을 찾거나 접근하기가 쉽지 않습니다. 이런 기능을 사용하기 위해 검색하여 찾아볼 수도 있지만, 여전히 단계별로 지침을 따르고 작은 화면에서 UI적으로 세부적인 사항들을 탐색하는 것은 시간이 걸리고 접근성을 떨어트리는 결과를 가져옵니다. 따라서, 언어적인 지침 사항들을 동작으로 액션들로 바꿔서 사용자 대신 자동으로 실행해 주는 에이전트가 있다면 좋지 않을까라는 점에서 연구는 시작되었습니다.
언어-액션 페어 데이터가 필요성
사용자들은 복잡한 시퀀스의 액션들이 있는 태스크를 달성하기 위해 지침을 따르게 됩니다. 위와 유사한 상호 작용에 도움을 줄 수 있는 에이전트를 만드는 것은 액션이 수행되는 환경에서 진정한 언어 접지를 필요로 하는 중요한 목표입니다. 여기서 학습하고자 하는 태스크는 <일련의 지침들, 시스템이 한 화면에서 다른 화면으로 전환될 때 만들어지는 화면 시퀀스와 해당 화면의 대화식 요소의 세트>가 제공되는 모바일 플랫폼에 대해 일련의 액션들을 예측하는 것입니다. 이를 위해 end-to-end 모델은 대규모의 언어-액션 페어 데이터가 필요합니다. 하지만 데이터 구하기가 쉽지 않으므로, 두 가지 단계를 이용하여 문제 해결하려 했습니다.
두 단계로 된 해결 방법
① 액션 문구 추출 단계(action phrase-extraction step): Transformer with area attention 를 이용하여 다단계의 지침들의 문구들을 연산, 객체 또는 인수로 정의합니다. Area attention은 모델에서 설명의 디코딩을 위해 지침의 인접 단어 그룹간에 집중할 수 있게 해줍니다.
② 접지 단계(grounding step): 추출된 연산이나 객체 설명들을 화면에 있는 UI 객체들과 연결합니다. 여기서도 Transformer를 사용하여 UI 객체들을 문맥적으로 표현하고, 추출되었던 객체의 설명들을 이들과 연관시킵니다.
효과성 입증 및 결론
이 방법의 효과성을 검증하기 위해 3가지 새로운 데이터셋을 만들어서 적용해 보았습니다. 187 다단계의 영어 지침들을 Pixel 폰에 적용하여 성능 측정해 보았습니다. 액션 문구 추출 단계에서 웹에서 찾은 영어 기반의 지침들을 기반으로 문구들을 구분하고 액션들을 설명합니다. 접지 단계를 위해 인공적인 UI 액션 데이터를 만들었습니다(public android UI corpus). 자연어 지침들에서 실행 가능한 액션들을 end-to-end로 매핑하는 도전적인 태스크에도 잘 작동되는 것을 확인할 수 있었습니다. 또한 UI 객체의 방법과 표현법을 GCN이나 feedforward 네트워크로 대체하여 썼을 때 화면의 상황에 따라 객체를 표현할 수 있는 접지 정확도가 향상됨을 알 수 있었습니다.
두 단계로 나눔으로써, 두 단계 중 하나라도 발전한다면 전반적인 태스크 성능을 개선할 수 있고 수집하기 어려운 언어- 액션 쌍 데이터 세트를 가질 필요성을 완화시키게 됩니다. 이는 UI 세부 정보를 통해 조작하는 피로도를 완화시키는 자동화 기술의 기반을 마련하고, 시각적이나 상황에 따라 장애가 있는 사용자들에게 도움을 줄 수 있을 것이라 예상했습니다.
지침서가 위에서 말하는 포맷대로 안 써져 있으면 작동이 가능할지 의문이 들었습니다. 그리고 옵셔널 한 부분들이 설명서들에는 들어갈 수 있는데 이에 대해서도 잘 적용이 되는지 궁금했습니다. 이 모바일 디바이스에서는 필요 없는 옵션이면 자동으로 건너뛴다든지 등의 이유로 말입니다. 어떤 설명서들은 중간중간에 단계를 뛰어넘기도 하는데 이에 대한 커버도 잘 될 지도 의문이 들었습니다. 그리고, 영어는 다행히 데이터가 많아서 이 기법이 가능할 것 같은데 다른 나라말들의 성능은 어떨 지도 궁금했습니다. 성능적인 부분을 단순히 설명해서 실제로 시연하는 영상이 보고 싶었습니다. 아직 허들이 많겠지만 실제로 완전 자동화된다면 편할 것 같다는 생각이 들었습니다. 모바일 디바이스 말고도 IoT 같은 시스템에도 자동적으로 적용될 수 있을 듯합니다. 이런 모델을 이용하여 사용자가 어떤 지침에서 어려워하는지 알아서 반대로 설명서를 최적화할 수도 있을 것으로 보입니다.