KR20180008717A - Automatic extraction of commit and request from communication and content - Google Patents

Automatic extraction of commit and request from communication and content 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
Korean (ko)
Other versions
KR102478657B1 (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 KR20180008717A publication Critical patent/KR20180008717A/en
Application granted granted Critical
Publication of KR102478657B1 publication Critical patent/KR102478657B1/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

전자 통신의 콘텐츠를 분석하는 시스템은 자동으로 전자 통신으로부터 요청 또는 확약을 추출할 수 있다. 일례의 프로세스에서, 프로세싱 컴포넌트는 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정하고; 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회하며; 적어도 부분적으로 (i) 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 기초하여, 콘텐츠로부터 요청 또는 확약을 자동으로 식별하고 추출한다. 초기 인식 및 추출 후에, 요청 또는 확약에 대한 설명의 확인과 개선, 및 발신자, 송신자 또는 다른 사람 중 하나 이상을 도와 추가 메시지, 미리 알림, 약속 또는 할 일 목록의 생성을 비롯하여 요청이나 확약을 추적하고 해결하는 액션을 포함하는 복수의 액션이 뒤따른다.A system for analyzing the content of an electronic communication may automatically extract a request or commitment from the electronic communication. In an exemplary process, the processing component analyzes the content to determine one or more meanings of the content; Query the content of one or more data sources associated with electronic communication; At least in part, automatically identifies and extracts a request or commitment from the content based on (i) one or more meanings of the content and (ii) the content of the one or more data sources. After initial recognition and extraction, a request or commitment can be identified and improved, and a request or commitment can be tracked to help one or more of the sender, sender, or other person, including creation of additional messages, reminders, appointments or to-do lists Followed by a plurality of actions including an action to resolve.

Description

통신 및 콘텐츠로부터 확약 및 요청의 자동 추출Automatic extraction of commit and request from communication and content

전자 통신은 사회 및 비즈니스 상호 작용의 중요한 형태가 되었다. 이러한 전자 통신은, 몇 가지 예를 들자면, 이메일, 캘린더, SMS 텍스트 메시지, 음성 메일, 이미지, 비디오 및 기타 디지털 통신 및 콘텐츠를 포함한다. 전자 통신은 여러 컴퓨팅 장치 중 어느 하나에서 사용자에 의해 자동 또는 수동으로 생성된다.Electronic communication has become an important form of social and business interaction. Such electronic communications include, by way of example, email, calendars, SMS text messages, voice mail, images, video and other digital communications and content. Electronic communication is automatically or manually generated by a user in any one of several computing devices.

본 개시는, 사용자들 사이의 메시지와 같은 전자 통신에서 요청(request) 및 확약(commitment)을 식별하기 위한 기법 및 아키텍처를 기술한다. 예를 들어, 두 사람 사이의 이메일 교환은, 첫 번째 사람이 작업을 수행하라는 요청을 두 번째 사람에게 보내는 것과 두 번째 사람이 작업을 수행하겠다는 확약을 나타내는 메시지로 응답하는 것의 텍스트를 포함할 수 있다. 이메일 교환은, 시스템이 작업을 수행하도록 하는 요청 및/또는 수신자에 의한 작업을 수행하기로 하는 확약의 존재를 자동으로 결정하고 또한 요청을 발신한 사람 및 작업을 수행하거나 또는 작업 완료에 기여하기로 하는 확약으로 응답하는 개인 또는 사람들의 신원을 결정하기에 충분한 정보를 전달할 수 있다. 이메일 교환이 요청 및/또는 확약의 존재를 결정하기에 충분한 정보를 전달하지 않으면, 시스템은 이메일 교환의 하나 이상의 부분과 관련될 수 있는 다른 정보 소스에 조회할 수 있다. 예를 들어, 시스템은 이메일의 유지된 "스레드"에 포함된 것과 같은 보다 긴 메시지 이력을 조사하거나, 또는 이메일 교환 작성자 중 한 명 또는 둘 모두의 캘린더나 데이터베이스에 추가 정보를 조회할 수 있다. 시스템은 또한, 어느 한쪽에 대해 어느 수준의 불확실성이 있으면 작업 수행에 대한 잠재적인 요청 또는 확약의 존재에 대해서 통신에 관련된 한 명 이상의 사용자에게 확인을 구할 수 있다.This disclosure describes techniques and architectures for identifying requests and commitments in electronic communications such as messages between users. For example, the exchange of e-mails between two people may include text of a first person sending a request to perform a task to a second person and a second person responding with a message indicating a commitment to perform the task . E-mail exchanges are used to automatically determine the existence of a request to cause the system to perform an action and / or a commitment to perform an action by the recipient, and also to perform the person and task that originated the request, or to contribute to the task completion. And may convey enough information to determine the identity of the person or persons responding to the commitment. If the email exchange does not convey enough information to determine the existence of the request and / or commitment, the system may query other sources of information that may be associated with one or more portions of the email exchange. For example, the system may examine longer message history such as those contained in the retained "thread " of the email, or query the calendar or database of one or both of the email exchange writers for additional information. The system may also seek confirmation from one or more users involved in the communication about the existence of a potential request or commitment to perform a task if there is some level of uncertainty about either side.

본 발명의 내용은 아래의 발명을 실시하기 위한 구체적인 내용에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 발명의 내용은 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 결정하는 데 도움이 되고자 사용하고자 함도 아니다. 예를 들어, "기법(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)) 및/또는 위 문맥 및 문서 전체에 걸쳐 허용하는 기타 기법을 지칭할 수 있다.The present invention is provided in order to provide a simplified description of selected embodiments of the present invention. The present invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to help determine the scope of the claimed subject matter. For example, the term " technique "may be used interchangeably with system (s), method (s), computer readable instructions, module (s), algorithms, hardware logic (e.g., Field- (ASIC), an Application-Specific Standard Product (ASSP), a System-on-a-Chip system (SOC), a Complex Programmable Logic Device (CPLD)), and / Other techniques may be referred to.

상세한 설명은 첨부된 도면을 참조하여 설명된다. 도면에서, 참조 번호의 가장 왼쪽 숫자는 참조 번호가 처음 나타나는 도면을 나타낸다. 상이한 도면에서 동일한 참조 번호는 유사하거나 동일한 항목을 나타낸다.
도 1은 본원에 개시된 기법들이 구현될 수 있는 예시적인 환경을 도시한 블록도이다.
도 2는 예시적인 작업 추출 프로세스에 적용되는 전자 통신을 나타내는 블록도이다.
도 3은 요청 및 확약의 예시적인 텍스트 스레드 및 작업 추출 프로세스를 포함하는 전자 통신을 나타내는 블록도이다.
도 4는 메시지, 확약 및 요청 간의 예시적인 관계를 나타내는 표이다.
도 5는 예시적인 추출 모듈과 통신할 수 있는 다수의 정보 소스의 블록도이다.
도 6은 비텍스트(non-text) 통신에 작용하는 예시적인 추출 모듈의 블록도이다.
도 7은 예시적인 기계 학습 시스템의 블록도이다.
도 8은 예시적인 기계 학습 모델의 블록도이다.
도 9는 확약 및 요청 추출을 위한 온라인 및 오프라인 프로세스의 예를 도시하는 블록도이다.
도 10은 예시적인 작업 추출 프로세스의 흐름도이다.
The detailed description will be made with reference to the accompanying drawings. In the drawings, the left-most digit (s) of a reference number refers to the figure in which the reference number first appears. The same reference numbers in different drawings indicate similar or identical items.
Figure 1 is a block diagram illustrating an exemplary environment in which the techniques described herein may be implemented.
2 is a block diagram illustrating electronic communication applied to an exemplary task extraction process.
3 is a block diagram illustrating an electronic communication including an exemplary text thread of a request and commitment and a task extraction process.
4 is a table showing exemplary relationships between messages, commitments, and requests.
5 is a block diagram of multiple information sources capable of communicating with an exemplary extraction module.
Figure 6 is a block diagram of an exemplary extraction module operating on non-text communication.
7 is a block diagram of an exemplary machine learning system.
8 is a block diagram of an exemplary machine learning model.
Figure 9 is a block diagram illustrating an example of online and offline processes for commit and request extraction.
Figure 10 is a flow diagram of an exemplary job extraction process.

다양한 예들은, 무엇보다도 하나 이상의 사용자 사이의 메시지(예컨대, 단일 사용자가 자신에게 또는 하나 이상의 다른 사용자에게 메시지를 전송할 수 있다)와 같이, 전자 통신으로부터의 작업의 추출을 수행하는 시스템을 위한 기법 및 아키텍처를 기술한다. 예를 들어, 두 사람 사이의 이메일 교환은 첫 번째 사람이 두 번째 사람에게 작업을 수행하라는 요청을 보내는 것과 두 번째 사람이 작업을 수행하겠다는 확약을 하는(예컨대, 동의하는) 것의 텍스트를 포함할 수 있다. 이메일 교환은 시스템이 작업 수행 요청 및/또는 작업 수행 확약의 존재를 자동으로 결정하기에 충분한 정보를 전달할 수 있다. 일부 구현 예에서, 이메일 교환은 요청 및/또는 확약의 존재를 결정하기에 충분한 정보를 전달하지 않는다. 이 경우이든 아니든, 시스템은 이메일 교환의 하나 이상의 부분과 관련될 수 있는 다른 정보 소스에 조회할 수 있다. 예를 들어, 시스템은 이메일 교환의 작성자 중 하나 또는 둘 모두에 의해 또는 다른 사람에 의해 교환된 다른 메시지를 검사할 수 있다. 시스템은 또한 보다 큰 규모의 이메일 및 다른 메시지를 검사할 수도 있다. 다른 메시지 외에, 시스템은 추가 정보를 위해 이메일 교환의 작성자 중 한쪽 또는 양쪽 모두의 캘린더나 데이터베이스에 조회할 수 있다. 일부 구현 예에서, 시스템은 작성자 중 하나 또는 둘 모두의 각각의 위치에서 트래픽 또는 기상 조건을 조회할 수 있다.Various examples include, for example, a technique for a system to perform an extraction of a task from an electronic communication, such as a message between one or more users (e.g., a single user may send a message to itself or one or more other users) Describe the architecture. For example, an e-mail exchange between two people could include the text of a first person sending a request to perform a task to a second person and a second person making a commitment to perform the task (eg, agreeing) have. The e-mail exchange can convey information sufficient for the system to automatically determine the presence of a task execution request and / or task execution commitment. In some implementations, the email exchange does not convey enough information to determine the existence of the request and / or the commit. In this case, the system can query other sources of information that may be associated with one or more parts of the email exchange. For example, the system may check for other messages exchanged by one or both of the authors of the email exchange or by another person. The system may also check for larger emails and other messages. In addition to other messages, the system can query the calendar or database of one or both authors of the email exchange for additional information. In some implementations, the system may query traffic or weather conditions at each location of one or both of the authors.

본원에서, "추출(extract)"은 통신에서 요청 또는 확약을 결정하는 것을 기술하기 위해 사용된다. 예를 들어, 시스템은 일련의 텍스트 메시지로부터 요청 또는 확약을 추출할 수 있다. 여기서, 시스템은 일련의 텍스트 메시지로부터 요청 또는 확약을 결정 또는 식별하지만, 반드시 일련의 텍스트 메시지로부터 요청 또는 확약을 제거하지는 않는다. 즉, 본원에서 사용된 문맥에서 "추출"은 특정 실시예에서 달리 기술하지 않는 한, "제거"를 의미하지 않는다.As used herein, "extract" is used to describe the determination of a request or commitment in a communication. For example, the system may extract a request or commitment from a series of text messages. Here, the system determines or identifies a request or commitment from a series of text messages, but does not necessarily remove the request or commitment from the series of text messages. In other words, "extraction" in the context of the present application does not mean "removal"

본원에서, 통신으로부터 요청 및/또는 확약을 추출하는 프로세스는 "작업 콘텐츠(task content)"를 추출하는 프로세스로서 설명될 수 있다. 즉, 본 명세서에 기재된 "작업 콘텐츠"는 통신의 의미로 전달되는 요청 및 확약의 조합을 포함하는 하나 이상의 요청, 하나 이상의 확약 및/또는 프로젝트를 말한다. 다양한 구현 예에서, 확약 및 요청 간의 상호 작용이 식별되고 추출될 수 있다. 이러한 상호 작용은, 예를 들어, 요청자에 대한 확약이 요청자 및/또는 제3자(예컨대, 개인, 그룹, 처리 컴포넌트 등)에 대한 하나 이상의 요청을 생성하는 경우일 수 있다. 예를 들면, 엔지니어링 관리자로부터의 생산 수율 분석 완료 요청에 대한 확약은 생산 데이터를 위해 제조 팀으로 보내는 2차 요청을 생성할 수 있다.In the present application, the process of extracting a request and / or commitment from a communication may be described as a process of extracting "task content ". That is, the term "work content" as used herein refers to one or more requests, one or more commitments and / or projects, including combinations of requests and commitments conveyed in the sense of a communication. In various implementations, the interaction between commit and request can be identified and extracted. This interaction may be, for example, when the commit to the requestor creates one or more requests to the requestor and / or a third party (e.g., an individual, a group, a processing component, etc.). For example, a commitment to request completion of a production yield analysis from an engineering manager may generate a secondary request to the manufacturing team for production data.

다양한 구현 예에서, 프로세스는 확약 또는 요청을 포함하는 텍스트 조각을 추출할 수 있다. 예를 들어, 단락이 그 단락의 두 번째 문장에 확약이나 요청을 포함할 수 있다. 또한 프로세스는, 단락의 세 번째 문장이나 또는 다양한 단어 구문과 같이, 확약 또는 요청을 포함하는 텍스트 조각, 문장 또는 단락을 추출할 수 있다. In various implementations, the process may extract a piece of text that includes the commit or request. For example, a paragraph may contain a commitment or a request in the second sentence of the paragraph. The process may also extract text fragments, sentences, or paragraphs that contain commit or request, such as the third sentence of the paragraph or various word phrases.

다양한 구현 예에서, 프로세스는 추출된 작업 콘텐츠(예컨대, 요청 또는 확약)를 사람들의 신원 및 추출된 작업 콘텐츠와 연관된 하나 이상의 위치로 증강시킬(augment) 수 있다. 예를 들어, 추출된 요청은 요청자 및/또는 "피요청자(들)"의 신원, 관련 위치(들), 시간/날짜 등과 같은 추가 정보와 함께 저장되거나 처리될 수 있다.In various implementations, the process may augment the extracted work content (e.g., request or commitment) to one or more locations associated with the identity of the person and the extracted work content. For example, the extracted request may be stored or processed with additional information such as the identity of the requester and / or "subject (s) ", related location (s), time /

일단 컴퓨팅 시스템에 의해 식별되고 추출되면, 통신의 작업 콘텐츠(예컨대, 확약 또는 요청의 제안 또는 확인)는 확약 또는 요청의 의미 체계(semantics)를 식별 또는 추론하기 위해 추가로 처리되거나 분석될 수 있는데, 이는 요청 또는 확약의 주 소유자(예컨대, 통신 당사자가 아닌 경우); 작업 콘텐츠와 그 속성(예컨대, 설명 또는 요약)의 특성; 지정된 또는 추론된 관련 날짜(예컨대, 확약 또는 요청 완료를 위한 기한); 최초 응답이나 후속 메시지와 같은 관련 응답 및 이들의 예상 타이밍(예컨대, 인사말이 예상될 때마다 또는 사람들 사이에서 작업 완료를 위한 효율적 통신시 또는 조직마다); 및 요청을 만족시키기 위해 사용되는 정보 자원을 식별하는 것을 포함한다. 이러한 정보 자원은, 예를 들어 시간, 사람, 위치 등에 관한 정보를 제공할 수 있다. 식별된 작업 콘텐츠 및 작업 콘텐츠에 대한 추론은 미리 알림(reminder), 할 일 목록(to-do list)의 수정(예컨대, 디스플레이), 약속, 모임 요청, 및 기타 시간 관리 활동과 같은 자동(예컨대, 컴퓨터로 생성된) 서비스를 실행하는 데 사용될 수 있다. 일부 예에서, 이러한 자동 서비스는, 메시지 작성(예컨대, 이메일 또는 텍스트의 타이핑), 메시지 읽기, 또는 서버 또는 클라이언트 장치에서 이메일을 오프라인 처리하는 동안과 같은 다른 시간에, 적용될 수 있다. 요청 또는 확약에 대한 최초 추출 및 추론은 또한, 하나 이상의 참가자와 협력하여 적어도 부분적으로 누락된 정보 또는 통신에서 탐지되거나 추론된 하나 이상의 속성에 대한 불확실성의 식별에 기초하여 요청 또는 확약에 대한 현재의 이해 또는 추론 및 요청 또는 확약의 상태를 확인하거나 개선하는, 자동화된 서비스를 호출할 수 있다.Once identified and extracted by the computing system, the operational content of the communication (e.g., the proposal or confirmation of the commitment or request) can be further processed or analyzed to identify or infer the semantics of the commitment or request, This is the primary owner of the request or commitment (e.g., not the communication party); The nature of the work content and its attributes (e.g., description or summary); Relevant dates specified or inferred (e.g., deadlines for commit or request completion); Related responses such as initial responses or follow-up messages, and their expected timing (e.g., at each time an greeting is expected or during an effective communication or per organization to complete a task between people); And identifying information resources used to satisfy the request. Such information resources may provide information, for example, time, person, location, and so on. The inference for the identified task content and task content can be automated (e.g., reminder), reminder, modification (e.g., display) of to-do lists, appointments, meeting requests, Computer-generated) services. In some instances, such automated services may be applied at other times, such as during message creation (e.g., typing e-mail or text), reading a message, or offline processing of e-mail on a server or client device. The initial extraction and inference of a request or commitment may also be made in cooperation with one or more participants to provide a current understanding of the request or commitment based on the identification of at least partially missing information or uncertainty in one or more attributes detected or inferred from the communication Or invoke an automated service that verifies or improves the state of the inference and request or commitment.

