콘텐츠로 이동하기
AI 및 머신러닝

Google Cloud에서 챗봇 이력서 작성하기

2021년 3월 18일
Filipe Gracio, PhD

Customer Engineer, AI/ML for Public Sector

  * 본 아티클의 원문은 2021년 2월 11일 Google Cloud 블로그(영문)에 게재되었습니다.  

요즘 같은 취업 시장에서는 특히 원하는 일자리를 구하기 위해서는 잠재적 고용주의 눈에 띄어야 합니다. 저의 경우에도 최근 Google Cloud에서 전문 경력 및 기타 흥미로운 질문에 답하는 대화형 챗봇을 빌드해서 구직에 성공했습니다. 이를 통해 잠재적 고용주의 눈에 띈 것은 물론이고 챗봇을 직접 빌드하여 내 웹사이트에 호스팅하는 방법도 배울 수 있었습니다. 

새 Dialogflow 에이전트 만들기

1. Google Cloud 프로젝트가 없는 경우 먼저 새로운 프로젝트를 만듭니다. 저의 경우 신규 사용자에게 제공되는 $300 크레딧으로 이 애플리케이션을 충분히 만들 수 있었습니다.  

2. Google Cloud 프로젝트와 GCP 계정을 만든 후에 Dialogflow Essentials Console로 이동합니다. Google에서는 Dialogflow CX와 Dialogflow Essentials라는 두 가지 제품을 제공하는데 여기서는 Essentials를 사용해 간단한 애플리케이션을 만들어 보겠습니다.  데이터 위치 요구사항이 있는 경우 왼쪽 상단에서 먼저 위치를 선택한 다음 새 에이전트를 만듭니다.  

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_chatbot_resume.max-500x500.jpg

해당 버튼을 클릭한 후에 에이전트 이름을 지정하고 내 Google Cloud 프로젝트와 연결합니다. 저는 다음과 같은 에이전트 이름의 값을 선택했습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_chatbot_resume.max-1000x1000.jpg

에이전트 이해시키기

3.  인텐트를 만들어 보겠습니다. 에이전트는 대화 상대의 '인텐트'를 추론하는 방식으로 대화합니다. 사용자가 어떤 내용을 쓰거나 말하면 에이전트는 그 표현을 Dialogflow 에이전트에 만들어 둔 가장 적합한 인텐트와 일치시킵니다. Dialogflow 에이전트 하나에 다수의 인텐트를 정의한 경우 조합된 인텐트로 전체 대화를 처리할 수 있습니다. 따라서 왼쪽 탐색 메뉴에서 '인텐트' 버튼을 찾아 인텐트를 만들어야 합니다.
https://storage.googleapis.com/gweb-cloudblog-publish/images/3_chatbot_resume.max-400x400.jpg

중앙에 있는 '인텐트 만들기'를 클릭해 새 인텐트를 만듭니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/4_chatbot_resume.max-1000x1000.jpg

인텐트 만들기는 (1) 에이전트의 대화 상대가 쓰거나 말할 것으로 예상되는 내용과 (2) 에이전트가 응답할 내용의 두 부분으로 구성됩니다. 예를 들어 대화 상대가 보유한 자격증에 대해 질문하면 에이전트가 이에 대해 응답하는 인텐트를 만들어 보겠습니다.  이렇게 하려면 에이전트에 '학습 문구'를 제공해야 합니다. 실제로는 학습 문구를 싱크나 유입경로라고 생각하면 도움이 됩니다. 에이전트가 어떤 주제에 대해서 이야기(응답, 즉 유입경로 하단)할 수 있기를 원하기 때문에 해당 유입경로(학습 문구, 즉 유입경로의 포착 영역)에 포함하고 싶은 문장의 종류를 생각해야 합니다. 좀 더 명확한 이해를 위해 다음의 예시를 살펴보세요.

3.1 인텐트의 상단 부분을 만들어 보겠습니다.  '학습 문구 추가'를 클릭합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/5_chatbot_resume.max-1000x1000.jpg

인텐트가 포착해야 하는 내용의 예를 들어주는 학습 문구를 몇 가지 추가합니다. 저는 이 인텐트의 이름을 '자격증'으로 지정하고 다음과 같은 문장을 추가했습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/6_chatbot_resume.max-1000x1000.jpg

'자격증' 유입경로 응답으로 대화가 이루어지도록 포착하고 싶은 다양한 유형을 나타내는 문장을 10개 이상 추가하는 것이 가장 좋습니다. 

3.2. 이제 유입경로의 하단 부분, 즉 에이전트가 응답으로 말해야 하는 내용을 만들어 보겠습니다. '응답 추가'를 클릭합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/7_chatbot_resume.max-900x900.jpg

다음은 필자가 입력한 내용입니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/8_chatbot_resume.max-900x900.jpg

페이지 상단에서 '저장'을 클릭합니다. 이제 사용해 보겠습니다. 페이지 오른쪽 상단에서 '지금 사용해 보기'를 찾습니다. 다른 단어(인증, 학위)가 포함된 질문을 해도 인텐트가 무엇이고 어떤 응답을 해야 하는지를 에이전트가 이해하도록 만드는 방법에 주목하세요.

https://storage.googleapis.com/gweb-cloudblog-publish/images/9_chatbot_resume.max-600x600.jpg

