대화형 AI 개발의 3가지 중요한 과제와 이를 피하는 방법 - KDnuggets

대화형 AI 개발의 3가지 중요한 과제와 이를 피하는 방법 – KDnuggets

소스 노드 : 3079880

XXXXX
이미지로 Freepik
 

대화형 AI는 인간의 상호 작용을 모방하고 대화에 인간을 참여시킬 수 있는 가상 에이전트와 챗봇을 의미합니다. 대화형 AI를 사용하는 것은 Alexa에게 물어보는 것부터 "가장 가까운 레스토랑을 찾아보세요” Siri에게 “알림을 만들어 줘” 가상 비서와 챗봇은 소비자의 질문에 답변하고, 불만 사항을 해결하고, 예약하는 등의 작업에 자주 사용됩니다. 

이러한 가상 비서를 개발하려면 상당한 노력이 필요합니다. 그러나 주요 과제를 이해하고 해결하면 개발 프로세스를 간소화할 수 있습니다. 저는 채용 플랫폼을 위한 성숙한 챗봇을 만드는 데 있어 직접적인 경험을 참조점으로 삼아 주요 과제와 해당 솔루션을 설명했습니다. 

대화형 AI 챗봇을 구축하기 위해 개발자는 RASA, Amazon의 Lex 또는 Google의 Dialogflow와 같은 프레임워크를 사용하여 챗봇을 구축할 수 있습니다. 대부분은 사용자 정의 변경을 계획할 때나 봇이 오픈 소스 프레임워크이므로 성숙 단계에 있을 때 RASA를 선호합니다. 다른 프레임워크도 시작점으로 적합합니다.

과제는 챗봇의 세 가지 주요 구성 요소로 분류될 수 있습니다.

자연어 이해 (NLU) 인간의 대화를 이해하는 봇의 능력입니다. 의도 분류, 엔터티 추출 및 응답 검색을 수행합니다.

대화 관리자 현재 및 이전 사용자 입력 세트를 기반으로 수행될 일련의 작업을 담당합니다. 인텐트와 엔터티를 입력(이전 대화의 일부)으로 사용하고 다음 응답을 식별합니다.

자연어 생성 (NLG) 주어진 데이터로부터 서면 또는 음성 문장을 생성하는 프로세스입니다. 응답을 구성한 다음 사용자에게 표시합니다.

 

XXXXX
Talentica 소프트웨어의 이미지

불충분 한 데이터

개발자가 FAQ나 기타 지원 시스템을 챗봇으로 대체하면 상당한 양의 교육 데이터를 얻을 수 있습니다. 하지만 처음부터 봇을 만들 때는 같은 일이 일어나지 않습니다. 이러한 경우 개발자는 학습 데이터를 종합적으로 생성합니다. 

무엇을해야 하는가?

템플릿 기반 데이터 생성기는 훈련을 위해 상당한 양의 사용자 쿼리를 생성할 수 있습니다. 챗봇이 준비되면 프로젝트 소유자는 제한된 수의 사용자에게 이를 노출시켜 교육 데이터를 강화하고 일정 기간 동안 업그레이드할 수 있습니다.

적합하지 않은 모델 선택

최상의 의도와 엔터티 추출 결과를 얻으려면 적절한 모델 선택과 교육 데이터가 중요합니다. 개발자는 일반적으로 특정 언어 및 도메인으로 챗봇을 교육하며, 사용 가능한 대부분의 사전 교육된 모델은 도메인별로 특정하고 단일 언어로 교육되는 경우가 많습니다. 

여러 언어를 사용하는 혼합 언어의 경우도 있을 수 있습니다. 혼합 언어로 쿼리를 입력할 수도 있습니다. 예를 들어, 프랑스어가 지배하는 지역에서 사람들은 프랑스어와 영어가 혼합된 유형의 영어를 사용할 수 있습니다.

무엇을해야 하는가?

여러 언어로 훈련된 모델을 사용하면 문제를 줄일 수 있습니다. 이러한 경우에는 LaBSE(언어에 구애받지 않는 Bert 문장 임베딩)와 같은 사전 훈련된 모델이 도움이 될 수 있습니다. LaBSE는 문장 유사성 작업을 위해 109개 이상의 언어로 훈련되었습니다. 모델은 이미 다른 언어로 된 유사한 단어를 알고 있습니다. 우리 프로젝트에서는 정말 잘 작동했습니다.

부적절한 엔터티 추출

