KR20180049791A - 복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치 - Google Patents

복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20180049791A
KR20180049791A KR1020170111660A KR20170111660A KR20180049791A KR 20180049791 A KR20180049791 A KR 20180049791A KR 1020170111660 A KR1020170111660 A KR 1020170111660A KR 20170111660 A KR20170111660 A KR 20170111660A KR 20180049791 A KR20180049791 A KR 20180049791A
Authority
KR
South Korea
Prior art keywords
messages
message
filtering
importance
data
Prior art date
Application number
KR1020170111660A
Other languages
English (en)
Other versions
KR102398386B1 (ko
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 US15/798,799 priority Critical patent/US11115359B2/en
Priority to CN201780077980.7A priority patent/CN110169021B/zh
Priority to PCT/KR2017/012282 priority patent/WO2018084581A1/en
Priority to EP17867205.1A priority patent/EP3523932B1/en
Publication of KR20180049791A publication Critical patent/KR20180049791A/ko
Application granted granted Critical
Publication of KR102398386B1 publication Critical patent/KR102398386B1/ko

Links

Images

Classifications

    • 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
    • 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/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • H04L51/12
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/50
    • 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/02User-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
    • H04L51/22
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

복수 개의 메시지들을 필터링하는 전자 장치 및 이의 필터링 방법이 제공된다. 전자 장치는, 복수 개의 메시지들의 적어도 일부를 표시하는 동작, 상기 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신하는 동작, 상기 사용자 입력에 따라, 상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작, 및 상기 획득된 적어도 하나의 메시지를 표시하는 동작을 포함한다.

Description

복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치{METHOD OF FILTERING A PLURALITY OF MESSAGES AND APPARATUS THEREOF}
본 개시는 복수 개의 메시지들을 필터링하여 적어도 하나의 메시지를 화면에 표시하는 방법 및 이를 위한 장치에 관한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
기술의 발전에 따라, 사용자의 편의성 향상을 위한 다양한 어플리케이션들이 등장하고 있다.
특히, 메신저 어플리케이션은 사용자와 제3자 간에 메시지로 실시간 대화를 나누기 위한 기능을 제공할 수 있다. 메신저 어플리케이션에는, 예로, 쳇온, 카카오톡, 라인, 왓츠앱, 토크온 등 제조사 별로 다양한 종류가 존재할 수 있다.
메신저 어플리케이션에는 사용자가 제3자를 구별하여 대화를 수행하기 위한 대화방 기능이 존재할 수 있다.
대화방에는, 사용자가 제3자와 대화한 메시지 이력이 표시될 수 있다. 이 경우, 사용자와 제3자 간의 대화가 증가할수록, 대화방 내에 메시지 이력의 양은 누적되어 증가할 수 있다.
또한, 근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
메시지 어플리케이션 등을 통하여 사용자와 제3자 간에 대화한 메시지 이력이 표시되는 경우, 메시지 이력의 양이 많을수록 사용자는 특정 메시지를 검색하는데 어려움을 느낄 수 있다.
예로, 사용자가 화면을 스크롤하면서 원하는 메시지를 검색하는 경우,  대화 문맥에 중요하지 않은 메시지들인, 예로, "ㅋㅋㅋ" 등과 같은 잡담 메시지까지 화면에 보여짐에 따라, 사용자는 메시지를 검색하는데 어려움을 느낄 수 있다.
이에 따라, 본 개시는 사용자에게 메시지를 필터링하여 제공함으로써 사용자가 원하는 메시지를 신속하게 검색하도록 하는 것에 목적이 있다.
그밖에, 본 개시에서 해결하고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급하지 않은 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야의 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 실시예에 따르면 전자 장치가 복수 개의 메시지들을 필터링하는 방법은, 복수 개의 메시지들의 적어도 일부를 표시하는 동작, 상기 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신하는 동작, 상기 사용자 입력에 따라, 상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작, 및 상기 획득된 적어도 하나의 메시지를 표시하는 동작을 포함한다.
본 개시의 다른 실시예에 따르면, 복수 개의 메시지들을 필터링하는 전자 장치는 복수 개의 메시지들의 적어도 일부를 표시하는 디스플레이부, 상기 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신하는 사용자 입력부, 및 상기 사용자 입력에 따라, 상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하고, 상기 디스플레이부가 상기 획득된 적어도 하나의 메시지를 표시하도록 제어하는 프로세서를 포함한다.
본 개시의 다른 실시예에 따르면, 복수 개의 메시지들을 필터링하는 프로그램이 저장된 컴퓨터로 판독 가능한 비일시적 기록매체는, 복수 개의 메시지들의 적어도 일부를 표시하는 동작, 상기 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신하는 동작, 상기 사용자 입력에 따라, 상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작, 및 상기 획득된 적어도 하나의 메시지를 표시하는 동작을 전자 장치가 수행하도록 하는 프로그램을 저장한다.
본 개시의 일 실시예에 따르면, 사용자의 필터링 요청을 만족하는 적어도 하나의 메시지가 복수 개의 메시지들 각각의 중요도에 기초하여 필터링되어 표시됨에 따라, 사용자는 검색을 원하는 메시지를 신속하게 찾을 수 있다.
또한, 필러링의 수준에 대응하는 복수 개의 메시지들 각각의 중요도에 따라, 복수 개의 메시지들이 선택적으로 필터링되어, 사용자는 메시지를 전체적으로 오버뷰(overview)하거나, 효과적으로 특정 메시지를 검색할 수 있다.
이에 따라, 메시지 어플리케이션을 이용하는 사용성이 향상되어, 전자 장치를 이용하는 사용자의 만족도가 증가할 수 있다.
그 외에 본 발명의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 발명의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다.  예컨대, 본 발명의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
도 1은 본 개시의 일 실시 예에 따른, 메시지를 필터링하는 전자 장치의 사용도를 나타내는 도면이다.
도 2는 본 개시의 일 실시 예에 따른, 전자 장치의 블록도를 간략히 나타내는 도면이다.
도 3은 본 개시의 일 실시 예에 따른, 메시지의 중요도를 결정하는 메시지 분석 엔진의 블록도를 나타내는 도면이다.
도 4a는 메시지 분석 엔진의 전처리부에서 메시지 전처리 과정을 나타내는 도면이다.
도 4b는 메시지 분석 엔진의 스코어 계산부에서 메시지 스코어를 계산하는 과정을 나타내는 도면이다.
도 4c는 메시지 분석 엔진의 중요도 결정부에서 메시지의 중요도를 결정하는 과정을 나타내는 도면이다.
도 5a 내지 도 7은 본 개시의 다른 일 실시 예에 따른, 메시지를 필터링하는 전자 장치의 사용도들이다.
도 8 내지 도 10는, 본 개시의 일 실시예에 따른 전자 장치의 흐름도들이다.
도 11은 본 개시의 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 12 내지 도 15는 본 개시의 다양한 실시예에 따른, 학습 알고리즘을 통해 데이터 분석 모델을 구축하여 데이터를 인식하는 실시예를 설명하기 위한 도면들이다.
도 16은 본 개시의 다양한 실시예에 따른 데이터 분석 모델을 이용하는 전자 장치의 흐름도이다.
도 17 및 도 18은 본 개시의 다양한 실시예에 따른 데이터 분석 모델을 이용하는 네트워크 시스템의 흐름도들이다.
이하, 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
 본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
 본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
 본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
 본 개시의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 개시의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
 본 개시에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 개시의 일 실시 예에 따른, 메시지를 필터링하는 전자 장치의 사용도를 나타내는 도면이다.
도 1의 (a)를 참조하면, 전자 장치(100)는 복수 개의 메시지들의 적어도 일부(103)를 화면에 표시할 수 있다.
이 경우, 복수 개의 메시지들은 대화방에서 사용자 및 제3 자 간에 대화한 메시지들이 될 수 있으며, 이러한 복수 개의 메시지들 전체 또는 일부가 전자 장치(100)의 화면에 표시될 수 있다.
전자 장치(100)는 복수 개의 메시지들을 필터링하기 위한 필터링 UI(101)를 제공할 수 있다.
이 경우, 전자 장치(100)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신할 수 있다. 예로, 전자 장치(100)는 필터링 UI(101)를 선택하는 사용자의 터치 입력을 수신할 수 있다.
사용자의 입력에 따라, 전자 장치(100)는 복수 개의 메시지들을 필터링할 수 있다. 예로, 전자 장치(100)는 기 결정된 필터링 수준에 따라 복수 개의 메시지들을 필터링할 수 있다. 필터링 수준은, 사용자에 의하여 미리 결정될 수도 있으며, 또는, 전자 장치(100)의 제조사 또는 본 개시에 따른 동작을 수행하는 어플리케이션의 제조사 또는 개발자 등에 의하여 미리 결정될 수도 있다.
전자 장치(100)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 사용자의 필터링 요청에 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다. 이를 위하여, 전자 장치(100)는 복수 개의 메시지들 각각을 후술할 메시지 분석 엔진에 적용하여 메시지들 각각의 중요도를 결정할 수 있다. 그리고, 전자 장치(100)는 결정된 복수 개의 메시지들 각각의 중요도에 기초하여 사용자의 필터링 요청에 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하여 복수 개의 메시지들을 필터링할 수 있다.
이 경우, 전자 장치(100)는 복수 개의 메시지들 각각의 메시지 스코어들을 계산할 수 있다. 그리고, 계산된 복수 개의 메시지들 각각의 스코어에 기초하여 복수 개의 메시지들 각각의 중요도를 결정할 수 있다.
다음으로, 도 1의 (b)와 같이, 전자 장치(100)는 필터링된 적어도 하나의 메시지(105)를 화면에 표시할 수 있다.
도 2는 본 개시의 일 실시 예에 따른, 전자 장치(100)의 블록도를 간략히 나타내는 도면이다.
도 2는 본 개시의 다양한 실시예에 따른 전자 장치(100)의 구성을 나타내는 블록도이다. 도 2의 전자 장치(100)는 후술할 도 11의 전자 장치(100)의 전체 또는 일부를 포함할 수 있다. 
도 2를 참조하면, 전자 장치(100)는 프로세서(210), 디스플레이부(220), 사용자 입력부(230) 및 메모리(240)을 포함할 수 있다.  도 2에 도시된 구성들은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
디스플레이부(220)는 시각적 정보가 표시되는 디스플레이 영역을 제공할 수 있다.  디스플레이(220)는 후술할 도 11의 디스플레이부(1130)의 전체 또는 일부를 포함할 수 있으며, 디스플레이(220)의 상세한 예는 도 11의 디스플레이부(1130)에서 설명될 예정으로 중복되는 설명은 생략한다.
사용자 입력부(230)는 전자 장치(100)를 조작하는 사용자 입력을 수신하여, 입력 정보를 프로세서(210)로 전송할 수 있다. 사용자 입력부(230)는 후술할 도 11의 사용자 입력부(1180)의 전체 또는 일부를 포함할 수 있으며, 사용자 입력부(230)의 상세한 예는 도 11의 사용자 입력부(1180)에서 설명될 예정으로 중복되는 설명은 생략한다.
메모리(240)는, 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 메모리(240)는 후술할 도 11의 메모리(1150)의 전체 또는 일부를 포함할 수 있으며, 메모리(240)의 상세한 예는 도 11에서 설명될 예정으로 중복되는 설명은 생략한다.
예로, 메모리(240)는 본 개시의 복수 개의 메시지들 또는 복수 개의 메시지들의 링크 주소들의 적어도 일부를 저장할 수 있다. 또는, 메모리(240)는 본 개시의 복수 개의 메시지들 각각의 중요도를 저장할 수도 있다. 또는, 메모리(240)는 후술할 본 개시의 일반 모델 DB를 저장할 수도 있다.
프로세서(210)는 디스플레이(220), 메모리(240) 및 사용자 입력부(230)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 프로세서(210)는 후술할 도 11의 프로세서(1190)의 전체 또는 일부를 포함할 수 있으며, 프로세서(210)의 상세한 예는 도 11의 프로세서(1190)에서 설명될 예정으로 중복되는 설명은 생략한다.
다양한 실시예에 따르면, 디스플레이부(220)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다. 여기서, 복수 개의 메시지들은 사용자 및 제3 자 간에 대화한 대화방에 포함된 전체 메시지들, 특정 컨텐츠에 관한 전체 댓글들 또는 이메일의 편지함에 저장된 전체 이메일들을 포함할 수 있다. 사용자 입력부(230)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신할 수 있다. 수신된 사용자 입력에 따라, 프로세서(210)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다. 그리고, 프로세서(210)는 획득된 적어도 하나의 메시지가 표시되도록 디스플레이부(220)를 제어할 수 있다.
이 경우, 프로세서(210)는 복수 개의 메시지들 각각의 메시지 스코어를 계산할 수 있다. 메시지 스코어는 복수 개의 메시지들에 포함된 특정 단어의 개수, 복수 개의 메시지들의 개수, 복수 개의 메시지들에 포함된 특정 단어의 타입 별 가중치, 복수 개의 메시지들에 포함된 특정 단어의 출현 빈도 및 복수 개의 메시지들 각각의 제공 시간 중 적어도 하나에 기초하여 계산될 수 있다. 또한, 프로세서(210)는 계산된 복수 개의 메시지들 각각의 스코어에 기초하여 복수 개의 메시지들 각각의 중요도를 결정할 수 있다. 복수 개의 메시지들 각각의 중요도는, 복수 개의 메시지들 각각의 스코어, 스코어의 랭킹, 스코어의 백분위수 또는 랭킹의 백분위수 등에 기초하여 결정될 수 있다.
다양한 실시예에 따르면, 사용자 입력부(230)는 복수의 메시지들의 필터링 수준을 선택하는 사용자 입력을 수신할 수 있다.  이 경우, 프로세서(210)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 선택된 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다. 예로, 프로세서(210)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 선택된 필터링 수준에 대응하는 중요도 이상을 갖는 적어도 하나의 메시지들을 획득할 수 있다.
다양한 실시예에 따르면, 디스플레이부(220)는 필터링 바 및 필터링 바 상에 위치하는 지시자를 표시할 수 있다. 이 경우, 사용자 입력부(230)는 필터링 바 상에 위치하는 지시자의 위치를 이동시키는 사용자 입력을 수신할 수 있다. 수신된 수신된 사용자 입력에 따라, 프로세서(210)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 지시자의 위치에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다.
다양한 실시예에 따르면, 디스플레이부(220)는 복수 개의 필터링 수준에 각각에 대응하는 복수 개의 버튼들을 표시할 수 있다. 이 경우, 사용자 입력부(230)는 복수 개의 버튼들 중 일 버튼을 선택하는 사용자 입력을 수신할 수 있다. 수신된 사용자 입력에 따라, 프로세서(210)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 선택된 일 버튼에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다.
도 3은 본 개시의 일 실시 예에 따른, 메시지의 중요도를 결정하는 메시지 분석 엔진의 블록도를 나타내는 도면이다.
도 3의 메시지 분석 엔진(300)은 자연어 처리(natural language processing, NLP) 모듈 또는 자연어 처리 엔진이라고 칭할 수도 있다.
메시지 분석 엔진(300)은 본 개시의 전자 장치, 또는 본 개시의 전자 장치(100)와 유선 또는 무선 네트워크 망을 통하여 연결된 외부 장치에 포함될 수 있다. 이 경우, 외부 장치는, 전술한 전자 장치의 종류들 중 하나가 될 수 있으며, 일반적으로는 서버가 될 수 있다. 이 경우, 외부 장치는 복수 개의 서버들로 구성된 클라우드가 될 수도 있다.
또한, 메시지 분석 엔진(300)은 소프트웨어 모듈로 구현되거나 하드웨어 칩 형태로 제작되어 전자 장치 또는 서버에 탑재될 수도 있다. 또한, 메시지 분석 엔진(300)은 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 전자 장치에 탑재될 수도 있다.
메시지 분석 엔진(300)이 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 비일시적 판독 가능 기록 매체의 상세한 예들은 후술될 예정으로 자세한 설명은 생략한다.
메시지 분석 엔진(300)은, 복수 개의 메시지(301)들을 입력 받아서, 복수 개의 메시지들 각각의 메시지 중요도(302)를 출력할 수 있다.
메시지 분석 엔진(300)은, 전처리부(310), 스코어 계산부(320), 중요도 결정부(330)를 포함할 수 있다. 본 개시에서는 설명의 편의를 위하여, 기능 또는 목적에 따라 전술한 바와 같이, 메시지 분석 엔진(300)을 복수 개의 ~부 또는 ~모듈로 구분하였으나, 상기 복수 개의 ~부 또는 ~모듈이 합쳐져서, 하나 또는 두 개의 ~부로 구현되거나, 또는 더 많은 개수의 복수 개의 ~부로 구분되어 구현될 수 있음은 물론이다.
전처리부(310)는 수신된 복수 개의 메시지들에 대한 전처리를 수행할 수 있다.
전처리부(310)는 형태소 분석부(311), 엔티티 추출부(312), 문장 부호 제거부(313), 유사어 추출부(314) 및 템플릿 매칭부(315)를 포함할 수 있다.
형태소 분석부(311)는 메시지 내에 포함된 형태소(morpheme)들을 결정하고, 결정된 형태소들의 문장 성분을 결정할 수 있다.
예를 들어, 형태소 분석부(311)은 "회의 빨리 들어오세요"라는 메시지에 포함된 형태소로써, "회의", "빨리", "들어오-", "세요"를 결정할 수 있다. 또한, 형태소 분석부(311)는 결정된 형태소의 문장 성분으로써 "회의", "얼른"을 부사어, "들어오-"를 서술어, "세요"를 존칭을 나타내는 존칭어로써 결정할 수 있다.
또한, 형태소 분석부(311)은 결정된 문장 성분에 기초하여, 수신된 메시지의 발신 의도 및 존칭 여부를 결정할 수 있다. 예를 들어, 형태소 분석부(311)는 "회의 빨리 들어오세요"라는 메시지에 포함된 동사를 "들어오다"로 결정하고, 수신된 메시지의 발신 의도를 들어올 것을 명령하는 의도로써 결정하고, 수신된 메시지가 존칭으로 표현된 메시지임을 결정할 수 있다.
엔티티 추출부(312)는 메시지 내에 포함된 개체명(named entity) 타입의 단어를 추출할 수 있다. 개체명이란 문서에서 나타나는 고유한 의미를 가지는 명사 또는 숫자를 의미할 수 있다. 개체명은 크게 인명, 지명, 기관명과 같은 이름 표현, 날짜나 시간과 같은 시간 표현, 금액이나 퍼센트와 같은 수치 표현 등으로 구분될 수 있다. 엔티티 추출부(312)는 메시지에 포함된 개체명을 인식하고, 인식된 개체명의 종류를 결정할 수 있다. 예를 들어, "길동씨, 이따가 A 식당에서 저녁 식사 할까요"라는 메시지가 수신된 경우, 엔티티 추출부(312)는 "길동", "A 식당"를 개체명 타입의 단어로서 추출할 수 있다.
문장 부호 제거부(313)는 메시지 내에 포함된 공백 또는 문장 부호를 제거할 수 있다. 문장 부호는, 예로, 물음표, 마침표, 느낌표, 줄임표 등의 종결 부호 또는 따옴표 등의 인용 부호 등을 포함할 수 있다.
다양한 실시예에 따르면, 문자 부호 제거부(313)의 기능은 생략될 수 있다. 또는, 문장 부호의 일부가 정보로서 사용될 수 있는 경우, 문장 부호 제거부(313)는 일 종류의 문장 부호는 남겨 놓고 다른 일 종류의 문장 부호만 제거할 수 있다. 예로, 문장 부호 제거부(313)는 물음표 또는 느낌표와 같이 문장의 성격을 나타내는 정보로서 사용될 수 있는 문장 부호는 유지하고, 문장의 성격과 관련성이 낮은 마침표, 쉼표 등의 문장 부호는 제거할 수 있다.
유사어 추출부(314)는 메시지 내에 포함된 단어의 유사 단어를 추출할 수 있다. 유사어 추출부(314)는 유사 단어를 일반 모델 DB(general model database)(340)로부터 추출할 수 있다. 일반 모델 DB(340)는 단어 사전 DB가 될 수 있으며, 전자 장치(100) 및 외부 서버(예로, 워드넷(wordnet) 서버 등) 중 적어도 하나에 마련될 수 있다. 이 경우, 유사 단어는 메시지 내에 포함된 단어와 관련된 유사 단어들 중에서 사용 빈도가 가장 많은 단어가 선정될 수 있다. 또는, 유사 단어는 유사도 기반으로 선정될 수 있다. 예로, 메시지 내에 포함된 단어와 유사도가 가장 높은 단어가 유사 단어로서 선정될 수 있다.
템플릿 매칭부(315)는 메시지 내에 포함된 단어들 중 기 마련된 템플릿에 매칭되는 형식을 가진 단어들을 추출할 수 있다.
예로, 템플릿 매칭부(315)는 전화번호에 대한 템플릿으로서 "000-000-0000"에 매칭되는 형식을 가진 단어를 전화번호 타입의 단어로서 추출할 수 있다. 또는, 템플릿 매칭부(315)는 "000-000000-000"에 매칭되는 형식을 가진 단어를 계좌번호 타입의 단어로서 추출할 수도 있다. 타입 별 템플릿들은 일반 모델 DB(340)에 저장될 수 있으며, 템플릿 매칭부(315)는 일반 모델 DB(340)에 저장된 템플릿들을 이용하여 매시지 내에 포함된 단어들을 추출할 수 있다.
도 4a는, 메시지 분석 엔진(300)의 전처리부(310)의 메시지 전처리 과정을 나타내는 도면이다.
도 4a에서, 데이터셋(dataset)(411)은 복수 개의 메시지들을 포함할 수 있다.  복수 개의 메시지들은 대화방에서 사용자 및 제3 자 간에 대화한 메시지들일 수 있다. 데이터셋(411)은, 사용자 및 제3 자 간에 대화한 시간 순서에 따른 메시지 #1 내지 메시지 #11의 메시지들을 포함할 수 있다.
도 4에서, 전처리부(310)는 데이터(411)을 입력 받고, 입력 받은 데이터셋을 처리하여 복수 개의 단어들(413)을 추출할 수 있다.
이 경우, 전처리부(310)는 복수 개의 메시지들 각각에서 중요하지 않은 형태소들은 제외할 수 있다. 중요하지 않은 형태소들은 예로, 의존 형태소 또는 형식 형태소들이 될 수 있으며, 단어의 뜻을 보조하는 접사, 단어의 자격을 부여하는 조사, 시제를 나타내거나 품사의 성격을 바꾸는 어미 등을 포함할 수 있다.
또한, 전처리부(310)는 복수 개의 메시지들에서 템플릿에 매칭되는 형식을 가진 단어를 추출할 수 있다. 예로, 전처리부(310)는 계좌번호 템플릿을 이용하여 계좌번호 템플릿에 매칭되는 형식을 가진 단어(413a)를 추출할 수 있다.
메시지 분석 엔진(300)의 스코어 계산부(320)는 전처리가 수행된 메시지들 각각의 스코어를 계산할 수 있다.
도 4b는, 메시지 분석 엔진(300)의 스코어 계산부(320)에서 메시지 스코어를 계산하는 과정을 나타내는 도면이다.
도 4b에서, <수학식 1>(421)은 복수 개의 메시지들 중 j번째인 j 메시지의 스코어를 계산하는 식인 Score(sj)을 나타낸다. 여기서 복수 개의 메시지들은, 예로, 하나의 대화방에 포함된 메시지들 전체가 될 수 있다.
<수학식 1>(421)에서, |sj|는 j 메시지에 포함된 단어들의 개수를 나타낸다. 이 경우, 단어는 전처리부(310)에서 전처리 수행 결과로서 도출된 단어들일 수 있다.
Count(wi,sj)는 j 메시지에 포함된 wi 단어의 출현 빈도를 나타낼 수 있다.
|W|는 복수 개의 메시지들에 포함된 모든 단어들의 개수를 나타낼 수 있다.
|S|는 복수 개의 메시지들의 개수를 나타낼 수 있다.
DF(wi)는 복수 개의 메시지들 중에서 wi 단어의 출현 빈도를 나타낼 수 있다.  즉, DF(wi)는 복수 개의 메시지들 중에서 wi 단어가 포함된 메시지들의 개수를 나타낼 수 있다. 이 경우, DF(wi)는 wi 단어의 출현 빈도의 통계값을 이용할 수도 있다. 출현 빈도의 통계값은 일반 모델 DB(340)에 저장되어 스코어 계산부(320)에 의하여 획득될 수도 있다.
Type(wi)은 wi 단어의 타입을 나타낼 수 있다.
type_coeff(type(wi))은 wi 단어의 타입 별 가중치를 나타낼 수 있다.
이 경우, 단어의 타입 및 타입 별 가중치는 도 4b의 표 423과 같이, 매칭 테이블을 이용할 수도 있다.
표 423의 메칭 테이블에서 단어의 타입은 메시지 분석 엔진(300)의 전처리부(310)에서 결정될 수 있다. 또는, 일반 모델 DB(340)에 각각의 단어 별 타입이 저장되어, 스코어 계산부(320)가 일반 모델 DB(340)를 이용하여 단어 별 타입을 결정할 수도 있다.
표 423의 매칭 테이블에서, 단어의 타입은, 예로, 고유 명사인 NP(noun proper), 고유 명사의 서브셋으로서 개체명인 NE(named entity), 전화 번호인 NUM_PHONE, 계좌 번호인 NUM_ACCOUNT, 날짜인 DATATIME, 기타 미리 정의된 타입인 PREDEFINED #1, PREDEFINED #2를 포함할 수 있으며, 각각의 단어의 타입 별로 가중치가 매칭된 상태일 수 있다. 이 경우, 단어의 타입 별로 가중치가 매칭된 매칭 테이블은 일반 모델 DB(340)에 저장되어 필요 시 호출될 수 있다.
일 실시예로, 단어의 타입은 복수 개의 단어들을 대상으로 클러스터링한 결과가 될 수도 있다. 예로, 복수 개의 메시지들에 "입금", "계좌", "출금"이란 단어들이 존재하는 경우, 각각의 단어들은 은행과 관련된 하나의 단어의 타입으로 정의되어 동일한 가중치가 적용될 수 있다.
또한, 단어의 타입은 유의어 및 단어의 클래스(class)를 고려하여 결정될 수도 있다. 예로, "책방", "서점", "서림", "책사" 등은 유의어로서 하나의 단어의 타입에 대응하는 그룹으로 묶어서 동일한 가중치가 적용될 수 있다. 또는, " 토끼", "사슴", "코끼리", "하마" 등의 초식 동물의 서브 클래스로서 초식 동물과 관련된 단어의 타입에 대응하는 그룹으로 묶어서 동일한 가중치가 적용될 수 있다.
이 경우, 복수 개의 단어들을 그룹핑하는 기준은 일반 모델 DB(340)에 저장된 유의어 사전 또는 단어의 클래스 사전 등을 이용하여 결정될 수도 있다. 또한, 복수 개의 단어들을 그룹핑하는 기준은, 본 개시에 따라 누적된 메시지 처리 이력에 기초하여 결정될 수도 있고, 이미 학습된 제3 자의 메시지 처리 이력을 기초하여 결정될 수도 있다.
또한, 단어 별 단어의 타입은 사용자의 설정 또는 메시지 분석 엔진(300)의 제조사 또는 관리자에 의하여 임의로 결정될 수도 있다. 이 경우, 서로 공통점이 낮은 단어들끼리 임의로 그룹핑되어 하나의 단어의 타입으로 정의될 수도 있다.
다시, <수학식 1>(421)에서, 박스(421a)에 따른 계산을 통하여 메시지 내에 포함된 단어 별 스코어가 계산될 수 있다. 다음으로, 시그마 식(∑)을 통하여 메시지 내에 포함된 단어들의 스코어가 모두 합산되고, 합산 결과에 1/|sj| 식을 곱한 결과로서 메시지에 포함된 단어 별 스코어 평균이 도출될 수 있다. 이는, j 메시지의 스코어가 될 수 있다.
환언하면, j 메시지의 스코어는 복수 개의 메시지들에 포함된 특정 단어(wi 단어)의 개수, 복수 개의 메시지들의 개수, 복수 개의 메시지들에 포함된 특정 단어(wi 단어)의 타입 별 가중치, 복수 개의 메시지들에 포함된 특정 단어(wi 단어)의 출현 빈도 중 적어도 하나에 기초하여 계산될 수 있다.
한편, 메시지 스코어의 계산 방법은 전술한 수학식으로 한정되지 않고, 다양한 방법들에 기초하여 계산될 수도 있다. 예로, 여러 개의 문장들이 존재하는 경우, 문장들의 순위를 계산하는 알고리즘이 이용될 수 있다. 일 예로, TextRank 알고리즘을 통하여 이용하여 복수 개의 메시지들 각각의 순위가 계산될 수도 있으며, 기계 학습(machine learning) 알고리즘을 통하여 복수 개의 메시지들 각각의 점수가 출력될 수도 있다.
구체적인 예로서, 복수 개의 메시지들의 전처리 결과로서 도출된 단어 및 단어 별 출현 빈도는 아래의 DF(document frequency)와 같다고 가정할 수 있다.
DF(document frequency) = {안녕(3회), 하다(3회), 이번(1회), 금요일(1회), 모임(1회), 오다(1회), 가다(3회), 나(1회), 못(1회), 재미(1회), 계좌(2회), 번호 (2회), 보내다(2회), 입금(1회), {계좌번호}(1회)}
이 경우, 단어 별 출현 빈도는 복수 개의 메시지들을 대상으로 한 단어 별 출현 빈도뿐만 아니라, 사용자가 기존에 다른 제3 자와 대화한 이력들 또는 사용자와 무관한 제3 자들 간의 대화한 이력을 기초로 미리 생성되어 있던 단어 별 출현 빈도를 이용할 수도 있다. 이 경우, 미리 생성된 단어 별 출현 빈도는 일반 모델 DB(340)에 기 저장될 수 있다.
다음으로, 단어의 타입에 따라 단어 별 가중치가 결정될 수 있다.
예로, 표 423의 매칭 테이블에 기초하여, 아래의 표 1과 같이 복수 개의 메시지들 중 일부의 단어의 타입 및 단어의 타입에 따른 가중치가 결정될 수 있다.
단어 단어 타입 가중치
금요일 DATETIME 2.0
{계좌번호} NUM_ACCONT 3.5
계좌,입금,모임 PREDEFINED 3.0
안녕,하다 PREDEFINED 0.5
구체적인 예에서, 복수 개의 메시지들 개수는 10개이고, 복수 개의 메시지들에 포함된 모든 단어들의 개수는 25개로 가정하면, |S| 값은 10 이고, |W| 값은 25개가 될 수 있다.
메시지 분석 엔진(300)은 전술한 값들을 도 4b의 <수학식 1>(421)에 대입하여 메시지 별 스코어를 결정할 수 있다.
예로, 복수 개의 메시지들 중 첫 번째 메시지에 포함된 단어가 {안녕} 인 경우, <수학식 1>(421)에 대입한 메시지 별 스코어인 Score(S1) 값은 1 x (1/log(25) x log(10/3) x 0.5) = 0.187 이 될 수 있다.
또한, 복수 개의 메시지들 중 네 번째 메시지에 포함된 단어들이 {이번, 금요일, 모임, 하다, 오다}인 경우, <수학식 1>(421)에 대입한 메시지 별 스코어인 Score(S4) 값은 (1/5) x ((1/log(25) x log(10/1) x 1.0) + (1/log(25) x log(10/1) x 2.0) + (1/log(25) x log(10/1) x 3.0) + (2/log(25) x log(10/1) x 0.5) + (1/log(25) x log(10/1) x 1.0)) = 1.145이 될 수 있다.
또한, 복수 개의 메시지들 중 아홉 번째 메시지에 포함된 단어들이 {계좌, 번호, {계좌번호}}인 경우, <수학식 1>(421)에 대입한 메시지 별 스코어인 Score(S9) 값은 (1/3) x ((1/log(25) x log(10/2) x 3.0) + (1/log(25) x log(10/2) x 3.0) + (1/log(25) x log(10/1) x 3.5)) = 1.835가 될 수 있다.
한편, 스코어 계산부(320)는 메시지가 생성된 시간에 따른 메시지의 중요도 감쇠(decay)를 반영하여 메시지 별 스코어를 계산할 수도 있다. 즉, 스코어 계산부(320)는 메시지 생성 시간이 오래될 수록 메시지의 중요도가 감소된다고 판단하여, 오래된 메시지의 스코어 값은 낮게 계산되도록 시간 인자를 반영할 수 있다.
예로, 도 4b의 <수학식 1>(421)의 점선의 박스(421a)는 시간 인자를 반영한 도 4b의 <수학식 2>(425)로 대처될 수 있다.
<수학식 2>(425)는 시간 인자를 반영한 메시지 내에 포함된 단어 별 스코어인 Score(wi,sj,t)를 나타낸다.
<수학식 2>(425)에서 Score(wi,sj)는 메시지 내에 포함된 단어 별 스코어로서 <수학식 1>(421)의 박스(421a)의 계산 결과에 대응될 수 있다.
t0는 복수 개의 메시지들을 포함하는 대화방의 개설 시간 또는 복수 개의 메시지들 중 최초 입력된 메시지의 입력 시간을 나타낸다.
tnow는 단어가 포함된 메시지의 제공 시간을 나타낸다. 여기서, 메시지의 제공 시간이란, 메시지가 사용자로부터 입력된 시간, 메시지가 제3자로부터 전송된 시간 또는 제공된 메시지가 처리되어 화면에 표시된 시간 등을 의미하며, 메시지의 처리 과정에 따라 수초 내의 오차의 범위를 포함한다.
sqrt는 제곱근을 구하는 수식으로서, 완만한 시간 인자를 Score(wi,sj) 식에 반영하기 위하여 적용될 수 있다.
도 4c는, 메시지 분석 엔진(300)의 중요도 결정부(330)에서 메시지의 중요도를 결정하는 과정을 나타내는 도면이다.
중요도 결정부(330)는 스코어 계산부(320)에서 계산된 메시지 별 스코어를 이용하여 메시지의 중요도를 결정할 수 있다.
중요도 결정부(330)는 메시지 별 스코어에 기초하여, 메시지의 중요도를 랭킹(ranking) 또는 백분위수(percentile)로서 나타낼 수 있다.
예로, 도 4c의 431에서, 복수 개의 메시지들(431a)은 메시지 #1 내지 메시지 #10을 포함할 수 있다.
이 경우, 스코어 계산부(320)를 통하여 복수 개의 메시지들(431a) 각각의 중요도(431b)가 계산된 상태일 수 있다.
중요도 결정부(330)는 스코어 계산부(320)를 통하여 계산된 복수 개의 메시지들(431a) 각각의 스코어(431b)에 기초하여 복수 개의 메시지들(431a) 각각의 랭킹(431c)을 결정할 수 있다. 이 경우, 스코어가 높은 메시지일수록 중요도가 높아서 상위 랭킹에 할당될 수 있다.
또한, 중요도 결정부(330)는 계산된 스코어 또는 결정된 랭킹(431c)에 기초하여 복수 개의 메시지들 각각의 백분위수(431d)를 결정할 수 있다.
백분위수는, 복수 개의 메시지들 중 특정 메시지가 몇 퍼센트에 해당하지를 나타내는 계산 방법일 수 있다.
예로, 특정 메시지(예로, 메시지 #7)(431a-1)의 백분위수가 60%인 경우, 특정 메시지(431a-1)보다 낮은 중요도를 갖는 메시지들은 복수 개의 전체 메시지들(431a) 중 60%를 차지한다는 것을 의미할 수 있다. 또는, 특정 메시지(431a-1)보다 높은 중요도를 갖는 메시지들은 복수 개의 전체 메시지들(431a) 중 40%를 차지한다는 것을 의미할 수 있다.
다양한 실시예에 따르면, 메시지 분석 엔진(300)은 기 구축된 데이터 분석 모델을 이용할 수 있다. 이때, 기 구축된 데이터 분석 모델은 학습 알고리즘을 이용하여 생성될 수 있다. 이 경우, 데이터 분석 모델은 예로 신경망(Neural Network)을 기반으로 하는 모델)일 수 있다. 예컨대, Linear Regression, Logistic Regression, DNN(Deep Neural Network), CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 사용될 수 있으며, 전술한 예에 특별히 한정되지는 않는다.
이 경우, 데이터 분석 모델의 입력 값으로는, 복수 개의 메시지들 자체, 또는 도 3의 전처리부(310)를 통하여 수행된 복수 개의 메시지들의 전처리 결과, 또는 도 3의 스코어 계산부(320)를 통하여 수행된 복수 개의 메시지들의 스코어들 등이 될 수 있다. 또한, 데이터 분석 모델의 출력 값으로는, 필터링 결과인 복수 개의 메시지들 각각의 중요도 등이 될 수 있다.
데이터 분석 모델을 이용하여 메시지의 중요도를 분석하는 실시예에 대해서는 추후에 도 12 내지 도 15를 참조하여 상세히 설명하기로 한다.
도 5a 및 도 5b는 본 개시의 다른 일 실시 예에 따른, 메시지를 필터링하는 전자 장치(100)의 사용도를 나타내는 도면이다.
도 5a의 (a)를 참조하면, 디스플레이부(220)는 사용자가 대화방에서 제3 자 간에 대화한 복수 개의 메시지들의 적어도 일부(503)를 화면에 표시할 수 있다.
이 경우, 사용자 입력부(230)는 복수 개의 메시지들을 필터링하기 위한 필터링 UI(501)를 선택하는 사용자 입력을 수신할 수 있다.
사용자 입력에 따라, 도 5a의 (b)와 같이, 디스플레이부(220)는 필터링 바(501a) 및 필터링 바(501a) 상에 위치하는 지시자(501b)를 표시할 수 있다.
이 경우, 필터링 바(501a) 상에 지시자(501b)의 위치는 복수 개의 필터링 수준(filtering level) 중 일 수준에 대응할 수 있다. 예로, 복수 개의 필터링 수준은 도 3의 중요도 결정부(330)에서 결정된 백분위수에 대응될 수 있으며, 필터링 바(501a) 상의 지시자(501b)의 위치에 대응되는 일 수준은 백분위수의 일 값에 대응될 수 있다.
구체적으로, 도 5a의 (b)와 같이, 필터링 바(501a) 상에 지시자(501b)가 필터링 바(501a)의 가장 아래에 위치하는 경우, 지시자(501b)의 위치에 대응하는 필터링 수준은 0 수준이 될 수 있다.
0 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지는, 0 수준에 대응하는 중요도로서 백분위수의 일 값인 0% 이상의 중요도를 갖는 메시지들이 될 수 있다. 이 경우, 백분위수 0% 이상의 중요도를 갖는 메시지들은 복수 개의 메시지들 전체가 될 수 있다.
프로세서(210)는 0 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지(505)가 화면에 표시되도록 디스플레이부(220)를 제어할 수 있다.
한편, 복수 개의 메시지들이 화면 안에 모두 표시될 수 없는 경우, 디스플레이부(220)는 복수 개의 메시지들의 일부만 화면에 표시하고, 복수 개의 메시지들 중 화면에 표시되지 않은 다른 메시지들을 사용자의 입력(예로, 터치 드래그 제스처 등)에 따라 화면에 연속하여 표시할 수 있다.
다양한 실시예로, 사용자 입력부(230)는 필터링 바(501a) 상에 위치하는 지시자(501b)의 위치를 다른 위치로 이동시키는 사용자 입력을 수신할 수 있다.
이에 따라, 도 5b의 (c)와 같이, 필터링 바(501a) 상에 지시자(501b)가 위로 이동될 수 있다. 이동된 지시자(501b)의 위치에 대응하는 필터링 수준은 70 수준이 될 수 있다.
70 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지는, 70 수준에 대응하는 중요도로서 백분위수의 일 값인 70% 이상의 중요도를 갖는 메시지들이 될 수 있다. 예로, 도 4c의 메시지들을 대상으로 한다면, 70% 이상의 중요도를 갖는 메시지들은 메시지 #9, 메시지 #4, 메시지 #8이 될 수 있다.
프로세서(210)는 70 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지(507)를 획득하고, 획득된 적어도 하나의 메시지(507)가 화면에 표시되도록 디스플레이부(220)를 제어할 수 있다.
또 다른 예로, 사용자 입력부(230)는 필터링 바(501a) 상에 위치하는 지시자(501b)의 위치를 또 다른 위치로 이동시키는 사용자 입력을 수신할 수 있다.
이에 따라, 도 5b의 (d)와 같이, 사용자의 입력에 따라 필터링 바(501a) 상에 지시자(501b)가 더 위로 이동될 수 있다. 이 경우, 이동된 지시자(501b)의 위치에 대응하는 필터링 수준은 90 수준이 될 수 있다.
90 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지는, 90 수준에 대응하는 중요도로서 백분위수의 일 값인 90% 이상의 중요도를 갖는 메시지들이 될 수 있다. 예로, 도 4c의 메시지들을 대상으로 한다면, 90% 이상의 중요도를 갖는 메시지들은 메시지 #9가 될 수 있다.
 프로세서(220)는 90 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지(509)를 획득하고, 획득된 적어도 하나의 메시지(509)가 화면에 표시되도록 디스플레이부(220)를 제어할 수 있다.
도 6은, 본 개시의 다른 일 실시 예에 따른, 메시지를 필터링하는 전자 장치(100)의 사용도를 나타내는 도면이다.
도 6의 (a)를 참조하면, 디스플레이부(220)는 SNS(social network service) 서비스에서 제공하는 컨텐츠(603)에 대한 복수 개의 댓글들의 적어도 일부(605)를 화면에 표시할 수 있다. 이 경우, 컨텐츠는 예로, 이미지, 동영상, 텍스트 또는 오디오 등이 될 수 있으며, 전술한 예에 제한되지 않는다. 또한, 댓글은 본 개시의 메시지에 대응될 수 있다. 또한, 컨텐츠(603)에 대한 복수 개의 댓글들 전체는 본 개시의 복수 개의 메시지들이 될 수 있다.
이 경우, 사용자 입력부(230)는 복수 개의 댓글들을 필터링하기 위한 필터링 UI(601)를 선택하는 사용자 입력을 수신할 수 있다.
사용자 입력에 따라, 도 6의 (b)와 같이, 디스플레이부(220)는 복수 개의 필터링 버튼(예로, 별 모양 또는 원 모양 등의 체크 버튼 등)들(601a)을 제공할 수 있다. 이 경우, 복수 개의 필터링 버튼들(601a)은 각각 미리 설정된 복수 개의 필터링 수준들에 대응할 수 있다.
이 경우, 사용자 입력부(230)는 복수 개의 필터링 버튼들(601a) 중 일 필터링 버튼(601a-1)을 선택하는 사용자 입력을 수신할 수 있다.
사용자 입력에 따라, 프로세서(210)는 일 필터링 버튼에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 댓글(607)을 획득하고, 획득된 적어도 하나의 댓글(607)이 화면에 표시되도록 디스플레이부(220)를 제어할 수 있다.
예로, 복수 개의 필터링 버튼들(601a) 전체가 비활성화된 경우 필터링 수준에 대응하는 댓글들이 백분위수가 0% 이상의 중요도를 갖는 댓글들이고, 복수 개의 필터링 버튼들(601a) 전체가 활성화된 경우 필터링 수준에 대응하는 댓글들은 백분위 수가 90% 이상의 중요도를 갖는 댓글들일 수 있다. 이 경우, 선택된 일 필터링 버튼(601a-1)에 대응하는 필터링 수준은 백분위수가 약 60% 이상의 중요도를 갖는 댓글들일 수 있다.
도 7은, 본 개시의 다른 일 실시 예에 따른, 메시지를 필터링하는 전자 장치(100)의 사용도를 나타내는 도면이다.
도 7의 (a)를 참조하면, 프로세서(210)는 이메일의 편지함에서 제공하는 이메일들의 적어도 일부(703)를 화면에 표시할 수 있다. 이 경우, 이메일의 제목 및 본문 중 적어도 하나는 본 개시의 메시지에 대응될 수 있다. 또한, 이메일의 편지함에 저장된 발신 또는 수신된 이메일들 전체는 본 개시의 복수 개의 메시지들이 될 수 있다. 또는, 이메일의 편지함에 저장된 이메일들 중 일정 기간에 발신 또는 수신된 이메일들이 본 개시의 복수 개의 메시지들이 될 수도 있다.
이 경우, 사용자 입력부(230)는 복수 개의 이메일들을 필터링하기 위한 필터링 UI(701)를 선택하는 사용자 입력을 수신할 수 있다.
사용자 입력에 따라, 도 7의 (b)와 같이, 디스플레이부(220)는 필터링 바(701a) 및 필터링 바(701a) 상에 위치하는 지시자(701b)를 표시할 수 있다.
이 경우, 전자 장치(100)는 필터링 바(701a) 상에 위치하는 지시자(701b)의 위치를 선택하는 사용자 입력을 수신할 수 있다.
사용자 입력에 따라, 프로세서(210)는 지시자(701b)의 위치에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 이메일(705)을 획득하고, 획득된 적어도 하나의 이메일(705)이 화면에 표시되도록 디스플레이부(220)를 제어할 수 있다.
예로, 지시자(701b)가 필터링 바(701a)의 최좌측에 위치한 경우, 필터링 수준에 대응하는 이메일들의 백분위수가 0% 이상의 중요도를 갖는 이메일들이고, 지시자(701b)가 필터링 바(701a)의 최우측에 위치한 경우, 필터링 수준에 대응하는 이메일들은 백분위수가 90% 이상의 중요도를 갖는 이메일들일 수 있다. 이 경우, 도 7의 (b)에서, 선택된 지시자(701b)의 위치에 대응하는 필터링 수준은 백분위수가 약 80% 이상의 중요도를 갖는 이메일들일 수 있다.
본 개시에서는, 복수 개의 메시지들을 필터링하기 위한 UI로서, 필터링 바 및 지시자, 복수 개의 필터링 버튼들을 제시하였으나, 제시된 UI에 제한되지 않고 복수 개의 메시지들을 필터링하기 위한 UI는 다양한 방식으로 가능할 수 있다.
이와 같이, 중요도에 기초하여 화면에 표시되는 메시지들의 개수의 조절이 가능함에 따라, 사용자는 원하는 메시지들을 빠르게 검색할 수 있고, 의미가 없는 메시지들은 제외할 수 있다. 즉, 필터링 수준이 높을수록 중요도가 높은 핵심 메시지들만 표시되고, 필터링 수준이 낮을수록 중요도가 낮은 메시지들도 함께 표시됨에 따라 사용자는 메시지들로부터 원하는 정보를 빠르게 검색할 수 있게 된다.
도 8은, 본 개시의 일 실시예에 따른 전자 장치(100)의 흐름도를 나타내는 도면이다.
먼저, 도 8에서, 전자 장치(100)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다(801).
다음으로, 전자 장치(100)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력이 수신되는지를 판단할 수 있다(803).
사용자 입력이 수신되는 경우(803-Y), 전자 장치(100)는 복수 개의 메시지들 각각의 중요도에 기초하여, 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다(805).
다음으로, 전자 장치(100)는 획득된 적어도 하나의 메시지를 표시할 수 있다(807).
다양한 실시예에 따르면, 전자 장치(100)가 적어도 하나의 메시지를 획득하는 경우, 전자 장치(100)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 선택된 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다.
또한, 전자 장치(100)가 적어도 하나의 메시지를 획득하는 경우, 전자 장치(100)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 선택된 필터링 수준에 대응하는 중요도 이상을 갖는 적어도 하나의 메시지들을 획득할 수 있다.
또한, 전자 장치(100)가 적어도 하나의 메시지를 획득하는 경우, 전자 장치(100)는 복수 개의 메시지들 각각의 메시지 스코어들을 계산할 수 있다.
또한, 전자 장치(100)가 적어도 하나의 메시지를 획득하는 경우, 전자 장치(100)는 계산된 복수 개의 메시지들 각각의 스코어에 기초하여 복수 개의 메시지들 각각의 중요도를 결정할 수 있다.
도 9는, 본 개시의 다른 일 실시예에 따른 전자 장치(100)의 흐름도를 나타내는 도면이다.
먼저, 도 9에서, 전자 장치(100)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다(901).
또한, 전자 장치(100)는 필터링 바 및 필터링 바 상에 위치하는 지시자를 표시할 수 있다(903). 이 경우, 필터링 바 및 지시자는, 필터링을 요청하는 사용자 입력에 응답하여 표시될 수도 있다.
다음으로, 전자 장치(100)는 필터링 바 상에 위치하는 지시자의 위치를 이동시키는 사용자 입력이 수신되는지를 판단할 수 있다(905).
사용자 입력이 수신되는 경우(905-Y), 전자 장치(100)는 복수 개의 메시지들 각각의 중요도에 기초하여, 복수 개의 메시지들 중 지시자의 위치에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다(907).
다음으로, 전자 장치(100)는 획득된 적어도 하나의 메시지를 표시할 수 있다(909).
도 10은, 본 개시의 또 다른 일 실시예에 따른 전자 장치(100)의 흐름도를 나타내는 도면이다.
먼저, 도 10에서, 전자 장치(100)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다(1001).
또한, 전자 장치(100)는 복수 개의 필터링 수준에 각각에 대응하는 복수 개의 버튼들을 표시할 수 있다(1003). 이 경우, 복수 개의 버튼들은, 필터링을 요청하는 사용자 입력에 응답하여 표시될 수도 있다.
다음으로, 전자 장치(100)는 복수 개의 버튼들 중 일 버튼을 선택하는 사용자 입력이 수신되는지를 판단할 수 있다(1005).
사용자 입력이 수신되는 경우(1005-Y), 전자 장치(100)는 복수 개의 메시지들 각각의 중요도에 기초하여, 복수 개의 메시지들 중 선택된 일 버튼에 대응하는 필터링 수준을 만족하는 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다(1007).
다음으로, 전자 장치(100)는 획득된 적어도 하나의 메시지를 표시할 수 있다(1009).
도 11은, 본 개시에 다양한 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 11의 전자 장치(1100)는, 도1 의 전자 장치(100)의 일 예가 될 수 있으며, 도 1의 전자 장치(100)의 구성요소들을 포함할 수 있다.
도 11에 도시된 바와 같이, 전자 장치(1100)는 영상 획득부(1110), 영상 처리부(1120), 디스플레이부(1130), 통신부(1140), 메모리(1150), 오디오 처리부(1160), 오디오 출력부(1170), 사용자 입력부(1180) 및 프로세서(1190) 중 적어도 하나를 포함할 수 있다. 한편, 도 11에 도시된 전자 장치(1100)의 구성은 일 예에 불과하므로, 반드시 전술된 블록도에 한정되는 것은 아니다. 따라서, 전자 장치(1100)의 종류 또는 전자 장치(1100)의 목적에 따라 도 11에 도시된 전자 장치(1100)의 구성의 일부가 생략 또는 변형되거나, 추가될 수도 있음은 물론이다.
영상 획득부(1110)는 다양한 소스를 통해 영상 데이터를 획득할 수 있다. 예를 들어, 영상 획득부(1110)는 외부 서버로부터 영상 데이터를 수신할 수 있으며, 외부 기기로부터 영상 데이터를 수신할 수 있다. 또는, 영상 획득부(1110)는 외부 환경을 촬영하여 영상 데이터를 획득할 수 있다. 예로, 영상 획득부(1110)는 전자 장치(1100)의 외부 환경을 촬영하는 카메라로 구현될 수 있다. 영상 획득부(1110)를 통해 획득된 영상 데이터는 영상 처리부(1120)에서 처리될 수 있다.
영상 처리부(1120)는 영상 획득부(1110)에서 수신한 영상 데이터에 대한 처리를 수행할 수 있다. 영상 처리부(1120)에서는 영상 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
디스플레이부(1130)는 영상 처리부(1120)에서 처리한 영상 데이터를 디스플레이 영역에 디스플레이할 수 있다. 디스플레이부(730)는 플렉서블 디스플레이(flexible display)의 형태로 전자 장치(1100)의 전면 영역 및, 측면 영역 및 후면 영역 중 적어도 하나에 결합될 수도 있다. 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 것을 특징으로 할 수 있다.
디스플레이부(1130)는 터치 패널(1181)과 결합하여 레이어 구조의 터치 스크린으로 구현될 수 있다. 터치 스크린은 디스플레이 기능뿐만 아니라 터치 입력 위치, 터치된 면적뿐만 아니라 터치 입력 압력까지도 검출하는 기능을 가질 수 있고, 또한 실질적인 터치(real-touch)뿐만 아니라 근접 터치(proximity touch)도 검출하는 기능을 가질 수 있다.
통신부(1140)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신부(1140)는 와이파이칩(1141), 블루투스 칩(1142), 무선 통신 칩(1143), NFC 칩(1144) 중 적어도 하나를 포함할 수 있다. 프로세서(1190)는 통신부(1140)를 이용하여 외부 서버 또는 각종 외부 기기와 통신을 수행할 수 있다.
메모리(1150)는 전자 장치(1100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(1150)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(1150)는 프로세서(1190)에 의해 액세스되며, 프로세서(1190)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(1150), 프로세서(1190) 내 롬(미도시), 램(미도시) 또는 전자 장치(1100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
또한, 메모리(1150)에는 디스플레이부(1130)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다. 또한, 메모리(1150)는 본 개시의 데이터 분석 모델을 저장할 수도 있다.
오디오 처리부(1160)는 오디오 데이터에 대한 처리를 수행하는 구성요소이다. 오디오 처리부(1160)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다. 오디오 처리부(1160)에서 처리된 오디오 데이터는 오디오 출력부(1170)로 출력될 수 있다.
오디오 출력부(1170)는 오디오 처리부(1160)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 오디오 출력부(1170)는 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
사용자 입력부(1180)는 다양한 사용자 입력을 수신하여 프로세서(1190)로 전달할 수 있다. 사용자 입력부(1180)는, 예를 들면, 터치 패널(1181), (디지털) 펜 센서(1182) 또는 키(1183)를 포함할 수 있다. 터치 패널(1181)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(1181)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(1182)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(1183)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다.    
프로세서(1190)(또는, 제어부)는 메모리(1150)에 저장된 각종 프로그램을 이용하여 전자 장치(1100)의 전반적인 동작을 제어할 수 있다.
프로세서(1190)는 RAM(1191), ROM(1192), 그래픽 처리부(1193), 메인 CPU(1194), 제1 내지 n 인터페이스(1195-1~1195-n), 버스(1196)로 구성될 수 있다. 이때, RAM(1191), ROM(1192), 그래픽 처리부(1193), 메인 CPU(1194), 제1 내지 n 인터페이스(1195-1~1195-n) 등은 버스(1196)를 통해 서로 연결될 수 있다.
다양한 실시예에 따르면, 디스플레이부(1130)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다. 사용자 입력부(1180)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신할 수 있다. 수신된 사용자 입력에 따라, 프로세서(1190)는 복수 개의 메시지들 각각의 중요도에 기초하여 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다. 그리고, 프로세서(1190)는 획득된 적어도 하나의 메시지가 표시되도록 디스플레이부(1130)를 제어할 수 있다.
이하에서는 도 12 내지 도 15를 참조하여 데이터 분석 모델을 이용하여 메시지의 중요도를 분석하는 실시예를 상세히 설명하기로 한다.
도 12를 참조하면, 일부 실시예에 따른 프로세서(210)는 데이터 학습부(1210) 및 데이터 분석부(1220)를 포함할 수 있다.
데이터 학습부(1210)는 데이터 분석 모델이 소정의 상황 판단(예를 들어, 메시지의 중요도 분석 등)을 위한 기준을 갖도록 생성 또는 학습시킬 수 있다.. 데이터 학습부(1210)는 소정의 상황을 판단하기 위하여 학습 데이터를 데이터 인식 모델에 적용하여, 판단 기준을 갖는 데이터 인식 모델을 생성할 수 있다.
일 예로, 본 개시의 일 실시예에 따른, 데이터 학습부(1210)는 학습 데이터로서 메시지에 대한 데이터를 획득하고, 획득된 데이터들을 이용하여 판단 기준을 갖는 데이터 인식 모델을 생성, 학습 또는 갱신시킬 수 있다.
메시지에 대한 데이터는, 예로, 메시지에 포함된 텍스트, 이미지, 동영상 및 오디오 중 적어도 하나를 포함할 수 있다. 또한, 메시지에 대한 데이터는, 예로, 전자 장치(100)가 획득한 메시지 자체, 도 3의 전처리부(310)를 통한 메시지의 전처리 결과 또는 도 3의 스코어 계산부(320)를 통한 메시지의 스코어가 될 수 있다.
데이터 분석부(1220)는 분석 데이터에 기초한 상황을 판단할 수 있다. 특히, 데이터 분석부(1220)는 학습된 데이터 분석 모델을 이용하여, 메시지에 대한 데이터를 분석 데이터로 이용하여 소정의 메시지의 중요도를 결정할 수 있다.
구체적으로, 데이터 분석부(1220)는 학습에 의하여 기 설정된 기준에 따라 소정의 메시지에 대한 데이터를 획득하고, 획득된 메시지에 대한 데이터를 입력 값으로 하여 데이터 분석 모델에 적용함으로써, 메시지에 대한 중요도를 결정(또는, 판단 또는 추정)할 수 있다. 또한, 획득된 메시지에 대한 데이터를 입력 값으로 하여 데이터 분석 모델에 의해 출력된 결과 값은, 데이터 분석 모델을 갱신하는데 이용될 수 있다. 특히, 본 개시의 일 실시예에 따른, 데이터 분석부(1220)는 메시지에 대한 데이터(예를 들어, 텍스트, 이미지, 동영상, 오디오 등)를 입력 값으로 하여 학습된 데이터 분석 모델에 적용함으로써, 전자 장치(100)의 상황을 판단한 판단 결과(예를 들어, 메시지의 중요도)를 획득할 수 있다.
데이터 학습부(1210)의 적어도 일부 및 데이터 분석부(1220)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1210) 및 데이터 분석부(1220) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다. 이 때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 데이터 학습부(1210) 및 데이터 분석부(1220)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
이 경우, 데이터 학습부(1210) 및 데이터 분석부(1220)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1210) 및 데이터 분석부(1220) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 데이터 학습부(1210) 및 데이터 분석부(1220)는 유선 또는 무선으로 통하여, 데이터 학습부(1210)가 구축한 모델 정보를 데이터 분석부(1220)로 제공할 수도 있고, 데이터 분석부(1220)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1210)로 제공될 수도 있다.
도 13은 일부 실시예에 따른 데이터 학습부(1210)의 블록도이다.
도 13을 참조하면, 일부 실시예에 따른 데이터 학습부(1210)는 데이터 획득부(1210-1) 및 모델 학습부(1210-4)를 포함할 수 있다. 또한, 데이터 학습부(1210)는 전처리부(1210-2), 학습 데이터 선택부(1210-3) 및 모델 평가부(1210-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
데이터 획득부(1210-1)는 상황 판단을 위한 학습을 위하여 필요한 학습 데이터를 획득할 수 있다. 본 개시의 일 실시예로, 데이터 획득부(1210-1)는 학습 데이터로서 메시지에 대한 데이터(예를 들어, 메시지에 포함된 텍스트, 이미지, 동영상, 오디오 등)을 획득할 수 있다.
학습 데이터는 데이터 학습부(1210) 또는 전자 장치(100)의 제조사가 수집 또는 테스트한 메시지에 대한 데이터가 될 수도 있다. 또는, 학습 데이터는 전자 장치(100)가 수신한 메시지에 대한 데이터가 될 수도 있다.
모델 학습부(1210-4)는 학습 데이터를 이용하여, 데이터 분석 모델이 소정의 상황을 어떻게 판단할 지에 관한 판단 기준을 갖도록 학습시킬 수 있다. 예로, 모델 학습부(1210-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 데이터 분석 모델을 학습시킬 수 있다. 또는, 모델 학습부(1210-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 분석 모델을 학습시킬 수 있다.
또한, 모델 학습부(1210-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 선별 기준을 학습할 수도 있다. 특히, 본 개시의 일 실시예에 따른, 모델 학습부(1210-4)는 입력된 메시지에 대한 데이터를 학습 데이터로서 이용하여, 데이터 분석 모델을 학습시킬 수 있다. 이 경우, 데이터 분석 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 분석 모델은 기본 학습 데이터(예를 들어, 샘플 메시지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 분석 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다.  데이터 분석 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 데이터 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 데이터 인식 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 데이터 인식 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다.
예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 분석 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(1210-4)는 미리 구축된 데이터 분석 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 분석 모델을 학습할 데이터 분석 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 분석 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1210-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 분석 모델을 학습시킬 수 있다.
데이터 분석 모델이 학습되면, 모델 학습부(1210-4)는 학습된 데이터 분석 모델을 저장할 수 있다. 이 경우, 모델 학습부(1210-4)는 학습된 데이터 분석 모델을 전자 장치(100)의 메모리(240)에 저장할 수 있다. 또는, 모델 학습부(1210-4)는 학습된 데이터 분석 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
데이터 학습부(1210)는 데이터 분석 모델의 분석 결과를 향상시키거나, 데이터 분석 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 전처리부(1210-2) 및 학습 데이터 선택부(1210-3)를 더 포함할 수도 있다.
전처리부(1210-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1210-2)는 후술할 모델 학습부(1210-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
본 개시의 일 실시예로, 전처리부(1210-2)는 메시지에 포함된 텍스트 데이터에 대해, 형태소 분석, 엔티티 추출, 문자부호 제거, 유사어 추출, 탬플릿 매칭과 같은 전처리를 수행할 수 있다. 전처리부(1210-2)는, 예로, 도 3의 전처리부(310)의 적어도 일부에 대응될 수 있다.
학습 데이터 선택부(1210-3)는 데이터 획득부(1210-1)에서 획득된 데이터 또는 전처리부(1210-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1210-4)에 제공될 수 있다. 학습 데이터 선택부(1210-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1210-3)는 모델 학습부(1210-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
본 개시의 일 실시예로, 학습 데이터 선택부(1210-3)는 특정 발신처로부터 수신되거나 특정 기간에 수신되거나 또는 특정 어플리케이션에서 관리되는 메시지에 대한 데이터만을 선택할 수 있다. 또는, 학습 데이터 선택부(1210-3)는 전처리부(1210-2)의 수행 결과인 형태소 분석, 엔티티 추출, 문자부호 제거, 유사어 추출, 탬플릿 매칭 결과 중 적어도 하나를 학습 데이터로 선택할 수 있다.
그러나, 학습 데이터 선택부(1210-3)는 선택적인 구성으로, 개시의 실시예에 따라 삭제될 수 있음은 물론이다.
데이터 학습부(1210)는 데이터 인식 모델의 분석 결과를 향상시키기 위하여, 모델 평가부(1210-5)를 더 포함할 수도 있다.
모델 평가부(1210-5)는 데이터 분석 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1210-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 분석 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(1210-5)는 평가 데이터에 대한 학습된 데이터 분석 모델의 분석 결과 중에서, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 분석 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 분석 결과를 출력하는 경우, 모델 평가부(1210-5)는 학습된 데이터 분석 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 분석 모델이 복수 개가 존재하는 경우, 모델 평가부(1210-5)는 각각의 학습된 데이터 분석 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 분석 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1210-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 분석 모델로서 결정할 수 있다.
전술한, 데이터 획득부(1210-1), 전처리부(1210-2), 학습 데이터 선택부(1210-3), 모델 학습부(1210-4) 및 모델 평가부(1210-5) 중 적어도 하나는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1210-1), 전처리부(1210-2), 학습 데이터 선택부(1210-3), 모델 학습부(1210-4) 및 모델 평가부(1210-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1210-1), 전처리부(1210-2), 학습 데이터 선택부(1210-3), 모델 학습부(1210-4) 및 모델 평가부(1210-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1210-1), 전처리부(1210-2), 학습 데이터 선택부(1210-3), 모델 학습부(1210-4) 및 모델 평가부(1210-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1210-1), 전처리부(1210-2), 학습 데이터 선택부(1210-3), 모델 학습부(1210-4) 및 모델 평가부(1210-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1210-1), 전처리부(1210-2), 학습 데이터 선택부(1210-3), 모델 학습부(1210-4) 및 모델 평가부(1210-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 14는 일부 실시예에 따른 데이터 분석부(1220)의 블록도이다.
도 14를 참조하면, 일부 실시예에 따른 데이터 분석부(1220)는 데이터 획득부(1220-1) 및 분석 결과 제공부(1220-4)를 포함할 수 있다. 또한, 데이터 분석부(1220)는 전처리부(1220-2), 분석 데이터 선택부(1220-3) 및 모델 갱신부(1220-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
데이터 획득부(1220-1)는 상황 판단에 필요한 데이터를 획득할 수 있다.
분석 결과 제공부(1220-4)는 데이터 획득부(1220-1)에서 획득된 데이터를 입력 값으로 학습된 데이터 분석 모델에 적용하여 상황을 판단할 수 있다. 분석 결과 제공부(1220-4)는 데이터의 분석 목적에 따른 분석 결과를 제공할 수 있다. 분석 결과 제공부(1220-4)는 후술할 전처리부(1220-2) 또는 분석 데이터 선택부(1220-3)에 의해 선택된 데이터를 입력 값으로 데이터 분석 모델에 적용하여 분석 결과를 획득할 수 있다. 분석 결과는 데이터 분석 모델에 의해 결정될 수 있다.
본 개시의 일 실시예로, 분석 결과 제공부(1220-4)는 데이터 획득부(1220-1)에서 획득된 메시지에 대한 데이터를 데이터 분석 모델에 적용하여 메시지의 중요도를 획득할 수 있다. 메시지에 대한 데이터는, 예로, 메시지에 포함된 텍스트, 이미지, 동영상 및 오디오 중 적어도 하나를 포함할 수 있다.
이 경우, 분석 결과 제공부(1220-4)는 복수의 메시지들 각각에 대한 데이터를 데이터 분석 모델에 적용하여 복수의 메시지들의 중요도를 결정할 수 있다. 또는, 분석 결과 제공부(1220-4)는 복수의 메시지들 각각에 대한 데이터를 데이터 분석 모델에 적용하여 복수의 메시지들의 상대적인 우선 순위를 결정할 수도 있다. 예로, 분석 결과 제공부(1220-4)는 복수의 메시지들 간의 랭킹 또는 백분위수를 분석 결과로 결정할 수도 있다.
데이터 분석부(1220)는 데이터 분석 모델의 분석 결과를 향상시키거나, 분석 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 전처리부(1220-2) 및 분석 데이터 선택부(1220-3)를 더 포함할 수도 있다.
전처리부(1220-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1220-2)는 분석 결과 제공부(1220-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
특히, 본 개시의 일 실시예에 따르면, 데이터 획득부(1220-1)는 메시지에 대한 데이터를 획득하고, 전처리부(1220-2)는 전술한 바와 같이, 기 정의된 포맷으로 메시지에 대한 데이터를 전처리할 수 있다. 예로, 전처리부(1220-2)는 메시지에 포함된 텍스트 데이터에 대해, 형태소 분석, 엔티티 추출, 문자부호 제거, 유사어 추출, 탬플릿 매칭과 같은 전처리를 수행할 수 있다. 전처리부(1220-2)는, 예로, 도 3의 전처리부(310)의 적어도 일부에 대응될 수 있다.
분석 데이터 선택부(1220-3)는 데이터 획득부(1220-1)에서 획득된 데이터 또는 전처리부(1220-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 분석 결과 제공부(1220-4)에게 제공될 수 있다. 분석 데이터 선택부(1220-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 분석 데이터 선택부(1220-3)는 모델 학습부(1210-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
본 개시의 일 실시예로, 분석 데이터 선택부(1220-3)는 특정 발신처로부터 수신되거나 특정 기간에 수신되거나 또는 특정 어플리케이션에서 관리되는 메시지에 대한 데이터만을 선택할 수 있다. 또는, 분석 데이터 선택부(1220-3)는 전처리부(1220-2)의 수행 결과인 형태소 분석, 엔티티 추출, 문자부호 제거, 유사어 추출, 탬플릿 매칭 결과 중 적어도 하나를 학습 데이터로 선택할 수 있다.
구체적으로, 분석 데이터 선택부(1220-3)는 도1 과 같이, 특정 대화방에서 사용자 및 제3 자간 대화한 메시지들 각각에 대한 데이터를 상황 판단(예로, 메시지의 중요도)에 필요한 데이터로서 선택할 수 있다.
또는, 분석 데이터 선택부(1220-3)는 도 6과 같이, 특정 컨텐츠에 대한 복수 개의 댓글들 각각에 대한 데이터를 상황 판단에 필요한 데이터로서 선택할 수 있다.
또는, 분석 데이터 선택부(1220-3)는 도 7과 같이, 특정 어플리케이션(예로, 이메일 어플리케이션)의 편지함에 포함된 이메일들 각각에 대한 데이터를 상황 판단에 필요한 데이터로서 선택할 수 있다. 이 때, 일정 기간에 발신 또는 수신된 이메일들이 상황 판단에 필요한 데이터로서 선택될 수도 있다.
모델 갱신부(1220-5)는 분석 결과 제공부(1220-4)에 의해 제공되는 분석 결과에 대한 평가에 기초하여, 데이터 분석 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(1220-5)는 분석 결과 제공부(1220-4)에 의해 제공되는 분석 결과를 모델 학습부(1210-4)에게 제공함으로써, 모델 학습부(1210-4)가 데이터 분석 모델을 갱신하도록 제어할 수 있다.
전술한, 데이터 분석부(1220) 내의 데이터 획득부(1220-1), 전처리부(1220-2), 분석 데이터 선택부(1220-3), 분석 결과 제공부(1220-4) 및 모델 갱신부(1220-5) 중 적어도 하나는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1220-1), 전처리부(1220-2), 분석 데이터 선택부(1220-3), 분석 결과 제공부(1220-4) 및 모델 갱신부(1220-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1220-1), 전처리부(1220-2), 분석 데이터 선택부(1220-3), 분석 결과 제공부(1220-4) 및 모델 갱신부(1220-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1220-1), 전처리부(1220-2), 분석 데이터 선택부(1220-3), 분석 결과 제공부(1220-4) 및 모델 갱신부(1220-5) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1220-1), 전처리부(1220-2), 분석 데이터 선택부(1220-3), 분석 결과 제공부(1220-4) 및 모델 갱신부(1220-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1220-1), 전처리부(1220-2), 분석 데이터 선택부(1220-3), 분석 결과 제공부(1220-4) 및 모델 갱신부(1220-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 15는 일부 실시예에 따른 전자 장치(100) 및 서버(1500)가 서로 연동함으로써 데이터를 학습하고 인식하는 예시를 나타내는 도면이다.
도 15를 참조하면, 서버(1500)는 상황 판단을 위한 기준을 학습할 수 있으며, 전자 장치(100)는 서버(1500)에 의한 학습 결과에 기초하여 상황을 판단할 수 있다.
이 경우, 서버(1500)의 모델 학습부(1510-4)는 도 13에 도시된 데이터 학습부(1210)의 기능을 수행할 수 있다. 서버(1500)의 모델 학습부(1510-4)는 소정의 상황을 판단하기 위하여 어떤 메시지에 대한 데이터를 이용할 지, 메시지에 대한 데이터를 이용하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 모델 학습부(1510-4)는 학습에 이용될 메시지에 대한 데이터를 획득하고, 획득된 데이터를 후술할 데이터 분석 모델에 적용함으로써, 메시지의 중요도에 대한 판단을 위한 기준을 학습할 수 있다.
또한, 전자 장치(100)의 분석 결과 제공부(1220-4)는 분석 데이터 선택부(1220-3)에 의해 선택된 데이터를 서버(1500)에 의해 생성된 데이터 분석 모델에 적용하여 메시지의 중요도를 판단할 수 있다. 구체적으로, 분석 결과 제공부(1220-4)는 분석 데이터 선택부(1220-3)에 의해 선택된 메시지에 대한 데이터를 서버(1500)에게 전송하고, 서버(1500)가 분석 데이터 선택부(1220-3)에 의해 선택된 데이터를 데이터 분석 모델에 적용하여 메시지의 중요도를 판단할 것을 요청할 수 있다. 또한, 분석 결과 제공부(1220-4)는 서버(1500)에 의해 판단된 메시지의 중요도에 관한 정보를 서버(1500)로부터 수신할 수 있다. 예를 들어, 분석 데이터 선택부(1220-3)에 의해 메시지에 대한 데이터가 서버(1500)에게 전송된 경우, 서버(1500)는 기 저장된 데이터 분석 모델에 메시지에 대한 데이터를 적용하여 메시지의 중요도를 판단하여 메시지의 중요도에 대한 정보를 전자 장치(100)로 전송할 수 있다.
또는, 전자 장치(100)의 분석 결과 제공부(1220-4)는 서버(1500)에 의해 생성된 분석 모델을 서버(1500)로부터 수신하고, 수신된 분석 모델을 이용하여 상황을 판단할 수 있다. 이 경우, 전자 장치(100)의 분석 결과 제공부(1220-4)는 분석 데이터 선택부(1220-3)에 의해 선택된 메시지에 대한 데이터를 서버(1500)로부터 수신된 데이터 분석 모델에 적용하여 메시지의 중요도를 판단할 수 있다.
도 16은, 일부 실시예에 따른 데이터 분석 모델을 이용하는 전자 장치(100)의 흐름도이다.
먼저, 전자 장치(100)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다(1601).
다음으로, 전자 장치(100)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력이 수신되는지를 판단할 수 있다(1603).
사용자 입력이 수신되는 경우(1603-Y), 전자 장치(100)는 복수 개의 메시지들 각각에 대한 데이터를 데이터 분석 모델에 적용하여 복수 개의 메시지들 각각에 대한 중요도를 결정할 수 있다(1605). 데이터 분석 모델은 전자 장치(100)의 메모리(240)에 저장될 수 있다. 이 때, 메모리(240)는 전자 장치(100)의 내부에 마련된 메모리 또는 전자 장치(100)에 장착되는 메모리 카드 등을 포함할 수 있다. 또한, 메시지에 대한 데이터는, 예로, 메시지에 포함된 텍스트, 이미지, 동영상 및 오디오 중 적어도 하나를 포함할 수 있다. 또한, 메시지에 대한 데이터는 전처리 또는 선별된 데이터가 될 수도 있다. 예로, 메시지에 대한 데이터는 도 3의 전처리부(310)에서 전처리가 수행된 데이터가 될 수 있다.
다음으로, 전자 장치(100)는 결정된 복수 개의 메시지들 각각의 중요도에 기초하여, 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다(1607).
전자 장치(100)는 획득된 적어도 하나의 메시지를 화면에 표시할 수 있다(1609).
다양한 실시예에 따르면, 전자 장치(100)는 필터링을 요청하는 사용자 입력을 수신하기 전에, 복수 개의 메시지들 각각에 대한 데이터를 미리 데이터 분석 모델에 적용하여 복수 개의 메시지들 각각에 대한 중요도를 미리 결정할 수도 있다. 예로, 전자 장치(100)는 동작 1601의 수행 전 또는 동작 1603의 수행 전에 메모리(240)에 저장된 데이터 분석 모델을 이용하여 복수 개의 메시지들 각각에 대한 중요도를 미리 결정한 상태일 수 있다.
이 경우, 필터링을 요청하는 사용자 입력이 수신되면, 전자 장치(100)는 미리 결정된 복수 개의 메시지들 각각의 중요도에 기초하여, 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하여 화면에 표시할 수 있다.
도 17 및 도 18은, 일부 실시예에 따른 데이터 분석 모델을 이용하는 네트워크 시스템의 흐름도이다.
도 17 및 도 18에서, 데이터 분석 모델을 이용하는 네트워크 시스템은 제1 구성 요소(1701,1801) 및 제2 구성 요소(1702,1802)를 포함할 수 있다.
여기서, 제1 구성 요소(1701,1801)는 전자 장치(100)이고, 제2 구성 요소(1702,1802)는 데이터 분석 모델이 저장된 서버(1500)가 될 수 있다. 또는, 제1 구성 요소(1701,1801)는 범용 프로세서이고, 제2 구성 요소(1702,1802)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1701,1801)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소(1702,1802)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(1702,1802)는 제1 구성 요소(1701,1801)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 데이터 인식 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(1701,1801)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.
이 경우, 제1 구성 요소(1701) 및 제2 구성 요소(1702) 간에 데이터를 송/수신하기 위한 인터페이스가 정의될 수 있다.
예로, 데이터 인식 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface)가 정의될 수 있다. API는 어느 하나의 프로토콜(예로, 전자 장치(100)에서 정의된 프로토콜)에서 다른 프로토콜(예로, 서버(1500)에서 정의된 프로토콜)의 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로 정의될 수 있다. 즉, API를 통하여 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공될 수 있다.
일 실시예로, 도 17에서, 제1 구성 요소(1701)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다(1711).
이러한 상황에서, 전자 장치(100)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신할 수 있다(1713).
사용자 입력이 수신되면, 제1 구성 요소(1701)는 복수 개의 메시지들 각각에 대한 데이터를 제2 구성 요소(1702)로 전송할 수 있다(1715).
제2 구성 요소(1702)는 수신된 복수 개의 메시지들 각각에 대한 데이터를 제2 구성 요소(1702)의 데이터 분석 모델에 적용하여 복수 개의 메시지들 각각의 중요도를 결정할 수 있다(1717).
제2 구성 요소(1702)는 결정된 복수 개의 메시지들 각각에 대한 중요도를 제1 구성 요소(1701)로 전송할 수 있다(1719).
제1 구성 요소(1701)는 수신한 복수 개의 메시지들 각각에 대한 중요도에 기초하여, 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득할 수 있다(1721).
제1 구성 요소(1701)는 획득된 적어도 하나의 메시지를 화면에 표시할 수 있다(1723).
다양한 실시예에 따르면, 제1 구성 요소(1701)는 필터링을 요청하는 사용자 입력을 수신하기 전에, 복수 개의 메시지들 각각에 대한 데이터를 제2 구성 요소(1702)의 미리 데이터 분석 모델에 적용하여 복수 개의 메시지들 각각에 대한 중요도를 미리 결정할 수도 있다. 예로, 제1 구성 요소(1701)는 동작 1711의 수행 전 또는 동작 1713의 수행 전에 제2 구성 요소(1702)로 복수 개의 메시지들 각각에 대한 데이터를 전송하고, 이에 대한 응답으로, 복수 개의 메시지들 각각에 대한 중요도를 수신하여 저장할 수 있다.
이 경우, 필터링을 요청하는 사용자 입력이 수신되면, 제1 구성 요소(1701)는 기 저장된 복수 개의 메시지들 각각의 중요도에 기초하여, 복수 개의 메시지들 중 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하여 화면에 표시할 수 있다.
다른 실시예로, 도 18에서, 제1 구성 요소(1801)는 복수 개의 메시지들의 적어도 일부를 표시할 수 있다(1811).
이러한 상황에서, 제1 구성 요소(1801)는 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신할 수 있다(1813).
사용자 입력이 수신되면, 제1 구성 요소(1801)는 복수 개의 메시지들 각각에 대한 데이터 및 필터링 수준(또는, 필터링 조건)을 제2 구성 요소(1802)로 전송할 수 있다(1815). 필터링 수준은, 예로, 사용자, 전자 장치(100)의 제조사 또는 본 개시에 따른 동작을 수행하는 어플리케이션의 제조사 또는 개발자 등에 의하여 미리 저장된 정보일 수 있다. 또는, 도 5a 및 도 5b와 같이, 필터링 수준은 사용자의 조작에 따른 지시자(501b)의 위치에 대응하는 정보가 될 수 있다.
제2 구성 요소(1802)는 수신된 복수 개의 메시지들 각각에 대한 데이터 및 필터링 수준을 제2 구성 요소(1802)의 데이터 분석 모델에 적용하여 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 결정할 수 있다(1817).
다음으로, 제2 구성 요소(1802)는 결정된 적어도 하나의 메시지에 대한 데이터를 제1 구성 요소(1801)로 전송할 수 있다(1819). 이 때, 메시지에 대한 데이터는, 예로, 결정된 메시지 자체 또는 메시지의 식별 정보가 될 수 있다.
제2 구성 요소(1802)는 결정된 메시지에 대한 데이터에 대응하는 메시지를 동작 1813의 사용자 입력에 대한 응답으로 화면에 표시할 수 있다(1821).
전술한 디바이스(100)의 구성 요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 디바이스(100)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
본 개시의 일 실시 예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장된 명령어로 구현될 수 있다. 여기서, 프로그램은 컴퓨터가 읽을 수 있는 비일시적 기록매체에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 개시의 실시 예를 구현할 수 있다. 비일시적 판독 가능 기록매체란, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미할 뿐만 아니라 레지스터, 캐쉬, 버퍼 등을 포함하며, 신호(signal), 전류(current) 등과 같은 전송 매개체는 포함하지 않는다.
또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)으로 제공될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체 또는 판매자 및 구매자 간에 거래되는 상품을 포함할 수 있다.
예를 들어, 컴퓨터 프로그램 제품은 전자 장치 또는 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사 또는 전자 마켓의 서버, 또는 중계 서버의 저장매체가 될 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
100: 전자 장치 210: 프로세서
220: 디스플레이부 230: 사용자 입력부
240: 메모리

Claims (20)

  1. 전자 장치의 복수 개의 메시지들을 필터링하는 방법에 있어서,
    복수 개의 메시지들의 적어도 일부를 표시하는 동작;
    상기 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신하는 동작;
    상기 사용자 입력에 따라, 상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작; 및
    상기 획득된 적어도 하나의 메시지를 표시하는 동작
    을 포함하는 메시지 필터링 방법.
  2. 제1항에 있어서,
    상기 사용자 입력을 수신하는 동작은,
    상기 복수의 메시지들의 필터링 수준을 선택하는 사용자 입력을 수신하는 동작을 포함하고,
    상기 적어도 하나의 메시지를 획득하는 동작은,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 선택된 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작
    을 포함하는 메시지 필터링 방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 메시지를 획득하는 동작은,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 선택된 필터링 수준에 대응하는 중요도 이상을 갖는 적어도 하나의 메시지들을 획득하는 동작
    을 포함하는 메시지 필터링 방법.
  4. 제1항에 있어서,
    상기 복수 개의 메시지들은,
    상기 사용자 및 제3 자 간에 대화한 대화방에 포함된 전체 메시지들, 특정 컨텐츠에 관한 전체 댓글들 또는 이메일의 편지함에 저장된 전체 이메일들을 포함하는 것
    을 특징으로 하는 메시지 필터링 방법.
  5. 제1항에 있어서,
    상기 필터링 방법은,
    상기 필터링 바 및 상기 필터링 바 상에 위치하는 지시자를 표시하는 동작을 더 포함하고,
    상기 사용자 입력을 수신하는 동작은,
    상기 필터링 바 상에 위치하는 지시자의 위치를 이동시키는 사용자 입력을 수신하는 동작을 포함하고,
    상기 적어도 하나의 메시지를 획득하는 동작은,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 지시자의 위치에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작
    을 포함하는 메시지 필터링 방법.
  6. 제1항에 있어서,
    상기 필터링 방법은,
    상기 복수 개의 필터링 수준에 각각에 대응하는 복수 개의 버튼들을 표시하는 동작을 더 포함하고,
    상기 사용자 입력을 수신하는 동작은,
    상기 복수 개의 버튼들 중 일 버튼을 선택하는 사용자 입력을 수신하는 동작을 포함하고,
    상기 적어도 하나의 메시지를 획득하는 동작은,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 선택된 일 버튼에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 동작
    을 포함하는 메시지 필터링 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 메시지를 획득하는 동작은,
    상기 복수 개의 메시지들 각각의 메시지 스코어들을 계산하는 동작
    을 포함하는 메시지 필터링 방법.
  8. 제7항에 있어서,
    상기 메시지 스코어는 상기 복수 개의 메시지들에 포함된 특정 단어의 개수, 상기 복수 개의 메시지들의 개수, 상기 복수 개의 메시지들에 포함된 특정 단어의 타입 별 가중치, 상기 복수 개의 메시지들에 포함된 특정 단어의 출현 빈도 및 상기 복수 개의 메시지들 각각의 제공 시간 중 적어도 하나에 기초하여 계산되는 것
    을 특징으로 하는 메시지 필터링 방법.
  9. 제7항에 있어서,
    상기 적어도 하나의 메시지를 획득하는 동작은,
    상기 계산된 복수 개의 메시지들 각각의 스코어에 기초하여 상기 복수 개의 메시지들 각각의 중요도를 결정하는 동작
    을 포함하는 메시지 필터링 방법.
  10. 제9항에 있어서,
    상기 복수 개의 메시지들 각각의 중요도는, 상기 복수 개의 메시지들 각각의 스코어의 랭킹, 또는 상기 스코어 또는 랭킹의 백분위수에 기초하여 결정되는 것
    을 특징으로 하는 메시지 필터링 방법.
  11. 복수 개의 메시지들을 필터링하는 전자 장치에 있어서,
    복수 개의 메시지들의 적어도 일부를 표시하는 디스플레이부;
    상기 복수 개의 메시지들의 필터링을 요청하는 사용자 입력을 수신하는 사용자 입력부; 및
    상기 사용자 입력에 따라, 상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 사용자의 필터링 요청을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하고, 상기 디스플레이부가 상기 획득된 적어도 하나의 메시지를 표시하도록 제어하는 프로세서
    을 포함하는 전자 장치.
  12. 제11항에 있어서,
    상기 사용자 입력부는,
    상기 복수의 메시지들의 필터링 수준을 선택하는 사용자 입력을 수신하고,
    상기 프로세서는,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 선택된 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 것
    을 특징으로 하는 전자 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 선택된 필터링 수준에 대응하는 중요도 이상을 갖는 적어도 하나의 메시지들을 획득하는 것
    을 특징으로 하는 전자 장치.
  14. 제11항에 있어서,
    상기 복수 개의 메시지들은,
    상기 사용자 및 제3 자 간에 대화한 대화방에 포함된 전체 메시지들, 특정 컨텐츠에 관한 전체 댓글들 또는 이메일의 편지함에 저장된 전체 이메일들인 것
    을 특징으로 하는 전자 장치.
  15. 제11항에 있어서,
    상기 디스플레이부는,
    상기 필터링 바 및 상기 필터링 바 상에 위치하는 지시자를 표시하고,
    상기 사용자 입력부는,
    상기 필터링 바 상에 위치하는 지시자의 위치를 이동시키는 사용자 입력을 수신하고,
    상기 프로세서는,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 지시자의 위치에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 것
    을 특징으로 하는 전자 장치.
  16. 제11항에 있어서,
    상기 디스플레이부는,
    상기 복수 개의 필터링 수준에 각각에 대응하는 복수 개의 버튼들을 표시하고,
    상기 사용자 입력부는,
    상기 복수 개의 버튼들 중 일 버튼을 선택하는 사용자 입력을 수신하고,
    상기 프로세서는,
    상기 복수 개의 메시지들 각각의 중요도에 기초하여 상기 복수 개의 메시지들 중 상기 선택된 일 버튼에 대응하는 필터링 수준을 만족하는 중요도를 갖는 적어도 하나의 메시지를 획득하는 것
    을 특징으로 하는 전자 장치.
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 복수 개의 메시지들 각각의 메시지 스코어들을 계산하는 것
    을 특징으로 하는 전자 장치.
  18. 제17항에 있어서,
    상기 메시지 스코어는 상기 복수 개의 메시지들에 포함된 특정 단어의 개수, 상기 복수 개의 메시지들의 개수, 상기 복수 개의 메시지들에 포함된 특정 단어의 타입 별 가중치, 상기 복수 개의 메시지들에 포함된 특정 단어의 출현 빈도 및 상기 복수 개의 메시지들 각각의 제공 시간 중 적어도 하나에 기초하여 계산되는 것
    을 특징으로 하는 전자 장치.
  19. 제17항에 있어서,
    상기 프로세서는,
    상기 계산된 복수 개의 메시지들 각각의 스코어에 기초하여 상기 복수 개의 메시지들 각각의 중요도를 결정하는 것
    을 특징으로 하는 전자 장치.
  20. 제19항에 있어서,
    상기 복수 개의 메시지들 각각의 중요도는, 상기 복수 개의 메시지들 각각의 스코어의 랭킹, 또는 상기 스코어 또는 랭킹의 백분위수에 기초하여 결정되는 것
    을 특징으로 하는 전자 장치.

KR1020170111660A 2016-11-03 2017-09-01 복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치 KR102398386B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US15/798,799 US11115359B2 (en) 2016-11-03 2017-10-31 Method and apparatus for importance filtering a plurality of messages
CN201780077980.7A CN110169021B (zh) 2016-11-03 2017-11-01 用于过滤多条消息的方法和设备
PCT/KR2017/012282 WO2018084581A1 (en) 2016-11-03 2017-11-01 Method and apparatus for filtering a plurality of messages
EP17867205.1A EP3523932B1 (en) 2016-11-03 2017-11-01 Method and apparatus for filtering a plurality of messages

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160145948 2016-11-03
KR20160145948 2016-11-03

Publications (2)

Publication Number Publication Date
KR20180049791A true KR20180049791A (ko) 2018-05-11
KR102398386B1 KR102398386B1 (ko) 2022-05-16

Family

ID=62185572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170111660A KR102398386B1 (ko) 2016-11-03 2017-09-01 복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치

Country Status (3)

Country Link
EP (1) EP3523932B1 (ko)
KR (1) KR102398386B1 (ko)
CN (1) CN110169021B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984901A (zh) * 2020-08-31 2020-11-24 上海博泰悦臻电子设备制造有限公司 一种消息推送方法及其相关产品
KR20210098010A (ko) * 2020-01-31 2021-08-10 주식회사 링커 주제별 키워드 검색 및 귓속말 메시지 서비스 프로그램 제어방법 및 이를 수행하기 위한 컴퓨터 프로그램
WO2022031916A1 (en) * 2020-08-06 2022-02-10 Vocera Communications, Inc. Prioritizing communications on a communication device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119258A1 (en) * 2009-11-18 2011-05-19 Babak Forutanpour Methods and systems for managing electronic messages
US20160299954A1 (en) * 2015-04-08 2016-10-13 Vinay BAWRI Processing a search query and ranking results from a database system of a network communication software

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3573688B2 (ja) * 2000-06-28 2004-10-06 松下電器産業株式会社 類似文書検索装置及び関連キーワード抽出装置
JP4040441B2 (ja) * 2002-12-04 2008-01-30 トヨタ自動車株式会社 車両用通信装置
US20160142359A1 (en) * 2014-11-17 2016-05-19 Citrix Systems, Inc. Item importance indication
US20160212086A1 (en) * 2015-01-20 2016-07-21 Synchronoss Technologies, Inc. Message processing, forwarding and filtering based on attribute values
CN105915440A (zh) * 2016-04-19 2016-08-31 乐视控股(北京)有限公司 邮件识别方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119258A1 (en) * 2009-11-18 2011-05-19 Babak Forutanpour Methods and systems for managing electronic messages
US20160299954A1 (en) * 2015-04-08 2016-10-13 Vinay BAWRI Processing a search query and ranking results from a database system of a network communication software

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210098010A (ko) * 2020-01-31 2021-08-10 주식회사 링커 주제별 키워드 검색 및 귓속말 메시지 서비스 프로그램 제어방법 및 이를 수행하기 위한 컴퓨터 프로그램
WO2022031916A1 (en) * 2020-08-06 2022-02-10 Vocera Communications, Inc. Prioritizing communications on a communication device
GB2613728A (en) * 2020-08-06 2023-06-14 Stryker Corp Prioritizing communications on a communication device
CN111984901A (zh) * 2020-08-31 2020-11-24 上海博泰悦臻电子设备制造有限公司 一种消息推送方法及其相关产品

Also Published As

Publication number Publication date
CN110169021A (zh) 2019-08-23
CN110169021B (zh) 2021-10-22
EP3523932A1 (en) 2019-08-14
EP3523932B1 (en) 2024-01-10
EP3523932A4 (en) 2019-08-14
KR102398386B1 (ko) 2022-05-16

Similar Documents

Publication Publication Date Title
US11727677B2 (en) Personalized gesture recognition for user interaction with assistant systems
US11636438B1 (en) Generating smart reminders by assistant systems
US11574116B2 (en) Apparatus and method for providing summarized information using an artificial intelligence model
CN112189229B (zh) 针对计算机化个人助手的技能发现
US20200125967A1 (en) Electronic device and method for controlling the electronic device
US11115359B2 (en) Method and apparatus for importance filtering a plurality of messages
KR20190057687A (ko) 챗봇 변경을 위한 위한 전자 장치 및 이의 제어 방법
CN114556354A (zh) 自动确定和呈现来自事件的个性化动作项
US11954150B2 (en) Electronic device and method for controlling the electronic device thereof
US20210217409A1 (en) Electronic device and control method therefor
US11475218B2 (en) Apparatus and method for providing sentence based on user input
EP3523710B1 (en) Apparatus and method for providing a sentence based on user input
KR102449630B1 (ko) 전자 장치 및 이의 제어 방법
KR20200048201A (ko) 전자 장치 및 이의 제어 방법
US11657237B2 (en) Electronic device and natural language generation method thereof
US20220059088A1 (en) Electronic device and control method therefor
KR102398386B1 (ko) 복수 개의 메시지들을 필터링하는 방법 및 이를 위한 장치
CN113656587A (zh) 文本分类方法、装置、电子设备及存储介质
KR20200071477A (ko) 전자 장치 및 그의 제어 방법
KR20200044175A (ko) 전자 장치 및 그의 비서 서비스 제공 방법
KR20190032749A (ko) 전자 장치 및 그의 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant