KR20180006403A - 통신 및 콘텐츠로부터 추출되는 커미트먼트 및 요청의 관리 - Google Patents

통신 및 콘텐츠로부터 추출되는 커미트먼트 및 요청의 관리 Download PDF

Info

Publication number
KR20180006403A
KR20180006403A KR1020177035229A KR20177035229A KR20180006403A KR 20180006403 A KR20180006403 A KR 20180006403A KR 1020177035229 A KR1020177035229 A KR 1020177035229A KR 20177035229 A KR20177035229 A KR 20177035229A KR 20180006403 A KR20180006403 A KR 20180006403A
Authority
KR
South Korea
Prior art keywords
commitment
request
task
information
data
Prior art date
Application number
KR1020177035229A
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 KR20180006403A publication Critical patent/KR20180006403A/ko

Links

Images

Classifications

    • 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/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services

Abstract

전자 통신의 콘텐츠를 분석하는 시스템은 전자 통신으로부터 요청 또는 커미트먼트를 자동적으로 검출할 수도 있다. 하나의 예시적인 프로세스에서, 프로세서는 전자 메시지의 콘텐츠에서 요청 또는 커미트먼트를 식별할 수 있고; 요청 또는 커미트먼트에 적어도 부분적으로 기초하여 비공식 계약을 결정할 수도 있고; 그리고 비공식 계약을 관리하기 위한 하나 이상의 액션 - 하나 이상의 액션은 요청 또는 커미트먼트에 적어도 부분적으로 기초함 - 을 실행할 수도 있다.

Description