챗봇은 사용자가 어떤 종류의 데이터를 검색하고 있는지 식별하기 위해 엔터티가 필요합니다. 이러한 엔터티에는 시간, 장소, 사람, 품목, 날짜 등이 포함됩니다. 그러나 봇은 자연어에서 엔터티를 식별하지 못할 수 있습니다.

같은 맥락이지만 다른 실체. 예를 들어, 사용자가 "IIT Delhi의 학생 이름"을 입력한 다음 "Bengaluru의 학생 이름"을 입력하면 봇이 장소를 하나의 개체로 혼동할 수 있습니다.

엔터티가 낮은 신뢰도로 잘못 예측되는 시나리오입니다. 예를 들어 봇은 IIT Delhi를 신뢰도가 낮은 도시로 식별할 수 있습니다.

기계 학습 모델을 통한 부분 엔터티 추출. 사용자가 "IIT Delhi의 학생"을 입력하면 모델은 "IIT Delhi" 대신 "IIT"를 엔터티로만 식별할 수 있습니다.

컨텍스트가 없는 단일 단어 입력은 기계 학습 모델을 혼란스럽게 할 수 있습니다. 예를 들어, "Rishikesh"와 같은 단어는 사람 이름과 도시 이름을 모두 의미할 수 있습니다.

무엇을해야 하는가?

더 많은 훈련 예제를 추가하는 것이 해결책이 될 수 있습니다. 하지만 더 추가해도 도움이 되지 않는 한계가 있습니다. 게다가 그것은 끝없는 과정이다. 또 다른 해결책은 미리 정의된 단어를 사용하여 정규식 패턴을 정의하여 도시, 국가 등과 같이 알려진 가능한 값 집합을 가진 항목을 추출하는 데 도움이 될 수 있습니다. 

모델은 엔터티 예측이 확실하지 않을 때마다 신뢰도가 낮아집니다. 개발자는 이를 트리거로 사용하여 신뢰도가 낮은 엔터티를 수정할 수 있는 사용자 지정 구성 요소를 호출할 수 있습니다. 위의 예를 고려해 보겠습니다. 만약에 IIT 델리 신뢰도가 낮은 도시로 예측되면 사용자는 언제든지 데이터베이스에서 해당 도시를 검색할 수 있습니다. 예측된 엔터티를 찾지 못한 후 City 테이블이 있으면 모델은 다른 테이블로 진행하여 결국 테이블에서 해당 테이블을 찾습니다. 학회 테이블로 인해 엔터티 수정이 발생합니다.  

잘못된 의도 분류

모든 사용자 메시지에는 이와 관련된 의도가 있습니다. 의도는 봇의 다음 작업 과정을 파생시키므로 의도를 바탕으로 사용자 쿼리를 올바르게 분류하는 것이 중요합니다. 그러나 개발자는 의도 전반에 걸쳐 혼란을 최소화하면서 의도를 식별해야 합니다. 그렇지 않으면 혼동으로 인해 버그가 발생하는 경우가 있을 수 있습니다. 예를 들어, "공석을 보여주세요” 대 "공석 후보자를 보여주세요.” 

무엇을해야 하는가?

혼란스러운 쿼리를 구별하는 방법에는 두 가지가 있습니다. 첫째, 개발자는 하위 의도를 도입할 수 있습니다. 둘째, 모델은 식별된 엔터티를 기반으로 쿼리를 처리할 수 있습니다.

도메인별 챗봇은 무엇을 할 수 있고 무엇을 할 수 없는지 명확하게 식별해야 하는 폐쇄형 시스템이어야 합니다. 개발자는 도메인별 챗봇을 계획하면서 단계적으로 개발을 수행해야 합니다. 각 단계에서 지원되지 않는 의도를 통해 챗봇의 지원되지 않는 기능을 식별할 수 있습니다. 

또한 "범위 외" 의도로 챗봇이 처리할 수 없는 것이 무엇인지 식별할 수도 있습니다. 그러나 지원되지 않거나 범위를 벗어난 의도로 인해 봇이 혼동되는 경우가 있을 수 있습니다. 이러한 시나리오의 경우 의도 신뢰도가 임계값 미만인 경우 모델이 대체 의도와 함께 원활하게 작동하여 혼동 사례를 처리할 수 있는 대체 메커니즘이 마련되어 있어야 합니다.

