본문 바로가기

플랫폼/IBM Watson

[ Watson Assistant: Aibril ] 정보

들어가기 앞서서, 해당내용은 Watson Assistant Document를 정리하면서 개인의 생각이 들어가 있습니다.

개인의 생각 부분은 회색으로 Document 내용 해석부분은 검은색으로 처리하였으니 참고 부탁드립니다.


아직 아리송한 기능 및 내용은 보라색으로 표기하였습니다.



Take a brief look


Watson Assistant 서비스를 간단하게 살펴봅시다.

Watson Assistant 서비스를 사용하면 자연어 입력을 이해하고 머신 러닝을 이용하여 인간의 대화를 시뮬레이션하는 방식으로 응답하는 솔루션을 빌드할 수 있습니다.



작동방법

Watson Assistant의 전체 아키텍처는 다음 그림과 같습니다.


구현

Intent(인텐트): 사용자가 서비스와 상호작용할 때 갖는 목적입니다. 사용자가 원하는 동작을 수행하기 위해 말해야하는 시작 질문입니다.

[ Ex ] store_hours라는 intent를 정의할 수 있으며, intent의 내용에는 what time do you open? 등과 같은 질문이 추가 됩니다.



카탈로그라는 탭을 이용해서 정의되어 있는 기본 인텐트를 추가 할 수 있다고 나와있습니만, 한국어에서는 안되고 영어에만 해당 탭이 존재합니다.




Entity(엔티티): Entity는 Intent의 맥락을 제공하는 용어나 목적을 나타냅니다. 명사형 등 단어를 사용하도록 권장되는 것 같습니다.

[ Ex ] Entity는 대화 상자에서 아용자가 운영 시간을 알고 싶어하는 상점을 구분하는데 도움이 되는 도시 이름이 될 수 있습니다.


훈련 데이터를 추가하면 자연어 클래스류가 자동으로 작업공간에 추가되며 서비스가 청취하고 응답해야 한다고 표시한 요청 유형을 이해하도록 훈련됩니다.

대화상자 도구를 사용하여 Intent와 Entity를 통합하는 대화 상자 flow를 만드세요.

대화상자 flow는 트리형식으로 보여집니다. 분기를 추가하여 서비스에서 처리할 각 Intent를 설정할 수 있습니다.



지원되는 언어

Watson Assistant 서비스가 지원하는 언어를 알려줍니다.

언어별로 지원하는 서비스의 차이가 좀 있지만 거의 다 지원한다고 설명되어 있습니다.


표에는 3가지 표현 방식이 존재하는데


GA: 기능이 일반적으로 사용가능하며 이 언어를 지원합니다. 계속 업데이트 될 수 있습니다.

베타: 기능이 베타 버전으로만 지원되며 일반적으로 사용 가능하게 되기 전까지 테스트가 진행됩니다.

공백: 이 언어에서는 사용할 수 없는 기능입니다.


주로 이용하게 될 한국어와 영어에 대해서만 알아보겠습니다. 다른 언어에 대해 궁금하면 홈페이지로 이동하셔서 참고부탁드립니다.


* 절대 스코어링 및 '관련 없음으로 표시' : Intent 인식이 잘 못 되었을 때 입력 값을 '관련 없음'으로 설정하는 기능입니다.

* 엔티티 유사일치

- 사용자 입력이 정확하게 일치하지 않아도 Entity와 유사한 구문일 경우 인식하는 서비스 입니다.

- Entity 입력창에서 Fuzzy Matching을 "on"시키면 사용할 수 있습니다.

- 유사 일치는 3가지 동작에 의해 이루어집니다.

1. 어간 추출: 여러 문법적 양식을 인식합니다. 

[ Ex ] 영어로 예시를 들자면 bananas = banana, running = run 과 같이 변형 된 어간을 인식합니다.

[ Ex ] 한국어는.. 알려줘와 알려주다를 같게 인식은 하나 한정적인 것 같습니다.

2. 오타: 오타 또는 약간의 구문상 차이가 있음에도 적절한 Entity를 찾아갑니다.

3. 부분 일치: 부분 일치를 사용하면 사용자 정의 Entity에 있는 하위 문자열 기반 동의어를 자동으로 제안하며 정확한 Entity 일치과 비교해 낮은 신뢰도 스코어를 지정합니다.


참고 - 영어의 경우 유사 일치는 일부 공통된 올바른 영어 단어를 지정된 엔티티의 유사 일치로 캡처하는 일을 방지합니다. 이 기능은 표준 영어 사전에 있는 단어를 사용합니다. 영어 엔티티 값/동의어를 정의할 수도 있으며, 유사 일치는 정의된 엔티티 값/동의어만 일치시킵니다. 예를 들어, 유사 일치는 unsure라는 용어를 insurance와 일치시킬 수 있습니다. 그러나 @option과 같은 엔티티의 값/동의어로 정의된 unsure를 가지고 있는 경우, unsure는 항상 @option과 일치하며 insurance와 일치되지 않습니다.


위 얘기는 간단히 말하면 내가 unsure를 @option이라는 Entity 안에 값으로 넣었다면 insurance와 같이 유사한 단어로 인식되지 않고 무조건 @option안에있는 unsure로 인식한다는 뜻입니다.


 언어

인텐트, 엔티티 및 대화 상자 정의 

절대 스코어링 및 '관련 없음으로 표시' 

시스템 엔티티

(숫자, 통화, 백분율, 날짜, 시간) 

엔티티 유사 일치 

영어(en) 

GA 

GA 

GA/베타(위치, 개인) 

베타(어간 추출, 오타 및 부분 일치) 

한국어(ko) 

Ga 

Ga 

Ga 

베타(오타만) 


작업공간(work space)를 생성하고 난 후에는 언어를 변경 할 수 없습니다. 만약 변경해야한다면 work space를 다운받아서 JSON 파일에 language 특성을 원하는 언어로 변경해야합니다.



양방향 언어를 구성할 수 있다고 홈페이지에는 나와있지만.. 이 기능은 work space언어를 한국어로 했을 때도 영어로 했을 때도 발견하지 못 했습니다.

해당 옵션은 양방향 언어로 설정된 작업공간에서만 사용 가능하다고 합니다. 예시로 들어져 있는 언어는 아랍어네요.. ㅎ 사용할 일 없을 듯 합니다.




대화식 설정에서 사용자는 Watson Assistant 서비스와 상호작용하는 동안 악센트를 사용하거나 하지 않을 수 있다고 나와있지만, 설정하는 방법에 대한 설명이 나와있지 않습니다.






#2019년01월23일

참조하면 좋은

- Watson Assistant




'플랫폼 > IBM Watson' 카테고리의 다른 글

[ Watson Assistant: Aibril ] 계획  (0) 2019.01.24