KR20180008717A - 통신 및 콘텐츠로부터 확약 및 요청의 자동 추출 - Google Patents

통신 및 콘텐츠로부터 확약 및 요청의 자동 추출 Download PDF

Info

Publication number
KR20180008717A
KR20180008717A KR1020177036288A KR20177036288A KR20180008717A KR 20180008717 A KR20180008717 A KR 20180008717A KR 1020177036288 A KR1020177036288 A KR 1020177036288A KR 20177036288 A KR20177036288 A KR 20177036288A KR 20180008717 A KR20180008717 A KR 20180008717A
Authority
KR
South Korea
Prior art keywords
content
message
request
commitment
user
Prior art date
Application number
KR1020177036288A
Other languages
English (en)
Other versions
KR102478657B1 (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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20180008717A publication Critical patent/KR20180008717A/ko
Application granted granted Critical
Publication of KR102478657B1 publication Critical patent/KR102478657B1/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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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
    • 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/103Workflow collaboration or project management
    • 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]
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes

Abstract

전자 통신의 콘텐츠를 분석하는 시스템은 자동으로 전자 통신으로부터 요청 또는 확약을 추출할 수 있다. 일례의 프로세스에서, 프로세싱 컴포넌트는 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정하고; 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회하며; 적어도 부분적으로 (i) 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 기초하여, 콘텐츠로부터 요청 또는 확약을 자동으로 식별하고 추출한다. 초기 인식 및 추출 후에, 요청 또는 확약에 대한 설명의 확인과 개선, 및 발신자, 송신자 또는 다른 사람 중 하나 이상을 도와 추가 메시지, 미리 알림, 약속 또는 할 일 목록의 생성을 비롯하여 요청이나 확약을 추적하고 해결하는 액션을 포함하는 복수의 액션이 뒤따른다.

Description

통신 및 콘텐츠로부터 확약 및 요청의 자동 추출
전자 통신은 사회 및 비즈니스 상호 작용의 중요한 형태가 되었다. 이러한 전자 통신은, 몇 가지 예를 들자면, 이메일, 캘린더, SMS 텍스트 메시지, 음성 메일, 이미지, 비디오 및 기타 디지털 통신 및 콘텐츠를 포함한다. 전자 통신은 여러 컴퓨팅 장치 중 어느 하나에서 사용자에 의해 자동 또는 수동으로 생성된다.
본 개시는, 사용자들 사이의 메시지와 같은 전자 통신에서 요청(request) 및 확약(commitment)을 식별하기 위한 기법 및 아키텍처를 기술한다. 예를 들어, 두 사람 사이의 이메일 교환은, 첫 번째 사람이 작업을 수행하라는 요청을 두 번째 사람에게 보내는 것과 두 번째 사람이 작업을 수행하겠다는 확약을 나타내는 메시지로 응답하는 것의 텍스트를 포함할 수 있다. 이메일 교환은, 시스템이 작업을 수행하도록 하는 요청 및/또는 수신자에 의한 작업을 수행하기로 하는 확약의 존재를 자동으로 결정하고 또한 요청을 발신한 사람 및 작업을 수행하거나 또는 작업 완료에 기여하기로 하는 확약으로 응답하는 개인 또는 사람들의 신원을 결정하기에 충분한 정보를 전달할 수 있다. 이메일 교환이 요청 및/또는 확약의 존재를 결정하기에 충분한 정보를 전달하지 않으면, 시스템은 이메일 교환의 하나 이상의 부분과 관련될 수 있는 다른 정보 소스에 조회할 수 있다. 예를 들어, 시스템은 이메일의 유지된 "스레드"에 포함된 것과 같은 보다 긴 메시지 이력을 조사하거나, 또는 이메일 교환 작성자 중 한 명 또는 둘 모두의 캘린더나 데이터베이스에 추가 정보를 조회할 수 있다. 시스템은 또한, 어느 한쪽에 대해 어느 수준의 불확실성이 있으면 작업 수행에 대한 잠재적인 요청 또는 확약의 존재에 대해서 통신에 관련된 한 명 이상의 사용자에게 확인을 구할 수 있다.
본 발명의 내용은 아래의 발명을 실시하기 위한 구체적인 내용에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 발명의 내용은 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 사용하고자 함도 아니다. 예를 들어, "기법(technique)"이라는 용어는 시스템(들), 방법(들), 컴퓨터로 판독 가능한 명령어, 모듈(들), 알고리즘, 하드웨어 로직(예컨대, FPGA(Field-Programmable Gate Array), ASIC(Application-specific Integrated Circuit), ASSP(Application-Specific Standard Product), SOC(System-on-a-Chip system), CPLD(Complex Programmable Logic Device)) 및/또는 위 문맥 및 문서 전체에 걸쳐 허용하는 기타 기법을 지칭할 수 있다.
상세한 설명은 첨부된 도면을 참조하여 설명된다. 도면에서, 참조 번호의 가장 왼쪽 숫자는 참조 번호가 처음 나타나는 도면을 나타낸다. 상이한 도면에서 동일한 참조 번호는 유사하거나 동일한 항목을 나타낸다.
도 1은 본원에 개시된 기법들이 구현될 수 있는 예시적인 환경을 도시한 블록도이다.
도 2는 예시적인 작업 추출 프로세스에 적용되는 전자 통신을 나타내는 블록도이다.
도 3은 요청 및 확약의 예시적인 텍스트 스레드 및 작업 추출 프로세스를 포함하는 전자 통신을 나타내는 블록도이다.
도 4는 메시지, 확약 및 요청 간의 예시적인 관계를 나타내는 표이다.
도 5는 예시적인 추출 모듈과 통신할 수 있는 다수의 정보 소스의 블록도이다.
도 6은 비텍스트(non-text) 통신에 작용하는 예시적인 추출 모듈의 블록도이다.
도 7은 예시적인 기계 학습 시스템의 블록도이다.
도 8은 예시적인 기계 학습 모델의 블록도이다.
도 9는 확약 및 요청 추출을 위한 온라인 및 오프라인 프로세스의 예를 도시하는 블록도이다.
도 10은 예시적인 작업 추출 프로세스의 흐름도이다.
다양한 예들은, 무엇보다도 하나 이상의 사용자 사이의 메시지(예컨대, 단일 사용자가 자신에게 또는 하나 이상의 다른 사용자에게 메시지를 전송할 수 있다)와 같이, 전자 통신으로부터의 작업의 추출을 수행하는 시스템을 위한 기법 및 아키텍처를 기술한다. 예를 들어, 두 사람 사이의 이메일 교환은 첫 번째 사람이 두 번째 사람에게 작업을 수행하라는 요청을 보내는 것과 두 번째 사람이 작업을 수행하겠다는 확약을 하는(예컨대, 동의하는) 것의 텍스트를 포함할 수 있다. 이메일 교환은 시스템이 작업 수행 요청 및/또는 작업 수행 확약의 존재를 자동으로 결정하기에 충분한 정보를 전달할 수 있다. 일부 구현 예에서, 이메일 교환은 요청 및/또는 확약의 존재를 결정하기에 충분한 정보를 전달하지 않는다. 이 경우이든 아니든, 시스템은 이메일 교환의 하나 이상의 부분과 관련될 수 있는 다른 정보 소스에 조회할 수 있다. 예를 들어, 시스템은 이메일 교환의 작성자 중 하나 또는 둘 모두에 의해 또는 다른 사람에 의해 교환된 다른 메시지를 검사할 수 있다. 시스템은 또한 보다 큰 규모의 이메일 및 다른 메시지를 검사할 수도 있다. 다른 메시지 외에, 시스템은 추가 정보를 위해 이메일 교환의 작성자 중 한쪽 또는 양쪽 모두의 캘린더나 데이터베이스에 조회할 수 있다. 일부 구현 예에서, 시스템은 작성자 중 하나 또는 둘 모두의 각각의 위치에서 트래픽 또는 기상 조건을 조회할 수 있다.
본원에서, "추출(extract)"은 통신에서 요청 또는 확약을 결정하는 것을 기술하기 위해 사용된다. 예를 들어, 시스템은 일련의 텍스트 메시지로부터 요청 또는 확약을 추출할 수 있다. 여기서, 시스템은 일련의 텍스트 메시지로부터 요청 또는 확약을 결정 또는 식별하지만, 반드시 일련의 텍스트 메시지로부터 요청 또는 확약을 제거하지는 않는다. 즉, 본원에서 사용된 문맥에서 "추출"은 특정 실시예에서 달리 기술하지 않는 한, "제거"를 의미하지 않는다.
본원에서, 통신으로부터 요청 및/또는 확약을 추출하는 프로세스는 "작업 콘텐츠(task content)"를 추출하는 프로세스로서 설명될 수 있다. 즉, 본 명세서에 기재된 "작업 콘텐츠"는 통신의 의미로 전달되는 요청 및 확약의 조합을 포함하는 하나 이상의 요청, 하나 이상의 확약 및/또는 프로젝트를 말한다. 다양한 구현 예에서, 확약 및 요청 간의 상호 작용이 식별되고 추출될 수 있다. 이러한 상호 작용은, 예를 들어, 요청자에 대한 확약이 요청자 및/또는 제3자(예컨대, 개인, 그룹, 처리 컴포넌트 등)에 대한 하나 이상의 요청을 생성하는 경우일 수 있다. 예를 들면, 엔지니어링 관리자로부터의 생산 수율 분석 완료 요청에 대한 확약은 생산 데이터를 위해 제조 팀으로 보내는 2차 요청을 생성할 수 있다.
다양한 구현 예에서, 프로세스는 확약 또는 요청을 포함하는 텍스트 조각을 추출할 수 있다. 예를 들어, 단락이 그 단락의 두 번째 문장에 확약이나 요청을 포함할 수 있다. 또한 프로세스는, 단락의 세 번째 문장이나 또는 다양한 단어 구문과 같이, 확약 또는 요청을 포함하는 텍스트 조각, 문장 또는 단락을 추출할 수 있다.
다양한 구현 예에서, 프로세스는 추출된 작업 콘텐츠(예컨대, 요청 또는 확약)를 사람들의 신원 및 추출된 작업 콘텐츠와 연관된 하나 이상의 위치로 증강시킬(augment) 수 있다. 예를 들어, 추출된 요청은 요청자 및/또는 "피요청자(들)"의 신원, 관련 위치(들), 시간/날짜 등과 같은 추가 정보와 함께 저장되거나 처리될 수 있다.
일단 컴퓨팅 시스템에 의해 식별되고 추출되면, 통신의 작업 콘텐츠(예컨대, 확약 또는 요청의 제안 또는 확인)는 확약 또는 요청의 의미 체계(semantics)를 식별 또는 추론하기 위해 추가로 처리되거나 분석될 수 있는데, 이는 요청 또는 확약의 주 소유자(예컨대, 통신 당사자가 아닌 경우); 작업 콘텐츠와 그 속성(예컨대, 설명 또는 요약)의 특성; 지정된 또는 추론된 관련 날짜(예컨대, 확약 또는 요청 완료를 위한 기한); 최초 응답이나 후속 메시지와 같은 관련 응답 및 이들의 예상 타이밍(예컨대, 인사말이 예상될 때마다 또는 사람들 사이에서 작업 완료를 위한 효율적 통신시 또는 조직마다); 및 요청을 만족시키기 위해 사용되는 정보 자원을 식별하는 것을 포함한다. 이러한 정보 자원은, 예를 들어 시간, 사람, 위치 등에 관한 정보를 제공할 수 있다. 식별된 작업 콘텐츠 및 작업 콘텐츠에 대한 추론은 미리 알림(reminder), 할 일 목록(to-do list)의 수정(예컨대, 디스플레이), 약속, 모임 요청, 및 기타 시간 관리 활동과 같은 자동(예컨대, 컴퓨터로 생성된) 서비스를 실행하는 데 사용될 수 있다. 일부 예에서, 이러한 자동 서비스는, 메시지 작성(예컨대, 이메일 또는 텍스트의 타이핑), 메시지 읽기, 또는 서버 또는 클라이언트 장치에서 이메일을 오프라인 처리하는 동안과 같은 다른 시간에, 적용될 수 있다. 요청 또는 확약에 대한 최초 추출 및 추론은 또한, 하나 이상의 참가자와 협력하여 적어도 부분적으로 누락된 정보 또는 통신에서 탐지되거나 추론된 하나 이상의 속성에 대한 불확실성의 식별에 기초하여 요청 또는 확약에 대한 현재의 이해 또는 추론 및 요청 또는 확약의 상태를 확인하거나 개선하는, 자동화된 서비스를 호출할 수 있다.
일부 예에서, 작업 콘텐츠는 대인 통신(예컨대, 이메일, SMS 텍스트, 인스턴트 메시징, 전화 통화, 소셜 미디어에서의 게시 등)을 캡처한 디지털 콘텐츠 및 작성된 콘텐츠(예컨대, 이메일, 워싱턴 레드몬드에 있는 마이크로소프트사의 OneNote®와 같은 노트 작성 및 조직 툴, 워드 프로세싱 문서 등)를 포함하는 다수 형태의 통신으로부터 추출될 수 있다.
후술하는 바와 같이, 다양한 형태의 전자 통신으로부터 작업 콘텐츠를 식별 및 추출하기 위한 몇몇 예시적인 기법은 전자 통신의 콘텐츠의 언어 분석을 포함할 수 있는데, 여기에 인간 주석자(human annotation)가 확약 또는 요청을 포함하는 것으로 주석을 달 수 있다. 인간 주석은 확약 또는 요청의 자동 추출 및 확약 또는 요청에 대한 다양한 속성을 구축하고 테스트하는 데 사용되는 트레이닝 데이터의 코퍼스를 생성하는 프로세스에 사용될 수 있다. 기법은 또한 인간이 생성한 레이블(예컨대, 이메일 참여 데이터 또는 비교적 정교한 추출 방법을 기반으로 함)에 대한 프록시를 포함할 수 있다. 추출 시스템에서 사용되는 방법을 개발하거나 작업이나 확약 및 특성을 식별 및/또는 추론하는 방법의 실시간 사용을 위해, 분석은 정교한 스펙트럼을 따르는 상이한 지점에서 자연 언어 처리(NLP) 분석을 포함할 수 있다. 예를 들어, 상대적으로 낮은 수준의 정교성을 가진 분석은 간단한 단어 분리 및 형태소 분석을 기반으로 키워드를 식별하는 것을 포함할 수 있다. 상대적으로 중간 정도의 정교성을 가진 분석은 보다 큰 단어 집합("단어 모음(bag of word)")의 분석에 대한 고려를 포함할 수 있다. 상대적으로 높은 수준의 정교성을 갖는 분석은 통신에서 문장을 구문 분석 트리 및 논리적 형식으로 정교하게 파싱하는 것을 포함할 수 있다. 작업 콘텐츠를 식별하고 추출하는 기법은 메시지의 구성 요소 및 메시지의 문장의 속성 또는 "특성(feature)"을 식별하는 것을 포함할 수 있다. 이러한 기법은 메시지의 구성 요소를 분류하기 위한 통계 모델을 구축하기 위해 트레이닝 및 테스팅 패러다임에서 이들 특성을 이용할 수 있다. 예를 들어, 이러한 구성 요소는 요청 및/또는 확약을 포함하는 문장 또는 전체 메시지를 포함할 수 있고 또한 요청 및/또는 확약을 가장 잘 설명하는 텍스트를 식별 및/또는 요약할 수 있다.
일부 예에서, 추출 기법은 문장 중심 접근법, 메시지 내의 복수 문장의 고려 및 비교적 긴 통신 스레드의 글로벌 분석을 사용하는 것을 포함하는 분석 계층 구조를 포함할 수 있다. 일부 구현 예에서, 그러한 비교적 긴 통신 쓰레드는 일정 기간 동안의 메시지 세트, 및 스레드 및 장기간 통신(예컨대, 수 일, 수 주, 수 개월 또는 수 년 동안)의 세트를 포함할 수 있다. 특정 통신과 연관된 복수의 콘텐츠 소스가 고려될 수 있다. 그러한 소스는 특정 통신과 연관된 사람들의/사람들 사이의 히스토리 및/또는 관계, 일정 기간 동안 사람들의 위치, 사람들의 캘린더 정보, 그리고 조직의 여러 측면 및 사람들과 연관된 조직 구조의 세부 사항을 포함할 수 있다.
일부 예에서, 기법은 콘텐츠의 구성 요소로부터 식별된 요청 또는 확약을 요청 또는 확약의 대표로서 직접 고려할 수도 있고, 또는 더 요약될 수 있다. 기법은 문장이나 또는 보다 긴 메시지에서, 관련 날짜(예컨대, 요청 또는 확약 마감일), 위치, 긴급성, 시간 요건, 작업 주제(예컨대, 프로젝트) 및 사람들을 비롯한 다른 정보를 추출할 수 있다. 일부 구현 예에서 추출된 작업 콘텐츠의 특성은 메시지의 특정 작성자에게 확약 및/또는 요청을 귀속시킴으로써 결정된다. 이는, 예컨대 복수의 수신자가 있는 다자간(multi-party) 이메일의 경우에 특히 유용할 수 있다.
메시지 텍스트 외에, 기법은, 몇 개의 예를 들면, 이미지 및 다른 그래픽 콘텐츠, 메시지의 구조, 제목 헤더, 메시지 길이, 메시지 내 문장 또는 구문의 위치, 메시지를 보낸 날짜/시간, 및 메시지의 발신자 및 수신자에 대한 정보와 같은 추출 및 요약에 대한 다른 정보를 고려할 수 있다. 기법은 메시지 자체의 특성(예컨대, 수신자 수, 응답 수, 전체 길이 등) 및 컨텍스트(예컨대, 요일)를 고려할 수도 있다. 일부 구현 예에서, 한 기법은 발신자 또는 수신자(들) 및 통신 및/또는 조직 구조의 이력에 적어도 부분적으로 기초하여, 후보 메시지/콘텐츠 또는 결과 추출의 초기 분석을 더욱 정제하거나 우선순위화할 수 있다.
일부 예에서, 기법은 현재 통신(예컨대, 이메일, 텍스트 등) 외에 다양한 통신의 특징을 분석하는 것을 포함할 수 있다. 예를 들어, 기법은, 커뮤니티 스레드의 초기 부분이 확약 또는 요청을 포함하는지 여부, 통신 스레드의 두(또는 그 이상의) 사용자 간에 이전에 만들어진 확약 및/또는 요청의 수 등과 같은 확약 및 요청 간의 상호 작용을 고려할 수 있다.
일부 예에서, 기법은 조건부 작업 콘텐츠 확약 또는 요청을 포함하는 다양한 통신 특징을 분석하는 것을 포함할 수 있다. 예를 들어, 조건부 확약은 "내가 그를 만나면, 그에게 알려줄께(If I see him, I'll let him know)"일 수 있다. 조건부 요청은 "내일 날씨가 맑으면 집에 페인트칠 좀 해(If the weather is clear tomorrow, please paint the house)"일 수 있다.
일부 예에서, 기법은 마감일, 작업 콘텐츠와 연관된 사람들의 식별자(예컨대, 이름, ID 번호 등) 및 작업 콘텐츠에서 언급된 장소와 같은 추가 정보로 추출된 작업 콘텐츠(예컨대, 확약 및/또는 요청)를 보완하는 것을 포함할 수 있다.
일부 예에서, 컴퓨팅 시스템은 문장 또는 메시지의 주석이 달린 코퍼스(예컨대, 기계 학습 특징)의 트레이닝 세트를 조작하는 기계 학습 절차를 사용하여 요청 및 확약 및 관련 정보를 식별하고 추출하기 위한 예측 모델을 구성할 수 있다. 다른 예에서, 컴퓨팅 시스템은 추출 및 요약을 수행하기 위해 비교적 간단한 규칙 기반 접근법을 사용할 수 있다.
일부 예에서, 컴퓨팅 시스템은 메시지로부터 추출된 작업 콘텐츠를 메시지 자체에 명시적으로 표시할 수 있다. 다양한 구현 예에서, 컴퓨팅 시스템은, 마이크로소프트사의 Windows®, Cortana®, Outlook®, Outlook Web App®(OWA), Xbox®, Skype®, Lync® 및 Band®에서 제공하는 제품 및 서비스를 통해 공개된 제품 또는 서비스를 포함할 수 있는 여러 전자 서비스 및 경험과, 다른 회사에서 제공하는 그러한 기타 서비스 및 경험에서 요청 및 확약을 포함하는 메시지에 플래그를 지정할 수 있다. 다양한 구현 예에서, 컴퓨팅 시스템은, 예컨대 전화 통화 또는 음성 메일 메시지, SMS 이미지, 인스턴트 메시징 스트림 및 디지털 개인 비서(digital personal assistant)에 대한 구술 요청과 같은 오디오 피드로부터 요청 및 확약을 추출할 수 있다.
일부 예에서, 컴퓨팅 시스템은 사용자에 의한 암시적 및 명시적 피드백에 의해 작업 콘텐츠를 추출하는데 사용되는 예측 모델 및 요약을 향상시키는 것을 배울 수 있다. 예를 들어, 이러한 피드백은 추출된 콘텐츠가 정확한지 또는 부정확한지에 대한(예컨대, 표시된 추출된 작업 콘텐츠에 응답하여) 사용자 입력을 포함할 수 있다. 이러한 피드백은 컴퓨터 시스템에 의해 정량화 및/또는 저장될 수 있고, 그 후, 예를 들어 예측 모델에 적용될 수 있다.
다양한 예들은 도 1 내지 10을 참조하여 더 설명된다.
이하에서 설명되는 환경은 하나의 예를 구성하지만 청구항을 임의의 하나의 특정 운영 환경으로 제한하려는 것은 아니다. 청구항의 청구대상의 사상 및 범위를 벗어나지 않으면서 다른 환경이 사용될 수도 있다.
도 1은 본 명세서에서 설명하는 바와 같이 작업 추출을 포함하는 예시적인 프로세스가 동작할 수 있는 예시적인 환경(100)을 도시한 것이다. 일부 예들에서, 환경(100)의 다양한 장치 및/또는 컴포넌트는 다양한 컴퓨팅 장치(102)를 포함한다. 제한이 아닌 예시로서, 컴퓨팅 장치(102)는 장치(102a-102e)를 포함할 수 있다. 다양한 장치 유형으로 도시되어 있지만, 컴퓨팅 장치(102)는 다른 장치 유형일 수 있으며, 도시된 장치 유형으로 제한되지 않는다. 컴퓨팅 장치(102)는, 예를 들어 버스(110)를 통해 입/출력 인터페이스(106) 및 컴퓨터로 판독 가능한 매체(108)에 동작 가능하게 연결된 하나 또는 복수의 프로세서(104)를 갖는 임의의 유형의 장치를 포함할 수 있다. 컴퓨팅 장치(102)는, 예컨대 데스크탑 컴퓨터(102a), 랩탑 컴퓨터(102b), 태블릿 컴퓨터(102c), 원격통신 장치(102d), PDA(102e), 전자 북 리더기, 착용식 컴퓨터(예컨대, 스마트 워치, 개인 건강 추적 액세서리 등), 자동차 컴퓨터, 게임기 등과 같은 개인 컴퓨터를 포함할 수 있다. 컴퓨팅 장치(102)는 또한, 예컨대 서버 컴퓨터, 씬 클라이언트, 단말기 및/또는 워크스테이션을 포함할 수 있다. 일부 예에서, 컴퓨팅 장치(102)는 컴퓨팅 장치, 어플라이언스 또는 다른 종류의 장치에 통합하기 위한 구성 요소를 포함할 수 있다.
일부 예에서, 컴퓨팅 장치(102)에 의해 수행되는 것으로 기술된 기능의 일부 또는 전부는, 예를 들어 클라우드 컴퓨팅을 통해 하나 이상의 원격 피어 컴퓨팅 장치, 원격 서버 또는 서버들, 또는 분산 컴퓨팅 자원에 의해 구현될 수 있다. 일부 예에서, 컴퓨팅 장치(102)는 전자 통신을 수신하기 위한 입력 포트를 포함할 수 있다. 컴퓨팅 장치(102)는 특정 전자 통신과 관련되거나 또는 연관된 다양한 정보 소스에 액세스하기 위한 하나 또는 복수의 프로세서(104)를 더 포함할 수 있다. 이러한 소스는, 몇 가지 예를 들자면, 전자 통신에 포함된 메시지의 작성자에 관한 이력이나 개인 정보의 전자 캘린더 및 데이터베이스를 포함할 수 있다. 일부 구현 예에서, 복수의 프로세서(104) 중 임의의 프로세서가 작성자의 개인 정보에 액세스할 수 있기 전에 작성자는 "옵트인(opt-in)"하거나 다른 긍정적인 조치를 취해야 한다. 일부 예에서, 하나 또는 복수의 프로세서(104)는 전자 통신으로부터 작업 콘텐츠를 추출하도록 구성될 수 있다. 하나 또는 복수의 프로세서(104)는 하드웨어 프로세서 또는 소프트웨어 프로세서일 수 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 유닛은 하드웨어 프로세서를 나타낸다.
일부 예에서, 장치(102d)와 관련하여, 컴퓨터로 판독 가능한 매체(108)는 운영 체제(OS)(112), 기계 학습 모듈(114), 추출 모듈(116) 및 프로세서(104)에 의해 로드가능하며 실행가능한 프로그램 또는 애플리케이션(118)을 포함하는 프로세서(104)에 의해 실행가능한 명령어를 저장할 수 있다. 하나 이상의 프로세서(104)는 하나 이상의 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 비디오 버퍼 처리 장치 등을 포함할 수 있다. 일부 구현 예에서, 기계 학습 모듈(114)은 컴퓨터로 판독 가능한 매체(108)에 저장된 실행 가능 코드를 포함하며, 입력/출력(106)을 통해 컴퓨팅 장치(102)에 의해 로컬 또는 원격으로 정보를 수집하도록 프로세서(104)에 의해 실행가능하다. 정보는 하나 이상의 애플리케이션(118)과 연관될 수 있다. 기계 학습 모듈(114)은 입력 데이터에 적용하기 위해 컴퓨터로 판독 가능한 매체(108)에 저장된(또는 보다 구체적으로는 기계 학습 모듈(114)에 저장된) 다수의 기계 학습 결정 모델 중 임의의 것을 선택적으로 적용할 수 있다.
일부 구현 예에서, 추출 모듈(116)은 컴퓨터로 판독 가능한 매체(108)에 저장된 실행 가능 코드를 포함하고, 입력/출력(106)을 통해 컴퓨팅 장치(102)에 의해 로컬로 또는 원격으로 정보를 수집하도록 프로세서(104)에 의해 실행 가능하다. 정보는 하나 이상의 애플리케이션(118)과 연관될 수 있다. 추출 모듈(116)은 입력 데이터에 적용하기 위해 컴퓨터로 판독 가능한 매체(108)에 저장된(예컨대, 기계 학습 모듈(114)을 통해) 다수의 통계 모델 또는 예측 모델 중 임의의 것을 선택적으로 적용할 수 있다.
비록 특정 모듈이 다양한 동작을 수행하는 것으로 설명되었지만, 모듈은 단지 예시일 뿐이고 더 많거나 적은 수의 모듈에 의해 동일하거나 유사한 기능이 수행될 수도 있다. 또한, 도시된 모듈에 의해 수행되는 기능은 반드시 단일 장치에 의해 로컬로 수행될 필요는 없다. 오히려, 일부 동작은 원격 장치(예컨대, 피어, 서버, 클라우드 등)에 의해 수행될 수 있다.
이와 달리, 또는 이에 더하여, 본 명세서에 설명된 기능의 일부 또는 전부는 적어도 부분적으로 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 예를 들어, 제한 없이, 사용될 수 있는 예시적인 유형의 하드웨어 로직 컴포넌트는 FPGA(Field-programmable Gate Array), ASIC(Program-specific Integrated Circuit), ASSP(Program-specific Standard Product), SOC(System-on-a-chip system), CPLD(Complex Programmable Logic Device) 등을 포함한다.
일부 예에서, 컴퓨팅 장치(102)는 이미지 및/또는 비디오를 캡처할 수 있는 카메라 및/또는 오디오를 캡처할 수 있는 마이크로폰과 연관될 수 있다. 예를 들어, 입/출력 모듈(106)은 그러한 카메라 및/또는 마이크로폰을 포함할 수 있다. 예를 들어, 객체 또는 텍스트의 이미지는 이미지의 콘텐츠 및/또는 의미에 대응하는 텍스트로 변환되어 작업 콘텐츠에 대해 분석될 수 있다. 스피치 오디오는 텍스트로 변환되어 작업 콘텐츠에 대해 분석될 수 있다.
컴퓨터로 판독 가능한 매체는 컴퓨터 저장 매체 및/또는 통신 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터로 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비 분리형 매체를 포함한다. 컴퓨터 저장 매체는 상 변화 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 컴퓨팅 장치에 의한 액세스를 위해 정보를 저장하는데 사용될 수 있는 임의의 다른 비 전송 매체를 포함하지만 이들로 한정되지는 않는다.
반면에, 통신 매체는 컴퓨터로 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호로 구현한다. 본원에서 정의된 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다. 다양한 예들에서, 메모리(108)는 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터 저장 매체의 일례이다. 프로세서(들)(104)에 의해 실행될 경우, 컴퓨터 실행 가능 명령어는, 무엇보다도, 프로세서(들)가 개별 전자 메시지의 콘텐츠를 분석하게 하고-여기서 전자 메시지는 (i) 전자 통신 중에 수신되거나, (ii) 사용자 인터페이스를 통해 사용자에 의해 입력되거나, 또는 (iii) 메모리로부터 검색될 수 있음-, 콘텐츠를 분석한 것에 적어도 부분적으로 기초하여 전자 메시지로부터 요청 또는 확약에 대응하는 텍스트를 추출하게 하도록 구성한다.
다양한 예에서, 입력/출력(I/O) 인터페이스(106)의 또는 이에 연결된 입력 장치는 직접 터치 입력 장치(예컨대, 터치 스크린), 간접 터치 장치(예컨대, 터치 패드), 간접 입력 장치(예컨대, 마우스, 키보드, 카메라 또는 카메라 어레이 등), 또는 오디오 입력 장치와 같은 다른 유형의 비접촉 장치일 수 있다.
컴퓨팅 장치(들)(102)는 또한 하나 이상의 입력/출력(I/O) 인터페이스(106)를 포함할 수 있으며, 이 인터페이스는 네트워크(111)를 통해 컴퓨팅 장치(102)와 작업 콘텐츠를 추출하는데 관여하는 다른 네트워킹된 컴퓨팅 장치 또는 다른 컴퓨팅 장치 사이의 유선 또는 무선 통신을 가능하게 하는 하나 이상의 통신 인터페이스를 포함할 수 있다. 이러한 통신 인터페이스는, 네트워크를 통해 통신을 송수신하기 위한 하나 이상의 트랜시버 장치, 예컨대 이더넷 NIC 또는 다른 유형의 트랜시버 장치와 같은 네트워크 인터페이스 제어기(NIC)를 포함할 수 있다. 프로세서(104)(예컨대, 프로세싱 유닛)는 각각의 통신 인터페이스를 통해 데이터를 교환할 수 있다. 일부 예에서, 통신 인터페이스는 PCIe 트랜시버일 수 있고, 네트워크(111)는 PCIe 버스일 수 있다. 일부 예에서, 통신 인터페이스는 셀룰러(3G, 4G 등), WI-FI, UWB(Ultra-wideband), 블루투스 또는 위성 전송용 트랜시버를 포함할 수 있지만, 이에 제한되지는 않는다. 통신 인터페이스는 이더넷 인터페이스, 직렬 인터페이스, USB(universal serial bus) 인터페이스, INFINIBAND 인터페이스 또는 다른 유선 인터페이스와 같은 유선 I/O 인터페이스를 포함할 수 있다. 설명을 간단히 하기 위해, 이들 및 다른 컴포넌트는 도시된 컴퓨팅 장치(102)에서 생략한다. 입/출력(I/O) 인터페이스(106)는 장치(102)가 사용자 입력 주변 장치(예컨대, 키보드, 마우스, 펜, 게임 컨트롤러, 음성 입력 장치, 터치 입력 장치, 제스처 입력 장치 등) 및/또는 출력 주변 장치(예컨대, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력 등)와 같은 다른 장치와 통신할 수 있게 한다.
도 2는 예시적인 작업 추출 프로세서(204)를 거친 전자 통신(202)을 도시한 블록도이다. 예를 들어, 프로세스(204)는 착신 또는 발신 통신에서 확약(206) 또는 요청(208)이 행해졌는지 여부를 검출하기 위한 다수의 기술 중 임의의 것을 포함할 수 있다. 프로세스(204)는 또한 확약 또는 요청을 포함하는 것으로 메시지를 자동으로 마킹하거나, 주석을 달거나 또는 달리 식별하는 기법을 포함할 수 있다. 일부 예에서, 프로세스(204)는 프리젠테이션 및 후속 추적 및 분석에 대한 확약 또는 요청의 요약(도시되지 않음)을 추출하는 기법을 포함할 수 있다. 확약(206) 또는 요청(208)은 전자 통신(202)의 다수 형태의 콘텐츠로부터 추출될 수 있다. 이러한 콘텐츠는 이메일, SMS 텍스트 또는 이미지, 인스턴트 메시징, 소셜 미디어의 게시물, 회의 노트 등과 같은 대인 관계 통신을 포함할 수 있다. 이러한 콘텐츠는 또한 무엇보다도 이메일 애플리케이션 또는 워드 프로세싱 애플리케이션을 사용하여 작성된 콘텐츠를 포함할 수 있다.
일부 예에서, 작업 추출 프로세스(204)는 제3자와 관련한 작업 콘텐츠를 추출할 수 있다. 예를 들어, 이메일과 같은 전자 통신(202)은 이메일에 응답하는 제1 개인에 의한 확약을 포함할 수 있다. 이 확약은 제1 개인의 확약일 수 있다. 그러나 이 확약은 제3 개인의 확약일 수 있는데, 이는 다른 사람을 대신하는 (이메일에 응답하는) 제1 개인에 의한 확약일 수 있다. 예를 들어, 제1 개인은 작업을 수행하는 부하 직원을 위해 부사장에게 확약을 수립하는 감독자일 수 있다. 특정한 예로서, 제3 개인의 확약은 "내 비서 존이 오늘 나중에 당신에게 보고할 거에요(My assistant john will get a report to you later today)"일 수 있다.
일부 예들에서, 작업 추출 프로세스(204)는 메시지(예컨대, 이메일 스레드)의 작성자들 또는 메시지 내용과 연관된 사람들(예컨대, 메시지에서 언급된 사람들) 사이의 개인적 및/또는 전문적 관계에 적어도 부분적으로 기초하여 메시지와 같은 전자 통신(202)으로부터 작업 콘텐츠를 추출할 수 있다. 작업 추출 프로세스(204)는 또한 메시지의 작성자들 또는 메시지 내용과 연관된 사람들 사이의 이전 통신에 적어도 부분적으로 기초하여 메시지로부터 작업 콘텐츠를 추출할 수 있다.
일부 예에서, 작업 추출 프로세스(204)는 (i) 전자 통신(202)의 콘텐츠를 분석하고, (ii) 실시간으로 전자 통신의 콘텐츠로부터 요청 또는 확약을 자동 추출할 수 있다. 예를 들어, 작업 추출 프로세스(204) 동안, 작업 추출 프로세스를 수행하는 시스템은 사용자가 무리한 약속을 하지 않도록 사용자에게 가능한 시간 중복(time conflict) 또는 다른 확약을 통지함으로써 사용자에게 확약에 대한 확인을 즉시 요청할 수 있고/있거나 사용자에게 실시간 지원을 제공할 수 있다. 특정 예에서, 시스템은 시간 관리를 돕고 "당신은 이 작업을 수행할 수 없으며 이번 주에 너무 많은 작업을 이미 약속했어요(You probably can't do this, you've already committed to too many things this week)"라는 메시지를 표시하여 과부하에 대해 사용자에게 알릴 수 있다.
도 3은 요청 또는 확약의 예시적인 텍스트 스레드 및 작업 추출 프로세스(304)를 포함하는 전자 통신(302)을 나타내는 블록도이다. 예를 들어, 통신(302)은 사용자의 컴퓨팅 장치 상에서 수신된 다른 사용자로부터의 텍스트 메시지일 수 있으며, 다른 사용자로부터의 텍스트(306) 및 사용자로부터의 텍스트(308)를 포함한다. 작업 추출 프로세스(304)는 통신(302)의 콘텐츠(예컨대, 텍스트(306) 및 텍스트(308))를 분석하는 것과, (i) 사용자 또는 다른 사용자의 확약 및/또는 (ii) 사용자 또는 다른 사용자에 의한 요청을 결정하는 것을 포함한다. 도 3에 도시된 예에서, 다른 사용자에 의한 텍스트(306)는 사용자가 5월 9일에 Alexis의 생일 파티 준비를 도우라는(help set up Alexis ' birthday party on May 9 th ) 요청(310)을 포함한다. 사용자에 의한 텍스트(308)는 사용자가 5월 9일 오후 3시까지 Alexis의 생일 파티를 돕겠다는(help set up Alexis ' birthday party on May 9 th , by 3pm) 확약(312)를 포함한다. 작업 추출 프로세스(304)는 텍스트(306) 및 텍스트(308)를 분석하는 것을 포함하는 임의의 다수의 기법에 의해 요청 및 확약을 결정할 수 있다. 일부 구현 예에서, 텍스트가 요청 또는 확약을 결정하기에 불충분하면(예컨대, 정보 "누락" 또는 매우 불확실한 정보), 작업 추출 프로세스(304)는 다수의 데이터 소스들 중 임의의 것을 조회할 수 있다. 예를 들어, 텍스트(306)가 Alexis 생일 파티의 날짜를 포함하지 않았으면(예컨대, 다른 사용자는 이 사용자가 날짜를 기억한다고 생각할 수 있음), 작업 추출 프로세스(304)는 해당 사용자나 다른 사용자의 캘린더에 생일 날짜를 조회할 수 있다.
다양한 예에서, 작업 추출 프로세스(304)는 수신 또는 발신 메시지(예컨대, 이메일, 텍스트 등)가 수신자/발신자에 대해/의해 의도된 요청 또는 확약을 포함할 확률(예컨대, 추론된 확률) 또는 다른 신뢰도를 결정할 수 있다. 이러한 신뢰도나 확률은, 메시지의 하나 이상의 구성 요소 또는 구성 요소의 요약이 유효한 요청 또는 확약일 계산된 확률로부터 적어도 부분적으로 결정될 수 있다.
일부 예에서, 작업 추출 프로세스(304)는 확약의 신뢰도를 결정할 수 있는데, 여기서 신뢰도가 낮은 확약은 사용자가 확약을 이행할 것 같지 않은 것이고, 신뢰도가 높은 확약은 사용자가 확약을 이행할 가능성이 높은 것이다. 확률(예컨대, 가능성) 또는 다른 신뢰도는, 예를 들어, 통계 분류자의 사용에 적어도 부분적으로 기초하여 어떤 작업 추출 프로세스(304)가 추출된 확약에 대해 어떻게 관련되어 있는지를 캡처하는데 사용될 수 있다. 확약의 신뢰도는 미리 알림, 할 일 목록 수정, 약속, 모임 요청 및 기타 시간 관리 활동과 같은 후속 서비스에 유용할 수 있다. 확약의 신뢰도 결정은 적어도 부분적으로 사용자의 이벤트의 이력(예컨대, 과거 확약의 실행 등) 및/또는 다른 사용자의 이벤트의 이력 및/또는 사용자 또는 다른 사용자의 개인 정보(예컨대, 나이, 성별, 직업, 자주 여행하는 사람 등)를 기반으로 할 수 있다. 예를 들어, 작업 추출 프로세스(304)는 이러한 이력을 조회할 수 있다. 일부 구현 예에서, 작업 추출 프로세스(304)가 사용자의 개인 정보를 조회하기 전에 사용자 중 하나 또는 모두가 "옵트 인(opt-in)"하거나 다른 긍정적인 조치를 취해야 한다. 예를 들어, 사용자가 Alexis의 지난 몇 차례의 생일에 참석하였고, 다른 많은 사람들의 생일에 참석하는 경향이 있으며, Alexis 및/또는 다른 사용자와 비교적 가까운 관계이거나 하다고 이러한 히스토리가 증명하면, 작업 추출 프로세스(304)는 그 사용자에 의한 확약에 대해 비교적 높은 신뢰를 할당할 수 있다. 확약의 신뢰도를 결정하는 것은 또한, 텍스트(306) 및/또는 텍스트(308)의 키워드 또는 용어에 적어도 부분적으로 기초할 수 있다. 예를 들어, "생일 파티(birthday party)"는 일반적으로 긍정적이고 호감이 가는 의미(예컨대, 작업 태스크와 대조적으로 파티)를 가지며, 따라서 확약은 상대적으로 강할 수 있다. 다른 한편으로, 회계 보고서를 작성하겠다는 확약을 포함하는 또 다른 예에서, 이러한 활동은 일반적으로 달갑지 않으며, 따라서 그러한 확약에는 상대적으로 낮은 신뢰도가 부여될 수 있다. 그러나, 회계 보고서를 작성하는 그러한 확약이 사용자의 직무(예컨대, 직업)와 관련된다면, 그러한 확약에는 상대적으로 높은 신뢰도가 부여될 수 있다. 작업 추출 프로세스(304)는 확약의 신뢰도를 결정하기 위해 다수의 그러한 시나리오 및 팩터를 가중할 수 있다. 예를 들어, 작업 추출 프로세스(304)는 전자 메시지와 관련된 콘텐츠에 적어도 부분적으로 기초하여 메시지의 요청 또는 확약의 신뢰도(예컨대, 중요도)를 결정할 수 있다.
도 4는 메시지와 작업 콘텐츠 간의 예시적인 관계를 나타내는 표(400)이다. 구체적으로, 이러한 작업 콘텐츠는 컴퓨팅 장치의 사용자 또는 "다른 사용자 엔티티"(이는 하나 이상의 컴퓨팅 장치에 있는 한명 이상의 사람일 수 있다)에 의해 생성될 수 있는(예컨대, 애플리케이션에 의해 자동으로 또는 수동으로 기록된) 확약 및/또는 요청을 포함한다. 일부 예에서, 다른 사용자 엔티티는 해당 사용자에게 메시지를 보낼 수 있는 사용자일 수 있다. 다른 예에서, 사용자 및/또는 다른 사용자 엔티티는 임의의 사람(예컨대, 대리인, 비서, 관리자 등) 또는 기계(예컨대, 명령을 수신하고 수행하도록 구성된 프로세서 기반 시스템)일 수 있다. 표(400)는 컴퓨팅 장치의 사용자에 의해 생성되어 다른 사용자 엔티티로 전송되는 발신 메시지 및 다른 사용자 엔티티에 의해 생성되어 컴퓨팅 장치의 사용자에 의해 수신되는 수신 메시지를 도시한 것이다.
발신 메시지 또는 수신 메시지로부터 추출될 수 있는 확약의 예로는 "나는 문서를 준비해서 월요일에 너에게 보내 줄 거야(I will prepare the documents and send them to you on Monday.)", "나는 금요일 일과종료까지 스미스 씨에게 수표를 보낼 거야(I will send Mr. Smith the check by end of day Friday.)", "나는 그것을 할거야(I'll do it.)", "너에게 다시 돌아갈게(I'll get back to you.)", "할거야(Will do.)" 등을 들 수 있다. 후자의 예는 확약(또는 그 진술)이 시간 또는 기한을 포함할 필요가 없음을 나타낸다. 수신 메시지나 발신 메시지에서 추출할 수 있는 요청의 예는 "매트 아래에 키를 놓아둘 수 있어?(Can you make sure to leave the key under the mat?)", "저녁 일찍 할 수 있는지 알려줘(Let me know if you can make it earlier for dinner.)", "예산 분석 월말까지 할 수 있어?(Can you get the budget analysis done by end of month?)" 등을 포함한다. 요청은 직접적인 질문의 형태일 필요는 없다. 예를 들어, "오후 5시까지 보고서 가져 오는 것 잊지 마(Don't forget to get your report in by 5pm)"는 직접적인 질문이 아니지만 이 진술은 요청 형식을 띤다.
표(400)는 메시지에 포함된 네 가지 특정 경우의 작업을 포함한다. 하나의 경우는 사용자가 다른 사용자 엔티티에게 보낸 확약을 포함하는 발신 메시지이다. 또 다른 경우는 사용자가 다른 사용자 엔티티에게 보낸 요청을 포함하는 발신 메시지이다. 또 다른 경우는 다른 사용자 엔티티로부터 사용자에게 보내온 확약을 포함하는 수신 메시지이다. 또 다른 경우는 다른 사용자 엔티티로부터 사용자에게 보내온 요청을 포함하는 수신 메시지이다. 메시지로부터 작업 콘텐츠를 추출하는 프로세스는 적어도 부분적으로 특정 경우들 중 어느 경우가 처리되는지에 따라 서로 상이할 수 있다. 이러한 프로세스는 사용자의 컴퓨팅 장치 또는 컴퓨팅 장치와 통신하는 컴퓨팅 시스템(예컨대, 서버)에 의해 수행될 수 있다. 예를 들어, 수신 메시지가 다른 사용자 엔티티로부터의 사용자에게 보내온 확약을 포함하는 경우에 적용되는 프로세스는 다른 사용자 엔티티의 확약의 신뢰도(예컨대, 진실성, 신뢰성, 가치)를 결정하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 이러한 다양한 데이터 소스는 개인 데이터 또는 다른 사용자 엔티티의 이력을 포함할 수 있다. 일부 예에서, 데이터 소스는 버스를 통해 프로세서에 전기적으로 결합된 메모리 장치와 같은 장치의 프로세싱 컴포넌트와 연관된 메모리일 수 있다. 일부 예에서, 다른 사용자 엔티티에 의한 동작의 이력(회의 취소 또는 작업 수행 실패)은 다른 사용자 엔티티의 확약에 대한 신뢰도를 나타낼 수 있다. 일부 구현 예에서, 사용자 및/또는 다른 사용자 엔티티는 프로세스가 사용자 및/또는 다른 사용자 엔티티의 개인 정보에 액세스할 수 있기 전에 "옵트 인(opt-in)"하거나 또는 다른 긍정적인 액션을 취해야 한다.
다른 예로서, 발신 메시지가 사용자에 의한 다른 사용자 엔티티에 대한 요청을 포함하는 경우에 적용되는 프로세스는, 사용자의 요청에 대해 다른 사용자 엔티티가 강한(예컨대, 진실한, 신뢰할 수 있는, 가치있는) 확약을 가지고 응답할 확률을 판단하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 이러한 다양한 데이터 소스(프로세스를 수행하는 장치(들) 외부에 있을 필요는 없음)는 다른 사용자 엔티티의 개인 데이터 또는 이력을 포함할 수 있다. 예를 들어, 다른 사용자 엔터티에 의한 활동 이력(회의 취소 또는 작업 수행 실패)은 다른 사용자 엔터티가 해당 사용자의 요청에 대한 확약을 수락하거나 수행할 가능성(또는 결여)을 나타낼 수 있다.
한편, 착신 메세지가 다른 사용자 엔티티로부터 해당 사용자에게 보낸 요청을 포함하는 경우에 적용되는 프로세스는 요청의 중요성(동시에 부수적으로, 요청에 대한 확약의 중요성)을 결정하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 예를 들어, 다른 사용자 엔티티가 사용자의 관리자인 경우, 이 요청은 상대적으로 중요할 수 있다. 따라서, 프로세스는 다른 사용자 엔티티가 감독자, 부하 직원, 동료, 친구, 가족 등인지를 판정하기 위해 다른 사용자 엔티티의 개인 및/또는 전문가 데이터를 포함하는 다양한 데이터 소스에 조회할 수 있다.
다른 예에서, 발신 메시지가 사용자에 의해 다른 사용자 엔티티에게 보내진 확약을 포함하는 경우에 적용되는 프로세스는 확약의 중요성을 판정하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 예를 들어, 다른 사용자 엔티티가 사용자의 감독자인 경우 확약은 상대적으로 중요할 수 있다. 따라서, 프로세스는 다른 사용자 엔티티가 감독자, 부하 직원, 동료, 친구, 가족 등인지를 판정하기 위해 다른 사용자 엔티티의 개인 및/또는 전문가 데이터를 포함하는 다양한 데이터 소스에 조회할 수 있다.
도 5는 다수의 엔티티(504-518)와 통신하는 추출 모듈(502)을 포함하는 예시적인 시스템(500)의 블록도이다. 이러한 엔티티는, 예컨대, 호스트 애플리케이션(예컨대, 인터넷 브라우저, SMS 텍스트 편집기, 이메일 애플리케이션, 전자 캘린더 기능 등), 데이터베이스 또는 정보 소스(예컨대, 개인의 개인 이력, 기업 또는 기관의 조직 정보, 데이터를 서비스로 제공할 수 있는 제3자 데이터 애그리게이터(aggregator) 등)를 포함할 수 있다. 추출 모듈(502)은, 예를 들어, 도 1에 도시된 컴퓨팅 장치(102)의 추출 모듈(116)과 유사할 수 있다. 예를 들어, 트레이닝 데이터(510), 캘린더(512), 및 소셜 미디어(516)로부터 수집된 데이터와 같은 일부 엔티티(504-518)는 추출 모듈(502)과 연관된 메모리 장치에 저장될 수 있다. 예를 들어, 메모리 장치는 추출 모듈(502)(예컨대, 처리 컴포넌트일 수 있음)에 직접 접속(예컨대, 유선 접속)될 수 있다. 다른 예에서, 메모리 장치는 (예컨대, 하나 이상의 원격 피어 컴퓨팅 장치, 원격 서버 또는 서버들, 또는 예컨대 클라우드 컴퓨팅을 통한 분산 컴퓨팅 자원에 의해) 추출 모듈(502)에 무선 및/또는 원격으로 연결될 수 있다.
추출 모듈(502)은 다수의 언어 분석 기법 중 임의의 것을 적용함으로써 엔티티(504-518)에 의해 제공된 통신 콘텐츠 및/또는 데이터 또는 정보를 분석하도록 구성될 수 있다. 예를 들어, 추출 모듈(502)은 이메일 엔티티(504), SMS 텍스트 메시지 엔티티(506) 등에 의해 제공되는 통신의 콘텐츠를 분석하도록 구성될 수 있다. 추출 모듈(502)은 또한 인터넷 엔티티(508), 트레이닝 데이터(510)를 제공하는 기계 학습 엔티티, 이메일 엔티티(504), 캘린더 엔티티(512) 등에 의해 제공되는 데이터 또는 정보를 분석하도록 구성될 수 있다. 추출 모듈(502)은 엔티티들(504-518) 중 임의의 것으로부터 수집된 정보 또는 데이터에 언어 분석을 적용함으로써 콘텐츠를 분석할 수 있다.
도 5의 양방향 화살표는 데이터 또는 정보가 엔티티(504-518)와 추출 모듈(502) 사이의 어느 한 방향으로 흐를 수 있음을 나타낸다. 예를 들어, 추출 모듈(502)로부터 임의의 엔티티(504-518)로 흐르는 데이터 또는 정보는 엔티티에 조회하기 위해 추출 모듈에 의해 생성된 조회의 일부일 수 있다. 이러한 조회는 임의의 엔티티에 의해 제공되는 콘텐츠의 하나 이상의 의미를 결정하기 위해 추출 모듈(502)에 의해 사용될 수 있다.
일부 예에서, 추출 모듈(502)은 이메일 엔티티(504)로부터 다수의 사용자들 사이에서 이메일 교환(예컨대, 통신)의 콘텐츠를 수신할 수 있다. 추출 모듈은 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정할 수 있다. 콘텐츠 분석은 단어, 구문, 문장, 메타 데이터(예컨대, 이메일의 크기, 작성 날짜 등), 이미지 및 콘텐츠의 요소가 상호관련되는 방법과 같이, 콘텐츠의 요소의 의미를 결정하는 여러 기법 중 하나를 통해 수행될 수 있다. 콘텐츠의 "의미"는 자연 언어로 콘텐츠를 해석하는 방법일 수 있다. 예를 들어, 콘텐츠의 의미는 개인이 작업을 수행하라는 요청을 포함할 수 있다. 다른 예에서, 콘텐츠의 의미는 작업의 설명, 작업이 완료되어야 하는 시간, 작업에 대한 배경 정보 등을 포함할 수 있다.
선택적 구현에서, 추출 모듈은 예컨대 소셜 미디어 엔티티(516)와 같은 하나 이상의 데이터 소스의 콘텐츠를 조회할 수 있다. 하나 이상의 데이터 소스의 이러한 콘텐츠는 이메일 교환의 콘텐츠와 관련될 수 있다(예컨대, 주제, 작성자, 날짜, 시간, 위치 등에 의해 관련될 수 있다). (i) 이메일 교환의 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 추출 모듈(502)은 이메일 교환의 콘텐츠로부터 요청 또는 확약을 자동으로 추출할 수 있다.
일부 예에서, 추출 모듈(502)은 트레이닝 데이터(510)로부터 및/또는 추출 모듈 및 엔티티들(504-518) 중 임의의 것 사이의 실시간 진행중인 통신으로부터 학습된 예측 모델을 사용하여 작업 콘텐츠를 추출할 수 있다. 이러한 예측 모델은 발신 또는 수신 통신(예컨대, 메시지) 또는 통신 콘텐츠가 요청을 포함한다고 추론할 수 있다. 마찬가지로 발신 또는 수신 통신 또는 통신 콘텐츠가 작업 수행에 대한 확약을 포함할 수 있다. 수신 또는 발신 통신으로부터의 확약 및 요청의 식별 및 추출은 확약 및 요청에 대한 통신의 발신자 및 수신자를 지원하는 다수의 기능을 제공할 수 있다.
일부 실시예에서, 추출 모듈(502)은 통계 모델을 사용하여 작업 콘텐츠를 추출하여, 예컨대 이메일 엔티티(504)로부터 수신된 이메일 또는 SMS 텍스트 메시지 엔티티(506)로부터 수신된 SMS 텍스트 메시지로부터 확약 및 요청의 제안 및 확인을 식별하고 추출할 수 있다. 통계 모델은 적어도 부분적으로 엔티티(504-518) 중 하나 또는 이들의 조합으로부터의 데이터 또는 정보를 기반으로 할 수 있다.
일부 예에서, 추출 모듈(502)은 메시지 작성자가 메시지를 작성하는 동안 작업 콘텐츠를 추출할 수 있다. 예를 들어, 이러한 작성은 임의의 유형의 텍스트 편집기 또는 애플리케이션을 사용하여 이메일 또는 텍스트 메시지를 타이핑하는 것을 포함할 수 있다. 다른 예에서, 추출 모듈(502)은 사람이 수신된 메시지를 읽는 동안 작업 콘텐츠를 추출할 수 있다. 예를 들어, 사람이 메시지를 읽을 때, 추출 모듈(502)은 메시지의 텍스트에서 요청 또는 확약을 하이라이트 또는 강조함으로써 메시지의 일부에 주석을 달 수 있다. 일부 구현 예에서, 추출 모듈은 메시지의 판독(또는 디스플레이) 동안 관련 정보를 메시지에 추가할 수 있다. 예를 들어, 이러한 관련 정보는, 예컨대 엔티티(504-518)와 같은, 추가적인 데이터 또는 정보 소스로부터 추론될 수 있다. 특정 예에서, 컴퓨터 시스템은 독자가 일종의 수업에 참석하라는 요청을 포함하는 메시지를 디스플레이할 수 있다. 추출 모듈(502)은 인터넷(508)에 조회하여, 독자가 있는 장소(예컨대, 독자에 관한 개인 데이터로부터 추론될 수 있음)에서 다양한 시간에 다양한 위치에 다수의 그런 수업이 제공된다고 판단할 수 있다. 따라서, 추출 모듈은 선택 또는 제안 리스트를 생성하여 독자에게 제공할 수 있다. 이러한 리스트는 마우스 오버(mouse-over)에 응답하여 텍스트의 관련 부분의 텍스트 근처에 디스플레이될 수도 있고, 또는 예를 들어 디스플레이의 다른 부분에 "영구적으로" 디스플레이될 수 있다. 일부 구현 예에서, 리스트는 요청이 독자가 선택한 시간(이 시간은 요청자에 의해 "제안된" 시간을 대체할 수 있고, 요청자는 독자가 선택한 시간을 자동으로 통지받을 수 있음)을 포함할 수 있도록 독자가 (마우스 클릭에 의해)선택할 수 있는 아이템을 포함할 수 있다.
도 6은 오디오 레코딩, 이미지 또는 비디오 레코딩과 같은 비텍스트 콘텐츠(604)에 대한 작업 추출을 수행할 수 있는 예시적인 추출 모듈(602)의 블록도이다. 추출 모듈(602)은 도 5에 도시된 추출 모듈(502)과 동일하거나 유사할 수 있다. 예를 들어, 추출 모듈(602)은 엔티티들(504-518) 중 어느 하나 또는 모두와 통신할 수 있다.
비텍스트 콘텐츠(604)는 비텍스트 콘텐츠의 요소를 기술하는 대응하는 텍스트(606)로 번역될 수 있다. 예를 들어, 다수의 이미지 인식 기술 중 임의의 것이 이미지(또는 비디오 레코딩의 스틸)를 텍스트로 번역하는데 사용될 수 있다. 마찬가지로, 다수의 오디오-텍스트 기술 중 하나를 사용하여 오디오 녹음을 텍스트로 변환할 수 있다. 대응하는 텍스트(606)는 추출 모듈(602)에 제공될 수 있으며, 추출 모듈(602)은 이어서 대응하는 텍스트로부터 작업 콘텐츠를 추출할 수 있다. 이러한 추출된 작업 콘텐츠는, 예를 들어 확약(608) 및/또는 요청(610)을 포함할 수 있다.
추출 모듈(602)이 비텍스트 콘텐츠(604)로부터 어떻게 작업 콘텐츠를 추출할 수 있는지를 나타내는 특정 예시적인 예는 풍선과 색종이(balloons and streamers)의 이미지를 포함하는 메시지를 포함한다. 이러한 이미지는 풍선과 색종이의 이미지를 인식하고 텍스트 "풍선(balloon)" 및 "색종이(streamers)"를 생성하는 이미지 인식 기법에 의해 텍스트(606)로 번역될 수 있다. 이미지에서 풍선과 깃발 사이의 병치 관계를 설명하기 위해 추가 텍스트가 포함될 수 있다. 추출 모듈(602)은 메시지의 발신자에 대한 풍선과 색종이의 컨텍스트를 결정하기 위해 다수의 엔티티(예컨대, 504-518) 중 임의의 것을 조회할 수 있다. 일 예에서, 추출 모듈(602)은 (예컨대, 발신자와 인터넷 사이트 간의 매칭을 검색함으로써) 메시지가 파티 용품에 대한 광고임을 판정할 수 있다. 결과적으로, 추출 모듈은 메시지가 확약 또는 요청을 포함하지 않는다고 결론을 내릴 수 있다. 다른 예에서, (예컨대, 발신자 또는 임의의 가족 구성원의 생일이 다가온다거나 또는 수신자가 지난 몇 년 동안 그러한 생일에 참석했다거나 하는 경우) 추출 모듈(602)은 (예컨대, 발신자 및 메시지 수신자에 관한 개인 정보를 검색함으로써) 메시지가 생일 파티에 대한 통지라고 판정할 수 있다. 이러한 경우에, 추출 모듈(602)은 이 이미지가 수신자가 생일 파티에 참석하라는 요청인 것으로 간주할 수 있다. 추출 모듈은 또한 파티 날짜를 추론할 수 있으며, 따라서 작업 및 작업을 수행하기 위한 시간을 포함하는 완전한 요청을 생성할 수 있다.
일부 예에서, 추출 모듈(602)(또는 502)에 의해 수행되는 작업 추출 프로세스는 추출 모듈에 의해 추출된 확약 또는 요청의 정확성을 확인하기 위해 메시지 발신자 및/또는 수신자와 연관될 수 있다. 구체적으로, 추출 모듈(602)이 상대적으로 낮은 신뢰도를 갖는 추론(예컨대, 불투명하거나 느슨하게 상호 관련된 정보에 기초한 추론)을 수행하는 경우, 추출 모듈은 발신자 및/또는 수신자에게 메시지 내 작업에 관한 추가 정보 또는 확인을 요구할 수 있다. 다른 한편, 추출 모듈(602)이 상대적으로 높은 신뢰도를 갖는 추론(예컨대, 충실한 또는 밀접하게 상호 관련된 정보에 기초한 추론)을 수행하는 경우, 추출 모듈은 발신자 및/또는 수신자에게 메시지 내 작업에 관한 추가 정보 또는 확인을 요구할 필요가 없다.
일부 예에서, 추출 모듈(602)은 비텍스트 콘텐츠를 대응하는 텍스트로 변환하는 것을 수행하도록 구성될 수 있다. 다른 예에서, 추출 모듈(602)은 비텍스트 콘텐츠로부터 이미 번역된 대응하는 텍스트를 단순히 수신하도록 구성될 수 있다.
도 7은 다양한 예들에 따른 기계 학습 시스템(700)의 블록도이다. 기계 학습 시스템(700)은, 예를 들어 (도 1에 도시된 기계 학습 모듈(114)과 유사하거나 동일할 수 있는) 기계 학습 모델(702), 트레이닝 모듈(704), 및 추출 모듈(502)과 동일 또는 유사한 추출 모듈(706)을 포함한다. 별도의 블록으로 도시되어 있지만, 일부 실시예에서는 추출 모듈(706)이 기계 학습 모델(702)을 포함할 수도 있다. 기계 학습 모델(702)은 오프라인 트레이닝 모듈(704)로부터 트레이닝 데이터를 수신할 수 있다. 예를 들어, 트레이닝 데이터는 기계 학습 시스템(700)을 포함하는 컴퓨팅 시스템의 메모리로부터의 데이터 또는 도 5에 도시된 엔티티들(502-518)의 임의의 조합으로부터의 데이터를 포함할 수 있다. 메모리는 컴퓨팅 시스템 또는 특정 사용자에 의해 수신되고/되거나 컴퓨팅 시스템 또는 특정 사용자에게 전송된 요청 및 확약의 이력을 저장할 수 있다. 메모리 또는 엔티티로부터의 데이터는 기계 학습 모델(702)을 트레이닝하는데 사용될 수 있다. 이러한 트레이닝에 후속하여, 기계 학습 모델(702)은 추출 모듈(706)에 의해 이용될 수 있다. 따라서, 예를 들어, 오프라인 트레이닝에 대한 요청 및/또는 확약의 이력으로부터의 데이터를 사용하는 트레이닝은 기계 학습 모델의 초기 조건으로 작용할 수 있다. 아래에 설명된 특징화(featurization)를 포함하는 것과 같은 다른 트레이닝 기법이 사용될 수 있다.
도 8은 다양한 예들에 따른 기계 학습 모델(800)의 블록도이다. 기계 학습 모델(800)은 도 7에 도시된 기계 학습 모델(702)과 동일하거나 유사할 수 있다. 기계 학습 모델(800)은 랜덤 포레스트 블록(802), 지원 벡터 기계 블록(804) 및 그래픽 모델 블록(806)과 같은 다수의 기능 블록 중 임의의 것을 포함한다. 랜덤 포레스트 블록(802)은 트레이닝 시간에 결정 트리를 구성함으로써 동작하는 분류에 대한 앙상블 학습 방법을 포함할 수 있다. 랜덤 포레스트 블록(802)은, 예를 들어 개별 트리에 의해 출력된 클래스의 모드인 클래스를 출력할 수 있다. 랜덤 포레스트 블록(802)은 다수의 특정 모델을 생성하기 위해 혼합되고 매칭될 수 있는 몇 개의 상호 교환 가능한 부분을 포함하는 프레임워크로서 기능할 수 있다. 이러한 프레임워크에서 기계 학습 모델을 구성하는 것은 각 노드에서 사용되는 결정의 방향을 결정하고, 각 리프에서 사용할 예측자의 유형을 결정하고, 각 노드에서 최적화할 분할 목표를 결정하고, 트리에 우연성(randomness)을 주입하는 방법을 결정하는 등을 포함한다.
지원 벡터 기계 블록(804)은 기계 학습 모델(800)에 대한 데이터를 분류한다. 지원 벡터 기계 블록(804)은 데이터를 분석하고 분류 및 회귀 분석에 사용되는 패턴을 인식하는 관련 학습 알고리즘을 갖는 감독 학습 모델로서 기능할 수 있다. 예를 들어, 두 개의 범주 중 하나에 속하는 것으로 각각 표시된 트레이닝 데이터 세트가 주어지면, 지원 벡터 기계 트레이닝 알고리즘은 새로운 트레이닝 데이터를 하나의 범주 또는 다른 범주에 할당하는 기계 학습 모델을 구축한다.
그래픽 모델 블록(806)은, 그래프가 랜덤 변수 사이의 조건부 의존성 및 독립성을 나타내는 확률적 그래픽 모델인 확률 모델로서 기능한다. 확률적 그래픽 모델은 관심 변수 집합에 대한 결합확률분포(joint probability distribution)를 나타낸다. 확률적 추론 알고리즘은 이러한 그래픽 모델에서 특정 증거를 기반으로 추론을 수행하도록 작동한다. 추론은, 메시지 또는 특정 문장이 확약 또는 요청을 포함할 확률과 같은 관심 확률에 대한 업데이트를 제공한다. 학습 절차는 비체계적인 정보의 트레이닝 세트로부터 체계를 발견하는 과정을 통해 데이터로부터 그러한 확률 모델을 구성할 수 있다. 학습 절차는 또한 사용자로부터의 명시적인 피드백(예컨대, 추출된 작업 정보가 올바른지 아닌지 확인)으로부터 그러한 확률 모델을 구성할 수 있다. 비텍스트 콘텐츠로부터 작업 콘텐츠를 추론하는 데 사용할 수 있는 그래픽 모델의 애플리케이션은, 예컨대 정보 추출, 음성 인식, 이미지 인식, 컴퓨터 비전 및 저밀도 패리티 검사 코드의 디코딩 등을 포함할 수 있다.
도 9는 확약 및 요청 추출에 관련된 예시적인 온라인 및 오프라인 프로세스(900)를 나타내는 블록도이다. 이러한 프로세스는 프로세서(예컨대, 프로세싱 유닛) 또는 전술한 컴퓨팅 장치(102)와 같은 컴퓨팅 장치에 의해 수행될 수 있다. "오프라인"은 감독/라벨링된 트레이닝 데이터(예컨대, 확약 및 요청 문장이 표시되어 있는 이메일 세트)를 사용하여 기계 학습 알고리즘을 트레이닝하는 트레이닝 상태를 말한다. "온라인"은 새로운(보이지 않는) 이메일로부터 확약 및 요청을 추출하도록 트레이닝된 모델의 적용을 말한다. 특징화 프로세스(902) 및 모델 학습 프로세스(904)는 오프라인 또는 온라인 컴퓨팅 장치에 의해 수행될 수 있다. 반면에, 새로운 메시지(906)를 수신하는 것과 모델을 적용하는 프로세스(908)는 온라인으로 발생할 수 있다.
일부 예에서, 특징화 프로세스(902), 모델 학습 프로세스(904) 및 모델을 적용하는 프로세스(908) 중 임의의 것 또는 모두는 추출 모듈(116 또는 502)과 같은 추출 모듈에 의해 수행될 수 있다. 다른 예에서, 특징화 프로세스(902) 및/또는 모델 학습 프로세스(904)는 기계 학습 모듈(예컨대, 도 1에 도시된 기계 학습 모듈(114))에 의해 수행될 수 있고, 모델을 적용하는 프로세스(908)는 추출 모듈에 의해 수행될 수 있다.
일부 예에서, 특징화 프로세스(902)는 도 5에 도시된 엔티티들(504-518) 중 임의의 것과 같은 다양한 소스로부터 트레이닝 데이터(910) 및 데이터(912)를 수신할 수 있다. 특징화 프로세스(902)는 분류에 도움이 되는 텍스트 조각(text fragment)의 특징 세트를 생성할 수 있다. 텍스트 조각은 하나 이상의 통신(예컨대, 일반적으로 비교적 많은 수의 트레이닝 데이터(910)의 통신)의 콘텐츠의 일부를 포함할 수 있다. 예를 들어, 텍스트 조각은 단어, 용어, 구 또는 이들의 조합일 수 있다. 모델 학습 프로세스(904)는 요청 및 확약과 같은 작업 콘텐츠를 통신으로부터 추출하기 위해 프로세스(908)에서 사용되는 모델을 생성하고 반복적으로 개선하는 기계 학습 프로세스이다. 예를 들어, 모델은 새로운 메시지(906)(예컨대, 이메일, 텍스트 등)에 적용될 수 있다. 컴퓨팅 장치는 모델을 새로운 메시지(906)에 적용하는 프로세스(908)와 비동기적으로 연속적으로, 때때로, 또는 주기적으로 모델 학습 프로세스(904)를 수행할 수 있다. 따라서, 예를 들어, 모델 학습 프로세스(904)는, 모델(또는 모델의 현재 버전)을 메시지(906)에 적용하는 것과 같은 온라인 프로세스와는 독립적으로, 모델을 오프라인으로 업데이트하거나 향상시킬 수 있다.
새로운 메시지(906)에 모델을 적용하는 프로세스(908)는, 예컨대 전술한 엔티티(504-518)로부터 수신될 수 있는 다른 정보(914)의 고려를 포함할 수 있다. 일부 구현 예에서, 다른 소스로부터의 데이터(912)의 적어도 일부는 다른 정보(914)와 동일할 수 있다. 모델을 적용하는 프로세스(908)는 결과적으로 새로운 메시지(906)에 포함된 작업 콘텐츠를 추출할 수 있다. 이러한 작업 콘텐츠는 확약 및/또는 요청을 포함할 수 있다.
도 10은 추출 모듈 또는 프로세서(예컨대, 프로세싱 유닛)에 의해 수행될 수 있는 예시적인 작업 추출 프로세스(1000)의 흐름도이다. 예를 들어, 프로세스 1000은 도 1에 도시된 컴퓨팅 장치(102)(예컨대, 추출 모듈(116))에 의해 수행될 수 있으며, 또는 보다 구체적으로 다른 예에서는, 도 5에 도시된 추출 모듈(502)에 의해 수행될 수 있다.
블록(1002)에서, 추출 모듈이 전자 통신의 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정할 수 있다. 예를 들어, 그러한 전자 통신은 이메일, 텍스트 메시지, 비텍스트 콘텐츠, 소셜 미디어 게시물 등을 포함할 수 있다. 블록(1004)에서, 추출 모듈이 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회할 수 있다. 예를 들어, 하나 이상의 데이터 소스는 도 5의 예에서 기술된 엔티티(504-518) 중 임의의 것을 포함할 수 있다. 다른 예에서, 추출 모듈이 추출 모듈(116)인 경우, 하나 이상의 데이터 소스는 도 1의 예에서 설명된 컴퓨터로 판독 가능한 매체(108)의 임의의 부분을 포함할 수 있다. 하나 이상의 데이터 소스는, 몇 가지 예를 들자면, 주제, 전자 통신의 작성자, 작성자와 관련된 사람, 시간, 날짜, 이벤트 이력 및 조직에 의해 전자 통신과 관련될 수 있다.
블록(1006)에서, 추출 모듈은 콘텐츠로부터 요청 또는 확약을 자동으로 추출할 수 있다. 그러한 추출은 적어도 부분적으로 (i) 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 기초할 수 있다.
일부 구현 예에서, 전자 통신은 오디오, 이미지 또는 비디오를 포함한다. 변환 모듈은 전자 통신의 콘텐츠를 생성하기 위해 오디오, 이미지 또는 비디오를 대응하는 텍스트로 변환하는데 사용될 수 있다. 전자 통신의 콘텐츠는 추출 모듈에 제공될 수 있다.
일부 구현 예에서, 추출 모듈은 프로세스(1000)를 실시간으로 수행할 수 있다.
도 10에 도시된 동작의 흐름은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있는 동작 시퀀스를 나타내는 블록 및/또는 화살표의 집합으로서 도시된다. 블록 기술 순서는 제한으로서 해석되어서는 안 되고, 임의의 수의 기술된 동작들은 하나 이상의 방법 또는 다른 방법을 구현하기 위해 임의의 순서로 조합될 수 있다. 또한, 개별 동작은 본 명세서에 기술된 청구대상의 사상 및 범위를 벗어나지 않고 동작 흐름에서 생략될 수 있다. 소프트웨어와 관련하여, 블록은 하나 이상의 프로세서에 의해 실행될 때 열거된 동작을 수행하도록 프로세서(들)를 구성하는 컴퓨터로 판독 가능한 명령어를 나타낸다. 하드웨어와 관련하여, 블록은 열거된 동작을 실행하도록 구성된 하나 이상의 회로(예컨대, FPGA, 주문형 집적 회로(ASIC) 등)를 나타낼 수 있다.
도 10에 도시된 동작 흐름의 임의의 일상적인 설명, 구성 요소 또는 블록은, 루틴의 특정 논리 기능 또는 요소를 구현하기 위한 하나 이상의 실행 가능 명령어를 포함하는 모듈, 세그먼트 또는 코드 부분을 나타낼 수 있다.
예제
A. 시스템에 있어서, 전자 통신의 콘텐츠를 수신하는 수신기 포트와,
추출 모듈을 포함하되, 상기 추출 모듈은 상기 전자 통신의 콘텐츠를 분석하여 상기 콘텐츠의 하나 이상의 의미를 결정하고, 상기 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회하며, (i) 상기 콘텐츠의 상기 하나 이상의 의미 및 (ii) 상기 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 상기 콘텐츠로부터 요청 또는 확약을 자동으로 추출하는 시스템.
B. A항에 있어서, 상기 하나 이상의 데이터 소스의 콘텐츠는 상기 전자 통신의 콘텐츠의 한 명 이상의 작성자의 개인 데이터를 포함하는 시스템.
C. A항에 있어서, 상기 전자 통신은 오디오, 이미지 또는 비디오를 포함하고, 상기 시스템은 변환 모듈을 더 포함하되, 상기 변환 모듈은 상기 오디오, 상기 이미지 또는 상기 비디오를 대응하는 텍스트로 변환하여 상기 전자 통신의 콘텐츠를 생성하고, 상기 전자 통신의 콘텐츠를 상기 추출 모듈에 제공하는 시스템.
D. A항에 있어서, 상기 추출 모듈은 통계적 모델을 전자 통신의 콘텐츠에 적용함으로써 전자 통신의 콘텐츠를 분석하도록 구성된 시스템.
E. A항에 있어서, 상기 추출 모듈은 상기 추출된 요청 또는 확약과 연관된 사람의 신원 및 하나 이상의 위치로 상기 추출된 요청 또는 확약을 증강시키도록 구성되는 시스템.
F. A항에 있어서, 상기 전자 통신의 콘텐츠 및/또는 상기 하나 이상의 데이터 소스의 콘텐츠를 트레이닝 데이터로서 사용하도록 구성된 기계 학습 모듈을 더 포함하는 시스템.
G. A항에 있어서, 상기 추출 모듈은 (i) 전자 통신의 내용을 분석하고 (ii) 실시간으로 전자 통신의 내용으로부터 요청 또는 확약을 자동 추출하도록 구성되는 시스템.
H. 방법으로서, 메시지를 수신하는 단계와, 상기 메시지를 기계어 특징(feature)으로 자동 변환하기 위해 상기 메시지에 언어 분석을 적용하는 단계와, 상기 메시지와 연관된 정보에 대한 데이터 소스를 검색하는 단계와, 상기 데이터 소스로부터 상기 메시지와 관련된 정보를 수신하는 단계와, 상기 수신된 정보에 적어도 부분적으로 기초하여 상기 기계어 특징 중에서 요청 또는 확약을 자동으로 식별하는 단계를 포함하는 방법.
I. H항에 있어서, 상기 메시지는 오디오, 이미지, 또는 비디오를 포함하고,
상기 메시지에 언어 분석을 적용하는 단계는, 상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트를 결정하는 단계와, 상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트에 상기 언어 분석을 적용하는 단계를 더 포함하는 방법.
J. H항에 있어서, 상기 메시지와 관련된 데이터 소스는 다른 메시지를 포함하는 방법.
K. H항에 있어서, 상기 메시지와 관련된 데이터 소스가 메시지 작성자의 하나 이상의 특징을 포함하는 방법.
L. H항에 있어서, 상기 메시지를 수신하는 단계는 일정 기간 동안 상기 메시지의 부분을 순차적으로 수신하는 단계와, 상기 일정 기간 동안, 상기 메시지의 수신된 부분에 언어 분석을 적용하는 단계를 더 포함하는 방법.
M. H항에 있어서, 상기 요청 또는 상기 확약을 포함하는 것으로서 상기 메시지에 플래그를 달거나/달고 주석을 다는 단계를 더 포함하는 방법.
N. 컴퓨팅 장치로서, 데이터를 수신 및 송신하기 위한 트랜시버 포트와,
프로세서를 포함하되, 상기 프로세서는 사용자 인터페이스를 통해 사용자에 의해 입력된 전자 메시지를 분석하고, 상기 전자 메시지와 관련된 콘텐츠에 대한 데이터를 검색하고, 상기 전자 메시지와 관련된 콘텐츠에 적어도 부분적으로 기초하여, 상기 전자 메시지로부터 요청 또는 확약에 대응하는 텍스트를 추출하는 컴퓨팅 장치.
O. N항에 있어서, 상기 프로세서는, 상기 전자 메시지와 관련된 상기 콘텐츠에 적어도 부분적으로 기초하여 상기 요청 또는 상기 확약의 중요성을 결정하도록 구성된 컴퓨팅 장치.
P. N항에 있어서, 상기 프로세서는, 상기 전자 메시지 또는 상기 데이터를 기계 학습 프로세스를 위한 트레이닝 데이터로서 적용하도록 구성된 컴퓨팅 장치.
Q. P항에 있어서, 상기 전자 메시지를 분석하는 것은 기계 학습 프로세스에 의해 수행되는 컴퓨팅 장치.
R. N항에 있어서, 전자 디스플레이를 더 포함하되, 상기 프로세서는 또한 상기 전자 디스플레이 상에 디스플레이될 이미지를 생성하도록 구성되며, 상기 이미지는 상기 요청 또는 상기 확약에 대응하는 상기 텍스트가 정확한지 또는 참인지를 상기 사용자가 확인하도록 하는 프롬프트를 포함하는 컴퓨팅 장치.
S. N항에 있어서, 상기 프로세서는 또한 상기 전자 메시지의 파라미터를 분석하도록 구성되고, 상기 파라미터는 수신자의 수, 길이, 날짜 및 시간, 및 개별적인 상기 전자 메시지의 제목 헤더 중 하나 이상을 포함하는 컴퓨팅 장치.
T. N항에 있어서, 상기 프로세서는 또한, 상기 사용자가 상기 전자 메시지를 입력하는 동안 상기 사용자에 대한 정보를 분석하도록 구성되는 컴퓨팅 장치.
비록 기법들이 구조적 특징들 및/또는 방법론적 동작에 특정한 언어로 기술되었지만, 첨부된 청구범위들은 설명된 특징들 또는 동작들에 반드시 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 특징 및 동작은 그러한 기법의 예시적인 구현 예로서 기술된다.
다른 언급이 없는 한, 전술한 모든 방법 및 프로세스는 하나 이상의 범용 컴퓨터 또는 프로세서에 의해 실행되는 소프트웨어 코드 모듈에 의해 전체적으로 또는 부분적으로 구현될 수 있다. 코드 모듈은 임의의 유형의 컴퓨터로 판독 가능한 저장 매체 또는 다른 컴퓨터 저장 장치에 저장될 수 있다. 일부 또는 모든 방법은 대안적으로 FPGA, ASIC 등과 같은 특수한 컴퓨터 하드웨어에 의해 전체적으로 또는 부분적으로 구현될 수 있다.
달리 언급하지 않는 한, "할 수 있다"("can", "could") 또는 "할 수도 있다"("might", "may")와 같은 조건부 언어는, 언급한 특징, 요소 및/또는 단계를 어떤 예는 포함하지만 다른 예는 포함하지 않는 것을 나타내는데 사용된다. 따라서, 달리 언급되지 않는 한, 그러한 조건부 언어는, 어떤 특징, 요소 및/또는 단계가 어떤 식으로든 하나 이상의 예에 요구된다거나 또는 하나 이상의 예가 반드시, 사용자 입력 또는 요청에 의해 또는 그러한 입력 또는 요청 없이 이러한 특징, 요소 및/또는 단계가 포함되는지 또는 임의의 특정 예에서 수행되는지 여부를 결정하기 위한 로직을 포함한다는 것을 나타내려는 것은 아니다.
"X, Y 또는 Z 중 적어도 하나"와 같은 결합어는 특별히 다르게 언급되지 않는 한, 항목, 용어 등이 X 또는 Y 또는 Z 또는 이들의 조합일 수 있음을 나타내는 것으로 이해해야 한다.
전술한 예들에 많은 변형 및 수정이 가해질 수 있으며, 그 요소들은 다른 허용 가능한 예로서 이해되어야 한다. 이러한 모든 변경 및 변형은 본 명세서의 범위 내에 포함하고자 한다.

