tech
trend

Screen Recognition Voice Service Technology

Jeongsam Han

Team Lead/Media Delivery Platform Dept., Altimedia Corp.

Moving from the analog to the digital era, TV has evolved from one-way broadcasting to two-way combined with the Internet. It is changing from a period where users only watched real-time channels transmitted by broadcasters to an era where users actively search and consume various contents. User experiences for quick and easy access to the desired one from various media contents have also evolved, and recently, interfaces through voice commands have been tried in various ways. The voice interface provides a fast and convenient way to select content beyond the limitations of traditional remote controller.

Voice recognition technology can be largely divided into ‘automated speech recognition(ASR)’ and ‘natural language understanding(NLU)’. “Voiceable”, a screen recognition voice service solution of Altimedia, is a method of processing natural language using STT(Speech to Text) engines provided by specialized companies such as Google and Amazon, and a language model developed by Altimedia itself. The difference from the general NLU technology is the recognition of the context shown on the screen made to understand the viewer's intentions very precisely, while enabling immediate voice service with fast feedback. The Voiceable's service process is as follows:


1. Voice commands are transmitted through a built-in remote control microphone or a smart device.
2. When voice speech starts, the client sends the information of current screen to the server, and the server extracts context information from the screen information to recognize the status.
3. Convert voice signals into text. (STT)
4. Grasp the intention of speech through morpheme analysis, syntax analysis, and semantic analysis of the voice converted into text.
5. In case of a pattern registered in the language model is matched, pass the command to the client.

The technical elements for implementing these screen recognition voice service are as follows:

• Context
A hierarchical structure with priority for matching as a basic processing unit containing predefined patterns on the screen. To identify the intent for the utterance and make an accurate response, it is necessary to check the status of the screen and register matching patterns and commands in each context. For example, if user says "Volume up," common tasks can be taken in any state, but if the command is "Turn TED on," the system needs to distinguish whether to move on the live channel or on the catch-up menu.

• Entity
Entity is an object included in the user's speech pattern, mainly includes channel name in the form of nouns, the VOD category, program name, content name, and channel number. Entities can be defined for each context, and voice recognition processing is possible with preregistered entities alone and produce fast performance. For example, if “Avengers” is registered in the movie category entity, the content can be immediately searched even if only “Avengers” is spoken (without any interpretation of the entire sentence).

• Pattern
Pattern is used to distinguish the commands uttered in the form of sentences recognizable in the language model whether they are matched to registered patterns or not. Since voice commands can be expressed in different ways for different people, various patterns must be prepared according to the characteristics of each language to respond. For example, in the case of channel change, it is possible to say "tune", "move", and "go", and the system needs to accurately grasp the phrase and inform the client of the command to change the channel.

• Language Model
A language model is the process of analyzing text to create a pattern, and extracting sentences by predicting the probability between the words that are being spoken. The Voiceable’s NLU determines the meaning of a user command by referring to a hierarchical language model that is dynamically defined according to the state of the application. Voiceable's language model is specialized for TV viewing environments, and is optimized to create patterns and grasp user intentions.

• Client Application
Client Application takes the role of receiving and sending voice data from the device to the server and transmitting the real-time screen information at the time of voice utterance. It is also possible to display a texted voice in real time by running a prompt window on the screen when the speech is made.

Since screen-based voice recognition reflects and processes related information in real time, it is possible to intuitively process almost all commands based on the screen. In particular, fast and easy access has become possible for content search and menu movement, where existing remote control interfaces were inefficient.

Screen-based voice recognition technology can further evolve to ‘chat-bot’ interface, a quickly spreading AI-based communication form. By using this technology, it is expected to be able to provide an optimal user experience on a media service by recognizing not only the current intention of speech, but also the context of the conversation with the user.

화면인식 음성 서비스 기술

아날로그에서 디지털 시대로 넘어오면서 TV는 단방향 방송에서 인터넷이 결합된 양방향 방송으로 발전해 왔다. 방송사가 전송하는 실시간 채널만 보던 시대에서 다양한 콘텐츠를 사용자가 직접 이용하는 시대로 변화하고 있는 것이다. 다양한 미디어 콘텐츠에서 원하는 것을 빠르고 쉽게 접근하기 위한 사용자 경험도 발전되어 왔는데, 최근에는 음성 명령을 통한 인터페이스가 다양하게 시도되고 있다. 음성 인터페이스는 기존 리모콘이 가지는 한계를 벗어나 콘텐츠를 선택하는데 있어서 빠르고 편리한 방식을 제공한다.

음성인식 기술은 크게 음성 인식(Automated Speech Recognition(ASR))과 자연어 처리(Natural Language Understanding(NLU))로 구분할 수 있다. 알티미디어의 화면 인식 음성 서비스 솔루션인 ‘Voiceable’은 구글, 아마존 등 전문 업체에서 제공하는 STT(Speech to Text) 엔진과 자체 개발한 언어 모델을 이용하여 자연어를 처리를 하는 방식이다. 일반적인 NLU 기술과 다른점은 화면에서 보여지는 컨텍스트를 인식하여 시청자의 의도를 매우 정교하게 파악함과 동시에, 빠른 피드백으로 즉각적인 음성서비스가 가능하다는 것이다. Voiceable의 음성 서비스 처리 과정은 아래와 같다.