봇이 사용자 메시지의 의도를 식별하면 응답을 다시 보내야 합니다. 봇은 정의된 특정 규칙 및 스토리 세트를 기반으로 응답을 결정합니다. 예를 들어, 규칙은 완전할 정도로 간단할 수 있습니다. "좋은 아침" 사용자가 인사할 때 "안녕". 그러나 대부분의 경우 챗봇과의 대화는 후속 상호 작용으로 구성되며 응답은 대화의 전체 맥락에 따라 달라집니다.  

무엇을해야 하는가?

이를 처리하기 위해 챗봇에는 Stories라는 실제 대화 예제가 제공됩니다. 그러나 사용자가 항상 의도한 대로 상호 작용하는 것은 아닙니다. 성숙한 챗봇은 이러한 모든 편차를 우아하게 처리해야 합니다. 디자이너와 개발자가 이야기를 쓸 때 행복한 길에만 집중하는 것이 아니라 불행한 길에도 노력한다면 이를 보장할 수 있습니다.  

챗봇에 대한 사용자 참여는 챗봇 응답에 크게 의존합니다. 응답이 너무 로봇적이거나 너무 친숙하면 사용자는 흥미를 잃을 수 있습니다. 예를 들어, 사용자는 응답이 정확하더라도 잘못된 입력에 대해 "잘못된 쿼리를 입력했습니다"와 같은 대답을 좋아하지 않을 수 있습니다. 여기의 답변은 어시스턴트의 페르소나와 일치하지 않습니다.

무엇을해야 하는가?

챗봇은 보조자 역할을 하며 특정한 페르소나와 목소리 톤을 가지고 있어야 합니다. 그들은 환영하고 겸손해야 하며, 개발자는 그에 따라 대화와 발화를 디자인해야 합니다. 응답은 로봇적이거나 기계적으로 들려서는 안 됩니다. 예를 들어 봇은 다음과 같이 말할 수 있습니다.죄송합니다. 세부정보가 없는 것 같습니다. 검색어를 다시 입력해 주시겠어요?” 잘못된 입력을 해결하기 위해.

ChatGPT 및 Bard와 같은 LLM(Large Language Model) 기반 챗봇은 판도를 바꾸는 혁신이며 대화형 AI의 기능을 향상시켰습니다. 인간과 같은 개방형 대화를 만드는 데 능숙할 뿐만 아니라 이전에는 특정 모델을 통해서만 달성할 수 있었던 텍스트 요약, 단락 작성 등과 같은 다양한 작업을 수행할 수 있습니다.

기존 챗봇 시스템의 과제 중 하나는 각 문장을 의도로 분류하고 그에 따라 응답을 결정하는 것입니다. 이 접근 방식은 실용적이지 않습니다. “죄송합니다. 연락을 드릴 수 없습니다.”와 같은 대답은 종종 짜증스럽습니다. 의도 없는 챗봇 시스템이 앞으로 나아가는 길이며, LLM은 이를 현실로 만들 수 있습니다.

LLM은 특정 도메인별 엔터티 인식을 제외하고 일반적으로 명명된 엔터티 인식에서 최첨단 결과를 쉽게 얻을 수 있습니다. 모든 챗봇 프레임워크와 함께 LLM을 사용하는 혼합된 접근 방식은 더욱 성숙하고 강력한 챗봇 시스템에 영감을 줄 수 있습니다. 

대화형 AI의 최신 발전과 지속적인 연구를 통해 챗봇은 나날이 발전하고 있습니다. “뭄바이행 비행기 예약, 다다르행 택시 예약” 등 다양한 의도를 가지고 복잡한 작업을 처리하는 분야가 많은 주목을 받고 있습니다. 

곧 사용자의 특성에 따라 개인화된 대화가 이루어져 사용자의 참여를 유지할 것입니다. 예를 들어, 봇이 사용자가 불만족스럽다고 판단하면 대화를 실제 상담원에게 리디렉션합니다. 또한 챗봇 데이터가 계속 증가함에 따라 ChatGPT와 같은 딥 러닝 기술은 지식 기반을 사용하여 쿼리에 대한 응답을 자동으로 생성할 수 있습니다.
 
 

수만 사우라브 소프트웨어 제품 개발 회사인 Talentica Software의 데이터 과학자입니다. 그는 NLP, 대화형 AI 및 생성형 AI를 사용하여 혁신적인 AI 솔루션을 설계하고 구현한 8년 이상의 경험을 보유한 NIT Agartala의 졸업생입니다.

타임 스탬프 :

더보기 너 겟츠