일부 예에서, 작업 콘텐츠는 대인 통신(예컨대, 이메일, SMS 텍스트, 인스턴트 메시징, 전화 통화, 소셜 미디어에서의 게시 등)을 캡처한 디지털 콘텐츠 및 작성된 콘텐츠(예컨대, 이메일, 워싱턴 레드몬드에 있는 마이크로소프트사의 OneNote®와 같은 노트 작성 및 조직 툴, 워드 프로세싱 문서 등)를 포함하는 다수 형태의 통신으로부터 추출될 수 있다.In some instances, the work content may include digital content that captures interpersonal communications (e.g., email, SMS text, instant messaging, phone calls, posting on social media, etc.), and content created (e.g., e-mail, A note-taking and organization tool such as OneNote®, a word processing document, etc.).

후술하는 바와 같이, 다양한 형태의 전자 통신으로부터 작업 콘텐츠를 식별 및 추출하기 위한 몇몇 예시적인 기법은 전자 통신의 콘텐츠의 언어 분석을 포함할 수 있는데, 여기에 인간 주석자(human annotation)가 확약 또는 요청을 포함하는 것으로 주석을 달 수 있다. 인간 주석은 확약 또는 요청의 자동 추출 및 확약 또는 요청에 대한 다양한 속성을 구축하고 테스트하는 데 사용되는 트레이닝 데이터의 코퍼스를 생성하는 프로세스에 사용될 수 있다. 기법은 또한 인간이 생성한 레이블(예컨대, 이메일 참여 데이터 또는 비교적 정교한 추출 방법을 기반으로 함)에 대한 프록시를 포함할 수 있다. 추출 시스템에서 사용되는 방법을 개발하거나 작업이나 확약 및 특성을 식별 및/또는 추론하는 방법의 실시간 사용을 위해, 분석은 정교한 스펙트럼을 따르는 상이한 지점에서 자연 언어 처리(NLP) 분석을 포함할 수 있다. 예를 들어, 상대적으로 낮은 수준의 정교성을 가진 분석은 간단한 단어 분리 및 형태소 분석을 기반으로 키워드를 식별하는 것을 포함할 수 있다. 상대적으로 중간 정도의 정교성을 가진 분석은 보다 큰 단어 집합("단어 모음(bag of word)")의 분석에 대한 고려를 포함할 수 있다. 상대적으로 높은 수준의 정교성을 갖는 분석은 통신에서 문장을 구문 분석 트리 및 논리적 형식으로 정교하게 파싱하는 것을 포함할 수 있다. 작업 콘텐츠를 식별하고 추출하는 기법은 메시지의 구성 요소 및 메시지의 문장의 속성 또는 "특성(feature)"을 식별하는 것을 포함할 수 있다. 이러한 기법은 메시지의 구성 요소를 분류하기 위한 통계 모델을 구축하기 위해 트레이닝 및 테스팅 패러다임에서 이들 특성을 이용할 수 있다. 예를 들어, 이러한 구성 요소는 요청 및/또는 확약을 포함하는 문장 또는 전체 메시지를 포함할 수 있고 또한 요청 및/또는 확약을 가장 잘 설명하는 텍스트를 식별 및/또는 요약할 수 있다.As described below, some exemplary techniques for identifying and extracting work content from various types of electronic communications may include language analysis of the content of an electronic communication, wherein a human annotation is committed or requested And can be annotated as including. Human annotations can be used in the process of generating corpus of training data used to build and test various attributes for commit or request, and automatic extraction of commit or request. The technique may also include a proxy for a human-generated label (e.g., based on e-mail participation data or a relatively sophisticated extraction method). For real-time use of methods for developing methods used in extraction systems or for identifying and / or reasoning work, commitments and characteristics, the analysis may include natural language processing (NLP) analysis at different points along a sophisticated spectrum. For example, analysis with a relatively low level of sophistication may involve identifying keywords based on simple word separation and stemming. Analysis with a relatively moderate degree of sophistication may involve consideration of analysis of a larger set of words (a "bag of words"). Analysis with a relatively high degree of sophistication may involve elaborate parsing of sentences into a parse tree and a logical form in communication. Techniques for identifying and extracting work content may include identifying attributes or "features" of a message's components and messages. These techniques can use these traits in the training and testing paradigm to build a statistical model for classifying message components. For example, these components may include sentences or entire messages that include requests and / or commitments, and may also identify and / or summarize text that best describes the request and / or commitment.

일부 예에서, 추출 기법은 문장 중심 접근법, 메시지 내의 복수 문장의 고려 및 비교적 긴 통신 스레드의 글로벌 분석을 사용하는 것을 포함하는 분석 계층 구조를 포함할 수 있다. 일부 구현 예에서, 그러한 비교적 긴 통신 쓰레드는 일정 기간 동안의 메시지 세트, 및 스레드 및 장기간 통신(예컨대, 수 일, 수 주, 수 개월 또는 수 년 동안)의 세트를 포함할 수 있다. 특정 통신과 연관된 복수의 콘텐츠 소스가 고려될 수 있다. 그러한 소스는 특정 통신과 연관된 사람들의/사람들 사이의 히스토리 및/또는 관계, 일정 기간 동안 사람들의 위치, 사람들의 캘린더 정보, 그리고 조직의 여러 측면 및 사람들과 연관된 조직 구조의 세부 사항을 포함할 수 있다.In some instances, the extraction technique may include an analytic hierarchy that includes using a sentence centered approach, consideration of multiple sentences in the message, and global analysis of relatively long communication threads. In some implementations, such relatively long communication threads may include a set of messages for a period of time, and a set of threads and long-term communications (e.g., for a few days, weeks, months, or years). A plurality of content sources associated with a particular communication may be considered. Such a source may include the history and / or relationship between people / people associated with a particular communication, the location of people over a period of time, people's calendar information, and details of the organizational structure associated with various aspects of the organization and people .

일부 예에서, 기법은 콘텐츠의 구성 요소로부터 식별된 요청 또는 확약을 요청 또는 확약의 대표로서 직접 고려할 수도 있고, 또는 더 요약될 수 있다. 기법은 문장이나 또는 보다 긴 메시지에서, 관련 날짜(예컨대, 요청 또는 확약 마감일), 위치, 긴급성, 시간 요건, 작업 주제(예컨대, 프로젝트) 및 사람들을 비롯한 다른 정보를 추출할 수 있다. 일부 구현 예에서 추출된 작업 콘텐츠의 특성은 메시지의 특정 작성자에게 확약 및/또는 요청을 귀속시킴으로써 결정된다. 이는, 예컨대 복수의 수신자가 있는 다자간(multi-party) 이메일의 경우에 특히 유용할 수 있다.In some instances, the technique may directly consider a request or commitment identified from a component of the content as a representation of a request or commitment, or may be further summarized. The technique may extract, in a sentence or a longer message, other information including the relevant date (e.g., request or commitment deadline), location, urgency, time requirement, task topic (e.g., project) and people. The characteristics of the extracted work content in some implementations are determined by entrusting commitments and / or requests to specific creators of the message. This may be particularly useful in the case of multi-party email, for example, with multiple recipients.

메시지 텍스트 외에, 기법은, 몇 개의 예를 들면, 이미지 및 다른 그래픽 콘텐츠, 메시지의 구조, 제목 헤더, 메시지 길이, 메시지 내 문장 또는 구문의 위치, 메시지를 보낸 날짜/시간, 및 메시지의 발신자 및 수신자에 대한 정보와 같은 추출 및 요약에 대한 다른 정보를 고려할 수 있다. 기법은 메시지 자체의 특성(예컨대, 수신자 수, 응답 수, 전체 길이 등) 및 컨텍스트(예컨대, 요일)를 고려할 수도 있다. 일부 구현 예에서, 한 기법은 발신자 또는 수신자(들) 및 통신 및/또는 조직 구조의 이력에 적어도 부분적으로 기초하여, 후보 메시지/콘텐츠 또는 결과 추출의 초기 분석을 더욱 정제하거나 우선순위화할 수 있다.In addition to the message text, the technique may include, for example, image and other graphical content, structure of the message, title header, message length, location of the sentence or phrase in the message, date / time the message was sent, And other information about the abstract and summarization. The scheme may consider the characteristics of the message itself (e.g., number of recipients, number of responses, total length, etc.) and context (e.g., day of the week). In some implementations, one technique may further refine or prioritize an initial analysis of the candidate message / content or result extraction based at least in part on the history of the originator or recipient (s) and communication and / or organizational structure.

일부 예에서, 기법은 현재 통신(예컨대, 이메일, 텍스트 등) 외에 다양한 통신의 특징을 분석하는 것을 포함할 수 있다. 예를 들어, 기법은, 커뮤니티 스레드의 초기 부분이 확약 또는 요청을 포함하는지 여부, 통신 스레드의 두(또는 그 이상의) 사용자 간에 이전에 만들어진 확약 및/또는 요청의 수 등과 같은 확약 및 요청 간의 상호 작용을 고려할 수 있다.In some examples, the technique may include analyzing features of various communications besides current communications (e.g., e-mail, text, etc.). For example, a technique may be used to determine whether an initial portion of a community thread includes commit or request, interaction between commit and request, such as the number of commitments and / or requests previously made between two (or more) Can be considered.

일부 예에서, 기법은 조건부 작업 콘텐츠 확약 또는 요청을 포함하는 다양한 통신 특징을 분석하는 것을 포함할 수 있다. 예를 들어, 조건부 확약은 "내가 그를 만나면, 그에게 알려줄께(If I see him, I'll let him know)"일 수 있다. 조건부 요청은 "내일 날씨가 맑으면 집에 페인트칠 좀 해(If the weather is clear tomorrow, please paint the house)"일 수 있다.In some examples, the technique may include analyzing various communication features, including conditional task content commitments or requests. For example, a conditional commitment can be "If I see him, I'll let him know". The conditional request could be "If the weather is clear tomorrow, please paint the house."

일부 예에서, 기법은 마감일, 작업 콘텐츠와 연관된 사람들의 식별자(예컨대, 이름, ID 번호 등) 및 작업 콘텐츠에서 언급된 장소와 같은 추가 정보로 추출된 작업 콘텐츠(예컨대, 확약 및/또는 요청)를 보완하는 것을 포함할 수 있다.In some instances, the technique may include the use of work content (e.g., commitments and / or requests) extracted with additional information such as deadlines, identifiers of people associated with the work content (e.g., name, ID number, ≪ / RTI >

일부 예에서, 컴퓨팅 시스템은 문장 또는 메시지의 주석이 달린 코퍼스(예컨대, 기계 학습 특징)의 트레이닝 세트를 조작하는 기계 학습 절차를 사용하여 요청 및 확약 및 관련 정보를 식별하고 추출하기 위한 예측 모델을 구성할 수 있다. 다른 예에서, 컴퓨팅 시스템은 추출 및 요약을 수행하기 위해 비교적 간단한 규칙 기반 접근법을 사용할 수 있다.In some instances, the computing system constructs a prediction model for identifying and extracting requests and commitments and related information using machine learning procedures that manipulate training sets of annotated corpus of sentences or messages (e.g., machine learning features) can do. In another example, a computing system may use a relatively simple rule-based approach to perform extraction and summarization.

일부 예에서, 컴퓨팅 시스템은 메시지로부터 추출된 작업 콘텐츠를 메시지 자체에 명시적으로 표시할 수 있다. 다양한 구현 예에서, 컴퓨팅 시스템은, 마이크로소프트사의 Windows®, Cortana®, Outlook®, Outlook Web App®(OWA), Xbox®, Skype®, Lync® 및 Band®에서 제공하는 제품 및 서비스를 통해 공개된 제품 또는 서비스를 포함할 수 있는 여러 전자 서비스 및 경험과, 다른 회사에서 제공하는 그러한 기타 서비스 및 경험에서 요청 및 확약을 포함하는 메시지에 플래그를 지정할 수 있다. 다양한 구현 예에서, 컴퓨팅 시스템은, 예컨대 전화 통화 또는 음성 메일 메시지, SMS 이미지, 인스턴트 메시징 스트림 및 디지털 개인 비서(digital personal assistant)에 대한 구술 요청과 같은 오디오 피드로부터 요청 및 확약을 추출할 수 있다.In some instances, the computing system may explicitly display the task content extracted from the message in the message itself. In various implementations, the computing system may be publicly available through products and services offered by Microsoft's Windows®, Cortana®, Outlook®, Outlook Web App® (OWA), Xbox®, Skype®, Lync® and Band® You may flag messages that include requests and commitments from multiple electronic services and experiences that may include products or services, and those other services and experience provided by other companies. In various implementations, the computing system may extract requests and commitments from an audio feed, such as, for example, a telephone call or voice mail message, an SMS image, an instant messaging stream, and an oral request for a digital personal assistant.

일부 예에서, 컴퓨팅 시스템은 사용자에 의한 암시적 및 명시적 피드백에 의해 작업 콘텐츠를 추출하는데 사용되는 예측 모델 및 요약을 향상시키는 것을 배울 수 있다. 예를 들어, 이러한 피드백은 추출된 콘텐츠가 정확한지 또는 부정확한지에 대한(예컨대, 표시된 추출된 작업 콘텐츠에 응답하여) 사용자 입력을 포함할 수 있다. 이러한 피드백은 컴퓨터 시스템에 의해 정량화 및/또는 저장될 수 있고, 그 후, 예를 들어 예측 모델에 적용될 수 있다.In some instances, the computing system may learn to enhance prediction models and summaries used to extract working content by implicit and explicit feedback by a user. For example, such feedback may include user input as to whether the extracted content is correct or incorrect (e.g., in response to the displayed extracted work content). Such feedback may be quantified and / or stored by a computer system and then applied to, for example, a prediction model.

다양한 예들은 도 1 내지 10을 참조하여 더 설명된다.Various examples are further described with reference to Figs.

이하에서 설명되는 환경은 하나의 예를 구성하지만 청구항을 임의의 하나의 특정 운영 환경으로 제한하려는 것은 아니다. 청구항의 청구대상의 사상 및 범위를 벗어나지 않으면서 다른 환경이 사용될 수도 있다.The environment described below constitutes one example, but is not intended to limit the claim to any one particular operating environment. Other environments may be used without departing from the spirit and scope of the claimed subject matter.

도 1은 본 명세서에서 설명하는 바와 같이 작업 추출을 포함하는 예시적인 프로세스가 동작할 수 있는 예시적인 환경(100)을 도시한 것이다. 일부 예들에서, 환경(100)의 다양한 장치 및/또는 컴포넌트는 다양한 컴퓨팅 장치(102)를 포함한다. 제한이 아닌 예시로서, 컴퓨팅 장치(102)는 장치(102a-102e)를 포함할 수 있다. 다양한 장치 유형으로 도시되어 있지만, 컴퓨팅 장치(102)는 다른 장치 유형일 수 있으며, 도시된 장치 유형으로 제한되지 않는다. 컴퓨팅 장치(102)는, 예를 들어 버스(110)를 통해 입/출력 인터페이스(106) 및 컴퓨터로 판독 가능한 매체(108)에 동작 가능하게 연결된 하나 또는 복수의 프로세서(104)를 갖는 임의의 유형의 장치를 포함할 수 있다. 컴퓨팅 장치(102)는, 예컨대 데스크탑 컴퓨터(102a), 랩탑 컴퓨터(102b), 태블릿 컴퓨터(102c), 원격통신 장치(102d), PDA(102e), 전자 북 리더기, 착용식 컴퓨터(예컨대, 스마트 워치, 개인 건강 추적 액세서리 등), 자동차 컴퓨터, 게임기 등과 같은 개인 컴퓨터를 포함할 수 있다. 컴퓨팅 장치(102)는 또한, 예컨대 서버 컴퓨터, 씬 클라이언트, 단말기 및/또는 워크스테이션을 포함할 수 있다. 일부 예에서, 컴퓨팅 장치(102)는 컴퓨팅 장치, 어플라이언스 또는 다른 종류의 장치에 통합하기 위한 구성 요소를 포함할 수 있다.FIG. 1 illustrates an exemplary environment 100 in which an exemplary process, including the task extraction, as described herein may operate. In some instances, various devices and / or components of environment 100 include various computing devices 102. By way of example, and not limitation, computing device 102 may include devices 102a-102e. Although depicted as a variety of device types, the computing device 102 may be of other device types and is not limited to the device types shown. Computing device 102 may be any type of processor having one or more processors 104 operatively connected to input / output interface 106 and computer readable medium 108 via, for example, Lt; / RTI > device. The computing device 102 may be any type of computing device that may be used to perform the functions of the present invention such as a desktop computer 102a, a laptop computer 102b, a tablet computer 102c, a remote communication device 102d, a PDA 102e, , Personal health tracking accessories, etc.), automotive computers, game machines, and the like. Computing device 102 may also include, for example, a server computer, a thin client, a terminal, and / or a workstation. In some instances, the computing device 102 may include components for integration into a computing device, appliance, or other type of device.

