Call +1 (SMB)-AI-AGENT to book a meeting with the SeaVoice AI agent.
Available 24/7
Back to Blog
데모에서 성공까지: 회의 인식 (4/5)

데모에서 성공까지: 회의 인식 (4/5)

이 블로그 시리즈의 네 번째 부분에서는 협업 최신 회의 솔루션인 SeaMeet을 만드는 Seasalt.ai의 여정을 따라갑니다.

SeaMeet

이 블로그 시리즈를 통해 미천한 시작부터 다양한 하드웨어 및 모델에서 서비스를 최적화하고 최첨단 NLP 시스템을 통합하여 마침내 협업 최신 회의 솔루션인 SeaMeet을 완전히 실현하기까지 Seasalt.ai의 여정을 따라가 보세요.

녹취를 넘어서

우리가 직면했던 이전의 모든 장애물은 우리에게 중요한 교훈을 가르쳐주었습니다. 즉, 이 모든 것을 우리 스스로 더 잘할 수 있다는 것입니다. 그래서 여기 Seasalt.ai의 직원들은 Azure의 대화형 녹취 기능에 필적할 만한 자체 음향 및 언어 모델을 훈련하기 시작했습니다. Microsoft는 MS Build 2019에서 Azure의 음성 서비스를 매우 유능하면서도 매우 접근하기 쉬운 제품으로 선보이는 놀라운 프레젠테이션을 했습니다. 감탄한 후, 우리는 여기서 어디로 가야 할지 질문하지 않을 수 없습니다. 이미 중요한 이 제품을 어떻게 확장할 수 있을까요? 최신 회의는 강력한 음성-텍스트 변환 잠재력을 보여주었지만 거기서 멈춥니다. Azure가 우리 말을 들을 수 있다는 것은 알지만, 만약 우리가 Azure가 우리를 위해 생각하게 만들 수 있다면 어떨까요? 단순한 녹취만으로는 제품이 인상적이기는 하지만 응용 프로그램은 다소 제한적입니다.

기존의 음성-텍스트 변환 기술을 녹취록에서 통찰력을 생성할 수 있는 시스템과 통합함으로써 우리는 기대를 뛰어넘고 사용자 요구를 예측하는 제품을 제공할 수 있습니다. 우리는 SeaMeet 녹취록의 전반적인 가치를 향상시키기 위해 요약, 주제 추상화, 실행 항목 추출이라는 세 가지 시스템을 통합하기로 결정했습니다. 이들 각각은 특정 사용자 불편 사항을 완화하기 위해 선택되었습니다.

시연을 위해 다음 짧은 녹취록에서 요약, 주제 및 실행 시스템을 실행한 결과를 보여드리겠습니다.

김: "고마워요, Xuchen. 이 통화에 많은 사람들이 있어서 음소거 상태입니다. 음소거를 해제하려면 별표 6을 누르세요."

Xuchen: "알았어요. 그냥 수신 상태가 안 좋은 줄 알았어요."

김: "네."

샘: "방금 화요일부터 30일 동안의 음성 데이터가 포함된 별도의 파일을 보냈습니다. 업데이트된 버전이 있어야 합니다."

김: "그래서 이것이 작동하지 않는 엣지 케이스가 분명히 있을 것입니다. 이 예에서처럼 이미 몇 가지를 찾았습니다. 동사를 빼고 화자가 담당자라고 말하지만 실제로는 캐롤이 담당자입니다. 하지만 두 번째와 같은 패턴입니다. 제이슨을 할당하는 것이 아니라 제이슨에게 말하도록 자신을 할당하기 때문에 제가 담당자가 되기를 정말로 원합니다."

샘: "알겠습니다."

Xuchen: "그래서 이것의 단점은 규칙을 작성해야 한다는 것입니다. 네, 장점은 이미 훈련된 모델이라는 것입니다. 더 훈련할 수 있지만 여기에 많은 데이터를 쏟아부을 필요는 없습니다."

김: "이것이 행동인지 아니면 다른 것인지 알려주는 분류를 수행하지는 않지만요."

Xuchen: "그래서 여기서 요령은 조동사가 존재하기를 원하지만 일부 사람들의 이름도 원한다는 것입니다."

샘: "맞아요. 그렇지 않으면 그럴 수도 있으니까요."

Xuchen: "네, 아시다시피 명백한 단어가 있는 인스턴스가 많은 문장이 있다면요. 하지만 그들 중 많은 수가 행동에 도움이 되지는 않을 것입니다."

요약

사용자 발화와 짧은 요약이 포함된 Seasalt.ai의 SeaMeet 인터페이스

왼쪽에 사용자 발화와 짧은 요약이 포함된 SeaMeet 인터페이스 개요

