«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

음성인식 AI 본문

old.

음성인식 AI

jae_walker 2018. 6. 8. 17:18

<음성인식과 딥 러닝>


1.     STT (Speech To Text, Speech Recognition, 음성인식)

-       사람이 말하는 음성 언어를 컴퓨터가 인식하여 그 내용을 텍스트 데이터로 전환하는 처리 과정. 내용을 이해하는 수준은 아니며 단순히 음성 데이터를 텍스트로 구현하여 시스템에 입력하는 단계.

-       Voice dialing, call routing, simple data entry(신용카드 번호, 전화번호 입력), word processor, DVI(Direct voice input, 전투기나 비행기 조종에서 사용됨.) speaker identification(목소리로 사용자 인식)

 

2.     NLP (Natural Language Processing)

-        사람의 언어, 즉 자연어는 기계가 이해하기에는 직관적이고 모호한 표현이 많기 때문에 이를 기계가 이해할 수 있도록 하는 단계가 필요한데 이를 NLP라고 한다. 세분화하면 자연어를 해석하고 이해하는 NLU(Natural Language Understanding)과 연산 결과를 다시 자연어로 표현하는 NLG(Natural Language Generation)로 나뉜다.

 

2-1.         NLU

-        문장의 의미를 단순히 해석하는 것뿐만 아니라 적용되는 상황 파악 등을 통해 화자의 발화 의도를 파악하는 과정으로, 단순히 음성 데이터를 텍스트로 변환하는 STT와는 차이가 있다. 과거에는 개발과정에서 개발자에 의해 지정된 통계나 룰에 의존하여 동작했으나, 최근에는 인공신경망을 이용한 딥러닝의 도입으로 한동안 정체되어 있던 NLU 기술이 또 한번 크게 발전하는 계기가 되었다.

2-2.         NLG

-        NLU가 입력된 자연어 문장의 모호한 의미를 명확히 하는 과정이라면 NGU는 반대로 컴퓨터의 연산 결과물을 상황에 맞는 적당한 단어와 어법을 선택하여 표현하는 과정이라고 볼 수 있다.

2-3.         활용 분야

n  Text Classification (문장 분류) : 텍스트 속에서 특정 문장이나 단어를 추출해 분류하는 NLU. NLU 중 가장 간단한 task이며 문장의 이해보다는 사전에 정의해준 문장과 단어 카테고리 등을 찾는 작업이 주이기 때문에 진정한 의미에서 NLU라고는 보기 어려움.
ex)
스팸 필터링, 이메일 분류 등.

n  Sentiment Classification (감정 분류) : 텍스트 내에서 해당 이슈에 대한 화자의 감정을 긍정 또는 부정 등으로 파악하는 것. 최근에는 딥러닝 기반 NLU와 빅데이터를 결합하여 SNS나 게시판, 댓글 등 각종 미디어에서 제품의 시장 반응을 확인하고 부정적인 의견이나 이슈에 대한 피드백이 가능하도록 하는 마케팅 방법으로도 활용된다.
ex) TIBUZZ
소셜 미디어 감정 분석

n  Intent Classification (의도 분류) : 사람과의 대화에서 문장을 듣고 화자가 어떤 의도로 발화했는지를 파악해 적절한 task를 수행할 수 있도록 하는 것. NLG와 문장 단위로 대응하는 sequence to sequence까지 구현되면 사람의 말을 듣고 적절한 답변을 제공하는 MRC(machine reading comprehension)이나 사람-컴퓨터 간의 대화가 가능해진다. 인공신경망 기반의 머신러닝 기술의 도입으로 가장 큰 발전을 보인 분야로, 과거 통계나 룰 기반으로는 구현하는데 굉장히 큰 한계가 있었지만 현재는 온라인 커머스의 상담 챗봇이나 스마트폰의 개인비서 서비스, 로봇과의 음성 대화 등에 활용될 정도로 발전했다. 하지만 아직 상용화되기에는 부족.
ex) Google
Dialogflow, 마이크로소프트의 Luis.ai, 네이버 Clova, 삼성 빅스비, Apple Siri