NLP 모델은 10개 남짓의 예를 통해 에이전트가 특정 인텐트에 연결해야 하는 문장의 유형을 이해하여 적합한 답변을 반환하는 방식으로 작동합니다. 유입경로를 예로 들면 관련된 질문을 동일한 유입경로로 포착한 다음에 적합한 답변을 응답으로 보내는 방식입니다. 

4. 다음으로 시작 인텐트를 변경해 보겠습니다. 가능하다면 인사말과 함께 특정 에이전트가 사용자를 위해 무엇을 할 수 있는지에 대한 몇 줄의 설명을 덧붙이며 시작하는 것이 좋습니다. 이렇게 하면 대화를 올바른 방향으로 유도할 수 있습니다. 

기본 시작 인텐트를 변경하려면 먼저 지금까지 진행한 작업을 저장합니다. 페이지 오른쪽 상단에서 '저장' 버튼을 클릭합니다. 그런 다음 탐색 메뉴 왼쪽의 '인텐트'를 다시 클릭하고 기본 메뉴에서 '기본 시작 인텐트'를 클릭합니다. '응답' 섹션에 기본 응답이 표시됩니다. 

https://storage.googleapis.com/gweb-cloudblog-publish/images/10_chatbot_resume.max-900x900.jpg

다음과 같이 더 적합한 응답으로 변경할 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/11_chatbot_resume.max-900x900.jpg

기본 응답을 내 애플리케이션에 적합한 내용으로 변경한 후에 '저장'을 클릭합니다. 

5. 추가 인텐트를 만들어 보겠습니다. 대화형 이력서의 경우 채용 담당자가 물어볼 것으로 예상되는 질문이어야 합니다. 일반적인 인텐트로는 '지금까지 경력에서 필리페가 가장 선호하는 프로젝트는 무엇입니까?', '필리페가 가장 자랑스럽게 생각하는 성과를 말해주세요.' 같은 문장으로 학습되는 '선호하는 프로젝트'와 '필리페의 주요 강점은 무엇입니까?', '필리페는 주로 어떤 종류의 업무를 맡았는지 말해주세요.' 같은 질문으로 학습되는 '강점' 등이 있습니다. 저는 데이터 과학과 프로그래밍 분야의 경력을 갖고 있으므로 통계 기술이나 클라우드 기술 친숙도에 대해 물어보는 인텐트도 만들 수 있습니다. 

오른쪽 패널에서 에이전트를 계속 테스트하여 대화 상대의 질문에 내가 의도한 대로 응답하는지 확인하세요. 테스트가 완료되면 에이전트를 배포할 수 있습니다.

웹사이트에서 에이전트 호스팅

6. 웹사이트를 만들어 보겠습니다. 가장 쉬운 방법은 여기를 클릭해 Google Sites를 이용하는 것입니다. 템플릿을 사용하거나 비어 있는 사이트를 만듭니다. 나중에 도메인을 구입하면 해당 도메인을 통해 호스팅할 수 있습니다. 저의 경우도 이 방식을 사용했고 Google Sites를 기반으로 www.filipegracio.com을 구축했습니다. 

7. 이제 웹사이트에서 에이전트를 호스팅해 보겠습니다. Dialogflow 콘솔로 돌아가서 '통합'으로 이동한 다음 Dialogflow 메신저 옵션을 사용 설정합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/12_chatbot_resume.max-1300x1300.jpg

 

이렇게 하면 사이트에 삽입할 수 있는 코드가 포함된 새 창이 나타납니다. 통합이 사용 설정되어 있는지 확인하세요. 다음과 같은 코드가 표시됩니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/13_chatbot_resume.max-600x600.jpg

오른쪽 하단의 작은 클립보드 기호를 사용해 코드를 복사합니다. 

8. 이제 사이트에 에이전트를 배치해 보겠습니다. 이 작업을 위해 만들어 둔 웹사이트로 돌아갑니다. Google 웹사이트의 콘텐츠를 수정하는 동안 빈 페이지 섹션을 더블클릭하면 아래와 같은 휠이 표시되는데 여기서 '삽입'을 클릭합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/14_chatbot_resume.max-900x900.jpg

이제 Dialogflow 콘솔에서 복사한 챗봇의 코드를 삽입합니다. 방법은 다음과 같습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/15_chatbot_resume.max-700x700.jpg

이렇게 한 다음에 오른쪽 상단에 있는 '게시' 버튼을 클릭하면 웹사이트가 공개되고 삽입된 에이전트는 방문자가 물어보는 모든 질문에 응답할 수 있습니다. 

창의력 발휘하기 

무엇이든지 원하는 주제에 관한 챗봇을 만들 수 있습니다. 챗봇을 만들면 업무에 도움이 되고, 자신의 취미를 널리 알릴 수 있으며, 일자리를 구하는 데에도 도움이 됩니다. 필자처럼 활용한다면 이력서 상단에 웹사이트 링크를 추가하여 소셜 프로필에 표시되도록 하고 온라인으로 공유하세요. 많은 사람이 이 내용을 볼 것이고 여러분은 자신의 기술과 창의성을 입증하게 되며 특별한 노력을 기울였다는 사실도 알릴 수 있습니다. 좋은 결과가 있기를 바랍니다. 

게시 위치