2021년 4월 28일 REWORK 컨퍼런스에서 제가 강연한 내용의 블로그 게시물입니다. 슬라이드 자료는 여기에 있습니다.
자연 언어 이해(NLU)는 대화형 AI 시스템의 핵심 요소입니다. 일반적으로 작업 지향 대화 시스템에서 NLU는 사용자의 의도를 식별하기 위한 분류자와 존재하는 슬롯 또는 엔티티로 구성됩니다. 대화 관리자는 이 출력을 사용하여 적절한 대화 상태를 선택하고 사용자의 요청을 실행하기 위해 적절한 작업을 수행합니다. 어떤 경우에는 의도를 정확히 파악하지 못할 수 있고, 단순히 의도와 사용자 요청에 있는 엔티티를 아는 것만으로 대화 관리자가 최적의 작업을 수행할 충분한 정보를 제공하지 못할 수도 있습니다. 예를 들어, 소매 의류 웹사이트에서 사용자와 봇이 다음과 같은 대화를 나누는 상황을 떠올려 보세요. 사용자는 인사말로 대화를 시작한 다음, 특정 제품을 찾아달라고 요청합니다. 이러한 경우 봇이 확인된 의도와 슬롯만으로 지능적으로 대응하여 사용자에게 요청과 관련된 제품을 성공적으로 추천할 수 있습니다. 문제는 사용자가 추천에 대해 제품에 대한 인상으로 응답할 때 발생합니다. 이러한 쿼리는 어떤 의도에 매핑되어야 하며 어떤 엔티티를 탐지해야 할까요? 보통 이럴 때는 사용자에게 좀 더 실행 가능한 대화로 전환하라는 메시지를 보내 이러한 상황을 처리했습니다. 예를 들어, ‘잘 이해가 되지 않습니다. 더 많은 옵션을 보려면 ‘더 보기’라고 말해 주세요’라고 합니다. 이것은 나쁜 사용자 경험은 아니지만, NLU 시스템에 발화 행위나 대화 행위를 식별하기 위한 분류자 모듈을 추가하면 봇을 더욱 지능적으로 만들 수 있습니다.
발화 행위란 무엇일까요?
발화 행위는 대화의 각 발언에서 사용자의 맥락과 의도를 포착합니다. 이러한 의도는 본질적으로 더 일반적이라는 점에서 일반 대화의 의도와는 다릅니다. 예를 들어, ‘얼마인가요?’ 및 ‘오늘 날씨는 어떤가요?’는 각각 ‘GET_COST’와 ‘GET_WEATHER’의 의도에 속하며, ‘QUSTION’이라는 동일 발화 행위에도 속하거나 더욱더 세분된 발화 행위를 원할 경우 ‘WH-QUESTION’에 속하게 됩니다. 문헌에는 다양한 발화 행위 분류법이 정의되어 있으며, 응용에 적합한 부분 집합을 사용할 수 있습니다. 이러한 태그가 무엇인지 더 자세히 알아보려면 42개의 풍부한 태그를 제공하는 SWBD-DAMSL 분류법을 참조하세요.
대화 관리를 위한 발화 행위
앞에서 소개한 사용자와 봇의 대화에서는 세 가지 사용자 쿼리에 ‘GREETING'(또는 ‘CONVENTIONAL-OPENING’), ‘QUESTION’ 및 ‘OPINION-NEGATIVE’의 발화 행위 레이블을 사용할 수 있습니다. 이제 마지막 사용자가 브랜드에 대해 부정적인 의견(엔티티 유형 ‘범주’에 속하는 것으로 태그 지정)을 보였다는 것을 알았으므로 대화 관리자는 추천 목록을 필터링하여 사용자가 싫어하는 카테고리에서 옵션을 제외할 수 있습니다.
대화에서 실행 가능한 항목을 식별하기 위한 발화 행위
발화 행위 애플리케이션의 또 다른 흥미로운 예시는 미팅의 하이라이트를 추출하는 데 사용한 실험입니다. 연구를 통해 뉴스 기사를 요약하는 것과 달리 주석이 달린 데이터를 얻기 까다롭기 때문에 미팅을 추출하여 요약(미팅의 하이라이트)하는 것이 어려움이 밝혀졌습니다. 하이라이트는 주관적으로 선별합니다. 예를 들어 엔지니어가 미팅에서 논의된 구현과 관련된 상세 정보에 초점을 맞출지 모르지만, 제품 관리자는 핵심 기술의 상세 정보가 필요하지 않을 수 있습니다. 이러한 주관 때문에 미팅 데이터의 민감한 특성과 함께 모델 교육을 위한 주석 데이터를 얻기 어렵습니다. 문헌과 내부 조사에 따르면 사람들이 동의하는 내용은 작업 항목과 후속 조치가 미팅의 핵심 내용의 일부가 되어야 한다는 것이었습니다. 이를 통해 동기가 부여되어, 미팅에서 실행 가능한 항목을 식별하는 것에 초점을 좁혔습니다. 다음은 실행 가능한 항목의 의미를 보여 주는 예입니다. 작업 항목은 크게 두 가지 범주로 표현됩니다. 작업을 약속하는 화자와 명령을 내리는 화자입니다. 이러한 관찰로 발화 행위가 이 문제를 완벽히 해결할 수 있습니다. 작업의 발화 행위 분류법을 다음과 같이 정의합니다.
- 약속[COM] – 화자가 무언가를 약속함
- ‘상세 정보가 담긴 이메일을 보내겠습니다.’
- ‘Jerry와의 미팅을 월요일로 설정하겠습니다.’
- 지시[DIR] – 화자가 청자에게 요청하여 행위를 수행하도록 함
- ‘그것을 내일 동기화할 수 있나요?’
- ‘이 프로젝트의 가견적은 어떻습니까?’
- 설명[ELB] – 화자는 COM 또는 DIR에 더 많은 정보 추가
- ‘Emma와의 미팅을 오늘로 설정합니다. 주요 의제는 이 프로젝트를 좀 더 명확히 하기 위해 논의하는 것입니다.’ (COM 다음 ELB)
- ‘문서 작업을 시작해야 합니다. 이렇게 하면 공유 과정이 더 쉬워집니다.’ (DIR 다음 ELB)
- 인정[ACK] – 화자가 무언가를 인정함
- ‘그래, 좋아.’
- ‘효과가 있는 것 같아요.’
일부 약속과 지침은 작업의 범주가 미팅 기간 중으로 제한되기 때문에 반드시 실현되지는 않습니다. 예: ‘내 화면을 공유하겠습니다’ 또는 ‘내 Chrome 창이 보이나요?’ 이러한 사례를 처리하기 위해 COM과 DIR을 미팅 중(IM) 클래스와 미팅 후(PM) 클래스로 세분화합니다. COM-PM 또는 DIR-PM으로 분류되는 문장은 사용자가 실행 가능한 항목으로 포착하는 데 관심이 있는 문장입니다. 저희는 이러한 태그로 주석을 단 미팅의 50,000개의 문장에 대해 사전 훈련된 RoBERTa(트랜스포머 변형) 모델을 미세 조정했습니다. 이 모델은 3,000개의 보류된 문장에서 테스트했을 때 정확한 발화 행위를 예측하는 데 약 82%의 정확도를 보였습니다. 회의에서 핵심 내용을 식별하는 최종 목표를 평가하기 위해, 두 명의 전문 주석자에게 12개의 미팅에 대해 각 문장을 하이라이트로 선정해야 하는지 여부를 이진 레이블로 주석을 달아달라고 요청했습니다. 모델의 정밀도는 88%로 높았습니다. 즉, 모델이 예측한 100개의 하이라이트 중 88개가 정확했습니다. 그러나 소환율은 42%로, 이는 모델이 하이라이트 50% 이상을 누락하거나 약속 스키마 또는 지시에 맞지 않는다는 것을 의미합니다. 개선해야 할 부분은 많지만, 정밀도가 높다는 것은 매우 고무적입니다.
다른 애플리케이션 사례
저희는 유용한 발화 행위가 있는 두 가지 애플리케이션 사례만 공유했지만, 다양한 실제 사용 사례가 있습니다. 발화 행위는 콜센터 대화 로그를 분석하는 데 도움이 되는 대화의 중요한 구조를 이해하는 데 도움이 됩니다. 문장을 자동으로 정중하게 만드는 것을 목표로 한 최근 발행물은 무례한 문장을 식별하기 위해 발화 행위 분류자를 사용한 다음 필요에 따라 수정했습니다. 살펴볼 몇 가지 개방형 데이터 집합이 있습니다. 다양한 발화 행위 태그로 주석이 달린 대화가 포함된 Switchboard 말뭉치와 ICSI Meeting Recorder 말뭉치 등입니다. Webex에서는 전화, 메시징, 미팅 애플리케이션뿐만 아니라 컨택 센터 솔루션 등 다양한 형태의 대화를 접합니다. 발화 행위를 기반으로 하는 NLP 모델을 통해 고객이 자체 데이터에서 인사이트를 얻는 데 어떻게 도움을 줄 수 있는지 알아보기 시작하는 단계에 있습니다. 앞으로 이 주제에 대해 더 많은 관심을 가져주시기 바랍니다.
MindMeld 팀에 합류하고 싶은가요? mindmeld-jobs@cisco.com으로 메일을 보내주세요!
작성자 정보
Varsha Embar는 시스코 MindMeld 팀의 수석 머신러닝 엔지니어로, 프로덕션 수준의 대화 인터페이스를 구축합니다. Varsha는 저자원 설정을 위한 기능과 알고리즘을 포함한 핵심 자연 언어 처리 플랫폼을 개선하기 위해 노력하고 있으며, 잡음이 많은 미팅 녹음에서 요약 및 작업 항목 감지와 같은 까다로운 문제를 해결합니다. Varsha는 MindMeld 이전에 카네기멜런대학에서 머신러닝과 자연 언어 처리 분야에서 석사 학위를 받았습니다. Webex에 등록하세요. 도움이 필요한 경우 홈페이지를 방문하거나 직접 문의해주세요. Webex에서 제공하는 서비스에 대해 자세히 살펴보고 무료 계정을 만들려면 여기를 클릭 하세요.