일부 예에서, 컴퓨팅 장치(102)에 의해 수행되는 것으로 기술된 기능의 일부 또는 전부는, 예를 들어 클라우드 컴퓨팅을 통해 하나 이상의 원격 피어 컴퓨팅 장치, 원격 서버 또는 서버들, 또는 분산 컴퓨팅 자원에 의해 구현될 수 있다. 일부 예에서, 컴퓨팅 장치(102)는 전자 통신을 수신하기 위한 입력 포트를 포함할 수 있다. 컴퓨팅 장치(102)는 특정 전자 통신과 관련되거나 또는 연관된 다양한 정보 소스에 액세스하기 위한 하나 또는 복수의 프로세서(104)를 더 포함할 수 있다. 이러한 소스는, 몇 가지 예를 들자면, 전자 통신에 포함된 메시지의 작성자에 관한 이력이나 개인 정보의 전자 캘린더 및 데이터베이스를 포함할 수 있다. 일부 구현 예에서, 복수의 프로세서(104) 중 임의의 프로세서가 작성자의 개인 정보에 액세스할 수 있기 전에 작성자는 "옵트인(opt-in)"하거나 다른 긍정적인 조치를 취해야 한다. 일부 예에서, 하나 또는 복수의 프로세서(104)는 전자 통신으로부터 작업 콘텐츠를 추출하도록 구성될 수 있다. 하나 또는 복수의 프로세서(104)는 하드웨어 프로세서 또는 소프트웨어 프로세서일 수 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 유닛은 하드웨어 프로세서를 나타낸다.In some instances, some or all of the functionality described as being performed by the computing device 102 may be implemented by one or more remote peer computing devices, remote servers or servers, or distributed computing resources, e. G., Via cloud computing . In some instances, the computing device 102 may include an input port for receiving electronic communications. The computing device 102 may further include one or more processors 104 for accessing various information sources associated with or associated with a particular electronic communication. Such sources may include electronic calendars and databases of history or personal information about the creators of the messages included in the electronic communication, to name a few examples. In some implementations, the author must "opt-in" or take other positive steps before any of the processors 104 can access the creator's personal information. In some instances, one or more processors 104 may be configured to extract work content from electronic communications. One or more of the processors 104 may be a hardware processor or a software processor. As used herein, a processing unit represents a hardware processor.

일부 예에서, 장치(102d)와 관련하여, 컴퓨터로 판독 가능한 매체(108)는 운영 체제(OS)(112), 기계 학습 모듈(114), 추출 모듈(116) 및 프로세서(104)에 의해 로드가능하며 실행가능한 프로그램 또는 애플리케이션(118)을 포함하는 프로세서(104)에 의해 실행가능한 명령어를 저장할 수 있다. 하나 이상의 프로세서(104)는 하나 이상의 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 비디오 버퍼 처리 장치 등을 포함할 수 있다. 일부 구현 예에서, 기계 학습 모듈(114)은 컴퓨터로 판독 가능한 매체(108)에 저장된 실행 가능 코드를 포함하며, 입력/출력(106)을 통해 컴퓨팅 장치(102)에 의해 로컬 또는 원격으로 정보를 수집하도록 프로세서(104)에 의해 실행가능하다. 정보는 하나 이상의 애플리케이션(118)과 연관될 수 있다. 기계 학습 모듈(114)은 입력 데이터에 적용하기 위해 컴퓨터로 판독 가능한 매체(108)에 저장된(또는 보다 구체적으로는 기계 학습 모듈(114)에 저장된) 다수의 기계 학습 결정 모델 중 임의의 것을 선택적으로 적용할 수 있다.In some instances, in connection with device 102d, the computer-readable medium 108 is loaded by an operating system (OS) 112, a machine learning module 114, an extraction module 116, And store executable instructions by the processor 104, including executable programs or applications 118. [ The one or more processors 104 may include one or more central processing units (CPUs), graphics processing units (GPUs), video buffer processing units, and the like. In some implementations, the machine learning module 114 includes executable code stored in a computer-readable medium 108 and can be communicated locally or remotely by the computing device 102 via the input / (Not shown). The information may be associated with one or more applications 118. The machine learning module 114 may optionally include any of a number of machine learning decision models stored in the computer-readable medium 108 (or more specifically, stored in the machine learning module 114) for application to the input data Can be applied.

일부 구현 예에서, 추출 모듈(116)은 컴퓨터로 판독 가능한 매체(108)에 저장된 실행 가능 코드를 포함하고, 입력/출력(106)을 통해 컴퓨팅 장치(102)에 의해 로컬로 또는 원격으로 정보를 수집하도록 프로세서(104)에 의해 실행 가능하다. 정보는 하나 이상의 애플리케이션(118)과 연관될 수 있다. 추출 모듈(116)은 입력 데이터에 적용하기 위해 컴퓨터로 판독 가능한 매체(108)에 저장된(예컨대, 기계 학습 모듈(114)을 통해) 다수의 통계 모델 또는 예측 모델 중 임의의 것을 선택적으로 적용할 수 있다.In some implementations, the extraction module 116 may include executable code stored in the computer-readable medium 108 and may store information locally or remotely by the computing device 102 via the input / (Not shown). The information may be associated with one or more applications 118. Extraction module 116 may selectively apply any of a number of statistical or prediction models stored in computer readable medium 108 (e.g., via machine learning module 114) for application to input data have.

비록 특정 모듈이 다양한 동작을 수행하는 것으로 설명되었지만, 모듈은 단지 예시일 뿐이고 더 많거나 적은 수의 모듈에 의해 동일하거나 유사한 기능이 수행될 수도 있다. 또한, 도시된 모듈에 의해 수행되는 기능은 반드시 단일 장치에 의해 로컬로 수행될 필요는 없다. 오히려, 일부 동작은 원격 장치(예컨대, 피어, 서버, 클라우드 등)에 의해 수행될 수 있다.Although a particular module is described as performing various operations, the module is merely an example, and the same or similar functions may be performed by more or fewer modules. Also, the functions performed by the depicted module need not necessarily be performed locally by a single device. Rather, some operations may be performed by a remote device (e.g., peer, server, cloud, etc.).

이와 달리, 또는 이에 더하여, 본 명세서에 설명된 기능의 일부 또는 전부는 적어도 부분적으로 하나 이상의 하드웨어 로직 컴포넌트에 의해 수행될 수 있다. 예를 들어, 제한 없이, 사용될 수 있는 예시적인 유형의 하드웨어 로직 컴포넌트는 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) 등을 포함한다.Alternatively, or in addition, some or all of the functions described herein may be performed, at least in part, by one or more hardware logic components. Exemplary types of hardware logic components that may be used, for example and without limitation, include field-programmable gate arrays (FPGAs), program-specific integrated circuits (ASICs), program-specific standard products (ASSPs) a-chip system, a complex programmable logic device (CPLD), and the like.

일부 예에서, 컴퓨팅 장치(102)는 이미지 및/또는 비디오를 캡처할 수 있는 카메라 및/또는 오디오를 캡처할 수 있는 마이크로폰과 연관될 수 있다. 예를 들어, 입/출력 모듈(106)은 그러한 카메라 및/또는 마이크로폰을 포함할 수 있다. 예를 들어, 객체 또는 텍스트의 이미지는 이미지의 콘텐츠 및/또는 의미에 대응하는 텍스트로 변환되어 작업 콘텐츠에 대해 분석될 수 있다. 스피치 오디오는 텍스트로 변환되어 작업 콘텐츠에 대해 분석될 수 있다.In some instances, the computing device 102 may be associated with a microphone capable of capturing images and / or video and / or a camera capable of capturing audio. For example, input / output module 106 may include such a camera and / or microphone. For example, an image of an object or text may be transformed into text corresponding to the content and / or semantics of the image and analyzed for the working content. Speech audio can be converted to text and analyzed for work content.

컴퓨터로 판독 가능한 매체는 컴퓨터 저장 매체 및/또는 통신 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터로 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비 분리형 매체를 포함한다. 컴퓨터 저장 매체는 상 변화 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 다른 유형의 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 컴퓨팅 장치에 의한 액세스를 위해 정보를 저장하는데 사용될 수 있는 임의의 다른 비 전송 매체를 포함하지만 이들로 한정되지는 않는다.Computer-readable media include computer storage media and / or communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, a phase change memory (PRAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), EEPROM, Memory technology, CD-ROM, DVD or any other optical storage device, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or any other non-transferable device that may be used to store information for access by a computing device But are not limited to, media.

반면에, 통신 매체는 컴퓨터로 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 반송파 또는 다른 전송 메카니즘과 같은 변조된 데이터 신호로 구현한다. 본원에서 정의된 바와 같이, 컴퓨터 저장 매체는 통신 매체를 포함하지 않는다. 다양한 예들에서, 메모리(108)는 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터 저장 매체의 일례이다. 프로세서(들)(104)에 의해 실행될 경우, 컴퓨터 실행 가능 명령어는, 무엇보다도, 프로세서(들)가 개별 전자 메시지의 콘텐츠를 분석하게 하고-여기서 전자 메시지는 (i) 전자 통신 중에 수신되거나, (ii) 사용자 인터페이스를 통해 사용자에 의해 입력되거나, 또는 (iii) 메모리로부터 검색될 수 있음-, 콘텐츠를 분석한 것에 적어도 부분적으로 기초하여 전자 메시지로부터 요청 또는 확약에 대응하는 텍스트를 추출하게 하도록 구성한다.On the other hand, communication media embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism. As defined herein, computer storage media do not include a communication medium. In various examples, memory 108 is an example of a computer storage medium storing computer executable instructions. When executed by the processor (s) 104, the computer-executable instructions cause the processor (s) to, among other things, analyze the content of an individual electronic message, wherein the electronic message is (i) received (ii) entered by a user via a user interface, or (iii) retrieved from a memory, - extracting text corresponding to a request or commitment from an electronic message based at least in part on the analysis of the content .

다양한 예에서, 입력/출력(I/O) 인터페이스(106)의 또는 이에 연결된 입력 장치는 직접 터치 입력 장치(예컨대, 터치 스크린), 간접 터치 장치(예컨대, 터치 패드), 간접 입력 장치(예컨대, 마우스, 키보드, 카메라 또는 카메라 어레이 등), 또는 오디오 입력 장치와 같은 다른 유형의 비접촉 장치일 수 있다.In various examples, an input device of or in connection with the input / output (I / O) interface 106 may be a direct touch input device (e.g., a touch screen), an indirect touch device (e.g., a touch pad), an indirect input device Mouse, keyboard, camera or camera array, etc.), or other type of non-contact device, such as an audio input device.

컴퓨팅 장치(들)(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)가 사용자 입력 주변 장치(예컨대, 키보드, 마우스, 펜, 게임 컨트롤러, 음성 입력 장치, 터치 입력 장치, 제스처 입력 장치 등) 및/또는 출력 주변 장치(예컨대, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력 등)와 같은 다른 장치와 통신할 수 있게 한다.The computing device (s) 102 may also include one or more input / output (I / O) interfaces 106 that extract computing devices 102 and working content via the network 111 One or more communication interfaces that enable wired or wireless communication between other participating networked computing devices or other computing devices. Such a communication interface may include a network interface controller (NIC), such as one or more transceiver devices, for example, an Ethernet NIC or other type of transceiver device, for transmitting and receiving communications over a network. The processor 104 (e. G., A processing unit) may exchange data over each communication interface. In some instances, the communication interface may be a PCIe transceiver and the network 111 may be a PCIe bus. In some instances, the communication interface may include, but is not limited to, a cellular (3G, 4G, etc.), WI-FI, Ultra-wideband (UWB), Bluetooth or transceiver for satellite transmission. The communication interface may include a wired I / O interface such as an Ethernet interface, a serial interface, a universal serial bus (USB) interface, an INFINIBAND interface, or other wired interface. To simplify the description, these and other components are omitted from the illustrated computing device 102. The input / output (I / O) interface 106 is configured to allow the device 102 to communicate with a user input peripheral device (e.g., a keyboard, mouse, pen, game controller, voice input device, touch input device, gesture input device, Output peripheral device (e.g., display, printer, audio speaker, haptic output, etc.).

도 2는 예시적인 작업 추출 프로세서(204)를 거친 전자 통신(202)을 도시한 블록도이다. 예를 들어, 프로세스(204)는 착신 또는 발신 통신에서 확약(206) 또는 요청(208)이 행해졌는지 여부를 검출하기 위한 다수의 기술 중 임의의 것을 포함할 수 있다. 프로세스(204)는 또한 확약 또는 요청을 포함하는 것으로 메시지를 자동으로 마킹하거나, 주석을 달거나 또는 달리 식별하는 기법을 포함할 수 있다. 일부 예에서, 프로세스(204)는 프리젠테이션 및 후속 추적 및 분석에 대한 확약 또는 요청의 요약(도시되지 않음)을 추출하는 기법을 포함할 수 있다. 확약(206) 또는 요청(208)은 전자 통신(202)의 다수 형태의 콘텐츠로부터 추출될 수 있다. 이러한 콘텐츠는 이메일, SMS 텍스트 또는 이미지, 인스턴트 메시징, 소셜 미디어의 게시물, 회의 노트 등과 같은 대인 관계 통신을 포함할 수 있다. 이러한 콘텐츠는 또한 무엇보다도 이메일 애플리케이션 또는 워드 프로세싱 애플리케이션을 사용하여 작성된 콘텐츠를 포함할 수 있다.FIG. 2 is a block diagram illustrating an electronic communication 202 via an exemplary task extraction processor 204. FIG. For example, process 204 may include any of a number of techniques for detecting whether commit 206 or request 208 has been made in an incoming or outgoing communication. The process 204 may also include techniques for automatically marking, annotating, or otherwise identifying a message as including a commitment or request. In some instances, the process 204 may include techniques for extracting a summary (not shown) of a commitment or request for presentation and subsequent tracking and analysis. Commitment 206 or request 208 may be extracted from the multiple types of content of electronic communication 202. Such content may include interpersonal communications such as e-mail, SMS text or images, instant messaging, posts in social media, meeting notes, and the like. Such content may also include, among other things, content created using an email application or a word processing application.

일부 예에서, 작업 추출 프로세스(204)는 제3자와 관련한 작업 콘텐츠를 추출할 수 있다. 예를 들어, 이메일과 같은 전자 통신(202)은 이메일에 응답하는 제1 개인에 의한 확약을 포함할 수 있다. 이 확약은 제1 개인의 확약일 수 있다. 그러나 이 확약은 제3 개인의 확약일 수 있는데, 이는 다른 사람을 대신하는 (이메일에 응답하는) 제1 개인에 의한 확약일 수 있다. 예를 들어, 제1 개인은 작업을 수행하는 부하 직원을 위해 부사장에게 확약을 수립하는 감독자일 수 있다. 특정한 예로서, 제3 개인의 확약은 "내 비서 존이 오늘 나중에 당신에게 보고할 거에요(My assistant john will get a report to you later today)"일 수 있다.In some instances, the job extraction process 204 may extract work content associated with a third party. For example, electronic communication 202, such as e-mail, may include a commitment by a first person to respond to e-mail. This commitment may be the commitment of the first person. However, this commitment may be a commitment by a third person, which may be a commitment by a first person (in response to an e-mail) on behalf of another person. For example, a first person may be a supervisor who establishes a commitment to a vice president for a subordinate performing a task. As a specific example, the commitment of the third person may be " My assistant john will report to you later today ".

일부 예들에서, 작업 추출 프로세스(204)는 메시지(예컨대, 이메일 스레드)의 작성자들 또는 메시지 내용과 연관된 사람들(예컨대, 메시지에서 언급된 사람들) 사이의 개인적 및/또는 전문적 관계에 적어도 부분적으로 기초하여 메시지와 같은 전자 통신(202)으로부터 작업 콘텐츠를 추출할 수 있다. 작업 추출 프로세스(204)는 또한 메시지의 작성자들 또는 메시지 내용과 연관된 사람들 사이의 이전 통신에 적어도 부분적으로 기초하여 메시지로부터 작업 콘텐츠를 추출할 수 있다.In some instances, the task extraction process 204 may be based, at least in part, on personal and / or professional relationships between the creators of a message (e.g., an email thread) or people associated with the message content And may extract the work content from the electronic communication 202, such as a message. The task extraction process 204 may also extract the task content from the message based at least in part on previous communications between the creators of the message or people associated with the message content.

일부 예에서, 작업 추출 프로세스(204)는 (i) 전자 통신(202)의 콘텐츠를 분석하고, (ii) 실시간으로 전자 통신의 콘텐츠로부터 요청 또는 확약을 자동 추출할 수 있다. 예를 들어, 작업 추출 프로세스(204) 동안, 작업 추출 프로세스를 수행하는 시스템은 사용자가 무리한 약속을 하지 않도록 사용자에게 가능한 시간 중복(time conflict) 또는 다른 확약을 통지함으로써 사용자에게 확약에 대한 확인을 즉시 요청할 수 있고/있거나 사용자에게 실시간 지원을 제공할 수 있다. 특정 예에서, 시스템은 시간 관리를 돕고 "당신은 이 작업을 수행할 수 없으며 이번 주에 너무 많은 작업을 이미 약속했어요(You probably can't do this, you've already committed to too many things this week)"라는 메시지를 표시하여 과부하에 대해 사용자에게 알릴 수 있다.In some instances, the job extraction process 204 may (i) analyze the content of the electronic communication 202 and (ii) automatically extract the request or commitment from the content of the electronic communication in real time. For example, during the job extraction process 204, the system performing the job extraction process may prompt the user for confirmation by notifying the user of a possible time conflict or other commitment so that the user does not make unreasonable commitments And / or provide real-time support to the user. In a specific example, the system helps time management and "You can not do this and already have promised too much work this week (you probably can not do this too many things this week ) "Message to notify the user of the overload.

도 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)는 해당 사용자나 다른 사용자의 캘린더에 생일 날짜를 조회할 수 있다.FIG. 3 is a block diagram illustrating an electronic communication 302 that includes an example text thread of a request or commitment and a task extraction process 304. For example, the communication 302 may be a text message from another user received on the user's computing device, including text 306 from another user and text 308 from the user. The job extraction process 304 may include analyzing the content of the communication 302 (e.g., text 306 and text 308) and (i) committing the user or other user and / or (ii) Lt; / RTI > In the example shown in Figure 3, the text 306 by other users (help a user named Alexis to help prepare for a birthday party on May 9, set up Alexis ' birthday party on May 9 th ) < / RTI > Text 308 by the user is the user and would help to support the Alexis May 9 3:00 pm Birthday Party (help set up Alexis ' birthday party on May 9 th , by 3pm ) < / RTI > The task extraction process 304 may determine the request and commitment by any of a number of techniques, including analyzing the text 306 and the text 308. In some implementations, the task extraction process 304 may query any of a plurality of data sources if the text is insufficient to determine a request or commitment (e.g., information "missing" or highly uncertain information). For example, if the text 306 did not include the date of the Alexis birthday party (e.g., another user might think that the user remembers the date), then the job extraction process 304 may determine that the user You can view the date of birth on your calendar.

다양한 예에서, 작업 추출 프로세스(304)는 수신 또는 발신 메시지(예컨대, 이메일, 텍스트 등)가 수신자/발신자에 대해/의해 의도된 요청 또는 확약을 포함할 확률(예컨대, 추론된 확률) 또는 다른 신뢰도를 결정할 수 있다. 이러한 신뢰도나 확률은, 메시지의 하나 이상의 구성 요소 또는 구성 요소의 요약이 유효한 요청 또는 확약일 계산된 확률로부터 적어도 부분적으로 결정될 수 있다.In various examples, the job extraction process 304 may be used to determine whether a received or originated message (e.g., email, text, etc.) contains a probability (e.g., an inferred probability) Can be determined. Such reliability or probability may be determined, at least in part, from the calculated probability of a valid request or commitment date of a summary of one or more components or components of a message.

일부 예에서, 작업 추출 프로세스(304)는 확약의 신뢰도를 결정할 수 있는데, 여기서 신뢰도가 낮은 확약은 사용자가 확약을 이행할 것 같지 않은 것이고, 신뢰도가 높은 확약은 사용자가 확약을 이행할 가능성이 높은 것이다. 확률(예컨대, 가능성) 또는 다른 신뢰도는, 예를 들어, 통계 분류자의 사용에 적어도 부분적으로 기초하여 어떤 작업 추출 프로세스(304)가 추출된 확약에 대해 어떻게 관련되어 있는지를 캡처하는데 사용될 수 있다. 확약의 신뢰도는 미리 알림, 할 일 목록 수정, 약속, 모임 요청 및 기타 시간 관리 활동과 같은 후속 서비스에 유용할 수 있다. 확약의 신뢰도 결정은 적어도 부분적으로 사용자의 이벤트의 이력(예컨대, 과거 확약의 실행 등) 및/또는 다른 사용자의 이벤트의 이력 및/또는 사용자 또는 다른 사용자의 개인 정보(예컨대, 나이, 성별, 직업, 자주 여행하는 사람 등)를 기반으로 할 수 있다. 예를 들어, 작업 추출 프로세스(304)는 이러한 이력을 조회할 수 있다. 일부 구현 예에서, 작업 추출 프로세스(304)가 사용자의 개인 정보를 조회하기 전에 사용자 중 하나 또는 모두가 "옵트 인(opt-in)"하거나 다른 긍정적인 조치를 취해야 한다. 예를 들어, 사용자가 Alexis의 지난 몇 차례의 생일에 참석하였고, 다른 많은 사람들의 생일에 참석하는 경향이 있으며, Alexis 및/또는 다른 사용자와 비교적 가까운 관계이거나 하다고 이러한 히스토리가 증명하면, 작업 추출 프로세스(304)는 그 사용자에 의한 확약에 대해 비교적 높은 신뢰를 할당할 수 있다. 확약의 신뢰도를 결정하는 것은 또한, 텍스트(306) 및/또는 텍스트(308)의 키워드 또는 용어에 적어도 부분적으로 기초할 수 있다. 예를 들어, "생일 파티(birthday party)"는 일반적으로 긍정적이고 호감이 가는 의미(예컨대, 작업 태스크와 대조적으로 파티)를 가지며, 따라서 확약은 상대적으로 강할 수 있다. 다른 한편으로, 회계 보고서를 작성하겠다는 확약을 포함하는 또 다른 예에서, 이러한 활동은 일반적으로 달갑지 않으며, 따라서 그러한 확약에는 상대적으로 낮은 신뢰도가 부여될 수 있다. 그러나, 회계 보고서를 작성하는 그러한 확약이 사용자의 직무(예컨대, 직업)와 관련된다면, 그러한 확약에는 상대적으로 높은 신뢰도가 부여될 수 있다. 작업 추출 프로세스(304)는 확약의 신뢰도를 결정하기 위해 다수의 그러한 시나리오 및 팩터를 가중할 수 있다. 예를 들어, 작업 추출 프로세스(304)는 전자 메시지와 관련된 콘텐츠에 적어도 부분적으로 기초하여 메시지의 요청 또는 확약의 신뢰도(예컨대, 중요도)를 결정할 수 있다.In some instances, the job extraction process 304 may determine the reliability of a commitment, where a low confidence commitment is not likely the user will fulfill the commitment, and a trustworthy commitment is one in which the user is likely to fulfill the commitment will be. The probability (e.g., likelihood) or other reliability can be used to capture how a job extraction process 304 is related to the extracted commitment based at least in part on, for example, the use of the statistical classifier. Commitment reliability can be useful for follow-up services such as reminders, to-do list corrections, appointments, meeting requests, and other time management activities. Determination of the trustworthiness of the commitment may be based, at least in part, on the history of the user's events (e.g., execution of past commitments) and / or the history of other user's events and / or the personal information of the user or other user (e.g. age, People who travel frequently, etc.). For example, the job extraction process 304 may query this history. In some implementations, one or both of the users must "opt-in" or take other positive action before the job extraction process 304 queries the user's personal information. For example, if this history proves that the user has attended several previous birthdays of Alexis, tends to attend many other people's birthdays, and is relatively close to Alexis and / or other users, Lt; RTI ID = 0.0 > 304 < / RTI > can assign a relatively high trust to the commit by that user. Determining the confidence of the commitment may also be based, at least in part, on the keywords or terms of the text 306 and / or the text 308. For example, a "birthday party" generally has a positive and favorable meaning (e.g., a party in contrast to a work task), and therefore the commitment may be relatively strong. On the other hand, in another example involving a commitment to prepare an accounting report, such activities are generally unacceptable, and therefore such credits may be given relatively low credibility. However, if such a commitment to make an accounting report relates to a user's job (eg, job), then such commitment may be given a relatively high degree of confidence. The job extraction process 304 may weight a number of such scenarios and factors to determine the reliability of the commitment. For example, the job extraction process 304 may determine the reliability (e.g., importance) of a request or commitment of a message based at least in part on the content associated with the electronic message.

도 4는 메시지와 작업 콘텐츠 간의 예시적인 관계를 나타내는 표(400)이다. 구체적으로, 이러한 작업 콘텐츠는 컴퓨팅 장치의 사용자 또는 "다른 사용자 엔티티"(이는 하나 이상의 컴퓨팅 장치에 있는 한명 이상의 사람일 수 있다)에 의해 생성될 수 있는(예컨대, 애플리케이션에 의해 자동으로 또는 수동으로 기록된) 확약 및/또는 요청을 포함한다. 일부 예에서, 다른 사용자 엔티티는 해당 사용자에게 메시지를 보낼 수 있는 사용자일 수 있다. 다른 예에서, 사용자 및/또는 다른 사용자 엔티티는 임의의 사람(예컨대, 대리인, 비서, 관리자 등) 또는 기계(예컨대, 명령을 수신하고 수행하도록 구성된 프로세서 기반 시스템)일 수 있다. 표(400)는 컴퓨팅 장치의 사용자에 의해 생성되어 다른 사용자 엔티티로 전송되는 발신 메시지 및 다른 사용자 엔티티에 의해 생성되어 컴퓨팅 장치의 사용자에 의해 수신되는 수신 메시지를 도시한 것이다.4 is a table 400 illustrating exemplary relationships between messages and working content. Specifically, such work content may be generated by a user of a computing device or by a "different user entity ", which may be one or more people in one or more computing devices (e.g., Quot;) < / RTI > commit and / or request. In some instances, other user entities may be users who can send messages to the user. In another example, a user and / or other user entity may be any person (e.g., agent, secretary, administrator, etc.) or machine (e.g., a processor-based system configured to receive and execute commands). Table 400 shows origination messages generated by a user of a computing device and transmitted to another user entity and received messages generated by other user entities and received by a user of the computing device.

발신 메시지 또는 수신 메시지로부터 추출될 수 있는 확약의 예로는 "나는 문서를 준비해서 월요일에 너에게 보내 줄 거야(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)"는 직접적인 질문이 아니지만 이 진술은 요청 형식을 띤다.An example of a commitment that can be extracted from an outgoing message or an incoming message is "I will prepare the document and send it to you on Monday.", I'll send you a check. ","I'll do it. ","I'll be back to you. back to you. "and" Will do. " The latter example indicates that the commitment (or its statement) does not need to include a time or a deadline. An example of a request that can be extracted from an incoming or outgoing message is "Can you leave the key under the mat?", "Let me know if you can do it early I do not know if you can make it earlier for dinner. "," Can you get the budget analysis done by end of month? " The request does not have to be a form of direct question. For example, " Do not forget to get a report by 5:00 pm ( Do not forget to get your report in by 5pm ) "is not a direct question, but this statement is in the form of a request.

표(400)는 메시지에 포함된 네 가지 특정 경우의 작업을 포함한다. 하나의 경우는 사용자가 다른 사용자 엔티티에게 보낸 확약을 포함하는 발신 메시지이다. 또 다른 경우는 사용자가 다른 사용자 엔티티에게 보낸 요청을 포함하는 발신 메시지이다. 또 다른 경우는 다른 사용자 엔티티로부터 사용자에게 보내온 확약을 포함하는 수신 메시지이다. 또 다른 경우는 다른 사용자 엔티티로부터 사용자에게 보내온 요청을 포함하는 수신 메시지이다. 메시지로부터 작업 콘텐츠를 추출하는 프로세스는 적어도 부분적으로 특정 경우들 중 어느 경우가 처리되는지에 따라 서로 상이할 수 있다. 이러한 프로세스는 사용자의 컴퓨팅 장치 또는 컴퓨팅 장치와 통신하는 컴퓨팅 시스템(예컨대, 서버)에 의해 수행될 수 있다. 예를 들어, 수신 메시지가 다른 사용자 엔티티로부터의 사용자에게 보내온 확약을 포함하는 경우에 적용되는 프로세스는 다른 사용자 엔티티의 확약의 신뢰도(예컨대, 진실성, 신뢰성, 가치)를 결정하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 이러한 다양한 데이터 소스는 개인 데이터 또는 다른 사용자 엔티티의 이력을 포함할 수 있다. 일부 예에서, 데이터 소스는 버스를 통해 프로세서에 전기적으로 결합된 메모리 장치와 같은 장치의 프로세싱 컴포넌트와 연관된 메모리일 수 있다. 일부 예에서, 다른 사용자 엔티티에 의한 동작의 이력(회의 취소 또는 작업 수행 실패)은 다른 사용자 엔티티의 확약에 대한 신뢰도를 나타낼 수 있다. 일부 구현 예에서, 사용자 및/또는 다른 사용자 엔티티는 프로세스가 사용자 및/또는 다른 사용자 엔티티의 개인 정보에 액세스할 수 있기 전에 "옵트 인(opt-in)"하거나 또는 다른 긍정적인 액션을 취해야 한다.Table 400 includes four specific case tasks included in the message. One case is an outgoing message that contains a commitment the user sent to another user entity. Another case is an outgoing message that contains a request from a user to another user entity. Another case is an incoming message that contains a commitment sent to the user from another user entity. Another case is an incoming message containing a request sent to the user from another user entity. The process of extracting the action content from the message may differ from each other at least in part depending on which of the particular cases is handled. Such a process may be performed by a computing system (e.g., a server) in communication with a computing device or computing device of a user. For example, a process applied when an incoming message includes a commitment sent to a user from another user entity may be referred to various data sources to determine the trustworthiness (e.g., authenticity, reliability, value) of the other user entity Lt; / RTI > These various data sources may include personal data or the history of other user entities. In some examples, the data source may be a memory associated with a processing component of a device, such as a memory device electrically coupled to the processor via a bus. In some instances, the history of operations by other user entities (cancellation of a conference or failure to perform an operation) may indicate confidence in the commitment of other user entities. In some implementations, the user and / or other user entity must "opt-in" or take other positive action before the process can access the personal information of the user and / or other user entity.

다른 예로서, 발신 메시지가 사용자에 의한 다른 사용자 엔티티에 대한 요청을 포함하는 경우에 적용되는 프로세스는, 사용자의 요청에 대해 다른 사용자 엔티티가 강한(예컨대, 진실한, 신뢰할 수 있는, 가치있는) 확약을 가지고 응답할 확률을 판단하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 이러한 다양한 데이터 소스(프로세스를 수행하는 장치(들) 외부에 있을 필요는 없음)는 다른 사용자 엔티티의 개인 데이터 또는 이력을 포함할 수 있다. 예를 들어, 다른 사용자 엔터티에 의한 활동 이력(회의 취소 또는 작업 수행 실패)은 다른 사용자 엔터티가 해당 사용자의 요청에 대한 확약을 수락하거나 수행할 가능성(또는 결여)을 나타낼 수 있다.As another example, the process applied in the case where the originating message includes a request for another user entity by the user is that the other user entity has a strong (e.g., true, reliable, valuable) commitment to the user's request And querying the various data sources to determine the probability of responding. These various data sources (which need not be outside the device (s) performing the process) may include personal data or history of other user entities. For example, an activity history (cancellation of a conference or failure to perform an operation) by another user entity may indicate the possibility (or lack thereof) that another user entity may accept or perform a commitment to the user's request.

한편, 착신 메세지가 다른 사용자 엔티티로부터 해당 사용자에게 보낸 요청을 포함하는 경우에 적용되는 프로세스는 요청의 중요성(동시에 부수적으로, 요청에 대한 확약의 중요성)을 결정하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 예를 들어, 다른 사용자 엔티티가 사용자의 관리자인 경우, 이 요청은 상대적으로 중요할 수 있다. 따라서, 프로세스는 다른 사용자 엔티티가 감독자, 부하 직원, 동료, 친구, 가족 등인지를 판정하기 위해 다른 사용자 엔티티의 개인 및/또는 전문가 데이터를 포함하는 다양한 데이터 소스에 조회할 수 있다.On the other hand, the process applied in the case where the incoming message includes a request sent to the user from another user entity includes querying the various data sources to determine the importance of the request (at the same time, the importance of the commitment to the request) can do. For example, if the other user entity is the user's manager, this request may be relatively important. Thus, the process can query various data sources including personal and / or expert data of other user entities to determine whether other user entities are supervisors, subordinates, colleagues, friends, family members, and so on.

다른 예에서, 발신 메시지가 사용자에 의해 다른 사용자 엔티티에게 보내진 확약을 포함하는 경우에 적용되는 프로세스는 확약의 중요성을 판정하기 위해 다양한 데이터 소스에 조회하는 것을 포함할 수 있다. 예를 들어, 다른 사용자 엔티티가 사용자의 감독자인 경우 확약은 상대적으로 중요할 수 있다. 따라서, 프로세스는 다른 사용자 엔티티가 감독자, 부하 직원, 동료, 친구, 가족 등인지를 판정하기 위해 다른 사용자 엔티티의 개인 및/또는 전문가 데이터를 포함하는 다양한 데이터 소스에 조회할 수 있다.In another example, a process that is applied when an originating message includes a commitment sent by a user to another user entity may include querying various data sources to determine the importance of the commitment. For example, commitments can be relatively important if the other user entity is the user's supervisor. Thus, the process can query various data sources including personal and / or expert data of other user entities to determine whether other user entities are supervisors, subordinates, colleagues, friends, family members, and so on.

도 5는 다수의 엔티티(504-518)와 통신하는 추출 모듈(502)을 포함하는 예시적인 시스템(500)의 블록도이다. 이러한 엔티티는, 예컨대, 호스트 애플리케이션(예컨대, 인터넷 브라우저, SMS 텍스트 편집기, 이메일 애플리케이션, 전자 캘린더 기능 등), 데이터베이스 또는 정보 소스(예컨대, 개인의 개인 이력, 기업 또는 기관의 조직 정보, 데이터를 서비스로 제공할 수 있는 제3자 데이터 애그리게이터(aggregator) 등)를 포함할 수 있다. 추출 모듈(502)은, 예를 들어, 도 1에 도시된 컴퓨팅 장치(102)의 추출 모듈(116)과 유사할 수 있다. 예를 들어, 트레이닝 데이터(510), 캘린더(512), 및 소셜 미디어(516)로부터 수집된 데이터와 같은 일부 엔티티(504-518)는 추출 모듈(502)과 연관된 메모리 장치에 저장될 수 있다. 예를 들어, 메모리 장치는 추출 모듈(502)(예컨대, 처리 컴포넌트일 수 있음)에 직접 접속(예컨대, 유선 접속)될 수 있다. 다른 예에서, 메모리 장치는 (예컨대, 하나 이상의 원격 피어 컴퓨팅 장치, 원격 서버 또는 서버들, 또는 예컨대 클라우드 컴퓨팅을 통한 분산 컴퓨팅 자원에 의해) 추출 모듈(502)에 무선 및/또는 원격으로 연결될 수 있다.5 is a block diagram of an exemplary system 500 that includes an extraction module 502 in communication with a plurality of entities 504-518. Such entities may include, for example, a host application (e.g., an Internet browser, an SMS text editor, an email application, an electronic calendar function, etc.), a database or an information source A third-party data aggregator, etc.) that can provide such information. The extraction module 502 may be, for example, similar to the extraction module 116 of the computing device 102 shown in FIG. For example, some entities 504-518, such as data collected from training data 510, calendars 512, and social media 516, may be stored in a memory device associated with extraction module 502. [ For example, the memory device may be directly connected (e. G., Wired) to extraction module 502 (which may be a processing component, for example). In another example, the memory device may be wirelessly and / or remotely connected to the extraction module 502 (e.g., by one or more remote peer computing devices, remote servers or servers, or by distributed computing resources, e.g., via cloud computing) .

추출 모듈(502)은 다수의 언어 분석 기법 중 임의의 것을 적용함으로써 엔티티(504-518)에 의해 제공된 통신 콘텐츠 및/또는 데이터 또는 정보를 분석하도록 구성될 수 있다. 예를 들어, 추출 모듈(502)은 이메일 엔티티(504), SMS 텍스트 메시지 엔티티(506) 등에 의해 제공되는 통신의 콘텐츠를 분석하도록 구성될 수 있다. 추출 모듈(502)은 또한 인터넷 엔티티(508), 트레이닝 데이터(510)를 제공하는 기계 학습 엔티티, 이메일 엔티티(504), 캘린더 엔티티(512) 등에 의해 제공되는 데이터 또는 정보를 분석하도록 구성될 수 있다. 추출 모듈(502)은 엔티티들(504-518) 중 임의의 것으로부터 수집된 정보 또는 데이터에 언어 분석을 적용함으로써 콘텐츠를 분석할 수 있다.The extraction module 502 may be configured to analyze the communication content and / or data or information provided by the entities 504-518 by applying any of a number of language analysis techniques. For example, the extraction module 502 may be configured to analyze the content of the communication provided by the email entity 504, the SMS text message entity 506, and so on. The extraction module 502 may also be configured to analyze data or information provided by the Internet entity 508, the machine learning entity providing the training data 510, the email entity 504, the calendar entity 512, . The extraction module 502 may analyze the content by applying language analysis to information or data collected from any of the entities 504-518.

도 5의 양방향 화살표는 데이터 또는 정보가 엔티티(504-518)와 추출 모듈(502) 사이의 어느 한 방향으로 흐를 수 있음을 나타낸다. 예를 들어, 추출 모듈(502)로부터 임의의 엔티티(504-518)로 흐르는 데이터 또는 정보는 엔티티에 조회하기 위해 추출 모듈에 의해 생성된 조회의 일부일 수 있다. 이러한 조회는 임의의 엔티티에 의해 제공되는 콘텐츠의 하나 이상의 의미를 결정하기 위해 추출 모듈(502)에 의해 사용될 수 있다.A bi-directional arrow in FIG. 5 indicates that data or information may flow in either direction between entity 504-518 and extraction module 502. For example, data or information flowing from extraction module 502 to any entity 504-518 may be part of the query generated by the extraction module to query the entity. This query may be used by the extraction module 502 to determine one or more meanings of the content provided by any entity.

일부 예에서, 추출 모듈(502)은 이메일 엔티티(504)로부터 다수의 사용자들 사이에서 이메일 교환(예컨대, 통신)의 콘텐츠를 수신할 수 있다. 추출 모듈은 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정할 수 있다. 콘텐츠 분석은 단어, 구문, 문장, 메타 데이터(예컨대, 이메일의 크기, 작성 날짜 등), 이미지 및 콘텐츠의 요소가 상호관련되는 방법과 같이, 콘텐츠의 요소의 의미를 결정하는 여러 기법 중 하나를 통해 수행될 수 있다. 콘텐츠의 "의미"는 자연 언어로 콘텐츠를 해석하는 방법일 수 있다. 예를 들어, 콘텐츠의 의미는 개인이 작업을 수행하라는 요청을 포함할 수 있다. 다른 예에서, 콘텐츠의 의미는 작업의 설명, 작업이 완료되어야 하는 시간, 작업에 대한 배경 정보 등을 포함할 수 있다.In some instances, the extraction module 502 may receive content of an email exchange (e.g., communication) among a plurality of users from an email entity 504. The extraction module may analyze the content to determine one or more meanings of the content. Content analysis can be performed through one of several techniques for determining the meaning of an element of content, such as words, phrases, sentences, metadata (e.g., size of email, date of creation, etc.) . The "meaning" of the content may be a method of interpreting the content in a natural language. For example, the meaning of the content may include a request by an individual to perform an action. In another example, the meaning of the content may include a description of the job, a time at which the job should be completed, background information about the job, and the like.

선택적 구현에서, 추출 모듈은 예컨대 소셜 미디어 엔티티(516)와 같은 하나 이상의 데이터 소스의 콘텐츠를 조회할 수 있다. 하나 이상의 데이터 소스의 이러한 콘텐츠는 이메일 교환의 콘텐츠와 관련될 수 있다(예컨대, 주제, 작성자, 날짜, 시간, 위치 등에 의해 관련될 수 있다). (i) 이메일 교환의 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 추출 모듈(502)은 이메일 교환의 콘텐츠로부터 요청 또는 확약을 자동으로 추출할 수 있다.In an optional implementation, the extraction module may query the content of one or more data sources, e.g., social media entity 516. [ Such content of one or more data sources may be associated with the content of the email exchange (e.g., by topic, author, date, time, location, etc.). Based on at least one of (i) one or more meanings of the content of the email exchange and (ii) the content of the one or more data sources, the extraction module 502 may automatically extract the request or commitment from the content of the email exchange.

일부 예에서, 추출 모듈(502)은 트레이닝 데이터(510)로부터 및/또는 추출 모듈 및 엔티티들(504-518) 중 임의의 것 사이의 실시간 진행중인 통신으로부터 학습된 예측 모델을 사용하여 작업 콘텐츠를 추출할 수 있다. 이러한 예측 모델은 발신 또는 수신 통신(예컨대, 메시지) 또는 통신 콘텐츠가 요청을 포함한다고 추론할 수 있다. 마찬가지로 발신 또는 수신 통신 또는 통신 콘텐츠가 작업 수행에 대한 확약을 포함할 수 있다. 수신 또는 발신 통신으로부터의 확약 및 요청의 식별 및 추출은 확약 및 요청에 대한 통신의 발신자 및 수신자를 지원하는 다수의 기능을 제공할 수 있다.In some instances, the extraction module 502 may extract the working content using the predictive model learned from the real-time ongoing communication between the training data 510 and / or between the extraction module and any of the entities 504-518. can do. This predictive model may infer that an originating or receiving communication (e.g., a message) or communication content includes a request. Likewise, outgoing or incoming communication or communication content may include commitments to perform tasks. The identification and extraction of commitments and requests from the receiving or originating communication may provide a number of functions to support the originator and the recipient of the communication for commit and request.

일부 실시예에서, 추출 모듈(502)은 통계 모델을 사용하여 작업 콘텐츠를 추출하여, 예컨대 이메일 엔티티(504)로부터 수신된 이메일 또는 SMS 텍스트 메시지 엔티티(506)로부터 수신된 SMS 텍스트 메시지로부터 확약 및 요청의 제안 및 확인을 식별하고 추출할 수 있다. 통계 모델은 적어도 부분적으로 엔티티(504-518) 중 하나 또는 이들의 조합으로부터의 데이터 또는 정보를 기반으로 할 수 있다.In some embodiments, the extraction module 502 may extract the working content using the statistical model and send a request to the e-mail entity 504, for example, from the e-mail received from the e-mail entity 504 or from the SMS text message received from the SMS text message entity 506, Can be identified and extracted. The statistical model may be based, at least in part, on data or information from one or a combination of the entities 504-518.

일부 예에서, 추출 모듈(502)은 메시지 작성자가 메시지를 작성하는 동안 작업 콘텐츠를 추출할 수 있다. 예를 들어, 이러한 작성은 임의의 유형의 텍스트 편집기 또는 애플리케이션을 사용하여 이메일 또는 텍스트 메시지를 타이핑하는 것을 포함할 수 있다. 다른 예에서, 추출 모듈(502)은 사람이 수신된 메시지를 읽는 동안 작업 콘텐츠를 추출할 수 있다. 예를 들어, 사람이 메시지를 읽을 때, 추출 모듈(502)은 메시지의 텍스트에서 요청 또는 확약을 하이라이트 또는 강조함으로써 메시지의 일부에 주석을 달 수 있다. 일부 구현 예에서, 추출 모듈은 메시지의 판독(또는 디스플레이) 동안 관련 정보를 메시지에 추가할 수 있다. 예를 들어, 이러한 관련 정보는, 예컨대 엔티티(504-518)와 같은, 추가적인 데이터 또는 정보 소스로부터 추론될 수 있다. 특정 예에서, 컴퓨터 시스템은 독자가 일종의 수업에 참석하라는 요청을 포함하는 메시지를 디스플레이할 수 있다. 추출 모듈(502)은 인터넷(508)에 조회하여, 독자가 있는 장소(예컨대, 독자에 관한 개인 데이터로부터 추론될 수 있음)에서 다양한 시간에 다양한 위치에 다수의 그런 수업이 제공된다고 판단할 수 있다. 따라서, 추출 모듈은 선택 또는 제안 리스트를 생성하여 독자에게 제공할 수 있다. 이러한 리스트는 마우스 오버(mouse-over)에 응답하여 텍스트의 관련 부분의 텍스트 근처에 디스플레이될 수도 있고, 또는 예를 들어 디스플레이의 다른 부분에 "영구적으로" 디스플레이될 수 있다. 일부 구현 예에서, 리스트는 요청이 독자가 선택한 시간(이 시간은 요청자에 의해 "제안된" 시간을 대체할 수 있고, 요청자는 독자가 선택한 시간을 자동으로 통지받을 수 있음)을 포함할 수 있도록 독자가 (마우스 클릭에 의해)선택할 수 있는 아이템을 포함할 수 있다.In some instances, the extraction module 502 may extract the task content while the message creator is composing a message. For example, such authoring may include typing an email or text message using any type of text editor or application. In another example, the extraction module 502 may extract the work content while the person is reading the received message. For example, when a person reads a message, the extraction module 502 may annotate a portion of the message by highlighting or highlighting the request or commitment in the text of the message. In some implementations, the extraction module may add relevant information to the message during the reading (or display) of the message. For example, this pertinent information may be deduced from additional data or information sources, such as entities 504-518. In a particular example, the computer system may display a message that includes a request by the reader to attend a class of classes. The extraction module 502 may query the Internet 508 to determine that a number of such classes are provided at various locations at various times in the location of the reader (e.g., which may be deduced from the personal data about the reader) . Therefore, the extraction module can generate a selection or proposal list and provide it to the reader. This list may be displayed near the text of the relevant portion of the text in response to a mouse-over, or may be "permanently" displayed, for example, to another portion of the display. In some implementations, the list may include a list such that the request may include a time selected by the reader (this time may replace the "suggested" time by the requester and the requester may be automatically notified of the time selected by the reader) You can include an item that the reader can select (by mouse click).

도 6은 오디오 레코딩, 이미지 또는 비디오 레코딩과 같은 비텍스트 콘텐츠(604)에 대한 작업 추출을 수행할 수 있는 예시적인 추출 모듈(602)의 블록도이다. 추출 모듈(602)은 도 5에 도시된 추출 모듈(502)과 동일하거나 유사할 수 있다. 예를 들어, 추출 모듈(602)은 엔티티들(504-518) 중 어느 하나 또는 모두와 통신할 수 있다.6 is a block diagram of an exemplary extraction module 602 that is capable of performing a task extraction for non-textual content 604, such as audio recording, image or video recording. The extraction module 602 may be the same as or similar to the extraction module 502 shown in FIG. For example, the extraction module 602 may communicate with any one or all of the entities 504-518.

비텍스트 콘텐츠(604)는 비텍스트 콘텐츠의 요소를 기술하는 대응하는 텍스트(606)로 번역될 수 있다. 예를 들어, 다수의 이미지 인식 기술 중 임의의 것이 이미지(또는 비디오 레코딩의 스틸)를 텍스트로 번역하는데 사용될 수 있다. 마찬가지로, 다수의 오디오-텍스트 기술 중 하나를 사용하여 오디오 녹음을 텍스트로 변환할 수 있다. 대응하는 텍스트(606)는 추출 모듈(602)에 제공될 수 있으며, 추출 모듈(602)은 이어서 대응하는 텍스트로부터 작업 콘텐츠를 추출할 수 있다. 이러한 추출된 작업 콘텐츠는, 예를 들어 확약(608) 및/또는 요청(610)을 포함할 수 있다.The non-text content 604 may be translated into a corresponding text 606 describing the elements of the non-text content. For example, any of a number of image recognition techniques may be used to translate images (or stills of video recordings) into text. Similarly, one of a number of audio-text techniques can be used to convert audio recordings to text. The corresponding text 606 may be provided to the extraction module 602 and the extraction module 602 may then extract the working content from the corresponding text. Such extracted work content may include, for example, commit 608 and / or request 610. [

추출 모듈(602)이 비텍스트 콘텐츠(604)로부터 어떻게 작업 콘텐츠를 추출할 수 있는지를 나타내는 특정 예시적인 예는 풍선과 색종이(balloons and streamers)의 이미지를 포함하는 메시지를 포함한다. 이러한 이미지는 풍선과 색종이의 이미지를 인식하고 텍스트 "풍선(balloon)" 및 "색종이(streamers)"를 생성하는 이미지 인식 기법에 의해 텍스트(606)로 번역될 수 있다. 이미지에서 풍선과 깃발 사이의 병치 관계를 설명하기 위해 추가 텍스트가 포함될 수 있다. 추출 모듈(602)은 메시지의 발신자에 대한 풍선과 색종이의 컨텍스트를 결정하기 위해 다수의 엔티티(예컨대, 504-518) 중 임의의 것을 조회할 수 있다. 일 예에서, 추출 모듈(602)은 (예컨대, 발신자와 인터넷 사이트 간의 매칭을 검색함으로써) 메시지가 파티 용품에 대한 광고임을 판정할 수 있다. 결과적으로, 추출 모듈은 메시지가 확약 또는 요청을 포함하지 않는다고 결론을 내릴 수 있다. 다른 예에서, (예컨대, 발신자 또는 임의의 가족 구성원의 생일이 다가온다거나 또는 수신자가 지난 몇 년 동안 그러한 생일에 참석했다거나 하는 경우) 추출 모듈(602)은 (예컨대, 발신자 및 메시지 수신자에 관한 개인 정보를 검색함으로써) 메시지가 생일 파티에 대한 통지라고 판정할 수 있다. 이러한 경우에, 추출 모듈(602)은 이 이미지가 수신자가 생일 파티에 참석하라는 요청인 것으로 간주할 수 있다. 추출 모듈은 또한 파티 날짜를 추론할 수 있으며, 따라서 작업 및 작업을 수행하기 위한 시간을 포함하는 완전한 요청을 생성할 수 있다.Specific illustrative examples of how extraction module 602 can extract work content from non-text content 604 include messages containing images of balloons and streamers. This image may be translated into text 606 by image recognition techniques that recognize images of balloons and confetti and produce text "balloons" and "streamers. &Quot; Additional text may be included in the image to describe the juxtaposition between the balloon and the flag. Extraction module 602 may query any of a number of entities (e.g., 504-518) to determine the context of the balloons and confetti for the originator of the message. In one example, the extraction module 602 may determine that the message is an advertisement for the party item (e.g., by searching for a match between the sender and the Internet site). As a result, the extraction module can conclude that the message does not contain commit or request. In another example, the extraction module 602 may retrieve (e. G., An individual about a sender and a message recipient) an extractor module 602 (e.g., if the birthday of the sender or any family member is approaching or if the recipient has attended the birthday for the past several years) It may determine that the message is a notification to the birthday party). In this case, the extraction module 602 may consider this image to be a request by the recipient to attend the birthday party. The extracting module can also deduce the party date, thus creating a complete request that includes the time to perform the task and the task.

일부 예에서, 추출 모듈(602)(또는 502)에 의해 수행되는 작업 추출 프로세스는 추출 모듈에 의해 추출된 확약 또는 요청의 정확성을 확인하기 위해 메시지 발신자 및/또는 수신자와 연관될 수 있다. 구체적으로, 추출 모듈(602)이 상대적으로 낮은 신뢰도를 갖는 추론(예컨대, 불투명하거나 느슨하게 상호 관련된 정보에 기초한 추론)을 수행하는 경우, 추출 모듈은 발신자 및/또는 수신자에게 메시지 내 작업에 관한 추가 정보 또는 확인을 요구할 수 있다. 다른 한편, 추출 모듈(602)이 상대적으로 높은 신뢰도를 갖는 추론(예컨대, 충실한 또는 밀접하게 상호 관련된 정보에 기초한 추론)을 수행하는 경우, 추출 모듈은 발신자 및/또는 수신자에게 메시지 내 작업에 관한 추가 정보 또는 확인을 요구할 필요가 없다.In some instances, the job extraction process performed by the extraction module 602 (or 502) may be associated with a message originator and / or recipient to confirm the accuracy of the commitment or request extracted by the extraction module. In particular, if the extraction module 602 performs reasoning with relatively low confidence (e.g., reasoning based on opaque or loosely interrelated information), the extraction module may provide the sender and / or recipient with additional information about the in- Or may require confirmation. On the other hand, if the extraction module 602 performs reasoning with a relatively high degree of confidence (e.g., reasoning based on faithful or closely interrelated information), then the extraction module may add to the sender and / No information or confirmation is required.

일부 예에서, 추출 모듈(602)은 비텍스트 콘텐츠를 대응하는 텍스트로 변환하는 것을 수행하도록 구성될 수 있다. 다른 예에서, 추출 모듈(602)은 비텍스트 콘텐츠로부터 이미 번역된 대응하는 텍스트를 단순히 수신하도록 구성될 수 있다.In some examples, extraction module 602 may be configured to perform conversion of non-textual content into corresponding text. In another example, the extraction module 602 may be configured to simply receive corresponding text that has already been translated from the non-text content.

도 7은 다양한 예들에 따른 기계 학습 시스템(700)의 블록도이다. 기계 학습 시스템(700)은, 예를 들어 (도 1에 도시된 기계 학습 모듈(114)과 유사하거나 동일할 수 있는) 기계 학습 모델(702), 트레이닝 모듈(704), 및 추출 모듈(502)과 동일 또는 유사한 추출 모듈(706)을 포함한다. 별도의 블록으로 도시되어 있지만, 일부 실시예에서는 추출 모듈(706)이 기계 학습 모델(702)을 포함할 수도 있다. 기계 학습 모델(702)은 오프라인 트레이닝 모듈(704)로부터 트레이닝 데이터를 수신할 수 있다. 예를 들어, 트레이닝 데이터는 기계 학습 시스템(700)을 포함하는 컴퓨팅 시스템의 메모리로부터의 데이터 또는 도 5에 도시된 엔티티들(502-518)의 임의의 조합으로부터의 데이터를 포함할 수 있다. 메모리는 컴퓨팅 시스템 또는 특정 사용자에 의해 수신되고/되거나 컴퓨팅 시스템 또는 특정 사용자에게 전송된 요청 및 확약의 이력을 저장할 수 있다. 메모리 또는 엔티티로부터의 데이터는 기계 학습 모델(702)을 트레이닝하는데 사용될 수 있다. 이러한 트레이닝에 후속하여, 기계 학습 모델(702)은 추출 모듈(706)에 의해 이용될 수 있다. 따라서, 예를 들어, 오프라인 트레이닝에 대한 요청 및/또는 확약의 이력으로부터의 데이터를 사용하는 트레이닝은 기계 학습 모델의 초기 조건으로 작용할 수 있다. 아래에 설명된 특징화(featurization)를 포함하는 것과 같은 다른 트레이닝 기법이 사용될 수 있다.7 is a block diagram of a machine learning system 700 in accordance with various examples. The machine learning system 700 includes a machine learning model 702, a training module 704, and an extraction module 502 (which may be similar or identical to the machine learning module 114 shown in FIG. 1) And an extraction module 706 that is the same as or similar to the extraction module 706. Although shown as a separate block, in some embodiments the extraction module 706 may include a machine learning model 702. [ The machine learning model 702 may receive training data from the offline training module 704. For example, the training data may include data from a memory of a computing system, including the machine learning system 700, or data from any combination of the entities 502-518 shown in FIG. The memory may store a history of requests and commitments received and / or transmitted to a computing system or to a particular user by a computing system or a particular user. Data from the memory or entity may be used to train the machine learning model 702. Following this training, the machine learning model 702 may be utilized by the extraction module 706. Thus, training using data from, for example, requests for offline training and / or the history of commitments can serve as an initial condition for the machine learning model. Other training techniques may be used, including the featurization described below.

도 8은 다양한 예들에 따른 기계 학습 모델(800)의 블록도이다. 기계 학습 모델(800)은 도 7에 도시된 기계 학습 모델(702)과 동일하거나 유사할 수 있다. 기계 학습 모델(800)은 랜덤 포레스트 블록(802), 지원 벡터 기계 블록(804) 및 그래픽 모델 블록(806)과 같은 다수의 기능 블록 중 임의의 것을 포함한다. 랜덤 포레스트 블록(802)은 트레이닝 시간에 결정 트리를 구성함으로써 동작하는 분류에 대한 앙상블 학습 방법을 포함할 수 있다. 랜덤 포레스트 블록(802)은, 예를 들어 개별 트리에 의해 출력된 클래스의 모드인 클래스를 출력할 수 있다. 랜덤 포레스트 블록(802)은 다수의 특정 모델을 생성하기 위해 혼합되고 매칭될 수 있는 몇 개의 상호 교환 가능한 부분을 포함하는 프레임워크로서 기능할 수 있다. 이러한 프레임워크에서 기계 학습 모델을 구성하는 것은 각 노드에서 사용되는 결정의 방향을 결정하고, 각 리프에서 사용할 예측자의 유형을 결정하고, 각 노드에서 최적화할 분할 목표를 결정하고, 트리에 우연성(randomness)을 주입하는 방법을 결정하는 등을 포함한다.8 is a block diagram of a machine learning model 800 in accordance with various examples. The machine learning model 800 may be the same as or similar to the machine learning model 702 shown in FIG. The machine learning model 800 includes any of a number of functional blocks, such as a random forest block 802, a support vector machine block 804, and a graphics model block 806. The random forest block 802 may include an ensemble learning method for classification that operates by constructing a decision tree at training time. The random forest block 802 may, for example, output a class that is a mode of a class output by an individual tree. The random forest block 802 may function as a framework that includes several interchangeable parts that can be mixed and matched to create multiple specific models. In this framework, constructing a machine learning model determines the direction of decisions used by each node, determines the type of predictor to use in each leaf, determines the partitioning goal to optimize at each node, ), And so on.

지원 벡터 기계 블록(804)은 기계 학습 모델(800)에 대한 데이터를 분류한다. 지원 벡터 기계 블록(804)은 데이터를 분석하고 분류 및 회귀 분석에 사용되는 패턴을 인식하는 관련 학습 알고리즘을 갖는 감독 학습 모델로서 기능할 수 있다. 예를 들어, 두 개의 범주 중 하나에 속하는 것으로 각각 표시된 트레이닝 데이터 세트가 주어지면, 지원 벡터 기계 트레이닝 알고리즘은 새로운 트레이닝 데이터를 하나의 범주 또는 다른 범주에 할당하는 기계 학습 모델을 구축한다.The support vector machine block 804 classifies the data for the machine learning model 800. The support vector machine block 804 can serve as a supervised learning model with associated learning algorithms that analyze data and recognize patterns used in classification and regression analysis. For example, given a set of training data respectively labeled as belonging to one of the two categories, the support vector machine training algorithm builds a machine learning model that assigns the new training data to one category or another category.

그래픽 모델 블록(806)은, 그래프가 랜덤 변수 사이의 조건부 의존성 및 독립성을 나타내는 확률적 그래픽 모델인 확률 모델로서 기능한다. 확률적 그래픽 모델은 관심 변수 집합에 대한 결합확률분포(joint probability distribution)를 나타낸다. 확률적 추론 알고리즘은 이러한 그래픽 모델에서 특정 증거를 기반으로 추론을 수행하도록 작동한다. 추론은, 메시지 또는 특정 문장이 확약 또는 요청을 포함할 확률과 같은 관심 확률에 대한 업데이트를 제공한다. 학습 절차는 비체계적인 정보의 트레이닝 세트로부터 체계를 발견하는 과정을 통해 데이터로부터 그러한 확률 모델을 구성할 수 있다. 학습 절차는 또한 사용자로부터의 명시적인 피드백(예컨대, 추출된 작업 정보가 올바른지 아닌지 확인)으로부터 그러한 확률 모델을 구성할 수 있다. 비텍스트 콘텐츠로부터 작업 콘텐츠를 추론하는 데 사용할 수 있는 그래픽 모델의 애플리케이션은, 예컨대 정보 추출, 음성 인식, 이미지 인식, 컴퓨터 비전 및 저밀도 패리티 검사 코드의 디코딩 등을 포함할 수 있다.Graphic model block 806 functions as a probability model, which is a probabilistic graphical model in which graphs represent conditional dependencies and independence between random variables. The probabilistic graphical model represents a joint probability distribution for a set of variables of interest. Probabilistic inference algorithms operate to perform inference based on specific evidence in these graphical models. Inference provides an update to a probability of interest, such as the probability that a message or a particular sentence will contain a commitment or request. Learning procedures can construct such probability models from data through the process of finding systems from a set of unstructured information. The learning procedure may also construct such a probability model from explicit feedback from the user (e.g., checking whether the extracted task information is correct). Applications of the graphical model that can be used to infer task content from non-textual content may include, for example, information extraction, speech recognition, image recognition, decoding of computer vision and low density parity check codes, and the like.

도 9는 확약 및 요청 추출에 관련된 예시적인 온라인 및 오프라인 프로세스(900)를 나타내는 블록도이다. 이러한 프로세스는 프로세서(예컨대, 프로세싱 유닛) 또는 전술한 컴퓨팅 장치(102)와 같은 컴퓨팅 장치에 의해 수행될 수 있다. "오프라인"은 감독/라벨링된 트레이닝 데이터(예컨대, 확약 및 요청 문장이 표시되어 있는 이메일 세트)를 사용하여 기계 학습 알고리즘을 트레이닝하는 트레이닝 상태를 말한다. "온라인"은 새로운(보이지 않는) 이메일로부터 확약 및 요청을 추출하도록 트레이닝된 모델의 적용을 말한다. 특징화 프로세스(902) 및 모델 학습 프로세스(904)는 오프라인 또는 온라인 컴퓨팅 장치에 의해 수행될 수 있다. 반면에, 새로운 메시지(906)를 수신하는 것과 모델을 적용하는 프로세스(908)는 온라인으로 발생할 수 있다.FIG. 9 is a block diagram illustrating an exemplary online and offline process 900 related to commit and request extraction. Such a process may be performed by a computing device, such as a processor (e. G., A processing unit) or the computing device 102 described above. "Offline" refers to a training state in which machine learning algorithms are trained using supervised / labeled training data (e.g., an email set with commit and request sentences displayed). "Online" refers to the application of a model trained to extract commitments and requests from new (invisible) emails. The characterization process 902 and the model learning process 904 may be performed by an offline or on-line computing device. On the other hand, the process 908 of receiving a new message 906 and applying the model may occur online.

일부 예에서, 특징화 프로세스(902), 모델 학습 프로세스(904) 및 모델을 적용하는 프로세스(908) 중 임의의 것 또는 모두는 추출 모듈(116 또는 502)과 같은 추출 모듈에 의해 수행될 수 있다. 다른 예에서, 특징화 프로세스(902) 및/또는 모델 학습 프로세스(904)는 기계 학습 모듈(예컨대, 도 1에 도시된 기계 학습 모듈(114))에 의해 수행될 수 있고, 모델을 적용하는 프로세스(908)는 추출 모듈에 의해 수행될 수 있다.In some examples, any or all of the characterizing process 902, the model learning process 904, and the process 908 applying the model may be performed by an extraction module, such as extraction module 116 or 502 . In another example, characterization process 902 and / or model learning process 904 may be performed by a machine learning module (e.g., machine learning module 114 shown in FIG. 1) (908) may be performed by an extraction module.

일부 예에서, 특징화 프로세스(902)는 도 5에 도시된 엔티티들(504-518) 중 임의의 것과 같은 다양한 소스로부터 트레이닝 데이터(910) 및 데이터(912)를 수신할 수 있다. 특징화 프로세스(902)는 분류에 도움이 되는 텍스트 조각(text fragment)의 특징 세트를 생성할 수 있다. 텍스트 조각은 하나 이상의 통신(예컨대, 일반적으로 비교적 많은 수의 트레이닝 데이터(910)의 통신)의 콘텐츠의 일부를 포함할 수 있다. 예를 들어, 텍스트 조각은 단어, 용어, 구 또는 이들의 조합일 수 있다. 모델 학습 프로세스(904)는 요청 및 확약과 같은 작업 콘텐츠를 통신으로부터 추출하기 위해 프로세스(908)에서 사용되는 모델을 생성하고 반복적으로 개선하는 기계 학습 프로세스이다. 예를 들어, 모델은 새로운 메시지(906)(예컨대, 이메일, 텍스트 등)에 적용될 수 있다. 컴퓨팅 장치는 모델을 새로운 메시지(906)에 적용하는 프로세스(908)와 비동기적으로 연속적으로, 때때로, 또는 주기적으로 모델 학습 프로세스(904)를 수행할 수 있다. 따라서, 예를 들어, 모델 학습 프로세스(904)는, 모델(또는 모델의 현재 버전)을 메시지(906)에 적용하는 것과 같은 온라인 프로세스와는 독립적으로, 모델을 오프라인으로 업데이트하거나 향상시킬 수 있다.In some examples, characterization process 902 may receive training data 910 and data 912 from various sources, such as any of the entities 504-518 shown in FIG. The characterization process 902 may generate a feature set of a text fragment that is useful for classification. A piece of text may include a portion of the content of one or more communications (e.g., communications of a generally relatively large number of training data 910). For example, the text segment may be a word, a term, a phrase, or a combination thereof. The model learning process 904 is a machine learning process that creates and iteratively refines the model used in the process 908 to extract work content, such as requests and commitments, from the communication. For example, the model may be applied to new messages 906 (e.g., e-mail, text, etc.). The computing device may perform the model learning process 904 asynchronously, continually, occasionally, or periodically with the process 908 of applying the model to the new message 906. Thus, for example, the model learning process 904 may update or enhance the model offline, independent of the online process, such as applying the model (or the current version of the model) to the message 906.

새로운 메시지(906)에 모델을 적용하는 프로세스(908)는, 예컨대 전술한 엔티티(504-518)로부터 수신될 수 있는 다른 정보(914)의 고려를 포함할 수 있다. 일부 구현 예에서, 다른 소스로부터의 데이터(912)의 적어도 일부는 다른 정보(914)와 동일할 수 있다. 모델을 적용하는 프로세스(908)는 결과적으로 새로운 메시지(906)에 포함된 작업 콘텐츠를 추출할 수 있다. 이러한 작업 콘텐츠는 확약 및/또는 요청을 포함할 수 있다.The process 908 of applying the model to the new message 906 may include consideration of other information 914 that may be received, for example, from the entities 504-518 described above. In some implementations, at least some of the data 912 from other sources may be the same as the other information 914. The process applying the model 908 may result in extracting the work content contained in the new message 906. Such work content may include commitments and / or requests.

도 10은 추출 모듈 또는 프로세서(예컨대, 프로세싱 유닛)에 의해 수행될 수 있는 예시적인 작업 추출 프로세스(1000)의 흐름도이다. 예를 들어, 프로세스 1000은 도 1에 도시된 컴퓨팅 장치(102)(예컨대, 추출 모듈(116))에 의해 수행될 수 있으며, 또는 보다 구체적으로 다른 예에서는, 도 5에 도시된 추출 모듈(502)에 의해 수행될 수 있다.10 is a flow diagram of an exemplary job extraction process 1000 that may be performed by an extraction module or processor (e.g., a processing unit). For example, process 1000 may be performed by computing device 102 (e.g., extraction module 116) shown in FIG. 1, or more particularly in another example, extraction module 502 ). ≪ / RTI >

블록(1002)에서, 추출 모듈이 전자 통신의 콘텐츠를 분석하여 콘텐츠의 하나 이상의 의미를 결정할 수 있다. 예를 들어, 그러한 전자 통신은 이메일, 텍스트 메시지, 비텍스트 콘텐츠, 소셜 미디어 게시물 등을 포함할 수 있다. 블록(1004)에서, 추출 모듈이 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회할 수 있다. 예를 들어, 하나 이상의 데이터 소스는 도 5의 예에서 기술된 엔티티(504-518) 중 임의의 것을 포함할 수 있다. 다른 예에서, 추출 모듈이 추출 모듈(116)인 경우, 하나 이상의 데이터 소스는 도 1의 예에서 설명된 컴퓨터로 판독 가능한 매체(108)의 임의의 부분을 포함할 수 있다. 하나 이상의 데이터 소스는, 몇 가지 예를 들자면, 주제, 전자 통신의 작성자, 작성자와 관련된 사람, 시간, 날짜, 이벤트 이력 및 조직에 의해 전자 통신과 관련될 수 있다.At block 1002, the extraction module may analyze the content of the electronic communication to determine one or more meanings of the content. For example, such electronic communications may include email, text messages, non-text content, social media posts, and the like. At block 1004, the extraction module may query the content of one or more data sources associated with the electronic communication. For example, one or more data sources may include any of the entities 504-518 described in the example of FIG. In another example, where the extraction module is an extraction module 116, one or more data sources may include any portion of the computer-readable medium 108 described in the example of FIG. The one or more data sources may be associated with electronic communication by, for example, a subject, a creator of an electronic communication, a person associated with the creator, a time, a date, an event history, and an organization.

블록(1006)에서, 추출 모듈은 콘텐츠로부터 요청 또는 확약을 자동으로 추출할 수 있다. 그러한 추출은 적어도 부분적으로 (i) 콘텐츠의 하나 이상의 의미 및 (ii) 하나 이상의 데이터 소스의 콘텐츠에 기초할 수 있다.At block 1006, the extraction module may automatically extract a request or commitment from the content. Such extraction may be based, at least in part, on (i) one or more meanings of the content and (ii) the content of one or more data sources.

일부 구현 예에서, 전자 통신은 오디오, 이미지 또는 비디오를 포함한다. 변환 모듈은 전자 통신의 콘텐츠를 생성하기 위해 오디오, 이미지 또는 비디오를 대응하는 텍스트로 변환하는데 사용될 수 있다. 전자 통신의 콘텐츠는 추출 모듈에 제공될 수 있다.In some implementations, the electronic communication includes audio, image or video. The conversion module may be used to convert audio, image, or video into corresponding text to generate the content of the electronic communication. The content of the electronic communication may be provided to the extraction module.

일부 구현 예에서, 추출 모듈은 프로세스(1000)를 실시간으로 수행할 수 있다.In some implementations, the extraction module may perform the process 1000 in real time.

도 10에 도시된 동작의 흐름은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있는 동작 시퀀스를 나타내는 블록 및/또는 화살표의 집합으로서 도시된다. 블록 기술 순서는 제한으로서 해석되어서는 안 되고, 임의의 수의 기술된 동작들은 하나 이상의 방법 또는 다른 방법을 구현하기 위해 임의의 순서로 조합될 수 있다. 또한, 개별 동작은 본 명세서에 기술된 청구대상의 사상 및 범위를 벗어나지 않고 동작 흐름에서 생략될 수 있다. 소프트웨어와 관련하여, 블록은 하나 이상의 프로세서에 의해 실행될 때 열거된 동작을 수행하도록 프로세서(들)를 구성하는 컴퓨터로 판독 가능한 명령어를 나타낸다. 하드웨어와 관련하여, 블록은 열거된 동작을 실행하도록 구성된 하나 이상의 회로(예컨대, FPGA, 주문형 집적 회로(ASIC) 등)를 나타낼 수 있다.The flow of operations depicted in FIG. 10 is illustrated as a set of blocks and / or arrows representing an operational sequence that may be implemented in hardware, software, firmware, or a combination thereof. The block description order should not be construed as a restriction, and any number of the described operations may be combined in any order to implement one or more methods or other methods. Further, the individual operations may be omitted in the operational flow without departing from the spirit and scope of the claimed subject matter described herein. In the context of software, a block represents computer readable instructions that, when executed by one or more processors, constitute the processor (s) to perform the enumerated operation. With regard to hardware, a block may represent one or more circuits (e.g., an FPGA, an application specific integrated circuit (ASIC), etc.) configured to perform the enumerated operation.

도 10에 도시된 동작 흐름의 임의의 일상적인 설명, 구성 요소 또는 블록은, 루틴의 특정 논리 기능 또는 요소를 구현하기 위한 하나 이상의 실행 가능 명령어를 포함하는 모듈, 세그먼트 또는 코드 부분을 나타낼 수 있다.Any ordinary description, element, or block of operations depicted in FIG. 10 may represent a module, segment, or portion of code, including one or more executable instructions for implementing a particular logical function or element of a routine.

예제example

A. 시스템에 있어서, 전자 통신의 콘텐츠를 수신하는 수신기 포트와, A system, comprising: a receiver port for receiving content of an electronic communication;

추출 모듈을 포함하되, 상기 추출 모듈은 상기 전자 통신의 콘텐츠를 분석하여 상기 콘텐츠의 하나 이상의 의미를 결정하고, 상기 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회하며, (i) 상기 콘텐츠의 상기 하나 이상의 의미 및 (ii) 상기 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 상기 콘텐츠로부터 요청 또는 확약을 자동으로 추출하는 시스템.Wherein the extraction module analyzes the content of the electronic communication to determine one or more semantics of the content and queries the content of one or more data sources associated with the electronic communication, (Ii) automatically extracts a request or commitment from the content based at least in part on the content of the one or more data sources.

B. A항에 있어서, 상기 하나 이상의 데이터 소스의 콘텐츠는 상기 전자 통신의 콘텐츠의 한 명 이상의 작성자의 개인 데이터를 포함하는 시스템.B. The system of claim A wherein the content of the one or more data sources comprises personal data of one or more creators of the content of the electronic communication.

C. A항에 있어서, 상기 전자 통신은 오디오, 이미지 또는 비디오를 포함하고, 상기 시스템은 변환 모듈을 더 포함하되, 상기 변환 모듈은 상기 오디오, 상기 이미지 또는 상기 비디오를 대응하는 텍스트로 변환하여 상기 전자 통신의 콘텐츠를 생성하고, 상기 전자 통신의 콘텐츠를 상기 추출 모듈에 제공하는 시스템.A method according to claim 1, wherein said electronic communication comprises audio, image or video, said system further comprising a conversion module, said conversion module converting said audio, said image or said video into corresponding text, A system for generating content of an electronic communication and providing the content of the electronic communication to the extraction module.

D. A항에 있어서, 상기 추출 모듈은 통계적 모델을 전자 통신의 콘텐츠에 적용함으로써 전자 통신의 콘텐츠를 분석하도록 구성된 시스템.D. A system according to claim 1, wherein the extraction module is configured to analyze the content of the electronic communication by applying a statistical model to the content of the electronic communication.

E. A항에 있어서, 상기 추출 모듈은 상기 추출된 요청 또는 확약과 연관된 사람의 신원 및 하나 이상의 위치로 상기 추출된 요청 또는 확약을 증강시키도록 구성되는 시스템.The system of claim A wherein the extraction module is configured to augment the extracted request or commitment to the identity and one or more locations of the person associated with the extracted request or commitment.

F. A항에 있어서, 상기 전자 통신의 콘텐츠 및/또는 상기 하나 이상의 데이터 소스의 콘텐츠를 트레이닝 데이터로서 사용하도록 구성된 기계 학습 모듈을 더 포함하는 시스템.A system according to F. A, further comprising a machine learning module configured to use the content of the electronic communication and / or the content of the one or more data sources as training data.

G. A항에 있어서, 상기 추출 모듈은 (i) 전자 통신의 내용을 분석하고 (ii) 실시간으로 전자 통신의 내용으로부터 요청 또는 확약을 자동 추출하도록 구성되는 시스템.G. The system of claim A wherein the extraction module is configured to (i) analyze the content of the electronic communication and (ii) automatically extract the request or commitment from the content of the electronic communication in real time.

H. 방법으로서, 메시지를 수신하는 단계와, 상기 메시지를 기계어 특징(feature)으로 자동 변환하기 위해 상기 메시지에 언어 분석을 적용하는 단계와, 상기 메시지와 연관된 정보에 대한 데이터 소스를 검색하는 단계와, 상기 데이터 소스로부터 상기 메시지와 관련된 정보를 수신하는 단계와, 상기 수신된 정보에 적어도 부분적으로 기초하여 상기 기계어 특징 중에서 요청 또는 확약을 자동으로 식별하는 단계를 포함하는 방법.A method comprising: receiving a message; applying a language analysis to the message to automatically convert the message to a machine language feature; searching a data source for information associated with the message; Receiving information related to the message from the data source; and automatically identifying a request or commitment from among the machine language features based at least in part on the received information.

I. H항에 있어서, 상기 메시지는 오디오, 이미지, 또는 비디오를 포함하고, I. In claim H, the message comprises audio, image, or video,

상기 메시지에 언어 분석을 적용하는 단계는, 상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트를 결정하는 단계와, 상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트에 상기 언어 분석을 적용하는 단계를 더 포함하는 방법.Wherein applying the language analysis to the message comprises: determining the audio, the image, or the text corresponding to the video; and applying the language analysis to the audio, the image, or the text corresponding to the video Further comprising:

J. H항에 있어서, 상기 메시지와 관련된 데이터 소스는 다른 메시지를 포함하는 방법.The method according to claim 19, wherein the data source associated with the message comprises another message.

K. H항에 있어서, 상기 메시지와 관련된 데이터 소스가 메시지 작성자의 하나 이상의 특징을 포함하는 방법.K. A method according to H, wherein the data source associated with the message comprises one or more characteristics of the message creator.

L. H항에 있어서, 상기 메시지를 수신하는 단계는 일정 기간 동안 상기 메시지의 부분을 순차적으로 수신하는 단계와, 상기 일정 기간 동안, 상기 메시지의 수신된 부분에 언어 분석을 적용하는 단계를 더 포함하는 방법.The method of claim L. H, wherein receiving the message further comprises: sequentially receiving a portion of the message for a period of time; and applying a language analysis to the received portion of the message for the period of time How to.

M. H항에 있어서, 상기 요청 또는 상기 확약을 포함하는 것으로서 상기 메시지에 플래그를 달거나/달고 주석을 다는 단계를 더 포함하는 방법.The method of claim 9, further comprising flagging / annotating and annotating the message as comprising the request or the commit.

N. 컴퓨팅 장치로서, 데이터를 수신 및 송신하기 위한 트랜시버 포트와, N. A computing device comprising: a transceiver port for receiving and transmitting data;

프로세서를 포함하되, 상기 프로세서는 사용자 인터페이스를 통해 사용자에 의해 입력된 전자 메시지를 분석하고, 상기 전자 메시지와 관련된 콘텐츠에 대한 데이터를 검색하고, 상기 전자 메시지와 관련된 콘텐츠에 적어도 부분적으로 기초하여, 상기 전자 메시지로부터 요청 또는 확약에 대응하는 텍스트를 추출하는 컴퓨팅 장치.A processor for analyzing an electronic message entered by a user via a user interface, retrieving data for content associated with the electronic message, and based at least in part on the content associated with the electronic message, And extracts text corresponding to the request or commitment from the electronic message.

O. N항에 있어서, 상기 프로세서는, 상기 전자 메시지와 관련된 상기 콘텐츠에 적어도 부분적으로 기초하여 상기 요청 또는 상기 확약의 중요성을 결정하도록 구성된 컴퓨팅 장치.O. The apparatus of claim 22, wherein the processor is configured to determine an importance of the request or the commitment based at least in part on the content associated with the electronic message.

P. N항에 있어서, 상기 프로세서는, 상기 전자 메시지 또는 상기 데이터를 기계 학습 프로세스를 위한 트레이닝 데이터로서 적용하도록 구성된 컴퓨팅 장치.[0040] [0040] The system of claim N., wherein the processor is configured to apply the electronic message or the data as training data for a machine learning process.

Q. P항에 있어서, 상기 전자 메시지를 분석하는 것은 기계 학습 프로세스에 의해 수행되는 컴퓨팅 장치.Q. The computing device of claim 1, wherein analyzing the electronic message is performed by a machine learning process.

R. N항에 있어서, 전자 디스플레이를 더 포함하되, 상기 프로세서는 또한 상기 전자 디스플레이 상에 디스플레이될 이미지를 생성하도록 구성되며, 상기 이미지는 상기 요청 또는 상기 확약에 대응하는 상기 텍스트가 정확한지 또는 참인지를 상기 사용자가 확인하도록 하는 프롬프트를 포함하는 컴퓨팅 장치.R. The apparatus of claim 12, further comprising an electronic display, wherein the processor is further configured to generate an image to be displayed on the electronic display, wherein the image indicates whether the text corresponding to the request or the commitment is correct or true And prompting the user to confirm.

S. N항에 있어서, 상기 프로세서는 또한 상기 전자 메시지의 파라미터를 분석하도록 구성되고, 상기 파라미터는 수신자의 수, 길이, 날짜 및 시간, 및 개별적인 상기 전자 메시지의 제목 헤더 중 하나 이상을 포함하는 컴퓨팅 장치.The system of claim 9, wherein the processor is further configured to analyze parameters of the electronic message, the parameters including at least one of a number of recipients, a length, a date and time, Device.

T. N항에 있어서, 상기 프로세서는 또한, 상기 사용자가 상기 전자 메시지를 입력하는 동안 상기 사용자에 대한 정보를 분석하도록 구성되는 컴퓨팅 장치.10. The computer-readable medium of claim 10, wherein the processor is further configured to analyze information about the user while the user is entering the electronic message.

비록 기법들이 구조적 특징들 및/또는 방법론적 동작에 특정한 언어로 기술되었지만, 첨부된 청구범위들은 설명된 특징들 또는 동작들에 반드시 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 특징 및 동작은 그러한 기법의 예시적인 구현 예로서 기술된다.Although the techniques are described in language specific to structural features and / or methodological acts, it should be understood that the appended claims are not necessarily limited to the features or acts described. Rather, the features and acts are described as exemplary implementations of such techniques.

다른 언급이 없는 한, 전술한 모든 방법 및 프로세스는 하나 이상의 범용 컴퓨터 또는 프로세서에 의해 실행되는 소프트웨어 코드 모듈에 의해 전체적으로 또는 부분적으로 구현될 수 있다. 코드 모듈은 임의의 유형의 컴퓨터로 판독 가능한 저장 매체 또는 다른 컴퓨터 저장 장치에 저장될 수 있다. 일부 또는 모든 방법은 대안적으로 FPGA, ASIC 등과 같은 특수한 컴퓨터 하드웨어에 의해 전체적으로 또는 부분적으로 구현될 수 있다.Unless stated otherwise, all of the above-described methods and processes may be implemented in whole or in part by one or more general purpose computers or software code modules executed by a processor. The code module may be stored in any type of computer readable storage medium or other computer storage device. Some or all of the methods may alternatively be implemented in whole or in part by special computer hardware such as FPGAs, ASICs, and the like.

달리 언급하지 않는 한, "할 수 있다"("can", "could") 또는 "할 수도 있다"("might", "may")와 같은 조건부 언어는, 언급한 특징, 요소 및/또는 단계를 어떤 예는 포함하지만 다른 예는 포함하지 않는 것을 나타내는데 사용된다. 따라서, 달리 언급되지 않는 한, 그러한 조건부 언어는, 어떤 특징, 요소 및/또는 단계가 어떤 식으로든 하나 이상의 예에 요구된다거나 또는 하나 이상의 예가 반드시, 사용자 입력 또는 요청에 의해 또는 그러한 입력 또는 요청 없이 이러한 특징, 요소 및/또는 단계가 포함되는지 또는 임의의 특정 예에서 수행되는지 여부를 결정하기 위한 로직을 포함한다는 것을 나타내려는 것은 아니다.Unless otherwise stated, conditional languages such as " can ", " could ", or "may" Lt; / RTI > is used to indicate that some examples include but not other examples. Thus, unless expressly stated otherwise, such conditional language is intended to encompass within the spirit and / or scope of the following claims such that certain features, elements, and / or steps may be required by one or more examples in any way, It is not intended to indicate that the invention includes logic to determine whether such features, elements and / or steps are included or are performed in any particular instance.

"X, Y 또는 Z 중 적어도 하나"와 같은 결합어는 특별히 다르게 언급되지 않는 한, 항목, 용어 등이 X 또는 Y 또는 Z 또는 이들의 조합일 수 있음을 나타내는 것으로 이해해야 한다.Combinations such as "at least one of X, Y, or Z" should be understood to indicate that an item, term, etc. may be X or Y or Z, or a combination thereof, unless specifically stated otherwise.

전술한 예들에 많은 변형 및 수정이 가해질 수 있으며, 그 요소들은 다른 허용 가능한 예로서 이해되어야 한다. 이러한 모든 변경 및 변형은 본 명세서의 범위 내에 포함하고자 한다.Many variations and modifications may be made to the above examples, which elements should be understood as other permissible examples. All such variations and modifications are intended to be included within the scope of this disclosure.

Claims (15)

시스템에 있어서,
전자 통신의 콘텐츠를 수신하는 수신기 포트; 및
추출 모듈
을 포함하고, 상기 추출 모듈은,
상기 전자 통신의 콘텐츠를 분석하여 상기 콘텐츠의 하나 이상의 의미를 결정하고,
상기 전자 통신과 관련된 하나 이상의 데이터 소스의 콘텐츠를 조회(query)하며,
(i) 상기 콘텐츠의 상기 하나 이상의 의미 및 (ii) 상기 하나 이상의 데이터 소스의 콘텐츠에 적어도 부분적으로 기초하여, 상기 콘텐츠로부터 요청(request) 또는 확약(commitment)을 자동으로 추출하는 것인 시스템.
In the system,
A receiver port for receiving content of electronic communication; And
Extraction module
Wherein the extraction module comprises:
Analyze the content of the electronic communication to determine one or more meanings of the content,
Query the content of one or more data sources associated with the electronic communication,
wherein the system automatically extracts a request or commitment from the content based at least in part on (i) the one or more meanings of the content and (ii) the content of the one or more data sources.
제1항에 있어서,
상기 하나 이상의 데이터 소스의 콘텐츠는 상기 전자 통신의 콘텐츠의 한 명 이상의 작성자의 개인 데이터를 포함하는 것인 시스템.
The method according to claim 1,
Wherein the content of the one or more data sources comprises personal data of one or more creators of the content of the electronic communication.
제1항에 있어서,
상기 전자 통신은 오디오, 이미지 또는 비디오를 포함하고,
상기 시스템은 변환 모듈을 더 포함하며, 상기 변환 모듈은,
상기 오디오, 상기 이미지 또는 상기 비디오를 대응하는 텍스트로 변환하여 상기 전자 통신의 콘텐츠를 생성하고,
상기 전자 통신의 콘텐츠를 상기 추출 모듈에 제공하는 것인 시스템.
The method according to claim 1,
The electronic communication includes audio, image or video,
Wherein the system further comprises a conversion module,
Converting the audio, the image or the video into a corresponding text to generate content of the electronic communication,
And provide the content of the electronic communication to the extraction module.
제1항에 있어서,
상기 추출 모듈은 상기 추출된 요청 또는 확약과 연관된 사람의 신원 및 하나 이상의 위치로 상기 추출된 요청 또는 확약을 증강시키도록(augment) 구성되는 것인 시스템.
The method according to claim 1,
Wherein the extraction module is configured to augment the extracted request or commitment to an identity of the person and one or more locations associated with the extracted request or commitment.
제1항에 있어서,
상기 전자 통신의 콘텐츠 및/또는 상기 하나 이상의 데이터 소스의 콘텐츠를 트레이닝 데이터로서 사용하도록 구성된 기계 학습 모듈
을 더 포함하는 것인 시스템.
The method according to claim 1,
A machine learning module configured to use the content of the electronic communication and / or the content of the one or more data sources as training data
The system further comprising:
방법에 있어서,
메시지를 수신하는 단계;
상기 메시지를 기계어 특징(machine language features)으로 자동으로 변환하기 위해 상기 메시지에 언어 분석을 적용하는 단계;
상기 메시지와 관련된 정보에 대한 데이터 소스를 검색하는 단계;
상기 데이터 소스로부터 상기 메시지와 연관된 정보를 수신하는 단계; 및
상기 수신된 정보에 적어도 부분적으로 기초하여 상기 기계어 특징 중에서 요청 또는 확약을 자동으로 식별하는 단계
를 포함하는 방법.
In the method,
Receiving a message;
Applying a language analysis to the message to automatically convert the message into machine language features;
Retrieving a data source for information associated with the message;
Receiving information associated with the message from the data source; And
Automatically identifying a request or commitment from among the machine language features based at least in part on the received information
≪ / RTI >
제6항에 있어서,
상기 메시지는 오디오, 이미지, 또는 비디오를 포함하고,
상기 메시지에 언어 분석을 적용하는 단계는,
상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트를 결정하는 단계, 및
상기 오디오, 상기 이미지 또는 상기 비디오에 대응하는 텍스트에 상기 언어 분석을 적용하는 단계를 더 포함하는 것인 방법.
The method according to claim 6,
The message comprising audio, image, or video,
Wherein applying the language analysis to the message comprises:
Determining a text corresponding to the audio, the image or the video, and
Applying the language analysis to the audio, the image, or text corresponding to the video.
제6항에 있어서,
상기 메시지를 수신하는 단계는,
일정 기간 동안 상기 메시지의 부분을 순차적으로 수신하는 단계, 및
상기 일정 기간 동안, 상기 메시지의 수신된 부분에 언어 분석을 적용하는 단계를 더 포함하는 것인 방법.
The method according to claim 6,
Wherein the receiving the message comprises:
Sequentially receiving portions of the message for a period of time, and
Applying the language analysis to the received portion of the message for the period of time.
제6항에 있어서,
상기 요청 또는 상기 확약을 포함하는 것으로서 상기 메시지에 플래그를 달거나/달고 주석을 다는 단계
를 더 포함하는 방법.
The method according to claim 6,
Flagging / annotating / annotating the message as comprising the request or the commit
≪ / RTI >
컴퓨팅 장치에 있어서,
데이터를 수신 및 송신하기 위한 트랜시버 포트; 및
프로세서
를 포함하고, 상기 프로세서는,
사용자 인터페이스를 통해 사용자에 의해 입력된 전자 메시지를 분석하고,
상기 전자 메시지와 관련된 콘텐츠에 대한 데이터를 검색하고,
상기 전자 메시지와 관련된 콘텐츠에 적어도 부분적으로 기초하여, 상기 전자 메시지로부터 요청 또는 확약에 대응하는 텍스트를 추출하는 것인 컴퓨팅 장치.
A computing device comprising:
A transceiver port for receiving and transmitting data; And
Processor
The processor comprising:
Analyzing the electronic message entered by the user through the user interface,
Retrieving data about content associated with the electronic message,
And extracts text corresponding to a request or commitment from the electronic message based at least in part on content associated with the electronic message.
제10항에 있어서,
상기 프로세서는, 상기 전자 메시지와 관련된 상기 콘텐츠에 적어도 부분적으로 기초하여 상기 요청 또는 상기 확약의 중요성을 결정하도록 구성된 것인 컴퓨팅 장치.
11. The method of claim 10,
Wherein the processor is configured to determine the importance of the request or the commitment based at least in part on the content associated with the electronic message.
제10항에 있어서,
상기 프로세서는, 상기 전자 메시지 또는 상기 데이터를 기계 학습 프로세스를 위한 트레이닝 데이터로서 적용하도록 구성된 것인 컴퓨팅 장치.
11. The method of claim 10,
Wherein the processor is configured to apply the electronic message or the data as training data for a machine learning process.
제10항에 있어서,
전자 디스플레이
를 더 포함하고, 상기 프로세서는 또한, 상기 전자 디스플레이 상에 디스플레이될 이미지를 생성하도록 구성되며, 상기 이미지는 상기 요청 또는 상기 확약에 대응하는 상기 텍스트가 정확한지 또는 참인지를 상기 사용자가 확인하도록 하는 프롬프트를 포함하는 것인 컴퓨팅 장치.
11. The method of claim 10,
Electronic display
Wherein the processor is further configured to generate an image to be displayed on the electronic display, the image being prompted by the user to confirm whether the text corresponding to the request or the commitment is correct or true And a computing device.
제10항에 있어서,
상기 프로세서는 또한, 상기 전자 메시지의 파라미터를 분석하도록 구성되고, 상기 파라미터는 수신자의 수, 길이, 날짜 및 시간, 및 개별 전자 메시지의 제목 헤더 중 하나 이상을 포함하는 것인 컴퓨팅 장치.
11. The method of claim 10,
Wherein the processor is further configured to analyze parameters of the electronic message, wherein the parameters include at least one of a number of recipients, a length, a date and time, and a title header of the individual electronic message.
제10항에 있어서,
상기 프로세서는 또한, 상기 사용자가 상기 전자 메시지를 입력하는 동안 상기 사용자에 대한 정보를 분석하도록 구성되는 것인 컴퓨팅 장치.
11. The method of claim 10,
Wherein the processor is further configured to analyze information about the user while the user is entering the electronic message.
KR1020177036288A 2015-05-15 2016-04-16 Automatic extraction of commitments and requests from communications and content KR102478657B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/714,137 US10361981B2 (en) 2015-05-15 2015-05-15 Automatic extraction of commitments and requests from communications and content
US14/714,137 2015-05-15
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 (en) 2018-01-24
KR102478657B1 KR102478657B1 (en) 2022-12-15

Family

ID=55861232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036288A KR102478657B1 (en) 2015-05-15 2016-04-16 Automatic extraction of commitments and requests from communications and content

Country Status (18)

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

Families Citing this family (35)

* 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
US10740726B2 (en) * 2017-10-05 2020-08-11 Servicenow, Inc. Systems and methods for providing message templates in an enterprise system
US20190108486A1 (en) * 2017-10-05 2019-04-11 Microsoft Technology Licensing, Llc System and method for intelligent and automatic electronic communication support and routing
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 (en) * 2018-04-19 2019-06-05 ヤフー株式会社 Extraction program, extraction method, and extraction apparatus
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
US10902490B2 (en) * 2018-12-28 2021-01-26 Cdw Llc Account manager virtual assistant using machine learning techniques
US11416904B1 (en) 2018-12-28 2022-08-16 Cdw Llc Account manager virtual assistant staging using machine learning techniques
JP7292040B2 (en) * 2019-01-17 2023-06-16 ヤフー株式会社 Information processing program, information processing apparatus, and information processing method
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 (en) * 2019-05-16 2020-12-29 国家计算机网络与信息安全管理中心 Fraud number identification method based on graph embedding
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 (en) * 2021-04-13 2021-10-19 深圳市太美亚电子科技有限公司 Intelligent bracelet of solar intelligent household system and control method thereof
US20230186247A1 (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 (en) 1997-10-31 2004-05-10 日本電信電話株式会社 Electronic mail system, electronic mail transfer method, and recording medium recording electronic mail program
JPH11184924A (en) 1997-12-18 1999-07-09 Matsushita Electric Ind Co Ltd Scheduling device
US20020076109A1 (en) 1999-01-25 2002-06-20 Andy Hertzfeld Method and apparatus for context sensitive text recognition
US6553358B1 (en) 1999-04-20 2003-04-22 Microsoft Corporation Decision-theoretic approach to harnessing text classification for guiding automated action
US6505167B1 (en) 1999-04-20 2003-01-07 Microsoft Corp. Systems and methods for directing automated services for messaging and scheduling
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
US6581050B1 (en) 1999-04-20 2003-06-17 Microsoft Corporation Learning by observing a user's activity for enhancing the provision of 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 (en) 1999-12-17 2001-08-10 Alcatel Usa Sourcing Lp System and method for event scheduling of electronic mail base
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 (en) 2000-09-16 2002-03-22 이우진 Automatic Personal Information Offering System for Intercourse
JP2002157197A (en) * 2000-11-20 2002-05-31 Mitsubishi Electric Corp Cellular phone, method of displaying e-mail on cellular phone, and machine readable storage medium storing program for implementing the method
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
EP1755306B1 (en) * 2005-08-17 2008-04-02 Alcatel Lucent Apparatus and process for remotely activating/deactivating services for communication terminals via an IP network
WO2007033465A1 (en) 2005-09-26 2007-03-29 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 (en) * 2006-12-18 2012-02-01 株式会社日立製作所 Data mining system, data mining method, and data search system
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 (en) 2007-10-10 2009-04-30 Nec Corp Schedule registration support system, schedule registration support method and program
CA2715825C (en) * 2008-02-20 2017-10-03 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 (en) 2008-03-19 2009-10-01 Fujitsu Ltd Schedule management program, schedule management device and schedule management method
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 (en) 2009-02-20 2010-09-02 Nec Corp Automatic task generation system, and method and program for the same
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 (en) 2009-04-14 2011-03-21 (주)모비루스 Traffic Reduction Schedule Management System and Method for the same
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
US9514424B2 (en) 2010-12-30 2016-12-06 Kyle Kleinbart System and method for online communications management
US20120245925A1 (en) 2011-03-25 2012-09-27 Aloke Guha Methods and devices for analyzing text
US8694593B1 (en) 2011-03-31 2014-04-08 Google Inc. Tools for micro-communities
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
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
US9116984B2 (en) 2011-06-28 2015-08-25 Microsoft Technology Licensing, Llc Summarization of conversation threads
US10984387B2 (en) 2011-06-28 2021-04-20 Microsoft Technology Licensing, Llc Automatic task extraction and calendar entry
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 (en) 2011-11-22 2013-10-02 北京大学 Expert recommendation method based on language model
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
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
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 (en) 2013-09-03 2016-10-26 盈世信息科技(北京)有限公司 A kind of mail schedule assistant processing method
WO2015058604A1 (en) 2013-10-21 2015-04-30 北京奇虎科技有限公司 Apparatus and method for obtaining degree of association of question and answer pair and for search ranking optimization
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
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US10657959B2 (en) * 2014-06-03 2020-05-19 Sony Corporation Information processing device, information processing method, and program
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
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
IL254940B (en) 2020-09-30
JP6971853B2 (en) 2021-11-24
MY196056A (en) 2023-03-10
CA2983124C (en) 2023-03-14
RU2017134261A3 (en) 2019-10-25
WO2016186774A1 (en) 2016-11-24
KR102478657B1 (en) 2022-12-15
CL2017002832A1 (en) 2018-04-13
BR112017022028A2 (en) 2018-07-03
PH12017550119A1 (en) 2018-02-26
CO2017011540A2 (en) 2018-01-31
JP2018524669A (en) 2018-08-30
CA2983124A1 (en) 2016-11-24
EP3295389A1 (en) 2018-03-21
US10361981B2 (en) 2019-07-23
ZA201706754B (en) 2019-02-27
US20160337295A1 (en) 2016-11-17
HK1246439A1 (en) 2018-09-07
RU2017134261A (en) 2019-04-04
RU2718410C2 (en) 2020-04-02
AU2016265257A1 (en) 2017-10-26
BR112017022028B1 (en) 2023-12-19
MX2017014609A (en) 2018-03-01
IL254940A0 (en) 2017-12-31
CN107636647A (en) 2018-01-26

Similar Documents

Publication Publication Date Title
KR102478657B1 (en) Automatic extraction of commitments and requests from communications and content
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
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
ISMAILI Emails Analysis for Business Process Discovery

Legal Events

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