Claims (15)

  1. 시스템에 있어서,
    전자 통신의 콘텐츠를 수신하는 수신기 포트; 및
    추출 모듈
    을 포함하고, 상기 추출 모듈은,
    상기 전자 통신의 콘텐츠를 분석하여 상기 콘텐츠의 하나 이상의 의미를 결정하고,
    상기 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회(query)하며,
    (i) 상기 콘텐츠의 상기 하나 이상의 의미 및 (ii) 상기 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 상기 콘텐츠로부터 요청(request) 또는 확약(commitment)을 자동으로 추출하는 것인 시스템.
  2. 제1항에 있어서,
    상기 하나 이상의 데이터 소스의 콘텐츠는 상기 전자 통신의 콘텐츠의 한 명 이상의 작성자의 개인 데이터를 포함하는 것인 시스템.
  3. 제1항에 있어서,
    상기 전자 통신은 오디오, 이미지 또는 비디오를 포함하고,
    상기 시스템은 변환 모듈을 더 포함하며, 상기 변환 모듈은,
    상기 오디오, 상기 이미지 또는 상기 비디오를 대응하는 텍스트로 변환하여 상기 전자 통신의 콘텐츠를 생성하고,
    상기 전자 통신의 콘텐츠를 상기 추출 모듈에 제공하는 것인 시스템.
  4. 제1항에 있어서,
    상기 추출 모듈은 상기 추출된 요청 또는 확약과 연관된 사람의 신원 및 하나 이상의 위치로 상기 추출된 요청 또는 확약을 증강시키도록(augment) 구성되는 것인 시스템.
  5. 제1항에 있어서,
    상기 전자 통신의 콘텐츠 및/또는 상기 하나 이상의 데이터 소스의 콘텐츠를 트레이닝 데이터로서 사용하도록 구성된 기계 학습 모듈
    을 더 포함하는 것인 시스템.
  6. 방법에 있어서,
    메시지를 수신하는 단계;
    상기 메시지를 기계어 특징(machine language features)으로 자동으로 변환하기 위해 상기 메시지에 언어 분석을 적용하는 단계;
    상기 메시지와 관련된 정보에 대한 데이터 소스를 검색하는 단계;
    상기 데이터 소스로부터 상기 메시지와 연관된 정보를 수신하는 단계; 및
    상기 수신된 정보에 적어도 부분적으로 기초하여 상기 기계어 특징 중에서 요청 또는 확약을 자동으로 식별하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서,
    상기 메시지는 오디오, 이미지, 또는 비디오를 포함하고,
    상기 메시지에 언어 분석을 적용하는 단계는,
    상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트를 결정하는 단계, 및
    상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트에 상기 언어 분석을 적용하는 단계를 더 포함하는 것인 방법.
  8. 제6항에 있어서,
    상기 메시지를 수신하는 단계는,
    일정 기간 동안 상기 메시지의 부분을 순차적으로 수신하는 단계, 및
    상기 일정 기간 동안, 상기 메시지의 수신된 부분에 언어 분석을 적용하는 단계를 더 포함하는 것인 방법.
  9. 제6항에 있어서,
    상기 요청 또는 상기 확약을 포함하는 것으로서 상기 메시지에 플래그를 달거나/달고 주석을 다는 단계
    를 더 포함하는 방법.
  10. 컴퓨팅 장치에 있어서,
    데이터를 수신 및 송신하기 위한 트랜시버 포트; 및
    프로세서
    를 포함하고, 상기 프로세서는,
    사용자 인터페이스를 통해 사용자에 의해 입력된 전자 메시지를 분석하고,
    상기 전자 메시지와 관련된 콘텐츠에 대한 데이터를 검색하고,
    상기 전자 메시지와 관련된 콘텐츠에 적어도 부분적으로 기초하여, 상기 전자 메시지로부터 요청 또는 확약에 대응하는 텍스트를 추출하는 것인 컴퓨팅 장치.
  11. 제10항에 있어서,
    상기 프로세서는, 상기 전자 메시지와 관련된 상기 콘텐츠에 적어도 부분적으로 기초하여 상기 요청 또는 상기 확약의 중요성을 결정하도록 구성된 것인 컴퓨팅 장치.
  12. 제10항에 있어서,
    상기 프로세서는, 상기 전자 메시지 또는 상기 데이터를 기계 학습 프로세스를 위한 트레이닝 데이터로서 적용하도록 구성된 것인 컴퓨팅 장치.
  13. 제10항에 있어서,
    전자 디스플레이
    를 더 포함하고, 상기 프로세서는 또한, 상기 전자 디스플레이 상에 디스플레이될 이미지를 생성하도록 구성되며, 상기 이미지는 상기 요청 또는 상기 확약에 대응하는 상기 텍스트가 정확한지 또는 참인지를 상기 사용자가 확인하도록 하는 프롬프트를 포함하는 것인 컴퓨팅 장치.
  14. 제10항에 있어서,
    상기 프로세서는 또한, 상기 전자 메시지의 파라미터를 분석하도록 구성되고, 상기 파라미터는 수신자의 수, 길이, 날짜 및 시간, 및 개별 전자 메시지의 제목 헤더 중 하나 이상을 포함하는 것인 컴퓨팅 장치.
  15. 제10항에 있어서,
    상기 프로세서는 또한, 상기 사용자가 상기 전자 메시지를 입력하는 동안 상기 사용자에 대한 정보를 분석하도록 구성되는 것인 컴퓨팅 장치.
