KR20210052912A - 앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치 - Google Patents

앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치 Download PDF

Info

Publication number
KR20210052912A
KR20210052912A KR1020190138516A KR20190138516A KR20210052912A KR 20210052912 A KR20210052912 A KR 20210052912A KR 1020190138516 A KR1020190138516 A KR 1020190138516A KR 20190138516 A KR20190138516 A KR 20190138516A KR 20210052912 A KR20210052912 A KR 20210052912A
Authority
KR
South Korea
Prior art keywords
app
information
chat room
function
execution history
Prior art date
Application number
KR1020190138516A
Other languages
English (en)
Inventor
장혁재
Original Assignee
라인플러스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라인플러스 주식회사 filed Critical 라인플러스 주식회사
Priority to KR1020190138516A priority Critical patent/KR20210052912A/ko
Priority to JP2020180498A priority patent/JP2021072120A/ja
Publication of KR20210052912A publication Critical patent/KR20210052912A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)

Abstract

앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치가 개시된다. 일 실시예에 따른 컴퓨터 시스템에 의해 수행되는 앱 정보 추천 방법은, 대화방에서 송수신되는 메시지로부터 대화 내용에 대한 분석을 통하여 획득된 컨텍스트(Context) 정보에 기초하여 앱 실행 내역을 수집하는 단계; 상기 수집된 앱 실행 내역에 따라 전자 기기에 설치된 앱 정보로부터 연결하고자 하는 앱 기능을 포함하는 앱 정보를 결정하는 단계; 및 상기 결정된 앱 정보와 관련하여 생성된 링크 정보를 대화방의 메시지로 제공하는 단계를 포함할 수 있다.

Description

앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치{METHOD AND APPARATUS FOR RECOMMENDING APP FUNCTION SHORTCUTS THROUGH APP USAGE PATTERN AND CONVERSATION ANALYSIS}
아래의 설명은 앱(App) 사용 패턴과 대화 분석을 통한 앱 또는 앱의 특정 기능을 추천하는 기술에 관한 것이다.
스마트폰, 태블릿 PC 등과 같은 전자 기기는 다양한 어플리케이션(이하, 앱)을 이용하여 음성 통화, 영상 통화, 무선 데이터 통신, 미디어 출력 등 다양한 기능을 수행할 수 있다. 예를 들면, 사용자는 전자 기기에 설치된 인터넷 연결 앱을 실행하여, 무선 인터넷에 접속하여 필요한 정보를 검색할 수 있다.
최근에는 앱을 이용한 검색결과 향상이나 앱 간 서비스 연동을 위해서 앱 내 직접 링크를 포함하는 딥링크(deep link) 적용도 점점 확대되고 있다. 이와 같이, 전자 기기에 다양한 기능을 갖는 복수 개의 앱이 설치됨에 따라 사용자의 앱 사용 패턴을 분석하여 사용자의 상황에 적합한 앱을 실행시키거나 추천하는 기술이 요구되고 있다.
사용자간 대화 내용에 관한 컨텍스트 정보를 참조하여 사용자에게 적합한 앱을 추천하는 방법 및 장치를 제공할 수 있다.
앱 사용 패턴과 대화 분석을 통하여 획득된 컨텍스트 정보에 기초하여 앱 기능을 포함하는 앱 정보를 메시지로 제공하는 방법 및 장치를 제공할 수 있다.
컴퓨터 시스템에 의해 수행되는 앱 정보 추천 방법은, 대화방에서 송수신되는 메시지로부터 대화 내용에 대한 분석을 통하여 획득된 컨텍스트(Context) 정보에 기초하여 앱 실행 내역을 수집하는 단계; 상기 수집된 앱 실행 내역에 따라 전자 기기에 설치된 앱 정보로부터 연결하고자 하는 앱 기능을 포함하는 앱 정보를 결정하는 단계; 및 상기 결정된 앱 정보와 관련하여 생성된 링크 정보를 대화방의 메시지로 제공하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 대화 내용으로부터 복수 개의 키워드를 포함하는 대화 패턴을 추출하고, 상기 추출된 대화 패턴의 이후에 실행되는 앱 실행 내역을 수집하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 대화 내용에 대한 분석을 수행하기 위한 학습 모델을 구성하고, 상기 구성된 학습 모델을 이용하여 상기 대화 내용을 학습시킴에 따라 획득된 컨텍스트 정보에 기초하여 실행되는 앱 실행 내역을 수집하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 대화 내용에 대한 자연어 처리를 수행함에 따라 추출된 키워드를 이용하여 송수신되는 메시지를 요약하여 상기 대화 내용을 분석을 수행하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 대화 내용에 기초하여 생성된 사용자의 사전을 이용하여 상기 대화 내용을 분석하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 대화방 내의 기능 및 상기 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱에서 제공되는 다른 기능이 실행된 앱 실행 내역을 수집하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 전자 기기의 운영체제를 통하여 제공되는 앱이 실행된 앱 실행 내역을 참조하여 앱의 특정 기능에 접근한 앱 딥 링크(App deep link) 기록을 수집하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 전자 기기에 설치된 앱의 카테고리 정보 및 설명 정보에 기초하여 앱 정보를 수집하는 단계를 포함할 수 있다.
상기 앱 실행 내역을 수집하는 단계는, 상기 컨텍스트 분석을 제외하기 위한 금칙어 리스트를 제공하고, 상기 제공된 금칙어 리스트로부터 선택된 금칙어가 포함된 대화 내용에 대한 컨텍스트 분석을 제외하는 단계를 포함할 수 있다.
상기 결정하는 단계는, 전자 기기에 설치된 앱 정보로부터 상기 수집된 앱 실행 내역과 유사한 또는 동일한 카테고리의 앱 기능을 포함하는 앱 정보를 탐색하는 단계를 포함할 수 있다.
상기 결정하는 단계는, 상기 앱 또는 상기 앱의 기능을 결정하기 위한 옵션 정보를 설정하고, 상기 설정된 옵션 정보에 기초하여 연결하고자 하는 앱 또는 앱의 기능을 포함하는 앱 정보를 선별하는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 결정된 앱 기능을 포함하는 앱 정보가 연결될 가능성이 기 설정된 기준 이상일 경우, 상기 결정된 앱 정보와 관련하여 링크 정보를 생성하고, 상기 생성된 링크 정보를 대화방의 메시지로 제공하는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 대화방의 메시지로 제공된 링크 정보가 선택됨에 따라 상기 링크 정보에 포함된 앱 또는 앱의 기능으로 연결시키는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 대화방 내에서 제공되는 다른 기능으로 전환하는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱의 다른 기능으로 전환하는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱 이외의 전자 기기에 설치된 다른 앱으로 전환하는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 대화방의 메시지로 제공된 링크 정보에 포함된 앱 또는 앱의 기능이 실행되는 프리뷰를 팝업으로 제공하고, 상기 제공된 팝업을 통하여 상기 앱 또는 앱의 기능에 대한 실행 여부를 수신하는 단계를 포함할 수 있다.
상기 제공하는 단계는, 상기 대화방의 메시지로 제공된 링크 정보가 기 설정된 시간 이상 선택됨에 따라 복수 개의 화면으로 분할하고, 상기 분할된 복수 개의 화면 중 어느 하나의 화면에 대화방, 상기 복수 개의 화면 중 다른 하나의 화면에 상기 링크 정보에 포함된 앱 또는 앱의 기능이 실행된 화면을 표시하는 단계를 포함할 수 있다.
앱 정보 추천 방법을 상기 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공할 수 있다.
앱 정보를 추천하는 컴퓨터 시스템은, 대화방에서 송수신되는 메시지로부터 대화 내용에 대한 분석을 통하여 획득된 컨텍스트(Context) 정보에 기초하여 앱 실행 내역을 수집하는 실행 내역 수집부; 상기 수집된 앱 실행 내역에 따라 전자 기기에 설치된 앱 정보로부터 연결하고자 하는 앱 기능을 포함하는 앱 정보를 결정하는 앱 정보 결정부; 및 상기 결정된 앱 정보와 관련하여 생성된 링크 정보를 대화방의 메시지로 제공하는 링크 제공부를 포함할 수 있다.
대화 내용에 대한 분석을 통하여 획득된 컨텍스트 정보에 기초하여 앱 실행 내역을 판단하여 현재 대화 상황에 맞는 앱 또는 앱의 기능을 추천할 수 있다.
대화 내용으로부터 분석을 수행함에 따라 획득된 컨텍스트 정보를 통하여 동일한 상황일지라도 사용자마다 다르게 앱 또는 앱의 기능을 추천할 수 있다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 일 실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 전자 기기의 프로세서가 포함할 수 있는 구성요소를 설명하기 위한 블록도이다.
도 4는 일 실시예에 따른 전자 기기가 수행할 수 있는 앱 정보 추천 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 전자 기기에서 대화 분석을 제외하는 방법을 설명하기 위한 흐름도이다.
도 6 내지 도 9는 일 실시예에 따른 전자 기기에서 앱 정보와 관련된 링크 정보를 제공하는 것을 설명하기 위한 예이다.
도 10은 일 실시예에 따른 전자 기기에서 링크 정보에 대한 프리뷰를 실행하는 것을 설명하기 위한 예이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 시스템으로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 시스템들 중 하나를 의미할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제1 서비스를 제공하는 시스템일 수 있으며, 서버(160) 역시 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 제2 서비스를 제공하는 시스템일 수 있다. 보다 구체적인 예로, 서버(150)는 복수의 전자 기기들(110, 120, 130, 140)에 설치되어 구동되는 컴퓨터 프로그램으로서의 어플리케이션을 통해, 해당 어플리케이션이 목적하는 서비스(일례로, 메시징 서비스 등)를 제1 서비스로서 복수의 전자 기기들(110, 120, 130, 140)로 제공할 수 있다. 다른 예로, 서버(160)는 상술한 어플리케이션의 설치 및 구동을 위한 파일을 복수의 전자 기기들(110, 120, 130, 140)로 배포하는 서비스를 제2 서비스로서 제공할 수 있다.
도 2는 일 실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 전자 기기에 대한 예로서 전자 기기(110), 그리고 서버(150)의 내부 구성을 설명한다. 또한, 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 상술한 전자 기기(110) 또는 서버(150)와 동일한 또는 유사한 내부 구성을 가질 수 있다.
전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 비-일시적인 컴퓨터 판독가능한 기록매체로서, RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리(211, 221)와는 구분되는 별도의 영구 저장 장치로서 전자 기기(110)나 서버(150)에 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 전자 기기(110)에 설치되어 구동되는 브라우저나 특정 서비스의 제공을 위해 전자 기기(110)에 설치된 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독가능한 기록매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로, 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(213, 223)은 네트워크(170)를 통해 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 전자 기기(110) 및/또는 서버(150)가 다른 전자 기기(일례로 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 전자 기기(110)의 통신 모듈(213)을 통해 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령, 컨텐츠, 파일 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 전자 기기(110)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(215)는 전자 기기(110)와 하나의 장치로 구성될 수도 있다. 또한, 서버(150)의 입출력 인터페이스(224)는 서버(150)와 연결되거나 서버(150)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 보다 구체적인 예로, 전자 기기(110)의 프로세서(212)가 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다.
또한, 다른 실시예들에서 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 전자 기기(110)에 더 포함되도록 구현될 수 있다.
실시예에서는 전자 기기(110)는 컴퓨터로 구현된 앱 정보 추천 시스템이 구성될 수 있다. 일례로, 앱 정보 추천 시스템은 독립적으로 동작하는 프로그램 형태로 구현되거나, 혹은 특정 어플리케이션의 인-앱(in-app) 형태로 구성되어 상기 특정 어플리케이션 상에서 동작이 가능하도록 구현될 수 있고 경우에 따라 서버(150)와의 연동을 통해 앱 정보 추천을 제공할 수 있다.
전자 기기(110)에 인스턴트 메시징 서비스가 실행되어 동작됨에 따라 대화 내용에 대한 분석이 수행됨에 따라 획득된 컨텍스트 정보에 기초하여 사용자에 필요한 앱 정보가 추천될 수 있다. 이때, 전자 기기(110)는 대화방에서 송수신되는 메시지 중 사용자 개인의 대화 내용에 대한 분석을 통하여 획득된 대화 패턴, 대화 맥락(에 따라 실행되는 앱 실행 내역을 판단함으로써 사용자만의 앱 기능을 포함하는 앱 정보를 추천할 수 있고, 대화방에서 송수신되는 메시지들을 통하여 복수의 사용자들의 대화 내용에 대한 컨텍스트 분석을 통하여 사용자만의 앱 기능을 포함하는 앱 정보를 추천할 수 있다. 이에, 각각의 사용자로부터 동일한 또는 유사한 대화 내용이 수행되더라도 각각의 사용자에게 추천되는 앱 기능, 앱 정보가 다르게 추천될 수 있다. 또한, 대화를 수행한 후의 특정 행동과 관련된 패턴에 대한 앱 또는 앱의 기능들을 미리 지정해놓지 않고, 사용자의 상황에 맞게 앱 또는 앱의 기능을 추천할 수 있다.
도 3은 일 실시예에 따른 전자 기기의 프로세서가 포함할 수 있는 구성요소를 설명하기 위한 블록도이고, 도 4는 일 실시예에 따른 전자 기기가 수행할 수 있는 앱 정보 추천 방법을 설명하기 위한 흐름도이다.
전자 기기의 프로세서(212)는 실행 내역 수집부(310), 앱 정보 결정부(320) 및 링크 제공부(330)를 포함할 수 있다. 이러한 프로세서(212)의 구성요소들은 전자 기기에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서(212)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서(212) 및 프로세서(212)의 구성요소들은 도 4의 앱 정보 추천 방법이 포함하는 단계들(S410 내지 S430)을 수행하도록 서버를 제어할 수 있다. 이때, 프로세서(212) 및 프로세서(212)의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서(212)는 앱 정보 추천 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 전자 기기에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 전자 기기를 제어할 수 있다. 이때, 프로세서(212) 및 프로세서(212)가 포함하는 실행 내역 수집부(310), 앱 정보 결정부(320) 및 링크 제공부(330) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S410 내지 S430)을 실행하기 위한 프로세서(212)의 서로 다른 기능적 표현들일 수 있다.
단계(S410)에서 실행 내역 수집부(310)는 대화방에서 송수신되는 메시지로부터 대화 내용에 대한 분석을 통하여 획득된 컨텍스트(Context) 정보에 기초하여 앱 실행 내역을 수집할 수 있다. 실행 내역 수집부(310)는 메시지로부터 대화 내용에 대한 분석을 수행할 수 있다. 예를 들면, 실행 내역 수집부(310)는 대화 내용으로부터 키워드, 대화 패턴, 대화 문구, 대화 컨텍스트를 파악할 수 있다. 이러한 대화 내용으로부터 키워드, 대화 패턴, 대화 문구, 대화 컨텍스트를 파악함에 따라 컨텍스트 정보가 획득될 수 있다.
일례로, 실행 내역 수집부(310)는 대화 내용에 기초하여 생성된 사용자의 사전을 이용하여 대화 내용으로부터 분석을 수행할 수 있다. 이때, 사용자의 테마별 사전이 제공될 수 있다. 사용자의 테마별 사전이란 동일한 용어일지라도 사용자의 상황에 따라 각각 다르게 인식될 수 있는 것을 고려하기 위한 것으로 용어 정보를 저장한 것을 의미한다. 예를 들면, BTS일 경우, 일반적으로 방탄소년단으로 인식될 수 있지만, 태국의 경우 교통 수단, IT 종사업자의 경우 Bug tracking system으로 인식될 수 있다. 이에, 사용자의 테마별 사전에 저장하여 동일한 용어일지라도 사용자에 따라 다르게 인식될 수 있도록 한다.
다른 예로서, 실행 내역 수집부(310)는 메시지를 요약할 수 있다. 실행 내역 수집부(310)는 대화 내용에 대한 자연어 처리를 수행함에 따라 추출된 키워드를 이용하여 송수신되는 메시지를 요약하여 대화 내용을 분석할 수 있다. 일례로, 실행 내역 수집부(310)는 대화방에서 송수신되는 메시지로부터 대화 내용을 요약할 수 있다. 실행 내역 수집부(310)는 대화 내용 정리(Cleaning), 대화 내용에 대한 언어 식별(Language Detection), 대화 내용의 문장 토큰화(Sentence Tokenization), 대화 내용의 Skip-Thought 인코더(Encoder), 클러스터링(Clustering) 및 요약 과정을 수행할 수 있다. 일례로, 특허문헌 "Mahmood Yousefi-Azar and Len Hamey. 2017. Text summarization using unsupervised deep learning. Expert Syst. Appl. 68, C (February 2017), 93-105"에 개시된 동작에 따라 메시지가 요약될 수 있다. 구체적으로, 실행 내역 수집부(310)는 대화 내용에서 요약 생성에 필요없는 부분을 제거하여 대화 내용을 정리할 수 있다. 예를 들면, 대화 내용에서 서명 줄, 인사말 등을 제거할 수 있다. 실행 내역 수집부(310)는 정리된 대화 내용으로부터 언어를 감지할 수 있다. 예를 들면, 머신 러닝 기술을 사용하여 텍스트가 작성된 언어를 식별하는 많은 Python 라이브러리가 사용될 수 있다. 실행 내역 수집부(310)는 정리된 대화 내용에 대한 언어가 식별됨에 따라 각 언어의 문장 구분 기호에 대한 특정 규칙을 사용하여 대화 내용을 문장으로 분할하는 문장 토큰화를 수행할 수 있다. 예를 들면, 실행 내역 수집부(310)는 한글의 경우, 마침표를 기준으로 문장을 구분할 수 있다. 실행 내역 수집부(310)는 입력의 각 문장에 대해 고정 길이 벡터를 생성하는 GRU-RNN으로 구성된 인코더와 벡터 표현을 입력으로 취하고 입력 문장 전후에 각각 발생할 수 있는 두 문장을 생성하려고 시도하는 디코더로 구성된 Skip-Thoughts 모델을 이용하여 문장을 학습시킬 수 있다. 실행 내역 수집부(310)는 각 문장에 대한 문장 임베딩을 생성한 후, 임베딩을 고차원 벡터 공간에 미리 정의된 수의 클러스터로 클러스터링할 수 있다. 이때, 문장 임베딩의 각 클러스터는 의미상 하나의 후보 문장으로 요약될 수 있는 유사한 문장 세트로 해석될 수 있다. 후보 문장은 벡터 표현이 클러스터 중심에 가장 가까운 문장으로 선택될 수 있고, 각 클러스터에 해당하는 후보 문장을 정리하여 메시지를 요약할 수 있다.
실행 내역 수집부(310)는 메시지의 대화 내용에 대한 분석을 통하여 앱 사용 패턴 정보를 획득할 수 있다. 실행 내역 수집부(310)는 대화 내용에 대한 분석을 수행함에 따라 획득된 컨텍스트 정보와 앱 정보를 매칭하여 컨텍스트 정보에 기초하여 실행되는 앱 실행 내역을 수집할 수 있다. 실행 내역 수집부(310)는 사용자의 대화 패턴, 문구, 컨텍스트에 따른 앱 또는 앱의 기능을 실행하는 앱 사용 패턴을 추정할 수 있다. 실행 내역 수집부(310)는 키워드를 매칭하여 앱 사용 패턴을 분석할 수 있다. 예를 들면, 실행 내역 수집부(310)는 특정 키워드 후에 실행되는 앱 또는 앱의 기능을 추정할 수 있다. 다른 예로서, 실행 내역 수집부(310)는 대화 패턴을 매칭하여 앱 사용 패턴을 분석할 수 있다. 예를 들면, 실행 내역 수집부(310)는 연속된 복수 개의 키워드를 포함하는 대화 패턴을 추출하고, 추출된 대화 패턴 이후에 가장 많이 실행되는 앱 또는 앱의 기능을 추정할 수 있다. 또 다른 예로서, 실행 내역 수집부(310)는 대화 내용의 컨텍스트를 매칭하여 앱 사용 패턴을 분석할 수 있다. 예를 들면, 실행 내역 수집부(310)는 대화 내용에 대한 분석을 수행하기 위한 학습 모델을 구성하고, 구성된 학습 모델을 이용하여 대화 내용을 학습시킴에 따라 획득된 컨텍스트 정보에 기초하여 실행되는 앱 정보 또는 앱의 기능을 추정할 수 있다. 실행 내역 수집부(310)는 RNN을 이용하여 대화 흐름과 앱의 정보, 앱의 실행 결과를 학습시킬 수 있다. 이때, 실행 내역 수집부(310)는 고정된 키워드 없이 앱 사용 패턴을 추정할 수 있다. 또는, 실행 내역 수집부(310)는 사용자의 컨텍스트 정보에 대한 앱 실행 내역이 판단되지 않는 경우, 다른 사용자들의 컨텍스트 정보에 따른 앱 실행 내역을 이용할 수 있다.
실행 내역 수집부(310)는 대화방 내의 기능 또는 대화방을 제공하는 앱에서 제공하는 다른 기능을 실행한 앱 실행 내역을 수집할 수 있다. 예를 들면, 실행 내역 수집부(310)는 전자 기기가 안드로이드일 경우, 인텐트(intent) 기록을 로깅(logging)할 수 있다. 또한, 실행 내역 수집부(310)는 전자 기기의 운영체제를 통하여 제공되는 전자 기기에서 실행된 앱 실행 내역을 참조하여 앱의 특정 기능에 접근한 앱 딥 링크(App deep link) 기록을 수집할 수 있다. 이때, 앱 딥 링크란 단순한 앱의 실행이 아닌 앱 내의 특정 기능에 접근하게 되는 링크를 의미할 수 있다. 예를 들면, 안드로이드의 경우, 구글 앱 인덱싱(google app indexing)을 위하여 여러 앱들이 딥 링크가 지원된다. 이때, 앱 딥링크를 사용하면 앱이 설치되지 않은 경우에도 컨텐츠에 딥 링크할 수 있다.
실행 내역 수집부(310)는 전자 기기에 설치되어 있는 앱 정보를 수집할 수 있다. 예를 들면, 실행 내역 수집부(310)는 구글 플레이 스토어(Google Play Store), 애플 앱 스토어(Apple App Store)에서 앱 들의 카테고리 정보를 추출할 수 있고, 설명(description) 정보를 자연어 처리할 수 있다. 전자 기기에 영화 앱이 설치되어 있을 경우, 영화 앱의 카테고리는 엔터테인먼트, 설명 정보는 쉽고 빠른 예매, 가고 싶은 극장, 모바일 티켓, 영화 정보 등이 개시되어 있을 수 있다. 이러한, 실행 내역 수집부(310)에서 실시되는 동작은 전자 기기뿐만 아니라, 서버에서 수행될 수 있으며, 서버에서 수행된 결과를 전달받을 수도 있다.
도 5를 참고하면, 대화 분석을 제외하는 방법을 설명하기 위한 흐름도이다. 단계(S510)에서 실행 내역 수집부(310)는 대화 내용에 대한 분석을 제외하기 위한 금칙어 리스트를 제공할 수 있다. 단계(S520)에서 실행 내역 수집부(310)는 제공된 금칙어 리스트로부터 선택된 금칙어가 포함된 대화 내용에 대한 분석을 제외할 수 있다. 예를 들면, 실행 내역 수집부(310)는 대화 내용에 도박, 만남과 같은 특정 단어가 포함되어 있을 경우, 분석을 수행하지 않을 수 있다. 실행 내역 수집부(310)는 대화 내용에 대한 분석을 제외할 금칙어 사전이 제공될 수 있다. 이때, 금칙어 사전은 대화 내용에 대한 분석을 제외하기 위한 단어들이 포함된 것을 의미할 수 있으며, 금칙어 사전으로부터 단어가 선택될 수 있고, 대화 내용에 선택된 단어가 포함될 경우 분석이 제외될 수 있다. 또는, 분석을 제외하기 위한 유저 인터페이스가 제공될 수 있고, 제공된 유저 인터페이스를 통하여 단어를 입력함에 따라 금칙어 사전이 생성될 수 있다. 이와 같이, 대화 내용에 금칙어 사전에 포함된 단어가 포함될 경우, 분석이 제외될 수 있다.
단계(S420)에서 앱 정보 결정부(320)는 수집된 앱 실행 내역에 따라 전자 기기에 설치된 앱 정보로부터 연결하고자 하는 앱 기능을 포함하는 앱 정보를 결정할 수 있다. 앱 정보 결정부(320)는 전자 기기에 설치된 앱 정보로부터 수집된 앱 실행 내역과 유사한 또는 동일한 카테고리의 앱 기능을 포함하는 앱 정보를 탐색할 수 있다. 예를 들면, 앱 정보 결정부(320)는 연결하고자 하는 앱 정보 리스트를 선별할 수 있다. 앱 정보 결정부(320)는 연결하고자 하는 앱 정보 리스트로부터 앱 또는 앱의 기능을 결정할 수 있다. 앱 정보 결정부(320)는 앱 또는 앱의 기능을 연결시키기 위한 옵션 정보를 설정할 수 있고, 설정된 옵션 정보에 기초하여 연결하고자 하는 앱 정보를 선별할 수 있다. 앱 정보 결정부(320)는 대화방을 제공하는 앱에서 제공하는 기능일 경우, 대화방을 제공하는 앱에서 제공하는 기능 범위에서 필터링을 수행할 수 있다. 예를 들면, 대화방을 제공하는 앱에서 사다리, 투표, 일정, 전화 등의 기능이 제공될 경우, 이러한 기능에서 사용자의 선택에 따라 상기 기능이 포함 또는 제외될 수 있다. 이에, 선택된 기능을 포함 또는 제외하여 앱 또는 앱의 기능이 결정될 수 있다. 또는, 앱 정보 결정부(320)는 대화방을 제공하는 앱 이외의 다른 앱 또는 다른 앱의 기능일 경우, 앱의 카테고리 및 설명 분석을 통하여 특정 범위 앱 연결을 위한 필터링을 수행할 수 있다.
단계(S430)에서 링크 제공부(330)는 결정된 앱 정보와 관련하여 생성된 링크 정보를 대화방의 메시지로 제공할 수 있다. 링크 제공부(330)는 결정된 앱 정보가 연결될 가능성이 기 설정된 기준 이상일 경우, 결정된 앱 정보와 관련하여 링크 정보를 생성하고, 생성된 링크 정보를 대화방의 메시지로 제공할 수 있다. 예를 들면, 링크 제공부(330)는 대화방의 메시지에 하이퍼링크(hyperlink)를 추가시킬 수 있다. 링크 제공부(330)는 대화방의 메시지로 제공된 링크 정보가 선택됨에 따라 링크 정보에 포함된 앱 또는 앱의 기능으로 연결시킬 수 있다. 링크 제공부(330)는 대화방의 앱에서 제공되는 기능 또는 대화방 이외의 별도의 앱으로 연결시킬 수 있다. 예를 들면, 링크 제공부(330)는 대화방에서 제공되는 다른 기능으로 전환할 수 있다. 링크 제공부(330)는 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱의 다른 기능으로 전환할 수 있다. 또는, 링크 제공부(330)는 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱 이외의 전자 기기에 설치된 다른 앱으로 전환할 수 있다.
일 실시예에 따르면, 대화 내용에 대한 분석과 앱실행 내역이 분석되어 링크 제공부(330)를 통해 링크 정보가 제공될 수 있다. 또한, 서비스를 처음으로 사용하는 사용자의 경우, 대화 내용 및 앱실행 내역이 없기 때문에 링크 제공부(330)는 초기에 링크 정보의 제공이 불가능하다. 이에, 서버는 비슷한 연령, 성별 등을 포함하는 개인 식별 정보를 기반으로 유사한 또는 동일한 성향의 사용자들이 가지고 있는 대화 내용에 대한 분석과 앱실행 내역을 분석한 결과 정보를 전자 기기(110)에게 전달할 수 있다. 전자 기기(110)는 서버로부터 전달받은 결과 정보를 이용하여 링크 제공부(330)를 통해 서비스 사용 초기부터 사용자에게 링크 정보를 제공할 수 있다. 이후, 사용자에게 제공된 링크 정보가 어떻게 사용되는지 피드백 분석이 수행되고, 피드백 분석을 수행한 분석 결과와 대화 내용에 대한 분석 및 앱실행 내역을 분석한 결과 정보가 결합되어 링크 정보 제공의 정확도를 높여갈 수 있다.
도 6 내지 도 9는 일 실시예에 따른 전자 기기에서 앱 정보와 관련된 링크 정보를 제공하는 것을 설명하기 위한 예이다.
도 6 내지 도 9에서는 인스턴트 메시징 서비스를 통하여 메시지가 송수신된다고 가정하기로 한다. 이때, 인스턴트 메시징 서비스는 단독적으로 메시지 서비스만을 제공할 수도 있고, 인스턴트 메시징 서비스와 함께 별도의 부가적인 서비스도 제공될 수 있다. 인스턴트 메시징 서비스에서 송수신되는 메시지를 통하여 대화 내용에 대한 분석이 수행됨에 따라 획득된 컨텍스트 정보에 기초하여 앱 정보와 관련된 링크 정보가 제공되는 것을 설명하기로 한다.
도 6을 참고하면, 전자 기기(110)는 대화방 내에서 제공되는 다른 기능으로 전환할 수 있다. 전가 기기(110)는 있는 인스턴트 메시징 서비스의 대화방(600)에서 멤버들과 메시지를 통하여 대화가 수행될 수 있다. 일례로, 대화방(600)에서 멤버들 중 멤버 1로부터 "점시 커피는 누가 쏠 차례야?"라고 질의될 수 있다. 그러면, 대화방(600)의 다른 멤버들로부터 멤버 1의 메시지에 대하여 답변이 수행될 수 있다. 전자 기기(110)는 대화 내용에 대한 분석을 수행함에 따라 획득된 컨텍스트 정보에 기초하여 대화방에서 제공되는 기능인 사다리 기능을 포함하는 링크 정보(610)를 메시지로 제공할 수 있다. 예를 들면, 사다리 기능을 포함하는 링크 정보(610)일 경우, 대화방에 사다리 기능이 실행될 수 있다.
다른 예로서, 대화방(600)에서 멤버 1로부터 "X월 x일에 볼래?"라고 메시지가 입력될 수 있다. 대화방(600)에서 멤버 2로부터 "그날 스케줄을 봐야해"와 같은 메시지가 입력될 수 있다. 이와 같이, 전자 기기(110)는 대화방에서 특정 주제에 대하여 대화가 수행됨에 따라 대화 내용에 대한 분석이 수행함에 따라 획득된 컨텍스트 정보에 기초하여 대화방에서 제공되는 '일정 앱'을 연결하기 위한 링크 정보를 메시지로 제공할 수 있다. 또는, 대화방 내에 '일정 앱'을 자동으로 실행하여 일정 정보를 표시할 수 있다.
이와 같이, 대화방에서 제공되는 기능으로 메시지 송수신 기능이 기본적으로 제공될 수 있고, 이외에 사다리, 투표, 일정, 전화 등 다양한 기능이 제공될 수 있다. 사용자는 대화방(600)에 표시된 링크 정보(610)를 선택함에 따라 링크 정보(610)에 포함된 기능으로 연결될 수 있다.
도 7을 참고하면, 전자 기기(110)는 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱의 다른 기능으로 전환할 수 있다. 전가 기기(110)는 인스턴트 메시징 서비스의 대화방(600)에서 멤버들과 메시지를 통하여 대화가 수행될 수 있다. 일례로, 대화방(600)에서 멤버 1로부터 "너 뉴스 들었어?"라고 메시지가 입력될 수 있다. 그러면, 대화방(600)의 다른 멤버로부터 "무슨 뉴스?", "XX가 YY 했대?" 등과 같이 다양한 메시지가 입력될 수 있다. 전자 기기(110)는 대화 내용에 대한 분석을 수행하여 획득된 컨텍스트 정보에 기초하여 대화방을 제공하는 앱의 뉴스 검색 결과 기능을 포함하는 링크 정보(710)를 메시지로 제공할 수 있다. 다른 예로서, 대화방(600)에서 "나 입금했어", "xxx 입니다", "돈 보냈어요"와 같은 메시지가 입력됨에 따라 대화방을 제공하는 앱의 다른 기능인 페이(pay) 앱 등 금융 관련 앱을 포함하는 링크 정보를 대화방의 메시지로 제공될 수 있다. 또는, 페이(pay)에서 송금 기능을 실행시킬 수 있는 링크 정보를 포함하는 메시지가 제공될 수도 있다. 또 다른 예로서, 대화방(600)에서 "생일 축하해"라는 메시지가 입력됨에 따라 대화방을 제공하는 앱의 다른 기능인 선물하기 기능이 대화방의 메시지로 제공될 수 있다.
이와 같이, 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱의 다른 기능으로 오늘의 뉴스, 페이, 타임라인, 선물하기 등 다양한 기능이 제공될 수 있다. 사용자는 대화방(600)에 표시된 링크 정보(710)를 선택함에 따라 링크 정보(710)에 포함된 기능으로 연결될 수 있다.
도 8을 참고하면, 전자 기기(110)는 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱 이외의 전자 기기에 설치된 다른 앱으로 전환할 수 있다. 전가 기기(110)는 인스턴트 메시징 서비스의 대화방(600)에서 멤버들과 메시지를 통하여 대화가 수행될 수 있다. 일례로, 대화방(600)에서 어느 하나의 멤버로부터 "ABC 가게로 와"라고 메시지가 입력될 수 있다. 그러면, 대화방(600)의 다른 멤버로부터 "거기가 어디야?", "나도 모르겠어" 등과 같이 다양한 메시지가 입력될 수 있다. 전자 기기(110)는 대화 내용에 대한 분석을 수행함에 따라 획득된 컨텍스트 정보에 기초하여 전자 기기에 설치된 지도 앱을 포함하는 링크 정보(810)를 메시지로 제공할 수 있다. 다른 예로서, 대화방(600)에 "어제 찍은 사진 보내줘", "어제 재미있었어?"와 같은 메시지가 입력됨에 따라 전자 기기에 설치된 앱에서 제공하는 앨범 기능을 포함하는 링크 정보가 대화방의 메시지로 제공될 수 있다.
이와 같이, 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱 이외의 전자 기기에 설치된 다른 앱의 기능으로 지도 앱, 전화 앱, 쇼핑 앱 등 다양한 기능이 제공될 수 있다. 사용자는 대화방(600)에 표시된 링크 정보(810)를 선택함에 따라 링크 정보(810)에 포함된 기능으로 연결될 수 있다.
또한, 전자 기기(110)는 외부의 앱 또는 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱 내의 특정 기능으로 사용자를 유도하기 위한 앱 기능을 포함하는 링크 정보를 메시지로 제공할 수 있다. 예를 들면, 새로 출시한 기능 및 프로모션을 진행 중인 특정 기능, 광고를 목적으로 사용자의 유입을 유도할 수 있다. 다른 예로서, 전자 기기(110)는 특정 키워드, 특정 대화 패턴, 컨텍스트 정보를 기반으로 링크 정보를 제공할 수 있다. 예를 들면, 전자 기기(110)는 "XXX 해봤어?"와 같은 메시지가 입력됨에 따라 "XXX"에 대한 특정 앱 또는 특정 기능을 설치하기 위한 설치 페이지로 유도할 수 있다. 만약, "A 게임 해봤어?"라는 메시지가 입력됨에 따라 "A 게임" 또는 "A 게임" 설치 페이지를 포함하는 링크 정보가 메시지로 제공될 수 있다. 또 다른 예로서, 전자 기기(110)는 이미 메시지로 제공된 링크 정보에 추가적으로 다른 앱 또는 다른 앱의 기능에 대한 홍보 페이지를 추가할 수도 있다.
도 9를 참고하면, 전자 기기(110)는 대화방(600)에 메시지로 제공된 링크 정보(910)가 선택됨에 따라 링크 정보에 포함된 앱 기능 또는 앱으로 연결되는 것을 설명하기 위한 도면이다. 전자 기기(110)는 대화방(600)의 메시지로 제공된 링크 정보(910)가 기 설정된 시간 이상 선택됨에 따라 복수 개의 화면으로 분할할 수 있다. 전자 기기(110)는 분할된 복수 개의 화면 중 어느 하나의 화면에 대화방(600), 복수 개의 화면 중 다른 하나의 화면에 링크 정보에 포함된 앱 또는 앱의 기능이 실행된 화면을 표시할 수 있다. 예를 들면, 전자 기기(110)는 전자 기기의 화면의 상단에 대화방(600) 및 하단에 링크 실행 화면(920)을 표시할 수 있다. 또는, 전자 기기(110)는 대화방(600)의 메시지로 제공된 링크 정보(910)에 대한 앱 또는 앱의 기능이 실행된 화면을 현재 대화방 또는 대화방을 제공하는 인스턴트 메시징 서비스를 제공하는 앱의 화면 위에 별도로 표시할 수 있다.
도 10은 일 실시예에 따른 전자 기기에서 링크 정보에 대한 프리뷰를 실행하는 것을 설명하기 위한 예이다.
전자 기기(110)에서 대화방(600)에 제공된 링크 정보(1010)가 포함된 메시지가 선택됨에 따라 앱 또는 앱의 기능이 연결될 수 있다. 또는, 전자 기기(110)는 대화방(600)의 메시지로 제공된 링크 정보(1010)에 포함된 앱 또는 앱의 기능이 실행되는 프리뷰(1020)를 팝업으로 제공할 수 있다. 이때, 프리뷰란 링크 정보에 포함된 앱 또는 앱의 기능이 실행되는 것을 보여주기 위한 별도의 실행 화면을 의미할 수 있다. 전자 기기(110)는 제공된 팝업을 통하여 앱 또는 앱의 기능에 대한 실행 여부를 수신할 수 있다. 사용자는 프리뷰를 통하여 앱 또는 앱의 기능이 실행되는 것을 미리 확인한 후에, 실제로 앱 또는 앱의 기능을 실행할 것인지 여부를 결정할 수 있다. 예를 들면, 사용자는 전자 기기(110)에서 팝업을 통하여 프리뷰를 확인한 후, 앱 또는 앱의 기능을 실행할 것인지 여부를 선택받기 위하여 제공된 유저 인터페이스를 통하여 실행 여부를 입력할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate 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 (20)

  1. 컴퓨터 시스템에 의해 수행되는 앱 정보 추천 방법에 있어서,
    대화방에서 송수신되는 메시지로부터 대화 내용에 대한 분석을 통하여 획득된 컨텍스트(Context) 정보에 기초하여 앱 실행 내역을 수집하는 단계;
    상기 수집된 앱 실행 내역에 따라 전자 기기에 설치된 앱 정보로부터 연결하고자 하는 앱 기능을 포함하는 앱 정보를 결정하는 단계; 및
    상기 결정된 앱 정보와 관련하여 생성된 링크 정보를 대화방의 메시지로 제공하는 단계
    를 포함하는 앱 정보 추천 방법.
  2. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 대화 내용으로부터 복수 개의 키워드를 포함하는 대화 패턴을 추출하고, 상기 추출된 대화 패턴의 이후에 실행되는 앱 실행 내역을 수집하는 단계
    를 포함하는 앱 정보 추천 방법.
  3. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 대화 내용에 대한 분석을 수행하기 위한 학습 모델을 구성하고, 상기 구성된 학습 모델을 이용하여 상기 대화 내용을 학습시킴에 따라 획득된 컨텍스트 정보에 기초하여 실행되는 앱 실행 내역을 수집하는 단계
    를 포함하는 앱 정보 추천 방법.
  4. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 대화 내용에 대한 자연어 처리를 수행함에 따라 추출된 키워드를 이용하여 송수신되는 메시지를 요약하여 상기 대화 내용을 분석을 수행하는 단계
    를 포함하는 앱 정보 추천 방법.
  5. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 대화 내용에 기초하여 생성된 사용자의 사전을 이용하여 상기 대화 내용을 분석하는 단계
    를 포함하는 앱 정보 추천 방법.
  6. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 대화방 내의 기능 및 상기 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱에서 제공되는 다른 기능이 실행된 앱 실행 내역을 수집하는 단계
    를 포함하는 앱 정보 추천 방법.
  7. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 전자 기기의 운영체제를 통하여 제공되는 앱 실행 내역을 참조하여 앱의 특정 기능에 접근한 앱 딥 링크(App deep link) 기록을 수집하는 단계
    를 포함하는 앱 정보 추천 방법.
  8. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 전자 기기에 설치된 앱의 카테고리 정보 및 설명 정보에 기초하여 앱 정보를 수집하는 단계
    를 포함하는 앱 정보 추천 방법.
  9. 제1항에 있어서,
    상기 앱 실행 내역을 수집하는 단계는,
    상기 컨텍스트 분석을 제외하기 위한 금칙어 리스트를 제공하고, 상기 제공된 금칙어 리스트로부터 선택된 금칙어가 포함된 대화 내용에 대한 컨텍스트 분석을 제외하는 단계
    를 포함하는 앱 정보 추천 방법.
  10. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 전자 기기에 설치된 앱 정보로부터 상기 수집된 앱 실행 내역과 유사한 또는 동일한 카테고리의 앱 기능을 포함하는 앱 정보를 탐색하는 단계
    를 포함하는 앱 정보 추천 방법.
  11. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 앱 또는 상기 앱의 기능을 결정하기 위한 옵션 정보를 설정하고, 상기 설정된 옵션 정보에 기초하여 연결하고자 하는 앱 또는 앱의 기능을 포함하는 앱 정보를 선별하는 단계
    를 포함하는 앱 정보 추천 방법.
  12. 제1항에 있어서,
    상기 제공하는 단계는,
    상기 결정된 앱 기능을 포함하는 앱 정보가 연결될 가능성이 기 설정된 기준 이상일 경우, 상기 결정된 앱 정보와 관련하여 링크 정보를 생성하고, 상기 생성된 링크 정보를 대화방의 메시지로 제공하는 단계
    를 포함하는 앱 정보 추천 방법.
  13. 제1항에 있어서,
    상기 제공하는 단계는,
    상기 대화방의 메시지로 제공된 링크 정보가 선택됨에 따라 상기 링크 정보에 포함된 앱 또는 앱의 기능으로 연결시키는 단계
    를 포함하는 앱 정보 추천 방법.
  14. 제13항에 있어서,
    상기 제공하는 단계는,
    상기 대화방 내에서 제공되는 다른 기능으로 전환하는 단계
    를 포함하는 앱 정보 추천 방법.
  15. 제13항에 있어서,
    상기 제공하는 단계는,
    상기 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱의 다른 기능으로 전환하는 단계
    를 포함하는 앱 정보 추천 방법.
  16. 제13항에 있어서,
    상기 제공하는 단계는,
    상기 대화방을 생성하는 인스턴트 메시징 서비스를 제공하는 앱 이외의 전자 기기에 설치된 다른 앱으로 전환하는 단계
    를 포함하는 앱 정보 추천 방법.
  17. 제13항에 있어서,
    상기 제공하는 단계는,
    상기 대화방의 메시지로 제공된 링크 정보에 포함된 앱 또는 앱의 기능이 실행되는 프리뷰를 팝업으로 제공하고, 상기 제공된 팝업을 통하여 상기 앱 또는 앱의 기능에 대한 실행 여부를 수신하는 단계
    를 포함하는 앱 정보 추천 방법.
  18. 제1항에 있어서,
    상기 제공하는 단계는,
    상기 대화방의 메시지로 제공된 링크 정보가 기 설정된 시간 이상 선택됨에 따라 복수 개의 화면으로 분할하고, 상기 분할된 복수 개의 화면 중 어느 하나의 화면에 대화방, 상기 복수 개의 화면 중 다른 하나의 화면에 상기 링크 정보에 포함된 앱 또는 앱의 기능이 실행된 화면을 표시하는 단계
    를 포함하는 앱 정보 추천 방법.
  19. 제1항 내지 제18항 중 어느 한 항의 앱 정보 추천 방법을 상기 컴퓨터 시스템에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  20. 앱 정보를 추천하는 컴퓨터 시스템에 있어서,
    대화방에서 송수신되는 메시지로부터 대화 내용에 대한 분석을 통하여 획득된 컨텍스트(Context) 정보에 기초하여 앱 실행 내역을 수집하는 실행 내역 수집부;
    상기 수집된 앱 실행 내역에 따라 전자 기기에 설치된 앱 정보로부터 연결하고자 하는 앱 기능을 포함하는 앱 정보를 결정하는 앱 정보 결정부; 및
    상기 결정된 앱 정보와 관련하여 생성된 링크 정보를 대화방의 메시지로 제공하는 링크 제공부
    를 포함하는 컴퓨터 시스템.
KR1020190138516A 2019-11-01 2019-11-01 앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치 KR20210052912A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190138516A KR20210052912A (ko) 2019-11-01 2019-11-01 앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치
JP2020180498A JP2021072120A (ja) 2019-11-01 2020-10-28 アプリ使用パターンと会話分析に基づいてアプリ機能のショートカットを推薦する方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190138516A KR20210052912A (ko) 2019-11-01 2019-11-01 앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210052912A true KR20210052912A (ko) 2021-05-11

Family

ID=75713329

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190138516A KR20210052912A (ko) 2019-11-01 2019-11-01 앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치

Country Status (2)

Country Link
JP (1) JP2021072120A (ko)
KR (1) KR20210052912A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085723A1 (ko) * 2021-11-12 2023-05-19 삼성전자(주) 전자장치 및 그 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085723A1 (ko) * 2021-11-12 2023-05-19 삼성전자(주) 전자장치 및 그 제어방법

Also Published As

Publication number Publication date
JP2021072120A (ja) 2021-05-06

Similar Documents

Publication Publication Date Title
US11803564B2 (en) Method and system for keyword search using messaging service
KR102243536B1 (ko) 어플리케이션의 내용 분석을 통해 사용자 접근을 제어하는 방법 및 시스템
KR101882293B1 (ko) 문자 입력 및 컨텐츠 추천을 위한 통합 키보드
JP7016205B2 (ja) メッセージ基盤の通知を提供するための方法およびシステム
CN109192212B (zh) 语音控制方法及装置
KR20200014108A (ko) 대화 내용에서 텍스트를 이용하여 비텍스트를 검색하는 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체
KR20180087608A (ko) 검색 서비스를 제공하는 시스템 및 방법
KR20210052912A (ko) 앱 사용 패턴과 대화 분석을 통한 앱 기능 바로가기 추천 방법 및 장치
KR102074764B1 (ko) 모바일 기기의 입력 인터페이스 내에서 맞춤법 검사를 지원하는 방법 및 시스템
US11811709B2 (en) Method and system for recommending content using chatbot
KR102158544B1 (ko) 모바일 기기의 입력 인터페이스 내에서 맞춤법 검사를 지원하는 방법 및 시스템
US20140181672A1 (en) Information processing method and electronic apparatus
KR102280535B1 (ko) 장문 번역 방법 및 시스템
KR20220165993A (ko) 인공지능 캐릭터 생성 방법 및 그 시스템
KR20210000948A (ko) 폰트 스티커를 제공하는 방법, 시스템, 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR20210009301A (ko) 사용 정도에 기초하여 대화방을 처리하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체
KR102084597B1 (ko) 메신저 어플리케이션 실행 장치 및 방법
KR101982771B1 (ko) 문자 입력 및 컨텐츠 추천을 위한 통합 키보드
CN110891120B (zh) 界面内容展示方法、装置及存储介质
JP6340444B2 (ja) クエリ削除インタラクション
KR20240108713A (ko) 일정 정보에 기반하여 메시지 검색 결과를 추천하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20240066808A (ko) 미디어 파일로부터 추출한 텍스트를 이용하여 미디어 메시지를 검색하는 방법 및 시스템
KR20230046030A (ko) 미디어 파일로부터 추출한 키워드를 통한 미디어 메시지 검색 방법 및 시스템
KR20230139493A (ko) 지도 상에 메시지 정보를 표시하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20200096935A (ko) 다중 프로필을 제공하는 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal