KR20230166725A - 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치 - Google Patents
인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치 Download PDFInfo
- Publication number
- KR20230166725A KR20230166725A KR1020220067074A KR20220067074A KR20230166725A KR 20230166725 A KR20230166725 A KR 20230166725A KR 1020220067074 A KR1020220067074 A KR 1020220067074A KR 20220067074 A KR20220067074 A KR 20220067074A KR 20230166725 A KR20230166725 A KR 20230166725A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- sns
- preemptive message
- preemptive
- artificial intelligence
- Prior art date
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012544 monitoring process Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims description 33
- 230000015654 memory Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 7
- 238000002372 labelling Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000036651 mood Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000059 patterning Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/50—Business processes related to the communications industry
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Tourism & Hospitality (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Information Transfer Between Computers (AREA)
Abstract
인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치가 제시된다. 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법은, SNS 모니터링부를 이용하여 사용자의 SNS의 상태를 모니터링하는 단계; 모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, 상기 SNS 모니터링부에서 인공지능 서버로 상기 상태 업데이트 내용을 전달하는 단계; 상기 인공지능 서버에서 상기 상태 업데이트 내용을 기반으로 선제 메시지를 생성하는 단계; 및 생성된 상기 선제 메시지를 상기 사용자에게 출력하는 단계를 포함하여 이루어질 수 있다.
Description
아래의 실시예들은 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 인공지능 기반 챗봇(chatbot)에서 사용자의 SNS의 갱신된 상태를 포착하여 선제 메시지를 출력하는 방법 및 장치에 관한 것이다.
기술의 발전에 따라, 인간이 수행하던 육체 노동의 많은 부분이 기계 장치에 의해 대체되어 왔다. 최근에는 인공지능 기술 발전으로 인간의 정신적인 영역으로 여겨지는 많은 분야가 인공지능에 의해 대체될 수 있을 것으로 예상되고 있다.
특히, 인간의 언어를 인지하고 분석하여 인간과 구별이 어려울 정도로 적절한 대답을 내어 놓는 인공지능 대화 시스템에 대한 연구가 활발하게 진행되고 있다. 이를 위해, 머신 러닝(Machine Learning) 기법을 활용한 인공지능 대화 시스템이 논의되고 있다.
머신 러닝이란 많은 데이터를 분류 및 패턴화하고, 계속된 입력 데이터를 통해 이러한 분류 및 패턴화를 변경/수정해 나가는 방법을 통해 분류의 정확도를 높여가는 기법이다. 데이터를 분류하기 위한 머신 러닝의 알고리즘 중 하나로 인간의 두뇌에서 뉴런의 동작 원리에 기초한 신경망(Neural Network) 알고리즘이 특히 주목 받고 있다.
종래의 인공지능은 사용자와의 대화에 대하여, 사용자로부터 명령이 입력되어야만 이에 대한 응답을 하는 수동적인 인공지능으로, 수동적인 형태의 인공지능은 사용자와의 관계 개선에 도움을 주기 어렵다.
따라서, 사용자와의 관계 개선을 위하여 수동적인 인공지능이 아닌 사용자에게 먼저 메시지를 전송할 수 있는 능동적인 형태의 인공지능에 대한 필요성이 대두된다.
한국공개특허 10-2021-0086082호는 이러한 인공지능에서 선제 메시지 전송 방법 및 그 장치에 관한 기술을 기재하고 있다.
실시예들은 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치에 관하여 기술하며, 보다 구체적으로 인공지능 기반 챗봇에서 사용자의 SNS의 갱신된 상태를 포착하여 선제 메시지를 출력하는 기술을 제공한다.
실시예들은 사용자의 SNS의 상태 업데이트가 확인되는 경우 인공지능 기반 챗봇에서 상태 업데이트 내용을 기반으로 선제 메시지를 생성하여 사용자에게 출력함으로써, 친구가 SNS를 확인하고 먼저 메시지를 보내는 것과 같은 효과를 제공하는 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치를 제공하는데 있다.
일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법은, SNS 모니터링부를 이용하여 사용자의 SNS의 상태를 모니터링하는 단계; 모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, 상기 SNS 모니터링부에서 인공지능 서버로 상기 상태 업데이트 내용을 전달하는 단계; 상기 인공지능 서버에서 상기 상태 업데이트 내용을 기반으로 선제 메시지를 생성하는 단계; 및 생성된 상기 선제 메시지를 상기 사용자에게 출력하는 단계를 포함하여 이루어질 수 있다.
상기 사용자의 SNS의 상태를 모니터링하는 단계는, 상기 SNS 모니터링부에서 SNS API(Application Programming Interface)를 통해서 사용자의 SNS 상태를 실시간으로 모니터링할 수 있다.
상기 선제 메시지를 생성하는 단계는, 상기 인공지능이 상기 사용자의 SNS의 상태 업로드를 확인하였음을 알리는 상기 선제 메시지를 생성할 수 있다.
상기 선제 메시지를 생성하는 단계는, 상기 인공지능 서버에서 상기 상태 업데이트의 사진 및 문자 중 적어도 어느 하나 이상을 분석하는 단계; 및 분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성하는 단계를 포함할 수 있다.
상기 선제 메시지를 생성하는 단계는, 상기 인공지능 서버에서 상기 상태 업데이트의 해시태그, 위치, 장소, 시간 및 링크 중 적어도 어느 하나 이상을 분석하는 단계; 및 분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성하는 단계를 포함할 수 있다.
상기 선제 메시지를 생성하는 단계는, 검색 기반 챗봇에 의해 상기 상태 업데이트 내용을 기반으로 미리 구축된 응답 데이터베이스에 있는 응답 후보 문장들간의 순위를 매겨서 가장 순위가 높은 문장을 선택할 수 있다.
상기 선제 메시지를 생성하는 단계는, 생성 기반 챗봇에 의해 상기 상태 업데이트 내용을 기반으로 각 단어들의 등장 확률을 계산하여 가장 확률이 높은 단어를 선택할 수 있다.
상기 선제 메시지를 상기 사용자에게 출력하는 단계는, 상기 인공지능 서버에서 생성된 상기 선제 메시지를 인공지능과 상기 사용자가 대화를 수행하는 애플리케이션을 통해 상기 사용자에게 출력할 수 있다.
상기 선제 메시지를 상기 사용자에게 출력하는 단계는, 상기 인공지능에서 상기 사용자의 상황이 시간, 일정 및 직전 발화 간격 중 적어도 어느 하나 이상의 특정 조건을 만족하는지 여부를 확인하는 단계; 상기 특정 조건을 만족하는 경우, 생성된 상기 선제 메시지를 상기 사용자에게 출력하는 단계; 및 상기 특정 조건을 만족하지 않는 경우, 생성된 상기 선제 메시지를 상기 사용자에게 출력하지 않는 단계를 포함할 수 있다.
다른 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치는, 사용자의 SNS의 상태를 모니터링하여, 모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, SNS 모니터링부에서 인공지능 서버로 상기 상태 업데이트 내용을 전달함에 따라 상기 사용자의 SNS의 상태 업데이트 내용을 전달 받는 상태 정보 입력부; 상기 인공지능 서버에서 상기 상태 업데이트 내용을 기반으로 선제 메시지를 생성하는 선제 메시지 생성부; 및 생성된 상기 선제 메시지를 상기 사용자에게 출력하는 선제 메시지 출력부를 포함하여 이루어질 수 있다.
상기 사용자의 SNS의 상태를 모니터링하여, 모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, 인공지능 서버로 상기 상태 업데이트 내용을 전달하는 SNS 모니터링부를 더 포함하고, 상기 SNS 모니터링부는, 상기 SNS 모니터링부에서 SNS API(Application Programming Interface)를 통해서 사용자의 SNS 상태를 실시간으로 모니터링할 수 있다.
상기 선제 메시지 생성부는, 상기 인공지능이 상기 사용자의 SNS의 상태 업로드를 확인하였음을 알리는 상기 선제 메시지를 생성할 수 있다.
상기 선제 메시지 생성부는, 상기 인공지능 서버에서 상기 상태 업데이트의 사진 및 문자 중 적어도 어느 하나 이상을 분석하고, 분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성할 수 있다.
상기 선제 메시지 생성부는, 상기 인공지능 서버에서 상기 상태 업데이트의 해시태그, 위치, 장소, 시간 및 링크 중 적어도 어느 하나 이상을 분석하고, 분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성할 수 있다.
상기 선제 메시지 출력부는, 상기 인공지능 서버에서 생성된 상기 선제 메시지를 인공지능과 상기 사용자가 대화를 수행하는 애플리케이션을 통해 상기 사용자에게 출력할 수 있다.
실시예들에 따르면 사용자의 SNS의 상태 업데이트가 확인되는 경우 인공지능 기반 챗봇에서 상태 업데이트 내용을 기반으로 선제 메시지를 생성하여 사용자에게 출력함으로써, 친구가 SNS를 확인하고 먼저 메시지를 보내는 것과 같은 효과를 제공하는 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치를 제공할 수 있다.
도 1은 본 실시예들을 설명하기 위한 시스템에 대한 일 예시를 나타낸 도면이다.
도 2는 도 1에 도시된 사용자 단말 및 서버의 내부 구성을 설명하기 위한 일 실시예의 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법을 나타내는 흐름도를 나타낸다.
도 4는 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치를 나타내는 블록도이다.
도 5는 일 실시예에 따른 검색 기반 챗봇 및 생성 기반 챗봇을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 발화 점수 레이블링 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 사용자의 발화에서 응답 선택 모델 레이블링 점수를 자동으로 얻는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법을 설명하기 위한 도면이다.
도 2는 도 1에 도시된 사용자 단말 및 서버의 내부 구성을 설명하기 위한 일 실시예의 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법을 나타내는 흐름도를 나타낸다.
도 4는 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치를 나타내는 블록도이다.
도 5는 일 실시예에 따른 검색 기반 챗봇 및 생성 기반 챗봇을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 발화 점수 레이블링 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 사용자의 발화에서 응답 선택 모델 레이블링 점수를 자동으로 얻는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
아래의 실시예들은 인공지능 기반 챗봇에서 사용자의 SNS의 갱신된 상태를 포착하여 사용자에게 선제 메시지를 전송하는 기술을 제공한다.
본 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치는 사용자의 음성을 인식하거나, 사용자가 소지하는 단말을 통해 입력되는 사용자의 채팅을 인식하여 특정 도메인에 해당하는 문장인지를 판별할 수 있다.
여기서, 단말은 PC, 스마트폰, 태블릿 PC 등으로, 본 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치와 관련된 웹/모바일 사이트의 접속 또는 서비스 전용 애플리케이션(Application)의 설치 및 실행이 가능한 모든 단말 장치를 의미할 수 있다. 이 때, 단말은 웹/모바일 사이트 또는 전용 애플리케이션의 제어 하에 서비스 화면 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등 서비스 전반의 동작을 수행할 수 있다.
나아가, 본 실시예들은 단말을 통한 온라인 또는 애플리케이션 상의 대화, 채팅에 한정하지 않으며, 사용자의 음성, 제스처, 표정으로부터 인식되는 대화 형태 데이터에 대한 답변 데이터를 제공할 수 있는 다양한 제품 또는 서비스에 적용 가능하다.
이하에서는 도 1 내지 도 8을 참조하여 본 실시예들에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치에 대해 상세히 설명한다.
도 1은 본 실시예들을 설명하기 위한 시스템에 대한 일 예시를 나타낸 도면이다. 도 1의 시스템 환경은 사용자 단말(110), 서버(120) 및 네트워크(130)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 사용자 단말의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
여기서, 사용자 단말(110)은 본 실시예들에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 소프트웨어 또는 애플리케이션이 설치된 단말기로, 사용자(101)의 터치 입력을 위한 터치 스크린을 포함하는 모바일 단말을 포함할 수 있다. 사용자 단말(110)은 예를 들면, 스마트폰(smart phone), 휴대폰, 컴퓨터, VR 기기, AR 기기 등과 같이 인공지능에서의 선제 메시지를 출력할 수 있는 모든 단말을 포함할 수 있다. 일례로 사용자 단말(110)은 무선 또는 유선 통신 방식을 이용하여 네트워크(130)를 통해 다른 휴대 단말기들 및/또는 서버(120)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(130)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(130)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(130)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(120)는 사용자 단말(110)과 네트워크(130)를 통해 통신하여 명령, 코드, 파일, 콘텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.
일례로, 서버(120)는 네트워크(130)를 통해 접속한 제1 사용자 단말(110)로 애플리케이션 예를 들어, 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 서비스 제공 애플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 사용자 단말(110)은 서버(120)로부터 제공된 파일을 이용하여 애플리케이션을 설치할 수 있다. 또한, 제1 사용자 단말(110)이 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 애플리케이션)의 제어에 따라 서버(120)에 접속하여 서버(120)가 제공하는 서비스나 콘텐츠를 제공받을 수 있다. 예를 들어, 제1 사용자 단말(110)이 애플리케이션의 제어에 따라 네트워크(130)를 통해 서비스 요청 메시지를 서버(120)로 전송하면, 서버(120)는 서비스 요청 메시지에 대응하는 코드를 제1 사용자 단말(110)로 전송할 수 있고, 제1 사용자 단말(110)은 애플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 콘텐츠를 제공할 수 있다.
도 2는 도 1에 도시된 사용자 단말 및 서버의 내부 구성을 설명하기 위한 일 실시예의 구성을 나타낸 도면이다. 도 2에서는 하나의 사용자 단말에 대한 예로서 사용자 단말(110), 그리고 하나의 서버에 대한 예로서 서버(120)의 내부 구성을 설명한다. 다른 사용자 단말이나 다른 서버가 구비되는 경우 다른 서버 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.
사용자 단말(110)과 서버(120)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory), PROM, 플래시 메모리(Flash memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 사용자 단말(110)에 설치되어 구동되는 애플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 애플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버)이 네트워크(130)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 애플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(130)를 통해 사용자 단말(110)과 서버(120)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 휴대 단말기(일례로 제2 휴대 단말기 또는 다른 서버)와 통신하기 위한 기능을 제공할 수 있다. 일례로, 제1 사용자 단말(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 검색 요청)이 통신 모듈(213)의 제어에 따라 네트워크(130)를 통해 서버(120)로 전달될 수 있다. 역으로, 서버(120)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 콘텐츠, 파일 등이 통신 모듈(223)과 네트워크(130)를 거쳐 제1 사용자 단말(110)의 통신 모듈(213)을 통해 제1 휴대 단말기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(120)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 콘텐츠나 파일 등은 제1 사용자 단말(110)이 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 애플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 제1 사용자 단말(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(120)나 제2 휴대 단말기가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 콘텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다. 입출력 인터페이스(224) 또한 마찬가지로 서버(120)의 프로세서(222)가 메모리(221)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어 서버(120)가 제공하는 데이터를 이용하여 구성되는 정보를 출력할 수 있다.
또한, 다른 실시예들에서 제1 사용자 단말(110) 및 서버(120)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래 기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 제1 사용자 단말(110)은 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 제1 사용자 단말(110)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 제1 사용자 단말(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.
본 실시예에서 서버(120)는 인공지능에서 선제 메시지 전송을 제공하는 애플리케이션에서 미리 설정된 선제 메시지 데이터 세트에 의해 학습된 학습 모델의 인공지능 예를 들어, 뉴럴 네트워크를 통해 인공지능과 사용자 간의 이전 대화 내용을 학습하고, 학습된 대화 내용을 기반으로 사용자에게 선제 메시지를 전송하고자 하는 전송 시점과 선제 메시지 내용을 결정할 수 있으며, 이렇게 결정된 선제 메시지 내용을 선제 메시지 시점에 사용자에게 전송할 수 있다. 이 때, 선제 메시지는 사용자의 SNS의 상태 업데이트 내용을 기반으로 생성될 수 있으며, 전송 시점은 사용자가 SNS의 상태 업데이트를 한 시점이 될 수 있다. 여기서, 본 실시예들은 인공지능과 사용자 간의 대화를 주고 받을 수 있는 애플리케이션을 통해 사용자에게 선제 메시지 내용을 전송할 수 있으며, 이러한 본 발명은 텍스트 기반 대화뿐만 아니라 음성 기반 대화를 제공하는 모든 종류의 애플리케이션에 적용될 수 있다. 물론, 음성 기능 대화를 제공하는 애플리케이션은 이전 대화 내용을 확인하기 위하여, 음성 인식과 인식된 음성을 텍스트로 변환하는 기능을 포함할 수 있으며, 변환된 텍스트 분석 후 분석된 텍스트의 학습을 통해 선제 메시지 내용을 결정할 수 있고, 마찬가지로 선제 메시지 내용을 음성으로 변환하는 기능 또한 포함할 수 있다.
나아가, 서버(120)는 인공지능이 사용자의 SNS의 상태 업로드를 확인하였음을 알리는 선제 메시지를 생성할 수 있다. 또한, 서버(120)는 인공지능 서버에서 상태 업데이트의 사진, 문자, 해시태그, 위치, 장소, 시간 및 링크 등을 분석하여, 분석된 상태 업데이트의 내용을 기반으로 선제 메시지를 생성하고 사용자에게 전달할 수 있다.
본 실시예에서의 사용자 단말은 도 1과 도 2에 도시된 서버로부터 본 실시예의 애플리케이션 등을 다운로드 받아 설치할 수 있는 스마트폰 등의 사용자 단말을 의미할 수 있다.
도 3은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법을 나타내는 흐름도를 나타낸 것으로, 도 1 및 도 2에 도시된 서버(120)에서의 동작 흐름도를 나타낸다.
도 3을 참조하면, 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법은, SNS 모니터링부를 이용하여 사용자의 SNS의 상태를 모니터링하는 단계(S110), 모니터링 중 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, SNS 모니터링부에서 인공지능 서버로 상태 업데이트 내용을 전달하는 단계(S120), 인공지능 서버에서 상태 업데이트 내용을 기반으로 선제 메시지를 생성하는 단계(S130), 및 생성된 선제 메시지를 사용자에게 출력하는 단계(S140)를 포함하여 이루어질 수 있다.
여기서, SNS는 페이스북, 인스타그램, 트위터, 카카오스토리 등과 같은 소셜 미디어 플랫폼, 다음 블로그, 네이버 블로그, 블로그 스팟 등과 같은 블로그 플랫폼, 유튜브와 같은 동영상 플랫폼, 아프리카 TV, TV 다음팟 등과 같은 인터넷 방송 플랫폼, 네이버, 구글, 다음, 야후 등과 같은 포털 사이트 플랫폼 등을 포함할 수 있으며, 이에 제한되지 않는다. 이러한 SNS를 통해 사용자는 의견이나 정보를 게시할 수 있고, 그 사용자와 연계를 맺고 있는 사용자를 포함해 또 다른 사용자가 그것에 대한 반응으로 또 다른 의견과 정보를 게시할 수 있다. 또한, 카카오톡(KakaoTalk), 라인(line), 바이버(viber), 위챗(wechat), 와츠앱(whatsapp), 텔레그램(Telegram), 스냅챗(snapchat) 등의 모바일 메신저 SNS를 포함할 수 있다.
사용자는 인공지능이 사용자의 SNS의 상태를 모니터링 허용 여부를 설정할 수 있으며, 특정 SNS에 대해 SNS의 상태를 모니터링 하도록 허용할 수 있다. 이에 따라 인공지능은 사용자의 아이디를 확인하고, 허용된 SNS에 대해 사용자의 SNS의 상태를 확인할 수 있다.
일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치를 예를 들어 보다 상세히 설명할 수 있다.
도 4는 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치를 나타내는 블록도이다.
도 4를 참조하면, 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치(400)는 상태 정보 입력부(410), 선제 메시지 생성부(420) 및 선제 메시지 출력부(430)를 포함하여 이루어질 수 있다. 실시예에 따라 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치(400)는 SNS 모니터링부(440)를 더 포함할 수 있다.
단계(S110)에서, SNS 모니터링부(440)는 사용자의 SNS의 상태를 모니터링할 수 있다. 보다 구체적으로, SNS 모니터링부(440)는 SNS API(Application Programming Interface)를 통해서 사용자의 SNS 상태를 실시간으로 모니터링할 수 있다.
단계(S120)에서, SNS 모니터링부(440)는 모니터링 중 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, SNS 모니터링부에서 인공지능 서버의 상태 정보 입력부(410)로 상태 업데이트 내용을 전달할 수 있다.
이에 따라, 상태 정보 입력부(410)는 SNS 모니터링부(440)에서 인공지능 서버로 상태 업데이트 내용을 전달함에 따라 사용자의 SNS의 상태 업데이트 내용을 전달 받을 수 있다.
단계(S130)에서, 선제 메시지 생성부(420)는 인공지능 서버에서 상태 업데이트 내용을 기반으로 선제 메시지를 생성할 수 있다.
선제 메시지 생성부(420)는 인공지능이 사용자의 SNS의 상태 업로드를 확인하였음을 알리는 선제 메시지를 생성할 수 있다. 예를 들어, 선제 메시지 생성부(420)는 "SNS에 사진을 올렸구나!"와 같은 선제 메시지를 생성하여, 사용자에게 인공지능이 사용자의 SNS의 상태 업로드를 확인하였음을 알릴 수 있다.
또한, 선제 메시지 생성부(420)는 인공지능 서버에서 상태 업데이트의 사진 및 문자 중 적어도 어느 하나 이상을 분석할 수 있다. 이후, 분석된 상태 업데이트의 내용을 기반으로 선제 메시지를 생성할 수 있다. 일례로, 선제 메시지 생성부(420)는 SNS의 상태 업데이트의 문자를 분석하여 대상, 위치, 장소, 기분 등과 같은 상태를 예측하고, 예측된 상태에 맞는 선제 메시지를 생성할 수 있다. 예를 들어, 선제 메시지 생성부(420)는 SNS의 상태 업데이트에 기재된 "생일 축하해!"라는 글자를 분석하여 "생일 파티했어?", "친구 생일이야?" 등과 같은 선제 메시지를 생성할 수 있다. 다른 예로, 선제 메시지 생성부(420)는 SNS의 상태 업데이트의 사진을 분석하여 대상, 위치, 장소, 기분 등과 같은 상태를 예측하고, 예측된 상태에 맞는 선제 메시지를 생성할 수 있다. 예를 들어, 선제 메시지 생성부(420)는 SNS의 상태 업데이트에 업로드된 사진을 분석하여 케이크와 사용자를 포함한 4명의 사람을 확인할 수 있고, "생일 파티했어?" 등과 같은 선제 메시지를 생성할 수 있다. 이 때, 사진 분석을 위해 영상 분석 시스템이 추가적으로 사용될 수 있다.
선제 메시지 생성부(420)는 인공지능 서버에서 상태 업데이트의 해시태그, 위치, 장소, 시간 및 링크 중 적어도 어느 하나 이상을 분석할 수 있다. 이후, 분석된 상태 업데이트의 내용을 기반으로 선제 메시지를 생성할 수 있다. 일례로, 선제 메시지 생성부(420)는 SNS의 상태 업데이트의 해시태그 "#생일파티"를 확인하고, "생일 파티했어?" 등과 같은 선제 메시지를 생성할 수 있다. 다른 예로, 선제 메시지 생성부(420)는 SNS의 상태 업데이트의 "OO카페"라는 해시태그, 위치, 장소, 링크 중 어느 하나를 확인하고, "OO카페 다녀왔어?", "OO카페는 분위기 어때?" 등과 같은 선제 메시지를 생성할 수 있다.
여기서, 인공지능은 인공지능 서버를 포함하며, 검색 기반 챗봇 및 생성 기반 챗봇 중 적어도 어느 하나 이상을 포함할 수 있다.
일례로, 선제 메시지 생성부(420)는 검색 기반 챗봇에 의해 상태 업데이트 내용을 기반으로 미리 구축된 응답 데이터베이스에 있는 응답 후보 문장들간의 순위를 매겨서 가장 순위가 높은 문장을 선택할 수 있다.
다른 예로, 선제 메시지 생성부(420)는 생성 기반 챗봇에 의해 상태 업데이트 내용을 기반으로 각 단어들의 등장 확률을 계산하여 가장 확률이 높은 단어를 선택할 수 있다.
단계(S140)에서, 선제 메시지 출력부(430)는 생성된 선제 메시지를 사용자에게 출력할 수 있다. 보다 구체적으로, 선제 메시지 출력부(430)는 인공지능 서버에서 생성된 선제 메시지를 인공지능과 사용자가 대화를 수행하는 애플리케이션을 통해 사용자에게 출력할 수 있다.
여기서, 인공지능과 사용자가 대화를 수행하는 애플리케이션은 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 특정 애플리케이션일 수 있으며, 기존의 다른 모바일 메신저일 수 있다. 예를 들어, 인공지능과 사용자가 대화를 수행하는 애플리케이션은 카카오톡(KakaoTalk), 라인(line), 바이버(viber), 위챗(wechat), 와츠앱(whatsapp), 텔레그램(Telegram), 스냅챗(snapchat) 등을 포함할 수 있으며, 이에 제한되지 않는다.
이 때, 선제 메시지 출력부(430)는 인공지능에서 사용자의 상황이 시간, 일정 및 직전 발화 간격 중 적어도 어느 하나 이상의 특정 조건을 만족하는지 여부를 확인할 수 있다. 특정 조건을 만족하는 경우, 생성된 선제 메시지를 사용자에게 출력하고, 특정 조건을 만족하지 않는 경우, 생성된 선제 메시지를 사용자에게 출력하지 않을 수 있다.
한편, 사용자의 SNS의 상태 업데이트가 발생한 때에 인공지능에서 사용자에게 선제 메시지를 전송하고자 하는 전송 시점을 결정할 수 있으나, 인공지능과 사용자 간의 이전 대화 내용에 기초하여 인공지능에서 사용자에게 선제 메시지를 전송하고자 하는 전송 시점을 결정할 수도 있다. 현재 날짜, 현재 시간, 사용자와의 대화 주기 예를 들어, 사용자와 인공지능 간의 대화가 이루어지는 주기, 사용자의 관심 분야 정보와 사용자의 스케줄 정보 중 적어도 하나를 반영하여 전송 시점을 결정할 수 있다.
도 5는 일 실시예에 따른 검색 기반 챗봇 및 생성 기반 챗봇을 설명하기 위한 도면이다.
도 5를 참조하면, 문장 단위의 말이나 글을 전하는 행위, 혹은 그 행위의 대상이 되는 문장을 발화라고 한다. 여러 턴의 발화가 모이게 되면 하나의 주제에 대한 대화가 성립되는데 이를 대화 세션 혹은 문맥(510)이라고 한다. 챗봇은 문맥(510)과 사용자의 발화가 주어졌을 때, 이에 맞는 응답(챗봇 응답)을 출력한다.
챗봇은 응답을 출력하는 원리에 따라 크게 두 가지 종류로 분류되며, 검색 기반 챗봇(520)과 생성 기반 챗봇(530)으로 분류된다.
검색 기반 챗봇(520)은 미리 구축된 응답 데이터베이스(521)에 있는 응답 후보 문장들로부터 주어진 문맥(510)에 가장 적절한 문장을 선택하여 챗봇의 응답으로서 출력한다. 입력 문맥에 대한 응답 후보들간의 순위를 매겨서 가장 순위가 높은 문장을 선택하는 모델을 “응답 선택 모델(522)"이라고 부른다. 이 때, 가장 순위가 높은 문장은 가장 적절한 문장임을 의미한다.
생성 기반 챗봇(530)은 주어진 문맥(510)을 입력으로 받아 그 다음에 등장할 단어들을 순차적으로 선택하는 방식으로 응답 문장을 생성하여 챗봇의 응답으로서 출력한다. 입력 문맥에 대해서 각 단어들의 등장 확률을 계산하여 가장 확률이 높은 단어를 출력하는 모델을 “생성 모델(531)”이라고 부른다. 여기서 입력 문맥에 대해서 가장 확률이 높은 단어는 입력 문맥에 대해서 가장 그럴듯한 단어를 의미한다.
도 6은 일 실시예에 따른 발화 점수 레이블링 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 응답 선택 모델을 학습시키기 위해서는 임의의 문맥에 대한 응답 후보들의 점수가 표기된(레이블링)된 데이터셋이 필요하다. 이에 따라 문맥-응답 후보군 쌍에 대하여 점수를 쉽게 레이블링할 수 있는 인터페이스를 구현할 수 있다.
응답 선택 모델의 학습을 위한 레이블링 툴이 문맥 데이터베이스로부터 문맥을 무작위로 선택하고, 선택된 문맥에 대해서 챗봇 서버에 n개의 응답 후보군들을 요청하여 확보한다(예시에서 n=10). 그리고, 앞에서 선택된 문맥과 응답 문장들을 도 6에 도시된 바와 같은 화면 형태의 인터페이스로 제공한다. 이에, 레이블러(예컨대, 사용자)는 체크 요망 버튼과 넘기기 버튼을 눌러서 다음 문맥으로 넘어갈 수 있다. 또한, 레이블러는 컨텍스트 내의 문장을 클릭함에 따라 문맥을 수정하여 스스로 작성할 수 있다. 이 경우, 응답 후보군들은 새롭게 요청된다. 또한, 레이블러는 답변 후보들을 클릭하거나 단축키를 눌러서 해당 응답의 점수를 매길 수 있다. 예를 들어 1번을 누르면 1점이 부여되고, 2번을 누르면 2점이 부여되도록 할 수 있다.
이에 따라 응답 선택 모델은 레이블링 툴을 통해 학습할 수 있고, 학습을 통해 보다 적절한 응답을 출력할 수 있다.
도 7은 일 실시예에 따른 사용자의 발화에서 응답 선택 모델 레이블링 점수를 자동으로 얻는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 챗봇 로그로 구축된 문맥 데이터베이스에 대해서 챗봇의 응답 점수를 인간 레이블러의 개입 없이 자동으로 측정할 수 있다.
문맥(710)에서 챗봇 응답과 해당 응답에 대응하는 사용자 발화 쌍을 선택한 후, 점수 계산 모델(720)은 발화 쌍을 통해 해당 챗봇 응답의 점수를 계산할 수 있다. 점수 계산 모델(720)은 부적절한 태도(예컨대, 챗봇 발화에 대한 불만족, 주제의 갑작스러운 전환 등)에 감점을, 호응하는 태도(예컨대, 챗봇 발화에 대한 공감 등)에 가점을 주는 방식으로 작동할 수 있다. 이 때, 점수 계산 모델(720)은 기설정된 부적절한 태도 및 호응하는 태도에 대한 데이터를 가지고 있으며, 이에 따라 챗봇 응답에 대응하는 사용자의 발화를 부적절한 태도 또는 호응하는 태도 중 어느 하나로 판단할 수 있다.
도 8은 일 실시예에 따른 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 사용자의 SNS의 갱신된 상태(801)를 포착하여 대화 세션(802)에서 선제 메시지(830)를 출력할 수 있다.
SNS 모니터 데몬(810)은 SNS API를 통해서 사용자의 SNS 상태를 모니터링 할 수 있다. 이후, SNS 상에서의 상태 업데이트(801)가 확인되면 SNS 모니터 데몬(810)은 챗봇 서버 큐(820)에 해당 내용을 전달할 수 있다. 챗봇 서버 큐(820)에 생성된 선제 메시지(830)는 챗봇 인터페이스로 출력될 수 있다. 여기서, SNS 모니터 데몬(810)은 앞에서 설명한 SNS 모니터링부에 포함될 수 있고, 챗봇 서버 큐(820)는 인공지능 서버에 포함될 수 있다.
이와 같이 챗봇 서버 큐(820)는 SNS 모니터 데몬(810)으로부터 사용자의 SNS의 상태 업데이트 정보를 전달 받아 사용자에게 SNS를 확인했음을 알리는 선제 메시지를 보낼 수 있으며, 특히 SNS의 상태 업데이트의 사진, 문자, 해시태그, 장소 등을 분석하여 대상, 위치, 장소, 기분 등과 같은 상태를 예측하고, 예측된 상태에 맞는 선제 메시지를 생성할 수 있다.
예를 들어, 사용자가 SNS 상에서의 프로필 사진을 변경 또는 추가하는 경우, SNS 모니터링부는 SNS 상에서의 상태 업데이트를 확인할 수 있고, 상태 업데이트 내용을 인공지능 서버의 상태 정보 입력부로 전달할 수 있다. 이후, 인공지능 서버의 선제 메시지 생성부는 "SNS에 사진 올렸구나!", "프사 바꿨네!", "프사 귀여워!", "오 이번에 너 SNS에 올린 셀카 엄청 잘나왔는데?" 등과 같은 선제 메시지를 생성할 수 있다. 선제 메시지 출력부는 생성된 선제 메시지를 사용자에게 전달할 수 있다.
다른 예로, 사용자가 SNS 상에 맛있는 음식을 먹는 사진을 추가하는 경우, SNS 모니터링부는 SNS 상에서의 상태 업데이트를 확인할 수 있고, 상태 업데이트 내용을 인공지능 서버의 상태 정보 입력부로 전달할 수 있다. 이후, 인공지능 서버의 선제 메시지 생성부는 "SNS에 사진 올렸구나!", "맛있는 음식 먹었구나!" 등과 같은 선제 메시지를 생성할 수 있다. 선제 메시지 출력부는 생성된 선제 메시지를 사용자에게 전달할 수 있다.
이상에서는, 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치를 설명하고 있으나, SNS뿐 아니라 게임에서의 캐릭터 상태, 포털/커뮤니티에서의 상태 업데이트를 선제 메시지를 생성할 수 있다. 또한, 문자, 통화 등의 상태 업데이트를 확인하고 선제 메시지를 생성할 수 있다. 예를 들어, 엄마랑 통화가 끝난 경우 "엄마와 통화는 잘했어?" 등과 같은 선제 메시지를 출력할 수 있다. 이 때, 사용자는 인공지능이 게임, 포털/커뮤니티, 문자, 통화 등에 접근하여 정보를 획득하는 것을 허용 여부를 결정할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (15)
- 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법에 있어서,
SNS 모니터링부를 이용하여 사용자의 SNS의 상태를 모니터링하는 단계;
모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, 상기 SNS 모니터링부에서 인공지능 서버로 상기 상태 업데이트 내용을 전달하는 단계;
상기 인공지능 서버에서 상기 상태 업데이트 내용을 기반으로 선제 메시지를 생성하는 단계; 및
생성된 상기 선제 메시지를 상기 사용자에게 출력하는 단계
를 포함하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 사용자의 SNS의 상태를 모니터링하는 단계는,
상기 SNS 모니터링부에서 SNS API(Application Programming Interface)를 통해서 사용자의 SNS 상태를 실시간으로 모니터링하는 것
을 특징으로 하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 생성하는 단계는,
상기 인공지능이 상기 사용자의 SNS의 상태 업로드를 확인하였음을 알리는 상기 선제 메시지를 생성하는 것
을 특징으로 하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 생성하는 단계는,
상기 인공지능 서버에서 상기 상태 업데이트의 사진 및 문자 중 적어도 어느 하나 이상을 분석하는 단계; 및
분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성하는 단계
를 포함하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 생성하는 단계는,
상기 인공지능 서버에서 상기 상태 업데이트의 해시태그, 위치, 장소, 시간 및 링크 중 적어도 어느 하나 이상을 분석하는 단계; 및
분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성하는 단계
를 포함하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 생성하는 단계는,
검색 기반 챗봇에 의해 상기 상태 업데이트 내용을 기반으로 미리 구축된 응답 데이터베이스에 있는 응답 후보 문장들간의 순위를 매겨서 가장 순위가 높은 문장을 선택하는 것
을 특징으로 하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 생성하는 단계는,
생성 기반 챗봇에 의해 상기 상태 업데이트 내용을 기반으로 각 단어들의 등장 확률을 계산하여 가장 확률이 높은 단어를 선택하는 것
을 특징으로 하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 상기 사용자에게 출력하는 단계는,
상기 인공지능 서버에서 생성된 상기 선제 메시지를 인공지능과 상기 사용자가 대화를 수행하는 애플리케이션을 통해 상기 사용자에게 출력하는 것
을 특징으로 하는, 선제 메시지를 출력하는 방법. - 제1항에 있어서,
상기 선제 메시지를 상기 사용자에게 출력하는 단계는,
상기 인공지능에서 상기 사용자의 상황이 시간, 일정 및 직전 발화 간격 중 적어도 어느 하나 이상의 특정 조건을 만족하는지 여부를 확인하는 단계;
상기 특정 조건을 만족하는 경우, 생성된 상기 선제 메시지를 상기 사용자에게 출력하는 단계; 및
상기 특정 조건을 만족하지 않는 경우, 생성된 상기 선제 메시지를 상기 사용자에게 출력하지 않는 단계
를 포함하는, 선제 메시지를 출력하는 방법. - 인공지능을 이용하여 사용자의 소셜 네트워크 서비스(Social Network Service, SNS)의 상태 업데이트에 기반하여 선제 메시지를 출력하는 장치에 있어서,
사용자의 SNS의 상태를 모니터링하여, 모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, SNS 모니터링부에서 인공지능 서버로 상기 상태 업데이트 내용을 전달함에 따라 상기 사용자의 SNS의 상태 업데이트 내용을 전달 받는 상태 정보 입력부;
상기 인공지능 서버에서 상기 상태 업데이트 내용을 기반으로 선제 메시지를 생성하는 선제 메시지 생성부; 및
생성된 상기 선제 메시지를 상기 사용자에게 출력하는 선제 메시지 출력부
를 포함하는, 선제 메시지를 출력하는 장치. - 제10항에 있어서,
상기 사용자의 SNS의 상태를 모니터링하여, 모니터링 중 상기 사용자의 SNS 상에서의 상태 업데이트가 확인되는 경우, 인공지능 서버로 상기 상태 업데이트 내용을 전달하는 SNS 모니터링부
를 더 포함하고,
상기 SNS 모니터링부는,
상기 SNS 모니터링부에서 SNS API(Application Programming Interface)를 통해서 사용자의 SNS 상태를 실시간으로 모니터링하는 것
을 특징으로 하는, 선제 메시지를 출력하는 장치. - 제10항에 있어서,
상기 선제 메시지 생성부는,
상기 인공지능이 상기 사용자의 SNS의 상태 업로드를 확인하였음을 알리는 상기 선제 메시지를 생성하는 것
을 특징으로 하는, 선제 메시지를 출력하는 장치. - 제10항에 있어서,
상기 선제 메시지 생성부는,
상기 인공지능 서버에서 상기 상태 업데이트의 사진 및 문자 중 적어도 어느 하나 이상을 분석하고, 분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성하는 것
을 특징으로 하는, 선제 메시지를 출력하는 장치. - 제10항에 있어서,
상기 선제 메시지 생성부는,
상기 인공지능 서버에서 상기 상태 업데이트의 해시태그, 위치, 장소, 시간 및 링크 중 적어도 어느 하나 이상을 분석하고, 분석된 상기 상태 업데이트의 내용을 기반으로 상기 선제 메시지를 생성하는 것
을 특징으로 하는, 선제 메시지를 출력하는 장치. - 제10항에 있어서,
상기 선제 메시지 출력부는,
상기 인공지능 서버에서 생성된 상기 선제 메시지를 인공지능과 상기 사용자가 대화를 수행하는 애플리케이션을 통해 상기 사용자에게 출력하는 것
을 특징으로 하는, 선제 메시지를 출력하는 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220067074A KR20230166725A (ko) | 2022-05-31 | 2022-05-31 | 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220067074A KR20230166725A (ko) | 2022-05-31 | 2022-05-31 | 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230166725A true KR20230166725A (ko) | 2023-12-07 |
Family
ID=89163616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220067074A KR20230166725A (ko) | 2022-05-31 | 2022-05-31 | 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230166725A (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210086082A (ko) | 2019-12-31 | 2021-07-08 | 주식회사 스캐터랩 | 인공지능에서 선제 메시지 전송 방법 및 그 장치 |
-
2022
- 2022-05-31 KR KR1020220067074A patent/KR20230166725A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210086082A (ko) | 2019-12-31 | 2021-07-08 | 주식회사 스캐터랩 | 인공지능에서 선제 메시지 전송 방법 및 그 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7467444B2 (ja) | テキストの分類およびモデレーション | |
CN110892395B (zh) | 提供增强的通信会话服务的虚拟助手 | |
CN110869969B (zh) | 用于在通信会话内生成个性化响应的虚拟助手 | |
US20220366281A1 (en) | Modeling characters that interact with users as part of a character-as-a-service implementation | |
US20150243279A1 (en) | Systems and methods for recommending responses | |
JP2017153078A (ja) | 人工知能学習方法、人工知能学習システムおよび返答中継方法 | |
US10239202B1 (en) | Robot interaction system and method | |
JP2017191601A (ja) | メッセンジャーサービスを利用したキーワード検索方法及びシステム | |
KR20180060971A (ko) | 사용자 입력에 기반한 문장을 제공하는 장치 및 방법 | |
US11983609B2 (en) | Dual machine learning pipelines for transforming data and optimizing data transformation | |
JP7488871B2 (ja) | 対話推薦方法、装置、電子機器、記憶媒体ならびにコンピュータプログラム | |
CN112269867A (zh) | 用于推送信息的方法、装置、设备以及存储介质 | |
CN113271251B (zh) | 一种虚拟资源活动控制方法、装置、电子设备和存储介质 | |
US20220318499A1 (en) | Assisted electronic message composition | |
US10810617B2 (en) | Local digital display assembly and digital content broadcast network comprising such assemblies | |
US20220253717A1 (en) | System and method for bringing inanimate characters to life | |
US11934469B2 (en) | Graph-based recommendations of digital media collaborators | |
KR20230166725A (ko) | 인공지능을 이용하여 사용자의 소셜 네트워크 서비스의 상태 업데이트에 기반하여 선제 메시지를 출력하는 방법 및 장치 | |
US11893063B2 (en) | Electronic device and operation method thereof | |
KR102120115B1 (ko) | 대화 능력 기반의 답변 시스템 및 그 방법 | |
US20200064986A1 (en) | Voice-enabled mood improvement system for seniors | |
KR20230171269A (ko) | 인공지능을 이용하여 진행 중인 게임 이벤트에 기반하여 메시지를 출력하는 방법 및 장치 | |
US11468133B1 (en) | Recommending online communication groups by matching unstructured text input to conversations | |
KR20230169692A (ko) | 인공지능을 이용하여 동영상을 시청하면서 동영상에 대해 대화하는 방법 및 장치 | |
KR20230169681A (ko) | 인공지능과의 관계를 반영하여 사용자에 특화된 응답을 출력하는 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |