Streli, Paul, et al. "TapType: Ten-finger text entry on everyday surfaces via Bayesian inference." CHI Conference on Human Factors in Computing Systems. 2022.
이 논문은 모바일 기기에서 full size keyboard를 사용 할 수 없고, 작은 사이즈의 키보드를 사용하게 되므로서 생긴 텍스트 입력의 비효율성에 대해 이야기 한다. 이 문제를 해결 하기 위해서 TapType 은 full size 터치 입력을 할 수 있는 표면에서 이미 익숙한 방식의 텍스트 입력을 가능하게 한다. 또한 실제 키보드가 없기 때문에 eyes free 타이핑이 가능하다.
탭을 센싱하는 방식은 이전 연구에서 이야기 한 TapID를 거의 그대로 사용한다. TapType 은 IMU 에서 측정한 신호에서 텍스트 입력을 디코딩 하는 모델을 제시한다. 한 가지 독특한 점은 Bayesian Neural Network를 사용한다는 점이다 (사실 이 점이 이 논문에 가장 큰 흥미를 느끼게 한 점이다.)
TapType은 end-to-end text entry 테스트에서 평균 19 WPM의 속도를 보였고 character error rate (CER) 이 0.6%로 측정 되었다. 전문가 수준이 되면 25 WPM 의 속도를 보인다고 한다.
이 논문에서 주장하는 contribution 은 다음과 같다.
원래 관련 연구를 따로 잘 다루지는 않는데 이 논문은 선행 지식이 좀 필요하다. 그래서 간략하게 중요한 두 관련 주제에 대해서 이야기를 한다.
이 논문에서는 n-gram language model 을 사용한다. n-gram language 모델은 앞의 n 개의 문자를 기반으로 다음 문자의 확률을 표현하는 모델이다. 쉽게 이야기 해서 ‘ca’ 라는 문자가 있으면 다음에 ‘t’나 ‘p’ 가 나올 확률이 ‘q’ 보다 높다는 것이다. p(s) 가 어떤 문자열 s가 등장 할 확률 분포 (prior probability) 라고 한다면, n-gram language model은 다음과 같이 근사 한다.
$$ p(s) = \prod^{l}{i=1} p(y{i}|y_{1}...y_{i}) \approx \prod^{l}{i=1} p(y{i}|y_{l-i+1}...y_{i}) $$
일반적인 딥 러닝 모델들은 classification task 에서 over confident 한 경향을 보인다고 한다. 즉 어떤 class가 맞다고 생각 할 때 지나치게 높은 확률을 출력 한다는 것이다. Bayesian network 는 이러한 경향성을 없앤 neural network 이다. Bayesian Network는 prediction 과정에서 불확실성을 주입 하는데 이 불확실성은 두 종류가 있다고 한다. 첫번째는 epistemic 불확실성이다. 이는 불충분한 트레이닝 데이터로 인해 network weight 에 불확실성을 추가 하는 것이다. 두번째는 aleatoric 불확실성이다. 이는 알지 못하는 정보가 있을 수 있기 때문에 하나의 class로 확정하는 것을 막는 불확실성이다.
일반적으로 Neural network는 weight 가 deterministic 하다. 즉 하나의 값으로 정해지게 되는데 Bayesian network는 그렇지 않고 확률 분포 ($p(\mathbf{w}|D)$) 를 가지게 된다.
이제 본격적으로 어떻게 텍스트 입력을 decoding 하는지 알아보자. 이 논문에서 가속도 데이터의 값은 $\mathbf{X}_{l} = [\mathbf{x}_1...\mathbf{x}_l]$, 손가락 탭은 $z_i$, 글자 입력은 $\mathbf{y}_l = [y_1, y_2, ..., y_l]$ 이렇게 표현 한다. 그러면 이 논문에서 풀고자 하는 문제는 아래와 같이 표현 할 수 있다.