KR1020177036288A 2015-05-15 2016-04-16 통신 및 콘텐츠로부터 확약 및 요청의 자동 추출 KR102478657B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/714,137 2015-05-15
US14/714,137 US10361981B2 (en) 2015-05-15 2015-05-15 Automatic extraction of commitments and requests from communications and content
PCT/US2016/028002 WO2016186774A1 (en) 2015-05-15 2016-04-16 Automatic extraction of commitments and requests from communications and content

Publications (2)

Publication Number Publication Date
KR20180008717A true KR20180008717A (ko) 2018-01-24
KR102478657B1 KR102478657B1 (ko) 2022-12-15

Family

ID=55861232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036288A KR102478657B1 (ko) 2015-05-15 2016-04-16 통신 및 콘텐츠로부터 확약 및 요청의 자동 추출

Country Status (18)

Country Link
US (1) US10361981B2 (ko)
EP (1) EP3295389A1 (ko)
JP (1) JP6971853B2 (ko)
KR (1) KR102478657B1 (ko)
CN (1) CN107636647A (ko)
AU (1) AU2016265257A1 (ko)
BR (1) BR112017022028B1 (ko)
CA (1) CA2983124C (ko)
CL (1) CL2017002832A1 (ko)
CO (1) CO2017011540A2 (ko)
HK (1) HK1246439A1 (ko)
IL (1) IL254940B (ko)
MX (1) MX2017014609A (ko)
MY (1) MY196056A (ko)
PH (1) PH12017550119A1 (ko)
RU (1) RU2718410C2 (ko)
WO (1) WO2016186774A1 (ko)
ZA (1) ZA201706754B (ko)

