KR102397791B1 - 메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법 - Google Patents

메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102397791B1
KR102397791B1 KR1020160042403A KR20160042403A KR102397791B1 KR 102397791 B1 KR102397791 B1 KR 102397791B1 KR 1020160042403 A KR1020160042403 A KR 1020160042403A KR 20160042403 A KR20160042403 A KR 20160042403A KR 102397791 B1 KR102397791 B1 KR 102397791B1
Authority
KR
South Korea
Prior art keywords
context
expression
information
semantic
electronic device
Prior art date
Application number
KR1020160042403A
Other languages
English (en)
Other versions
KR20160129721A (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/143,070 priority Critical patent/US10467598B2/en
Publication of KR20160129721A publication Critical patent/KR20160129721A/ko
Priority to US16/673,311 priority patent/US11636443B2/en
Application granted granted Critical
Publication of KR102397791B1 publication Critical patent/KR102397791B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)

Abstract

본 개시는 전자 장치에서 자신에게 보낸 메모(note-to-self)를 자동적으로 동작 리마인더로 변환하기 위한 방법을 제공한다. 상기 방법은, 상기 전자 장치의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출하는 과정과, 상기 적어도 하나의 어휘 각각에 대한 대용(anaphora)표현 또는 지시(deictic)표현을 분석하는 과정과, 상기 분석된 대용표현 또는 지시표현에 대한 컨텍스트(context)를 기반으로 리마인더(reminder)를 생성하는 과정을 포함한다.

Description

메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법{APPARATUS AND METHOD FOR AUTOMATICALLY CONVERTING NOTE TO ACTION REMINDERS}
일반적으로, 아래의 설명들은 리마인더(reminder)를 자동적으로 생성하는 것과 관련이 있으며, 보다 구체적으로, 전자 장치에서 자신에게 보낸 메모(note-to-self, N2S)를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법에 관한 것이다.
리마인더 자동 생성 방식은 메모(note)로서 입력된 텍스트에 기반하여 리마인더를 제공한다. 상기 리마인더 자동 생성 방식은 주로 탬플릿(template) 또는 키보드에 기반한 사용자 입력으로부터 텍스트 정보를 추출(extract)한다. 따라서, 리마인더 생성을 위하여 추출되는 정보는 템플릿과 키보드의 영역에 제한된다.
아래의 설명들은 전자 장치에서 시멘틱 표현(semantic representation) 및 컨텍스트에 기반하여 자신에게 보낸 메모(note-to-self, N2S)를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법을 제공하고자 한다.
일 실시 예는 전자 장치에서 자신에게 보낸 메모(note-to-self, N2S)를 자동적으로 동작 리마인더로 변환하기 위한 방법을 제공한다. 상기 방법은 상기 전자 장치의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출하는 과정과, 상기 적어도 하나의 어휘 각각에 대한 대용(anaphora)표현 또는 지시(deictic)표현을 분석하는 과정과, 상기 분석된 대용표현 또는 지시표현에 대한 컨텍스트(context)를 기반으로 리마인더(reminder)를 생성하는 과정을 포함한다.
일 실시 예는 자신에게 보낸 메모(note-to-self)를 자동적으로 동작 리마인더로 변환하기 위한 전자 장치를 제공한다. 상기 전자 장치는 상기 전자 장치의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출하도록 구성되고, 상기 적어도 하나의 어휘 각각에 대한 대용(anaphora)표현 또는 지시(deictic)표현을 분석하도록 구성되고, 상기 분석된 대용표현 또는 지시표현에 대한 컨텍스트(context)를 기반으로 리마인더(reminder)를 생성하도록 구성된다.
일 실시 예는 판독 가능한 비 일시적 저장 매체에 기록된 컴퓨터 실행 프로그램 코드를 포함하는 컴퓨터 프로그램을 제공한다. 상기 컴퓨터 실행 프로그램 코드는 입력 인식 유닛(input recognition unit)에 의하여, 상기 전자 장치의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출하는 단계와, 상기 적어도 하나의 문장 각각에 대한 대용(anaphora)표현 또는 지시(deictic)표현을 분석하는 단계와, 상기 분석된 대용표현 또는 지시표현에 대한 컨텍스트(context)를 기반으로 리마인더(reminder)를 생성하는 단계를 실행시키기 위하여 매체에 기록된다.
상기 실시 예들 및 다른 실시 예들은 이하 서술되는 상세한 설명 및 도면과 함께 이해될 수 있다. 그러나, 이하 서술되는 상세한 설명은 바람직한 실시 예들 및 이들의 다양한 세부 사항을 설명하기 위한 예시적인 수단이며, 범위를 제한하는 것은 아니다. 다양한 변경 및 변화가 상기 실시 예들의 범위 내에서 발생될 수 있다.
아래의 설명들은 전자 장치에서 자신에게 보낸 메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법을 제공할 수 있다.
보다 완전한 이해를 위해, 첨부된 도면을 참조하여 아래의 설명들이 이루어진다. 도면에서 동일한 참조번호는 동일한 구성요소를 나타낸다.
도 1은 자신에게 보낸 메모(note-to-self, N2S)를 자동적으로 동작 리마인더로 변환하기 위한 전자 장치의 기능적 구성을 도시한다.
도 2는 리마인더를 생성하기 위한 동작의 흐름을 도시한다.
도 3은 다수의 시멘틱 표현(semantic representation)에 기반하여 컨텍스트(context)을 결정하기 위한 동작의 흐름을 도시한다.
도 4는 적어도 두 개의 컨텍스트를 병합하여 하나의 컨텍스트를 결정하기 위한 동작의 흐름을 도시한다.
도 5는 자신에게 보낸 메모를 전처리(preprocessing)하기 위한 동작의 흐름을 도시한다.
도 6은 언어 엔진(Language Engine, LE) 유닛의 기능적 동작의 흐름을 도시한다.
도 7a는 사용자 입력을 규범적 표상(canonical representation)으로 변환하기 위한 동작의 일 예를 도시한다.
도 7b는 구문 파싱(syntactic parsing) 동작의 일 예를 도시한다.
도 7c는 시멘틱 표현을 생성하는 동작의 일 예를 도시한다.
도 7d는 컨텍스트를 추출하는 동작의 일 예를 도시한다.
도 7e는 구문 파싱 동작의 다른 예를 도시한다.
도 7f는 시멘틱 표현을 생성하는 동작의 다른 예를 도시한다.
도 7g는 시멘틱 표현을 병합하는 동작의 일 예를 도시한다.
도 7h는 컨텍스트를 추출하는 동작의 다른 예를 도시한다.
도 7i는 구문 파싱 동작의 다른 예를 도시한다.
도 7j는 시멘틱 표현을 생성하는 동작의 다른 예를 도시한다.
도 7k는 시멘틱 표현을 병합하는 동작의 다른 예를 도시한다.
도 7l는 컨텍스트를 추출하는 동작의 다른 예를 도시한다.
도 7m은 시멘틱 표현에 기반하여 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 동작의 일 예를 도시한다.
도 8은 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 동작의 일 예를 도시한다.
도 9는 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 동작의 다른 예를 도시한다.
도 10은 전자 장치에서 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 방법을 구현하는 컴퓨팅 환경을 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 전자 장치에서 자신에게 보낸 메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 방법에 대하여 설명한다. 본 개시의 설명에 앞서, 용어에 대한 정의를 서술하면 하기와 같다.
본 개시에서 규범적 표상(canonical representation)은 자연적인 언어(예를 들어, 채팅에서 사용되는 언어)를 미리 지정된 형식(예를 들어, 공식 국어 사전)에 맞추어 수정한 표현을 의미할 수 있다. 본 개시에서 시멘틱 표현(semantic representation)은 특정 어휘 또는 문장이 가지는 정보를 의미할 수 있다. 본 개시에서 컨텍스트(context)는 주어진 문장 또는 어휘의 내적인 맥락(즉, 기재된 문장 및 앞, 뒤 문장에 비추어 드러나는 상황) 또는 외적인 맥락(즉, 기재된 문장 이외에 알 수 있는 상황)에 비추어 드러나는 언어적인 맥락 또는 의미일 수 있다.
상기 정의되는 용어들 및 이하 사용되는 용어들은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다. 예를 들어, 리마인더는 알림, 알람, 스케줄 정보 등으로 지칭될 수 있다.
도 1은 자신에게 보낸 메모(note-to-self)를 자동적으로 동작 리마인더로 변환하기 위한 전자 장치 100의 기능적 구성을 도시한다.
도 1을 참고하면, 전자 장치 100은 입력 인식 유닛(input recognition unit) 102, 전처리(preprocessing unit) 유닛 104, 언어 엔진(language engine, LE) 유닛 106, 컨텍스트 엔진(context engine, CE) 유닛 108, 및 일반화된 온톨로지(ontology) 110을 포함한다. 상기 입력 인식 유닛 102는 상기 전자 장치 100의 사용자로부터 입력을 검출하도록 구성된다. 일 실시 예에서, 상기 입력은 텍스트 형태일 수 있다. 다른 실시 예에서, 상기 입력은 텍스트 형태가 아닐 수 있다. 예를 들어, 텍스트 형태의 입력은 알파벳, 단어, 숫자 등과 같은 텍스트 정보일 수 있다. 다른 예를 들어, 텍스트가 아닌 형태의 입력은 음성 입력일 수 있다. 자동 음성 인식(automatic speech recognition, ASR)은 상기 음성 입력을 텍스트 정보로 변환하는 입력 인식 방법의 하나일 수 있다. 다른 입력 인식 방법은 광학 문자 인식(optical character recognition, OCR) 및 수서 문자 인식(hand written character recognition, HCR) 방법일 수 있다.
상기 전처리 유닛 104는 상기 입력을 규범적 표상(canonical presentation)으로 변환하도록 구성된다. 앞서 설명하였듯이, 상기 규범적 표상은 자연적인 언어를 미리 지정된 형식에 맞추어 수정한 표현을 의미할 수 있다. 예를 들어, 상기 전처리 유닛 104는 속어 및 오타를 공식적인 언어 사전에 기재된 단어로 정정할 수 있다. 상기 전처리 유닛 104는 지역적인 문맥에 기반하여 상기 속어 및 오타에 대한 다수의 정정 단어들과 차이를 명확히 한다. 상기 전처리 유닛 104는 단일한 개체(entity)의 단위, 활동, 공간 표현, 시간 표현 등의 단위를 나타내는 하나 또는 그 이상의 단어 세그먼트(segment)들을 토큰화(tokenize)한다. 본 개시에서 토큰화는 다수의 단어들이 포함된 문장에서 상기 다수의 단어들 각각을 구분하는 과정을 의미할 수 있다. 또한, 상기 전처리 유닛 104는 상기 시간 표현에 대한 규범적 표상을 생성한다.
상기 언어 엔진(LE) 유닛 106은 다수의 시멘틱 표현(semantic representation)을 생성하기 위하여 상기 규범적 표상으로부터 정보를 추출하도록 구성된다. 앞서 설명하였듯이, 상기 시멘틱 표현은 특정 어휘 또는 문장이 가지는 정보를 의미할 수 있다. 상기 LE 유닛 106은 상기 전처리 유닛 104로부터 준 토큰화된(semi-tokenized) 문장들을 입력으로서 획득한다. 또한, 상기 LE 유닛 106은 상기 준 토큰화된 문장들로부터 관련된 정보를 추출한다. 예를 들어, 상기 준 토큰화된 문장들은 활동 유형, 목적, 참여자, 시간, 위치 등일 수 있다. 상기 LE 유닛 106은 상기 입력 문장들에 대한 시멘틱 표현들을 생성하고, 상기 생성된 시멘틱 표현들을 컨텍스트 엔진(CE) 유닛 108에게 전달한다. 상기 시멘틱 표현의 생성 과정은 언어 구조에 따른다. 그러나 상기 시멘틱 표현은 언어 구조와 독립적일 수 있다. 상기 시멘틱 표현은 단어의 의미(semantics)와 상기 단어들이 서로 얼마나 연관되어 있는지에 따른다. 동일한 시멘틱 표현을 가지는 예들은 하기와 같다.
1. CC 비용은 4일까지. (CC Bill is due on 4th.).
2. 4일까지CC 비용을 지불해야 합니다. (Need to pay CC bill by 4th.).
3. 4일은 CC 비용을 해결하는 마지막 날. (4th is the last date to settle CC bill.)
4. 4일까지 CC 비용을 지불해야 함을 잊지 마세요. (Don't forget to pay for the CC bill by 4th.)
5. CC 비용 해결하는 마지막 날은 4일. (Last day to settle CC bill is 4th.)
상기 LE 유닛 106은 임의의 자연적인(natural) 문장 구조 유형(예를 들어, 채팅에서 사용되는 문장 구조)으로부터 관련된 정보를 추출할 수 있다. 상기 LE 유닛 106의 주요한 특징은 하기와 같다.
1. 상기 입력 문장으로부터 주요 활동 유형 및 그와 관련된 활동들을 추출한다.
2. 활동과 관련된 규칙들에 기반하여 상기 입력 문장으로부터 참여자 리스트를 추출한다. 일 실시 예로, 참여자는 행위자(agent), 피행위자(patient), 및 공동 행위자일 수 있다. 예를 들어, "존은 그의 기념일에 톰을 원할 것이다. (John will wish Tom on his anniversary.)"라고 쓰여진 문장에서, 존은 활동의 행위자, 톰은 활동의 피행위자로서 식별될 수 있다.
3. 상기 문장으로부터 상기 활동의 목적을 추출한다.
4. 상기 문장으로부터 상기 활동의 시간 및 위치를 추출한다.
5. 동일한 문장에서 관련이 없거나 서로 분리된 시간 및 위치를 구별한다. 예를 들어, "월요일 오후 4시와 화요일 오후 6시에 존을 만나라(meet John on Monday at 4pm and Tuesday at 6pm)"라고 쓰여진 문장이 있다고 가정한다. 제안된 방법은 상기 문장을 "월요일 오후 4시에 존을 만나고 화요일 오후 6시에 존을 만나라(meet John on Monday at 4pm and meet John on Tuesday at 6pm)"로 구별할 수 있다. 여기서, 상기 식별된 서로 다른 시간에 기반하여, 리마인더는 오후 4시와 오후 6시에 대하여 각각 설정될 수 있다.
6. 동일한 문장에서 관련이 없는 두 개의 예(instance)를 통하여 공통된 시간 또는 공간적 표현을 추론하고 확장한다. 예를 들어, "월요일과 화요일 오후 6시에 존을 만나자(let's meet John on Mondays and Tuesdays at 6pm)"라고 쓰여진 문장에서, 오후 6시는 상기 만나는 날짜 모두에 대한 공통된 시간으로 추론되고, 각 객체(object)에 전파된다.
7. 상기 문장의 시멘틱 표현을 추론하고, 활동 유형을 기준에 따라 변환한다. 예를 들어, "나는 월요일에 존을 볼 예정이다(I will see John on Monday)"라고 쓰여진 문장에서 활동 유형은 '보다(see)'에서 '만나다(meet)'로 변환될 것이다.
8. 질문, 제안, 정보 전달 등을 포함하는 문장으로부터 의도를 추출한다.
9. 문장으로부터 시제(tense) 정보를 추출한다.
상기 CE 유닛 108은 상기 다수의 시멘틱 표현에 기반하여 컨텍스트(context)를 결정하도록 구성된다. 상기 컨텍스트는 주어진 문장 또는 어휘의 내적인 맥락(즉, 기재된 문장 및 앞, 뒤 문장에 비추어 드러나는 상황) 또는 외적인 맥락(즉, 기재된 문장 이외에 알 수 있는 상황)에 비추어 드러나는 언어적인 맥락 또는 의미일 수 있다.
상기 CE 유닛 108은 메모에 있는 문장을 캡쳐(capture)하고 저장한다. 또한, 상기 CE 유닛 108은 문장에서 대용(anaphora)표현 및 지시(deictic)표현을 분석하고 다른 기능들 사이에서 시간적 추론 및 공간적 추론을 수행한다. 여기서, 상기 대용표현은 문장에서 이미 나온 단어를 대신하여 사용할 수 있는 표현을 의미할 수 있고, 지시표현은 특정 대상을 지칭하는 표현을 의미할 수 있다. 예를 들어, "존은 런던에 갈 예정이다. 나는 다음 주에 그곳에서 그를 만나야 한다. (John is going to London. I have to meet him there next week)"라고 쓰여진 문장이 있는 경우, 상기 문장에서 '그(him)'는 이전 문장에서 쓰여진 '존(John)'의 대용표현이 될 수 있다. 다른 예를 들어, "나는 이 꽃을 좋아한다. (I like this flower.)"라고 쓰여진 문장이 있는 경우, 상기 문장에 '이(this)'는 꽃을 가리키는 지시표현이 될 수 있다.
상기 일반화된 온톨로지 110은 구체적인 영역과 관련된 속어 사전, 시기와 관련된 사전(occasion dictionary), 개체(entity) 및 규칙 이름 등과 같이 다양화된 정보를 구성하는 지식 베이스(knowledge base)이다. 상기 일반화된 온톨로지 110은 또한 어휘(단어 및 해당 단어의 품사(parts of speech, POS) 태그, 발생 빈도 등), 워드 매핑(단어들을 의미론적 개념으로 매핑하는 것) 등과 같은 정보를 저장할 수 있다. 상기 일반화된 온톨로지 110은 서로 다른 정보 및 데이터에 대한 모듈들에 의하여 액세스될 수 있다. 또한, 상기 일반화된 온톨로지 110은 주요 관심 대상인 특정 영역에 있는 개념들과 상기 개념들간 관계를 묘사함으로써 상기 특정 영역에 대한 지식을 캡쳐할 수 있다. 예를 들어, 속어 사전은 상기 전처리 유닛 104에 의하여 이용될 수 있는 항목(예: tomorrow를 Tmrw로 표시)들을 포함할 수 있다. 또한, 공간적 관계들을 포함하는 공간 정보 및 성별 할당 등에 대한 규칙이 상기 CE 유닛 108에 의하여 이용될 수 있다.
도 1은 상기 전자 장치 100의 제한된 실시 예들을 도시하였지만, 다른 실시 예들이 적용될 수 있다. 상기 유닛들의 라벨 또는 이름들은 예시의 목적일 뿐, 본 발명의 범위를 제한하는 것은 아니다. 또한, 상기 전자 장치 100은 임의의 수의 유닛들 또는 서브 유닛들을 포함할 수 있다. 상기 유닛들 또는 서브 유닛들은 다른 구성요소들과 함께 서로 간에 통신할 수 있다. 또한, 하나 이상의 유닛들은 본 발명의 범위를 벗어나지 않는 한도에서 하나의 유닛으로 결합되거나 다른 방식에 의하여 나누어질 수 있다.
도 2는 리마인더를 생성하기 위한 동작 200의 흐름을 도시한다.
도 2를 참고하면, 202 단계에서, 상기 전자 장치 100은 상기 전자 장치 100의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출한다. 상기 입력을 검출하는 방법은 구현 방법에 따라 다양할 수 있다. 예를 들어, 상기 전자 장치 100은 음성 인식 이외에, OCR, HCR 방식 등을 이용하여 상기 입력을 검출할 수 있다.
204 단계에서, 상기 전자 장치 100은 상기 적어도 하나의 어휘 각각에 대한 대용표현 및 지시표현 중 적어도 하나를 파싱한다. 상기 대용표현 및 상기 지시표현 중 적어도 하나를 파싱하는 과정에 대한 구체적인 방법은 도 4에서 상세히 후술된다.
206 단계에서, 상기 전자 장치 100은 상기 파싱된 대용표현 및 지시표현 중 적어도 하나를 기반으로 리마인더를 생성한다. 상기 전자 장치 100의 사용자는 상기 파싱된 대용표현 및 지시표현 중 적어도 하나를 이용하여 상기 리마인더를 생성함으로써, 상기 사용자의 의도가 보다 명확히 드러나는 리마인더를 생성할 수 있다.
도 3은 다수의 시멘틱 표현(semantic representation)에 기반하여 컨텍스트를 결정하기 위한 동작 300의 흐름을 도시한다.
도 3를 참고하면, 302 단계에서, 상기 동작 300은 상기 전자 장치 100의 사용자로부터 입력을 검출하는 과정을 포함한다. 다시 말해, 상기 302 단계에서, 전자 장치 100은 사용자로부터 입력을 검출한다. 일 실시 예에서, 상기 입력은 텍스트 형태일 수 있다. 다른 실시 예에서, 상기 입력은 텍스트가 아닌 형태일 수 있다. 예를 들어, 상기 입력은 텍스트 정보 또는 음성 입력일 수 있다.
304 단계에서, 상기 동작 300은 상기 입력을 규범적 표상으로 변환하는 과정을 포함한다. 다시 말해, 상기 304 단계에서, 상기 전자 장치 100은 상기 입력을 상기 규범적 표상으로 변환한다. 예를 들어, 상기 전처리 유닛 104는 'Wed'를 'Wednesday'로 변환할 수 있다.
306 단계에서, 상기 동작 300은 다수의 시멘틱 표현들을 생성하기 위하여 상기 입력의 규범적 표상 각각으로부터 정보를 추출하는 과정을 포함한다. 다시 말해, 상기 306 단계에서, 상기 전자 장치 100은 다수의 시멘틱 표현들을 생성하기 위하여 상기 입력의 규범적 표상 각각으로부터 정보를 추출한다. 상기 시멘틱 표현의 생성은 문장에서 언어의 구문 및 단어 어휘의 의미와 이들간의 관계에 기반한다. 예를 들어, 상기 관련 정보는 활동 유형, 의도, 참여자, 목적, 시간, 위치 등을 포함할 수 있다.
308 단계에서, 상기 동작 300은 상기 다수의 시멘틱 표현들에 기반하여 컨텍스트를 결정하는 과정을 포함한다. 다시 말해, 상기 308단계에서, 상기 전자 장치 100은 상기 다수의 시멘틱 표현들에 기반하여 컨텍스트를 결정한다. 예를 들어, "존은 런던에 갈 예정이다. 나는 다음 주에 그곳에서 그를 만나야 한다. (John is going to London. I have to meet him there next week)"라고 쓰여진 문장이 있다. 이 경우, 상기 문장에서 만남의 위치는 "런던(London)"으로 해석되고, 참여자는 "사용자(N2S 또는 상기 전자 장치 100의 사용자)"와 "존(John)"으로 해석될 것이다. 상기 문장에서 만남의 시간은 참조 시간(reference time)을 기준으로 돌아오는 주(week)의 첫째 날을 시작으로 하고, 상기 주의 마지막 날을 끝으로 설정하며, 각 구간은 개 구간(open interval)으로 설정될 것이다. 상기 참조 시간은 사용자의 입력 시간을 의미할 수 있다.
도 4는 적어도 두 개의 컨텍스트를 병합하여 하나의 컨텍스트를 결정하기 위한 동작 400의 흐름을 도시한다.
도 4를 참고하면, 402 단계에서, 상기 동작 400은 상기 다수의 시멘틱 표현들 안에서 대용표현 및 지시표현을 분석(resolve)하는 과정을 포함한다. 다시 말해, 상기 402 단계에서, 상기 전자 장치 100은 상기 다수의 시멘틱 표현들 안에서 대용표현 및 지시표현을 식별한다. 상기 CE 유닛 108은 하기의 단계에 따라 상기 대용표현 및 지시표현을 분석한다.
목적(purpose)에서 지시표현 분석: 상기 CE 유닛 108은 지시적인 용어를 식별한다. 또한, 상기 일반화된 온톨로지 110은 목적에 관한 정보를 포함하는 컨텍스트들의 리스트를 출력하도록 요청 받는다. 또한, 가장 최근 컨텍스트들이 추출되고, 추출된 컨텍스트들의 목적과 관련된 내용들은 현재 컨텍스트의 목적과 관련된 내용들에게 할당된다.
공간(spatial)에서 지시표현 분석: 상기 CE 유닛 108은 지시표현의 존재 및 상기 지시표현의 정도(level)를 식별한다. 예를 들어, "나는 그 도시에서 너를 만날 것이다(I will meet you in that City)"라고 문장이 쓰여진 경우, 지시표현은 상기 '도시(city)'의 공간 레벨(spatial level)과 관련이 있다. 상기 일반화된 온톨로지 110은 공백이 아닌(non-empty) 공간적 내용을 포함하는 컨텍스트를 출력하도록 요청 받는다. 또한, 동일한 공간 레벨을 가지고 가장 최근에 매칭된 컨텍스트가 추출되고, 상기 추출된 컨텍스트가 현재 컨텍스트의 공간과 관련된 내용에 할당된다.
시기(occasion)의 지시표현 분석: 상기 시기는 다양한 시기 유형으로 분석될 수 있다. 예를 들어, 음식과 관련된 시기와 연간 축제 행사 시기가 있다. 음식과 관련된 시기 경우, 내용을 기반으로 하는 모든 "날짜" 와 관련된 상기 시간적 정보는 지시표현을 위하여 상기 매칭된 컨텍스트로부터 추출되고 현재 컨텍스트로 채워진다. 다른 시기적 유형의 경우, "연도"정보는 상기 매칭된 컨텍스트로부터 추출된다. 예를 들어, "램은 2016년에 방갈로로 돌아온다. 샴은 해당 크리스마스에 그를 만날 것이다. (Ram is coming to Bangalore in 2016. Shyam will meet him that Christmas.)"라고 쓰여진 경우 "해당 크리스마스(that Christmas)"는 2016년의 크리스마스를 의미한다. 다른 예를 들어, "램은 1월 16일에 방갈로에 있었다. 우리는 함께 점심을 먹었다. 그 점심은 훌륭했다. (Ram was in Bangalore on 16th January. We had lunch together. That lunch was excellent.)"라고 쓰여진 경우, 여기서 "그 점심(that lunch)"은 1월 16일의 점심을 의미한다.
다른 시간적 지시표현 분석: 다른 시간적 지시표현의 경우, 적절한 시간 값이 상기 매칭된 컨텍스트로부터 획득되고 상기 획득된 시간 값은 상기 입력된 컨텍스트의 시간 관련 내용에 채워진다. 예를 들어, "램은 2015년 1월에 도시로 돌아올 예정이다. 그는 16일에 나를 만날 것이다. (Ram is coming to town in Jan 2015. He will meet me that 16th.)"라고 쓰여진 경우, "16일(that 16th)"은 2105년 1월 16일을 의미한다.
참여자에 대한 대용표현 및 지시표현 분석: 후술하는 내용에서는 스코어링(scoring)에 기반한 모델이 구현된다. 알고리즘의 다양한 부분들은 하기와 같다. 상기 알고리즘에 대한 별도의 연대기(chronology)가 있는 것은 아니다.
1인칭 대명사 및 2인칭 대명사 분석: 대명사 I, me, myself, you, yourself는 이전 컨텍스트와 독립적이고 사용자 정보 분석의 시작 시간에 바로 분석된다. 예를 들어, 이전에 언급된 문장("톰은 내일 방갈로로 올 예정이다. 우리는 15일에 만날 것이다. (Tom is coming to Bangalore tomorrow. We will meet up on 15th)")에서 "우리(we)"는 사용자 및 이전에 언급되었던 일부 제3 참여자를 의미할 수 있다.
성별 매칭: 상기 참여자에 대한 대용표현 및 지시표현에서 첫 번째로 중요한 기준은 상기 일반화된 온톨로지 110을 이용하여 성별을 매칭하는 것이다. 다양한 개체(entity)들이 상기 일반화된 온톨로지 110을 이용하는 성별에 적용될 수 있다. 이 경우, 온톨로지는 개체를 가지는 것이 아니며, 상기 LE 유닛 106은 참여자에게 상기 개체를 할당한다.
카디널리티(Cardinality) 매칭: 상기 참여자에 대한 대용표현 및 지시표현에서 다른 중요한 기준은 상기 카디널리티 매칭을 분석하는 동안 수(number)를 고려해야 한다는 것이다. 본 개시에서 상기 카디널리티는 특정 집합에 속한 원소들의 수를 의미할 수 있다. '복수의 의미(plural sense)'로 만들어진 참조들은 다수의 개체들에 매핑되어야 하고, '단수의 의미(singular sense)'로 만들어진 참조는 단일한 개체에 매핑되어야 한다.
거리 감가(Distance Depreciation): 상기 컨텍스트들이 한 단계씩 계속하여 되돌아가면, 팩터(factor)에 대한 스코어가 감소한다. 만약 다른 모든 팩터들이 동일하면, 마지막에 컨텍스트에서 언급되었던 참여자들이 수(n)가 가장 높은 스코어가 될 것이다.
위치 추론(location inference): 상기 추론들은 사용자에 의하여 언급되었던 여행 정보에 기반하여 상기 CE 유닛 108에 의해 만들어진다. 상기 추론은 출발지, 목적지, 여행 출발 일자, 및 종료 날짜 등과 같은 여행 정보들의 세부 사항들을 유지(maintain)하면서 수행된다. 상기 정보는 사용자에 의하여 언급되었던 다양한 개개인들에 대하여 적용된다. 예를 들어, "메리는 나에게 전화를 할 것이다. 수잔은 12일부터 18일까지 푼에 갈 예정이다. 나는 15일에 방갈로에서 그녀를 만날 것이다. (Mary will call me. Susan is going to Pune from 12th to 18th. I will meet her in Bangalore on 15th.)" 라고 쓰여진 경우, "그녀(her)"은 메리와 수잔 두 명으로 해석될 수 있다. 상기 시스템은 "수잔"이 15일에 방갈로에 있지 않기 때문에 "그녀"를 "메리"로 해석할 것이다. 상기 지식은 상식적 추론(COMMON SENSE REASONING)에 기반한 여행 정보로부터 획득된다.
성별 테이블 유지: 상기 전자 장치 100이 상기 일반화된 온톨로지 110에서 알 수 없는 개체들을 접할 때, 대용표현 또는 지시표현을 특별히 분석할 필요가 있다. 상기 정보는 "성별 테이블"에서 동일한 상태로 저장됨으로써 유지된다. 각 사용자에 대응하여, 하나의 테이블은 일관성을 보장하도록 유지된다. 예를 들어, "티베리우스는 도시로 올 예정이다. 그는 나를 만날 것이다. (Tiberius is coming to town. He will meet me.)"이라고 쓰여진 경우, 상기 온톨로지에서 티베리우스(Tiberius)"에 대한 정보가 없다고 가정하자. 지시 대명사 "그(he)"에 대한 다른 후보자가 없기 때문에, "그"는 "티베리우스"로 해석될 것이다. 또한, 티베리우스가 "남성"이라는 정보는 "성별 테이블"에 개별적으로 유지된다. 이후에, "티베리우스"는 여성으로 해석되지 않을 것이다.
404 단계에서, 상기 동작 400은 적어도 하나의 파라미터에 기반하여 적어도 두 개의 컨텍스트들 간의 일치 정도를 결정한다. 다시 말해, 상기 404 단계에서, 상기 전자 장치 100은 활동, 참여자, 시간, 위치, 목적 등이나 이들의 조합을 통한 호환성에 기반하여 적어도 두 개의 컨텍스트들 간의 일치 정도를 결정한다. 일 실시 예에서, 상기 파라미터들은 활동, 참여자, 시간, 위치, 목적 등이나 이들의 조합을 포함할 수 있다.
상기 LE 유닛 106에 의해 각각의 문장에 대하여 생성된 상기 시멘틱 표현은 상기 CE 유닛 108에 의하여 분석되고, 동일한 메모의 컨텍스트와 병합될 수 있다. 매칭된 컨텍스트들의 목록을 검색하면, 서로 다른 차원(dimension)들에 기반하여 적절한 매치가 확인된다. 두 변수들 간 "일치의 정도"를 나타내는 스코어는 호환성에 기반하여 각 차원에 대해 생성된다. 이 경우, 일부 다른 의도 또는 거절이 상기 입력에 함축되어 있으면, 호환성이 낮더라도 높은 스코어가 출력될 것이다. 상기 CE 유닛 108의 서브 모듈(도시되지 않음)에 의하여 출력된 상기 스코어에 기반하여, 종합 스코어가 생성된다. 역치 값에 기반하여 가장 좋은 점수를 받은 컨텍스트는 매칭된 컨텍스트로 식별된다. 다양한 차원들의 예들은 하기와 같다.
시간 매칭(temporal matcher): 상기 전자 장치 100은 모든 매칭된 컨텍스트들에서 기재된 시간과 관련된 내용들을 입력된 문장에 기재된 시간과 관련된 내용들과 매칭한다. 상기 모듈은 상기 두 개의 시간적 내용들 간 일치의 정도에 기반하여 스코어를 결정한다. 예를 들어, "나는 일요일에 존을 만날 예정이다. 나는 오전 10시에 스타벅스에서 그를 만날 것이다. (I am going to meet John on Sunday. I will meet him at Starbucks at 10 AM.)"이라고 쓰여진 경우, '일요일과 오전 10시'는 간접적으로 매칭된다.
공간 매칭(Spatial matcher): 상기 전자 장치 100은 두 개의 공간과 관련된 내용들 간의 일치 정도에 기반하여 스코어를 결정한다. 예를 들어, "나는 일요일에 화이트필드를 갈 예정이다. (I am going to Whitefield on Sunday.)"와 "존과 그 곳 피닉스 몰에서 만난다. (Meeting with John at Phoenix Mall then)"에서 상기 전자 장치 100은 "피닉스 몰"을 "화이트필드 "에 있는 장소로 결정한다. 따라서, '화이트필드'와 '피닉스 몰'은 일치한다.
참여자 매칭(participant matcher): 상기 전자 장치 100은 매칭된 컨텍스트들을 통하여 참여자들 매칭을 수행한다. 예를 들어, "일요일에 포럼에서 존을 만남(Meeting with John at the Forum on Sunday.)"와 "그는 오전 9시에 포럼에 도착할 것이다. (He will reach Forum at 9 AM.)"라고 쓰여진 경우, "그(he)"는 "존(John)"으로 해석될 수 있다. 상기 문장들은 참여자에 대하여 간접적으로 일치한다.
목적 매칭(purpose matcher): 상기 전자 장치 100은 두 개의 목적과 관련된 내용 간 일치의 정도에 기반하여 스코어를 결정한다. 예를 들어, "금요일에 존과 회의(Discussion with John on Friday)"와 "나는 그곳에서 X 회사의 제안에 대하여 논의할 것이다. (I will discuss the X Company's proposal then.)"라고 쓰여진 경우, 'X 회사의 제안'과 회의의 주제는 간접적으로 일치한다.
시기적(occasion) 매칭: 상기 전자 장치 100은 입력된 문장에 있는 시기와 관련된 내용들을 매칭된 컨텍스트들과 매칭한다. 예를 들어, "존의 결혼은 2015년 6월 13일이다. (John's Marriage is on June 13th 2015.)"와 "그의 결혼식에 참석해달라(Attend his wedding)"는 "존의 결혼은 2015년 6월 13일이다. 그의 결혼식에 참석해 달라. (John's Marriage is on June 13th 2015. Attend his wedding.)"로 해석될 수 있다. 상기 문장들에서 "결혼(marriage)"과 "결혼식(wedding)"간 시기의 호환성에 따라 일치한다.
'무엇을(DoWhat)' 매칭: 상기 '무엇을'이란 주요 행동의 객체를 의미한다. 상기 '무엇을'을 매칭하기 위하여 상기 전자 장치 100은 입력된 컨텍스트에 기재된 '무엇을'과 관련된 내용을 다른 매칭된 컨텍스트에 기재된 '무엇을'과 관련된 내용을 매칭한다. 예를 들어, "나는 여권을 신청했다. (I have applied for Passport.)"와 "나는 그것을 내일 받을 것이다. (I will receive it tomorrow.)"로 쓰여진 경우, "신청(applied)"하는 활동에 대한 '무엇을'은 "여권(passport)"이며, "받는다(receive)"라는 활동에 대한 '무엇을'은 "그것"이다. 여기서 "그것"은 "여권"으로 해석된다. 따라서, 상기 문장에서 '무엇을'에 대한 내용은 간접적으로 일치한다.
여백 채우기(gap filling): 상기 여백 채우기는 메모의 컨텍스트(메모의 타임 스탬프, 사용자 정보 등)과 상기 메모에 있는 다른 문장들의 시멘틱 표현에 기반하여 상기 문장에서 빠진 정보를 채우는데 이용된다.
기본 참여자 여백 채우기(default participant gap filling): 상기 기본 참여자 여백 채우기는 하기의 예에 따라 수행된다. "존은 토탈 몰에 있을 것이다. 그와 만날 것을 기억하라. (John will be in Total Mall. Remind to meet him.)"라고 쓰여진 경우, 두 번째 문장의 시멘틱 표현에서 "나(I/ME)"가 참여자로서 추가된다.
공간 여백 채우기(spatial gap filling): 만약 상기 문장이 특정 장소가 필요한 활동을 포함하고 있지만, 상기 특정 장소에 대한 내용이 없는 경우, 상기 공간 여백은 이전 컨텍스트들을 검색하여 결정될 수 있다. 예를 들어, "나는 푼에 갈 예정이다. 나는 톰을 만날 것이다. (I am going to Pune. I will meet Tom.)"라고 쓰여진 경우, 상기 두 번째 문장의 시멘틱 표현에서 장소로서 "푼(Pune)"이 추가된다.
시간 여백 채우기(temporal gap filling): 예를 들어, "존의 생일은 25일이다. 그에게 전화해야 하는 것을 나에게 알려달라. (John's birthday is on 25th. Remind me to call him.)"라고 쓰여진 경우, 상기 두 번째 문자의 시멘틱 표현에서 시간 정보로서 "25일"이 추가된다.
406 단계에서, 상기 동작 400은 상기 다수의 시멘틱 표현들의 적어도 두 개의 컨텍스트들을 병합하여 하나의 컨텍스트를 결정하는 과정을 포함한다. 다시 말해, 상기 406 단계에서, 상기 전자 장치 100은 상기 다수의 시멘틱 표현들의 적어도 두 개의 컨텍스트들을 병합하여 하나의 컨텍스트를 결정한다. 상기 매칭된 컨텍스트들은 상기 컨텍스트 저장 구조에서 병합되고 업데이트 된다. 하기에는 속성 병합 동작의 4가지 원(primitive) 유형이 서술된다.
첨부(Append): 현재 속성 값이 매칭된 컨텍스트 속성 값에 첨부된다. 상기 첨부 동작의 내용은 하기와 같다. 예를 들어, 매칭된 컨텍스트가 "나는 메리를 만날 것이다. (I will meet Mary.)"이고, 입력된 컨텍스트가 "톰도 만날 것이다. (will meet Tom also.)"인 경우, 상기 컨텍스트에서 나(I), 톰(Tom), 그리고 메리(Mary)가 첨부 동작에 의하여 참여자로 분석된다.
중첩(Override): 현재 속성 값이 매칭된 컨텍스트 속성 값에 중첩된다. 예를 들어, 매칭된 컨텍스트가 "나는 너를 오후 5시에 만날 것이다. (I will meet you at 5pm.)"이고, 입력된 컨텍스트가 "아니, 오후 6시로 하자. (no, make it 6pm.)"인 경우, 상기 컨텍스트에서 오후 6시가 중첩 동작에 의하여 시간적 의미로 분석된다(오후 5시는 오후 6시에 의하여 중첩된다).
무효화(Negate): 현재 속성 값은 매칭된 컨텍스트 속성 값으로부터 삭제된다. 예를 들어, 매칭된 컨텍스트가 "나는 메리와 톰을 만날 것이다. (I will meet Mary and Tom.)"이고, 입력된 컨텍스트가 "톰은 오지 않을 것이다. (Tom will not come.)"인 경우, 상기 컨텍스트에서 "나(I)"와 "메리(Mary)"가 무효화 동작에 의하여 참여자로 분석되고, 톰은 최종 리스트에서 삭제된다.
변경 사항 없음(No Change): 현재 속성 값이 매칭된 컨텍스트 속성 값과 병합되지 않는다. 예를 들어, 매칭된 컨텍스트가 "우리 5일에 만날까요 (Can we meet on 5th?)"이고, 입력된 컨텍스트가 "나는 당신에게 내일 알려 드리겠습니다. (I will let you know tomorrow.)"인 경우, 상기 입력된 컨텍스트에 포함된 시간 정보는 상기 매칭된 컨텍스트에 병합되어서는 안 된다. 각 속성은 하기와 같이 특정한 갱신자에 의하여 처리된다.
시간 갱신자(temporal updater): 상기 시간 갱신자는 상기 LE 유닛 106에 의하여 생성된 시간 객체를 처리하는 시간 추론자와 인터페이스 한다. 상기 첨부 동작은 상기 시간 객체에 있는 두 개의 입력 기간이 병합되고 처리될 것을 야기한다. 상기 중첩 동작은 두 개의 구간 객체를 병합하여 병합된 구간 객체를 생성하기 위하여 상기 구간 객체내의 구조 및 레벨을 확인한다. 상기 구간 객체들은 시간 개념을 얻도록 처리된 결과이다. 무효화 동작을 위하여, 상기 CE 유닛 108은 단지 상기 시멘틱 표현에 있는 특정 내용(예를 들어, 활동, 시간, 참여자, 장소, 목적 등)이 무효화되었다는 신호를 유지하고, 이후에 더 높은 가능성으로 중첩될 수 있음을 나타낸다.
오전/오후 분석 기준: 시간 갱신자는 활동 유형과 시간 결과에 기반하여 오전/오후 값을 분석한다. 예를 들어, "메리와 5일날 사무실에서 2시에 만남(Meeting on 5th with Mary at office at 2)"에서, 상기 CE 유닛 108은 비록 사용자가 상기 만남(meeting)에 대한 정보를 구체적으로 언급하지 않았더라고, 상기 만남이 오전 2시보다 오후 2시에 발생할 가능성이 더 높다는 것을 추론한다. 따라서, 시간 결과는 5일 오후 2시로 업데이트 된다. 상기 오전/오후 분석은 시-분 시간의 절정(meridian)에 대한 증거의 부재에서 분석된다.
공간 갱신자: 공간 객체 병합은 나라, 주(state), 도시, 엔진, 및 부속 엔진 등과 같은 레벨에 기반하여 병합된다. 이미 알려진 장소의 레벨 정보는 상기 일반화된 온톨로지 110으로부터 접근이 가능하다. 또한 국내, 지역, 그리고 국제와 같은 범위가 상기 마지막 공간 객체에 존재하는 레벨에서부터 추론된다.
참여자 갱신자: 각 동작은 다양한 참여자 리스트, 행위자 리스트, 피행위자 리스트 및 다른 리스트에서 수행된다. 첨부 동작에서 만약 참여자들이 리스트에 존재하지 않는다면, 상기 참여자들은 상기 리스트에 부가된다. 무효화는 상기 참여자들을 리스트에서 삭제한다. 중첩은 문장의 컨텍스트로부터 정보를 검색하여 마지막 추가된 참여자들을 삭제하고, 상기 입력에 의하여 생성된 상기 참여자들을 부가한다.
시간 추론자(독립형 구성 요소)는 복잡한 시간 구조들을 다루고, 결과 객체들의 리스트(List of Result objects, RO)들을 제공한다. 상기 결과 객체들의 리스트는 하기의 목록들을 포함한다.
1. 날짜(Date)
2. 시간(Time)
3. 시간 구간(Time Interval)
4. 시 구간이 개구간 또는 폐구간인지 여부(Open vs Closed Interval of the Duration)
5. 다중-레벨 결과를 반복. 즉, 상기 입력 구조로부터 추출된 정보에 기반하여 결과를 반복하여 생성한다. 상기 동작은 입력된 문장에서 잘못된 실수(Goof Up flag)로 인해 날짜 및 시간의 호환이 모순되는 것을 확인한다.
예를 들어, 2016년 2월 1일부터 28일까지 매주 금요일 8시간 동안 만남을 가진다는 것을 가정하자. 이 경우, 시간 결과 객체(RO)는 하기와 같다.
RO 레벨-1
시작 시간: 2016-02-01 00:00
종료 시간: 2016-02-28 23:59
반복 홉(hop): P1W
반복 유형: AND
RO 레벨-2
시작 시간: 2016-02-06 00:00
종료 시간: 2016-02-06 23:59
구간: PT8H
상기 예의 경우, 입력 과정은 레벨-2의 반복 결과를 생성한다. 상기 RO 레벨-1 은 반복이 발생할 수 있는 경계/구간의 외부를 나타낸다. 상기 홉(hop)은 주 단위로 건너뛰는 것을 의미한다(P1W는 '한 주(one week)마다'를 나타낸다). 다시 말해, RO 레벨-2의 내부는 상기 범위 경계 내에서 매 한 주의 시간 단위로 발생한다. 상기 금요일마다 발생하는 반복은 상기 외부 경계 구간의 금요일 중에서 한 번의 예(첫 번째 날짜)를 설정함으로써 나타날 수 있다. 매 번(every)의 만남과 간헐적(sometimes) 만남의 유형은 AND/OR/XOR에 의하여 구별될 수 있다. "매 번(every)"은 AND로 나타낼 수 있다. 만남의 시 구간은 RO 레벨-2에서 업데이트 될 수 있으며, 상기 RO 레벨-2에서 구간이 8시간으로 설정된다(PT8H는 '8시간 마다'를 의미한다). 상기 반복은 금요일마다 발생한다.
도 5는 자신에게 보낸 메모를 전처리(preprocessing)하기 위한 동작 500의 흐름을 도시한다. 상기 동작 500은 시간 정보를 추출하기 위하여 상기 전처리 유닛 104를 이용하여 텍스트를 전처리하는 과정을 설명한다. 상기 N2S 텍스트 전처리 과정은 하기의 과정을 포함한다.
도 5를 참고하면, 502단계에서, 상기 동작 500은 속어 및 철자를 공식적인 언어 사전의 단어로 정정하는 과정을 포함한다. 즉, 상기 502 단계에서, 상기 전자 장치 100은 속어 및 철자를 공식적인 언어 사전의 단어로 정정한다. 예를 들어, "2mrw", "tmrw", "tomorrowwwwwwww", "tomorrow"등은 모두 "tomorrow"로 정정된다.
504단계에서, 상기 동작 500은 속어 및 철자 정정의 차이를 명확히 구별하는 과정을 포함한다. 즉, 상기 504 단계에서, 상기 전자 장치 100은 선행 단어 및 후속 단어의 지역적 컨텍스트에 기반하여 속어 및 철자 정정을 구별한다. 예를 들어, "1월 4 4 4 시간(on January 4 4 4 hours)"은 "1월 4일 4시간(on January 4 for 4 hours)"으로 정정될 수 있다. 또한, "1월 4 저녁(in January 4 dinner)"은 "1월 4일 저녁(in January for dinner)"으로 정정될 수 있다. 또한, "3월 2일 2 4월 2일 사이(between March 2 2 April 2)"은 "3월 2일 에서 4월 2일 사이(between March 2 to April 2"로 정정될 수 있다. 또한, "아침 2 정오(morning 2 noon)"는 "아침부터 정오(morning to noon)"로 정정될 수 있다.
506 단계에서, 상기 동작 500은 하나의 유닛을 나타내는 하나 이상의 단어 단편들을 토큰화(tokenizing)하는 과정을 포함한다. 즉, 상기 506 단계에서, 상기 전자 장치 100은 하나의 유닛을 나타내는 하나 이상의 단어 단편들을 토큰화(tokenizing)한다. 예를 들어, "나는 미합중국에서 존을 만날 것이다. (I will meet John in United States of America.)"라고 쓰여진 문장에서, "미합중국(United States of America)"은 다수의 연속적인 단어들의 조합이지만 상기 문장은 단일한 유닛을 나타낸다. 일 실시 예에서, 토큰화된 하나 이상의 단어 단편들은 시간 표현들의 식별에 기반한다. 예를 들어, 상기 전처리 유닛 104는 하기와 같은 시간 표현들을 식별한다.
1. 달력 날짜(사용자 위치를 나타내는 장소와 다르다)
2. 시-분 시간(12 및 24 시간 형식)
3. 상대적인 시간(예: 내일, 지금 등)
4. 시간 표현과 관련된 관용구 (예: "5 안에 만나(see you in 5)"는 "5분 안에 만나(see you in 5 minutes)를 의미한다.)
5. 언어는 시간 표현에 대한 구조에 의존적이다. (예를 들어, "3시 15분 뒤(quarter past 3)"는 "3:15"을 의미하고, "7시 5분 전(5 to 7)"은 "6:55"을 의미한다. 각 개별적인 단어들의 의미는 전체로서 함께 사용되는 단어들의 의미와 다를 수 있다.
6. 하루의 일부(예를 들어, 아침, 정오, 저녁 등)
7. 요일의 이름
8. 달(month)의 이름
9. 계절의 이름
10. 국가 공휴일 및 축제 이름
11. 음식과 관련된 시기 이름(예를 들어, 점심, 브런치, 커피 등). 상기 음식과 관련된 시기 이름은 관련된 기존의 시간과 관련이 있을 수도 있고, 없을 수도 있다.
12. 시기의 명칭(예를 들어, 생일, 결혼 등)
13. 시 구간의 길이를 구체화 하는 명칭(예를 들어, 밀레니엄, 세기(century), 10년(decade), 년, 1/4주기, 달, 2주(fortnight), 1주(week), 일, 시, 분, 초 등)
14. 전술한 시간적 표현들 각각과 관련된 반복
15. 전술한 시간적 표현들 각각과 관련된 수식어(modifier)(예를 들어, 서수 숫자 및 기수 숫자, 한정사(a, an, the, some 등), 지시표현(이것(this), 저것(that), 이것들(these), 저것들(those) 등), 상대적인 용어(다음(next), 마지막(last), 그 다음의(subsequent), 다른(alternate) 등), 단편적인 수식어(일찍(early), 중간(mid), 늦은(late) 등), 기타 다른 수식어(조금 더(more), 덜(less), 절반(half), 2배(double) 등), 상기 표현들은 예시일 뿐 상기 수식어들로 제한되는 것은 아니다)
일 실시 예에서, 상기 전처리 유닛 104는 식별된 시간적 표현을 규범적 표상(canonical representation)으로 변환할 수 있다. 예를 들어, "5 이내로 봐(see u in 5)"라는 문장은 "5분 이내로 만나(see you in 5 minutes)"으로 변환될 수 있다.
도 6은 상기 LE 유닛 106의 기능적 동작 600의 흐름을 도시한다.
도 6을 참고하면, 602 단계에서, 상기 동작 600은 파스 트리(parse tree)를 생성하는 과정을 포함한다. 즉, 상기 602 단계에서, 상기 LE 유닛 106은 파스 트리를 생성한다. 상기 전처리 유닛 102에 의하여 생성된 각각의 규범적 표상에 대하여, 다수의 파스(parse)들은 통사적 구조(syntactic representation, 즉 파스 트리)를 생성하기 위하여 이용된다. 또한, 각각의 파스 트리는 시멘틱 표현을 생성하기 위하여 이용된다.
604 단계에서, 상기 동작 600은 파스의 정확성을 평가하는 과정을 포함한다. 즉, 상기 604 단계에서, 상기 LE 유닛 106은 상기 파스의 정확성을 평가한다. 상기 파스 트리의 평가는 하기의 단계를 포함한다.
1. 상기 파스의 정확성을 평가하기 위한 문법 기반의 규칙을 적용하고, 상기 각 파스에 스코어를 부여한다.
2. 전처리 유닛에 의하여 토큰화된 모든 n-grams은 토큰화되지 않는다. 상기 n-grams은 확률적 언어 모델을 의미한다.
3. 상기 문장에 있는 각각의 단어들의 서로 다른 구문 카테고리에 기반하여, 각 단어의 다수의 시멘틱 표현들이 획득된다.
606 단계에서, 상기 동작 600은 시멘틱 표현들을 생성하는 과정을 포함한다. 상기 LE 유닛 106은 상기 단어에 대한 다수의 시멘틱 표현들을 이용하고, 상기 스코어에 기반하여 상기 시멘틱 표현들의 조합을 생성한다. 또한, 상기 단어에 대한 모든 시멘틱 표현들에 대하여, 시멘틱 객체(semantic object)들이 생성된다.
608 단계에서, 상기 동작 600은 시멘틱 표현들을 평가하고 스코어를 부여하는 과정을 포함한다. 상기 LE 유닛 106은 시멘틱 객체들을 연결하고 스코어를 부여함으로써 각 조합에 대하여 독립적으로 스코어가 부여된 시멘틱 표현들을 생성한다. 상기 LE 유닛 106은 연결 규칙을 이용하여 상기 시멘틱 객체들을 연결할 수 있다. 서로 다른 연결 규칙들의 집합(set)은 언어 구조에 기반하여 적용된다. 각각의 연결 규칙은 상기 시멘틱 객체들 간 의미 연결 관계를 생성한다. 상기 연결 규칙을 적용한 방법은 하기의 단계를 포함한다.
1. 부모(parent)와 자녀(child) 쌍에 대한 관계가 식별된다.
2. 상기 부모와 자녀의 의미 카테고리에 대한 호환성이 체크된다. 상기 부모와 자녀가 의미적으로 호환이 된다면, 상기 부모와 자녀간 의미 관계가 생성된다.
3. 상기 부모와 자녀간 호환이 성립되지 않는다면, 적절한 부모 및 자녀 의미를 식별하고 상기 부모와 자녀간 의미적 관계를 생성하기 위하여 정정 규칙이 적용된다.
4. 상기 과정은 모든 쌍들이 의미적인 관계를 포함할 때까지 계속된다.
모든 연결 규칙들은 부모 자녀 간 관계 및 상기 부모와 자녀의 의미적인 카테고리를 구체화하기 위하여 이용된다. 스코어는 상기 호환성에 기반하여 의미 연결 관계에 부여된다. 연결 규칙들에서 하기의 특징들이 고려된다.
1. 이후(after), 이전(before), 사이(between), 에서(at), 에(on), 넘어(over)와 같이 서로 다른 관계들간 의미 구별(distinction).
2. 서로 다른 전치사(prepositions)를 이용하여 기수 숫자(cardinal number)들을 해석. 예를 들어, "9시에(at 9)"에서 '9'는 시간으로 취급된다. "9일에(on 9)"에서 '9'는 날짜로 취급된다. 상기 과정은 다른 해석에 대한 임의 증거 부재에서 기본 해석이 된다.
3. 시간적 표현에서 지시표현, 한정사 및 반복어를 추출.
4. 시멘틱 표현과 독립적인 언어 생성.
5. 구체적인 전치사가 없더라고 시간적인 관계 추론.
6. 동일한 문장에서 관계가 없는 두 개의 시간 관련 용어들을 통하여 공통되는 시간적 표현을 추론 및 확장. 예를 들어, "존을 월요일과 화요일 오후 6시에 만나자(let's meet John on Monday and Tuesday at 6pm)"라는 문장에서, 오후 6시(6pm)는 상기 두 날짜 모두에 대하여 적용되는 공통된 시간으로 추론될 수 있다.
610 단계에서, 상기 동작 600은 의미의 정확성을 평가하는 과정을 포함한다. 즉, 상기 610 단계에서, 상기 LE 유닛 106 상기 의미의 정확성을 평가한다. 시멘틱 표현들이 생성된 이후, 의미의 규칙들이 상기 생성된 시멘틱 표현들의 정확성을 체크하고, 스코어를 부여하기 위하여 이용된다.
612 단계에서, 상기 동작 600은 시멘틱 추론(semantic inference)을 생성하는 과정을 포함한다. 즉, 상기 612 단계에서, 상기 LE 유닛 106은 시멘틱 추론을 생성한다. 상기 시멘틱 추론 규칙은 행동 변환, 시제 정보 추출 및 의도 추출을 위하여 적용된다. 예를 들어, "나는 내일 존을 볼 것이다. (I will see John tomorrow)"라고 쓰여진 문장에서, "존을 보다(see John)"는 의미론적으로 "존을 바라보다(look at John)"가 아닌, "존을 만나다(meet John)"라는 의미가 된다.
614 단계에서, 상기 동작 600은 출력으로서 스코어가 부여된 상기 시멘틱 표현들을 전달하는 과정을 포함한다. 즉, 상기 614 단계에서, 상기 LE 유닛 106은 스코어가 부여된 상기 시멘틱 표현들을 전달한다. 상기 모든 처리 과정이 완료되면, 상기 스코어가 부여된 시멘틱 표현은 상기 CE 유닛 108의 입력으로 전달된다.
도 7a는 사용자 입력을 규범적 표상으로 변환하기 위한 일 예를 도시한다.
도 7a를 참고하면, 참조 시간(reference time)은 2015년 6월 10일 오후 2시(June 10, 2015 at 2pm)이다. 도 7a의 상단에서 도시된 바와 같이 상기 전자 장치 100의 사용자는 메모에 텍스트 정보("존은 런던에서부터 2nyt 델리로 갈 예정이다. (John is going to Delhi from London 2nyt.)")를 입력한다. 상기 텍스트 정보가 입력되면, 상기 전처리 유닛 104는 상기 입력 텍스트의 속어 또는 철자의 정확성을 분석한다. 또한, 상기 전처리 유닛 104는 도 7a의 하단에서 도시된 바와 같이 상기 텍스트 정보를 규범적 표상("존은 오늘밤 런던에서 델리로 갈 예정이다. (John is going to Delhi from London tonight)")으로 변환한다.
도 7b는 구문 파싱(syntactic parsing)의 일 예를 도시한다.
도 7b를 참고하면, 상기 입력 텍스트의 규범적 표상은 구문 분석기(도시되지 않음)에 의하여 분석된다. 상기 구문 분석기는 상기 입력 텍스트 "존은 오늘밤 런던에서 델리로 갈 예정이다. (John is going to Delhi from London tonight)"에서 서로 다른 어휘 항목들을 추출하고, 상기 어휘 항목들의 관계에 기반하여, 상기 어휘 항목들을 연결한다. 또한, 상기 구문 분석기는 상기 입력 텍스트를 도7b에서 도시된 바와 같이 파스 트리의 형태로 나타낸다.
도 7c는 시멘틱 표현을 생성하는 동작의 일 예를 도시한다.
도 7c를 참고하면, 상기 LE 유닛 106은 상기 입력 텍스트의 시멘틱 표현들을 생성하기 위하여 상기 규범적 표상으로부터 정보를 추출할 수 있다. 상기 정보는 활동(action), 누구와(with whom), 출발지(source location), 목적지(destination location), 시간(time) 등일 수 있다. 또한, 상기 LE 유닛 106은 도 7c에서 도시된 바와 같이, 서로 다른 어휘 항목들 간 관계를 이용하고, 상기 추출된 정보에 기반하여 시멘틱 표현을 생성한다.
도 7d는 컨텍스트를 추출하는 동작의 일 예를 도시한다.
도 7d를 참고하면, 상기 CE 유닛 108은 상기 LE 유닛 106으로부터 시멘틱 표현을 수신하고, 컨텍스트에서 모호한 문장, 구문들을 구별한다. 또한, 상기 CE 유닛 106은 적절한 의미 해석을 생성한다. 예를 들어, 도 7d에서 도시된 바와 같이, 상기 CE 유닛 106은 수신된 시멘틱 표현에서 '오늘밤(tonight)'의 의미를 보다 명확히 구별하기 위하여, 상기 시간을 '2015년 6월 10일 오후 8시(June 10 2015, 8:00pm)'부터 '2015년 6월 10일 오후 11시59분(June 10 2015, 11:59pm)'으로 변경할 수 있다.
도 7e는 구문 파싱(syntactic parsing)의 다른 예를 도시한다.
도 7e를 참고하면, 상기 구문 분석기는 상기 메모에서 두 번째 문장("나는 다음 달 마지막 화요일에 그곳에서 그를 만날 것이다(I will meet him there on the last Tuesday of next month)")에서 서로 다른 어휘 항목들을 추출하고, 상기 어휘 항목들의 관계에 기반하여, 상기 어휘 항목들을 연결한다. 또한, 상기 구문 분석기는 도 7e에서 도시된 바와 같이 상기 입력에 대한 파스 트리를 생성한다.
도 7f는 시멘틱 표현을 생성하는 동작의 다른 예를 도시한다.
도 7f를 참고하면, 상기 LE 유닛 106은 상기 입력 텍스트의 시멘틱 표현들을 생성하기 위하여 상기 규범적 표상으로부터 정보를 추출할 수 있다. 또한, 상기 LE 유닛 106은 도 7f에서 도시된 바와 같이 상기 서로 다른 어휘 항목들 간 관계를 이용하고, 상기 추출된 정보에 기반하여 시멘틱 표현을 생성한다.
도 7g는 시멘틱 표현을 병합하는 동작의 일 예를 도시한다.
도 7g를 참고하면, 상기 CE 유닛 108은 적절한 의미 해석을 생성하기 위하여 상기 다수의 시멘틱 표현들(다시 말해, 2개의 문장 "John is going to Delhi from London tonight"및 "I will meet him there on the last Tuesday of next month"에 대한 시멘틱 표현들)을 병합한다.
도 7h는 컨텍스트를 추출하는 동작의 다른 예를 도시한다.
도 7h를 참고하면, 상기 CE 유닛 108은 상기 도7g에서 도시된 과정에 의하여 병합된 상기 시멘틱 표현으로부터 컨텍스트 정보(contextual information)를 추출한다. 상기 컨텍스트 정보는 상기 컨텍스트를 결정하기 위한 정보들을 의미할 수 있다. 예를 들어, 상기 CE 유닛 108은 도 7h에서 도시된 바와 같이, 상기 동작 리마인더에서 '누구(who)'에 해당하는 "사용자(sender)"의 유형(type)을 사람(human)으로 추출할 수 있다. 또한 상기 CE 유닛 108은 도 7h에서 도시된 바와 같이, 상기 동작 리마인더에서 '누구(whom)'에 해당하는 "존(John)"의 유형을 사람(human)으로, 성별을 남성(male)으로 추출할 수 있다.
도 7i는 구문 파싱의 다른 예를 도시한다.
도 7i를 참고하면, 상기 구문 분석기는 문장 "우리는 그 날 저녁 스타벅스에서 7시에 커피를 마실 예정이다. (We plan to have coffee at 7 in the evening at Starbucks that day.)."에 대한 파스 트리를 생성한다. 또한, 상기 구문 분석기는 서로 다른 어휘 항목들을 추출하고, 상기 어휘 항목들 간 관계에 기반하여 연결 관계를 설정한다.
도 7j는 시멘틱 표현을 생성하는 동작의 다른 예를 도시한다.
도 7j를 참고하면, 텍스트 정보의 사전 분석에 기반하여, 상기 LE 유닛 106은 서로 다른 어휘 항목들 간 관계를 이용하고, 시멘틱 표현의 첫 번째 레벨을 생성한다.
도 7k는 시멘틱 표현을 병합하는 동작의 다른 예를 도시한다.
도 7k를 참고하면, 상기 CE 유닛 108은 적절한 시멘틱 표현을 생성하기 위하여 다수의 시멘틱 표현을 병합한다.
도 7l는 컨텍스트를 추출하는 동작의 다른 예를 도시한다.
도 7l를 참고하면, 상기 CE 유닛 108은 상기 생성된 다수의 시멘틱 표현으로부터 컨텍스트 정보를 추출한다.
도 7m은 시멘틱 표현에 기반하여 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 동작의 일 예를 도시한다.
도 7m을 참고하면, 상기 CE 유닛 108은 상기 생성된 시멘틱 표현으로부터 컨텍스트 정보를 추출하고, 적절한 리마인더를 생성하기 위하여 컨텍스트에서 모호한 문장 및 구문을 구별한다.
도 8은 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 동작의 일 예를 도시한다.
도 8을 참고하면, 상기 전자 장치 100의 사용자는 텍스트 정보 "나는 추수 감사절 주말에 집으로 갈 예정이다. 나는 수잔과 그곳에 함께 가고 싶다. (I am going to home on Thanks Giving weekend. I want to catch up with Susan then.)"를 입력한다. 상기 입력된 텍스트 정보는 도 7에서 도시된 바와 같이 리마인더로 변환될 것이다.
도 9는 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 동작의 다른 예를 도시한다.
도 9를 참고하면, 상기 전자 장치 100의 사용자는 텍스트 정보 "신용카드 지불은 4일이다. 잊지 마라. (Credit Card (CC) bill is due on 4th. Don't forget it.)"를 입력한다. 상기 입력된 텍스트 정보는 도 8에서 도시된 바와 같이 리마인더로 변환될 것이다.
도 10은 전자 장치에서 나에게 보낸 메모를 자동적으로 동작 리마인더로 변환하는 방법을 구현하는 컴퓨팅 환경 1002를 도시한다.
도 10를 참고하면, 상기 컴퓨팅 환경 1002는 적어도 하나의 프로세싱 유닛 1008, 메모리 1010, 저장 유닛 1012, 다수의 네트워크 장치 1016, 및 다수의 입/출력(input output, I/O) 장치 1014를 포함한다. 상기 적어도 하나의 프로세싱 유닛 1008은 제어 유닛 1004 및 산술 논리 장치(arithmetic logic unit, ALU) 1006을 포함한다. 상기 프로세싱 유닛 1008은 알고리즘의 명령어들을 처리하도록 구성된다. 상기 프로세싱 유닛 1008은 상기 제어 유닛 1008로부터 명령어를 수신하고 상기 명령어들의 처리를 수행한다. 또한, 상기 ALU 1006에 의하여, 상기 명령어들에 대한 논리 및 산술 연산이 수행된다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다. 소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출하는 과정;
    상기 적어도 하나의 어휘 각각에 대한 대용(anaphora)표현 또는 지시(deictic)표현을 분석하여, 상기 적어도 하나의 어휘 각각을 규범적 표상(canonical representation)으로 변환하는 과정;
    상기 각각의 규범적 표상으로부터 다수의 시멘틱 표현들을 생성하는 과정;
    상기 다수의 시멘틱 표현들에 기반하여 컨텍스트(context)를 결정하는 과정; 및
    상기 결정된 컨텍스트를 기반으로 리마인더(reminder)를 생성하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서, 상기 적어도 하나의 어휘 각각을 규범적 표상으로 변환하는 과정은,
    상기 적어도 하나의 어휘 각각에 대한 시간 정보, 위치 정보, 참여자 정보, 목적 정보, 성별 정보, 수(number) 정보 중 적어도 하나에 기반하여 상기 대용표현 또는 지시표현을 분석하는 과정을 포함하는 방법.
  3. 삭제
  4. 청구항 1에 있어서, 상기 다수의 시멘틱 표현들에 기반하여 상기 컨텍스트를 결정하는 과정은,
    상기 분석된 대용표현 또는 지시표현과 미리 결정된 파라미터에 기반하여 상기 입력에 대한 적어도 두 개의 컨텍스트들 간 일치 정도를 결정하는 과정; 및
    상기 일치 정도에 기반하여 상기 적어도 두 개의 컨텍스트들 각각에 포함된 속성 값들을 병합하여 상기 컨텍스트를 결정하는 과정을 포함하는 방법.
  5. 청구항 4에 있어서, 상기 적어도 두 개의 컨텍스트들 각각에 포함된 속성 값들을 병합하는 과정은,
    상기 적어도 두 개의 컨텍스트들 각각에 포함된 속성 값들에 대하여 첨부, 중첩, 무효화하는 동작 중 적어도 하나의 동작을 수행하는 과정을 포함하는 방법.
  6. 전자 장치에 있어서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가,
    상기 전자 장치의 사용자로부터 적어도 하나의 어휘를 포함하는 입력을 검출하고,
    상기 적어도 하나의 어휘 각각에 대한 대용(anaphora)표현 또는 지시(deictic)표현을 분석하여, 상기 적어도 하나의 어휘 각각을 규범적 표상(canonical representation)으로 변환하고,
    상기 각각의 규범적 표상으로부터 다수의 시멘틱 표현(semantic representation)들을 생성하고,
    상기 다수의 시멘틱 표현들에 기반하여 컨텍스트(context)를 결정하고,
    상기 결정된 컨텍스트를 기반으로 리마인더를 생성하도록 하는 인스트럭션들을 저장하는, 전자 장치.
  7. 청구항 6에 있어서,
    상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
    상기 적어도 하나의 어휘 각각에 대한 시간 정보, 위치 정보, 참여자 정보, 목적 정보, 성별 정보, 수(number) 정보 중 적어도 하나에 기반하여 상기 대용표현 또는 지시표현을 분석하도록 하는, 전자 장치.
  8. 삭제
  9. 청구항 6에 있어서,
    상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
    상기 분석된 대용표현 또는 지시표현과 미리 결정된 파라미터에 기반하여 상기 입력에 대한 적어도 두 개의 컨텍스트들 간 일치 정도를 결정하고,
    상기 일치 정도에 기반하여 상기 적어도 두 개의 컨텍스트들 각각에 포함된 속성 값들을 병합하여 상기 컨텍스트를 결정하도록 하는, 전자 장치.
  10. 청구항 9에 있어서,
    상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
    상기 적어도 두 개의 컨텍스트들 각각에 포함된 속성 값들에 대하여 첨부, 중첩, 무효화하는 동작 중 적어도 하나의 동작을 수행하도록 하는, 전자 장치.
KR1020160042403A 2015-04-30 2016-04-06 메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법 KR102397791B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/143,070 US10467598B2 (en) 2015-04-30 2016-04-29 Apparatus and method for automatically converting note to action reminders
US16/673,311 US11636443B2 (en) 2015-04-30 2019-11-04 Apparatus and method for automatically converting note to action reminders

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN2240CH2015 2015-04-30
IN2240/CHE/2015(PS) 2015-04-30
IN2235/CHE/2015(PS) 2015-04-30
IN2235CH2015 2015-04-30
IN2235/CHE/2015(CS) 2016-03-29

Publications (2)

Publication Number Publication Date
KR20160129721A KR20160129721A (ko) 2016-11-09
KR102397791B1 true KR102397791B1 (ko) 2022-05-13

Family

ID=81586648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160042403A KR102397791B1 (ko) 2015-04-30 2016-04-06 메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102397791B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210097563A (ko) 2020-01-30 2021-08-09 삼성전자주식회사 태스크 관리 서비스를 지원하기 위한 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314402A1 (en) * 2010-06-22 2011-12-22 Microsoft Corporation Flagging, Capturing and Generating Task List Items
US20130173252A1 (en) * 2011-12-30 2013-07-04 Hon Hai Precision Industry Co., Ltd. Electronic device and natural language analysis method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794050A (en) * 1995-01-04 1998-08-11 Intelligent Text Processing, Inc. Natural language understanding system
US7027975B1 (en) * 2000-08-08 2006-04-11 Object Services And Consulting, Inc. Guided natural language interface system and method
KR20100062172A (ko) * 2008-12-01 2010-06-10 주식회사 케이티 음성 분석을 이용한 알림 메시지 제공 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110314402A1 (en) * 2010-06-22 2011-12-22 Microsoft Corporation Flagging, Capturing and Generating Task List Items
US20130173252A1 (en) * 2011-12-30 2013-07-04 Hon Hai Precision Industry Co., Ltd. Electronic device and natural language analysis method thereof

Also Published As

Publication number Publication date
KR20160129721A (ko) 2016-11-09

Similar Documents

Publication Publication Date Title
EP3654227A1 (en) System for extracting semantic triples for building a knowledge base
US10496749B2 (en) Unified semantics-focused language processing and zero base knowledge building system
US9652719B2 (en) Authoring system for bayesian networks automatically extracted from text
US9292490B2 (en) Unsupervised learning of deep patterns for semantic parsing
US11720749B2 (en) Constructing conclusive answers for autonomous agents
Purwarianti et al. InaNLP: Indonesia natural language processing toolkit, case study: Complaint tweet classification
US11636443B2 (en) Apparatus and method for automatically converting note to action reminders
Abdelnabi et al. Generating UML class diagram using NLP techniques and heuristic rules
CN111382571B (zh) 一种信息抽取方法、***、服务器和存储介质
Gurevich et al. Deverbal nouns in knowledge representation
WO2019172849A1 (en) Method and system for generating a structured knowledge data for a text
Harabagiu et al. Question answering based on temporal inference
US12008320B2 (en) System and method for email signature extraction from unstructured text
CN111046272A (zh) 一种基于医疗知识图谱的智能问答***
TWI735380B (zh) 自然語言處理方法與其計算裝置
Oltra-Massuet Towards a morphosyntactic analysis of-ish
Navas-Loro et al. Annotador: a temporal tagger for Spanish
US11748563B2 (en) Identifying utilization of intellectual property
Sawalha et al. A standard tag set expounding traditional morphological features for Arabic language part-of-speech tagging
KR102397791B1 (ko) 메모를 자동적으로 동작 리마인더로 변환하기 위한 장치 및 방법
Filannino et al. Temporal expression extraction with extensive feature type selection and a posteriori label adjustment
Pustejovsky et al. Merging propbank, nombank, timebank, penn discourse treebank and coreference
US20070213973A1 (en) Pattern Generation
Çakici Wide-coverage parsing for Turkish
Wibisono et al. Sentence extraction in recognition textual entailment task

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