텍스트 녹취록을 탐색하는 것이 몇 시간 분량의 녹음된 오디오를 파헤치는 것보다 확실히 쉽지만, 특히 긴 회의의 경우 특정 콘텐츠를 찾거나 전체 대화의 개요를 파악하는 데 여전히 시간이 많이 걸릴 수 있습니다. 전체 녹취록 외에 두 가지 유형의 요약을 제공하기로 결정했습니다.

개별 발화 수준의 요약은 더 간결하고 읽기 쉬운 세그먼트를 제공합니다. 또한 짧은 요약은 의미적으로 비어 있는 세그먼트를 제거하고 대용어 및 상호 참조 해결을 수행하여 텍스트를 정규화하는 데 도움이 됩니다. 그런 다음 요약된 세그먼트를 다운스트림 응용 프로그램(예: 주제 추상화)에 공급하여 최종 결과를 개선할 수 있습니다.

짧은 요약 외에도 전체 회의에 대한 매우 일반적인 개요를 만드는 것을 목표로 하는 단일 긴 요약도 제공하기로 결정했습니다. 이 요약은 회의의 초록처럼 기능하며 주요 논점과 결론만 다룹니다.

다음은 짧은 요약의 예이며, 원본 녹취록의 각 세그먼트를 요약기를 통해 공급했습니다.

김: "Xuchen은 통화에 많은 사람들이 있어서 음소거 상태입니다."

Xuchen: "그냥 수신 상태가 안 좋습니다."

샘: "화요일부터 30일 동안의 음성 데이터가 포함된 별도의 파일을 보냈습니다."

김: "이것이 작동하지 않는 엣지 케이스가 있을 것입니다."

Xuchen: "이미 훈련된 모델을 훈련하는 것의 단점은 규칙을 작성해야 한다는 것입니다."

김: "분류는 그들에게 행동을 줄 분류를 수행하지 않습니다."

Xuchen: "여기서 요령은 그들이 조동사가 존재하기를 원하지만 일부 사람들의 이름도 원한다는 것입니다."

Xuchen: "단어가 있는 문장이 있다면 그들 중 많은 수가 행동에 도움이 되지는 않을 것입니다."

그리고 이 예는 전체 회의가 단일 단락으로 요약된 것을 보여줍니다.

"Xuchen은 통화에 많은 사람들이 있어서 음소거 상태입니다. 샘은 화요일부터 30일 동안의 음성 데이터가 포함된 별도의 파일을 보냈습니다. Xuchen은 화자가 담당자인 일부 엣지 케이스를 발견했습니다."

짧은 요약 구성 요소와 긴 요약 구성 요소 모두의 핵심에는 변환기 기반 요약 모델이 있습니다. 추상적 요약을 위해 대화 데이터 세트에서 모델을 미세 조정합니다. 데이터에는 손으로 쓴 요약과 쌍을 이루는 다양한 길이의 텍스트 발췌문이 포함되어 있습니다. 다국어 요약의 경우 동일한 패러다임을 사용하지만 데이터 세트의 번역된 버전에서 미세 조정된 다국어 기본 모델을 활용합니다. SeaMeet 인터페이스에서 사용자는 기계 생성 요약을 확인하거나 직접 제공할 수도 있습니다. 그런 다음 이러한 사용자 입력 요약을 수집하여 훈련 세트에 다시 추가하여 모델을 지속적으로 개선할 수 있습니다.

주제 추상화

SeaMeet의 주제 추출 엔진이 회의에서 주제를 추출합니다.

오른쪽의 ‘주제’ 탭에 초점을 맞춘 SeaMeet 인터페이스

방대한 녹취록 모음을 다룰 때 또 다른 문제는 그것들을 정리, 분류 및 검색하는 것입니다. 녹취록에서 키워드와 주제를 자동으로 추상화함으로써 사용자에게 특정 회의 또는 관련 주제가 논의되는 회의의 특정 섹션을 쉽게 추적할 수 있는 방법을 제공할 수 있습니다. 또한 이러한 주제는 녹취록에서 가장 중요하고 기억에 남는 정보를 요약하는 또 다른 방법으로 사용됩니다.

다음은 샘플 녹취록에서 추출할 키워드의 예입니다.

조동사
화자
음성 데이터
별도 파일
업데이트된 버전
사람 이름
훈련된 모델
규칙 작성

주제 추출 작업은 추상적 접근 방식과 추출적 접근 방식의 조합을 사용합니다. 추상적은 텍스트 분류 접근 방식을 의미하며, 각 입력은 훈련 중에 본 레이블 집합으로 분류됩니다. 이 방법을 위해 우리는 관련 주제 목록과 쌍을 이루는 문서에 대해 훈련된 신경 아키텍처를 사용했습니다. 추출적은 제공된 텍스트에서 관련 키워드를 추출하여 주제로 반환하는 키워드 검색 접근 방식을 의미합니다. 이 접근 방식을 위해 우리는 가장 관련성 있는 키워드와 구문을 추출하기 위해 코사인 유사성 및 TF-IDF와 같은 유사성 메트릭과 단어 동시 발생 정보를 조합하여 사용합니다.