n  Machine Translation (기계 번역)
ex) Google
번역기, 네이버 파파고 등

 

3.     TTS(Text-To-Speech, speech synthesis, 음성 합성)

-        NLU 단계를 마치고 출력된 결과 텍스트를 소리로 변환하는 과정. 특정 목소리 모델을 기준으로 분절된 음성을 적절하게 합성하여 전체 문장을 만들어낸다.

 

 




<딥 러닝 음성인식 솔루션> - 한국어 지원, 오픈 솔루션 기준


1.    Google : Cloud API

2.    네이버 Clova

3.    IBM Watson

4.    Amazon Lex

5.     Kakao I -> 올해 10월 말 베타 오픈 예정.

6.     Selvas Selvy Speech ->

 






 

<네이버 CEK>


1.     개요 네이버 Clova를 기반으로 돌아가는 확장 프로그램 개발 플랫폼. 외부 extension 서비스와 Clova 음성인식 서비스를 연결할 수 있다.


2.     개발 가이드라인

A.     목표 수립 및 사용 시나리오 스크립트 작성 세부 동작을 나눈 후, 명령별로 어떤 세부 동작이 예상되는 지 작성.

B.      Interaction 모델 정의 요청을 서비스 제공에 필요한 포맷으로 변경하는 규칙을 정의하는 단계. 의도를 담는 Intent intent마다 필요한 정보를 담는 slot 등으로 문장을 나누고 각 slot intent dictionary를 작성. Built-in 타입의 경우, 도움말 요청, 실행 취소, 긍정 응답, 부정응답, 날짜, 숫자, 도시명 등의 자주 사용되는 intent를 미리 선언해놓은 것이며 그 이외에 확장 프로그램에서 특별히 요구되는 범주는 다양한 발화 예시를 통해 custom이 필요하다.

C.      Extension 서버 구축 - CEK에서 분석된 명령을 전달받아서 필요한 프로세스를 처리한 후 처리 결과를 다시 전달함. HTTP를 통해 메시지를 주고받음.

 


<<CEK 개발 예시 – 1. 시나리오 스크립트>>


 

분류

내용

#1

서비스 호출

User) 영화 보고 싶어/영화 추천해줘/영화 추천 앱 시작해줘

#2

사용 안내

Bot) 좋아하는 장르나 배우, 감독 정보를 알려주시면 영화를 추천해드릴게요!

#2

선호 장르 선택

Bot) 어떤 장르를 좋아하세요?

User) [Genre slot]/아무거나/[감정 intent]한 거

#3

선호 인물 선택

Bot) 선호하는 배우나 감독이 있으신가요?

User) Y/N/[Actor slot]/[Director slot]

#4

영화 추천 결과

Bot)

(최초 추천시) 제가 추천하는 영화는 [MovieName slot]입니다.

(재추천지) 그럼 [MovieName slot]는 어떠세요?

#5

영화 세부 정보 알림

User) [infoName slot] 뭐야/누구야/어때?/

Bot) [infoName] [info1 slot]입니다.

#6

선호 여부 파악

Bot) 제가 추천해드린 영화가 마음에 드세요?

User) N : 다른 건?/재미없어보여/별로야 -> #4

     Y -> #7

#7

VOD 서비스로 연결

Bot) 영화를 볼 수 있는 페이지로 안내해드릴게요.

 

#8

서비스 종료

Bot)


 

 


'old.' 카테고리의 다른 글

verilog 최적화  (0) 2018.05.08
디지털집적회로 정리  (0) 2018.05.06
집적설 정리  (0) 2018.05.06
1. MOSFET (1) - 기본 구조 및 동작, Threshold voltage  (3) 2018.05.04
[Project] 전자전기컴퓨터설계실험2 -Verilog  (0) 2018.05.03
Comments