Families Citing this family (36)

* 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
US10318617B2 (en) * 2015-06-02 2019-06-11 Gartner, Inc. Methods and apparatus for extraction of content from an email or email threads for use in providing implicit profile attributes and content for recommendation engines
US10282468B2 (en) * 2015-11-05 2019-05-07 International Business Machines Corporation Document-based requirement identification and extraction
US10733529B1 (en) * 2015-11-15 2020-08-04 Google Llc Methods and apparatus for determining original electronic messages that contain asks
US10885452B1 (en) * 2016-06-27 2021-01-05 Amazon Technologies, Inc. Relation graph optimization using inconsistent cycle detection
US11210613B2 (en) * 2016-08-25 2021-12-28 Dialpad Uk Limited Method and system for semi-supervised semantic task management from semi-structured heterogeneous data streams
US20180097753A1 (en) * 2016-09-30 2018-04-05 Microsoft Technology Licensing, Llc Reminder Completion Assistance in Group Conversation
US20180152402A1 (en) * 2016-11-30 2018-05-31 Fujitsu Limited Cyberbullying prevention
US11907272B2 (en) * 2017-02-17 2024-02-20 Microsoft Technology Licensing, Llc Real-time personalized suggestions for communications between participants
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
US10917483B2 (en) * 2017-06-22 2021-02-09 Numberai, Inc. Automated communication-based intelligence engine
US11030547B2 (en) * 2017-09-15 2021-06-08 Microsoft Technology Licensing, Llc System and method for intelligent incident routing
US20190108486A1 (en) * 2017-10-05 2019-04-11 Microsoft Technology Licensing, Llc System and method for intelligent and automatic electronic communication support and routing
US10740726B2 (en) * 2017-10-05 2020-08-11 Servicenow, Inc. Systems and methods for providing message templates in an enterprise system
US20190129749A1 (en) * 2017-11-01 2019-05-02 Microsoft Technology Licensing, Llc Automated extraction and application of conditional tasks
US10511554B2 (en) 2017-12-05 2019-12-17 International Business Machines Corporation Maintaining tribal knowledge for accelerated compliance control deployment
US10659399B2 (en) * 2017-12-22 2020-05-19 Google Llc Message analysis using a machine learning model
US10819667B2 (en) 2018-03-09 2020-10-27 Cisco Technology, Inc. Identification and logging of conversations using machine learning
US11113672B2 (en) * 2018-03-22 2021-09-07 Microsoft Technology Licensing, Llc Computer support for meetings
JP6527270B1 (ja) * 2018-04-19 2019-06-05 ヤフー株式会社 抽出プログラム、抽出方法、及び抽出装置
US10999230B2 (en) * 2018-05-23 2021-05-04 Microsoft Technology Licensing, Llc Relevant content surfacing in computer productivity platforms
US10785185B2 (en) * 2018-06-13 2020-09-22 International Business Machines Corporation Automated summary of digital group conversations
US11687827B2 (en) * 2018-10-04 2023-06-27 Accenture Global Solutions Limited Artificial intelligence (AI)-based regulatory data processing system
US11416904B1 (en) 2018-12-28 2022-08-16 Cdw Llc Account manager virtual assistant staging using machine learning techniques
US10902490B2 (en) * 2018-12-28 2021-01-26 Cdw Llc Account manager virtual assistant using machine learning techniques
JP7292040B2 (ja) * 2019-01-17 2023-06-16 ヤフー株式会社 情報処理プログラム、情報処理装置及び情報処理方法
US11064068B2 (en) 2019-04-16 2021-07-13 Apple Inc. Reminders techniques on a user device
WO2020226663A1 (en) * 2019-05-06 2020-11-12 Google Llc Rendering content using a content agent and/or stored content parameter(s)
CN110177179B (zh) * 2019-05-16 2020-12-29 国家计算机网络与信息安全管理中心 一种基于图嵌入的诈骗号码识别方法
US11372696B2 (en) * 2019-05-30 2022-06-28 Apple Inc. Siri reminders found in apps
US11853701B2 (en) * 2019-06-23 2023-12-26 LitLingo Technologies, Inc. Method for recommending and implementing communication optimizations
US11354504B2 (en) * 2019-07-10 2022-06-07 International Business Machines Corporation Multi-lingual action identification
US11379529B2 (en) 2019-09-09 2022-07-05 Microsoft Technology Licensing, Llc Composing rich content messages
CN113517901A (zh) * 2021-04-13 2021-10-19 深圳市太美亚电子科技有限公司 一种太阳能智能家居系统的智能手环及其控制方法
US11972255B2 (en) 2021-06-25 2024-04-30 International Business Machines Corporation Compliance content generation
US20230186248A1 (en) * 2021-12-14 2023-06-15 Microsoft Technology Licensing, Llc Method and system for facilitating convergence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864848A (en) * 1997-01-31 1999-01-26 Microsoft Corporation Goal-driven information interpretation and extraction system
US6278996B1 (en) * 1997-03-31 2001-08-21 Brightware, Inc. System and method for message process and response

Family Cites Families (134)

* 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
JP3525042B2 (ja) 1997-10-31 2004-05-10 日本電信電話株式会社 電子メールシステム,電子メール転送方法および電子メールプログラムを記録した記録媒体
JPH11184924A (ja) 1997-12-18 1999-07-09 Matsushita Electric Ind Co Ltd スケジューリング装置
US20020076109A1 (en) 1999-01-25 2002-06-20 Andy Hertzfeld Method and apparatus for context sensitive text recognition
US6505167B1 (en) 1999-04-20 2003-01-07 Microsoft Corp. Systems and methods for directing automated services for messaging and scheduling
US6553358B1 (en) 1999-04-20 2003-04-22 Microsoft Corporation Decision-theoretic approach to harnessing text classification for guiding automated action
US6581050B1 (en) 1999-04-20 2003-06-17 Microsoft Corporation Learning by observing a user's activity for enhancing the provision of automated services
US6657643B1 (en) 1999-04-20 2003-12-02 Microsoft Corporation Modulating the behavior of an animated character to reflect beliefs inferred about a user's desire for automated services
US6931384B1 (en) 1999-06-04 2005-08-16 Microsoft Corporation System and method providing utility-based decision making about clarification dialog given communicative uncertainty
US6622160B1 (en) 1999-07-30 2003-09-16 Microsoft Corporation Methods for routing items for communications based on a measure of criticality
US6714967B1 (en) 1999-07-30 2004-03-30 Microsoft Corporation Integration of a computer-based message priority system with mobile electronic devices
US7194681B1 (en) 1999-07-30 2007-03-20 Microsoft Corporation Method for automatically assigning priorities to documents and messages
JP2001216427A (ja) 1999-12-17 2001-08-10 Alcatel Usa Sourcing Lp 電子メールベースの事象スケジューリングのシステムおよび方法
US6560590B1 (en) 2000-02-14 2003-05-06 Kana Software, Inc. Method and apparatus for multiple tiered matching of natural language queries to positions in a text corpus
US7444383B2 (en) 2000-06-17 2008-10-28 Microsoft Corporation Bounded-deferral policies for guiding the timing of alerting, interaction and communications using local sensory information
EP1170722B1 (en) 2000-07-04 2010-09-22 Sony France S.A. Incremental music title item sequence completion apparatus and method
KR20020021748A (ko) 2000-09-16 2002-03-22 이우진 미팅을 위한 개인 정보 자동 제공 시스템
JP2002157197A (ja) * 2000-11-20 2002-05-31 Mitsubishi Electric Corp 携帯電話、携帯電話における電子メール表示方法およびその方法を実現するプログラムを記録した機械読取可能な記録媒体
US7290039B1 (en) 2001-02-27 2007-10-30 Microsoft Corporation Intent based processing
US7330895B1 (en) 2001-03-15 2008-02-12 Microsoft Corporation Representation, decision models, and user interface for encoding managing preferences, and performing automated decision making about the timing and modalities of interpersonal communications
US6990634B2 (en) 2001-04-27 2006-01-24 The United States Of America As Represented By The National Security Agency Method of summarizing text by sentence extraction
US20020174170A1 (en) 2001-05-21 2002-11-21 Serge Ioffe Method and system for distributing messages to agents
US7668900B2 (en) 2001-05-31 2010-02-23 Access Systems Americas, Inc. System and method for scheduling an event over a network
US7409423B2 (en) 2001-06-28 2008-08-05 Horvitz Eric J Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access
US20030187632A1 (en) * 2002-04-02 2003-10-02 Menich Barry J. Multimedia conferencing system
US20030200168A1 (en) * 2002-04-10 2003-10-23 Cullen Andrew A. Computer system and method for facilitating and managing the project bid and requisition process
US7742048B1 (en) * 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
US20040012638A1 (en) 2002-05-24 2004-01-22 Donnelli Richard K. System and method of electronic commitment tracking
US20040148356A1 (en) 2002-11-04 2004-07-29 Bishop James William System and method for private messaging
US7266584B2 (en) 2003-06-19 2007-09-04 International Business Machines Corporation Electronic mail distribution via a network of computer controlled display terminals with interactive display interfaces enabling senders/receivers to view sequences of only text from sequences of E-Mail having same headers
US7454393B2 (en) 2003-08-06 2008-11-18 Microsoft Corporation Cost-benefit approach to automatically composing answers to questions by extracting information from large unstructured corpora
US7158980B2 (en) 2003-10-02 2007-01-02 Acer Incorporated Method and apparatus for computerized extracting of scheduling information from a natural language e-mail
US7257564B2 (en) 2003-10-03 2007-08-14 Tumbleweed Communications Corp. Dynamic message filtering
US20050091578A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Electronic sticky notes
US20050165631A1 (en) 2004-01-28 2005-07-28 Microsoft Corporation Time management representations and automation for allocating time to projects and meetings within an online calendaring system
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
US8868670B2 (en) 2004-04-27 2014-10-21 Avaya Inc. Method and apparatus for summarizing one or more text messages using indicative summaries
US7788589B2 (en) 2004-09-30 2010-08-31 Microsoft Corporation Method and system for improved electronic task flagging and management
US7412483B2 (en) 2005-01-07 2008-08-12 International Business Machines Corporation Automated email activity management
US8316315B2 (en) * 2005-02-28 2012-11-20 Microsoft Corporation Automatically generated highlight view of electronic interactions
US20060218553A1 (en) 2005-03-25 2006-09-28 Dolphin Software, Inc. Potentially hazardous material request and approve methods and apparatuses
US8180663B2 (en) 2005-06-28 2012-05-15 Microsoft Corporation Facilitating automated meeting scheduling
US20070005409A1 (en) 2005-06-30 2007-01-04 International Business Machines Corporation Method and structure for overriding calendar entries based on context and business value
US7660859B2 (en) 2005-08-15 2010-02-09 Microsoft Corporation Tracking of electronic mail messages
ATE391388T1 (de) * 2005-08-17 2008-04-15 Alcatel Lucent Vorrichtung und verfahren zur fernaktivierung/- deaktivierung von diensten für kommunikationsendgeräte über ein ip netzwerk
US8429292B2 (en) 2005-09-26 2013-04-23 Research In Motion Limited Scheduling events from electronic messages
US8055707B2 (en) 2005-11-30 2011-11-08 Alcatel Lucent Calendar interface for digital communications
US8423347B2 (en) 2006-06-06 2013-04-16 Microsoft Corporation Natural language personal information management
US8219920B2 (en) 2006-08-04 2012-07-10 Apple Inc. Methods and systems for managing to do items or notes or electronic messages
US8261197B2 (en) 2006-08-04 2012-09-04 Apple Inc. Methods and systems for managing to do items or notes or electronic messages
US20080040189A1 (en) 2006-08-14 2008-02-14 Cisco Technology, Inc. Automatic selection of meeting participants
US7877447B2 (en) 2006-09-11 2011-01-25 International Business Machines Corporation Method and system for managing rejected messages
US8195447B2 (en) 2006-10-10 2012-06-05 Abbyy Software Ltd. Translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions
JP4865526B2 (ja) * 2006-12-18 2012-02-01 株式会社日立製作所 データマイニングシステム、データマイニング方法及びデータ検索システム
US20080172606A1 (en) 2006-12-27 2008-07-17 Generate, Inc. System and Method for Related Information Search and Presentation from User Interface Content
US20090106201A1 (en) 2006-12-27 2009-04-23 White Robert A System and method for related information search and presentation from user interface content
US7778953B2 (en) * 2007-02-19 2010-08-17 Kabushiki Kaisha Toshiba Document management apparatus and document management method
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
US20080281922A1 (en) 2007-05-09 2008-11-13 Microsoft Corporation Automatic generation of email previews and summaries
US8484745B2 (en) 2007-05-21 2013-07-09 International Business Machines Corporation Electronic calendar collaboration
US20090063993A1 (en) 2007-08-31 2009-03-05 International Business Machines Corporation System and method for workflow to allow meeting invitees to subscribe as dependents of other invitees
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
JP2009093503A (ja) 2007-10-10 2009-04-30 Nec Corp スケジュール登録支援システム、スケジュール登録支援方法及びプログラム
WO2009103156A1 (en) * 2008-02-20 2009-08-27 Mcmaster University Expert system for determining patient treatment response
US20090214034A1 (en) 2008-02-26 2009-08-27 Rohit Mehrotra Systems and methods for enabling electronic messaging with recipient-specific content
US20090228583A1 (en) 2008-03-07 2009-09-10 Oqo, Inc. Checking electronic messages for compliance with user intent
US20090235280A1 (en) 2008-03-12 2009-09-17 Xerox Corporation Event extraction system for electronic messages
JP2009223840A (ja) 2008-03-19 2009-10-01 Fujitsu Ltd スケジュール管理プログラム,スケジュール管理装置およびスケジュール管理方法
US20100070877A1 (en) 2008-09-17 2010-03-18 Microsoft Corporation Seamless conversion of ordinary email data into calendar data
US20100082751A1 (en) * 2008-09-29 2010-04-01 Microsoft Corporation User perception of electronic messaging
US8589157B2 (en) 2008-12-05 2013-11-19 Microsoft Corporation Replying to text messages via automated voice search techniques
JP2010191864A (ja) 2009-02-20 2010-09-02 Nec Corp タスク自動生成システム、その方法及びそのプログラム
US8631080B2 (en) 2009-03-12 2014-01-14 Microsoft Corporation Email characterization
MY169563A (en) 2009-03-23 2019-04-22 Mimos Berhad A system for automatic semantic-based mining
KR101022254B1 (ko) 2009-04-14 2011-03-21 (주)모비루스 트래픽 저감형 일정 관리 시스템 및 방법
US8326859B2 (en) 2009-11-02 2012-12-04 Microsoft Corporation Task prediction
US8832205B2 (en) 2009-11-02 2014-09-09 Lextine Software, Llc System and method for extracting calendar events from free-form email
US20110125734A1 (en) 2009-11-23 2011-05-26 International Business Machines Corporation Questions and answers generation
US20110145823A1 (en) 2009-12-10 2011-06-16 The Go Daddy Group, Inc. Task management engine
US20110145822A1 (en) 2009-12-10 2011-06-16 The Go Daddy Group, Inc. Generating and recommending task solutions
US8943043B2 (en) 2010-01-24 2015-01-27 Microsoft Corporation Dynamic community-based cache for mobile search
US20110252351A1 (en) 2010-04-09 2011-10-13 Calamander Inc. Systems and methods for consuming, sharing, and synchronizing time based information
US20120143961A1 (en) 2010-12-06 2012-06-07 Sony Ericsson Mobile Communications Ab Calendar event creation using electronic message conversations
WO2012092556A2 (en) 2010-12-30 2012-07-05 Kleinbart Kyle System and method for online communications management
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
US8694593B1 (en) 2011-03-31 2014-04-08 Google Inc. Tools for micro-communities
US20120254764A1 (en) 2011-04-01 2012-10-04 Yahoo! Inc. System to suggest and automatically organize events for social activities
US20120296832A1 (en) 2011-05-16 2012-11-22 Sap Ag Defining agreements using collaborative communications
US10984387B2 (en) * 2011-06-28 2021-04-20 Microsoft Technology Licensing, Llc Automatic task extraction and calendar entry
US9116984B2 (en) 2011-06-28 2015-08-25 Microsoft Technology Licensing, Llc Summarization of conversation threads
US8676566B2 (en) 2011-07-07 2014-03-18 Korea Advanced Institute Of Science And Technology Method of extracting experience sentence and classifying verb in blog
CN102495860B (zh) 2011-11-22 2013-10-02 北京大学 基于语言模型的专家推荐方法
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
US8903924B2 (en) 2011-12-09 2014-12-02 International Business Machines Corporation Aggregating data in electronic communications
US9547832B2 (en) 2012-01-10 2017-01-17 Oracle International Corporation Identifying individual intentions and determining responses to individual intentions
US20130218836A1 (en) 2012-02-22 2013-08-22 Microsoft Corporation Deep Linking From Task List Based on Intent
US9275342B2 (en) 2012-04-09 2016-03-01 24/7 Customer, Inc. Method and apparatus for intent modeling and prediction
US9685160B2 (en) 2012-04-16 2017-06-20 Htc Corporation Method for offering suggestion during conversation, electronic device using the same, and non-transitory storage medium
US20150143258A1 (en) 2012-09-20 2015-05-21 Handle, Inc. Email and task management services and user interface
US9085303B2 (en) 2012-11-15 2015-07-21 Sri International Vehicle personal assistant
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
US20140215472A1 (en) 2013-01-29 2014-07-31 Hewlett-Packard Development Company, L.P. Task 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
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
US20140279622A1 (en) 2013-03-08 2014-09-18 Sudhakar Bharadwaj System and method for semantic processing of personalized social data and generating probability models of personal context to generate recommendations in searching applications
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
US10380105B2 (en) 2013-06-06 2019-08-13 International Business Machines Corporation QA based on context aware, real-time information from mobile devices
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 盈世信息科技(北京)有限公司 一种邮件日程助手处理方法
WO2015058604A1 (zh) 2013-10-21 2015-04-30 北京奇虎科技有限公司 获取问答对相关联程度、优化搜索排名的装置和方法
US10474747B2 (en) 2013-12-16 2019-11-12 International Business Machines Corporation Adjusting time dependent terminology in a question and answer system
US20150215253A1 (en) 2014-01-29 2015-07-30 Sunil Vemuri System and method for automatically mining corpus of communications and identifying messages or phrases that require the recipient's attention, response, or action
US20150294220A1 (en) * 2014-04-11 2015-10-15 Khalid Ragaei Oreif Structuring data around a topical matter and a.i./n.l.p./ machine learning knowledge system that enhances source content by identifying content topics and keywords and integrating associated/related contents
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
MY181677A (en) 2014-05-05 2020-12-31 Mimos Berhad System and method for generating knowledge base automatically
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
EP3154052A4 (en) * 2014-06-03 2018-01-10 Sony Corporation Information processing device, information processing method, and program
US10785173B2 (en) 2014-07-03 2020-09-22 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
US11481741B2 (en) 2014-10-31 2022-10-25 Block, Inc. Money transfer by use of a payment proxy
US10303798B2 (en) 2014-12-18 2019-05-28 Nuance Communications, Inc. Question answering from structured and unstructured data sources
US11349790B2 (en) * 2014-12-22 2022-05-31 International Business Machines Corporation System, method and computer program product to extract information from email communications
US20160196490A1 (en) 2015-01-02 2016-07-07 International Business Machines Corporation Method for Recommending Content to Ingest as Corpora Based on Interaction History in Natural Language Question and Answering Systems
US20160335572A1 (en) 2015-05-15 2016-11-17 Microsoft Technology Licensing, Llc Management of commitments and requests extracted from communications and content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864848A (en) * 1997-01-31 1999-01-26 Microsoft Corporation Goal-driven information interpretation and extraction system
US6278996B1 (en) * 1997-03-31 2001-08-21 Brightware, Inc. System and method for message process and response