통신 및 콘텐츠로부터 추출되는 커미트먼트 및 요청의 관리
전자 통신은 사회적 상호 작용 및 비즈니스 상호 작용의 중요한 형태가 되었다. 이러한 전자 통신은, 단지 몇몇 예를 거론하자면, 이메일, 캘린더, SMS 텍스트 메시지, 음성 메일, 이미지, 비디오, 및 다른 디지털 통신 및 콘텐츠를 포함한다. 전자 통신은 다수의 컴퓨팅 디바이스 중 임의의 것 상에서 자동적으로 또는 유저에 의해 수동으로 생성된다.
본 개시는, 유저 사이의 메시지와 같은 전자 통신(electronic communication)에서 검출되는 요청(request) 및 커미트먼트(commitment)를 관리하기 위한 기술 및 아키텍쳐를 설명한다. 예를 들면, 두 사람 사이의 이메일 교환은, 제1 사람으로부터의 텍스트가 태스크를 수행하라는 요청을 제2 사람에게 전송하는 것, 및 제2 사람이 태스크를 수행한다는 커미트먼트를 행하는 것을 포함할 수도 있다. 컴퓨팅 시스템은, 요청 및/또는 커미트먼트를 검출하는 것에 적어도 부분적으로 기초하여 다수의 태스크 지향 액션(task-oriented action)을 결정할 수도 있다. 컴퓨팅 시스템은, 단지 몇몇 예를 거론하자면, 전자 신호를 생성하여 전자 캘린더를 수정하고, 가능한 유저 액션의 제안을 디스플레이하고, 유저에게 리마인더를 제공하는 것에 의해, 이러한 액션을 자동적으로 수행할 수도 있다.
본 개요는 하기의 상세한 설명에서 더 설명되는 엄선된 개념을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요한 또는 본질적인 피쳐를 식별하도록 의도된 것도 아니고, 청구된 주제의 범위를 결정함에 있어서 보조로서 사용되도록 의도된 것도 아니다. 용어 "기술"은, 예를 들면, 시스템(들), 방법(들), 컴퓨터 판독 가능 명령어, 모듈(들), 알고리즘, 하드웨어 로직(예를 들면, 필드 프로그래머블 게이트 어레이(Field-programmable Gate Array; FPGA), 주문형 반도체(Application-Specific Integrated Circuit; ASIC), 주문형 표준 제품(Application-Specific Standard Product; ASSP), 시스템 온 칩 시스템(System-on-a-chip system; SOC), 복합 프로그래머블 로직 디바이스(Complex Programmable Logic Device; CPLD)), 및/또는 상기의 맥락에 의해 그리고 본 문헌의 전체에 걸쳐 허용되는 다른 기술(들)을 가리킬 수도 있다.
첨부의 도면을 참조로 상세한 설명이 설명된다. 도면에서, 도면 부호의 가장 왼쪽의 숫자(들)는 그 도면 부호가 처음 나타나는 도면을 식별한다. 상이한 도면에서의 동일한 도면 부호는 동일한 또는 유사한 아이템을 나타낸다.
도 1은 본원에서 설명되는 기술이 구현될 수도 있는 예시적인 환경을 묘사하는 블록도이다.
도 2는 예시적인 태스크 식별 프로세스에 종속되는 전자 통신을 예시하는 블록도이다.
도 3은 예시적인 태스크 동작 모듈과 통신할 수도 있는 다수의 정보 소스의 블록도이다.
도 4는, 요청 및 커미트먼트의 예시적인 텍스트 스레드 및 태스크 식별 프로세스를 포함하는 전자 통신을 예시하는 블록도이다.
도 5는 메시지, 커미트먼트 및 요청 간의 예시적인 관계의 표이다.
도 6은 예시적인 태스크 관리 프로세스의 흐름도이다.
도 7은 예시적인 머신 러닝 시스템(machine learning system)의 블록도이다.
도 8은 예시적인 머신 러닝 시스템의 블록도이다.
도 9는 커미트먼트 및 요청 추출을 위한 예시적인 프로세스를 예시하는 블록도이다.
도 10은 예시적인 태스크 관리 프로세스의 흐름도이다.
다양한 예가, 다른 것들 중에서도, 유저 사이의 메시지와 같은 전자 통신에서 검출되는 또는 식별되는 요청 및 커미트먼트와 관련되는 태스크를 관리하는 시스템을 위한 기술 및 아키텍쳐를 설명한다. 다른 예 중에서도, 전자 통신은, 텍스트 메시지, 소셜 미디어 내의 코멘트, 에이전트가 통화 동안 듣게 되는 음성 메일 또는 음성 스트림을 포함할 수도 있다. 두 사람 사이의 이메일 교환은, 제1 사람으로부터의 텍스트가 태스크를 수행하라는 요청을 제2 사람에게 전송하는 것, 및 제2 사람이 태스크를 수행하겠다는 커미트먼트를 행하는(합의하는) 것을 포함할 수도 있다. 이메일 교환은, 시스템이 태스크 수행에 대한 요청 및/또는 태스크 수행에 대한 커미트먼트의 존재를 시스템이 자동적으로 결정하기에 충분한 정보를 전달할 수도 있다. 컴퓨팅 시스템은, 검출된 또는 식별된 요청 및/또는 커미트먼트에 적어도 부분적으로 기초하여, 다수의 자동 액션을 수행할 수도 있다. 이러한 액션은, 단지 몇몇 예를 거론하자면, 전자 캘린더 또는 할 일 목록(to-do list)을 수정하는 것, 가능한 유저 액션의 제안을 제공하는 것, 및 유저에게 리마인더를 제공하는 것을 포함할 수도 있다. 시스템은, 이메일 교환의 하나 이상의 부분에 관련될 수도 있는 정보의 다양한 소스를 조회(query)할 수도 있다. 예를 들면, 시스템은, 이메일 교환의 작성자(author) 중 한 명 또는 둘 다에 의해 또는 다른 사람들에 의해 교환되는 다른 메시지를 검사할 수도 있다. 시스템은 또한 이메일 및 다른 메시지의 더 큰 집성본(corpus)을 검사할 수도 있다. 다른 메시지를 넘어, 시스템은 추가 정보를 위해 이메일 교환의 작성자 중 한 명 또는 둘 다의 캘린더 또는 데이터베이스를 조회할 수도 있다.
일반적으로, 요청 및 결과적으로 생기는 커미트먼트는 (예를 들면, 법적 환경에서 작성되고 서명된 것과 같은 계약의 형식화된 개념보다는) 태스크를 달성하기 위한 비공식 계약의 제안 및 수락과 관련되는 토론의 개념으로 간주될 수도 있다. 커미트먼트가 공식화되지 않으면(예를 들면, 완전하고 명시적으로 설명되는 것에 의해 그리고 텍스트 또는 다른 형태 - "문서화됨" - 로 "공식화되지" 않으면), 이러한 비공식적인 커미트먼트는, 컴퓨팅 시스템에 의해 자동적으로 제공되는 것과 같은 지원 또는 관리로부터 특별히 이익을 얻을 수도 있다. 관리는, 단지 몇몇 예를 거론하자면, 태스크 리마인더, 스케줄링, 및 리소스 할당을 포함할 수도 있다. 몇몇 구현예에서, 태스크 인식 및 지원은 진행 중인 커미트먼트를 자동적으로 추적하고 관리하는 것을 포함할 수도 있다.
몇몇 예에서, 비공식 계약은, 어떤 액션이 (예를 들면, 바람직하게) 수행되어야 한다는 것에 당사자가 (암시적으로 또는 명시적으로) 합의하는 둘 이상의 당사자 사이의 상호 합의이다. 비공식 계약은, 액션을 취하라는 요청 및 요청된 액션을 수행한다는 타인으로부터의 대응하는 커미트먼트를 수반할 수도 있다. 액션을 취한다는 커미트먼트는 또한 요청 없이 이루어질 수도 있다. 요청이 (아직) (예를 들면, 커미트먼트에 대한) 합의를 가질 필요는 없지만, 요청은 이러한 합의를 추구하는 시도이다. 예를 들면, 이메일 스레드 작성자로부터의 요청 또는 "부탁(ask)"은, 다수의 추가적인 이메일 교환이 발생할 때까지, 이메일 스레드의 다른 작성자로부터 응답 커미트먼트를 받지 못할 수도 있다.
계약은 일반적으로 통신(서면 또는 음성)으로 이루어진다. 비공식 계약은 법적 영향을 미칠 수도 있거나 또는 그렇지 않을 수도 있다. 그러나, 요청에 대한 응답 실패 또는 합의된 커미트먼트 이행의 실패는, 신뢰의 레벨을 확립하고 유지하는 데 사회적 영향을 끼칠 수도 있고, 또한, 성공적인 협조 및 협력에 대해서도 영향을 끼칠 수 있다. 비공식 계약에 대한 지원은, 법적 계약 환경에서 자주 볼 수 있는 대칭성과 대비하여, 종종, 당사자 중 단지 한 사람에 대한 자동화 및 지원 또는 당사자 중 한 명에 대한 기본 지원에 집중될 수도 있다.
다양한 예에서, 비공식 계약(또는 그 존재)은, 요청 및/또는 커미트먼트에 적어도 부분적으로 기초하여 결정될 수도 있다. 특정한 예를 들면, 컴퓨팅 시스템은 메시지로부터 태스크(예를 들면, 요청 및/또는 커미트먼트)에 관한 정보를 자동적으로 추출할 수도 있다. 컴퓨팅 시스템은 이러한 추출된 정보를 사용하여, 비공식 계약이 메시지에 의해 제시되어 있는지 또는 존재하는지를 결정할 수도 있다. 이러한 결정은, 메시지와 관련되는 당사자 사이의 당사자 간의 상호 합의가 존재한다는 것을 결정하는 것에 적어도 부분적으로 기초할 수도 있다. 몇몇 구현예에서, 컴퓨팅 시스템은 이러한 결정을 수행하는 동안 하나 이상의 메시지를 분석할 수도 있다. 비공식 계약이 존재하는 경우, 컴퓨팅 시스템은 비공식 계약의 특성(property)을 추가로 결정할 수도 있다. 몇몇 예에서, 비공식 계약은, 태스크(들), 태스크(들)를 수행할 사람 또는 사람들(또는 머신)의 식별화(identification), 및 태스크를 충분히 수행하기 위한 충분한 세부 사항(예를 들면, 시간, 위치, 주제, 등등)을 포함한다. 특히, 시간적으로 이전 시점에, 몇몇 타입의 전자 통신에서, 사람 또는 사람(들)(또는 머신)은 태스크를 수행한다는 커미트먼트를 행하였다.
몇몇 예에서, 상호 합의는 조건부 커미트먼트를 수반할 수도 있다. 특히, 요청에 대한 "아마도" 응답은, 상호 합의 조건을 만족시키지 못할 수도 있다. 한편, 조건부 커미트먼트는 일종의 상호 합의일 수도 있다. 예를 들면, 다음의 교환은 조건부 합의를 포함하는 것으로 간주될 수도 있고, 따라서 상호 합의로 간주될 수도 있다: 제1 사람(요청), "집에 가는 길에 식료품 점에 들를 수 있습니까", 제2 사람(조건부 커미트먼트), "오후 4시 전에 간단한 식료품 목록을 보내면 할 수 있습니다". 이러한 경우, 조건부 커미트먼트는, 제1 사람이 조건을 충족하기 위해 오후 4시 이전에 제2 사람에게 식료품 목록을 보내는 경우 커미트먼트(및 상호 합의)로 이어질 수도 있다. 조건부 커미트먼트는 일반적으로 비교적 빈번하게 발생하며, 조건을 충족하는 "최종" 메시지의 유무에 관계없이 조건부 커미트먼트를 자동적으로 추적하는 컴퓨팅 시스템이 유익할 수도 있다.
본원에서 설명되는 바와 같이, "태스크 콘텐츠"는, 메시지와 같은 통신의 목적으로 전달되는 비공식 계약 또는 하나 이상의 요청 및/또는 하나 이상의 커미트먼트를 지칭한다. 그렇지 않다고 명시적으로 언급되지 않는 한 또는 특정한 문장의 문맥에 의해 암시되지 않는 한, 메시지 또는 통신에서 태스크 콘텐츠를 "식별" 또는 "검출"하는 것은, 태스크 콘텐츠의 존재를 인식하는 것 및 태스크 콘텐츠의 적어도 부분적인 의미를 결정하는 것을 가리킨다. 예를 들면, "이메일에서 요청을 식별하는 것"은, 이메일에서 요청의 존재를 인식하는 것 및 요청의 의미를 결정하는 것을 의미한다. 요청의 "의미"는, 요청의 발신자(sender)와 수신자에 관한 정보(예를 들면, 요청을 하고 있는 사람, 및 요청을 받고 있는 사람), 시간 양태(예를 들면, 요청이 발생한 때, 요청의 액션(들)이 수행되어야 하는 마감 시간/날짜), 요청의 주제(예를 들면, 요청을 충족하기 위해 수행되어야 하는 액션의 종류), 발신자와 수신자 사이의 관계(예를 들면, 발신자가 수신자의 상사(boss)인지), 및 등등을 포함할 수도 있다. 커미트먼트의 의미는, 커미트먼트의 발신자와 수신자에 관한 정보(예를 들면, 커미트먼트를 하고 있는 사람, 및 커미트먼트를 받고 있는 사람), 시간 양태(예를 들면, 커미트먼트가 발생한 때, 커미트먼트의 액션(들)이 수행되어야 하는 마감 시간/날짜), 커미트먼트의 주제(예를 들면, 커미트먼트를 충족하기 위해 수행되어야 하는 액션의 종류), 및 등등을 포함할 수도 있다. 요청은 커미트먼트를 생성할 수도 있지만, 그러나 커미트먼트는 대응하는 요청 없이 만들어질 수도 있다. 또한, 커미트먼트는 요청을 생성할 수도 있다. 예를 들면, "4월 보고서를 수정하겠습니다"는 커미트먼트는, "좋아요, 5월 보고서도 또한 수정할 수 있습니까?"와 같은 요청으로 나타날 수도 있다.
일단 컴퓨팅 시스템에 의해 식별되면, 통신의 비공식 계약 또는 태스크 콘텐츠(예를 들면, 커미트먼트 또는 요청의 제안 또는 확인)는, 다음의 것을 포함하는 커미트먼트 또는 요청의 의미론(semantics)을 식별 또는 추론하기 위해 추가로 프로세싱 또는 분석될 수도 있다: 요청 또는 커미트먼트의 주요 소유자를 식별하는 것(예를 들면, 당사자가 통신 상태에 있지 않는 경우); 태스크 콘텐츠의 성질(nature)과 그 특성(예를 들면, 그것의 설명 또는 요약); 명시된 또는 추론된 관련 날짜(예를 들면, 커미트먼트 완료에 대한 최종 기한); 초기 답장 또는 후속 메시지와 같은 관련 응답 및 (예를 들면, 예의의 기대에 따른 또는 사람들 간의 또는 조직마다의 태스크 완료에 대한 효율적인 통신에 맞춘) 그들의 예상된 타이밍; 및 요청을 충족하기 위해 사용될 정보 리소스. 이러한 정보 자원은, 예를 들면, 시간, 사람, 위치, 및 등등에 관한 정보를 제공할 수도 있다. 식별된 태스크 콘텐츠 및 태스크 콘텐츠에 대한 추론은, 리마인더, 할 일 목록의 갱신(예를 들면, 및 디스플레이), 약속, 회의 요청, 및 다른 시간 관리 활동과 같은 자동적인(예를 들면, 컴퓨터 생성) 서비스를 추진하기 위해 사용될 수도 있다. 몇몇 예에서, 이러한 자동 서비스는, 메시지의 작성(예를 들면, 이메일 또는 텍스트를 타이핑하는 것), 메시지의 판독 동안, 또는 다른 시간에, 예컨대 서버 또는 클라이언트 디바이스 상에서의 이메일의 오프라인 처리 동안 적용될 수도 있다. 요청 또는 커미트먼트에 대한 초기 추출 및 추론은 또한, 통신으로부터 검출되는 또는 추론되는 하나 이상의 특성에 관한 불확실성의 또는 누락된 정보의 식별에 적어도 부분적으로 기초하여, 요청 또는 커미트먼트 및 요청 또는 커미트먼트의 상태에 관한 현재의 이해 및 추론을 확인 또는 개선하기(refine) 위해 한 명 이상의 참가자와 함께 작업하는 서비스를 호출할 수도 있다. 커미트먼트 또는 요청의 다른 특성은, 커미트먼트에 수반되는 추정된 지속 기간, 취해져야 할 액션(예를 들면, 시간 예약, 리마인더 설정, 회의 스케줄링, 및 등등), 및 캐리지 리턴(C&R) 및 관련된 메타데이터로부터 추론될 수도 있는 커미트먼트 및/또는 요청이 관련되는 더 광범위한 프로젝트를 포함할 수도 있다.
몇몇 실시형태에서, 태스크 콘텐츠는, 개인간 통신(예를 들면, 이메일, SMS 텍스트, 인스턴트 메시징, 소셜 미디어 내의 게시물(post), 및 등등)을 캡쳐하는 디지털 콘텐츠 및 작성된 콘텐츠(예를 들면, 이메일, 미국 워싱턴 레드몬드 소재의 MICROSOFT Corporation에 의한 OneNote®(원노트)와 같은 메모 작성 및 편제 툴(note-taking and organizational tool), 워드 프로세싱 다큐먼트, 및 등등)를 비롯한, 다수의 형태의 통신에서 검출될 수도 있다.
다양한 형태의 전자 통신으로부터 태스크 콘텐츠를 식별하기 위한 몇몇 예시적인 기술은, 인간 주석자(human annotator)가 커미트먼트 또는 요청을 포함하는 것으로 주석을 달 수도 있는, 전자 통신의 콘텐츠의 언어 분석을 수반할 수도 있다. 인간 주석은, 커미트먼트 또는 요청의 자동 추출 및 커미트먼트 또는 요청에 대한 다양한 특성을 구축 및 테스트하기 위해 사용되는 트레이닝 데이터의 집성본을 생성하는 프로세스에서 사용될 수도 있다.
기술은 또한, 인간 생성 라벨(예를 들면, 이메일 관련 데이터, 예컨대 이메일 응답 속도 또는 응답까지의 시간, 또는 상대적으로 정교한 추출 방법에 기초함)에 대한 프록시를 포함할 수도 있다. 추출 시스템에서 사용되는 방법을 개발하기 위해 또는 요청이나 커미트먼트 및 그들의 특성을 식별 및/또는 추론하기 위한 방법의 실시간의 사용을 위해, 분석은 다양한 정교함을 따른 상이한 지점에서의 자연 언어 처리(natural language processing; NLP) 분석을 포함할 수도 있다. 예를 들면, 상대적으로 낮은 레벨의 정교함을 갖는 분석은 단어 분리 및 어간 추출(stemming)에 기초하여 키워드를 식별하는 것을 수반할 수도 있다. 상대적으로 중간 레벨의 정교함을 갖는 분석은 단어의 세트("bag of words(단어 꾸러미)")의 더 큰 분석에 대한 고려를 수반할 수도 있다. 상대적으로 높은 레벨의 정교함을 갖는 분석은, 통신 내의 문장을, 파스 트리(parse tree) 및 논리적 형태로 복잡하게 파싱하는 것을 수반할 수도 있다. 태스크 콘텐츠를 식별하기 위한 기술은, 메시지의 구성 요소 및 메시지의 문장의 특색을 추출하는(featurizing) 것(예를 들면, 메시지의 구성 요소 및 메시지의 문장의 속성(attribute) 또는 피쳐를 식별하는 것)을 수반할 수도 있다. 예를 들면, 통신의 특색을 추출하는 프로세스는, 분류될 수 있는 텍스트 단편의 피쳐를 식별할 수도 있다. 이러한 기술은, 메시지의 구성 요소를 분류하기 위한 통계적 모델을 구축하기 위해 트레이닝 및 테스팅 패러다임에서 이러한 피쳐를 활용할 수도 있다. 예를 들면, 이러한 구성 요소는, 요청 및/또는 커미트먼트를 포함하는 것으로 문장 또는 전체 메시지를 포함할 수도 있다.
몇몇 예에서, 태스크 콘텐츠 검출을 위한 기술은, 문장 중심 접근법, 메시지 내의 다수의 문장의 고려, 및 상대적으로 긴 통신 스레드의 전역적 분석(global analysis)을 비롯한 분석의 계층 구조(hierarchy)를 수반할 수도 있다. 몇몇 예에서, 이러한 상대적으로 긴 통신 스레드는, 일정 기간에 걸친 메시지의 세트, 및 스레드 및 (예를 들면, 수 일, 수 주, 수 개월 또는 수 년에 걸치는) 장기간 통신의 세트를 포함할 수도 있다. 특정한 통신과 관련되는 다수의 소스가 고려될 수도 있다. 이러한 소스는, 특정한 통신과 관련되는 사람들의/사람들 간의 이력 및/또는 관계, 일정 기간 동안의 사람들의 위치, 사람들의 캘린더 정보, 및 사람들과 관련되는 다수의 양태의 편제 및 편제 구조의 세부 사항을 포함할 수도 있다.
몇몇 예에서, 기술은, 콘텐츠의 구성 요소로부터 식별되는 요청 또는 커미트먼트를, 요청 또는 커미트먼트의 대표로서 직접적으로 간주할 수도 있거나, 또는 추가적으로 요약될 수도 있다. 기술은, 관련 날짜(예를 들면, 요청 또는 커미트먼트가 만기가 되는 최종 기한), 위치, 긴급성, 시간 요건, 태스크 주제, 및 사람들을 포함하는 다른 정보를 문장 또는 더 큰 메시지로부터 결정할 수도 있다. 메시지의 텍스트 이외에도, 기술은, 검출 및 요약을 위해, 이미지 및 기타 그래픽 콘텐츠, 메시지의 구조, 제목 머리글(subject header), 및 메시지의 발신자 및 수신자에 대한 정보와 같은 다른 정보를 고려할 수도 있다. 기술은 또한, 메시지 자체의 피쳐(예를 들면, 수신자의 수, 응답 횟수, 전체 길이, 및 등등) 및 상황(예를 들면, 요일)을 고려할 수도 있다. 몇몇 예에서, 기술은 또한, 발신자 또는 수신자(들) 및 통신의 이력 및/또는 편제의 구조의 이력에 적어도 부분적으로 기초하여 후보 메시지/콘텐츠 또는 결과적으로 나타나는 태스크 콘텐츠 결정의 초기 분석을 개선할 수도 있거나 또는 우선시킬 수도 있다.
몇몇 예에서, 컴퓨팅 시스템은, 문장 또는 메시지의 주석이 달린 집성본의 세트를 트레이닝 세트에 대해 동작하는 머신 러닝 프로시져를 사용하여, 요청과 커미트먼트 및 관련 정보를 식별 또는 관리하기 위한 예측 모델을 구성할 수도 있다. 이러한 주석은, 태스크(예를 들면, 커미트먼트/요청) 프로세싱 시스템의 이용(fielding) 및 태스크과 관련하여 관찰된 유저 거동으로부터 도출될 수도 있다. 예를 들면, 관찰된 유저 거동은, 유저가 특정 태스크에 대한 회의를 구성하는 것 대 유저가 동일한 특정 태스크에 대한 리마인더를 구성하는 것을 포함할 수도 있다. 이러한 관찰된 유저 거동은 태스크를 관리하기 위한 트레이닝 데이터로서 사용될 수도 있다. 다른 예에서, 컴퓨팅 시스템은, 태스크 콘텐츠 결정 및 요약을 수행하기 위해 상대적으로 간단한 규칙 기반 접근법을 사용할 수도 있다.
몇몇 예에서, 컴퓨팅 시스템은 메시지에서 검출되는 태스크 콘텐츠를 메시지 자체에 명시적으로 기록할 수도 있다. 다양한 예에서, 컴퓨팅 시스템은, 모두 Microsoft Corporation에 의한 것인 Windows®, Cortana®, Outlook®, Outlook Web App®(OWA), Xbox®, Skype®, Lync®, 및 Band®와 같은 제품 또는 서비스를 포함할 수도 있는 다수의 전자 서비스 및 경험, 또는 타사로부터의 다른 이러한 서비스 및 경험에서, 요청 및 커미트먼트를 포함하는 메시지를 플래깅할(flag) 수도 있다. 다양한 예에서, 컴퓨팅 시스템은, 오디오 피드, 예컨대, 단지 몇몇 예를 거론하자면, 음성 메일 메시지, SMS 이미지, 인스턴트 메시징 스트림, 및 디지털 개인 비서에 대한 구두 요청으로부터의 요청 및 커미트먼트를 검출 또는 식별할 수도 있다.
몇몇 예에서, 컴퓨팅 시스템은, 하기에서 설명되는 바와 같이, 유저에 의한 암시적 피드백 및 명시적 피드백에 의해 태스크 콘텐츠를 검출 및 관리하기 위해 사용되는 예측 모델 및 요약을 향상시키는 것을 학습할 수도 있다.
다양한 실시형태가 도 1 내지 도 10을 참조하여 더 설명된다.
하기에 설명되는 환경은 하나의 예를 구성하는 것에 불과하며 청구범위를 임의의 특정한 동작 환경으로 제한하도록 의도되는 것은 아니다. 청구된 주제의 취지와 범위를 벗어나지 않으면서, 다른 환경이 사용될 수도 있다.
도 1은, 본원에서 설명되는 바와 같은 태스크 콘텐츠의 결정 또는 식별(예를 들면, 태스크 콘텐츠 결정)을 수반하는 예시적인 프로세스가 동작할 수 있는 예시적인 환경(100)을 예시한다. 몇몇 예에서, 환경(100)의 다양한 디바이스 및/또는 컴포넌트는 다양한 컴퓨팅 디바이스(102)를 포함한다. 제한이 아닌 예로서, 컴퓨팅 디바이스(102)는 디바이스(102a 내지 102e)를 포함할 수도 있다. 비록 다양한 디바이스 타입으로서 예시되지만, 컴퓨팅 디바이스(102)는 다른 디바이스 타입일 수 있으며 예시된 디바이스 타입으로 제한되는 것은 아니다. 컴퓨팅 디바이스(102)는, 예를 들면, 버스(110)를 통해 입/출력 인터페이스(106) 및 컴퓨터 판독 가능 매체(108)에 동작 가능하게 연결되는 하나 또는 다수의 프로세서(104)를 갖는 임의의 타입의 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(102)는, 예를 들면, 데스크탑 컴퓨터(102a), 랩탑 컴퓨터(102b), 태블릿 컴퓨터(102c), 원격 통신 디바이스(102d), 개인 휴대형 정보 단말(personal digital assistant; PDA)(102e), 전자 책 리더기(reader), 웨어러블 컴퓨터(예를 들면, 스마트 워치, 개인 건강 추적 액세서리, 증강 현실 및 가상 현실 디바이스, 등등), 자동차 컴퓨터, 게이밍 디바이스, 등등과 같은 퍼스널 컴퓨터를 포함할 수 있다. 컴퓨팅 디바이스(102)는 또한, 예를 들면, 서버 컴퓨터, 씬 클라이언트, 단말, 및/또는 워크 스테이션을 포함할 수 있다. 몇몇 예에서, 컴퓨팅 디바이스(102)는, 컴퓨팅 디바이스, 어플라이언스, 또는 다른 종류의 디바이스에 통합하기 위한 컴포넌트를 포함할 수 있다.
몇몇 예에서, 컴퓨팅 디바이스(102)에 의해 수행되는 것으로 설명되고 있는 기능성 중 일부 또는 전부는, 예를 들면, 클라우드 컴퓨팅을 통해, 하나 이상의 원격 피어 컴퓨팅 디바이스, 원격 서버 또는 서버들, 또는 분산형 컴퓨팅 리소스에 의해 구현될 수도 있다. 몇몇 예에서, 컴퓨팅 디바이스(102)는 전자 통신을 수신하기 위한 입력 포트를 포함할 수도 있다. 컴퓨팅 디바이스(102)는, 특정한 전자 통신에 관련되는 또는 특정한 전자 통신과 연관되는 정보의 다양한 소스에 액세스하기 위해 하나 또는 다수의 프로세서(104)를 더 포함할 수도 있다. 이러한 소스는, 단지 몇몇 예를 거론하자면, 전자 통신에 포함되는 메시지의 작성자에 관한 개인 정보 또는 이력의 데이터베이스 및 전자 캘린더를 포함할 수도 있다. 몇몇 예에서, 작성자는, 다수의 프로세서(104) 중 임의의 것이 (예를 들면, 코드를 실행하는 것에 의해) 작성자의 개인 정보에 액세스할 수 있기 이전에 "옵트 인 방식으로 동의해야 하거나(opt-in)" 또는 다른 승낙 액션을 취해야 한다. 몇몇 예에서, 하나 이상의 프로세서(104)는 전자 통신에 포함되는 태스크 콘텐츠를 검출 및 관리하도록 구성될 수도 있다. 하나 이상의 프로세서(104)는 하드웨어 프로세서 또는 소프트웨어 프로세서일 수도 있다. 본 명세서에서 사용되는 바와 같이, 프로세싱 유닛은 하드웨어 프로세서를 가리킨다.
몇몇 예에서, 디바이스(102d)에 관해 도시되는 바와 같이, 오퍼레이팅 시스템(OS)(112), 머신 러닝 모듈(114), 태스크 동작 모듈(116) 및 프로세서(104)에 의해 로딩 가능하고 실행 가능한 프로그램 또는 애플리케이션(118)을 포함하는 컴퓨터 판독 가능 매체(108)는, 프로세서(들)(104)에 의해 실행 가능한 명령어를 저장할 수 있다. 하나 이상의 프로세서(104)는 하나 이상의 중앙 처리 유닛(central processing unit; CPU), 그래픽 처리 유닛(graphics processing unit; GPU), 비디오 버퍼 프로세서, 및 등등을 포함할 수도 있다. 몇몇 예에서, 머신 러닝 모듈(114)은, 컴퓨터 판독 가능 매체(108)에 저장되는 실행 가능 코드를 포함하고, 입력/출력 인터페이스(106)를 통해 컴퓨팅 디바이스(102)에 의해 정보를 로컬하게 또는 원격으로 수집하도록 프로세서(들)(104)에 의해 실행 가능하다. 정보는 하나 이상의 애플리케이션(118)과 연관될 수도 있다. 머신 러닝 모듈(114)은, 입력 데이터에 적용하기 위한 컴퓨터 판독 가능 매체(108)에 저장되어 있는(또는, 특히 머신 러닝 모듈(114)에 저장되어 있는) 다수의 머신 러닝 결정 모델 중 임의의 것을 선택적으로 적용할 수도 있다.
몇몇 예에서, 태스크 동작 모듈(116)은, 컴퓨터 판독 가능 매체(108)에 저장되는 실행 가능 코드를 포함하고, 입력/출력 인터페이스(106)를 통해 컴퓨팅 디바이스(102)에 의해 정보를 로컬하게 또는 원격으로 수집하도록 프로세서(들)(104)에 의해 실행 가능하다. 정보는 하나 이상의 애플리케이션(118)과 연관될 수도 있다. 태스크 동작 모듈(116)은, 입력 데이터에 적용하기 위한 컴퓨터 판독 가능 매체(108)에 저장되어 있는 다수의 통계 모델 또는 예측 모델 중 임의의 것을 (예를 들면, 머신 러닝 모듈(114)을 통해) 선택적으로 적용하여 태스크 콘텐츠를 식별 또는 관리할 수도 있다. 그러나, 몇몇 예에서, 태스크 콘텐츠를 관리하는 것은 "모델"을 사용할 필요가 없다. 예를 들면, 태스크 콘텐츠를 관리하기 위해, 간단한 휴리스틱(heuristical) 또는 규칙 기반의 시스템이 대신 적용될 수도 있다.
비록 소정의 모듈이 다양한 동작을 수행하는 것으로 설명되었지만, 모듈은 예에 불과하며 동일한 또는 유사한 기능성은 더 많은 또는 더 적은 수의 모듈에 의해 수행될 수도 있다. 또한, 묘사되는 모듈에 의해 수행되는 기능은 반드시 단일의 디바이스에 의해 로컬하게 수행될 필요는 없다. 대신, 몇몇 동작은, 원격 디바이스(예를 들면, 피어, 서버, 클라우드, 등등)에 의해 수행될 수 있을 것이다.
대안적으로, 또는 추가적으로, 본원에서 설명되는 기능성 중 일부 또는 모두는, 적어도 부분적으로, 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 제한이 없는 예를 들면, 사용될 수 있는 하드웨어 로직 컴포넌트의 예시적인 타입은, 필드 프로그래머블 게이트 어레이(FPGA), 주문형 반도체(ASIC), 프로그램 고유의 표준 제품(ASSP), 시스템 온칩 시스템(SOC), 복합 프로그래머블 로직 디바이스(CPLD), 등등을 포함한다.
몇몇 예에서, 컴퓨팅 디바이스(102)는, 이미지 및/또는 비디오를 캡쳐할 수 있는 카메라 및/또는 오디오를 캡쳐할 수 있는 마이크와 관련될 수 있다. 예를 들면, 입/출력 인터페이스(106)는 이러한 카메라 및/또는 마이크를 통합할 수 있다. 예를 들면, 오브젝트의 또는 텍스트의 이미지는, 콘텐츠 및/또는 이미지의 의미에 대응하는 텍스트로 변환될 수도 있고 태스크 콘텐츠에 대해 분석될 수도 있다. 음성의 오디오는 텍스트로 변환될 수도 있고 태스크 콘텐츠에 대해 분석될 수도 있다.
컴퓨터 판독 가능 매체(108)는 컴퓨터 저장 매체 및 통신 매체를 포함한다. 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성의 착탈식 및 비착탈식의 매체를 포함한다. 컴퓨터 저장 매체는, 상 변화 메모리(phase change memory; PRAM), 정적 랜덤 액세스 메모리(static random-access memory; SRAM), 동적 랜덤 액세스 메모리(dynamic random-access memory; DRAM), 다른 타입의 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 전기적으로 소거가능한 프로그래머블 리드 온리 메모리(electrically erasable programmable read-only memory; EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 리드 온리 메모리(CD-ROM), 디지털 다기능 디스크(digital versatile disk; DVD) 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스, 또는 컴퓨팅 디바이스에 의한 액세스를 위한 정보를 저장하기 위해 사용될 수 있는 임의의 다른 비전송 매체를 포함하지만, 그러나 이들로 제한되지는 않는다.
대조적으로, 통신 매체는, 변조된 데이터 신호, 예컨대 반송파, 또는 다른 송신 메커니즘 내에서 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 포함한다. 본원에서 정의되는 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다. 다양한 예에서, 컴퓨터 판독 가능 매체(108)는 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터 저장 매체의 예이다. 프로세서(들)(104)에 의한 실행시, 컴퓨터 실행 가능 명령어는, 다른 것들 중에서도, 개개의 전자 메시지 - 전자 메시지는 (i) 전자 통신 사이에서 수신되거나, (ii) 유저 인터페이스를 통해 유저에 의해 입력되거나, 또는 (iii) 메모리로부터 검색(retrieve)됨 - 의 콘텐츠를 분석하도록; 그리고, 콘텐츠를 분석하는 것에 적어도 부분적으로 기초하여, 전자 메시지로부터, 요청에 또는 커미트먼트에 대응하는 텍스트를 식별하도록, 프로세서(들)를 구성한다.
다양한 예에서, 입/출력(I/O) 인터페이스(106)의 입력 디바이스 또는 입/출력(I/O) 인터페이스(106)에 연결되는 입력 디바이스는, 직접 터치 입력 디바이스(예를 들면, 터치 스크린), 간접 터치 디바이스(예를 들면, 터치 패드), 간접 입력 디바이스(예를 들면, 마우스, 키보드, 카메라 또는 카메라 어레이, 등등), 또는 다른 타입의 비접촉 디바이스, 예컨대 오디오 입력 디바이스일 수도 있다.
컴퓨팅 디바이스(들)(102)는 또한, 태스크 콘텐츠를 추출함에 있어서 수반되는 네트워크화된 컴퓨팅 디바이스, 또는 다른 컴퓨팅 디바이스와 컴퓨팅 디바이스(102) 사이의 네트워크(111)를 통한 유선 또는 무선 통신을 가능하게 하기 위한 하나 이상의 통신 인터페이스를 포함할 수도 있는 하나 이상의 입/출력(I/O) 인터페이스(106)를 포함할 수도 있다. 이러한 통신 인터페이스는, 네트워크를 통해 통신을 송수신하기 위한 하나 이상의 트랜스시버 디바이스, 예를 들면, 네트워크 인터페이스 컨트롤러(NIC) 예컨대 이더넷 NIC 또는 다른 타입의 트랜스시버 디바이스를 포함할 수도 있다. 프로세서(104)(예를 들면, 프로세싱 유닛)는 각각의 통신 인터페이스를 통해 데이터를 교환할 수도 있다. 몇몇 예에서, 통신 인터페이스는 PCIe 트랜스시버일 수도 있고, 네트워크(111)는 PCIe 버스일 수도 있다. 몇몇 예에서, 통신 인터페이스는, 셀룰러(3G, 4G 또는 기타), WI-FI(와이파이), 초광대역(Ultra-wideband; UWB), BLUETOOTH(블루투스), 또는 위성 전송을 위한 트랜스시버를 포함할 수도 있지만, 그러나 이들로 제한되지는 않는다. 통신 인터페이스는, 이더넷 인터페이스, 직렬 인터페이스, 범용 직렬 버스(Universal Serial Bus; USB) 인터페이스, INFINIBAND(인피니밴드) 인터페이스, 또는 다른 유선 인터페이스와 같은 유선 I/O 인터페이스를 포함할 수도 있다. 단순화를 위해, 이들 및 다른 컴포넌트는 예시된 컴퓨팅 디바이스(102)로부터 생략된다. 입/출력(I/O) 인터페이스(106)는, 디바이스(102)가, 유저 입력 주변장치 디바이스(예를 들면, 키보드, 마우스, 펜, 게임 컨트롤러, 음성 입력 디바이스, 터치 입력 디바이스, 제스처 입력 디바이스, 및 등등) 및/또는 출력 주변장치 디바이스(예를 들면, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력, 및 등등)와 같은 다른 디바이스와 통신하는 것을 허용할 수도 있다.
도 2는 예시적인 태스크 식별 프로세스(204)에 종속되는 전자 통신(202)을 예시하는 블록도이다. 예를 들면, 프로세스(204)는, 착신 또는 발신 통신에서 커미트먼트(206) 또는 요청(208)이 행해졌는지(예를 들면, 포함되는지)의 여부를 검출하기 위한 다수의 기술 중 임의의 것을 수반할 수도 있다. 프로세스(204)는 또한, 커미트먼트 또는 요청을 포함하는 것으로 메시지를 자동적으로 마킹하기 위한, 주석을 달기 위한, 또는 달리 식별하기 위한 기술을 수반할 수도 있다. 몇몇 예에서, 프로세스(204)는, 프리젠테이션 및 후속하는 추적 및 분석을 위해 커미트먼트 또는 요청의 요약(예시되지 않음)을 생성하는 기술을 포함할 수도 있다. 커미트먼트(206) 또는 요청(208)은 전자 통신(202)의 다수의 형태의 콘텐츠에서 식별될 수도 있다. 이러한 콘텐츠는, 이메일, SMS 텍스트 또는 이미지, 인스턴트 메시징, 소셜 미디어 내의 게시물, 회의록(meeting notes), 및 등등과 같은 개인간 통신을 포함할 수도 있다. 이러한 콘텐츠는 또한, 다른 가능성 중에서도, 이메일 애플리케이션 또는 워드 프로세싱 애플리케이션을 사용하여 작성된 콘텐츠를 포함할 수도 있다.
다수의 예에서, 프로세스(204)는 비공식 계약(210)이 존재하는지 또는 통신(202)에 의해 설정되는지를 결정하기 위해 추출된 커미트먼트(206) 및 요청(208)을 사용할 수도 있다. 이러한 결정은, 통신과 연관되는 당사자 사이의 상호 합의가 존재한다는 것에 적어도 부분적으로 기초할 수도 있다. 몇몇 구현예에서, 프로세스(204)를 수행하는 컴퓨팅 시스템은, 이러한 결정을 수행하는 동안 하나 이상의 다른 통신을 분석할 수도 있다. 비공식 합의(210)가 존재하는 경우, 컴퓨팅 시스템은 비공식 계약의 특성을 추가로 결정할 수도 있다. 이러한 특성은, 요청 및 커미트먼트의 세부 사항(시간, 위치, 주제, 사람 및/또는 수반되는 것, 등등)을 포함할 수도 있다.
도 3은 다수의 엔티티(304 내지 324)와 통신하는 태스크 동작 모듈(302)을 포함하는 예시적인 시스템(300)의 블록도이다. 이러한 엔티티는, 단지 몇몇 예를 거론하자면, 호스트 애플리케이션(예를 들면, 인터넷 브라우저, SMS 텍스트 편집기, 이메일 애플리케이션, 전자 캘린더 기능, 등등), 데이터베이스 또는 정보 소스(예를 들면, 개인의 개인 데이터(personal data) 및 이력, 기업 또는 기관의 조직 정보, 서비스로서 데이터를 제공할 수도 있는 써드 파티 데이터 애그리게이터(third party data aggregator), 및 등등)를 포함할 수도 있다. 태스크 동작 모듈(302)은, 예를 들면, 도 1에 예시되는 컴퓨팅 디바이스(102) 내의 태스크 동작 모듈(116)과 동일하거나 또는 유사할 수도 있다.
태스크 동작 모듈(302)은, (간단한 휴리스틱 또는 규칙 기반의 시스템이 또한 채용될 수도 있기는 하지만) 다수의 언어 분석 기술 중 임의의 것을 적용하는 것에 의해, 통신의 콘텐츠, 및/또는 엔티티(304 내지 324)에 의해 제공되는 데이터 또는 정보를 분석하도록 구성될 수도 있다.
예를 들면, 태스크 동작 모듈(302)은, 이메일 엔티티(304), SMS 텍스트 메시지 엔티티(306), 및 등등에 의해 제공되는 통신의 콘텐츠를 분석하도록 구성될 수도 있다. 태스크 동작 모듈(302)은 또한, 인터넷 엔티티(308), 트레이닝 데이터(310)를 제공하는 머신 러닝 엔티티, 이메일 엔티티(304), 캘린더 엔티티(314), 및 등등에 의해 제공되는 데이터 또는 정보를 분석하도록 구성될 수도 있다. 태스크 동작 모듈(302)은 엔티티(304 내지 324) 중 임의의 것으로부터 수집되는 정보 또는 데이터에 언어 분석을 적용하는 것에 의해 콘텐츠를 분석할 수도 있다. 몇몇 예에서, 태스크 동작 모듈(302)은, 메모리 디바이스일 수도 있는 태스크 이력 엔티티(324)로부터 이력적 태스크 상호 작용(historic task interaction)에 관한 데이터를 분석하도록 구성될 수도 있다. 예를 들면, 이러한 이력적 태스크 상호 작용은, 이전 커미트먼트 및/또는 요청에 대해 사람들이 수행한 액션을 포함할 수도 있다. 이러한 액션에 대한 정보(예를 들면, 특정한 타입의 커미트먼트에 대한 응답에서 사람들이 한 행동, 및 등등)는, 유사한 태스크에 대해 사람들이 어떤 액션을 수행할 수도 있는지를 나타낼 수도 있다. 따라서, 이력적 태스크 상호 작용은, 현재 또는 미래의 태스크 동작에 대한 결정에서 고려될 수도 있다.
도 3의 양쪽 화살표는, 데이터 또는 정보가 엔티티(304 내지 324) 및 태스크 동작 모듈(302) 사이에서 어느 한 방향 또는 양방향으로 흐를 수도 있다는 것을 나타낸다. 예를 들면, 태스크 동작 모듈(302)로부터 엔티티(304-324) 중 임의의 것으로 흐르는 데이터 또는 정보는, 태스크 동작 모듈(302)이 추출된 태스크 데이터를 엔티티(304 내지 324)로 제공하는 것으로 나타날 수도 있다. 다른 예에서, 태스크 동작 모듈(302)로부터 엔티티(304 내지 324) 중 임의의 것으로 흐르는 데이터 또는 정보는, 엔티티를 조회하기 위해 태스크 동작 모듈에 의해 생성되는 조회(query)의 일부일 수도 있다. 이러한 조회는, 하기에서 설명되는 바와 같이, 엔티티 중 임의의 것에 의해 제공되는 콘텐츠의 하나 이상의 의미를 결정하기 위해, 그리고 콘텐츠의 의미에 적어도 부분적으로 기초하여 태스크 지향 프로세스를 확립하기 위해, 태스크 동작 모듈(302)에 의해 사용될 수도 있다.
몇몇 예에서, 태스크 동작 모듈(302)은, 이메일 엔티티(304)로부터 다수의 유저 간의 이메일 교환(예를 들면, 통신)의 콘텐츠를 수신할 수도 있다. 태스크 동작 모듈은 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정할 수도 있다. 콘텐츠를 분석하는 것은, 콘텐츠의 엘리먼트의 의미, 예를 들면, 단어, 어구(phrase), 문장, 메타데이터(예를 들면, 이메일의 사이즈, 생성 날짜, 및 등등), 이미지, 및 이러한 엘리먼트가 상호 관련되는 방식 및 관련되는지의 여부 등등을 결정하기 위해 다수의 기술 중 임의의 것에 의해 수행될 수도 있다. 콘텐츠의 "의미"는, 콘텐츠를 자연 언어로 해석하는 방법일 수도 있다. 예를 들면, 콘텐츠의 의미는 태스크를 수행하라는 개인에 대한 요청을 포함할 수도 있다. 다른 예에서, 콘텐츠의 의미는, 태스크의 설명, 태스크가 완료되어야 하는 시간, 태스크에 대한 배경 정보, 및 등등을 포함할 수도 있다. 다른 예에서, 콘텐츠의 의미는, 학습된 모델에 적어도 부분적으로 기초하여 추출 또는 추론될 수도 있는 소망하는 액션(들) 또는 태스크(들)의 특성을 포함할 수도 있다. 예를 들면, 태스크의 특성은, 이러한 태스크를 위해 할애되어야 하는 시간의 양, 다른 사람들이 수반되어야 하는지, 이 태스크가 우선 순위가 높은지, 및 등등일 수도 있다.
옵션적인 구현예에서, 태스크 동작 모듈은, 예를 들면, 소셜 미디어 엔티티(320)와 같은 하나 이상의 데이터 소스의 콘텐츠를 조회할 수도 있다. 하나 이상의 데이터 소스의 이러한 콘텐츠는, 이메일 교환의 콘텐츠에 관련될 수도 있다(예를 들면, 주제, 작성자, 날짜, 시간, 위치, 및 등등에 의해 관련될 수도 있다). (i) 이메일 교환의 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 태스크 동작 모듈(302)은, 이메일 교환의 콘텐츠로부터의 요청 또는 커미트먼트에 적어도 부분적으로 기초하여 하나 이상의 태스크 지향 프로세스를 자동적으로 확립할 수도 있다.
몇몇 예에서, 태스크 동작 모듈(302)은, 트레이닝 데이터(310)로부터 및/또는 엔티티(304 내지 324) 중 임의의 것 및 태스크 동작 모듈 사이에서 실시간으로 진행 중인 통신으로부터 학습되는 예측 모델을 사용하여 태스크 콘텐츠에 적어도 부분적으로 기초하여 하나 이상의 태스크 지향 프로세스를 확립할 수도 있다. 예측 모델은, 태스크를 핸들링하기 위한 공식적인 계약 기반의 방법(예를 들면, 유저가, 커미트먼트 및 요청을 관리하는 것에 대한 추론된 접근법으로부터 공식적인 논리적/계약 기반의 접근법으로 이동하는 것을 가능하게 하는 시스템)과 결합될 수도 있다. 예측 모델은, 발신 또는 착신 통신(예를 들면, 메시지) 또는 통신의 콘텐츠가 요청을 포함한다는 것을 추론할 수도 있다. 마찬가지로, 발신 또는 착신 통신 또는 통신의 콘텐츠는 태스크를 수행한다는 커미트먼트(예를 들면, 서약 또는 약속)를 포함할 수도 있다. 착신 또는 발신 통신으로부터의 커미트먼트 및 요청의 식별은, 커미트먼트 및 요청에 관하여 통신의 발신자 및 수신자를 지원하는 다수의 기능을 서비스할 수도 있다. 이러한 기능은, 유저에 대한 리마인더, 할 일 목록의 수정, 커미트먼트, 회의 요청, 및 다른 시간 관리 활동을 생성 및 제공하는 것일 수도 있다. 그러한 기능은 또한, 태스크 활동의 완료 또는 태스크 활동의 유저 이해를 지원하는 관련된 디지털 가공물(digital artefact)(예를 들면, 다큐먼트)을 찾는 것 또는 그 가공물의 위치를 결정하는 것을 포함할 수도 있다.
몇몇 예에서, 태스크 동작 모듈(302)은, 단지 몇몇 예를 거론하자면, SMS 텍스트 메시지 엔티티(306)로부터의 SMS 텍스트 메시지 또는 이메일 엔티티(304)로부터 수신되는 이메일로부터의 요청 및 커미트먼트의 제안 및 확인을 식별하기 위해 통계 모델을 사용하여 태스크 콘텐츠에 적어도 부분적으로 기초하여 하나 이상의 태스크 지향 프로세스를 확립할 수도 있다. 통계 모델은, 엔티티(304 내지 324) 중 임의의 것 또는 이들의 조합으로부터의 데이터 또는 정보에 적어도 부분적으로 기초할 수도 있다.
몇몇 예에서, 태스크 동작 모듈(302)은, 메시지의 작성자가 메시지를 작성하는 동안, 태스크 콘텐츠에 적어도 부분적으로 기초하여 하나 이상의 태스크 지향 프로세스를 확립할 수도 있다. 예를 들면, 이러한 작성은, 임의의 타입의 텍스트 편집기 또는 애플리케이션을 사용하여 이메일 또는 텍스트 메시지를 타이핑하는 것을 포함할 수도 있다. 다른 예에서, 태스크 동작 모듈(302)은, 사람이 수신된 메시지를 읽는 동안, 태스크 콘텐츠에 적어도 부분적으로 기초하여 하나 이상의 태스크 지향 프로세스를 확립할 수도 있다. 예를 들면, 사람이 메시지를 읽을 때, 태스크 동작 모듈(302)은, 메시지의 텍스트에서 요청 또는 커미트먼트를 눈에 띄게 하거나 또는 강조하는 것에 의해, 메시지의 일부에 주석을 달 수도 있다. 몇몇 예에서, 태스크 동작 모듈은, 메시지 디스플레이 동안 관련 정보를 메시지에 추가할 수도 있다. 예를 들면, 이러한 관련 정보는 데이터 또는 정보의 추가적인 소스로부터, 예컨대 엔티티(304 내지 324)로부터 추론될 수도 있다. 특정한 예에서, 태스크 동작 모듈(302)을 포함하는 컴퓨터 시스템은, 일종의 클래스에 참석하라는 독자(reader)에 대한 요청을 포함하는 메시지를 디스플레이할 수도 있다. 태스크 동작 모듈(302)은 인터넷(308)을 조회하여, 독자가 거주하는 지역(예를 들면, 이것은 독자에 관한 개인 데이터(312)로부터 추론될 수도 있다)의 다양한 위치에서 그리고 하루 중 다양한 시간에서 다수의 이러한 클래스가 제공된다는 것을 결정할 수도 있다. 따라서, 태스크 동작 모듈은 선택 또는 제안의 목록을 생성하여 독자에게 제공할 수도 있다. 이러한 목록은 마우스 오버에 응답하여 텍스트의 관련 부분의 텍스트 근처에 동적으로 디스플레이될 수도 있거나, 또는, 예를 들면, 디스플레이의 다른 부분에 정적으로 디스플레이될 수도 있다. 몇몇 예에서, 목록은 독자에 의해 (예를 들면, 마우스 클릭에 의해) 선택 가능한 아이템을 포함할 수도 있고, 그 결과 요청은 독자에 의해 선택되는 시간을 포함할 것이다(이 시간은 요청자에 의해 "제안된" 시간을 대체할 수도 있고 요청자는 독자에 의해 선택된 시간을 자동적으로 통지 받을 수도 있다).
도 4는, 요청 또는 커미트먼트의 예시적인 텍스트 스레드 및 태스크 식별 프로세스(404)를 포함하는 전자 통신(402)을 예시하는 블록도이다. 이러한 프로세스는, 예를 들면, 도 1에 예시되는 태스크 동작 모듈, 예컨대 116에 의해 수행될 수도 있다. 예를 들면, 제1 유저로부터 제2 유저의 컴퓨팅 디바이스 상에서 수신되는 제2 유저에 대한 텍스트 메시지일 수도 있는 통신(402)은, 제1 유저로부터의 텍스트(406) 및 제2 유저로부터의 텍스트(408)를 포함한다. 태스크 식별 프로세스(404)는, 통신(402)의 콘텐츠(예를 들면, 텍스트(406) 및 텍스트(408))를 분석하는 것 및 (i) 제1 유저 또는 제2 유저에 의한 커미트먼트 및/또는 (ii) 제1 유저 또는 제2 유저에 의한 요청을 결정하는 것을 포함한다.
도 4에서 예시되는 예에서, 제1 유저에 의한 텍스트(406)는, 다음 주 가능한 한 빨리 우리 팀과 벤더와의 회의를 제2 유저가 마련해야 한다는 요청(410)을 포함한다. 제2 유저에 의한 텍스트(408)는, 좋은 생각입니다, 제가 맡겠습니다 라는 암시에 의해 제2 유저가 이러한 회의를 마련할 작정이라는 커미트먼트(412)을 포함한다. 태스크 식별 프로세스(404)는, 텍스트(406) 및 텍스트(408)를 분석하는 것을 수반하는 다수의 기술 중 임의의 것에 의해 요청 및 커미트먼트를 결정할 수도 있다. 몇몇 예에서, 텍스트가 요청 또는 커미트먼트의 충분한 상세 사항을 결정하기에 충분하지 않은 경우, 태스크 식별 프로세스(404)는 엔티티(304 내지 324)와 같은 다수의 데이터 소스 중 임의의 것을 조회할 수도 있다. 예를 들면, 텍스트(406)의 요청은, 다음 주에 가능한 한 빨리 회의를 개최해야 한다는 것을 제외하고는, 회의를 마련해야 하는 때 또는 이러한 회의가 있어야 하는 때에 대한 특정한 시간을 포함하지 않았다. 또한, 회의에 참석해야 하는 사람에 관한 정보는 "우리 팀"으로 제한된다. 따라서, 태스크 식별 프로세스(404)는 제1 유저 및/또는 제2 유저에 관해 다수의 데이터 소스(예를 들면, 인터넷(308), 개인 데이터(312), 캘린더(314), 개인 비서(316), 소셜 미디어(320), 및 등등) 중 임의의 것에서 정보를 조회할 수도 있다. 제1 및/또는 제2 유저에 관한 정보는, 다른 양태 중에서도, "우리 팀"을 식별하기 위해, 개인 데이터, 작업 데이터, 스케줄, 캘린더, (예를 들면, 동료 직원에 관한 정보 및 그들의 직업, 직함, 등등의 설명을 제공할 수도 있는 조직 정보(318)로부터의) 직장에 관한 정보, 및 등등을 포함할 수도 있다. 조회될 수도 있는 후속 정보는, 제1 및 제2 유저의 직장의 회의실 세부 사항(예를 들면, 회의실의 스케줄, 사이즈, 위치, 등등에 관한 정보를 제공할 수도 있는, 조직 정보(318) 또는 캘린더(314)로부터 수집될 수도 있는 하나 이상의 파라미터)을 포함한다.
이러한 정보를 조회하는 것에 이어서, 태스크 식별 프로세스(404)는 통신(402)에서 요청 및 커미트먼트의 실질적으로 완전한 평가를 결정할 수도 있고 이러한 평가에 기초하여 다수의 태스크 지향 프로세스를 생성 및 수행할 수도 있다. 예를 들면, 태스크 식별 프로세스(404)는 다음 주에 회의를 위해 이용 가능한 다수의 가능한 회의 시간 및 장소를 제2 유저에게 제공할 수도 있다. 태스크 식별 프로세스는 제2 유저에게 "우리 팀"의 이름의 목록과 팀 개개인의 스케줄을 제공할 수도 있다. 태스크 식별 프로세스는 제2 유저가, 각 개인이 팀에 있는지의 여부 및/또는 회의에 참석해야 하는지 여부를 확인하는 것 또는 그 여부에 이의를 제기하는 것을 허용할 수도 있다. 태스크 식별 프로세스는, 개인의 스케줄에 따라 회의에 대한 가능한 시간 또는 날짜를 제안할 수도 있고, 개인의 "중요도"를 고려할 수도 있다(예를 들면, 어떤 팀 멤버의 존재는 필수적일 수도 있거나 또는 옵션적일 수도 있다).
몇몇 예에서, 태스크 식별 프로세스(404)는 커미트먼트의 강도를 결정할 수도 있는데, 여기서 낮은 강도의 커미트먼트는, 유저가 커미트먼트를 이행할 가능성이 없는 커미트먼트에 대한 것이고 높은 강도의 커미트먼트는 유저가 커미트먼트를 이행할 가능성이 있는 커미트먼트에 대한 것이다. 커미트먼트의 강도는, 리마인더, 할 일 목록의 수정, 약속, 회의 요청, 및 기타 시간 관리 활동과 같은 후속 서비스에 유용할 수도 있다. 커미트먼트의 강도를 결정하는 것은, 유저의 이벤트(예를 들면, 과거 커미트먼트의 후속 행동, 및 등등)의 이력 및/또는 다른 유저의 이벤트의 이력 및/또는 제1 유저, 제2 유저, 또는 다른 유저의 개인 정보(예를 들면, 나이, 성별, 연령, 직업, 자주 여행하는 사람, 및 등등)에 적어도 부분적으로 기초할 수도 있다. 예를 들면, 태스크 식별 프로세스(404)는 이러한 이력을 조회할 수도 있다. 몇몇 예에서, 유저 중 어느 한 명 또는 둘 다는, 태스크 식별 프로세스(404)가 유저의 개인 정보를 조회할 수도 있기 이전에, "옵트 인 방식으로 동의해야 하거나"하거나 또는 다른 승낙 액션을 취해야 한다. 태스크 식별 프로세스(404)는, 제2 유저가, 예를 들면, 지난 1년 정도 동안 상대적으로 많은 수의 회의를 마련했다는 것을 이러한 이력이 나타내는 경우, 제2 유저에 의한 커미트먼트에 대해 상대적으로 높은 강도를 할당할 수도 있다. 커미트먼트의 강도를 결정하는 것은, 텍스트(406) 및/또는 텍스트(408)의 키워드 또는 용어에 적어도 부분적으로 기초할 수도 있다. 예를 들면, "좋은 생각입니다, 제가 맡겠습니다"는, 일반적으로 긍정적이고 바람직한 함의를 가지고 있고, 그러므로 이러한 커미트먼트는 상대적으로 강할 수도 있다. 한편, "제가 맡겠습니다"는 상대적으로 모호하고 (예를 들면, "내가 할게요"와 같은) 강하게 말한 커미트먼트에는 미치지 못한다. 몇몇 구현예에서, 태스크 식별 프로세스(404)는 메시지에서 사용되는 특정한 단어에 적어도 부분적으로 기초하여 커미트먼트의 강도를 결정할 수도 있다. 예를 들면, 메시지에서 사용되는 단어 및/또는 어구의 계층 구조는 커미트먼트의 레벨에 대응할 수도 있다. 특정한 예에서, "아마도(maybe)", "if(만약)", "but(그러나)", "비록 ~ 이지만(although)", 및 등등과 같은 단어는 조건부 커미트먼트를 나타낼 수도 있다. 따라서, 제2 유저에 관한 정보 및/또는 제2 유저의 액션의 이력은, 이 커미트먼트의 강도를 결정하기 위해 태스크 식별 프로세스(404)에 의해 사용될 수도 있다. 태스크 식별 프로세스(404)는 커미트먼트의 강도를 결정하기 위해 다수의 그러한 시나리오 및 인자를 가중시킬 수도 있다.
도 5는 메시지 및 태스크 콘텐츠 간의 예시적인 관계의 테이블(500)이다. 특히, 이러한 태스크 콘텐츠는 커미트먼트 및/또는 요청을 포함하는데, 이들 중 어느 하나는, 컴퓨팅 디바이스의 유저 또는, 하나 이상의 컴퓨팅 디바이스 상의 한 명 이상의 사람들일 수도 있는 "다른 유저 엔티티"에 의해 생성될 수도 있다(예를 들면, 애플리케이션에 의해 자동적으로 생성될 수도 있거나 또는 수동으로 작성될 수도 있다). 몇몇 예에서, 다른 유저 엔티티는, 자신에게 메시지를 보낼 수도 있는 유저일 수도 있다. 다른 예에서, 유저 및/또는 다른 유저 엔티티는, 임의의 사람(예를 들면, 대리인, 비서, 관리자, 등등) 또는 머신(예를 들면, 명령어를 수신 및 수행하도록 구성되는 프로세서 기반의 시스템)일 수도 있다. 표(500)는, 컴퓨팅 디바이스의 유저에 의해 생성되고 다른 유저 엔티티로 전송되는 발신 메시지, 및 다른 유저 엔티티에 의해 생성되고 컴퓨팅 디바이스의 유저에 의해 수신되는 착신 메시지를 예시한다.
발신 또는 착신 메시지에서 검출될 수도 있는 커미트먼트의 예는 다음의 것을 포함한다: "문서를 준비해서 월요일에 보내줄게요", "스미스씨에게 보낼테니 금요일까지 검토해주세요", "내가 할게요", "네게 다시 돌아갈게", "할게요", 등등. 후자의 예는, 커미트먼트(또는 그 진술)가 시간 또는 기한을 포함할 필요가 없다는 것을 입증한다. 착신 메시지 또는 발신 메시지로부터 추출될 수도 있는 요청의 예는 다음의 것을 포함한다: "매트 아래에 키를 두시겠습니다?", "저녁에 일찍 올 수 있는지 알려 주세요", "월말까지 예산 분석을 완료할 수 있습니까?", 및 등등.
커미트먼트 또는 요청이 발신 또는 착신 메시지에서 검출되는 것에 응답하여, 프로세서 실행 모듈(들)은, 리마인더, 할 일 목록의 수정, 약속, 및 커미트먼트 또는 요청에 관련되는 활동의 시간 관리와 같은 서비스를 수행하도록 하나 이상의 컴퓨팅 디바이스를 구성할 수도 있다. 이러한 프로세서 실행 모듈(들)은, 예를 들면, 태스크 동작 모듈(302)의 동작과 유사한 동작을 수행할 수도 있다. 추가적으로, 프로세서 실행 모듈(들)은, 발신 요청 및 착신 커미트먼트를 계속 추적함에 있어서 유저를 지원할 수도 있다. 예를 들면, 프로세서는 유저에게 따라야 할 액션의 리스트를 제시하거나 또는 유저에 의해 다른 유저에게 전송된 요청 또는 유저에게 이루어진 커미트먼트를 다른 유저에게 자동적으로 상기시킬(remind) 수도 있다.
표(500)는, 메시지에 포함되는 태스크의 네 개의 특정한 경우를 포함한다. 하나의 경우는, 유저에 의한 다른 유저 엔티티에 대한 커미트먼트를 포함하는 발신 메시지이다. 다른 경우는, 유저에 의한 다른 유저 엔티티에 대한 요청을 포함하는 발신 메시지이다. 또 다른 경우는, 다른 유저 엔티티로부터의 유저에 대한 커미트먼트를 포함하는 착신 메시지이다. 여전히 또 다른 경우는, 유저에 대한 다른 유저 엔티티로부터의 요청을 포함하는 착신 메시지이다. 메시지로부터 태스크 콘텐츠를 검출하기 위한 프로세스는, 적어도 부분적으로는, 특정한 경우 중 어떤 것이 프로세싱되고 있는지에 따라 서로 상이할 수도 있다. 이러한 프로세스는, 컴퓨팅 디바이스와 통신하는 유저 또는 컴퓨팅 시스템(예를 들면, 서버)의 컴퓨팅 디바이스에 의해 수행될 수도 있다. 예를 들면, 착신 메시지가 다른 유저 엔티티로부터의 유저에 대한 커미트먼트를 포함하는 경우에 적용되는 프로세스는, 커미트먼트에 연관되는 (예를 들면, 다른 유저 엔티티에 의해 제공되는 세부 사항 이외의) 다수의 세부 사항 중 임의의 것을 결정하기 위해 다양한 데이터 소스를 조회하는 것을 수반할 수도 있다. 이러한 다양한 데이터 소스는, 개인 데이터 또는 다른 유저 엔티티의 이력, 관련된 이벤트(예를 들면, 캘린더 데이터)의 스케줄, 커미트먼트와 관련되는 단어에 적어도 부분적으로 기초한 키워드 검색에 응답하는 검색 엔진 데이터, 및 등등을 포함할 수도 있다. 몇몇 구현예에서, 데이터 소스는, 버스를 통해 프로세서에 전자적으로 커플링되는 메모리 디바이스와 같은, 디바이스의 프로세싱 컴포넌트와 관련되는 메모리일 수도 있다. 예를 들면, 냉장고 수리에 대한 커미트먼트(예를 들면, "예, 시내로 나가신 동안 냉장고를 고쳐 드리겠습니다.")는, 인터넷 검색에 적용될 키워드 "냉장고", "가전 제품", "수리", "집 수리", 및 등등으로 이어질 수도 있다. 이러한 검색의 결과(및/또는 키워드 자체)는, 다른 유저 엔티티가 커미트먼트를 행하는 경우에 후속하여 또는 다른 유저 엔티티가 요청을 읽는 동안(및 예를 들면, 커미트먼트를 할지 또는 하지 않을지의 여부를 결정하는 동안) 다른 유저 엔티티에게 자동적으로 제공될 수도 있다. 또한, 유저가 "시내로 나갈" 때의 기간을 결정하기 위해, 유저에 관한 개인 데이터가 조회될 수도 있다. 이러한 조회된 정보는, 예를 들면, 언제까지 커미트먼트가 이행되어야 하는지를 프로세스가 결정하는 것을 허용할 수도 있다. 몇몇 예에서, 유저 및/또는 다른 유저 엔티티는, 프로세스가 유저 및/또는 다른 유저 엔티티의 개인 정보에 액세스할 수 있기 이전에, "옵트 인 방식으로 동의해야 하거나(opt-in)" 또는 다른 승낙 액션을 취해야 한다.
다른 예로서, 발신 메시지가 유저에 의한 다른 유저 엔티티에 대한 요청을 포함하는 경우에 적용되는 프로세스는, 다른 유저 엔티티가 유저의 요청에 대해 강한(예를 들면, 진실한, 신뢰 가능한, 가치 있는) 커미트먼트를 가지고 응답하는 결과의 가능성을 결정하기 위해 다양한 데이터 소스(이것은 프로세스를 수행하는 디바이스(들) 외부에 있을 필요는 없다)를 조회하는 것을 수반할 수도 있다. 이러한 결정된 가능성은, 유저가 다른 유저 엔티티에게 계속 요청을 보낼지 또는 다른 유저 엔티티(특정한 요청에 대한 커미트먼트를 이행할 가능성이 높을 수도 있음)를 선택할지의 여부를 결정하는 데 유용할 수도 있다. 다양한 데이터 소스는 다른 유저 엔티티의 개인 데이터 또는 이력을 포함할 수도 있다. 예를 들면, 다른 유저 엔티티에 의한 액션의 이력(회의 취소 또는 태스크에서의 후속 행동에 대한 불이행)은, 다른 유저 엔티티가 해당 유저 엔티티에 대한 커미트먼트를 수락하거나 따르게 될 가능성(또는 그 부족)을 나타낼 수도 있다.
한편, 착신 메세지가 유저 엔티티에 대한 다른 유저 엔티티로부터의 요청을 포함하는 경우에 적용되는 프로세스는, 요청에 대한 잠재적인 커미트먼트를 수행하는 것에 관한 실행 계획(logistics) 및 다양한 세부 사항을 결정하기 위해 다양한 데이터 소스를 조회할 수도 있다. 예를 들면, 착신 메시지에서의 요청이 "다음 주에 내 집 외부를 페인트 칠할 수 있습니까?"일 수도 있다. 이러한 요청은, 다른 것들 중에서도, 일기 예보 공급자에 대한 (예를 들면, 인터넷을 통한) 조회로 이어질 수도 있다. 다음 주 날씨가 비가 올 것으로 예측되면, 프로세스는 (예를 들면, 유저에 의한 어떠한 촉구가 없어도) 유저에게 이러한 날씨 정보를 자동적으로 제공할 수도 있다. 몇몇 예에서, 프로세스는, 요청에 커밋할지(commit) 또는 하지 않을지의 여부를 결정함에 있어서 유저를 지원하는 스코어 또는 어떤 도움이 되는 스코어 또는 정량자(quantifier)를 유저에게 제공할 수도 있다. 예를 들면, 10의 스코어는 요청에 대한 커미트먼트와 연관되는 상대적으로 쉬운 태스크를 나타낸다. 1의 스코어는 요청에 대한 커미트먼트와 연관되는 불가능한 태스크를 나타낸다. 이러한 불가능성은, 스케줄 충돌, 이용 불가능한 특정한 사람 또는 기기, 날씨, 및 등등에 기인할 수도 있다.
다른 예에서, 발신 메시지가 유저에 의한 다른 유저 엔티티에 대한 커미트먼트를 포함하는 경우에 적용되는 프로세스는, 커미트먼트의 중요성을 결정하기 위해 다양한 데이터 소스를 조회하는 것을 수반할 수도 있다. 예를 들면, 다른 유저 엔티티가 유저의 관리자인 경우, 커미트먼트는 상대적으로 중요할 수도 있다. 따라서, 프로세스는, 다른 유저 엔티티가 관리자, 부하 직원, 동료, 친구, 가족, 및 등등인지를 결정하기 위해, 다른 유저 엔티티의 개인 및/또는 직업 데이터를 포함하는 다양한 데이터 소스를 조회할 수도 있다. 예를 들면, 다른 유저 엔티티가 관리자인 경우, 프로세스는, 예컨대, 커미트먼트의 태스크(들)를 수행하는 것과 충돌할 수도 있는 임의의 캘린더 이벤트를 자동적으로 취소하는 것에 의해, 관리자에 대한 커미트먼트와 연관되는 스케줄링을 우선시킬 수도 있다(예를 들면, 관리자에 의해 요청되는 정오의 1시간짜리 회의의 커미트먼트를 위한 시간을 비우기 위해, 유저의 캘린더에서 오후 12시 30분의 친구와의 점심 만남이 자동적으로 취소될 수도 있다). 따라서, 태스크 동작 모듈에 의해 수행되는 프로세스는, 하나 이상의 데이터 소스(예를 들면, 메시지 작성자의 개인 데이터)로부터 수신되는 정보에 적어도 부분적으로 기초하여, 회의에 대한 참석자 목록을 자동적으로 수정할 수도 있다. 다른 예에서, 이러한 자동화 대신, 프로세스는 유저에 의한 명시적인 확인에 후속하여 태스크를 수행할 수도 있다. 또한, 프로세스는 메시지의 콘텐츠의 한 명 이상의 작성자의 전자 캘린더를 수정할 수도 있는데, 여기서 수정은 메시지의 한 명 이상의 작성자 사이의 상대적인 관계(예를 들면, 관리자, 부하 직원, 피어, 및 등등)에 적어도 부분적으로 기초한다.
도 6은, 메시지에 포함되는 태스크 콘텐츠(예를 들면, 요청 또는 커미트먼트)에 적어도 부분적으로 기초하여 태스크 지향 프로세스를 수행하기 위한 프로세스(600)의 흐름도이다. 예를 들면, 도 3에서 예시되는 태스크 동작 모듈(302)은 프로세스(600)를 수행할 수도 있다. 블록(602)에서, 태스크 동작 모듈(302)은, 이메일, 텍스트 메시지, 또는 사람들 또는 머신(예를 들면, 메시지를 생성할 수 있는 컴퓨터 시스템) 사이의 임의의 다른 타입의 통신과 같은 메시지를 수신할 수도 있다. 블록(604)에서, 태스크 동작 모듈(302)은 메시지에 포함되는 태스크 콘텐츠를 결정할 수도 있다. 상기에서 논의되는 바와 같이, 다수의 기술 중 임의의 기술이 이러한 결정을 행하기 위해 사용될 수도 있다. 태스크 콘텐츠를 결정하는 것의 어려움 및 복잡성은, 일반적으로, 상이한 메시지마다 상이하다. 상대적으로 간단한 상황의 경우, 태스크 동작 모듈(302)은 상대적으로 높은 신뢰도로 태스크 콘텐츠를 결정할 수도 있다. 상대적으로 복잡한 상황에서, 태스크 동작 모듈(302)은 상대적으로 낮은 신뢰도로 태스크 콘텐츠를 결정할 수도 있다. 두 경우, 및 특히 후자의 경우에, 태스크 동작 모듈(302)은, 결정된 태스크 콘텐츠가 정확한지 또는 정확하지 않은지의 여부를 확인할 것을 유저에게 촉구할 수도 있다. 따라서, 결정 블록(diamond)(606)에서, 태스크 동작 모듈(302)은 유저에게 확인을 촉구할 수 있거나 또는 결정된 태스크 콘텐츠에 정정 또는 개선을 제공할 것을 촉구할 수도 있다. 예를 들면, 유저에게 보내는 이메일이, "월말까지 예산 분석을 완료할 수 있습니까?"일 수도 있다. 유저는, 이메일의 결정된 요청이 "4월말까지 예산 분석을 완료하시오"인지를, 태스크 동작 모듈(302)에 의해(예를 들면, 디스플레이된 메시지 또는 오디오 메시지에서) 질문을 받을 수도 있다. 유저는 이것이 사실이다는 것을 확인할 수도 있다. 이러한 경우, 프로세스(600)는 블록(608)으로 진행할 수도 있다.
다른 한편으로, 유저는 결정된 요청이 잘못되었다는 것을 응답하는 것에 의해 또는 정정을 행하는 것에 의해 응답할 수도 있다. 예를 들면, 정확한 달은 5월 또는 6월일 수도 있다. 몇몇 예에서, 태스크 동작 모듈(302)은, 그러한 확인 프로세스 동안, 가능성의 확률에 기초하여 유저에게 옵션의 목록(예를 들면, 4월, 5월, 6월, 7월 ...)을 제공할 수도 있다. 유저는 리스트에서 옵션을 선택할 수도 있다. 프로세스(600)는, 유저의 응답을 고려하여 태스크 콘텐츠를 수정하기 위해 또는 결정하기 위해, 블록(604)으로 복귀할 수도 있다.
블록(608)에서, 태스크 동작 모듈(302)은 결정된 태스크 콘텐츠에 적어도 부분적으로 기초하여 하나 이상의 태스크 지향 액션을 생성할 수도 있다. 이러한 액션은, 단지 몇몇 예를 거론하자면, 전자 캘린더 또는 할 일 목록(to-do list)을 수정하는 것, 가능한 유저 액션의 제안을 제공하는 것, 및 유저에게 리마인더를 제공하는 것을 포함할 수도 있다. 몇몇 예에서, 태스크 동작 모듈(302)은, 결정된 태스크 콘텐츠(예를 들면, 유저가 소망하는 지속 기간의 추정치)에 기초하여 "이상적인" 액션의 타이밍 및 성질에 관한 추론을 행하는 것에 의해 태스크 지향 프로세스를 생성 또는 결정할 수도 있다. 몇몇 예에서, 태스크 동작 모듈(302)은, 결정된 요청 또는 커미트먼트의 성질에 기초하여 상이한 액션 타입을 자동적으로 식별 및 촉구하는 것에 의해 태스크 지향 프로세스를 생성 또는 결정할 수도 있다(예를 들면, "오후 5시까지 보고서를 작성하시오"는, 예약 시간을 필요로 할 수도 있지만, "오후 5시까지 알려주시오"는 리마인더에 대한 필요성을 시사한다).
블록(610)에서, 태스크 동작 모듈(302)은 검사 또는 검토를 위한 태스크 지향 액션의 목록을 유저에게 제공할 수도 있다. 예를 들면, 태스크 지향 액션은, 태스크 활동의 완료, 또는 태스크 활동의 유저 이해를 지원하기 위해, 특정한 태스크에 관련되는 디지털 가공물(예를 들면, 다큐먼트)을 찾는 것 또는 그 가공물의 위치를 결정하는 것일 수도 있다. 결정 블록(612)에서, 유저는, 태스크 동작 모듈(302)에 의해 수행될 상이하고 가능한 액션의 선택권 중에서 선택할 수도 있고, 가능한 동작을 개선할 수도 있고, 액션을 삭제할 수도 있고, 수동으로 액션을 추가할 수도 있고, 및 등등일 수도 있다. 그러한 변경이 있는 경우, 프로세스(600)는, 태스크 지향 프로세스 목록의 유저의 편집을 고려하여 태스크 동작 모듈(302)이 태스크 지향 프로세스를 재생성할 수도 있는 블록(608)으로 복귀할 수도 있다. 한편, 유저가 목록을 승인하면, 프로세스(600)는, 태스크 동작 모듈(302)이 태스크 지향 프로세스를 수행하는 블록(614)으로 진행할 수도 있다.
몇몇 예에서, 태스크 지향 프로세스는 다음의 것을 수반할 수도 있다: 결정된 요청 또는 커미트먼트에 이용 가능한 액션의 순위가 매겨진 목록(ranked list)을 생성하는 것; 추론된 날짜, 위치, 의도 및 적절한 다음 단계를 태스크와 관련하여 추론, 추출 및 사용하는 것; 상대적으로 수정하기 쉬운 디스플레이용 키 데이터 필드를 제공하는 것; 요청 또는 커미트먼트를 고차원 태스크 또는 프로젝트로 그룹화하여 이러한 태스크 또는 프로젝트를 달성하도록 사람들에게 지원을 제공하는 것을 비롯한, 다단계 분석을 통해 요청 및 커미트먼트의 수명 이력을 추적하는 것; 일정 기간에 걸쳐 전자 메시지의 한 명 이상의 작성자에 대한 스케줄을 반복적으로 수정하는 것(예를 들면, 초기에 스케줄을 확립하고 며칠 뒤에 그 며칠 동안 발생하는 이벤트에 적어도 부분적으로 기초하여 스케줄을 수정하는 것); 리마인더가 있는 할 일 목록을 통합하는 것; 필요로 되는 시간 및 스케줄링 서비스의 수동 및 자동화된 분석을 가지고 더 큰 시간 관리 시스템을 통합하는 것; 자동화된 및/또는 수동 위임에 대한 연결; 및 (예를 들면, 유저가 유저의 시간에 대한 다른 제약에 기초하여 과도한 약속을 하는 것을 방지하도록 돕기 위해) 필요로 되는 시간에 기초하여 태스크 지향 목표를 전달하는 능력을 갖는 실시간 작성 툴을 통합하는 것. 추론은, 예를 들면, 이력 데이터에 기초하여 개별 유저 또는 유저 무리(user cohorts)에 대해 개인화될 수도 있다.
다른 예에서, 태스크 지향 프로세스는 다음의 것을 수반할 수도 있다: 요청 또는 커미트먼트를 확인하는 것에 대해 유저를 관여시킬 "최상의" 시간을 결정하는 것; 회의 액션에 대한 "이상적인" 회의 시간 및/또는 위치를 식별하는 것; 리마인더 또는 다른 동작을 위한 "이상적인" 시간을 식별하는 것; 이벤트, 회의, 등등을 위해 얼마나 많은 시간이 차단될 필요가 있는지를 식별하는 것; 확인 또는 다른 유저의 조회를 위해 유저를 참여시키는 것에 대비하여, 자동화된 행동을 취할 때를 결정하는 것; 위치 예측 서비스 또는 회의 위치 및 태스크 완료를 위한 다른 양태를 조정하기 위한 다른 리소스를 갖는 프로세스를 통합하는 것; 시간이 걸쳐 다수의 태스크 단계를 추적하는 것(예를 들면, 로프트된(lofted) 또는 수락된 커미트먼트, 태스크의 수명 이력의 보다 전체론적 개념에 대한 연결, 태스크의 종단간 핸들링에 대한 커미트먼트의 인식의 연결, 시간 할당 및 추적을 포함하는 것, 등등을 수반하는 단계).
도 7은, 다양한 예에 따른, 머신 러닝 시스템(700)의 블록도이다. 머신 러닝 시스템(700)은, 예를 들면, (도 1에서 예시되는 머신 러닝 모듈(114)과 유사할 수도 있거나 또는 동일할 수도 있는) 머신 러닝 모델(702), 트레이닝 모듈(704), 및, 태스크 동작 모듈(302)과 동일할 수도 있거나 또는 유사할 수도 있는 태스크 동작 모듈(706)을 포함한다. 별개의 블록으로서 예시되어 있지만, 몇몇 예에서, 태스크 동작 모듈(706)은 머신 러닝 모델(702)을 포함할 수도 있다. 머신 러닝 모델(702)은 오프라인 트레이닝 모듈(704)로부터 트레이닝 데이터를 수신할 수도 있다. 예를 들면, 트레이닝 데이터는, 머신 러닝 시스템(700)을 포함하는 컴퓨팅 시스템의 메모리로부터의 데이터 또는 도 3에서 예시되는 엔티티(302 내지 324)의 임의의 조합으로부터의 데이터를 포함할 수도 있다.
(예를 들면 Cortana® 또는 다른 애플리케이션을 통해) 커미트먼트 또는 요청 서비스를 이용하는 것에 의해 수집되는 원격 측정 데이터는, 많은 태스크 지향 액션에 대한 트레이닝 데이터를 생성하기 위해 사용될 수도 있다. 예를 들면, Outlook®과 같은 현존하는 서비스에 대한 플러그인으로서 작업 그룹 내에서 종방향으로 상대적으로 집중된 소규모 배치는, 정확한 추론이 가능한 모델을 학습시키기에 충분한 트레이닝 데이터를 산출할 수도 있다. 현장 조사(in-situ survey)는, 예를 들면, 거동 로그를 보완하기 위한 데이터를 수집할 수도 있다. 예를 들면, 태스크 동작 모듈에 의해 생성되는 추론에 대한 유저 응답은, 시간이 지남에 따라 시스템을 학습하시키는 것을 도울 수도 있다.
메모리는, 컴퓨팅 시스템 또는 특정한 유저에 의해 수신되는 및/또는 컴퓨팅 시스템 또는 특정 유저에게 전송되는 요청 및 커미트먼트의 이력을 저장할 수도 있다. 메모리 또는 엔티티로부터의 데이터는 머신 러닝 모델(702)을 트레이닝시키기 위해 사용될 수도 있다. 이러한 트레이닝에 이어서, 머신 러닝 모델(702)은 태스크 동작 모듈(706)에 의해 활용될 수도 있다. 따라서, 예를 들면, 오프라인 트레이닝에 대한 요청 및/또는 커미트먼트의 이력으로부터의 데이터를 사용하는 트레이닝은, 머신 러닝 모델에 대한 초기 조건으로 작용할 수도 있다. 아래에 설명되는, 특색 추출(featurization)을 수반하는 것과 같은 트레이닝을 위한 다른 기술이 사용될 수도 있다.
도 8은, 다양한 예에 따른, 머신 러닝 시스템(800)의 블록도이다. 머신 러닝 모델(800)은 도 7에서 도시되는 머신 러닝 모델(702)과 동일할 수도 있거나 또는 유사할 수도 있다. 머신 러닝 모델(800)은, 랜덤 포레스트(random forest) 블록(802), 지원 벡터 머신 블록(804) 및 그래픽 모델 블록(806)과 같은 다수의 기능 블록 중 임의의 것을 포함한다. 랜덤 포레스트 블록(802)은, 트레이닝 시간에 결정 트리를 구성하는 것에 의해 동작하는 분류를 위한 앙상블 학습 방법(ensemble learning method)을 포함할 수도 있다. 랜덤 포레스트 블록(802)은, 예를 들면, 개별 트리에 의해 출력되는 클래스의 모드인 클래스를 출력할 수도 있다. 랜덤 포레스트 블록(802)은, 많은 수의 특정한 모델을 생성하기 위해 혼합되고 매칭될 수 있는 여러 개의 상호 교환 가능한 부분을 포함하는 프레임워크로서 기능할 수도 있다. 이러한 프레임워크에서 머신 러닝 모델을 구성하는 것은, 각각의 노드에서 사용되는 결정의 방향을 결정하는 것, 각각의 리프(leaf)에서 사용할 예측자의 타입을 결정하는 것, 각각의 노드에서 최적화할 분할 목표를 결정하는 것, 트리에 임의성을 주입하기 위한 방법을 결정하는 것, 및 등등을 수반한다.
지원 벡터 머신 블록(804)은 머신 러닝 모델(800)에 대한 데이터를 분류한다. 지원 벡터 머신 블록(804)은, 분류 및 회귀 분석을 위해 사용되는 데이터를 분석하고 패턴을 인식하는 관련 학습 알고리즘을 갖는 지도 학습 모델(supervised learning model)로서 기능할 수도 있다. 예를 들면, 두 개의 카테고리 중 하나에 속하는 것으로 각각 마킹되는 트레이닝 데이터의 세트가 주어지면, 지원 벡터 머신 트레이닝 알고리즘은, 새로운 트레이닝 데이터를 하나의 카테고리 또는 다른 카테고리로 할당하는 머신 러닝 모델을 구축한다.
그래픽 모델 블록(806)은 확률 모델로서 기능하는데, 확률 모델의 경우, 그래프는 랜덤 변수 사이의 조건부 의존 구조를 나타낸다. 그래픽 모델은, 분포에서 구조를 발견 및 분석하기 위한 알고리즘을 제공하고 구조화되지 않은 정보를 추출한다. 비텍스트(non-text) 콘텐츠로부터 태스크 콘텐츠를 추론하기 위해 사용될 수도 있는 그래픽 모델의 애플리케이션은, 단지 몇몇 예를 거론하자면, 정보 추출, 음성 인식, 이미지 인식, 컴퓨터 시각, 및 저밀도 패리티 검사 코드의 디코딩을 포함할 수도 있다.
도 9는, 커미트먼트 및 요청 검출 및 관리에서 수반되는 예시적인 온라인 및 오프라인 프로세스(900)를 예시하는 블록도이다. 이러한 프로세스는, 모듈(들)(예를 들면, 114 및/또는 116)을 실행하는 프로세서(예를 들면, 프로세싱 유닛) 또는 상기에서 설명되는 컴퓨팅 디바이스(102)와 같은 컴퓨팅 디바이스에 의해 수행될 수도 있다. "오프라인"은, 지도된/라벨링된(supervised/labeled) 트레이닝 데이터(예를 들면, 라벨링되는 커미트먼트 및 요청 문장을 갖는 이메일의 세트)를 사용하여 머신 러닝 알고리즘이 트레이닝되는 트레이닝 단계를 가리킨다. "온라인"은, 새로운(보지 않은) 이메일로부터 커미트먼트 및 요청을 추출하도록 트레이닝된 모델의 적용을 가리킨다. 특색 추출(featurization) 프로세스(902) 및 모델 러닝 프로세스(model learning process; 904)는 컴퓨팅 디바이스에 의해 오프라인 또는 온라인으로 수행될 수도 있다. 한편, 새로운 메시지(906)를 수신하는 것 및 모델을 적용하는 프로세스(908)는 온라인으로 발생할 수도 있다.
몇몇 예에서, 특색 추출 프로세스(902), 모델 러닝 프로세스(904), 및 모델을 적용하는 프로세스(908) 중 임의의 것 또는 모두가 태스크 동작 모듈(116 또는 302)과 같은 태스크 동작 모듈에 의해 수행될 수도 있다. 다른 실시형태에서, 특색 추출 프로세스(902) 및/또는 모델 러닝 프로세스(904)는 머신 러닝 모듈(예를 들면, 도 1에서 예시되는 머신 러닝 모듈(114))에서 수행될 수도 있고, 모델을 적용하는 프로세스(908)는 태스크 동작 모듈에 의해 수행될 수도 있다.
몇몇 예에서, 특색 추출 프로세스(902)는 도 3에서 예시되는 엔티티(304 내지 324) 중 임의의 것과 같은 다양한 소스로부터 트레이닝 데이터(910) 및 데이터(912)를 수신할 수도 있다. 특색 추출 프로세스(902)는, 분류 가능한 텍스트 단편(text fragment)의 피쳐 세트를 생성할 수도 있다. 이러한 분류는, 예를 들면, 모델 러닝 프로세스(904)에서 사용될 수도 있다. 텍스트 단편은, 하나 이상의 통신(예를 들면, 일반적으로, 트레이닝 데이터(910)의 상대적으로 많은 수의 통신)의 콘텐츠의 일부를 포함할 수도 있다. 예를 들면, 텍스트 단편은, 단어, 용어, 어구, 또는 이들의 조합일 수도 있다. 모델 러닝 프로세스(904)는, 통신에 포함되는, 요청 및 커미트먼트(및 따라서 하나 이상의 비공식 계약)과 같은 태스크 콘텐츠를 검출 및 관리하기 위한 프로세스(908)에서 사용되는 모델을 생성하고 반복적으로 개선하는 머신 러닝 프로세스이다. 예를 들면, 그 모델은 새로운 메시지(906)(예를 들면, 이메일, 텍스트 등)에 적용될 수도 있다. 컴퓨팅 디바이스는, 모델을 새로운 메시지(906)에 적용하는 프로세스(908)와는 비동기적으로, 연속적으로, 때때로, 또는 주기적으로 모델 러닝 프로세스(904)를 수행할 수도 있다. 따라서, 예를 들면, 모델 러닝 프로세스(904)는, 오프라인으로 그리고 모델(또는 모델의 현재 버전)을 메시지(906)에 적용하는 것과 같은 온라인 프로세스와는 독립적으로 모델을 업데이트 또는 향상시킬 수도 있다.
모델을 새로운 메시지(906)에 적용하는 프로세스(908)는, 상기에서 설명되는304 내지 324와 같은 엔티티로부터 수신될 수도 있는 다른 정보(914)의 고려를 수반할 수도 있다. 몇몇 예에서, 다른 소스로부터의 데이터(912)의 적어도 일부는, 다른 정보(914)와 동일할 수도 있다. 모델을 적용하는 프로세스(908)는, 새로운 메시지(906)에 포함되는 태스크 콘텐츠의 검출 및 관리로 나타날 수도 있다. 이러한 태스크 콘텐츠는 커미트먼트 및/또는 요청을 포함할 수도 있다.
도 10은, 태스크 동작 모듈 또는 모듈(들)을 실행하는 프로세서(예를 들면, 프로세싱 유닛)에 의해 수행될 수도 있는 예시적인 태스크 관리 프로세스(1000)의 흐름도이다. 예를 들면, 프로세스(1000)는 도 1에서 예시되는 컴퓨팅 디바이스(102)에 의해 수행될 수도 있고, 보다 구체적으로는, 다른 예에서, 도 3에서 예시되는 태스크 동작 모듈(302)에 의해 수행될 수도 있다.
블록(1002)에서, 태스크 동작 모듈은 전자 메시지의 콘텐츠에서 요청 또는 커미트먼트를 식별할 수도 있다. 예를 들면, 전자 메시지는 이메일, 텍스트 메시지, 비텍스트 콘텐츠, 소셜 미디어 게시물, 및 등등을 포함할 수도 있다. 전자 메시지의 콘텐츠에서 요청 또는 커미트먼트를 식별하는 것은, 예를 들면, 콘텐츠의 하나 이상의 의미에 적어도 부분적으로 기초할 수도 있다. 블록(1004)에서, 태스크 동작 모듈은, 요청 또는 커미트먼트에 적어도 부분적으로 기초하여 비공식 계약을 결정할 수도 있다. 몇몇 예에서, 태스크 동작 모듈은 또한, 적어도 부분적으로 요청 또는 커미트먼트에 기초하여 하나 이상의 데이터 소스를 선택할 수도 있다. 데이터 소스는 도 3의 예에서 설명되는 엔티티(304 내지 324) 중 임의의 것을 포함할 수도 있다. 하나 이상의 데이터 소스는, 단지 몇몇 예를 거론하자면, 제목, 전자 통신의 작성자, 작성자에 관련되는 사람, 시간, 날짜, 이벤트의 이력, 및 조직에 의해 전자 메시지에 관련될 수도 있다.
블록(1006)에서, 태스크 동작 모듈은, 요청 또는 커미트먼트에 적어도 부분적으로 기초하여 하나 이상의 액션을 수행할 수도 있다. 태스크 처리 모듈은, 단지 몇몇 예를 거론하자면, 암시된 태스크를 위해 시간을 차단하는 것, 타인(예를 들면, 메시지 발신자 또는 수신자, 또는 팀 또는 그룹)과의 약속을 스케줄링하는 것, 및 요청 또는 약속에 관해 가장 적절한 시간에 유저에게 상기시키는 것과 같은 액션을 수행할 수도 있다. 몇몇 예에서, 태스크 동작 모듈의 하나 이상의 액션은, 요청에 대한 응답의 적절성을 결정하는 것을 포함할 수도 있다. 예를 들면, 일을 하고 있는 동료 또는 비서로부터의 요청에 대한 응답은, "안됩니다. 지금 당장은 너무 바쁩니다."일 수도 있다. 그러나, 관리자 또는 매니저로부터의 동일한 요청은, 이러한 응답으로 이어지지는 않을 것이다. 따라서, 태스크 동작 모듈은, 요청 및 요청에 관한 정보에 기초하여 적절한 응답을 자동적으로 결정하는 것을 포함할 수도 있다. 이러한 적절한 응답은, 선택 가능한 옵션의 목록으로서 요청의 수신자에게 제공될 수도 있다. 수신자가 하나 이상의 옵션을 선택하는 것에 후속하여, 태스크 동작 모듈은 하나 이상의 태스크 지향 액션을 수행하도록 진행할 수도 있다.
몇몇 예에서, 전자 통신은 오디오, 이미지, 또는 비디오를 포함한다. 변환 모듈은, 전자 통신의 콘텐츠를 생성하도록 오디오, 이미지, 또는 비디오를 대응하는 텍스트로 변환하기 위해 사용될 수도 있다. 전자 통신의 콘텐츠는 태스크 동작 모듈로 제공될 수도 있다. 몇몇 예에서, 태스크 동작 모듈은 프로세스(1000)를 실시간으로 수행할 수도 있다.
도 10에서 예시되는 동작의 흐름은, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있는 동작의 시퀀스를 나타내는 블록 및/또는 화살표의 집합으로서 예시된다. 블록이 설명되는 순서는 제한으로서 간주되도록 의도되지 않으며, 임의의 수의 설명된 동작은, 하나 이상의 방법, 또는 대안적인 방법을 구현하기 위해 임의의 순서로 조합될 수 있다. 추가적으로, 개개의 동작은, 본원에서 설명되는 주제의 취지와 범위를 벗어나지 않으면서 동작의 흐름으로부터 생략될 수도 있다. 소프트웨어의 맥락에서, 블록은, 하나 이상의 프로세서에 의한 실행시, 열거된 동작을 수행하도록 프로세서(들)를 구성하는 컴퓨터 판독 가능 명령어를 나타낸다. 하드웨어의 맥락에서, 블록은 열거된 동작을 실행하도록 구성되는 하나 이상의 회로(예를 들면, FPGA, 주문형 집적 회로 - ASIC, 등등)를 나타낼 수도 있다.
도 10에서 예시되는 동작 흐름에서의 임의의 루틴 설명, 엘리먼트, 또는 블록은, 루틴 내의 특정한 논리적 기능 또는 엘리먼트를 구현하기 위한 하나 이상의 실행 가능 명령어를 포함하는 모듈, 세그먼트 또는, 코드 부분을 나타낼 수도 있다.
예시적인 조항
예 A, 다음의 것을 포함하는 시스템:
A. 다음의 것을 포함하는 시스템: 전자 메시지의 콘텐츠를 수신하기 위한 수신기 포트; 및 전자 메시지의 콘텐츠에서 요청 또는 커미트먼트를 식별하는; 요청 또는 커미트먼트에 적어도 부분적으로 기초하여, 비공식 계약을 결정하는; 그리고 비공식 계약을 관리하기 위한 하나 이상의 액션 - 하나 이상의 액션은 요청 또는 커미트먼트에 적어도 부분적으로 기초함 - 을 실행하는 프로세서.
B. 프로세서는, 요청 또는 커미트먼트에 적어도 부분적으로 기초하여, 하나 이상의 데이터 소스를 조회하도록; 그리고 하나 이상의 데이터 소스의 조회에 응답하여, 하나 이상의 데이터 소스로부터 정보를 수신하도록 구성되고, 요청 또는 커미트먼트를 관리하기 위한 하나 이상의 액션은 또한, 적어도 부분적으로, 하나 이상의 데이터 소스로부터 수신되는 정보에 기초하는, 단락 A가 열거하는 바와 같은 시스템.
C. 하나 이상의 데이터 소스의 정보는 전자 메시지의 콘텐츠의 하나 이상의 작성자의 개인 데이터를 포함하는, 단락 B가 열거하는 바와 같은 시스템.
D. 하나 이상의 액션은, 커미트먼트가 특정한 사람에 의해 이행될 가능성을 결정하는 것을 포함하고, 결정은, 하나 이상의 데이터 소스로부터 수신되는 정보에 적어도 부분적으로 기초하는, 단락 B가 열거하는 바와 같은 시스템.
E. 요청 또는 커미트먼트의 주제는 회의와 관련되고; 하나 이상의 액션은, 하나 이상의 데이터 소스로부터 수신되는 정보에 적어도 부분적으로 기초하여 회의에 대한 참석자 목록 또는 위치를 자동적으로 식별하는 것 또는 수정하는 것을 포함하는, 단락 B가 열거하는 바와 같은 시스템.
F. 하나 이상의 데이터 소스는, 위치 또는 매핑 서비스, 전자 메시지의 콘텐츠의 한 명 이상의 작성자의 개인 데이터, 캘린더 서비스, 또는 회의실 스케줄 서비스 중 적어도 하나를 포함하는, 단락 E가 열거하는 바와 같은 시스템.
G. 하나 이상의 액션은, 전자 메시지의 콘텐츠의 한 명 이상의 작성자의 전자 캘린더를 수정하는 것을 포함하고, 수정은, 한 명 이상의 작성자 사이의 상대적인 관계에 적어도 부분적으로 기초하는, 단락 A가 열거하는 바와 같은 시스템.
H. 프로세서는, 전자 메시지의 콘텐츠에 통계적 모델을 적용하는 것에 의해 하나 이상의 데이터 소스를 선택하도록 구성되는, 단락 B가 열거하는 바와 같은 시스템.
I. 트레이닝 메시지로서 전자 메시지의 콘텐츠 및/또는 하나 이상의 데이터 소스로부터의 정보를 사용하도록 구성되는 머신 러닝 모듈을 더 포함하는, 단락 B가 열거하는 바와 같은 시스템.
J. 다음의 것을 포함하는 방법: 전자 메시지에서 요청 또는 커미트먼트를 식별하는 것; 요청 또는 커미트먼트에 적어도 부분적으로 기초하여 비공식 계약을 결정하는 것; 비공식 계약에 적어도 부분적으로 기초하여 태스크 지향 프로세스를 결정하는 것.
K. 전자 메시지 내의 요청 또는 커미트먼트에 관련되는 정보에 대해 데이터의 하나 이상의 소스를 탐색(searching)하는 것; 및 데이터의 하나 이상의 소스로부터 전자 메시지 내의 요청 또는 커미트먼트에 관련되는 정보를 수신하는 것을 더 포함하고, 태스크 지향 프로세스를 결정하는 것은 또한, 적어도 부분적으로, 하나 이상의 데이터 소스로부터 수신되는 정보에 기초하는, 단락 J가 언급하는 바와 같은 방법.
L. 전자 메시지의 적어도 일부가 생성되고 있는 동안 태스크 지향 프로세스를 결정하는 것을 더 포함하는, 단락 J가 언급하는 바와 같은 방법.
M. 전자 메시지에 관련되는 정보는 전자 메시지의 작성자의 하나 이상의 양태를 포함하는, 단락 K가 언급하는 바와 같은 방법.
N. 요청 또는 커미트먼트와 연관되는 하나 이상의 활동을 추적하는 것; 및 하나 이상의 활동에 응답하여 태스크 지향 프로세스를 수정하는 것을 더 포함하는, 단락 J가 언급하는 바와 같은 방법.
O. 요청 또는 커미트먼트를 추가적인 요청 또는 커미트먼트와 그룹화하여 프로젝트를 형성하는 것을 더 포함하는, 단락 J가 언급하는 바와 같은 방법.
P. 데이터의 하나 이상의 소스는 전자 메시지의 작성자에 대한 전자 캘린더를 포함하고, 커미트먼트를 포함하는 전자 메시지의 적어도 일부를 작성자가 생성하는 동안, 커미트먼트에 영향을 줄 가능성이 있는 시간 제약에 관해 작성자에게 통지하는 것을 더 포함하는, 단락 K가 언급하는 바와 같은 방법.
Q. 다음의 것을 포함하는 컴퓨팅 디바이스: 데이터를 수신 및 전송하기 위한 트랜스시버 포트; 및 전자 메시지에 포함되는 요청 또는 커미트먼트를 검출하는; 하나 이상의 엔티티로부터 정보를 검색하기 위한 조회 - 조회는 요청 또는 커미트먼트에 적어도 부분적으로 기초함 - 를 트랜스시버 포트를 통해 전송하는; 요청 또는 커미트먼트와 연관되는 하나 이상의 태스크 - 하나 이상의 태스크는 검색된 정보에 적어도 부분적으로 기초함 - 을 관리하는 프로세서.
R. 검색된 정보는 일기 예보를 포함하고, 하나 이상의 태스크는 기상 예보에 적어도 부분적으로 기초하여 요청 또는 커미트먼트와 관련되는 스케줄을 수정하는, 단락 Q가 열거하는 바와 같은 컴퓨팅 디바이스.
S. 프로세서는, 전자 메시지 또는 검색된 정보를, 머신 러닝 프로세스에 대한 트레이닝 데이터로서 제공하도록; 그리고 하나 이상의 태스크를 관리하는 것에 머신 러닝 프로세스를 적용하도록 구성되는, 단락 Q가 열거하는 바와 같은 컴퓨팅 디바이스.
T. 하나 이상의 태스크는 일정 기간에 걸쳐 전자 메시지의 한 명 이상의 작성자에 대한 스케줄을 반복적으로 수정하는 것을 포함하는, 단락 Q가 열거하는 바와 같은 컴퓨팅 디바이스.
비록 본 기술이 구조적 피쳐 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부된 청구범위는 설명되는 피쳐 또는 액트에 반드시 제한되지는 않는다는 것이 이해되어야 한다. 오히려, 피쳐 및 액트는 이러한 기술의 예로서 설명된다.
달리 언급되지 않는 한, 상기에서 설명되는 방법 및 프로세스의 모두는, 하나 이상의 범용 컴퓨터 또는 프로세서에 의해 실행되는 소프트웨어 코드 모듈에 의해 전체적으로 또는 부분적으로 구현될 수도 있다. 코드 모듈은 임의의 타입의 컴퓨터 판독 가능 저장 매체 또는 다른 컴퓨터 스토리지 디바이스에 저장될 수도 있다. 방법 중 일부 또는 모두는, 대안적으로, FPGA, ASIC, 등등과 같은 특수한 컴퓨터 하드웨어에 의해 전체적으로 또는 부분적으로 구현될 수도 있다.
조건부 언어, 예컨대, 다른 것들 중에서도, "할 수 있다(can)", "할 수 있을 것이다(could)", "할 수도 있을 것이다(might)" 또는 "할 수도 있다(may)"는, 그렇지 않다고 명시적으로 언급되지 않는 한, 언급된 피쳐, 엘리먼트 및/또는 단계를, 다른 예는 포함하지는 않지만, 소정의 예가 포함한다는 것을 나타내기 위해 사용된다. 따라서, 달리 언급되지 않는 한, 이러한 조건부 언어는, 피쳐, 엘리먼트 및/또는 단계가, 하나 이상의 예에 대해 어떤 식으로든 필요로 된다는 것 또는 이들 피쳐, 엘리먼트 및/또는 단계가 임의의 특정한 예에 포함되는지 또는 임의의 특정한 예에서 수행될 것인지의 여부를, 유저 입력 또는 촉구(prompting)를 통해 또는 유저 입력 또는 촉구 없이, 결정하기 위한 로직을 하나 이상의 예가 반드시 포함한다는 것을 암시하도록 의도되지는 않는다.
어구 "X, Y 또는 Z 중 적어도 하나"와 같은 접속 언어(conjunctive language)는, 그렇지 않다고 명시적으로 언급되지 않는 한, 아이템, 항, 등등이 X, Y, 또는 Z 중 어느 하나 또는 이들의 조합일 수도 있다는 것을 제시하는 것으로 이해되어야 한다.
상기 설명된 예에 대해 많은 변형 및 수정이 이루어질 수도 있는데, 많은 수정 및 변형의 엘리먼트는 다른 허용 가능한 예 중에 있는 것으로 이해되어야 한다. 모든 이러한 모든 변경 및 변형은 본원에서 본 개시의 범위 내에 포함되는 것으로 의도된다.

Claims (15)

  1. 시스템에 있어서,
    전자 메시지의 콘텐츠를 수신하기 위한 수신기 포트; 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 메시지의 상기 콘텐츠에서 요청(request) 또는 커미트먼트(commitment)를 식별하고;
    상기 요청 또는 상기 커미트먼트에 적어도 부분적으로 기초하여, 비공식 계약(informal contract)을 결정하고; 그리고
    상기 비공식 계약을 관리하기 위한 하나 이상의 액션 - 상기 하나 이상의 액션은, 상기 요청 또는 상기 커미트먼트에 적어도 부분적으로 기초함 - 을 실행하는, 시스템.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 요청 또는 상기 커미트먼트에 적어도 부분적으로 기초하여, 하나 이상의 데이터 소스를 조회(query)하도록; 그리고
    상기 하나 이상의 데이터 소스의 상기 조회에 응답하여, 상기 하나 이상의 데이터 소스로부터 정보를 수신하도록 구성되고, 상기 요청 또는 상기 커미트먼트를 관리하기 위한 상기 하나 이상의 액션은 또한, 상기 하나 이상의 데이터 소스로부터 수신되는 상기 정보에 적어도 부분적으로 기초하는, 시스템.
  3. 제2항에 있어서,
    상기 하나 이상의 데이터 소스의 상기 정보는 상기 전자 메시지의 상기 콘텐츠의 하나 이상의 작성자(author)의 개인 데이터(personal data)를 포함하는, 시스템.
  4. 제2항에 있어서,
    상기 하나 이상의 액션은, 특정한 사람에 의해 상기 커미트먼트가 이행될 가능성을 결정하는 것을 포함하고, 상기 결정은, 상기 하나 이상의 데이터 소스로부터 수신되는 상기 정보에 적어도 부분적으로 기초하는, 시스템.
  5. 제2항에 있어서,
    상기 요청 또는 상기 커미트먼트의 주제(subject)는 회의와 관련되고;
    상기 하나 이상의 액션은,
    상기 하나 이상의 데이터 소스로부터 수신되는 상기 정보에 적어도 부분적으로 기초하여 상기 회의에 대한 참석자 목록 또는 위치를 자동적으로 식별 또는 수정하는 것을 포함하는, 시스템.
  6. 제1항에 있어서,
    상기 하나 이상의 액션은,
    상기 전자 메시지의 상기 콘텐츠의 한 명 이상의 작성자의 전자 캘린더를 수정하는 것을 포함하고, 상기 수정은, 상기 한 명 이상의 작성자 사이의 상대적인 관계에 적어도 부분적으로 기초하는, 시스템.
  7. 방법에 있어서,
    전자 메시지 내에서 요청 또는 커미트먼트를 식별하는 단계;
    상기 요청 또는 상기 커미트먼트에 적어도 부분적으로 기초하여 비공식 계약을 결정하는 단계; 및
    상기 비공식 계약에 적어도 부분적으로 기초하여 태스크 지향 프로세스(task-oriented process)를 결정하는 단계를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 전자 메시지 내의 상기 요청 또는 상기 커미트먼트에 관련되는 정보에 대해 데이터의 하나 이상의 소스를 탐색(searching)하는 단계; 및
    데이터의 상기 하나 이상의 소스로부터 상기 전자 메시지 내의 상기 요청 또는 상기 커미트먼트에 관련되는 상기 정보를 수신하는 단계를 더 포함하고,
    상기 태스크 지향 프로세스를 결정하는 단계는 또한, 적어도 부분적으로, 상기 하나 이상의 데이터 소스로부터 수신되는 상기 정보에 기초하는, 방법.
  9. 제7항에 있어서,
    상기 전자 메시지의 적어도 일부가 생성되고 있는 동안 상기 태스크 지향 프로세스를 결정하는 단계를 더 포함하는, 방법.
  10. 제8항에 있어서,
    상기 전자 메시지에 관련되는 상기 정보는 상기 전자 메시지의 작성자의 하나 이상의 양태(aspect)를 포함하는, 방법.
  11. 제7항에 있어서,
    상기 요청 또는 상기 커미트먼트와 연관되는 하나 이상의 활동을 추적하는 단계; 및
    상기 하나 이상의 활동에 응답하여 상기 태스크 지향 프로세스를 수정하는 단계를 더 포함하는, 방법.
  12. 제7항에 있어서,
    상기 요청 또는 상기 커미트먼트를 추가적인 요청 또는 커미트먼트와 그룹화하여 프로젝트를 형성하는 단계를 더 포함하는, 방법.
  13. 제8항에 있어서,
    데이터의 상기 하나 이상의 소스는 상기 전자 메시지의 작성자에 대한 전자 캘린더를 포함하고,
    커미트먼트를 포함하는 상기 전자 메시지의 적어도 일부를 상기 작성자가 생성하는 동안, 상기 커미트먼트에 영향을 줄 가능성이 있는 시간 제약에 관해 상기 작성자에게 통지하는 단계를 더 포함하는, 방법.
  14. 컴퓨팅 디바이스에 있어서,
    데이터를 수신 및 송신하기 위한 트랜스시버 포트; 및
    프로세서를 포함하고,
    상기 프로세서는,
    전자 메시지 내에 포함되는 요청 또는 커미트먼트를 검출하고;
    하나 이상의 엔티티로부터 정보를 검색(retrieving)하기 위한 조회 - 상기 조회는 상기 요청 또는 상기 커미트먼트에 적어도 부분적으로 기초함 - 를 상기 트랜스시버 포트를 통해 전송하고;
    상기 요청 또는 상기 커미트먼트와 연관되는 하나 이상의 태스크 - 상기 하나 이상의 태스크는 상기 검색된 정보에 적어도 부분적으로 기초함 - 를 관리하는, 컴퓨팅 디바이스.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 전자 메시지 또는 상기 검색된 정보를, 머신 러닝 프로세스에 대한 트레이닝 데이터로서 제공하도록; 그리고
    상기 하나 이상의 태스크를 관리하는 것에 상기 머신 러닝 프로세스를 적용하도록 구성되는, 컴퓨팅 디바이스.
KR1020177035229A 2015-05-15 2016-05-04 통신 및 콘텐츠로부터 추출되는 커미트먼트 및 요청의 관리 KR20180006403A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/714,109 US20160335572A1 (en) 2015-05-15 2015-05-15 Management of commitments and requests extracted from communications and content
US14/714,109 2015-05-15
PCT/US2016/030615 WO2016186834A1 (en) 2015-05-15 2016-05-04 Management of commitments and requests extracted from communications and content

Publications (1)

Publication Number Publication Date
KR20180006403A true KR20180006403A (ko) 2018-01-17

Family

ID=56008863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177035229A KR20180006403A (ko) 2015-05-15 2016-05-04 통신 및 콘텐츠로부터 추출되는 커미트먼트 및 요청의 관리

Country Status (17)

Country Link
US (1) US20160335572A1 (ko)
EP (1) EP3295394A1 (ko)
JP (1) JP2018522325A (ko)
KR (1) KR20180006403A (ko)
CN (1) CN106168950A (ko)
AU (1) AU2016265409A1 (ko)
BR (1) BR112017021925A2 (ko)
CA (1) CA2983109A1 (ko)
CL (1) CL2017002839A1 (ko)
CO (1) CO2017011525A2 (ko)
HK (1) HK1245465A1 (ko)
IL (1) IL254939A0 (ko)
MX (1) MX2017014611A (ko)
PH (1) PH12017550118A1 (ko)
RU (1) RU2017134371A (ko)
WO (1) WO2016186834A1 (ko)
ZA (1) ZA201706757B (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984387B2 (en) 2011-06-28 2021-04-20 Microsoft Technology Licensing, Llc Automatic task extraction and calendar entry
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
US10361981B2 (en) 2015-05-15 2019-07-23 Microsoft Technology Licensing, Llc Automatic extraction of commitments and requests from communications and content
US20160350689A1 (en) * 2015-05-29 2016-12-01 Nhn Entertainment Corporation System and method for providing task tracking
US9904714B2 (en) * 2015-06-30 2018-02-27 International Business Machines Corporation Crowd sourcing of device sensor data for real time response
US20170083849A1 (en) * 2015-09-21 2017-03-23 International Business Machines Corporation Generating a database of skills
US10733529B1 (en) * 2015-11-15 2020-08-04 Google Llc Methods and apparatus for determining original electronic messages that contain asks
US10282417B2 (en) * 2016-02-19 2019-05-07 International Business Machines Corporation Conversational list management
US10140291B2 (en) 2016-06-30 2018-11-27 International Business Machines Corporation Task-oriented messaging system
US10331677B1 (en) * 2016-08-25 2019-06-25 Dazah Holdings, LLC Contextual search using database indexes
WO2018102993A1 (zh) * 2016-12-06 2018-06-14 深圳市唯德科创信息有限公司 一种任务的管理方法及系统
US11907272B2 (en) * 2017-02-17 2024-02-20 Microsoft Technology Licensing, Llc Real-time personalized suggestions for communications between participants
US10565564B2 (en) 2017-03-08 2020-02-18 International Business Machines Corporation Rescheduling flexible events in an electronic calendar
US10346530B2 (en) * 2017-03-10 2019-07-09 Microsoft Technology Licensing, Llc Embedded meeting extensions
US11282006B2 (en) * 2017-03-20 2022-03-22 Microsoft Technology Licensing, Llc Action assignment tracking using natural language processing in electronic communication applications
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
US20190012629A1 (en) * 2017-07-10 2019-01-10 Findo, Inc. Team performance supervisor
US10679192B2 (en) * 2017-05-25 2020-06-09 Microsoft Technology Licensing, Llc Assigning tasks and monitoring task performance based on context extracted from a shared contextual graph
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US10785222B2 (en) 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US10601937B2 (en) * 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
CN107896282B (zh) * 2017-11-28 2019-12-27 维沃移动通信有限公司 一种日程查看方法、装置及终端
US10511554B2 (en) 2017-12-05 2019-12-17 International Business Machines Corporation Maintaining tribal knowledge for accelerated compliance control deployment
US11062088B2 (en) * 2017-12-12 2021-07-13 International Business Machines Corporation Contextual automation of information technology change services
US10659399B2 (en) * 2017-12-22 2020-05-19 Google Llc Message analysis using a machine learning model
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US20190251417A1 (en) * 2018-02-12 2019-08-15 Microsoft Technology Licensing, Llc Artificial Intelligence System for Inferring Grounded Intent
US11113672B2 (en) * 2018-03-22 2021-09-07 Microsoft Technology Licensing, Llc Computer support for meetings
US10999230B2 (en) * 2018-05-23 2021-05-04 Microsoft Technology Licensing, Llc Relevant content surfacing in computer productivity platforms
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
US11095596B2 (en) * 2018-10-26 2021-08-17 International Business Machines Corporation Cognitive request management
US11575762B2 (en) * 2018-12-05 2023-02-07 Yahoo Assets Llc Subscription-based message selection and transmission
US11438284B2 (en) * 2018-12-11 2022-09-06 Yahoo Assets Llc Communication with service providers using disposable email accounts
US10902490B2 (en) * 2018-12-28 2021-01-26 Cdw Llc Account manager virtual assistant using machine learning techniques
US11257499B2 (en) * 2019-02-01 2022-02-22 Uniphore Technologies Inc. Promise management apparatus and method
WO2020171295A1 (ko) * 2019-02-20 2020-08-27 엘지전자 주식회사 이동단말기 및 그 제어 방법
US11107020B2 (en) * 2019-03-15 2021-08-31 Microsoft Technology Licensing, Llc Intelligent task suggestions based on automated learning and contextual analysis of user activity
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
US11379529B2 (en) * 2019-09-09 2022-07-05 Microsoft Technology Licensing, Llc Composing rich content messages
US10735212B1 (en) * 2020-01-21 2020-08-04 Capital One Services, Llc Computer-implemented systems configured for automated electronic calendar item predictions and methods of use thereof
US11288636B2 (en) * 2020-01-23 2022-03-29 Capital One Services, Llc Computer-implemented systems configured for automated electronic calendar item predictions for calendar item rescheduling and methods of use thereof
CN113709304B (zh) * 2020-05-06 2022-08-12 荣耀终端有限公司 一种智能提醒方法及设备
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
BR102021014397A2 (pt) * 2021-07-21 2023-01-31 Farah Ossaille Nicolau Sistema e processo de gerenciamento de instruções, comunicações e tarefas pré-programadas em um dispositivo eletrônico
US11601389B1 (en) 2022-01-10 2023-03-07 Kyndryl, Inc. Email system with action required and follow-up features
US20230333959A1 (en) * 2022-04-18 2023-10-19 Capital One Services, Llc Systems and methods for inactivity-based failure to complete task notifications
US11855949B2 (en) * 2022-05-10 2023-12-26 Yahoo Ad Tech Llc Companion user accounts
CN116797186B (zh) * 2023-08-25 2023-12-15 上海甄零科技有限公司 承诺管理方法、装置、设备及存储介质

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146381B1 (en) * 1997-02-10 2006-12-05 Actioneer, Inc. Information organization and collaboration tool for processing notes and action requests in computer systems
KR20020021748A (ko) * 2000-09-16 2002-03-22 이우진 미팅을 위한 개인 정보 자동 제공 시스템
US20040012638A1 (en) * 2002-05-24 2004-01-22 Donnelli Richard K. System and method of electronic commitment tracking
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US8180663B2 (en) * 2005-06-28 2012-05-15 Microsoft Corporation Facilitating automated meeting scheduling
US7660859B2 (en) * 2005-08-15 2010-02-09 Microsoft Corporation Tracking of electronic mail messages
US7869941B2 (en) * 2006-12-29 2011-01-11 Aol Inc. Meeting notification and modification service
US9686367B2 (en) * 2007-03-15 2017-06-20 Scenera Technologies, Llc Methods, systems, and computer program products for providing predicted likelihood of communication between users
US8082151B2 (en) * 2007-09-18 2011-12-20 At&T Intellectual Property I, Lp System and method of generating responses to text-based messages
US20090083112A1 (en) * 2007-09-24 2009-03-26 International Business Machines Corporation Automated Event Modification in Electronic Calendar Systems
US8108206B2 (en) * 2008-07-01 2012-01-31 International Business Machines Corporation Auto-generated to-do list
US20110145823A1 (en) * 2009-12-10 2011-06-16 The Go Daddy Group, Inc. Task management engine
US20120245925A1 (en) * 2011-03-25 2012-09-27 Aloke Guha Methods and devices for analyzing text
US9760566B2 (en) * 2011-03-31 2017-09-12 Microsoft Technology Licensing, Llc Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof
US20120296832A1 (en) * 2011-05-16 2012-11-22 Sap Ag Defining agreements using collaborative communications
US9460095B2 (en) * 2011-11-28 2016-10-04 Microsoft Technology Licensing, Llc Quick capture of to-do items
US8762468B2 (en) * 2011-11-30 2014-06-24 At&T Mobility Ii, Llc Method and apparatus for managing communication exchanges
US9633114B1 (en) * 2011-12-08 2017-04-25 Google Inc. Inbox for task management
US9275342B2 (en) * 2012-04-09 2016-03-01 24/7 Customer, Inc. Method and apparatus for intent modeling and prediction
US20150143258A1 (en) * 2012-09-20 2015-05-21 Handle, Inc. Email and task management services and user interface
US20140136256A1 (en) * 2012-11-15 2014-05-15 OrgSpan, Inc. Methods for Identifying Subject Matter Expertise Across An Organization Hierarchy
US9313162B2 (en) * 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
US9514448B2 (en) * 2012-12-28 2016-12-06 Intel Corporation Comprehensive task management
US9953304B2 (en) * 2012-12-30 2018-04-24 Buzd, Llc Situational and global context aware calendar, communications, and relationship management
US9170993B2 (en) * 2013-01-29 2015-10-27 Hewlett-Packard Development Company, L.P. Identifying tasks and commitments using natural language processing and machine learning
US20140215472A1 (en) * 2013-01-29 2014-07-31 Hewlett-Packard Development Company, L.P. Task management
US9432517B2 (en) * 2013-02-07 2016-08-30 Avaya Inc. Methods, apparatuses, and systems for generating an action item in response to a detected audio trigger during a conversation
US8825474B1 (en) * 2013-04-16 2014-09-02 Google Inc. Text suggestion output using past interaction data
US9177318B2 (en) * 2013-04-22 2015-11-03 Palo Alto Research Center Incorporated Method and apparatus for customizing conversation agents based on user characteristics using a relevance score for automatic statements, and a response prediction function
US9378196B1 (en) * 2013-06-27 2016-06-28 Google Inc. Associating information with a task based on a category of the task
US10162884B2 (en) * 2013-07-23 2018-12-25 Conduent Business Services, Llc System and method for auto-suggesting responses based on social conversational contents in customer care services
US9094361B2 (en) * 2013-07-26 2015-07-28 Jive Software, Inc. Conversation-integrated action items in social networks
CN103440571B (zh) * 2013-09-03 2016-10-26 盈世信息科技(北京)有限公司 一种邮件日程助手处理方法
US9127957B2 (en) * 2013-10-17 2015-09-08 Cubic Corporation Interactive day planner
US9213941B2 (en) * 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
AU2015266863B2 (en) * 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
WO2016003469A1 (en) * 2014-07-03 2016-01-07 Nuance Communications, Inc. System and method for suggesting actions based upon incoming messages
US20160086268A1 (en) * 2014-09-22 2016-03-24 Chicago Mercantile Exchange Inc. Electronic market message management of multiple-action messages
US20160104094A1 (en) * 2014-10-09 2016-04-14 Microsoft Corporation Future meeting evaluation using implicit device feedback
US10402794B2 (en) * 2014-10-31 2019-09-03 Square, Inc. Money transfer in a forum using a payment proxy
US11349790B2 (en) * 2014-12-22 2022-05-31 International Business Machines Corporation System, method and computer program product to extract information from email communications
US9904669B2 (en) * 2016-01-13 2018-02-27 International Business Machines Corporation Adaptive learning of actionable statements in natural language conversation

Also Published As

Publication number Publication date
CO2017011525A2 (es) 2018-01-31
US20160335572A1 (en) 2016-11-17
RU2017134371A3 (ko) 2019-10-22
RU2017134371A (ru) 2019-04-03
WO2016186834A1 (en) 2016-11-24
PH12017550118A1 (en) 2018-02-26
IL254939A0 (en) 2017-12-31
BR112017021925A2 (pt) 2018-07-03
AU2016265409A1 (en) 2017-10-26
CL2017002839A1 (es) 2018-04-13
JP2018522325A (ja) 2018-08-09
ZA201706757B (en) 2019-02-27
CA2983109A1 (en) 2016-11-24
HK1245465A1 (zh) 2018-08-24
CN106168950A (zh) 2016-11-30
EP3295394A1 (en) 2018-03-21
MX2017014611A (es) 2018-03-01

Similar Documents

Publication Publication Date Title
KR20180006403A (ko) 통신 및 콘텐츠로부터 추출되는 커미트먼트 및 요청의 관리
JP6971853B2 (ja) コミュニケーション及びコンテンツからのコミットメント及びリクエストの自動抽出
US20170193349A1 (en) Categorizationing and prioritization of managing tasks
US10706233B2 (en) System and method for extracting and utilizing information from digital communications
US10755195B2 (en) Adaptive, personalized action-aware communication and conversation prioritization
US20200005248A1 (en) Meeting preparation manager
US20190180195A1 (en) Systems and methods for training machine learning models using active learning
US8554596B2 (en) System and methods for managing complex service delivery through coordination and integration of structured and unstructured activities
US10397157B2 (en) Message management in a social networking environment
US20170039527A1 (en) Automatic ranking and scoring of meetings and its attendees within an organization
US9922295B2 (en) Method for evolving shared to-do lists into business processes
US9893905B2 (en) Collaborative platform for teams with messaging and learning across groups
US10366359B2 (en) Automatic extraction and completion of tasks associated with communications
Sidorova et al. The role of information technology in business process management
Jahanbakhsh et al. Understanding questions that arise when working with business documents
Salaou et al. Archetypes of delay: An analysis of online developer conversations on delayed work items in IBM Jazz
Xu et al. Interoperative end-user process modelling for process collaborative manufacturing
Dippelreiter Semantic based Project Management
US20110153642A1 (en) Client Relationship Management