1. 리모콘 내장형 마이크 혹은 스마트 디바이스를 통해 음성 명령이 전달된다.
2. 음성 발화가 시작되면 클라이언트는 현재 화면 정보를 서버로 전송하고 서버는 화면정보에서 컨텍스트 정보를 추출하여 어떤 상태인지 인지한다.
3. 음성신호를 텍스트로 변환한다. (STT)
4. 텍스트로 변환된 음성에 대한 형태소 분석, 구문 해석, 의미 분석 등을 통해 발화 의도를 파악한다.
5. 언어모델에 등록되어 있는 패턴에 매칭이 되는 경우 해당 명령어를 클라이언트에게 전달을 한다.

이러한 화면 인식 음성서비스 구현을 위한 기술 요소는 아래와 같다.

• 컨텍스트 (Context)
화면에서 미리 정의한pattern을 포함하는 기본 처리 단위로 매칭에 대한 우선 순위를 가지는 계층적 구조이다. 발화에 대한 의도를 파악하여 정확한 응답을 하기 위해서는 화면의 상태를 확인하고 각 컨텍스트에 매칭된 패턴과 명령어를 등록 해야한다. 예를 들어 “볼륨 높여줘” 라고 발화 하는 경우 어느 상태에서나 공통된 작업을 취하면 되지만, “TED 틀어줘” 라고 할 경우 라이브 채널에서 이동을 해야하는건지, VOD 메뉴에서 이동을 해야하는 건지 구분이 되어야 한다.

• 엔티티 (Entity)
사용자의 발화 패턴에 포함 되어 있는 개체로, 주로 명사 형태의 채널명, VoD 카테고리, 프로그램명, 콘텐츠명, 채널번호 등이 이에 속한다. 엔티티는 각 컨텍스트 별로 정의할수 있으며, 사전 등록된 엔티티만으로도 음성 인식 처리가 가능하고 빠른 성능을 낼수 있다. 예를 들어 영화 카테고리 entity에 “어벤저스”가 등록 되어있는 경우, “어벤저스”라고만 발화를 해도(전체 문장에 대한 해석 과정 없이) 해당 콘텐츠를 즉시 검색할 수 있다.

• 패턴 (Pattern)
언어 모델에서 인지할 수 있는 문장의 형태로 발화된 명령어들을 등록되어 있는 패턴에 매칭이 되어 있는지 아닌지 구분하는 작업에 사용된다. 음성 명령은 사람들마다 다른 방식으로 표현될 수 있기 때문에 이에 대응할 수 있도록 각 언어의 특성에 맞추어 다양한 패턴이 준비돼야 한다. 예를 들어 채널 변경의 경우 “틀어줘”, “이동해줘”, “가줘” 등의 발화가 가능한데, 해당 구문을 정확하게 파악해서 채널 변경이라는 명령을 클라이언트에게 알려줘야 한다.

• 언어 모델
언어 모델은 텍스트를 분석하여 Pattern 을 만들고, 발화되고 있는 단어들 간의 확률을 예측하여 문장을 추출 하는 과정이다. Voiceable의 NLU는 애플리케이션의 상태에 따라 동적으로 정의되는 계층적인 언어 모델을 참조하여 사용자 명령의 의미를 판단한다. Voiceable의 언어모델은 TV 시청 환경에 특화돼 있으며, 패턴을 생성하고 사용자 의도를 파악하는데 최적화 되어 있다.

• 클라이언트 어플리케이션
디바이스에서 음성 데이터를 받아 서버로 전송하는 역할과 음성 발화 시점의 화면 정보를 실시간으로 전송하는 역할을 한다. 또한 발화시 화면에 prompt 창을 실행시켜 실시간으로 텍스트화된 음성을 표시할수 있다.

화면 기반의 음성 인식은 관련 정보를 실시간 반영하며 처리 하기 때문에, 화면에 기반한 거의 모든 명령에 대한 직관적인 처리가 가능하다. 특히 콘텐츠 검색이나, 메뉴 이동 등 기존 리모콘 인터페이스가 비효율적이었던 부분에 대해 빠르고 쉬운 접근이 가능해졌다.

화면 기반의 음성 인식 기술은 더 나아가서 능동형 커뮤니케이션 플랫폼인 챗봇 인터페이스로 진화할 수 있다. 이 기술을 이용하여 현재의 발화 의도 뿐만 아니라, 사용자와의 대화 맥락을 인지하여, 미디어 서비스 플랫폼에서 최적의 사용자 경험을 제공할 수 있을 것으로 기대된다.

TOP