Also Published As

Publication number Publication date
RU2017134261A (ru) 2019-04-04
JP6971853B2 (ja) 2021-11-24
CO2017011540A2 (es) 2018-01-31
RU2017134261A3 (ko) 2019-10-25
IL254940B (en) 2020-09-30
CA2983124A1 (en) 2016-11-24
CL2017002832A1 (es) 2018-04-13
PH12017550119A1 (en) 2018-02-26
KR102478657B1 (ko) 2022-12-15
BR112017022028A2 (pt) 2018-07-03
MX2017014609A (es) 2018-03-01
RU2718410C2 (ru) 2020-04-02
IL254940A0 (en) 2017-12-31
US10361981B2 (en) 2019-07-23
CN107636647A (zh) 2018-01-26
AU2016265257A1 (en) 2017-10-26
WO2016186774A1 (en) 2016-11-24
BR112017022028B1 (pt) 2023-12-19
CA2983124C (en) 2023-03-14
US20160337295A1 (en) 2016-11-17
ZA201706754B (en) 2019-02-27
JP2018524669A (ja) 2018-08-30
MY196056A (en) 2023-03-10
EP3295389A1 (en) 2018-03-21
HK1246439A1 (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
KR102478657B1 (ko) 통신 및 콘텐츠로부터 확약 및 요청의 자동 추출
US20200005248A1 (en) Meeting preparation manager
US20170193349A1 (en) Categorizationing and prioritization of managing tasks
US20160335572A1 (en) Management of commitments and requests extracted from communications and content
US10755195B2 (en) Adaptive, personalized action-aware communication and conversation prioritization
US10706233B2 (en) System and method for extracting and utilizing information from digital communications
US9904669B2 (en) Adaptive learning of actionable statements in natural language conversation
US10552218B2 (en) Dynamic context of tasks
US10397157B2 (en) Message management in a social networking environment
US9785891B2 (en) Multi-task conditional random field models for sequence labeling
US10614422B2 (en) Method and system for communication content management
US20220038868A1 (en) Identifying decisions and rendering decision records in a group-based communication interface
US20220284171A1 (en) Hierarchical structure learning with context attention from multi-turn natural language conversations
Nezhad et al. eAssistant: cognitive assistance for identification and auto-triage of actionable conversations
US11861463B2 (en) Identifying related messages in a natural language interaction
US20180349787A1 (en) Analyzing communication and determining accuracy of analysis based on scheduling signal
US20180349754A1 (en) Communication reply bot
US20230092334A1 (en) Systems and methods for linking notes and transcripts
Nigatu et al. Co-Designing for Transparency: Lessons from Building a Document Organization Tool in the Criminal Justice Domain

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant