KR20220043135A - 텍스트 입력에 기초하여 구조화된 관계 정보를 생성하기 위한 방법과 장치 - Google Patents

텍스트 입력에 기초하여 구조화된 관계 정보를 생성하기 위한 방법과 장치 Download PDF

Info

Publication number
KR20220043135A
KR20220043135A KR1020227004953A KR20227004953A KR20220043135A KR 20220043135 A KR20220043135 A KR 20220043135A KR 1020227004953 A KR1020227004953 A KR 1020227004953A KR 20227004953 A KR20227004953 A KR 20227004953A KR 20220043135 A KR20220043135 A KR 20220043135A
Authority
KR
South Korea
Prior art keywords
text input
text
information
relationship
user
Prior art date
Application number
KR1020227004953A
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 삼성전자주식회사
Publication of KR20220043135A publication Critical patent/KR20220043135A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • H04L67/22
    • H04L67/26
    • H04L67/2819
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

본 개시는 정보 추출과 관련이 있으며 비구조화 텍스트로부터 관계 정보를 생성하기 위한 방법 및 장치를 제공한다. 상기 방법은, 적어도 하나의 애플리케이션을 통해 텍스트 입력을 수신하는 단계, 상기 텍스트 입력을 적어도 하나의 카테고리로 분류하는 단계, 상기 텍스트 입력으로부터 파생된 텍스트를 나타내는 구성요소를 포함하는 제1 엔터티를 상기 텍스트 입력으로부터 추출하는 단계, 상기 텍스트 입력으로부터의 제1 엔터티와 상기 전자 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔터티를 연관시켜, 구조화 관계 정보를 생성하는 단계 및 상기 구조화 관계 정보를 상기 전자 장치에 디스플레이하는 단계를 포함한다.

Description

텍스트 입력에 기초하여 구조화 관계 정보를 생성하는 방법 및 장치
본 발명은 정보 추출에 관한 것으로, 보다 상세하게는 비구조화(unstructured) 텍스트로부터 관계 정보를 생성하는 방법 및 장치에 관한 것이다.
일반적으로, 오늘날 온라인 애플리케이션의 광범위한 사용으로, 온라인 애플리케이션과 관련된 풍부한 데이터가 생성된다. 이러한 풍부한 데이터는, 온라인 애플리케이션의 사용자들에게 유용하고 맞춤화된 인사이트 및 추천을 제공하기 위해, 정보 추출 및 분류를 수행하는데 이용될 수 있다. 그러나, 현재, 정보 추출이 적절히 수행되지 않아, 사용 가능한 데이터가 완전한 잠재력으로 이용되지 못한다. 예를 들어, 모바일 디바이스에서 사용자에 의해 수신된 메시지들을 저장하는 수신함(inbox)은 일반적으로 클러터링된(cluttered) 메시지 수신함이다. 수신함의 클러터링성(cluttered nature)으로 인해, 사용자는 필요한 정보를 알맞은 시간에 식별하는데 어려움이 있다. 일 예로서, 상기 수신함은 사용자의 개인 메시지와 함께, 택시 오퍼(offer) , 음식 주문 오퍼, 쇼핑 바우처 등과 같은 오퍼와 관련된 다수의 메시지를 가질 수 있다. 상기 수신함에 저장된 많은 메시지들로 인해, 클러터링된 메시지 수신함에서 이러한 메시지들을 찾는 것은 어려울 뿐만 아니라, 사용자는 그러한 오퍼(offer)의 존재를 알지 못할 수도 있다. 사용자는 특정 오퍼에 대한 리콜에 여러 번 실패하여, 오퍼가 사용되지 않은 채로 남아있다가 결국 만료될 수 있다. 또한, 많은 경우들에서, 사용자가 특정 오퍼를 알고 있을 때, 사용자는 오퍼와 관련된 정보를 명시적으로 캡처하여, 각각의 온라인 애플리케이션과 교차 검증하여 오퍼의 현재 상태를 이해하는데, 이는 긴 과정을 요구한다.
따라서, 비구조화 텍스트 입력을 지능적으로 분류하고, 텍스트 입력의 다수의 카테고리들 간의 관계 연관을 확립하여, 사용자에게 유용한 인사이트를 실시간으로 제공할 필요가 있다.
본 개시의 이러한 배경에 개시된 정보는 본 개시의 일반적인 배경의 이해를 돕기 위한 것일 뿐이며, 이러한 정보가 당업자에게 이미 공지된 선행 기술을 형성한다는 인정이나 다른 형태의 제안으로 간주되어서는 안 된다.
전자 장치에 입력되는 비구조화 텍스트 입력을 지능적으로 분류하고, 텍스트 입력의 다수의 카테고리들 간의 관계 연관을 확립하여, 사용자에게 유용한 인사이트를 실시간으로 제공하는 전자 장치가 요구된다.
적어도 하나의 애플리케이션을 통해 텍스트 입력을 수신하는 단계, 상기 텍스트 입력을 적어도 하나의 카테고리로 분류하는 단계, 상기 텍스트 입력으로부터 파생된 텍스트를 나타내는 구성요소를 포함하는 제1 엔티티를 상기 텍스트 입력으로부터 추출하는 단계, 상기 텍스트 입력으로부터의 제1 엔티티와 상기 전자 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔티티를 연관시켜, 구조화 관계 정보를 생성하는 단계 및 상기 구조화 관계 정보를 상기 전자 장치에 디스플레이하는 단계를 포함하는 방법이 제공된다.
적어도 하나의 애플리케이션을 통해 텍스트 입력을 수신하는 입력/출력(IO) 인터페이스 및 프로세서를 포함하되, 상기 프로세서는, 상기 텍스트 입력을 적어도 하나의 카테고리로 분류하고, 상기 텍스트 입력으로부터 파생된 맥락을 나타내는 구성요소를 포함하는 제1 엔티티를 추출하고, 상기 텍스트 입력으로부터의 제1 엔티티와 상기 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔티티를 연관시켜, 구조화 관계 정보를 생성하도록 구성되며, 상기 IO 인터페이스는 상기 생성된 구조화 관계 정보를 디스플레이하는 구조화 관계 정보를 생성하는 장치가 제공된다.
정보 처리 시스템이 텍스트 입력을 하나 이상의 카테고리들로 분류하는 단계를 포함하는 비구조화 텍스트로부터 관계 정보를 생성하는 방법이 제공된다. 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함한다. 또한, 상기 방법은 상기 하나 이상의 카테고리들에 기초하여 텍스트 입력으로부터 하나 이상의 엔티티들을 추출하는 단계를 포함한다. 이후에, 상기 방법은, 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들, 상기 텍스트 입력에 존재하는 정보 및 상기 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여, 상기 텍스트 입력과 상기 정보 처리 시스템에 저장된 기타 분류된 텍스트 입력들 각각 사이에 관계 가능성 인자를 결정하는 단계를 포함한다. 상기 관계 가능성 인자는 양의 값이나 음의 값 중 하나이다. 상기 관계 인자를 결정하면, 상기 방법은, 상기 가능성 인자가 양수인 경우, 상기 프로세서가, 상기 텍스트 입력과 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 상기 정보 처리 시스템과 연관된 사용자에 대한 구조화 관계 정보를 생성하는 단계를 포함한다. 마지막으로, 상기 방법은 미리 정의된 관계 기준에 기초하여 관계 시퀀스에서 사용자에게 구조화 관계 정보를 제공할 수 있다.
또한, 본 개시는 비구조화 텍스트로부터 관계 정보를 생성하기 위한 정보 처리 시스템을 포함한다. 상기 정보 처리 시스템은 프로세서와, 상기 프로세서와 통신이 가능하도록 결합된 메모리를 포함한다. 상기 메모리는 실행 시, 상기 프로세서가 텍스트 입력을 하나 이상의 카테고리들로 분류하도록 하는 프로세서로 실행가능한 명령어들을 저장한다. 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함한다. 또한, 상기 프로세서는 상기 하나 이상의 카테고리들에 기초하여 텍스트 입력으로부터 하나 이상의 엔티티들을 추출한다. 이후에, 상기 프로세서는, 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들, 상기 텍스트 입력에 존재하는 정보 및 상기 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여, 상기 텍스트 입력과 상기 정보 처리 시스템에 저장된 기타 분류된 텍스트 입력들 각각 사이에 관계 가능성 인자를 결정한다. 상기 관계 가능성 인자는 양의 값이나 음의 값 중 하나이다. 상기 관계 가능성 인자를 결정하면, 상기 프로세서는, 상기 가능성 인자가 양수인 경우, 상기 텍스트 입력과 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 상기 정보 처리 시스템과 연관된 사용자에 대한 구조화 관계 정보를 생성한다. 마지막으로, 상기 프로세서는 미리 정의된 관계 기준에 기초하여, 상기 구조화 관계 정보를 관계 시퀀스에서 사용자에게 제공한다.
전술한 요약은 단지 예시적인 것이며, 어떠한 방식으로든 제한하고자 하지 않는다. 전술한 예시적인 측면들, 실시예들 및 특징들에 추가하여, 추가적인 측면들, 실시예들 및 특징들은 도면들 및 이하의 상세한 설명을 참조하여 명백해질 것이다.
본 개시는 임의의 포맷의 텍스트 입력을 템플릿으로 동적으로 변환하는 지능형 템플릿 변환 기술에 기초하여 텍스트 입력을 분류하고, 상기 텍스트 입력을 상이한 카테고리로 분류할 수 있게 한다. 따라서, 본 개시는 알려지거나 미리 정의된 포맷의 텍스트 입력만을 분류 및 프로세싱하는 제한을 제거하여, 각각의 새로운 텍스트 포맷을 빈번히 구성하는 지루한 과정을 제거한다.
본 개시는 2개의 텍스트 입력들 간의 관계 연관을 수행함으로써 사용자에게 오퍼, 정보, 일회용 패스워드(One Time Password: OTP), 리마인더(reminder) 등과 같은 가장 적합한 콘텐츠를 추천할 수 있도록 한다. 관계 연관에 기초한 이러한 추천은, 그렇지 않으면 무시되었을 오퍼, OTP 등과 같은 콘텐츠를 사용자가 사용할 수 있도록 한다.
본 개시의 특정 실시예들의 상기 및 다른 측면들, 특징들 및 이점들은 첨부된 도면들과 관련하여 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은 본 개시의 일 실시예에 따른 예시적인 지불 카드 시퀀스를 도시한다.
도 2는 본 개시의 일 실시예에 따른 복합 뷰(composite view)를 갖는 예시적인 디스플레이 카드를 도시한다.
도 3은 본 개시의 일 실시예에 따라, 비구조화(unstructured) 텍스트로부터 관계 정보를 생성하기 위한 예시적인 블록도이다.
도 2c는 본 개시의 일 실시예에 따른 예시적인 텍스트 입력을 도시한다.
도 2d는 본 개시의 일 실시예에 따라 텍스트 입력으로부터의 예시적인 엔티티들을 도시한다.
도 2e는 본 개시의 일 실시예에 따른 예시적인 구조화(structured) 관계 정보를 도시한다.
도 3a는 본 개시의 일 실시예에 따른 비구조화 텍스트로부터 구조화 관계 정보를 생성하기 위한 정보 처리 시스템의 블록도를 도시한다.
도 3b는 본 개시의 일 실시예에 따른 예시적인 계층적 CNN(Convolutional Neural Network)을 도시한다.
도 3c는 본 개시의 일 실시예에 따른 텍스트 입력의 예시적인 카테고리들에 사용되는 예시적인 엔티티 파서들을 도시한다.
도 3d 및 도 3e는 본 개시의 일 실시예에 따른 구조화 관계 정보의 예시적인 직관적인 디스플레이들을 도시한다.
도 3fa 및 도 3fb는 본 개시의 일 실시예에 따라 수신된 예시적인 비구조화 텍스트 입력들을 도시한다.
도 3g는 본 개시의 일 실시예에 따른 예시적인 디스플레이 카드들의 통합(consolidated) 뷰를 도시한다.
도 3ha은 본 개시의 일 실시예에 따라 구조화 관계 정보를 생성하는 예시적인 방법을 도시한다.
도 3hb는 본 개시의 일 실시예에 따라 구조화 관계 정보를 업데이트하는 예시적인 방법을 도시한다.
도 3ia, 3ib 및 3ic은 본 개시의 일 실시예에 따라 비구조화 텍스트로부터 관계 정보를 생성하는 예시적인 시나리오들을 도시한다.
도 3ja은 본 개시의 일 실시예에 따른 비구조화 텍스트의 예시적인 저장 포맷을 도시한다.
도 3jb는 본 개시의 일 실시예에 따른 분류된 텍스트 입력의 예시적인 저장 포맷을 도시한다.
도 3ka은 본 개시의 일 실시예에 따라 사용자 장치에 저장된 비구조화 노트들로부터 관계 정보를 생성하는 예시적인 시나리오를 도시한다.
도 3kb는 본 개시의 일 실시예에 따라 사용자를 위해 다수의 오퍼들로부터 최선의 오퍼를 선택하는 예시적인 시나리오를 도시한다.
도 3kc은 본 개시의 일 실시예에 따라 사용자의 선호 언어로 관계 정보를 생성하는 예시적인 시나리오를 도시한다.
도 4는 본 개시의 일 실시예에 따라 비구조화 텍스트로부터 관계 정보를 생성하는 흐름도이다.
도 5는 본 개시의 일 실시예에 따라 비구조화 텍스트로부터 관계 정보를 생성하는 전자 장치의 블록도이다.
적어도 하나의 애플리케이션을 통해 텍스트 입력을 수신하는 단계, 상기 텍스트 입력을 적어도 하나의 카테고리로 분류하는 단계, 상기 텍스트 입력으로부터 파생된 텍스트를 나타내는 구성요소를 포함하는 제1 엔티티를 상기 텍스트 입력으로부터 추출하는 단계, 상기 텍스트 입력으로부터의 제1 엔티티와 상기 전자 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔티티를 연관시켜, 구조화 관계 정보를 생성하는 단계 및 상기 구조화 관계 정보를 상기 전자 장치에 디스플레이하는 단계를 포함하는 방법이 제공된다.
적어도 하나의 애플리케이션을 통해 텍스트 입력을 수신하는 입력/출력(IO) 인터페이스 및 프로세서를 포함하되, 상기 프로세서는, 상기 텍스트 입력을 적어도 하나의 카테고리로 분류하고, 상기 텍스트 입력으로부터 파생된 맥락을 나타내는 구성요소를 포함하는 제1 엔티티를 추출하고, 상기 텍스트 입력으로부터의 제1 엔티티와 상기 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔티티를 연관시켜, 구조화 관계 정보를 생성하도록 구성되며, 상기 IO 인터페이스는 상기 생성된 구조화 관계 정보를 디스플레이하는 구조화 관계 정보를 생성하는 장치가 제공된다.
정보 처리 시스템이 텍스트 입력을 하나 이상의 카테고리들로 분류하는 단계를 포함하는 비구조화 텍스트로부터 관계 정보를 생성하는 방법이 제공된다. 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함한다. 또한, 상기 방법은 상기 하나 이상의 카테고리들에 기초하여 텍스트 입력으로부터 하나 이상의 엔티티들을 추출하는 단계를 포함한다. 이후에, 상기 방법은, 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들, 상기 텍스트 입력에 존재하는 정보 및 상기 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여, 상기 텍스트 입력과 상기 정보 처리 시스템에 저장된 기타 분류된 텍스트 입력들 각각 사이에 관계 가능성 인자를 결정하는 단계를 포함한다. 상기 관계 가능성 인자는 양의 값이나 음의 값 중 하나이다. 상기 관계 인자를 결정하면, 상기 방법은, 상기 가능성 인자가 양수인 경우, 상기 프로세서가, 상기 텍스트 입력과 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 상기 정보 처리 시스템과 연관된 사용자에 대한 구조화 관계 정보를 생성하는 단계를 포함한다. 마지막으로, 상기 방법은 미리 정의된 관계 기준에 기초하여 관계 시퀀스에서 사용자에게 구조화 관계 정보를 제공할 수 있다.
또한, 본 개시는 비구조화 텍스트로부터 관계 정보를 생성하기 위한 정보 처리 시스템을 포함한다. 상기 정보 처리 시스템은 프로세서와, 상기 프로세서와 통신이 가능하도록 결합된 메모리를 포함한다. 상기 메모리는 실행 시, 상기 프로세서가 텍스트 입력을 하나 이상의 카테고리들로 분류하도록 하는 프로세서로 실행가능한 명령어들을 저장한다. 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함한다. 또한, 상기 프로세서는 상기 하나 이상의 카테고리들에 기초하여 텍스트 입력으로부터 하나 이상의 엔티티들을 추출한다. 이후에, 상기 프로세서는, 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들, 상기 텍스트 입력에 존재하는 정보 및 상기 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여, 상기 텍스트 입력과 상기 정보 처리 시스템에 저장된 기타 분류된 텍스트 입력들 각각 사이에 관계 가능성 인자를 결정한다. 상기 관계 가능성 인자는 양의 값이나 음의 값 중 하나이다. 상기 관계 가능성 인자를 결정하면, 상기 프로세서는, 상기 가능성 인자가 양수인 경우, 상기 텍스트 입력과 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 상기 정보 처리 시스템과 연관된 사용자에 대한 구조화 관계 정보를 생성한다. 마지막으로, 상기 프로세서는 미리 정의된 관계 기준에 기초하여, 상기 구조화 관계 정보를 관계 시퀀스에서 사용자에게 제공한다.
전술한 요약은 단지 예시적인 것이며, 어떠한 방식으로든 제한하고자 하지 않는다. 전술한 예시적인 측면들, 실시예들 및 특징들에 추가하여, 추가적인 측면들, 실시예들 및 특징들은 도면들 및 이하의 상세한 설명을 참조하여 명백해질 것이다.
본 명세서에서 사용되는 용어들이 간략하게 설명되고, 본 개시는 상세하게 설명될 것이다.
본 개시에서 사용되는 용어들이 본 개시의 기능들을 고려하여 현재 사용되는 일반적인 용어들로 선택되지만, 상기 용어들은 당업자의 의도, 판례나 새로운 기술의 도입에 따라 다양할 수 있다. 또한, 특정 경우에서, 본 출원인은 용어들을 자발적으로 선택할 수 있고, 이 경우, 용어들의 의미는 본 개시의 대응하는 설명 부분에 개시된다. 따라서, 본 개시에서 사용되는 용어들은 용어들의 단순한 명칭들에 의해서가 아니라, 본 개시에 걸쳐 용어들 및 내용들의 의미에 의해 정의되어야 한다.
전체 개시에 걸쳐, 특정 부분이 특정 구성요소를 포함한다고 가정하면, 해당 구성요소에 반하는 특정 의미가 기재되지 않는 한, "포함하는(including)"이라는 용어는 대응하는 구성요소가 다른 구성요소들을 더 포함할 수 있다는 것을 의미한다. "부(unit)" 또는 "모듈(module)"과 같이 실시예들에서 사용되는 용어는 적어도 하나의 기능 또는 동작을 처리하는 부를 나타내고, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
본 개시 전반에 걸쳐, "a, b 또는 c 중 적어도 하나"는 a, b, c, a 와 b, a 와 c, a, b 와 c, 또는 이들의 변형을 나타낸다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세히 설명하여 당업자가 상시 실시예들을 용이하게 수행하도록 한다. 그러나, 본 개시는 다양한 형태들로 구현될 수 있고, 본 명세서에 기술된 실시예들로 한정되지 않는다. 본 개시를 명확하게 설명하기 위해, 설명과 연관되지 않은 부분들은 도면들에서 생략되고, 명세서 전반에 걸쳐 동일한 참조 번호들은 동일한 부분들을 지칭한다.
본 개시에 따른 기능들은 모바일 장치의 프로세서 및 메모리를 통해 수행될 수 있다. 상기 프로세서는 하나의 프로세서 또는 복수의 프로세서들을 포함할 수 있다. 이와 관련하여, 상기 하나의 프로세서나 복수의 프로세서들은 CPU(Central Processing Unit), AP(Application Processor) 또는 DSP(Digital Signal Processor)와 같은 범용 프로세서, GPU나 VPU(Vision Processing Unit)과 같은 그래픽 프로세서, 또는 NPU와 같은 인공 지능 프로세서일 수 있다. 상기 하나의 프로세서나 복수의 프로세서들은 메모리에 저장된 미리 정의된 동작 규칙 또는 모델에 따라 입력 데이터를 처리하도록 제어한다. 또는, 상기 하나의 프로세서나 복수의 프로세서들이 인공 지능 프로세서들인 경우, 상기 인공 지능 프로세서들은 특정 인공 지능 모델을 처리하도록 전문화된 하드웨어 구조를 갖도록 설계될 수 있다.
본 개시에서, "예시적인(exemplary)"이라는 단어는 본 명세서에서 "일 예 또는 예시로서 서빙(serving)"을 의미하는 것으로 사용된다. "예시적인"으로서 본 명세서에 기술된 본 개시의 임의의 실시예 또는 구현은 반드시 다른 실시예들에 비해 바람직하거나 유리한 것으로 해석되어서는 안된다.
본 개시가 다양한 수정 및 대안적인 형태들에 영향을 받기 쉽지만, 그 특정 실시예는 도면들에서 예로서 도시되어 있으며, 아래에서 상세하게 설명될 것이다. 그러나, 본 개시를 개시된 형태들로 제한하려는 것은 아니며, 반대로, 본 개시는 본 개시의 범위에 속하는 모든 수정들, 등가물들, 및 대안들을 포함할 것이다.
"포함하다(comprises)", "포함하는(comprising)", "포함하다(includes)", 또는 이들의 임의의 다른 변형된 용어들은 구성요소들 또는 단계들의 리스트를 포함하는 설정(setup), 장치 또는 방법이 그러한 구성요소들이나 단계들만 포함하지 않고, 명백하게 열거되지 않거나, 그러한 설정 또는 장치나 방법에 고유한 다른 구성요소들이나 단계들을 포함하도록, 비배타적인 포함을 다루도록 의도된다. 즉, "a를 포함하는"이 앞에 있는 시스템 또는 장치의 하나 이상의 요소가 더 많은 제약 없이, 그러한 시스템 또는 방법의 다른 요소들 또는 추가 요소들의 존재를 배제하지 않는다.
전형적으로, 이동 전화는 공급 업체를 기반으로 미리 정의된 SMS 템플리트의 형태인 SMS(Short Message Service) 메시지에서 데이터를 추출하는 짧은 SMS 오거나이저(organizer)를 제공한다. 그러나, 이러한 기술은 유용한 인사이트를 제공하기 위해 SMS로부터 실시간 학습을 제공할 수 없다. 예를 들어, 도 1에 도시된 바와 같이 예시적인 지불 카드를 고려한다. 이러한 지불 카드는 지불 세부사항들과 같은 여러 범주의 정보를 포함하고 지불 카드에 표시된 지불에 적용될 수 있거나 적용될 수 없는 몇 가지 오퍼를 포함하는 세부사항들을 제공합니다. 상기 오퍼 세부사항들이 "이용가능한 오퍼"로서 도 1에 도시되어 있지만, 기존 기술은 사용자에게 지불 카드만 표시할 수 있으나 지불 카드에 적용될 수 있는 오퍼 세부사항들은 추출할 수 없다. "이용가능한 오퍼" 옵션을 클릭하면, 오퍼 쇼케이스는 적용 가능하지 않거나 후불 청구서 지불과 연관조차 되지 않는다. 따라서, 기존 기술은 추가 처리를 위해 지불 세부사항들과 오퍼 세부사항들을 연관시키지 못한다. 따라서, 사용자는 오퍼 세부사항들을 연결하고 각 오퍼를 개별적으로 검토하는 지루한 작업을 해서, 지불에 적용가능한 오퍼를 찾아야 한다. 어떤 경우에는, 이러한 지루한 작업을 수행하는 대신, 사용자는 오퍼 세부사항들을 보지 않고도 지불을 선택할 수 있다. 또한, 기존 기술은 위의 예에서 지불 세부사항들과 오퍼 세부사항들을 연관시키지 못하므로, 오퍼 세부사항들과 연관된 최근 업데이트나 지불에 영향을 줄 수 있는 오퍼 세부사항들과 연관된 리마인더를 제공하지 않는다. 추가적으로, 기존 기술은 미리 정의된 SMS 템플릿에 의존하므로, 포맷과 연관된 템플릿이 미리 정의될 때까지, 새로운 포맷이나 알려지지 않은 포맷의 텍스트 입력을 인식하지 못한다. 따라서, 기존 기술은 포맷이 시간이 지남에 따라 계속 변화하므로 가능한 옵션이 아닌 각 새 포맷을 업데이트하는 지루한 작업을 수행한다.
전체 개시에 걸쳐, "관계 정보"라는 용어는 "관계 정보"라는 용어와 함께 상호교환적으로 사용될 수 있다. "관계 가능성 인자"라는 용어는 "관계 인자"라는 용어와 함께 상호교환적으로 사용될 수 있다. 정보 처리 시스템은 "전자 장치"나 "장치"와 상호교환적으로 사용될 수 있다.
비구조화 텍스트로부터 관계 정보를 생성하기 위한 방법 및 장치가 제공된다. 상기 정보 처리 시스템은 비구조화 포맷의 텍스트 입력을 하나 이상의 카테고리로 분류한다. 상기 정보 처리 시스템은 미리 정의된 템플릿이 필요없이, 텍스트 입력을 템플리트로 동적으로 변환할 수 있다. 따라서, 본 개시는 알려진 미리 정의된 포맷의 텍스트 입력만 클러터(clutter)로부터 카테고리화하는 단점을 극복함으로써, 알려지지 않은 포맷이나 새로운 포맷의 텍스트 입력을 처리하는 유연성을 제공한다. 일 실시예에서, 상기 하나 이상의 카테고리는 오퍼 카테고리, 리마인더 카테고리, 정보 텍스트 입력, OTP 텍스트 입력 등을 포함하는 기타 카테고리를 포함할 수 있으나, 이에 한정되는 것은 아니다. 일 실시예에서, 상기 정보 처리 시스템은 서비스나 제품의 소스를 나타내는 브랜드를 포함하는 텍스트 입력을 분류할 수 있다. 일 예로서, "ABCD"라는 브랜드와 연관된 모든 오퍼 메시지들은 "ABCD"라는 제목 아래로 카테고리화될 수 있다. 또한, 상기 정보 처리 시스템은 텍스트 입력의 해당 카테고리에 적용 가능한 하나 이상의 엔티티 파서를 사용하여 분류된 텍스트 입력 각각 으로부터 하나 이상의 엔티티를 추출할 수 있다.
상기 정보 처리 시스템은 상기 결정된 카테고리 및 텍스트 입력의 추출된 하나 이상의 엔티티에 기초하여 직관적인 방식으로 텍스트 입력의 요약을 포함하는 디스플레이 카드를 생성할 수 있다. 본 개시에서, 상기 정보 처리 시스템은 추천된 컨텐츠의 최선의 이용을 보장하도록, 사용자에게 추천될 컨텐츠와 연관된 구조화 관계 정보를 생성하여 제공한다. 일 예로, 사용자가 Rs.(루피) 1500의 인터넷 요금을 지불해야 한다고 고려한다.
도 2a는 본 개시의 일 실시예에 따른 복합 뷰(composite view)를 갖는 예시적인 디스플레이 카드를 도시한다.
일 예에서, "PQR Bank"의 신용 카드가 청구서를 납부하는데 사용되는 경우, 사용자가 Rs.200의 캐쉬백을 얻을 수 있는 "PQR Bank"에 의해 제공되는 오퍼를 캡쳐한 디스플레이 카드가 있다. 따라서, 상기 정보 처리 시스템은 도 2A에 도시 된 바와 같이 "청구서 납부(Pay bills)" 탭과 함께 오퍼의 세부사항들을 캡처하는 복합 뷰를 갖는 디스플레이 카드를 제공할 수 있다. 사용자가 "청구서 납부(Pay bills)" 탭을 클릭하면, 상기 정보 처리 시스템은 오퍼가 적용될 수 있는 사용자의 인터넷 청구서나 다른 청구서를 보여줄 수 있다.
따라서, 상기 정보 처리 시스템은, 텍스트 입력과 기타 분류된 텍스트 입력들이 속하는 카테고리들과, 텍스트 입력과 기타 분류된 텍스트 입력들에 포함된 정보에 기초하여, 하나의 텍스트 입력과 상기 기타 분류된 텍스트 입력들 간의 관계 가능성 인자(relationship possibility factor)를 결정한다. 상기 관계 가능성 인자가 양수이면, 즉 텍스트 입력들과 상기 기타 분류된 텍스트 입력들 사이의 관계를 설정할 수 있는 경우, 상기 정보 처리 시스템은 상기 텍스트 입력과 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 사용자에 대해 구조화 관계 정보를 생성할 수 있다. 마지막으로, 상기 정보 처리 시스템은 미리 정의된 관계 기준에 기초하여 관계 시퀀스에서 사용자에게 구조화 관계 정보를 제공할 수 있다. 일 실시예에서, 관계 시퀀스와 미리 정의된 관계 기준은 구조화 관계 정보가 적절한 시간에 사용자에게 제공되도록 하여, 상기 구조화 관계 정보를 통해 사용자를 위해 추천된 컨텐츠를 이용할 수 있는 확률이 높아진다.
또한, 상기 정보 처리 시스템은 텍스트 입력 및 기타 분류된 텍스트 입력들 중 적어도 하나에 존재하는 정보와 연관된 하나 이상의 업데이트가 수신될 때, 구조화 관계 정보를 실시간으로 업데이트할 수 있다. 이러한 업데이트는, 사용자가 가장 최근 및 업데이트된 정보나 오퍼를 제공받을 수 있도록 한다.
서로 통신하는 몇 가지 구성요소들을 포함하는 실시예에 대한 설명은 그러한 모든 구성요소들이 요구되는 것을 의미하지는 않는다. 반대로, 다양한 선택적인 구성요소들이 본 개시의 다양한 가능한 실시예들을 예시하기 위해 설명된다.
도 2b는 본 개시의 일 실시예에 따라, 비구조화 텍스트로부터 관계 정보를 생성하기 위한 예시적인 블록도이다.
상기 구조(200)는 소스(2012) 내지 소스(201n)(하나 이상의 소스들(201)로도 칭함), 사용자 장치(203)와 정보 처리 시스템(205)을 포함한다. 일 예로서, 상기 하나 이상의 소스들(201)은, 사용자, 서비스 제공자들, 쇼핑 웹사이트 서버들, 은행 서버들 등에 의해 이용되는 다양한 애플리케이션에 대한 알림을 제공하는 애플리케이션 서버를 포함하나 이로 제한되지는 않는다. 일 실시예에서, 상기 하나 이상의 소스들(201)은 AlexaTM, Bixby® 등과 같은 음성 보조 또는 음성 작동 장치들일 수 있다. 일 예로서, 상기 사용자 장치(203)는 이동 장치, 테블릿, 노트북 및 데스크탑을 포함하나 이로 한정되지는 않는다. 일 실시예에서, 상기 사용자 장치(203)는 뱅킹 애플리케이션, 쇼핑 애플리케이션, 식품 배달 애플리케이션, 티켓 예약 애플리케이션, 게임 애플리케이션, 채팅 애플리케이션, 예약 애플리케이션 등과 같은 하나 이상의 애플리케이션을 설치 및 운영하기 위해 사용자가 사용할 수 있다. 상기 사용자 장치(203)는 통신 네트워크를 통해 하나 이상의 애플리케이션들 각각의 서버들과 연관될 수 있다. 상기 통신 네트워크는 무선 통신 네트워크일 수 있다. 일 실시예에서, 상기 사용자 장치(203)는 상기 하나 이상의 애플리케이션들의 서버들로부터, 메시지, 전자 메일, 알림, 오퍼, 광고 등과 같은 통신을 수신할 수 있다. 일 실시예에서, 상기 통신은 대응하는 하나 이상의 애플리케이션과 연관된 정보를 포함할 수 있다. 상기 사용자 장치(203)에 의해 수신된 정보는 상기 사용자 장치(203)에 설치된 대응하는 애플리케이션으로부터 검색 가능하다. 일 실시예에서, 상기 사용자 장치(203)에 의해 수신된 통신은 상기 정보 처리 시스템(205)에 대한 텍스트 입력의 역할을 할 수 있다. 일 실시예에서, 상기 정보 처리 시스템(205)은 상기 사용자 장치(203)에서 구성될 수 있다. 일 실시예에서, 상기 정보 처리 시스템(205)은 프로세서(207), 입출력(I/O) 인터페이스(209) 및 메모리(211)를 포함할 수 있다. 상기 I/O 인터페이스(209)는 상기 사용자 장치(203)에 설치된 적어도 하나의 애플리케이션으로부터 텍스트 입력을 수신하거나 검색하는 것을 용이하게 할 수 있다. 일 예로서, 상기 텍스트 입력은 텍스트 메시지, 전자 메일, 통지, 사용자가 저장한 노트, RCS(Rich Content Service) 메시지 등 중 적어도 하나에 존재하는 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다. 일 실시예에서, 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함할 수 있다.
도 2c는 본 개시의 일 실시예에 따른 예시적인 텍스트 입력을 도시한다.
비구조화 텍스트 포맷의 정보를 포함하는 예시적인 텍스트 입력이 도 2c를 참조하여 도시된다. 상기 예시적인 텍스트 입력은, 사용자에 의해 예약된 티켓에 관해, 사용자에 의해 수신된 메시지로부터 파생된다. 상기 텍스트 입력을 수신하면, 상기 프로세서(207)는 상기 텍스트 입력을 하나 이상의 카테고리들로 분류할 수 있다. 일 예로서, 상기 하나 이상의 카테고리들은, 사용자에 대한 스케줄 리마인더, 서비스나 제품들과 연관된 오퍼에 대한 오퍼 카테고리, 사용자와 메시지 발신인 사이의 거래와 연관된 거래 카테고리, 상기 메시지 발신인으로부터의 단순한 안부인사와 연관된 안부인사 카테고리, 요청이 메시지의 발신인에 의해 제공되는 요청 카테고리, 또는 단순 확인(acknowledgement) 카테고리를 포함할 수 있으나, 이에 한정되지 않는다. 또한, 상기 프로세서(207)는 하나 이상의 카테고리에 기초하여 텍스트 입력으로부터 하나 이상의 엔티티들을 추출할 수 있다. 일 실시예에서, 텍스트 입력으로부터 추출된 하나 이상의 엔티티들은 텍스트 입력의 텍스트를 나타내는 구성요소일 수 있다. 마찬가지로, 하나 이상의 엔티티들이 기타 텍스트 입력들 중 적어도 하나로부터 추출될 수 있다.
도 2d는 본 개시의 일실시예에 따라 텍스트 입력으로부터의 예시적인 엔티티들을 도시한다.
일 예로서, 예시적인 텍스트 입력이 도 2D를 참조하여 도시된다. 도 2D를 참조하면, "쇼핑", "2개 구매 시 4개 무료" 및 "유효 기간"과 같은 원으로 표시된 구성요소들은 예시적인 텍스트 입력으로부터 추출된 하나 이상의 예시적인 엔티티들일 수 있다.
상기 하나 이상의 엔티티들을 추출하면, 상기 프로세서(207)는 텍스트 입력과, 정보 처리 시스템이나 원격 서버(미도시)에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나 사이의 관계 가능성 인자를 결정할 수 있다. 일 실시예에서, 기타 분류된 텍스트 입력들 각각은 상기 정보 처리 시스템(205)에 의해 현재 수신된 텍스트 입력과 상이한 텍스트 입력들일 수 있다. 일 예로서, 동일한 애플리케이션이나 상이한 애플리케이션으로부터 검색된 상기 기타 텍스트 입력들은 하나 이상의 카테고리들로 카테고리화될 수 있다.
일 실시예에서, 상기 관계 가능성 인자는 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들, 상기 텍스트 입력에 존재하는 정보 및 상기 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여 결정될 수 있다. 상기 관계 가능성 인자는 양의 값이나 음의 값(+/- 1) 중 하나를 가질 수 있다. 일 실시예에서, 상기 관계 가능성 인자가 양수인 경우, 상기 프로세서(207)는 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들 간의 관계가 존재한다고 유추할 수 있다. 일 실시예에서, 상기 관계 가능성 인자가 음수인 경우, 상기 프로세서(207)는 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들 간의 관계가 존재하지 않는다고 유추할 수 있다.
상기 관계 가능성 인자가 양수로 결정되면, 상기 프로세서(207)는 텍스트 입력 및 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시킴으로써, 상기 정보 처리 시스템과 연관된 사용자에 대한 구조화 관계 정보를 생성할 수 있다. 일 실시예에서, 상기 구조화 관계 정보는, 미리 정의된 직관적 디스플레이 포맷으로, 상기 텍스트 입력에 존재하는 정보와 기타 분류된 텍스트 입력들 중 적어도 하나에 존재하는 정보의 복합 뷰를 포함할 수 있다. 상기 프로세서(207)는 디스플레이(미도시)가 상기 정보 처리 시스템(205)에 대한 구조화 관계 정보를 디스플레이하도록 제어할 수 있다.
도 2e는 본 개시의 일 실시예에 따른 예시적인 구조화 관계 정보를 도시한다.
도 2e를 참조하면, 미리 정의된 직관적인 디스플레이 포맷으로 디스플레이된 예시적인 구조화 관계 정보가 도시된다. 상기 프로세서(207)는 미리 정의된 관계 기준에 기초하여, 상기 구조화 관계 정보를 관계 시퀀스에서 사용자에게 제공할 수 있다.
일 실시예에서, 상기 미리 정의된 관계 기준은 시간, 전자 장치의 사용자의 위치, 상기 텍스트 입력으로부터 추출된 이벤트나 상기 텍스트 입력으로부터 추출된 금액 중 적어도 하나를 포함할 수 있다. 예를 들면, 사용자가 "주가가 $215 보다 낮으면 A 회사의 주식을 팔아라"는 노트를 작성한 경우, 상기 텍스트 입력으로부터 추출된 $215라는 양은 주가 거래 애플리케이션으로 A 회사의 주가를 보여주는 구조화 관계 정보를 트리거할 수 있다.
일 실시예에서, 구조화 관계 정보를 생성하고 관계 시퀀스에서 사용자에게 구조화 관계 정보를 제공하는 것은 사용자 프로파일 및/또는 맥락(contextual) 파라미터들에 기초할 수 있다. 예를 들면, 사용자 프로파일은, 사용자의 위치, 사용자 선호도, 애플리케이션 사용 통계, 사용자의 이름, 및/또는 사용자의 스케줄을 포함할 수 있고, 상기 맥락 파라미터들은, 인구통계(demography), 사용자의 위치, 텍스트 입력 및 기타 분류된 텍스트 입력들에서 언급된 위치들, 날짜 및 시간, 텍스트 입력 및/또는 기타 분류된 텍스트 입력들에 포함된 스케줄, 애플리케이션 사용 통계, 서비스나 제품들의 이벤트들, 사람의 이름, 사용자 선호도, 텍스트 입력 및 기타 분류된 텍스트 입력들에서 언급된 유효성(validity), 텍스트 입력 및 기타 분류된 텍스트 입력들에 포함된 '세일', '약속', '축하', '초대' 등과 같은 미리 정의된 진술(statements)과 텍스트 입력 및/또는 기타 분류된 텍스트 입력들에서 언급된 비용 또는 가격을 포함할 수 있으나, 이에 한정되지는 않는다. 일 실시예에서, 상기 프로세서(207)는 텍스트 입력과, 구조화 관계 정보의 생성에 기여한 기타 분류된 텍스트 입력들 중 적어도 하나 중 적어도 하나에 존재하는 정보와 연관된 하나 이상의 업데이트들을 수신하면, 구조화 관계 정보를 실시간으로 업데이트할 수 있다.
도 3a는 본 개시의 일 실시예에 따른 비구조화 텍스트로부터 구조화 관계 정보를 생성하기 위한 정보 처리 시스템의 블록도를 도시한다.
일부 구현들에서, 상기 정보 처리 시스템(205)은 데이터(303)와 모듈들(305)을 포함할 수 있다. 일 예로서, 상기 데이터(303)는 도 3A에 도시된 바와 같이 정보 처리 시스템(205)에 구성된 메모리(211)에 저장될 수 있다. 일 실시예에서, 상기 데이터(303)는 입력 데이터(307), 분류된 데이터(309), 엔티티 데이터(311), 관계 가능성 인자에 대응하는 관계 가능성 데이터(313), 구조화 관계 정보(315), 업데이트된 관계 정보(317)와 기타 데이터(319)를 포함할 수 있다.
일 실시예에서, 상기 데이터(303)는 다양한 데이터 구조들의 형태로 메모리(211)에 저장될 수 있다. 또한, 상기 데이터(303)는 관계 또는 계층적 데이터 모델들과 같은 데이터 모델들을 이용하여 정리될 수 있다. 상기 기타 데이터(319)는 상기 정보 처리 시스템(205)의 다양한 기능들을 수행하기 위해 모듈들(305)에 의해 발생되는 임시 데이터와 임시 파일들을 포함하는 데이터를 저장할 수 있다.
일 실시예에서, 상기 메모리(211)에 저장된 상기 데이터(303)는 상기 정보 처리 시스템(205)의 모듈들(305)에 의해 처리될 수 있다. 상기 모듈들(305)은 상기 메모리(211) 내에 저장될 수 있다. 일 예에서, 상기 정보 처리 시스템(205)에 구성된 프로세서(207)에 통신 가능하도록 결합된 상기 모듈들(305)은 도 3A에 도시된 바와 같이 메모리(211) 외부에 존재할 수 있고, 하드웨어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 모듈이라는 용어는 ASIC(Application Specific Integrated Circuit), 전자 회로, 프로세서(공유, 전용 또는 그룹) 및 하나 이상의 소프트웨어나 펌웨어 프로그램들을 실행하는 메모리, 조합 논리 회로 및/또는 기술된 기능을 제공하는 다른 적절한 구성요소들을 칭한다.
일 실시예에서, 상기 모듈(305)은 예를 들어, 검색 모듈(321), 분류 모듈(323), 엔티티 추출 모듈 (325), 관계 가능성 결정 모듈(327), 관계 정보 생성 모듈(329), 정보 제공 모듈(331), 업데이트 모듈(333) 및 기타 모듈들(334)을 포함할 수 있다. 상기 기타 모듈들(334)은 상기 정보 처리 시스템(205)의 다양한 여러 기능들을 수행하는데 사용될 수 있다. 상기 전술한 모듈들(305)은 단일 모듈 또는 상이한 모듈들의 조합으로 표현될 수 있음을 이해할 것이다. 상기 전술한 모듈들(305)은 상기 프로세서(207)에 의해 처리되거나 액세스되어 대응하는 동작을 수행할 수 있음을 이해할 것이다. 따라서, 상기 모듈들(305)에 의해 수행되는 동작은 상기 프로세서(207)에 의해 기술적으로 수행될 수 있다.
일 실시예에서, 상기 검색 모듈(321)은 사용자 장치(203)에 설치된 적어도 하나의 애플리케이션으로부터 텍스트 입력을 검색할 수 있다. 일 예로서, 상기 텍스트 입력은 텍스트 메시지, 채팅 애플리케이션에서 이루어지는 채팅, 전자 메일, 알림, 메모, 워드 프로세서 애플리케이션에 의해 생성된 텍스트, 알람, 사용자에 의해 저장되는 노트, RCS 메시지 등 중 적어도 하나에 존재하는 정보를 포함할 수 있으나, 이에 국한되지는 않는다. 일 실시예에서, 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함할 수 있다. 이와 같이 검색된 텍스트 입력은 입력 데이터(307)로서 저장될 수 있다.
일 실시예에서, 상기 분류 모듈(323)은 텍스트 입력을 하나 이상의 카테고리들로 분류할 수 있다. 일 예로서, 상기 하나 이상의 카테고리들은 리마인더 카테고리, 오퍼 카테고리, 거래 카테고리 및 기타 카테고리들을 포함할 수 있으나 이에 국한되지 않는다. 상기 표 1은 예시적인 카테고리들과 그 각각의 서브 카테고리들을 보여준다.
리마인더 카테고리 오퍼 카테고리 거래 카테고리 기타 카테고리
리마인더_청구서 오퍼_비행 거래_청구서 정보
리마인더_항공편 오퍼_택시 거래_쇼핑 OTP
(One Time Password)
리마인더_열차 오퍼_식품 거래_식품
리마인더_택시 오퍼_호텔 거래_여행
리마인더_배달 오퍼_영화
리마인더_약속 오퍼_쇼핑
리마인더_버스 오퍼_식당
리마인더_영화
리마인더_행사
일 실시예에서, 상기 텍스트 입력은 하나 이상의 계층적 CNN 기술을 사용하여 상기 하나 이상의 카테고리들로 분류될 수 있다.
도 3b는 본 개시의 일 실시예에 따른 예시적인 계층적 CNN을 도시한다.
도 3b에 도시된 바와 같은 계층적 CNN에 기초하여, 상기 분류 모듈(323)은 상기 수신된 텍스트 입력을 템플릿으로 동적으로 변환할 수 있다. 일 예로서, 상기 텍스트 입력은 아래와 같이 수신된다.
<1개 구매 시 4개 무료 재고 정리 세일 진행 중 | 7월 9일-10일 ABCD 은행 카드 10% 즉시 할인! http://smsd.in/7mvgne79>
상기 분류 모듈(323)은 아래와 같이 상기 텍스트 입력을 해당 템플릿으로 동적으로 변환할 수 있다.
<<숫자>개 구매 시 <숫자>개 무료 재고 정리 세일 진행 중 | <날짜> ABCD 은행 카드 <숫자>% 즉시 할인! <url>>
상기 텍스트 입력 및 텍스트 입력의 템플릿을 사용하여, 상기 분류 모듈(323)은 텍스트 입력의 하나 이상의 하위 집합들을 생성하기 위해 랜덤 서브 샘플링을 수행할 수 있다. 동시에, 상기 분류 모듈(323)은 커스텀 임베딩(custom embeddings)을 생성하고, 이후에 벡터 양자화를 수행하여 양자화된 임베딩을 생성할 수 있다. 상기 분류 모듈(323)은 랜덤 서브 샘플링의 결과 및 임베딩 계층에 대한 벡터 양자화의 결과를 더 제공하고 나서, 텍스트 입력을 하나 이상의 카테고리들로 분류할 수 있다. 이와 같이 분류된 상기 텍스트 입력은 분류된 데이터(309)로서 메모리(211)에 저장될 수 있다.
또한, 일 실시예에서, 상기 텍스트 입력을 하나 이상의 카테고리들로 분류하면, 상기 엔티티 추출 모듈(325)은 상기 하나 이상의 분류된 카테고리들에 기초하여, 상기 텍스트 입력으로부터 하나 이상의 엔티티들을 추출할 수 있다. 일 실시예에서, 상기 텍스트 입력으로부터 추출된 상기 하나 이상의 엔티티들은 도 2D에 원으로 표시된 바와 같이, 상기 텍스트 입력의 컨텍스트를 나타내거나 표현하는 구성요소들일 수 있다. 일 실시예에서, 상기 엔티티 추출 모듈(325)은 상기 분류된 텍스트 입력을 파싱하여 상기 하나 이상의 엔티티들을 추출할 수 있다. 일 실시예에서, 상기 엔티티 추출 모듈(325)은 상기 분류된 텍스트 입력을 파싱하고 텍스트 입력으로부터 상이한 유형들의 엔티티들을 식별하기 위한 엔티티 파서들로 구성될 수 있다.
일 실시예에서, 상기 관계 가능성 인자는 상기 수신된 텍스트 입력으로부터 키워드를 검출하고 기타 분류된 텍스트 입력들 중 적어도 하나 또는 그 각각으로부터 다른 키워드를 검출하여 결정될 수 있으며, 상기 관계 가능성 인자가 양수인지 음수인지를 판단하기 위해 상기 키워드와 다른 키워드 간의 연관(association)이 결정될 수 있다. 첫 번째 키워드와 두 번째 키워드 사이의 연관이 검출되면, 상기 관계 가능성 인자가 양수가 된다.
표 2는 예시적인 엔티티 파서들과 이들의 대응하는 기능들을 보여준다.
엔티티 파서 기능
AppointmentId_Parser 리마인더 약속 메시지로부터 약속 ID 추출
AppointmentName_Parser 리마인더 약속 메시지로부터 약속 이름 추출
BookingId_Parser 리마인더 영화 메시지로부터 예약 ID 추출
ContactNum_Parser 리마인더 메시지로부터 연락처 검출
Coupon_Parser 오퍼 메시지로부터 쿠폰 코드 추출
CreditCardDue_Parser 리마인더 청구서에 대한 기한 추출
DeliveryItem_Parser 리마인더 배달로부터 제품 세부사항 추출
EntityNameNumber_Parser 여행 관련 메시지로부터 열차/항공편/버스 이름의 값 추출
EntityStatus_Parser 열차/항공편/버스가 지연되거나 취소되는지를 나타내는 상태 추출
HospitalName_Parser 리마인더 약속으로부터 호텔명 추출
MovieName_Parser 리마인더 영화 메시지로부터 영화 제목 추출
MovieScreen_Parser 리마인더 영화 메시지로부터 영화의 상영관 번호 추출
ServiceType_Parser 리마인더 약속에 대한 서비스 유형(의사, 전기 기술자, 배관)
Date_Parser 오퍼 메시지, 리마인더 메시지, 여행 관련 메시지 등으로부터 날짜 추출
Seat_Parser 기차, 버스, 이벤트 메시지들에 대한 좌석 번호 추출
TheatreName_Parser 영화가 상영 중인 극장명 추출
TicketCity_Parser 영화가 상영 중인 도시명 추출
Time_Parser 리마인더 오퍼에 대한 메시지, OTP 메시지들로부터 시간 추출
TravelerName_Parser 항공편, 열차 및 버스에 대한 여행자 이름 추출
MovieScreen_Parser 리마인더 영화로부터 극장의 상영관 ID 추출
OfferDetails_Parser 오퍼 메시지로부터 오퍼 스트링 세부사항 추출
OTP_Parser 검증/OTP 코드 메시지로부터 OTP 추출
PNR_Parser 리마인더 메시지로부터 항공편, 열차 및 버스의 승객명 리코드(PNR: Passenger Name Record)
BusBoardingPoint_Parser 리마인더 버스 메시지로부터 버스의 탑승 주소 추출
BusName_Parser 리마인더 버스 메시지로부터 버스명 추출
도 3c는 본 개시의 일 실시예에 따른 텍스트 입력의 예시적인 카테고리들에 사용되는 예시적인 엔티티 파서들을 도시한다.
일 실시예에서, 상기 엔티티 추출 모듈(325)은 도 3C에 도시된 바와 같이 텍스트 입력이 분류되는 하나 이상의 카테고리들에 기초하여, 상기 하나 이상의 엔티티들을 추출하기 위한 엔티티 파서들을 사용할 수 있다. 상기 카테고리가 "Reminder"이고 서브 카테고리가 "Reminder_Appointment"인 경우, 상기 엔티티 추출 모듈(325)은 "Location Parser(위치 파서)" 및 "Appointment Name Parser(약속명 파서)"와 같은 엔티티 파서들을 이용하여 "Location of the appointment(약속의 위치)"와 "Name/type of appointment(약속명 및 유형)"과 같은 엔티티들을 추출할 수 있다. 마찬가지로, 카테고리가 "오퍼"이고 서브 카테고리가 "오퍼_택시"인 경우, 상기 엔티티 추출 모듈(325)은 "오퍼 파서", "할인 코드 파서", "날짜 파서(도 3C에 미도시)"와 같은 엔티티 파서들을 이용하여, "오퍼 정보", "오퍼에 의해 제공되는 할인" 및 "오퍼의 유효성"과 같은 엔티티들을 추출할 수 있다. 그러나, 카테고리가 "기타 카테고리들"이고 서브 카테고리가 "정보"이면, "정보"가 상이한 유형의 엔티티들을 포함하므로 모든 엔티티 파서들이 하나 이상의 엔티티들을 추출하는데 이용될 수 있다. 상기 엔티티 추출 모듈(325)에 의해 이렇게 추출된 하나 이상의 엔티티들은 엔티티 데이터(311)로서 저장될 수 있다.
일 실시예에서, 상기 텍스트 입력으로부터 추출되거나 포함된 엔티티는 약속 리마인더와 연관된 텍스트 입력에 포함된 약속 정보, 예약 애플리케이션과 연관된 텍스트 입력에 포함된 예약 정보, 텍스트 입력에 포함된 시간 정보, 텍스트 입력에 포함된 위치 정보, 텍스트 입력에 포함된 연락처 정보, 텍스트 입력에 포함된 쿠폰 정보, 텍스트 입력에 포함된 배달 정보, 텍스트 입력에 포함된 운송 정보, 텍스트 입력에 포함된 제품 제공자 정보, 텍스트 입력에 포함된 제품 정보, 텍스트 입력에 포함된 서비스 제공자 정보 및/또는 텍스트 입력에 포함된 서비스 정보를 포함할 수 있다.
또한, 일 실시예에서, 상기 관계 가능성 결정 모듈(327)은 텍스트 입력과 상기 정보 처리 시스템(205)이나 서버(미도시)에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나 또는 그 각각 사이의 관계 가능성 인자(관계 인자라고도 함)를 결정할 수 있다. 일 예로서, "메시지 D"가 텍스트 입력으로 간주되어 현재 분류되는 경우, 이전에 분류되어 저장된 "메시지 A", "메시지 B" 및 "메시지 C"가 기타 분류된 텍스트 입력들로서 간주될 것이다.
일 실시예에서, 상기 기타 분류된 텍스트 입력들과 연관된 애플리케이션은 상기 수신된 텍스트 입력과 연관된 애플리케이션과는 다를 수 있다. 즉, "메시지 D"가 애플리케이션 D로 접근되어 디스플레이되고, "메시지 A", "메시지 B" 및 "메시지 C"가 각각 애플리케이션 A, B 및 C로 접근되어 디스플레이될 수 있다. 일 실시예에서, 모든 메시지들 "메시지 A", "메시지 B", "메시지 C" 및 "메시지 D"은 동일한 애플리케이션으로 접근되거나 디스플레이될 수 있다.
일 실시예에서, 상기 관계 가능성 결정 모듈(327)은 상기 텍스트 입력 및 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들, 상기 텍스트 입력에 존재하는 정보 및 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여 상기 관계 가능성 인자를 결정할 수 있다. 일 실시예에서, 상기 관계 가능성 결정 모듈(327)은 아래에 설명된 바와 같이 하나 이상의 기계 학습 기술을 이용하여 상기 관계 가능성 인자를 결정할 수 있다.
예를 들면, 상기 관계 가능성 결정 모듈(327)은 상기 텍스트 입력과 연관된 하나 이상의 카테고리들과 상기 기타 분류된 텍스트 입력들 각각과 연관된 카테고리들이 관련되어 있는지를 결정할 수 있다. 일 실시예에서, 상기 관계 가능성 결정 모듈(327)은 상기 메모리(211)에 저장된 미리 정의된 관계 연관 표에 기초하여, 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들이 관련되어 있는지를 결정할 수 있다. 상기 미리 정의된 관계 연관 표는, 일정 시간에 걸쳐 사용자의 사용을 통계적 분석을 수행하는 하나 이상의 기계 학습 기술들을 이용하여 생성될 수 있다. 더 특별하게는, 카테고리들 간의 연관은, 제1 키워드와 제2 키워드 간의 연관이나 소정 시간에 걸쳐 전자 장치내 애플리케이션들에 대한 사용자의 사용의 통계적 분석 중 적어도 하나에 기초하여 생성된다. 아래 표 3은 예시적인 관계 연관을 포함하는 예시적인 미리 정의된 관계 연관을 보여주고 있다.
주요 카테고리 연관 서브 카테고리 1 서브 카테고리 2
오퍼에 대한 리마인더 리마인더_항공편 오퍼_택시
오퍼_쇼핑
오퍼_호텔
오퍼_식품
오퍼_항공편
리마인더에 대한 오퍼 오퍼_청구서 리마인더_청구서
거래에 대한 OTP OTP 거래_청구서
거래_쇼핑
거래_식품
거래_여행
상기 표 3에 따르면, "리마인더"와 같은 카테고리는 "오퍼"의 카테고리와 관련될 수 있으며, "오퍼"의 카테고리는 "리마인더"의 카테고리와 관련될 수 있고, "OTP"의 카테고리는 "거래"의 카테고리와 관련될 수 있다.
또한, 상기 관계 가능성 결정 모듈(327)은, 연관된 카테고리들이 관련되어 있는 것으로 결정된, 텍스트 입력과 상기 기타 분류된 텍스트 입력들 중 적어도 하나나 각각으로부터, 하나 이상의 키워드들을 결정할 수 있다. 일 실시예에서, 상기 키워드들은 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들에 존재하는 정확한 워드들 뿐만 아니라, 상기 워드들의 동의어들과, 상기 텍스트 입력 및/또는 상기 기타 분류된 텍스트 입력들로부터 생성된 워드 임베딩(벡터 임베딩으로도 알려짐)으로부터 생성된 워드 벡터에 기초하여 결정될 수 있다. 따라서, 상기 관계 가능성 결정 모듈(327)은 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들에서 이용된 워드들의 동의어들을 먼저 결정하고, 벡터 임베딩을 생성하여 상기 워드들 간에 유사성 체크를 수행할 수 있다. 상기 결정된 동의어들 및 생성된 벡터 임베딩에 기초하여, 상기 관계 가능성 결정 모듈(327)은 상기 텍스트 입력에 존재하는 정보와 상기 기타 분류된 텍스트 입력들 각각에 존재하는 정보로부터의 키워드들이 서로 관련되었는지 아닌지를 결정할 수 있다.
일 예로서, "리마인더" 카테고리와 "리마인더_청구서" 서브 카테고리에 속한 아래와 같은 메시지 1을 고려한다.
"XYZ에 대해 19년 10월 3일 날짜의 Rs 731의 청구서 9XXXX665번은 기한이 19년 10월 21일입니다. 연체료를 피하려면 제때 지불해주세요. 카드/넷뱅킹(netbanking)/에어텔(Airtel) 결제 은행을 이용해서 앱을 통해 결제하려면, http://www.xyz.in/5/coll을 클릭하거나 XYZ Store에 방문하세요. 이미 지불한 경우 무시하세요."
일 예로, "오퍼" 카테고리와 "오퍼_청구서" 서브 카테고리에 속한 아래와 같은 메시지 2를 고려해보자.
"Rs.75의 최소 충전/청구 시 고정(flat) Rs.75 캐쉬백. 2월 7일까지 frch.in/XM sukumar.moharana@bmail.com <mailto:sukumar.moharana@bmail.com>에 PULL75 코드를 이용하세요."
상기 표 3에 관해, "리마인더" 카테고리는 "오퍼" 카테고리에 관련될 수 있다. 이러한 두 가지 카테고리들이 관련된 것으로 결정되므로, 상기 관계 가능성 결정 모듈(327)은 아래와 같이, 메시지 1과 메시지 2에 존재하는 정보로부터 하나 이상의 키워드들을 결정할 수 있다.
메시지 1: 키워드: XYZ, 전화기 (전화기는 "XYZ 번호 9XXXX665"라는 세부사항들로부터 파생됨)
메시지 2: 키워드: 캐쉬백, 충전, 전화기, DTH (전화기와 DTH는 충전과 관련되므로 파생됨)
키워드들을 결정하면, 상기 관계 가능성 결정 모듈(327)은 상기 텍스트 입력에 존재하는 정보와 상기 기타 분류된 텍스트 입력들 각각에 존재하는 정보로부터의 상기 하나 이상의 키워드들을 비교하여, 매치(match)를 결정할 수 있다.
위의 예에서, 메시지 1과 메시지 2 모두의 키워드들을 비교하면, 두 메시지들 모두가 "전화기"라는 공통된 또는 매치된(matched) 키워드를 갖는다.
상기 매치가 결정되면, 상기 관계 가능성 결정 모듈(327)은 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들 각각 사이의 관계 가능성 인자를 양수나 그렇지 않으면 음수로 결정할 수 있다. 일 실시예에서, 상기 관계 가능성 인자는 양수 혹은 음수 중 하나일 수 있다. 상기 관계 가능성 인자가 양수로 결정되면, 이는 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들 간의 관계가 가능한 것을 의미한다. 일 실시예에서, 상기 관계 가능성 인자가 음수인 경우, 상기 프로세서(207)는 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들 간의 관계가 가능하지 않다고 유추할 수 있다.
일 예로서, "리마인더" 카테고리와 "리마인더_청구서" 서브 카테고리에 속한 아래와 같은 메시지 1을 고려한다.
"XYZ 9XXXX665번에 대한 19년 10월 3일자 Rs 731의 청구서의 기한이 19년 10월 21일입니다. 연체료를 피하려면 제때 지불해주세요. 카드/넷뱅킹(netbanking)/에어텔(Airtel) 결제 은행을 이용해서 앱을 통해 결제하려면, http://www.xyz.in/5/coll을 클릭하거나 XYZ Store에 방문하세요. 이미 지불한 경우 무시하세요."
일 예로, "오퍼" 카테고리와 "오퍼_청구서" 서브 카테고리에 속한 아래와 같은 메시지 3을 고려해보자.
"유선 전화와 광대역 청구서 지불에 대한 20 캐쉬백이 유선 전화와 광대역 청구서 지불에 대해 유효함(사용자 당 한 번에 최대 500에 대해 최소 결제. UPI 결제에 대해서만 가능)"
표 3에 기초하여, 메시지 1과 메시지 3의 카테고리들은 관련된 것으로 결정되고, 따라서, 키워드들이 메시지 1과 메시지 3으로부터 결정되어, 키워드들의 매치가 있는지 결정한다.
일 예로서, 아래와 같이 메시지 1과 메시지 3에 존재하는 정보로부터 하나 이상의 키워드들을 들 수 있다.
메시지 1: 키워드: XYZ, 전화기 (전화기는 "XYZ 번호 9XXXX665"라는 세부사항들로부터 파생됨)
메시지 3: 키워드: 유선 전화, 광대역, 인터넷(인터넷은 광대역으로부터 파생됨)
메시지 1과 메시지 3의 카테고리들이 관련된 것으로 간주되더라도, 메시지 1과 메시지 3에 존재하는 정보로부터의 하나 이상의 키워드들은 매치되지 않는다. 따라서, 상기 관계 가능성 결정 모듈(327)은 메시지 1과 메시지 3 간의 관계 가능성 인자를 음수로 결정할 수 있다.
이렇게 결정된 관계 가능성 인자는 관계 가능성 데이터(313)로 저장될 수 있다.
또한, 일 실시예에서, 상기 관계 가능성 인자가 양수인 경우, 상기 관계 정보 생성 모듈(329)은 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 상기 정보 처리 시스템(205)과 연관된 사용자에 대해 구조화 관계 정보(315)를 생성할 수 있다. 일 실시예에서, 상기 구조화 관계 정보(315)는 미리 정의된 관계 기준에 기초하여, 관계 시퀀스에 따라 생성될 수 있다. 일 예로서, 상기 관계 시퀀스는 사용자 프로파일과 맥락 파라미터들에 기초하여, 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들의 상이한 카테고리들/서브 카테고리들이 연관될 수 있는 시퀀스로 정의될 수 있다. 일 예로서, 상기 맥락 파라미터들은, 인구통계(demography), 사용자의 위치, 상기 텍스트 입력과 기타 분류된 텍스트 입력들에서 언급된 위치들, 날짜와 시간, 이용 통계, 사용자 선호도, 상기 텍스트 입력과 기타 분류된 텍스트 입력들에서 언급된 유효성 및 오퍼 금액, 할인 금액 등과 같이 텍스트 입력과 기타 분류된 텍스트 입력들에서 언급된 비용 인자를 포함할 수 있으나 이제 국한되지 않는다. 간단하게, 상기 구조화 관계 정보(315)는 1)상기 텍스트 입력의 카테고리와 상기 기타 분류된 텍스트 입력들의 카테고리를 비교, 2) 상기 텍스트 입력의 카테고리와 상기 기타 분류된 텍스트 입력들의 정보와 비교, 3) 상기 텍스트 입력의 정보와 상기 기타 분류된 텍스트 입력들의 정보를 비교함으로써, 상기 구조화 관계 정보(315)를 생성할 수 있다.
일 실시예에서, 상기 정보 제공 모듈(331)은 미리 정의된 관계 기준에 기초하여, 이러한 구조화 관계 정보(315)를 관계 시퀀스에서 사용자에게 제공할 수 있다. 이는 관계 정보 생성 모듈(329)은 사용자에 대해 구조화 관계 정보(315)를 생성했을 수 있으나, 그러한 구조화 관계 정보(315)가 미리 정의된 관계 기준에 기초하여 차례로 관계 시퀀스에서 사용자에게 제공된다. 일 실시예에서, 상기 미리 정의된 관계 기준은 시간 기반 기준일 수 있어, 적절한 시간에 사용자에게 적절한 구조화 관계 정보(315)를 제공하는데 도움을 준다. 상이한 카테고리들과 서브 카테고리들에 대한 예시적인 미리 정의된 관계 기준은 아래 표 4에 보인 바와 같다.
주요 카테고리 연관 서브 카테고리 1 서브 카테고리 2 미리 정의된 관계 기준
오퍼에 대한 리마인더 리마인더_항공편 오퍼_택시 여행 24시간 전
오퍼_쇼핑 여행 48 - 24 시간 전
오퍼_호텔 여행 24시간 전
여행 후
오퍼_식품 여행 24시간 전
여행 중
여행 후
오퍼_항공편 여행 후
리마인더에 대한 오퍼 오퍼_청구서 리마인더_청구서 오퍼 유효성은 청구 주기에 있음
거래에 대한 OTP OTP 거래_청구서 거래 세션 시간
거래_쇼핑
거래_식품
거래_여행
상기 표 4에 도시된 바와 같이, 리마인더_항공편 및 오퍼_택시가 양의 관계 가능성 인자를 갖는 것으로 결정되면, 상기 관계 정보 생성 모듈(329)은 상기 미리 정의된 관계 기준에 기초하여 관계 시퀀스에서 사용자에 대해 구조화 관계 정보(315)를 생성하여 제공할 수 있다. 표 4에 따라, 리마인더_항공편과 오퍼_택시와 연관된 상기 미리 정의된 관계 기준은 "여행 24 시간 전"이며, 이는 리마인더_항공편과 오퍼_택시를 포함하는 구조화 관계 정보(315)가 여행 24 시간 전에 사용자에게 제공되는 것을 의미한다. 유사하게, 표 4에 따르면, 리마인더_항공편과 오퍼_택시와 연관된 상기 미리 정의된 관계 기준은 "여행 48 - 24 시간 전"이며, 이는 리마인더_항공편과 오퍼_택시를 포함하는 구조화 관계 정보(315)가 여행 48 - 24 시간 전에 사용자에게 제공되는 것을 의미한다. 따라서, 본 개시는 통찰력 있는(insightful) 사용자에 대해 구조화 관계 정보(315)를 생성하고 제공할 뿐만 아니라, 구조화 관계 정보(315)가 관계 시퀀스와 미리 정의된 관계 기준에 기초하여 적절한 시간에 사용자에게 제공되도록 할 수 있다. 일 실시예에서, 상기 관계 시퀀스와 미리 정의된 관계 기준이 관련된다.
일 실시예에서, 상기 정보 제공 모듈(331)은 미리 정의된 직관적 디스플레이 포맷으로 사용자에게 구조화 관계 정보(315)를 제공할 수 있다. 상기 구조화 관계 정보(315)는, 도 2e에 도시된 바와 같이, 미리 정의된 직관적 디스플레이 포맷으로, 상기 텍스트 입력에 존재하는 정보와 기타 분류된 텍스트 입력들 중 적어도 하나에 존재하는 정보의 복합 뷰를 포함할 수 있다.
도 3d 및 도 3e는 본 개시의 일 실시예에 따른 구조화 관계 정보의 예시적인 직관적인 디스플레이들을 도시한다.
일 실시예에서, 상기 직관적 디스플레이는 도 3d를 참조하여 도시된 바와 같을 수 있다. 도 3d에서, 상기 정보 제공 모듈(331)은 "존!! 주목하세요."라는 경고를 제공한다. 이러한 경고는 사용자에게 리마인더를 제공하여 Rs.1535의 가스 청구서를 납부하도록 한다. 리마인더와 함께, 상기 정보 제공 모듈(331)은 예를 들어, "또 다른 것", "여가 시간", 및 "할 일"과 같은 제목의 3개의 클릭가능한 아이콘들을 제공할 수 있다. 사용자가 아이콘 1 "또 다른 것"을 클릭하면, 상기 정보 제공 모듈(331)은 도 3e에 도시된 바와 같이 가스 청구서를 납입하면서 적용 가능할 수 있는 오퍼 카드를 제공할 수 있다. 사용자가 아이콘 2 "여가 시간"을 클릭하면, 상기 정보 제공 모듈(331)은 도 3e에 도시된 바와 같이 마감일 및 미결제 금액을 제공할 수 있다. 사용자가 아이콘 3 "할 일"을 클릭하면, 상기 정보 제공 모듈(331)은 도 3e에 도시된 바와 같이 지불을 위해 OTP 또는 패스워드와 관련된 정보를 제공할 수 있다.
도 3fa 및 도 3fb는 본 개시의 일 실시예에 따라 수신된 예시적인 비구조화 텍스트 입력들을 도시한다.
도 3g는 본 개시의 일 실시예에 따른 예시적인 디스플레이 카드들의 통합 뷰를 도시한다.
다른 실시예에서, 상기 직관적인 디스플레이는 도 3g를 참조하여 도시될 수 있다. 도 3g는 하루에 수신된 텍스트 입력들의 상이한 카테고리들의 간략한 요약을 제공한다. 예를 들어, 사용자 장치(203)는 도 3fa 및 도 3fb에 도시된 바와 같이 비구조화 포맷으로 2개의 메시지들을 수신한 것을 고려한다. 이러한 두 메시지들은 구조화 포맷, 즉, 디스플레이 카드로 변환되고, 도 3g에 도시된 바와 같이 사용자에게 제공되어 통합된 뷰를 제공할 수 있다.
일 실시예에서, 구조화 관계 정보는 상기 텍스트 입력 또는 상기 기타 분류된 텍스트 입력들 중 적어도 하나와 관련된 시간 시퀀스에 기초하여 디스플레이될 수 있다. 예를 들어, 구조화 관계 정보는 시간순으로 표시될 수 있다.
또한, 일 실시예에서, 정보 처리 시스템(205)이 상기 구조화 관계 정보(315)의 생성에 기여한 상기 텍스트 입력 및 상기 기타 분류된 텍스트 입력들 중 적어도 하나에 존재하는 정보와 관련된 하나 이상의 업데이트들을 수신할 때, 상기 갱신 모듈(333)은 상기 구조화 관계 정보를 실시간으로 업데이트할 수 있다.
도 3ha는 본 개시의 일 실시예에 따라 구조화 관계 정보를 생성하는 예시적인 방법을 도시한다.
일 예에서, 도 3ha는 텍스트 입력 A 및 텍스트 입력 B에 기초하여 구조화 관계 정보(315)를 생성하는 예시적인 방법을 도시한다. 상기 텍스트 입력 A와 상기 텍스트 입력 B는 위에 설명된 방법에 기초하여 분류될 수 있다. 그 후, 텍스트 입력 A의 카테고리와 텍스트 입력 B의 카테고리를 비교하고, 텍스트 입력 A의 카테고리와 텍스트 입력 B의 정보를 비교하고, 텍스트 입력 A의 정보와 텍스트 입력 B의 정보를 비교하여 관계 매칭을 수행한다. 도 3ha에 도시된 바와 같이, 텍스트 입력 A의 카테고리를 텍스트 입력 B의 카테고리와 비교하는 것은, 예를 들면, 리마인더_여행을 오퍼_여행과 비교하는 것일 수 있다. 도 3ha에 도시된 바와 같이, 텍스트 입력 A의 카테고리를 텍스트 입력 B의 카테고리와 비교하는 것은, 예를 들면, 리마인더_여행을 오퍼_코드과 비교하는 것일 수 있다. 도 3ha에 도시된 바와 같이, 텍스트 입력 A의 정보를 텍스트 입력 B의 정보와 비교하는 것은, 예를 들면, 여행 날짜를 오퍼 유효 날짜를 비교하는 것일 수 있다. 상기 정보 처리 시스템(205)이, 티켓의 취소를 나타내는 다른 텍스트 입력 C를 수신했다고 고려한다.
도 3hb는 본 개시의 일 실시예에 따른 구조화 관계 정보를 업데이트하는 예시적인 방법을 도시한다.
상기 업데이트 모듈(333)은 텍스트 입력 C의 고유 식별자들과 같은 하나 이상의 엔티티들을 하나 이상의 엔티티들, 즉, 메모리(211)에 이미 저장된 분류된 텍스트 입력들의 고유 식별자들과 비교할 수 있다. 상기 비교에 기초하여, 상기 업데이트 모듈(333)은 텍스트 입력 C가 기존의 텍스트 입력의 업데이트인지 새로운 텍스트 입력인지를 결정할 수 있다. 일 예로서, 텍스트 입력 A의 PNR 번호나 항공편 번호, 또는 여행 날짜가 텍스트 입력 C의 PNR 번호나 항공편 번호, 또는 여행 날짜와 각각 일치하는 경우, 상기 정보 처리 시스템(205)은 텍스트 입력 C가 텍스트 입력 A의 업데이트인 것으로 유추할 수 있다. 이 시나리오에서, 도 3hb에 도시된 바와 같은 텍스트 입력 C가 텍스트 입력 A의 업데이트인 것으로 결정된다. 그러한 결정에 기초하여, 상기 업데이트 모듈(333)은 텍스트 입력 A에 대해 생성된 구조화 관계 정보(315)를 수집하고 상기 구조화 관계 정보(315)를 업데이트하여, 텍스트 입력 A에 보여지는 항공편 티켓의 취소를 나타내는 업데이트된 관계 정보(317)를 생성한다. 상기 업데이트된 관계 정보(317)는 도 3hb에 도시 된 바와 같을 수 있다.
이후, 비구조화 텍스트로부터 관계 정보를 생성하는 과정을 본 개시의 더 나은 이해를 위해 하나 이상의 예들을 들어 설명한다. 그러나, 상기 하나 이상의 예들은 본 개시의 범위를 제한하는 것으로 간주되어서는 안 된다.
도 3ia, 3ib 및 3ic는 본 개시의 일 실시예에 따라 비구조화 텍스트로부터 관계 정보를 생성하는 예시적인 시나리오들을 도시한다.
비구조화 포맷으로 수신되고 사용자의 사용자 장치(203)의 클러터링된 메시지 수신함에 존재하는, 도 3ia에 도시된 바와 같은 예시적인 텍스트 입력들(335, 337, 339, 341)을 고려한다.
도 3ja는 본 개시의 일 실시예에 따른 비구조화 텍스트의 예시적인 저장 포맷을 도시하고, 도 3jb는 본 개시의 일 실시예에 따른 분류된 텍스트 입력의 예시적인 저장 포맷을 도시한다.
상기 비구조화 포맷으로 수신된 텍스트 입력들(335, 337, 339, 341)은 도 3ja에 도시된 바와 같이 뒷부분(backend)에 저장될 수 있다. 도 3ja에 도시된 포맷은 예시적인 것일 뿐이며, 부가적인 구성요소들/요소들 또는 더 적은 구성요소들/요소들을 포함할 수 있다. 이후에, 상기 프로세서(207)는 상기 텍스트 입력들(335, 337, 339, 341)을 하나 이상의 카테고리들을 분류하고 상기 분류된 텍스트 입력들(335, 337, 339, 341)의 각각으로부터 하나 이상의 엔티티들을 추출할 수 있다. 상기 분류된 텍스트 입력들(335, 337, 339, 341)은 도 3J2에 도시된 바와 같이 뒷부분에 저장될 수 있다. 도 3jb는 "오퍼" 카테고리와 "오퍼_기타", "오퍼_쇼핑" 및 "오퍼_택시" 서브 카테고리들에 대해 텍스트 입력들을 저장하는 것을 도시한다. 유사하게, 텍스트 입력들은, 도 3jb에 도시되지 않은 "리마인더"와 같은 기타 카테고리들과 "리마인더_청구서", "리마인더_항공편" 등의 서브 카테고리들에 대해서도 저장될 수 있다. 도 3jb에 도시된 포맷은 예시적인 것일 뿐이며, 부가적인 구성요소들/요소들 또는 더 적은 구성요소들/요소들을 포함할 수 있다.
도 3jb에서,
요소 "_id"는 오퍼의 인덱싱을 나타내고;
요소 "Type"은 오퍼의 유형을 나타내고;
요소 "Msg Id"는 각 텍스트 입력에 고유한 본래 메시지 Id를 나타내며;
요소 "기관명"은 메시지 송신자의 이름을 나타내고;
요소 "유효 날짜"는 오퍼가 유효한 날짜를 나타내며;
요소 "오퍼"는 오퍼의 간단한 요약을 나타내고;
요소 "쿠폰 코드"는 오퍼를 이용하기 위해 제공된 코드를 나타내며;
요소 "유효성"은 밀리초의 내부 기준 시간을 나타내며;
요소 "복사됨"은 오퍼가 사용된 횟수를 나타내며;
요소 "설명"은 실제로 수신된 메시지를 나타내고;
요소 "링크"는 오퍼를 사용하기 위한 URL(Universal Resource Locator)를 나타낸다.
또한, 상기 프로세서(207)는 도 3ia에 도시된 바와 같이 각 카테고리 제목 하에 상기 분류된 텍스트 입력들(335, 337, 339 및 341) 각각에 대한 디스플레이 카드들을 생성할 수 있다. 예를 들어, 분류된 텍스트 입력(335)이 도 3ia에 도시된 바와 같이 "리마인더"라는 제목의 카테고리 하에 디스플레이 카드(343) 형태로 표현된다. 유사하게, 도 3ia에 도시된 바와 같이, 분류된 텍스트 입력(339)은 디스플레이 카드(347)의 형태로 제시되며, 분류된 텍스트 입력(341)은 "오퍼"라는 제목의 카테고리 하에 디스플레이 카드(345) 형태도 제시된다.
또한, 상기 프로세서(207)는 분류된 텍스트 입력들(335, 337, 339, 341) 간의 관계 가능성 인자를 결정할 수 있다. 상기 분류된 텍스트 입력(337)과 분류된 텍스트 입력(339) 사이의 관계 가능성 인자가 양수로 결정된다. 따라서, 상기 프로세서(207)는 상기 분류된 텍스트 입력(337)과 상기 분류된 텍스트 입력(339)의 세부사항들을 조합하여, 복합 뷰를 갖는 디스플레이 카드 형태로 사용자에 대한 구조화 관계 정보를 생성할 수 있다. 일 예로서, 도 3ia에 도시된 바와 같이, "리마인더"라는 제목의 카테고리 하의 디스플레이 카드(349)가 복합 뷰로 제시되어, 사용자에게 항공편 세부사항들에 대한 리마인더를 제공하고, "택시 예약하기"라는 제목의 탭을 제공하여 분류된 텍스트 입력(339)에 존재하는 연관된 오퍼를 선택한다. 사용자가 "택시 예약하기"이라는 제목의 탭을 클릭하면, 프로세서(207)는 사용자에게 디스플레이 카드(347)을 디스플레이할 수 있다.
일 실시예에서, 상기 디스플레이 카드들은 미리 정의된 관계 기준에 기초하여 관계 시퀀스에서 사용자에게 제시될 수 있다. 예를 들어, 아래 도시된 바와 같이 미리 정의된 관계 기준을 고려한다.
여행 48 -24 시간 전 -> 오퍼_쇼핑
여행 24 시간 전 -> 오퍼_택시
여행 후 인구통계 기반 -> 오퍼_식품
사용자 프로파일 기반 -> 오퍼_쇼핑
위의 미리 정의된 관계 기준은 여행 48 - 24 시간 전에 사용자가 여행을 위한 쇼핑을 고려할 수 있다는 것을 의미한다. 따라서, 도 3ib에 도시된 바와 같이, 상기 프로세서(207)는 항공편 세부사항들에 대해 사용자에게 리마인더를 제공하고 연관된 오퍼를 선택하기 위한 "쇼핑가기"라는 제목의 탭을 제공하는 복합 뷰를 갖는 디스플레이 카드(351)를 제공할 수 있다. 도 3ib에 도시된 바와 같이, "쇼핑가기"라는 제목의 탭을 클릭하면, 프로세서(207)는 사용자에게 디스플레이 카드(353)를 표시할 수 있다. 또한, 여행 24시간 전에, 사용자는 여행용 택시를 예약하는 것을 고려할 수 있다. 따라서, 프로세서(207)는 이미 상술한 복합 뷰를 갖는 디스플레이 카드(349)를 제공할 수 있다. 또한, 여행 후, 사용자는 식사나 쇼핑을 위한 장소를 찾을 수 있다. 따라서, 사용자 프로파일에 기초하여, 도 3ic에 도시된 바와 같이, 프로세서 (207)는 사용자에게 쇼핑 오퍼를 제공하고 연관된 오퍼를 선택하기 위해 "식품 주문하기"라는 제목의 탭을 제공하는 복합 뷰를 갖는 디스플레이 카드(355)를 제공할 수 있다. 도 3ic에 도시된 바와 같이, "식품 주문하기"라는 제목의 탭을 클릭하면, 프로세서(207)는 사용자에게 디스플레이 카드(356)를 표시할 수 있다.
도 3ka는 본 개시의 일 실시예에 따라 사용자 장치에 저장된 비구조화 노트들로부터 관계 정보를 생성하는 예시적인 시나리오를 도시한다.
또한, 일 실시예에서, 상기 설명된 바와 동일한 방법을 이용하여, 상기 프로세서(207)는 사용자에게 적절한 디스플레이 카드를 제공하기 위해, 사용자 장치에 사용자에 의해 저장된 노트들과 오퍼들을 관련시킬 수 있다. 예를 들어, 사용자가 저장한 노트들은 "사무실을 나가기 전에 케이크를 주문하세요", "실패없이 ABCD 은행의 할부금 납부하였습니다", 및 "식료품을 구매하세요"일 수 있다. 상기 프로세서(207)는 사용자가 저장한 노트들을 따르기에 적합할 수 있는 오퍼들을 결정하고 해당 디스플레이 카드들을 사용자에게 제공할 수 있다. 일 예로, "사무실을 나가기 전에 케이크를 주문하세요", "실패없이 ABCD 은행의 할부금 납부하였습니다", 및 "식료품을 구매하세요"라는 노트들을 위해, 상기 프로세서(207)는 도 3K1에 도시된 바와 같이 디스플레이 카드들(357, 359, 361)을 각각 제공할 수 있다. 마찬가지로, 상기 방법은 RCS(Rich Content Services) 메시지에 대해 수행될 수 있다.
또한, 일 실시예에서, 사용자에게 적합한 하나 이상의 오퍼가 있을 때, 상기 프로세서(207)는 이용 가능한 오퍼들 중에서 최선을 선택할 수 있다. 사용 가능한 오퍼들 중 최선의 오퍼는 오퍼 금액, 사용자의 과거 선호, 사용자의 위치, 오퍼 유효성 등과 같은 파라미터들에 기초하여 선택될 수 있다. 일 예로, 사용자에게 가장 높은 비용 혜택을 제공하는 오퍼가 사용자에 대한 최선의 오퍼로 선택될 수 있다. 다른 예에서, 다른 택시 회사들의 오퍼들과 비교할 때, 사용자가 과거에 "ABC" 택시 회사의 오퍼들을 선호했으므로, "ABC" 택시 회사의 오퍼가 사용자에 대한 최선의 오퍼로 선택될 수 있다.
도 3kb는 본 개시의 일 실시예에 따라 사용자를 위해 다수의 오퍼들로부터 최선의 오퍼를 선택하는 예시적인 시나리오를 도시한다.
일 예로서, 도 3kb에 도시된 바와 같이, "리마인더"라는 제목의 카테고리 하의 디스플레이 카드(349)가 복합 뷰로 제시되어, 사용자에게 항공편 세부사항들에 대한 리마인더를 제공하고, "택시 예약하기"와 "쇼핑가기"라는 제목의 탭들을 제공하여 연관된 오퍼를 선택한다. 사용자의 과거 선호에 기반하여 선택되며, 사용자가 택시를 통해 공항까지 이동하기에 가장 적절한 2가지 오퍼들이 존재한다고 고려한다. 사용자가 "택시 예약하기"라는 제목의 탭을 클릭하면, 상기 프로세서(207)는 사용자가 선호하는 오퍼를 선택할 수 있는 도 3kb에 도시된 바와 같이 사용자에게 디스플레이 카드들(363, 365)을 제공할 수 있다. 마찬가지로, 오퍼 금액, 즉 다른 오퍼들에 비해 사용자에게 최고의 비용 혜택을 제공하는 오퍼에 기초하여 선택되며, 사용자가 여행 전에 쇼핑하기에 가장 적절한 2가지 오퍼들이 존재한다고 고려한다. 사용자가 "쇼핑가기"라는 제목의 탭을 클릭하면, 상기 프로세서(207)는 도 3K2에 도시된 바와 같이 사용자가 선호하는 오퍼를 선택할 수 있는 디스플레이 카드들(367, 369)을 사용자에게 제공할 수 있다.
도 3kc은 본 개시의 일실시예에 따라 사용자의 선호 언어로 관계 정보를 생성하는 예시적인 시나리오를 도시한다.
또한, 일 실시예에서, 상기 프로세서(207)는 텍스트 입력을 사용자의 선호 언어로 변환하고 디스플레이 카드를 선호하는 언어로 제공할 수 있다. 사용자의 선호하는 언어로 변환되는 예시적인 디스플레이 카드(371)는 도 3kc에 도시된 바와 같다.
일 실시예에서, 상기 프로세서(207)는 구조화 관계 정보를 생성하기 위해 사용자 디바이스(203)에 설치된 다양한 애플리케이션들에서 데이터를 통합할 수 있다. 상기 프로세서(207)는 통합 데이터에 기반하여, 미리 정의된 관계 기준에 기초하여 구조화 관계 정보를 사용자에게 제공할 수 있다. 일 예로, 여행 24시간 전에, 상기 프로세서(207)는, 관계 시퀀스에 대해 공항까지 이동하기에 도움이 될 수 있는 택시를 예약하기 위한 오퍼들과 함께, 항공편 세부사항들의 리마인더를 제공하는 복합 뷰를 갖는 디스플레이 카드의 포맷으로 구조화 관계 정보를 제공하도록 구성된다고 고려한다. 그러나, "사무실을 나가기 전에 케이크를 주문하세요"라는 노트를 사용자가 사용자 장치(203)에 저장하였다고 고려한다. 또한, 가스 청구서를 지불하는 리마인더가 있다고 고려한다. 따라서, 항공편 세부사항들에 대한 리마인더와 예약을 위한 오퍼들을 포함하는 디스플레이 카드와 함께, 상기 프로세서(207)는 케이크를 예약하기 위한 오퍼들을 포함한 디스플레이 카드와, 가스 청구서를 납부하기 위해 특정 신용 카드들의 사용에 대한 캐쉬백이나 할인과 같은 오퍼들을 포함하는 디스플레이 카드를 제공할 수 있다. 따라서, 상기 프로세서(207)는 다수의 애플리케이션들에서 데이터를 수집/통합함으로써 사용자에게 3개의 디스플레이 카드들을 제공할 수 있다.
도 4는 본 개시의 일 실시예에 따라 비구조화 텍스트로부터 관계 정보를 생성하는 흐름도이다.
도 4에 도시된 바와 같이, 방법(400)은 비구조화텍스트로부터 관계 정보를 생성하는 방법을 나타내는 하나 이상의 블록들을 포함한다. 상기 방법(400)은 컴퓨터로 실행가능한 명령어들의 일반적인 맥락으로 설명될 수 있다. 일반적으로, 컴퓨터로 실행가능한 명령어들은 기능들을 수행하거나 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 객체들, 구성요소들, 데이터 구조들, 절차들, 모듈들 및 기능들을 포함할 수 있다.
상기 방법(400)이 설명되는 순서는 제한으로 해석되도록 의도되지 않으며, 임의의 수의 설명된 방법 블록들이 방법(400)을 구현하기 위해 임의의 순서로 결합될 수 있다. 또한, 개별 블록들은 본 명세서에 기술된 요지의 사상 및 범위를 벗어나지 않고 방법들로부터 삭제될 수 있다. 또한, 상기 방법(400)은 임의의 적합한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다.
블록(401)에서, 상기 방법(400)은 정보 처리 시스템(205)에 구성된 프로세서(207)가, I/O 인터페이스(209)를 통해 적어도 하나의 애플리케이션에 의해 수신된 텍스트 입력을 하나 이상이 카테고리들로 분류하는 단계를 포함할 수 있다. 일 실시예에서, 상기 텍스트 입력은 비구조화 텍스트 포맷의 정보를 포함할 수 있다. 일 실시예에서, 상기 프로세서(207)는 사용자 장치(203)에 설치된 적어도 하나의 애플리케이션으로부터 텍스트 입력을 검색할 수 있으며, 상기 텍스트 입력은 텍스트 메시지, 메모, 통지 및 RCS 메시지 중 적어도 하나를 포함한다.
블록(403)에서, 상기 방법(400)은, 상기 프로세서(207)가 상기 하나 이상의 분류된 카테고리들에 기초하여 텍스트 입력으로부터 하나 이상의 엔티티들을 추출하는 단계를 포함할 수 있다. 일 예로, 상기 텍스트 입력의 하나 이상의 엔티티들은 텍스트 입력과 관련된 중요한 정보나 요약을 제공할 수 있다. 일 예로, 브랜드 이름, 유효성, 오퍼 금액 등은 텍스트 입력의 하나 이상의 엔티티들일 수 있다.
블록(405)에서, 상기 방법(500)은, 프로세서(207)가 상기 텍스트 입력과 상기 정보 처리 시스템에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나 또는 각각 간의 관계 가능성 인자를, 텍스트 입력과 상기 기타 분류된 텍스트 입력들과 연관된 해당 카테고리들과 상기 텍스트 입력에 존재하는 정보와 상기 기타 분류된 텍스트 입력들에 존재하는 정보에 기초하여, 결정하는 단계를 포함할 수 있다. 상기 관계 가능성 인자는 양의 값이나 음의 값 중 하나이다. 일 실시예에서, 상기 관계 가능성 인자는 하나 이상의 기계 학습 기술들을 사용하여 결정된다.
블록(407)에서, 상기 방법(400)은, 상기 관계 가능성 인자가 양수인 경우, 상기 프로세서(207)가, 상기 텍스트 입력과 기타 분류된 텍스트 입력들로부터 추출된 하나 이상의 엔티티들을 연관시켜, 상기 정보 처리 시스템(205)과 연관된 사용자에 대한 구조화 관계 정보를 생성하는 단계를 포함할 수 있다. 일 실시예에서, 상기 구조화 관계 정보는, 미리 정의된 직관적 디스플레이 포맷으로, 상기 텍스트 입력에 존재하는 정보와 적어도 하나의 기타 분류된 텍스트 입력에 존재하는 정보의 복합 뷰를 포함할 수 있다.
블록(409)에서, 상기 방법(400)은, 상기 프로세서(207)가 미리 정의된 관계 기준에 기초하여, 관계 시퀀스에서 사용자에게 구조화 관계 정보를 제공하는 단계를 포함할 수 있다. 일 실시예에서, 상기 구조화 관계 정보를 생성하고 관계 시퀀스에서 사용자에게 구조화 관계 정보를 제공하는 단계는 사용자 프로파일 및 문맥 파라미터들에 기반할 수 있다. 상기 구조화 관계 정보는 미리 정의된 직관 디스플레이 포맷으로 사용자에게 제공된다. 그 후, 상기 프로세서(207)는, 상기 정보 처리 시스템(205)이 상기 텍스트 입력과 상기 기타 분류된 텍스트 입력들 중 적어도 하나에 존재하는 정보와 연관된 하나 이상의 업데이트들을 수신할 때, 실시간으로 상기 구조화 관계 정보를 업데이트하여, 상기 구조화 관계 정보의 생성에 기여한다.
도 5는 본 개시의 일 실시예에 따라 비구조화 텍스트로부터 관계 정보를 생성하는 전자 장치의 블록도이다.
일 실시예에서, 컴퓨터 시스템(500)은 비구조화 텍스트로부터 관계 정보를 생성하기 위해 사용되는 정보 처리 시스템(205) 또는 전자장치일 수 있다. 상기 컴퓨터 시스템(500)은 중앙처리장치("CPU" 또는 "프로세서")(502)를 포함할 수 있다. 상기 프로세서(502)는 사용자나 시스템이 생성한 비지니스 과정들을 실행하기 위한 프로그램 구성요소들을 실행하기 위한 적어도 하나의 데이터 프로세서를 포함할 수 있다. 사용자는 사람, 본 개시에 포함된 바와 같은 장치를 이용하는 사람 또는 그러한 장치 자체를 포함할 수 있다. 상기 프로세서(502)는 집적화 시스템(버스) 제어기들, 메모리 관리 제어부들, 부동 소수점 장치들, 그래픽 처리 장치들, 디지털 신호 처리 장치들 등과 같은 특수 처리 장치들을 포함할 수 있다.
상기 프로세서(502)는 I/O 인터페이스(501)를 통해 입력 장치들(511)과 출력 장치들(512)과 통신하도록 배치될 수 있다. 상기 I/O 인터페이스(501)는, 오디오, 아날로그, 디지털, 스테레오, IEEE-1395, 직렬 버스, USB(Universal Serial Bus), 적외선, PS/2, BNC, 동축, 구성요소, 컴포지트, DVI(Digital Visual Interface), HDMI(High-Definition Multimedia Interface), RF(Radio Frequency) 안테나, S-비디오, VGA(Video Graphics Array), IEEE 802.n /b/g/n/x, 블루투스, 셀룰러(예: CDMA(Code-Division Multiple Access), HSPA+(High-Speed Packet Access), GSM(Global System For Mobile Communications), LTE(Long-Term Evolution), WiMax 등) 등과 같으나 이에 제한되지 않는 통신 프로토콜들/방법들을 이용할 수 있다.
상기 I/O 인터페이스(501)를 이용하여, 컴퓨터 시스템(500)은 입력 장치들(511)과 출력 장치들(512)과 통신할 수 있다.
일 실시예에서, 상기 프로세서(502)는 네트워크 인터페이스(503)를 통해 통신 네트워크(509)와 통신하도록 배치될 수 있다. 상기 네트워크 인터페이스(503)는 통신 네트워크 (509)와 통신할 수 있다. 상기 네트워크 인터페이스(503)는 직접 연결, 이더넷(예: 꼬인 쌍 10/100/1000 Base T), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), 토큰 링, IEE 802.11a/b/g/n/x 등을 포함하되 이에 제한되지 않는 연결 프로토콜들을 이용할 수 있다. 상기 네트워크 인터페이스(503)와 통신 네트워크(509)를 이용하여 컴퓨터 시스템(500)은 사용자 장치(203)와 통신할 수 있다. 상기 통신 네트워크(509)는 인트라넷 또는 LAN(Local Area Network) 및 조직 내의 상이한 유형들의 네트워크들 중 하나로 구현될 수 있다. 상기 통신 네트워크(509)는 다양한 프로토콜들, 예를 들어, HTTP(Hypertext Transfer Protocol), 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP), WAP(Wireless Application Protocol) 등을 이용하는 상이한 유형들의 네트워크들의 연관을 제시하는 전용 네트워크나 공유 네트워크일 수 있다. 또한, 상기 통신 네트워크(509)는 라우터, 브리지, 서버, 컴퓨팅 장치, 저장 장치 등의 다양한 네트워크 장치들을 포함할 수 있다. 일 실시예에서, 상기 프로세서(502)는 메모리(505)(예: 도 5에 도시되지 않은 RAM, ROM 등)와 저장 인터페이스(504)를 통해 통신하도록 배치될 수 있다. 상기 저장 인터페이스(504)는, 메모리 드라이브, 착탈식 디스크 드라이브 등을 포함하되 이에 제한되지 않고, SATA(Serial Advanced Technology Attachment), IDE(Integrated Drive Electronics), IEEE-1395, USB, 섬유 채널, SCSI(Small Computer Systems Interface) 등과 같은 연결 프로토콜들을 이용하는 메모리(505)에 연결될 수 있다. 상기 메모리 드라이브는 드럼, 자기 디스크 드라이브, 자기 광학 드라이브, 광학 드라이브, RAID(Redundant Array of Independent Discs), 솔리드 스테이트 메모리 장치, 솔리드 스테이트 드라이브 등을 더 포함할 수 있다.
상기 메모리(505)는, 사용자 인터페이스(506), 운영 시스템(507), 웹 브라우저(508) 등을 포함하되 이에 제한되지 않는 프로그램 또는 데이터베이스 구성 요소들의 컬렉션을 저장할 수 있다. 일 실시예에서, 상기 컴퓨터 시스템(500)은 본 개시에 설명된 바와 같이, 데이터, 변수들, 기록들 등과 같은 사용자/애플리케이션 데이터를 저장할 수 있다. 이러한 데이터베이스는 Oracle나 Sybase와 같은 내고장(fault-tolerant), 관계, 확장 가능하고 안전한 데이터베이스로 구현될 수 있다.
상기 운영체제(507)는 컴퓨터 시스템(500)의 자원 관리 및 작동을 용이하게 할 수 있다. 운영 체제들의 예로는 Apple®, Macintosh®, OS X®, UNIX®, UNIX 같은 시스템 배포(예:BERKELEY SOFTWARE DISTRIBUTION®(BSD), FREEBSD®, NETBSD®, OPENBSD 등), LINUX® DISTRIBUTIONS (예: RED HAT®, UBUNTU®, KUBUNTU® 등), IBM®OS/2®, MICROSOFT® WINDOWS® (XP®, VISTA®/7/8, 10 등), APPLE® IOS®, GOOGLETM ANDROIDTM, BLACKBERRY® OS 등을 포함하되 이에 제한되지 않는다. 사용자 인터페이스(506)는 텍스트 또는 그래픽 시설을 통해 프로그램 구성 요소들의 디스플레이, 실행, 상호 작용, 조작 또는 동작을 용이하게 할 수 있다. 예를 들어, 사용자 인터페이스는 커서, 아이콘, 체크 박스, 메뉴, 스크롤러, 창문, 위젯 등과 같은 컴퓨터 시스템(500)에 동작 가능하게 연결된 디스플레이 시스템에 컴퓨터 상호 작용 인터페이스 요소들을 제공할 수 있다. Apple® Macintosh® 운영 체제의 Aqua®, IBM® OS/2®, Microsoft® Windows®(예: Aero, Metro 등),웹 인터페이스 라이브러리들(예: ActiveX®, Java®, Javascript®, AJAX, HTML, Adobe® Flash® 등)등을 포함하되 이에 제한되지 않는 그래픽 사용자 인터페이스들(GUI)이 이용될 수 있다.
상기 컴퓨터 시스템(500)은 웹 브라우저(508)가 저장된 프로그램 구성 요소를 구현할 수 있다. MICROSOFT® INTERNET EXPLORER®, GOOGLETM CHROMETM, MOZILLA® FIREFOX®, APPLE® SAFARI®등과 같은 하이퍼텍스트 보기 애플리케이션일 수 있다. HTTPS(Secure Hypertext Transport Protocol), SSL(Secure Sockets Layer), TLS(Transport Layer Security)등을 이용하여 안전한 웹 브라우징이 제공될 수 있다. 웹 브라우저(508)은 AJAX, DHTML, ADOBE® FLASH®, JAVASCRIPT®, JAVA®, API(Application Programming Interface)등과 같은 기능을 이용할 수 있다. 컴퓨터 시스템(500)은 메일 서버 저장 프로그램 구성요소를 구현할 수 있다. 상기 메일 서버는 Microsoft Exchange 등과 같은 인터넷 메일 서버일 수 있다. 상기 메일 서버는 ASP, ACTIVEX®, ANSI® C++/C#, MICROSOFT®, NET, CGI SCRIPTS, JAVA®, JAVASCRIPT®, PERL®, PHP, PYTHON®, WEBOBJECTS® 등과 같은 기능들을 이용할 수 있다. 상기 메일 서버는 IMAP(Internet Message Access Protocol), MAPI(Messaging Application Programming Interface), MICROSOFT® 교환, POP(Post Office Protocol), SMTP(Simple Mail Transfer Protocol)등과 같은 통신 프로토콜들을 이용할 수 있다. 일 실시예에서, 상기 컴퓨터 시스템(500)은 메일 클라이언트 저장 프로그램 구성요소를 구현할 수 있다. 상기 메일 클라이언트는 APPLE® MAIL, MICROSOFT® ENTOURAGE®, MICROSOFT® OUTLOOK®, MOZILLA® THUNDERBIRD®등과 같은 메일 보기 애플리케이션일 수 있다.
또한, 하나 이상의 컴퓨터 판독 가능 저장 매체가 본 개시와 일치하는 실시예들을 구현하는데 이용될 수 있다. 컴퓨터 판독 가능 저장 매체는 프로세서에 의해 판독 가능한 정보 또는 데이터가 저장될 수 있는 임의의 유형의 물리적 메모리를 의미한다. 따라서, 컴퓨터 판독 가능 저장 매체는 프로세서 (들)가 여기에 설명된 실시예들과 일치하는 단계들 또는 스테이지들을 수행하도록 하는 명령어들을 포함하여, 하나 이상의 프로세서들에 의한 실행을 위한 명령어들을 저장할 수 있다. "컴퓨터로 판독 가능한 매체"라는 용어는 유형의 항목들을 포함하고 반송파 및 일시적인 신호들을 배제하는 것으로 이해되어야 하며, 즉 비일시적이다. 예로는 RAM(Random Access Memory), ROM(Read-Only Memory), 휘발성 메모리, 비휘발성 메모리, 하드 드라이브, CD(Compact Disc) ROM, DVD(Digital Video Disc), 플래시 드라이브, 디스크 및 기타 알려진 물리적 저장 매체를 포함한다.
본 개시는 임의의 포맷의 텍스트 입력을 템플릿으로 동적으로 변환하는 지능형 템플릿 변환 기술에 기초하여 텍스트 입력을 분류하고, 상기 텍스트 입력을 상이한 카테고리로 분류할 수 있게 한다. 따라서, 본 개시는 알려지거나 미리 정의된 포맷의 텍스트 입력만을 분류 및 프로세싱하는 제한을 제거하여, 각각의 새로운 텍스트 포맷을 빈번히 구성하는 지루한 과정을 제거한다.
본 개시는 2개의 텍스트 입력들 간의 관계 연관을 수행함으로써 사용자에게 오퍼, 정보, 일회용 패스워드(One Time Password: OTP), 리마인더(reminder) 등과 같은 최선/가장 적합한 콘텐츠를 추천할 수 있도록 한다. 관계 연관에 기초한 이러한 추천은, 그렇지 않으면 무시되었을 오퍼, OTP 등과 같은 콘텐츠를 사용자가 사용할 수 있도록 한다.
본 개시는 미리 정의된 관계 기준에 기초하여 관계 시퀀스에서 직관적인 디스플레이 포맷으로 그러한 최선의/가장 적절한 컨텐츠를 사용자에게 추천한다. 상기 직관적인 디스플레이 포맷은 콘텐츠를 쉽게 이해하고 이용할 수 있도록 돕는, 추천 컨텐츠 간의 링크를 제공한다. 일 예로서, 항공편 세부사항들을 리마인더가 사용자에게 제공되면, 택시와 관련된 오퍼들이 디스플레이 카드에 통합되어 복합 뷰를 생성하여, 사용자는 디스플레이 카드 자체로부터 적용가능한 택시 예약 오퍼들을 쉽게 선택할 수 있다. 이는 특정 오퍼를 이용하기 위해 적용가능한 오퍼들을 식별하기 위해 메시지들의 클러터나 오퍼들의 클러터를 경험하는 지루한 과정을 없앤다. 또한, 관계 시퀀스는 미리 정의된 관계 기준에 따라 파생된다. 관계 시퀀스는 추천 컨텐츠가 적절한 시간에 사용자에게 제공되어 추천 컨텐츠의 최대 및 최선의 이용을 보장하도록 한다.
본 개시는 사용자 장치에 설치된 다수의 애플리케이션들에서 콘텐츠를 통합하고 맥락 및 관계 분석에 기초하여 추천을 제공하여, 정확한 관계 추천을 돕는다.
본 개시는 정보 처리 시스템에 의해 수신된 하나 이상의 업데이트들에 기초하여 실시간으로 사용자에게 제공된 구조화 관계 정보를 업데이트한다. 이러한 업데이트된 구조화 관계 정보는, 사용자가 가장 최근의 정보를 보고 있으며 추천된 컨텐츠가 업데이트된 정보에 따를 것을 보장한다.
서로 통신하는 몇 가지 구성요소들을 포함하는 실시예에 대한 설명은 그러한 모든 구성요소들이 요구되는 것을 의미하지는 않는다. 반대로, 다양한 선택적인 구성요소들이 본 개시의 다양한 가능한 실시예들을 예시하기 위해 설명된다. 단일 장치 또는 물품이 본 명세서에서 설명될 때, 하나 이상의 단일 장치/물품들(이들이 협력하는 것과 관계없이)이 단일 장치/물품 대신에 이용될 수 있음이 명백하다. 유사하게, 하나 이상의 장치 또는 물품이 본 명세서 설명되는 경우(이들이 협력하는 것과 관계없이), 단일 장치/물품이 하나 이상의 장치나 물품 대신에 이용될 수 있고, 도시된 개수의 장치들이나 프로그램들 대신에 상이한 수의 장치들/물품들이 이용될 수 있음이 명백하다. 장치의 기능 및/또는 장치의 특징은 이러한 기능/특징을 갖는 것으로 명시적으로 설명되지 않은 하나 이상의 다른 장치들에 의해 대안적으로 구현될 수 있다. 따라서, 본 개시의 다른 실시예들은 장치 자체를 포함할 필요는 없다.
본 명세서는 비구조화 텍스트로부터 관계 정보를 생성하기 위한 방법 및 시스템을 설명하였다. 도시된 단계들은 도시된 예시적인 실시예들을 설명하기 위해 기술되며, 진행중인 기술 개발이 특정 기능이 수행되는 방식을 변경할 것으로 예상되어야 한다. 이러한 예들은 본 명세서에서 예시를 위해서 제시되었으며 제한을 위한 것은 아니다. 또한, 기능적 빌딩 블록들의 경계는 설명의 편의를 위해 본 명세서에서 임의로 정의되었다. 지정된 기능 및 그 관계가 적절하게 수행되는 한 대안적인 경계를 정의할 수 있다. 대안(본 명세서에 설명된 것들의 등가물, 확장, 변이, 편차 등을 포함)은 본 명세서에 포함된 교시에 기초한 관련 기술(들)의 당업자들에 명백할 것이다. 이러한 대안은 개시된 실시예들의 범위 및 사상에 속한다. 또한, "포함하는(comprising)", "가진(having)", "포함하는(containing)" 및 "포함하는(including)"라는 단어들 및 기타 유사한 형태는, 이러한 단어들 중 어느 하나를 따르는 항목이나 항목들이 그러한 항목이나 항목들의 전체 목록을 의미하지는 않으며 그러한 열거된 항목이나 항목들만으로 제한되도록 의도된 점에서, 의미에 있어 동등하며 개방형(open-ended)인 것으로 의도된다. 또한, 본 명세서에서 사용된 바와 같고 첨부된 청구 범위에서, 단수 형태 "a," "an" 및 "the"는 문맥이 달리 명확하게 지시하지 않는 한 복수 참조들을 포함한다는 것에 유의해야 한다.
마지막으로, 본 명세서에 사용된 언어는 주로 가독성 및 교육 목적으로 선택되었으며, 본 발명의 요지를 묘사하거나 제한하기 위해 선택되지 않았을 수 있다. 따라서, 본 발명의 범위는 이러한 상세한 설명에 의해서가 아니라, 오히려 여기에 기초한 애플리케이션에서 오는 청구항들에 의해 제한되는 것으로 의도된다. 따라서, 본 개시의 실시예들은 하기의 청구항들에 기술된, 본 개시의 범위를 예시하는 것으로 의도되며 이를 제한하는 것으로 의도되지 않는다.
본 개시의 실시예들이 상세히 설명되었지만, 본 개시의 범위는 이에 한정되지 않으며, 당업자는 하기 청구항들에 의해 정의된 바와 같이 본 개시의 사상 및 범위를 벗어나지 않고 다양한 수정 및 개선이 이루어질 수 있음을 이해할 것이다.
201; 하나 이상의 소스들
203; 사용자 장치
205; 입력 처리 시스템
207; 프로세서
209; I/O 인터페이스
211; 메모리
303; 데이터
307; 입력 데이터
309; 분류된 데이터
311; 엔터티 데이터
313; 관계 가능성 데이터
315; 구조화 관계 정보
317; 업데이트된 관계 정보
319; 기타 데이터
305; 모듈
321; 검색 모듈
323; 분류 모듈
325; 엔터티 추출 모듈
327; 관계 가능성 결정 모듈
329; 관계 정보 생성 모듈
331; 정보 제공 모듈
333; 업데이트 모듈
334; 기타 모듈
500; 컴퓨터 시스템
501; I/O 인터페이스
502; 프로세서
503; 네트워크 인터페이스
504; 저장 인터페이스
505; 메모리
506; 사용자 인터페이스
507; 동작 시스템
508; 웹 브라우저
509; 통신 네트워크
511; 입력 장치
512; 출력 장치

Claims (15)

  1. 전자 장치에서 구조화 관계 정보를 생성하는 방법에 있어서, 상기 방법은,
    적어도 하나의 애플리케이션에 의해 수신된 텍스트 입력을 적어도 하나의 카테고리로 분류하는 단계;
    상기 텍스트 입력으로부터 파생된 텍스트를 나타내는 구성요소를 포함하는 제1 엔티티를 상기 텍스트 입력으로부터 추출하는 단계;
    상기 텍스트 입력으로부터의 제1 엔티티와 상기 전자 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔티티를 연관시켜, 구조화 관계 정보를 생성하는 단계; 및
    상기 구조화 관계 정보를 상기 전자 장치에 디스플레이 하는 단계를 포함하는 방법.
  2. 제1 항에 있어서, 상기 적어도 하나의 카테고리는 상기 전자 장치의 사용자에 대한 스케쥴의 리마인더, 서비스나 제품들과 연관된 오퍼, 거래, 인사, 정보의 오퍼링, 요청 및 단순 확인(acknowledgement) 중 적어도 하나를 포함하는 방법.
  3. 제1 항에 있어서, 상기 텍스트 입력으로부터 제1 엔티티를 추출하는 단계는 상기 적어도 하나의 카테고리에 기초하여, 상기 수신된 텍스트 입력과 상기 전자 장치나 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나 사이의 관계 인자를 결정하는 단계를 포함하며,
    상기 구조화 관계 정보를 생성하는 단계는 상기 관계 인자에 기초하여 상기 구조화 관계 정보를 생성하는 단계를 포함하는 방법.
  4. 제3 항에 있어서, 상기 관계 인자를 결정하는 단계는,
    상기 수신된 텍스트 입력으로부터 제1 키워드를, 상기 기타 분류된 텍스트 입력들 중 적어도 하나로부터 제2 키워드를 검출하는 단계;
    상기 제1 키워드와 상기 제2 키워드 간의 연관을 결정하는 단계; 및
    상기 제1 키워드와 상기 제2 키워드 간의 연관이 검출되면, 상기 관계 인자를 양수로 결정하는 단계를 포함하는 방법.
  5. 제4 항에 있어, 상기 구조화 관계 정보를 생성하는 단계는 상기 관계 인자가 양수인 것으로 결정된 경우, 상기 구조화 관계 정보를 생성하는 단계를 포함하는 방법.
  6. 제4 항에 있어, 상기 수신된 텍스트 입력으로부터 제1 키워드와 상기 기타 분류된 텍스트 입력들 중 적어도 하나로부터 제2 키워드를 검출하는 단계는,
    상기 수신된 텍스트 입력으로부터의 텍스트, 상기 수신된 텍스트 입력으로부터의 텍스트에 대응하는 동의어 또는 상기 수신된 텍스트 입력으로부터의 텍스트와 함께 워드 임베딩으로부터 생성된 워드 벡터에 기초하여, 상기 제1 키워드를 결정하는 단계; 및
    상기 기타 분류된 텍스트 입력들 중 적어도 하나로부터의 텍스트, 상기 기타 분류된 텍스트 입력들 중 적어도 하나로부터의 텍스트에 대응하는 동의어나 상기 기타 분류된 텍스트 입력들 중 적어도 하나로부터의 텍스트와 함께 워드 임베딩으로부터 생성된 워드 벡터에 기초하여, 상기 제2 키워드를 결정하는 단계를 포함하는 방법.
  7. 제4 항에 있어서, 상기 관계 인자를 결정하는 단계는 맵핑 테이블에 기초하여 상기 관계 인자를 결정하는 단계를 포함하고,
    상기 맵핑 테이블은 상기 적어도 하나의 카테고리와 기타 텍스트 입력들 중 적어도 하나를 분류하여 파생된 기타 카테고리들 사이의 적어도 하나의 카테고리 연관을 포함하는 방법.
  8. 제7 항에 있어서, 상기 제1 키워드와 상기 제2 키워드 간의 상기 연관 또는 소정의 시간 동안 상기 전자 장치의 애플리케이션들에 대한 사용자의 사용의 통계적 분석 중 적어도 하나에 기초하여, 적어도 하나의 카테고리 연관이 생성되는 방법.
  9. 제1 항에 있어서, 상기 구조화 관계 정보를 표시하는 단계는 미리 정의된 관계 기준에 기초하여, 상기 구조화 관계 정보를 디스플레이하는 단계를 포함하며,
    상기 미리 정의된 관계 기준은 시간, 상기 전자 장치의 사용자의 위치, 상기 텍스트 입력으로부터 추출된 이벤트 및 상기 텍스트 입력으로부터 추출된 금액 중 적어도 하나를 포함하는 방법.
  10. 제1 항에 있어서, 상기 구조화 관계 정보는 상기 수신된 텍스트 입력으로부터 추출된 정보와 상기 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 정보를 포함하는 방법.
  11. 제1 항에 있어서, 상기 구조화 관계 정보와 현재 시간에 기초하여, 상기 전자 장치의 애플리케이션과 관련된 제안(suggestion) 정보를 제공하는 단계를 더 포함하는 방법.
  12. 제3 항에 있어서, 상기 제1 엔티티는,
    약속 리마인더와 연관된 상기 텍스트 입력에 포함된 약속 정보;
    예약 애플리케이션과 연관된 상기 텍스트 입력에 포함된 예약 정보;
    상기 텍스트 입력에 포함된 시간 정보;
    상기 텍스트 입력에 포함된 위치 정보;
    상기 텍스트 입력에 포함된 연락처 정보;
    상기 텍스트 입력에 포함된 쿠폰 정보;
    상기 텍스트 입력에 포함된 지불 정보;
    상기 텍스트 입력에 포함된 배달 정보;
    상기 텍스트 입력에 포함된 운송 정보;
    상기 텍스트 입력에 포함된 제품 제공자 정보;
    상기 텍스트 입력에 포함된 제품 정보;
    상기 텍스트 입력에 포함된 서비스 제공자 정보; 및
    상기 텍스트 입력에 포함된 서비스 정보 중 적어도 하나를 포함하는 방법.
  13. 제1 항에 있어서, 상기 기타 분류된 텍스트 입력들과 연관된 애플리케이션은 상기 수신된 텍스트 입력과 연관된 애플리케이션과는 다른 방법.
  14. 제1 항에 있어서, 상기 구조화 관계 정보를 디스플레이하는 단계는 상기 전자 장치의 사용자의 사용자 프로파일과 맥락 파라미터들에 기초하여, 상기 구조화 관계 정보를 디스플레이하는 단계를 포함하고,
    상기 사용자 프로파일은 사용자의 위치, 사용자 선호, 애플리케이션 사용 통계, 사용자의 이름 및 사용자의 스케쥴 중 적어도 하나를 포함하고,
    상기 맥락 파라미터들은 위치, 스케줄, 유효성, 서비스나 제품의 이벤트, 사람의 이름이나 상기 수신된 텍스트 입력 및 상기 기타 분류된 텍스트 입력들에 포함된 미리 정의된 진술(statements) 중 적어도 하나를 포함하는 방법.
  15. 구조화 관계 정보를 생성하는 장치에 있어서,
    적어도 하나의 애플리케이션을 통해 텍스트 입력을 수신하는 입력-출력(IO) 인터페이스; 및
    프로세서를 포함하되, 상기 프로세서는,
    상기 텍스트 입력을 적어도 하나의 카테고리로 분류하고,
    상기 텍스트 입력으로부터 파생된 텍스트를 나타내는 구성요소를 포함하는 제1 엔티티를 상기 텍스트 입력으로부터 추출하고,
    상기 텍스트 입력으로부터의 제1 엔티티와 상기 장치 또는 서버에 저장된 기타 분류된 텍스트 입력들 중 적어도 하나로부터 추출된 제2 엔티티를 연관시켜, 구조화 관계 정보를 생성하도록 구성되며,
    상기 IO 인터페이스는 상기 생성된 구조화 관계 정보를 디스플레이하는 장치.
