Tag Archives: 질문

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 – 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

자연어 처리의 역사는 1950년대로 거슬러 올라가야 합니다. 당시 지금과 같은 컴퓨터 기술이 없었을때도 로봇이 사람의 말을 알아들을 수 있을까에 대한 의구심이 있었습니다. 또한 어떻게 하면 로봇이 사람의 말을 인지할 수 있을까에 대한 궁금증 또한 있었습니다.

인공지능의 가장 큰 도전과제는 어떻게 지식을 이해하고 표현할 것인가일 것입니다. 이해하는 것과 표현하는 것은 다를 것 같지만, 결국 그 둘의 공통분모는 이를 어떻게 정보화 할 것이냐에 대한 결과로 도출이 됩니다.

자연어처리라는 학문은 NLU라고 부르며 Natural Language Understanding의 줄임말입니다. 즉, 자연어에 대한 이해…

우리가 사용하는 언어는 일련의 규칙을 가지고 있으며, 여러가지 상황이 얽혀 있습니다. 소프트웨어 측면에서는 Multiple Query의 조합(Combination)이라고 할 수 있으며, 이는 어떠한 상황(State)에 대한 정보도 포함합니다.

이를 흐름도로 도식화 하면 다음과 같이 나타 낼 수 있습니다.

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

우리가 어떠한 사실이나 개체를 인지할때는 대화를 통해서 알게 됩니다. 이것이 축적되면 굳이 대화를 나누지 않아도 우리 머리속에 그러한 상황정보가 남게 되고, 굳이 여러 대화를 나누지 않아도 한방에 알 수 있게 되는 것입니다.

결국 우리가 자연어처리 시스템을 구축한다고 하면 결국 “대화형 시스템”을 구축한다라고… 말해야 하는 것이 맞습니다. 대화형 시스템의 3단계 레이어를 도식화 하면 다음과 같이 나타 낼 수 있습니다.

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

위의 그림에서 Dialogue Manager에서 핵심적인 기능은 있는 정보를 오케스트레이션(잘 버무리는 것; Dialog Orchestration)입니다. 이를 가능하게 하려면 양질의 메타데이터와 그에 따른 빅데이터가 있어야 가능할 것입니다.

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

대화 시 상황정보를 받아들이는 계층을 도식화 하면 다음과 같이 표현 할 수 있습니다. 소프트웨어적 측면에서는 다음의 4단계로 나눌 수 있습니다.

  1. 명령(Command)
  2. 질문(Question)
  3. 할 일(Task)
  4. 잡담(Chat)

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

지금까지 구현된 대화형 솔루션은 3번까지입니다. 4번의 경우 일부 업체들이 그러한 기술을 구현했고, 계속 발전하고 있는 상태입니다.

대화형 솔루션의 궁극의 목표는 누가 말했느냐… 까지 구현하는 것일 것입니다.

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

이러한 정보를 효과적으로 오케스트레이션하는 방법론으로는 다음과 같은 접근이 가능할 것입니다.

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

마지막으로 자연어 처리는 Rule-based DM(Dialog Management) 또는 Data-based DM(Dialog Management)를 기반으로 동작하게 될 것입니다.

자연어처리(NLU)를 하기 위한 소프트웨어 아키텍쳐 - 걸음마단계부터 인간 수준으로 진화하는 방향에 대해 알아본다

현실적으로 자연어처리 소프트웨어를 만든다면  “자연어 처리로 무엇을 할 것이냐”에 대한 답을 가지고 있어야 가능 할 것입니다.

예를 들면 다음과 같은 목표가 있어야 합니다.

  1. IPTV 서비스를 위한 콘텐츠 추천
  2. 홈표핑을 위한 제품 추천
  3. 제품 고장 처리를 위한 문제점 확인

아마도 가까운 미래에는 위와 같은 DM Engine이 많이 만들어져 있을 것이고, 이것을 다시 오케스트레이션 하는 통합 엔진이 나올 것입니다. 그러면 정말 인간과 가까와지는 천재 로봇이 나올지도 모르겠군요.

질문을 짧고 단순하게 하는 것이 최고의 질문

사실 질문을 잘 하는 것도 기술인 것 같습니다.

회사를 다니다 보면 질문을 받은 사람이 뭘 질문했는지 못 알아 듣는 경우를 가끔 봅니다.

대개의 경우 자신과 같은 잣대로 질문을 해서 상대방이 못 알아 듣는 경우였는데요.

질문을 짧고 단순하게 하는 것이 최고의 질문

누가 내 질문을 받을 것이냐… 그것을 먼저 생각하셔야 합니다.

 

질문에도 기술이 있다고 이야기 드렸는데, 때로는 짧고 단순한 질문이 가장 명확한 답을 끌어내는 경향이 있습니다. 질문을 짧고 간단하게 할 수 있는 방법은 역시 ‘한 번에 하나씩만 물어보라.’라는 규칙을 따르는 것입니다.

길이를 염두에 두고 뉴스나 방송 프로그램의 인터뷰에 귀를 기울여 보십시오. 그러면 기자나 인터뷰 진행자가 질문을 시작하기 전에 끝도 없이 말을 잡아 늘이며 이런 저런 이야기를 늘어놓는다는 것을 느끼실 수 있을 것입니다.

여기서 얻을 수 있는 인사이트는… 질문 전에 배경에 대해 짧고 강력한 메시지를 전달하고, 질문을 간결하게 하라는 것입니다.

1단계) 질문을 받을 사람이 알아들을 만한 배경 정보에 대해 간단 명료하게 설명

2단계) 짧고 단순한 질문 발사

면접 시 반드시 준비해야 할 것들–장소와 시간, 주차정보는 기본, 면접관 직함 및 성함, 회사 연혁 및 재무상황은 기본, 질문도 미리 준비해야 할 필수 준비

성공적인 면접에 가장 먼저 필요한 것은 준비입니다.

철저히 준비하면 자신감 있게 면접에 임할 수 있습니다.

면접 시 반드시 준비해야 할 것들–장소와 시간, 주차정보는 기본, 면접관 직함 및 성함, 회사 연혁 및 재무상황은 기본, 질문도 미리 준비해야 할 필수 준비
다음을 숙지하도록 합니다:

1) 면접 장소와 시간, 면접 장소로 가는 길과 소요 시간, 주차 정보

2) 면접관의 정확한 직함 및 성명

3) 회사 연혁, 재무 상황, 경쟁사, 제품, 서비스 등 회사에 관한 구체적인 정보

4) 현재 또는 전 고용주에 대한 사실과 수치

5) 마지막으로 면접관에게 물어볼 질문을 준비합니다.
면접이 쌍방향 의사소통이라는 것을 기억합니다.
면접관은 질문을 통해 면접자가 특정 직무에 적합한 사람인지 판단하고자 할 것입니다.
마찬가지로 면접자도 미래의 고용주가 자신이 찾고 있는 커리어 개발 기회를 제공할 것인지 질문을 통해 판단하여야 합니다.

면접 시 반드시 준비해야 할 것들–장소와 시간, 주차정보는 기본, 면접관 직함 및 성함, 회사 연혁 및 재무상황은 기본, 질문도 미리 준비해야 할 필수 준비