추상적 기술과 추출적 기술 모두 장단점이 있지만 함께 사용하면 각각의 장점을 활용할 수 있습니다. 추상 모델은 뚜렷하지만 관련된 세부 정보를 수집하고 모든 것에 적합한 약간 더 일반적인 주제를 찾는 데 탁월합니다. 그러나 훈련 중에 보지 못한 주제를 예측할 수는 없으며 대화에서 나올 수 있는 모든 상상할 수 있는 주제에 대해 훈련하는 것은 불가능합니다! 반면에 추출 모델은 텍스트에서 직접 키워드와 주제를 가져올 수 있으므로 도메인 독립적이며 이전에 본 적이 없는 주제를 추출할 수 있습니다. 이 접근 방식의 단점은 때때로 주제가 너무 유사하거나 너무 구체적이라는 것입니다. 두 가지를 모두 사용하여 일반화할 수 있는 것과 도메인별적인 것 사이의 행복한 중간 지점을 찾았습니다.

실행 항목 추출

SeaMeet의 실행 추출 엔진은 회의 녹취록에서 추출한 실행 항목의 짧은 추상적 요약을 생성합니다.

오른쪽의 ‘실행’ 탭에 초점을 맞춘 SeaMeet UI

사용자를 위해 완화하고자 했던 마지막 불편 사항은 실행 항목을 기록하는 작업입니다. 실행 항목을 기록하는 것은 회의 중에 직원에게 할당되는 매우 일반적인 작업입니다. ‘누가 누구에게 언제 무엇을 하라고 말했는지’를 적는 것은 매우 시간이 많이 걸릴 수 있으며, 작성자가 주의가 산만해져 회의에 완전히 참여하지 못하게 할 수 있습니다. 이 프로세스를 자동화함으로써 우리는 사용자의 책임 중 일부를 덜어 모든 사람이 회의 참여에 전념할 수 있기를 바랍니다.

다음은 예제 녹취록에서 추출할 수 있는 몇 가지 실행 항목의 예입니다.

제안: "샘은 팀이 업데이트된 버전을 가져야 한다고 말합니다."

진술: "김은 이것이 작동하지 않는 엣지 케이스가 분명히 있을 것이라고 말합니다."

명령: "Xuchen은 누군가 규칙을 작성해야 한다고 말합니다."

희망: "Xuchen은 팀이 조동사가 존재하기를 원하지만 일부 사람들의 이름도 원한다고 말합니다."

실행 추출기 시스템의 목적은 회의 녹취록에서 추출한 실행 항목의 짧은 추상적 요약을 만드는 것입니다. 회의 녹취록에서 실행 추출기를 실행한 결과는 회의 참가자를 위한 할 일 또는 후속 조치로 제시될 수 있는 명령, 제안, 의도 진술 및 기타 실행 가능한 세그먼트 목록입니다. 미래에는 추출기가 각 실행 항목에 연결된 담당자 및 할당자의 이름과 마감일도 캡처합니다.

실행 추출 파이프라인에는 분류기와 요약기라는 두 가지 주요 구성 요소가 있습니다. 먼저 각 세그먼트는 다중 클래스 분류기로 전달되고 다음 레이블 중 하나를 받습니다.

  • 질문
  • 명령
  • 제안
  • 희망
  • 진술
  • 실행 불가능

세그먼트가 ‘실행 불가능’ 이외의 레이블을 받으면 녹취록의 이전 두 세그먼트와 함께 요약 구성 요소로 전송되어 요약에 대한 더 많은 컨텍스트를 제공합니다. 요약 단계는 기본적으로 독립형 요약 구성 요소와 동일하지만 모델은 원하는 출력 형식으로 실행 항목을 요약하기 위해 특별히 구성된 맞춤형 데이터 세트에서 훈련됩니다.

SeaMeet, 두뇌를 얻다

이것은 우리만의 독특한 제품을 만드는 데 있어 큰 진전이었습니다. 즉, 제품을 더욱 발전시키기 위해 요약, 주제 및 실행 추출 모델을 훈련하고 모든 것을 멋진 패키지로 묶는 아름다운 인터페이스를 설계하는 것입니다. 이것이 지금까지의 이야기이며, 빠르게 진화하는 시장에 최고의 비즈니스 솔루션을 제공하고 세계에 SeaMeet, 즉 최신 회의의 미래를 제공하기 위한 Seasalt.ai의 여정의 시작입니다.

Related Articles

Ready to Transform Your Customer Communications?

See how Seasalt.ai can help your business automate support, capture leads, and deliver exceptional customer experiences.

Any questions? We follow up with every message.