KR1020227004953A 2019-07-12 2020-07-13 텍스트 입력에 기초하여 구조화된 관계 정보를 생성하기 위한 방법과 장치 KR20220043135A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN201941028125(???) 2019-07-12
IN201941028125 2019-07-12
IN201941028125(????) 2020-07-09
PCT/KR2020/009194 WO2021010706A1 (en) 2019-07-12 2020-07-13 Method and apparatus for generating structured relation information based on a text input

Publications (1)

Publication Number Publication Date
KR20220043135A true KR20220043135A (ko) 2022-04-05

Family

ID=74101927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227004953A KR20220043135A (ko) 2019-07-12 2020-07-13 텍스트 입력에 기초하여 구조화된 관계 정보를 생성하기 위한 방법과 장치

Country Status (4)

Country Link
US (1) US11741095B2 (ko)
EP (1) EP3991123A4 (ko)
KR (1) KR20220043135A (ko)
WO (1) WO2021010706A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553431B (zh) * 2021-07-27 2024-05-10 深圳平安综合金融服务有限公司 用户标签提取方法、装置、设备及介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174115A1 (en) * 2004-09-01 2007-07-26 International Business Machines Corporation In-store consumer-based personalized offer presentation system and method
US7853544B2 (en) 2004-11-24 2010-12-14 Overtone, Inc. Systems and methods for automatically categorizing unstructured text
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
KR100995728B1 (ko) 2008-04-17 2010-11-22 삼성에스디에스 주식회사 이동통신 단말기를 이용한 상황 맞춤형 광고 제공시스템 및그 방법
WO2013188376A1 (en) 2012-06-11 2013-12-19 Retailmenot, Inc. Devices, methods, and computer-readable media for redemption header for merchant offers
KR20150059682A (ko) 2013-11-22 2015-06-02 주식회사 인지소프트 영수증 인식 기반 고객관리 시스템 및 방법
KR20150138590A (ko) 2014-05-30 2015-12-10 디에이치이노시스 주식회사 문자 추출 기반 포인트 적립 기능을 구비한 결제 관리 시스템
CN105472580B (zh) 2015-11-17 2019-08-06 小米科技有限责任公司 信息的处理方法、装置、终端及服务器
US10374996B2 (en) 2016-07-27 2019-08-06 Microsoft Technology Licensing, Llc Intelligent processing and contextual retrieval of short message data
CN107423279B (zh) 2017-04-11 2021-01-15 美林数据技术股份有限公司 一种金融信贷短信的信息抽取和分析方法
KR102299239B1 (ko) * 2017-10-21 2021-09-06 애플 인크. 공동 디바이스 상의 가상 어시스턴트 시스템에 대한 개인 도메인
US10678830B2 (en) * 2018-05-31 2020-06-09 Fmr Llc Automated computer text classification and routing using artificial intelligence transfer learning

Also Published As

Publication number Publication date
EP3991123A4 (en) 2022-08-31
WO2021010706A1 (en) 2021-01-21
EP3991123A1 (en) 2022-05-04
US20210011912A1 (en) 2021-01-14
US11741095B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
US20230334221A1 (en) Method and Apparatus for Inbound Message Summarization
US20240086406A1 (en) Systems and methods for enhancing user data derived from digital communications
US11392896B2 (en) Event extraction systems and methods
US10521819B2 (en) Systems and methods for analytics in a cooperative data exchange
KR101889203B1 (ko) 서치 결과를 조정하는 시스템 및 방법
US10127247B1 (en) Linking digital images with related records
US20130073430A1 (en) Gift giving system and method
US11379862B1 (en) Data amelioration and reformation system
US10318546B2 (en) System and method for test data management
US20190287182A1 (en) Transaction Compliance Scoring System
US20190287183A1 (en) Insights System
US20180039512A1 (en) System and method for automated continuous task triggering
US20130246184A1 (en) Method and system for displaying a contextual advertisement on a webpage
CN111656310A (zh) 分割多个还款方案
US20180322164A1 (en) In-Memory Transaction Processing
US20190087914A1 (en) Deterministic Rules Protocol To Determine A Score
KR20220043135A (ko) 텍스트 입력에 기초하여 구조화된 관계 정보를 생성하기 위한 방법과 장치
WO2019099437A1 (en) Item information retrieval system
US20230316419A1 (en) Insights system
US20230214846A1 (en) Transaction compliance scoring system
US9063943B1 (en) Systems and methods for calculating a uniqueness rating for a vehicle
US10534782B1 (en) Systems and methods for name matching
KR102649920B1 (ko) 추천 컨텐츠를 제공하는 방법 및 그 장치
US10831786B2 (en) Aggregating key metrics across an account hierarchy
WO2022086994A1 (en) Automated customer review matching