[go: up one dir, main page]

KR20180093040A - 메시지 교환 스레드들에 대한 자동적인 제안들 - Google Patents

메시지 교환 스레드들에 대한 자동적인 제안들 Download PDF

Info

Publication number
KR20180093040A
KR20180093040A KR1020187019756A KR20187019756A KR20180093040A KR 20180093040 A KR20180093040 A KR 20180093040A KR 1020187019756 A KR1020187019756 A KR 1020187019756A KR 20187019756 A KR20187019756 A KR 20187019756A KR 20180093040 A KR20180093040 A KR 20180093040A
Authority
KR
South Korea
Prior art keywords
user
entity
conversation
message
proposal
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020187019756A
Other languages
English (en)
Inventor
티모시 시즈 밀리건
힐라 쉬머
데니스 킬러리치
강 지
오리 게르소니
세르게이 나자로브
프라나브 카이탄
수쉔트 프라카시
안톤 볼코브
리카르도 에스쿠티아
데이비드 시트론
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20180093040A publication Critical patent/KR20180093040A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • H04L51/16
    • 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/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • H04L67/20
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • 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/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

메시지 교환 스레드로부터 엔티티를 식별하고, 엔티티에 관련된 제안, 이를테면 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 생성하기 위한 시스템 및 방법이 개시된다. 제안 애플리케이션은 메시지 교환 스레드로부터 적어도 하나의 전자 메시지를 수신하며, 전자 메시지로부터 실행가능할 수 있는 엔티티를 식별하고, 엔티티의 문맥상 표시자들을 결정하고, 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정하고, 그리고 엔티티가 실행가능하다는 것에 대한 응답으로, 엔티티에 관련되는 제안을 메시지 교환 스레드의 참여자(들)에게 제공한다.

Description

메시지 교환 스레드들에 대한 자동적인 제안들
[0001] 모바일은 사용자 주의에 대해 명백하게 데스크탑을 압도하고 있다. 채팅은 사용자들이 자신들의 모바일 디바이스들에서 많은 시간을 또는 아마도 자신들의 시간 대부분을 보내는 곳이다. 그 동안, 사용자들의 연락처 리스트들이 점점 더 커지거나 또는 심지어 소셜 네트워크들에서 관리불가능하게 됨에 따라, 사용자들은 점점 프라이버시에 대해 걱정하게 되고 점점 더 많은 정보 공유를 채팅 대화들로 이동시키기 시작한다. 결과적으로, 우리가 관심을 갖는 정보의 더 많은 것이 이제 우리의 대화들에 포함된다. 더 직관적이고 효율적인 방식으로 대화들을 핸들링하기 위한 접근법이 바람직하다.
[0002] 사용자들은 매일 많은 정보, 예컨대, 시간들, 위치들, 장소들, 사람들, 이벤트들, 비디오들을 공유한다. 그러나, 이들이 공유하는 대부분의 정보는 정적이다. 사용자들은 더 많은 정보를 얻거나 액션을 완료하기 위해 다른 어딘가로 이동할 필요가 있다. 예컨대, 사용자들은 영화를 보기 위해 극장에 가는 것에 대해 이야기하고 있지만, 티켓들을 예약하기 위해 극장의 웹사이트를 체크할 필요가 있다.
[0003] 사용자들은, 모바일 디바이스의 터치 스크린 상에서는 특히 어려울 수 있는 타이핑에 의해 또는 사용자들이 답신들을 발견한 다른 장소들로부터 복사하여 붙여넣음으로써 메시지들에 회답한다. 어느 것도 사용자 회답에 대한 양호한 경험을 제공하지 않는다.
[0004] 사용자들은 대화들에서 자신들이 공유하는 것들을 잊어버린다. 대화들은 쉽게 검색가능하지 않을 수 있어서, 예컨대, 사용자는 사용자가 실제로 원하는 정보 피스(piece)를 발견하기 위해 많은 검색 결과들로부터 스크롤 업 및 스크롤 다운할 필요가 있을 수 있다.
[0005] 부가적으로, 예컨대, 콘텍스트(context) 또는 감정(sentiment)을 판단하기 위해 대화들로부터 통찰력들을 획득하기 위한 어떠한 쉬운 방법도 없다. 또한 대화로부터 상이한 애플리케이션으로의 어떠한 정보 피드도 없다.
[0006] 본 개시내용은 메시지 교환 스레드(또한 본원에서 "대화"로 지칭됨)로부터 엔티티를 식별하고, 참여자(들)의 컴퓨팅 디바이스(들)를 통해 대화의 참여자(들)에게의 프리젠테이션을 위한 제안을 생성하는 시스템들 및 방법들에 관한 것이고, 제안은 참여자(들)가 엔티티에 대한 액션을 취하게 하는 제안이다. 일부 구현들에서, 엔티티는 단일의 잘 정의되고 구별가능한 것 또는 개념이다. 예컨대, 엔티티는 사람, 장소, 아이템, 아이디어 또는 이들의 임의의 조합일 수 있다.
[0007] 일부 구현들에서, 제안은 엔티티에 관한 것이며, 메시지 교환 스레드의 하나 또는 그 초과의 메시지들로부터 엔티티를 식별하는 것에 기반한다. 이 구현들 중 일부에서, 엔티티의 하나 또는 그 초과의 문맥상 표시자(contextual indicator)들이 또한 결정되고, 문맥상 표시자들은 엔티티가 실행가능(actionable)한지 여부를 결정하기 위해 활용되고, 엔티티가 실행가능한 것으로 결정될 때에만 제안이 참여자(들)에게의 프리젠테이션을 위해 제공된다. 사용자가 엔티티에 대해 액션을 취하려고 할 경우, 그 엔티티가 메시지 교환 스레드의 콘텍스트에 있는지 여부를 결정함으로써, 엔티티가 실행가능한 것으로 결정될 수 있다. 다양한 문맥상 표시자들, 이를테면, 메시지 교환 스레드 자체(예컨대, 이전 메시지 교환 스레드들에서 참여자들의 이전 전자 메시지들) 외부의 콘텐츠에 기반하는 문맥상 표시자들, (메시지 교환 스레드 및/또는 이전 메시지 교환 스레드(들)의) 메시지(들)의 자연 언어 프로세싱에 기반하는 문맥상 표시자들, 메시지 교환 스레드의 대화 흐름에 기반하는 문맥상 표시자들, (메시지 교환 스레드 및/또는 이전 메시지 교환 스레드(들)의) 메시지(들)에 기반하여 결정되는 감정에 기반하는 문맥상 표시자들 등이 활용될 수 있다. 추가의 그리고 대안적인 문맥상 표시자들은 본원에서 더 상세히 설명된다. (문맥상 표시자들에 기반하여) 엔티티가 실행가능한 것으로 결정될 때에만 제안들을 제공하는 것은 참여자(들)가 무관련 제안들에 의해 산만해지는 것을 방지할 수 있고 그리고/또는 프리젠테이션을 위한 무관련 제안들을 송신 및/또는 제공하지 않음으로써 다양한 컴퓨테이셔널 리소스(computational resource)들을 보존할 수 있다. 이를테면, 제안들은 문맥상 관련되는 것으로 결정될 때에만 제공될 수 있고, 이는 문맥상 관련과 무관하게 제안들을 제공하는 것에 비해, 제안들의 제공의 감소 및 대응하는 컴퓨테이셔널 리소스들의 보존을 유도할 수 있다. 또한, 본원에서 설명되는 기법들에 따라 제안들을 제공하는 일부 구현들은 특히, 재주가 없는 사용자들, 또는 그렇지 않으면 디바이스에 사용자 입력들을 행하기 곤란한 사용자들에게 유리할 수 있다. 적어도 이러한 사용자들에 대해, 선택가능한 제안들을 메시지 교환 스레드에 통합하는 것은, 예컨대, 재주가 없는 것으로 인해 사용자가 에러들을 범하는 것을 절감함으로써 디바이스의 신뢰성 및 사용 스피드를 증가시킬 수 있다.
[0008] 일부 구현들에서, 제안은 선택가능한 제안이다. 이 구현들 중 일부에서, 대화의 참여자에 의한 제안의 선택에 대한 응답으로, 제안(및/또는 관련된 콘텐츠)은 대화의 트랜스크립트(transcript)에 통합될 수 있고 그리고/또는 엔티티에 관련되는 컴퓨터-기반 액션이 (예컨대, 메시지 교환 스레드 내에서 및/또는 메시지 교환 스레드와 별개로) 수행될 수 있다. 예컨대, 제안은 처음에 참여자들 중 하나 또는 그 초과에게의 프리젠테이션을 위해 비-정적 그래픽 엘리먼트로서 제공될 수 있고, 이 제안은, 참여자들 중 하나 또는 그 초과에 의한 제안의 선택 시에만 대화의 트랜스크립트에 정적으로 통합되는 제안(및/또는 관련된 콘텐츠)이다. 이를테면, 일단 정적으로 통합되면, 제안은 트랜스크립트의 일부를 형성하고 심지어 추가의 메시지들이 대화의 트랜스크립트에 포함되어 제출된 후에도 대화에서 (예컨대, 스크롤링에 의해) 계속 보일 수 있다. 또한, 이를테면, 일단 정적으로 통합되면, 제안은 대화와 연관하여 인덱싱될 수 있어, 참여자들이 제안에 기반하여 향후 대화를 검색할 수 있게 한다. 제안이 선택가능한 일부 구현들에서, 제안은 긍정적 인터페이스 엘리먼트(affirmative interface element) 및 부정적 인터페이스 엘리먼트(negative interface element)를 포함할 수 있다. 긍정적 인터페이스 엘리먼트의 선택(들)에 대한 응답으로, 제안은 트랜스크립트에 통합될 수 있고, 긍정적 인터페이스 엘리먼트의 선택(들)에 대한 응답으로, 제안은 제안의 트랜스크립트로의 정적 통합 없이 폐기될 수 있다.
[0009] 일부 구현들에서, 진행중인 메시지 교환 스레드 동안 문맥상 관련 제안들을 제공하는 것은 참여자들이 간단한 방식으로(예컨대, 단일-탭 및/또는 다른 단일 선택 인터페이스 액션을 통해) 메시지 교환 스레드에 제안들(또는 관련된 콘텐츠)를 부가하는 것을 가능하게 할 수 있다. 부가적으로 또는 대안적으로, 문맥상 관련 제안들은, 문맥상 관련 엔티티에 관련된 콘텐츠를 포착하기 위해, 메시지 교환 스레드를 렌더링하는 애플리케이션으로부터 다른 애플리케이션으로 스위칭하도록 참여자(들)에게 요구함이 없이, 이러한 콘텐츠를 참여자(들)에게 제공할 수 있다. 예컨대, 메시지 교환 클라이언트를 통해 프리젠테이션을 위한 제안을 제공하는 것 및/또는 제안에 기반하여(예컨대, 제안의 사용자 선택에 대한 응답으로) 콘텐츠를 메시지 교환 스레드의 트랜스크립트에 통합하는 것은 이러한 콘텐츠를 포착하기 위해 메시지 교환 클라이언트로부터 스위칭할 필요성을 회피할 수 있다. 이는, 그렇지 않으면 정보 필요성들을 만족시키기 위해 다른 애플리케이션으로 스위칭하는 데 소비되었을 소정의 컴퓨테이셔널 리소스들의 사용을 감소시킬 수 있다. 예컨대, 다른 애플리케이션으로 스위칭하는 것은 애플리케이션의 론칭(launching) 및/또는 서피싱(surfacing)을 통해 프로세서, 메모리 및/또는 배터리 리소스들의 사용을 요구할 수 있다. 추가로, 메시지 교환 스레드에서 콘텐츠를 획득하는 것 대신에 콘텐츠를 획득하기 위해 다른 애플리케이션으로 스위칭하는 것은 참여자가 콘텐츠를 획득하기 위해 필요로 하는 시간의 양을 증가시킬 수 있고, 이는 콘텐츠를 획득할 때 컴퓨테이셔널 리소스들의 소비에서 대응하는 증가를 유도할 수 있다.
[0010] 게다가, 대화의 트랜스크립트에 제안을 정적으로 통합할지 여부의 옵션을 참여자(들)가 제시받는 구현들에서, 참여자(들)는 문맥상 관련 제안들을 제시받을 수 있지만, 이러한 제안들이 대화의 일부를 형성하는지 여부를 제어하도록 여전히 허용될 수 있다. 이는, 메시지 교환 스레드들을 렌더링하는 사용자 인터페이스들에서 클러스터를 완화할 수 있고 그리고/또는 다양한 컴퓨테이셔널 리소스들의 사용을 감소시킬 수 있다(예컨대, 모든 제안들이 자동적으로 저장되는 것은 아니기 때문에 메시지 교환 스레드의 트랜스크립트를 인덱싱 또는 그렇지 않으면 저장하기 위해 요구되는 저장 공간을 감소시킬 수 있다).
[0011] 일부 구현들에서, 하나 또는 그 초과의 프로세서들에 의해 구현되는 방법이 제공되고, 메시지 교환 스레드의 트랜스크립트에서의 디스플레이를 위해, 제1 사용자에 의해 제출되는 전자 메시지를 수신하는 단계를 포함한다. 전자 메시지는 제1 사용자의 클라이언트 디바이스를 통해 제1 사용자에 의해 제공되는 사용자 인터페이스 입력에 대한 응답으로 제출된다. 메시지 교환 스레드는 제1 사용자의 제1 메시지 교환 클라이언트 및 제2 사용자의 제2 메시지 교환 클라이언트를 통해 적어도 제1 사용자와 제2 사용자 사이에서 이루어진다. 방법은 전자 메시지로부터 엔티티를 식별하는 단계, 엔티티의 문맥상 표시자들을 결정하는 단계 및 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정하는 단계를 더 포함한다. 방법은 엔티티가 실행가능하다는 결정에 대한 응답으로, 제1 메시지 교환 클라이언트 및 제2 메시지 교환 클라이언트 중 적어도 하나를 통한 프리젠테이션을 위해, 엔티티에 관련된 제안을 제공하는 단계를 더 포함한다.
[0012] 이러한 및 다른 구현들은 선택적으로 다음의 특징들 중 하나 또는 그 초과를 포함할 수 있다:
[0013] 일부 구현들에서, 엔티티가 실행가능하다는 결정에 대한 응답으로, 제안이, 제2 메시지 교환 클라이언트를 통해 제2 사용자에게의 프리젠테이션을 위해 제공되지만, 제1 사용자에게는 제공되지 않는다. 이 구현들 중 일부에서, 방법은 제2 메시지 교환 클라이언트를 통해 제2 사용자에 의한 제안의 긍정적 선택을 수신하는 단계; 및 긍정적 선택에 대한 응답으로, 제1 메시지 교환 클라이언트를 통해 제1 사용자에게의 프리젠테이션을 위한, 제안에 기반한 콘텐츠를 제공하는 단계를 더 포함한다. 이 구현들의 일부 버전들에서, 제안에 기반한 콘텐츠는 제안 자체이다. 따라서 이 구현들 중 일부는 오직 처음에 메시지 교환 스레드의 참여자들의 서브세트에 제안을 제시하고, 오직 서브세트의 참여자(들)에 의한 제안의 긍정적 선택에 대한 응답으로 서브세트가 아닌 다른 참여자(들)에게 그 제안에 기반한 콘텐츠를 추가로 제시한다. 이는, 긍정적 선택이 제공되지 않는 상황들에서 제안들 및/또는 콘텐츠의 제공을 방지함으로써 서브세트가 아닌 다른 참여자(들)의 클라이언트 디바이스들의 다양한 컴퓨테이셔널 자원들의 소비를 방지할 수 있다.
[0014] 일부 구현들에서, 엔티티가 실행가능하다는 결정에 대한 응답으로, 메시지 교환 스레드의 트랜스크립트에 제안을 통합하지 않고, 제안이 프리젠테이션을 위해 제공된다. 이 구현들 중 일부에서, 방법은, 제안의 긍정적 선택을 수신하는 단계; 및 긍정적 선택에 대한 응답으로, 메시지 교환 스레드의 트랜스크립트에 제안에 기반하는 콘텐츠를 통합하는 단계를 더 포함한다. 따라서, 이 구현들 중 일부는, 오직 제안의 긍정적 선택에 대한 응답으로만, 제안에 기반하는 콘텐츠를 메시지 교환 스레드의 트랜스크립트에 통합한다. 이는, 다양한 컴퓨테이셔널 리소스들, 이를테면, 트랜스크립트를 저장하기 위해 요구되는 리소스들 및/또는 메시지 교환 스레드에서 콘텐츠를 제공 및/또는 렌더링하기 위해 요구되는 리소스들의 소비를 방지할 수 있다.
[0015] 일부 구현들에서, 엔티티가 실행가능하다는 결정에 대한 응답으로, 메시지 교환 스레드의 트랜스크립트에 제안을 통합하지 않고, 제안이 프리젠테이션을 위해 제공되고, 제안은, 긍정적 인터페이스 엘리먼트 및 부정적 인터페이스 엘리먼트를 포함한다. 이 구현들 중 일부에서, 방법은, 긍정적 인터페이스 엘리먼트 또는 부정적 인터페이스 엘리먼트의 선택에 대해 모니터링하는 단계; 및 오직 긍정적 인터페이스 엘리먼트의 선택에 대한 응답으로만, 메시지 교환 스레드의 트랜스크립트에 제안에 기반하는 콘텐츠를 통합하는 단계를 더 포함한다. 따라서, 이 구현들 중 일부는, 오직 제안의 긍정적 선택에 대한 응답으로만, 제안에 기반하는 콘텐츠를 메시지 교환 스레드의 트랜스크립트에 통합한다. 이는, 다양한 컴퓨테이셔널 리소스들, 이를테면, 트랜스크립트를 저장하기 위해 요구되는 리소스들 및/또는 메시지 교환 스레드에서 콘텐츠를 제공 및/또는 렌더링하기 위해 요구되는 리소스들의 소비를 방지할 수 있다.
[0016] 일부 구현들에서, 방법은, 엔티티가 실행가능하다는 결정에 대한 응답으로, 제3자 서버에 엔티티를 송신하는 단계; 및 엔티티를 송신하는 것에 대한 응답으로 제3자 서버로부터 제안을 수신하는 단계를 더 포함한다.
[0017] 일부 구현들에서, 문맥상 표시자들을 결정하는 단계는, 제1 사용자 및 제2 사용자 중 적어도 하나가 관여한(involve) 별개의 이전 메시지 교환 스레드에 기반하여 적어도 하나의 문맥상 표시자를 결정하는 단계를 포함한다. 이 구현들 중 일부에서, 적어도 하나의 문맥상 표시자는 이전 메시지 교환 스레드의 하나 또는 그 초과의 이전 메시지들에서 제1 사용자 및 제2 사용자 중 적어도 하나에 의해 표현되는 감정에 기반한다. 이 구현들의 일부 버전들에서, 감정은 엔티티에 관련되며, 적어도 하나의 문맥상 표시자를 결정하는 단계는, 엔티티에 관련되는 감정에 기반하여 적어도 하나의 문맥상 표시자를 결정하는 단계를 포함한다.
[0018] 일부 구현들에서, 문맥상 표시자들을 결정하는 단계는, 제1 사용자 또는 제2 사용자의 이전 메시지의 감정 분석을 수행하는 것에 기반하여 적어도 하나의 문맥상 표시자를 결정하는 단계를 포함한다. 이전 메시지는 메시지 교환 스레드 또는 이전 메시지 교환 스레드에 있다. 이 구현들 중 일부에서, 감정 분석을 수행하는 것은 이전 메시지에 포함된 비-텍스추얼(non-textual) 그래픽 엘리먼트에 적어도 부분적으로 기반한다. 이 구현들의 일부 버전들에서, 이전 메시지는 이전 메시지 교환 스레드에 있으며, 적어도 하나의 문맥상 표시자는 이전 메시지에 있는 엔티티에 관련되는 감정에 기반하여 선택된다.
[0019] 일부 구현들에서, 제안은 제2 사용자에 대한 프리젠테이션을 위해 제공되며, 문맥상 표시자들은 제1 사용자의 이전 메시지에 기반한다. 이 구현들 중 일부에서, 이전 메시지는, 제1 사용자에 의해, 제2 사용자가 관여하지 않은 이전 메시지 교환 스레드에 제출된다.
[0020] 일부 구현들에서, 방법은, 머신 학습 모델에 기반하여 적어도 하나의 전자 메시지에 대한 자연 언어 분석(natural language analysis)을 수행하는 단계를 더 포함하며, 전자 메시지로부터 실행가능한 엔티티를 식별하는 단계 및 엔티티의 문맥상 표시자들을 결정하는 단계는 자연 언어 분석에 기반한다.
[0021] 일부 구현들에서, 방법은, 추적 정보를 생성하기 위해 메시지 교환 스레드의 각각의 참여자로부터 대화 흐름들을 추적하는 단계; 및 추적 정보에 기반하여 문맥상 표시자들을 생성하는 단계를 더 포함한다.
[0022] 일부 구현들에서, 방법은, 문맥상 표시자들 및 트레이닝된 머신 학습 모델을 사용하여 제안을 결정하는 단계를 더 포함한다. 이 구현들 중 일부에서, 방법은, 엔티티에 제공된 제안에 대한 사용자 반응을 수신하는 단계; 문맥상 표시자들에 기반하여 입력되는 트레이닝 예(training example) 및 사용자 반응에 기반하여 출력되는 트레이닝 예를 갖는 트레이닝 예를 생성하는 단계; 및 트레이닝 예에 기반하여 트레이닝된 머신 학습 모델을 추가로 트레이닝하는 것에 기반하여 트레이닝된 머신 학습 모델을 수정하는 단계를 더 포함한다.
[0023] 일부 구현들에서, 방법은, 컴퓨터 판독가능 매체에서, 문맥상 표시자들에 기반하여 메시지 교환 스레드를 인덱싱하는 단계를 더 포함한다.
[0024] 다른 구현들에서, 이들 및 다른 방법들은, 방법들의 액션들을 수행하도록 구성된, 대응하는 시스템들, 장치, 및 컴퓨터 저장 디바이스들 상에 인코딩된 컴퓨터 프로그램들을 포함할 수 있다.
[0025] 일반적으로, 본 개시내용에서 설명되는 청구대상의 다른 구현들은 방법들로 구현될 수 있으며, 방법들은, 하나 또는 그 초과의 프로세서들을 사용하여, 대화로부터 적어도 하나의 대화 메시지를 수신하는 단계; 하나 또는 그 초과의 프로세서들을 사용하여, 대화 메시지로부터 실행가능할 수 있는 엔티티를 식별하는 단계; 하나 또는 그 초과의 프로세서들을 사용하여, 엔티티의 문맥상 표시자들을 결정하는 단계; 하나 또는 그 초과의 프로세서들을 사용하여, 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정하는 단계; 및 엔티티가 실행가능하다는 것에 대한 응답으로, 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 제공하는 단계를 포함한다.
[0026] 이들 및 다른 구현들은 각각, 다음의 피처(feature)들 중 하나 또는 그 초과를 선택적으로 포함할 수 있다. 이를테면, 피처들은, 머신 학습 모델에 기반하여 적어도 하나의 대화 메시지에 대한 자연 언어 분석을 수행하는 것을 포함할 수 있으며, 여기서, 대화 메시지로부터 실행가능할 수 있는 엔티티를 식별하는 것 및 엔티티의 문맥상 표시자들을 결정하는 것은 그 분석에 기반한다. 피처들은, 대화의 각각의 참여자로부터 대화 흐름들을 추적하는 것, 및 추적 정보에 기반하여 문맥상 표시자들을 정제(refine)하는 것을 포함할 수 있다. 피처들은, 문맥상 표시자들 및 머신 학습 모델에 기반하여, 사용자가 액션을 취하게 하는 제안을 결정하는 것을 포함할 수 있다. 피처들은, 사용자로부터, 엔티티를 실행가능한 것으로 마킹하는 표시를 수신하는 것, 트레이닝 신호로서 사용자 표시를 머신 학습 모델에 전송하는 것, 엔티티에 관련된 정보에 대해 검색하는 것, 및 정보를 사용자에게 제공하는 것을 포함할 수 있다. 피처들은, 질의들 및 문서 리트리벌(retrieval)들을 포함하는 여러 소스들로부터 데이터를 수신하는 것, 데이터로부터 피처들을 추출하는 것, 추출된 피처들에 기반하여 머신 학습 모델을 생성하는 것, 사용자 액션을 수신하는 것 ―사용자 액션은, 엔티티에 대해 제공된 제안에 대한 반응을 포함함 ―, 및 사용자 액션에 기반하여, 머신 학습 모델을 트레이닝하는 것을 포함할 수 있다. 피처들은, 애플리케이션에 엔티티 정보를 피딩하는 것 ― 엔티티 정보는 대화의 참여자들을 포함함―, 애플리케이션에 의해 제안을 생성하는 것, 및 제안을 대화의 참여자들에게 제공하는 것을 포함할 수 있다. 피처들은, 대화에서 사용자에 대한 질문을 검출하는 것 ―질문은 엔티티에 관련됨―, 질문에 대한 잠재적 사용자 회답을 결정하는 것, 및 원-탭(one-tap) 형태의 잠재적 사용자 회답을 사용자에게 제공하는 것을 포함할 수 있다. 피처들은, 문맥상 표시자들에 기반하여 적어도 하나의 대화를 체계화하는 것, 및 적어도 하나의 대화를 인덱싱하는 것을 포함할 수 있다.
[0027] 다른 구현들에서, 이들 및 다른 방법들은, 방법들의 액션들을 수행하도록 구성된, 대응하는 시스템들, 장치, 및 컴퓨터 저장 디바이스들 상에 인코딩된 컴퓨터 프로그램들을 포함할 수 있다.
[0028] 위의 그리고/또는 다른 구현들 중 일부는 여러 측면들에서 유리할 수 있다. 이를테면, 제안은, 시간이 지남에 따라 대화의 시맨틱스(semantics)를 이해하도록 학습하고 그리고 실시간 대화로부터 의미를 추론하는 머신 학습 모델에 기반하여 생성될 수 있으며, 따라서, 효율적이고 정확하다. 제안은 또한, 감정 분석 및 대화 흐름들을 포함하는 문맥상 분석에 기반하여 생성될 수 있다. 적합한 제안은 적합한 문맥상 조건 하에서 생성되며, 따라서, 지능적이다. 예컨대, 슬픈 사용자에게는 축하 메시지가 전송되지 않을 것이다. 게다가, 제안은, 사용자가 액션을 완료하는 데 직접적으로 사용될 수 있는 풍부한 콘텍스트 및 다음 단계(들)를 제시(offer)할 수 있다. 추가로, 중요한 제안들 및 업데이트들이 대화의 모든 참여자들에 대해 일 장소에서 다른 서비스들에 의해 제공될 수 있다. 또한, 체계화 및 요약 메커니즘은, 대화들에서 공유된 정보의 의미있는 흔적을 사용자가 용이하게 다시 볼 수 있게 할 수 있다.
[0029] 그러나, 위의 피처들 및 장점들은 전부를 포괄하는 것이 아니며, 많은 부가적인 피처들 및 장점들이 고려되고 본 개시내용의 범위 내에 속한다는 것이 이해되어야 한다. 게다가, 본 개시내용에서 사용되는 언어는 주로 가독성 및 설명의 목적들을 위해 선택되었으며, 본원에 개시된 청구대상의 범위를 제한하기 위한 것이 아니라는 것이 이해되어야 한다.
[0030] 본 명세서는, 유사한 참조 번호들이 유사한 엘리먼트들을 지칭하기 위해 사용되는 첨부된 도면들의 도해들에서, 제한으로서가 아니라 예로서 예시된다.
[0031] 도 1은, 대화로부터 엔티티를 식별하고 그리고 엔티티에 대해 사용자가 액션을 취하게 하는 제안을 생성하기 위한 예시적 시스템을 예시하는 블록 다이어그램이다.
[0032] 도 2는, 예시적 제안 애플리케이션을 예시하는 블록 다이어그램이다.
[0033] 도 3은, 대화로부터 엔티티를 식별하고 그리고 엔티티에 대해 사용자가 액션을 취하게 하는 제안을 생성하기 위한 예시적 방법의 흐름도이다.
[0034] 도 4는, 대화로부터 엔티티를 식별하고 그리고 엔티티에 대해 사용자가 액션을 취하게 하는 제안을 생성하기 위한 특정 예시적 방법의 흐름도이다.
[0035] 도 5는, 대화로부터 실행가능한 엔티티를 수동으로 결정하기 위한 예시적 방법의 흐름도이다.
[0036] 도 6은, 머신 학습 모델을 생성 및 업데이트하기 위한 예시적 방법의 흐름도이다.
[0037] 도 7은, 제안을 생성하기 위해 제1 애플리케이션으로부터 제2 애플리케이션으로 엔티티 정보를 피딩하기 위한 예시적 방법의 흐름도이다.
[0038] 도 8은, 대화에서 잠재적 사용자 회답을 예측하기 위한 예시적 방법의 흐름도이다.
[0039] 도 9는, 검색 요청들에 대한 응답으로 대화들 및/또는 대화 메시지들을 선택적으로 리트리브하기 위한 예시적 방법의 흐름도이다.
[0040] 도 10은 제안을 보여주는 예시적 대화 인터페이스들의 그래픽 표현들을 포함한다.
[0041] 도 11a는 제1 애플리케이션에 의해 생성된 대화를 보여주는 예시적 대화 인터페이스의 그래픽 표현이다.
[0042] 도 11b는 제2 애플리케이션에 의해 생성된 제안을 보여주는 예시적 대화 인터페이스의 그래픽 표현이다.
[0043] 도 12는 원-탭 회답들을 보여주는 예시적 대화 인터페이스의 그래픽 표현이다.
[0044] 도 13은 대화 보고를 보여주는 예시적 대화 인터페이스의 그래픽 표현이다.
[0045] 도 14는 대화 요약을 보여주는 예시적 대화 인터페이스의 그래픽 표현이다.
[0046] 도 15는 제안들의 순차적인 표현을 보여주는 예시적 대화 인터페이스들의 그래픽 표현들을 포함한다.
[0047] 자동적인 제안 생성을 위한 시스템들, 방법들 및 인터페이스들이 개시된다. 일부 구현들에서, 자동적인 제안 생성을 위한 시스템들, 방법들 및 인터페이스들은 대화 분석에 기반한다. 사용자가 대화에서 메시지를 전송할 때, 메시지는 사용자가 액션을 취할 수 있는 하나 또는 그 초과의 엔티티들을 결정하기 위해 분석된다. 그런 다음, 대화의 다른 메시지들 또는 대화의 사용자 및/또는 다른 참여자(들)가 관여하는 다른 대화들도 문맥상 표시자들을 결정하기 위해 분석된다. 제안은 문맥상 표시자들에 기반하여 생성된다. 예컨대, 2명의 사용자들이 상점에서 만날 것을 원한다면, 맵 및 캘린더가 사용자들을 상점으로 안내하고 만남 시간을 셋업하기 위해 제안될 수 있다. 문맥상 표시자들에 기반하여, 맵은 사용자들 둘 모두에 가까운 특정 상점에 대한 방향들만을 표시할 수 있으며, 캘린더는 사용자들 둘 모두의 이용가능한 시간을 강조할 수 있다. 일부 예시들에서, 제안은 액션의 다음 단계들을 제시한다.
[0048] 제안 생성 프로세스는 많은 양상들에서 자동적이다. 예컨대, 본 개시내용의 구현들은 제안을 생성할지 여부, 및: 대화에서 언제 및 어디에 제안을 삽입할지; 및/또는 대화로의 잠재적 삽입을 위해 하나 또는 그 초과의 참여자들에게 언제 제안을 추천할지를 결정한다. 이를테면, 사용자 A로부터 사용자 B로의 질문 "meet at coffee house?"에 대해, 사용자 B가 "great"를 답신한다면, 커피 하우스(coffee house)를 포함하는 맵이 2명의 사용자들 중 하나 또는 둘 모두에게 제안될 수 있는 반면, 사용자 B가 "I'd like to go, but..."을 답신한다면, 맵 제안은 2명의 사용자들 중 누구에게도 제공되지 않을 것이다. 일부 구현들에서, 제안된 맵의 상이한 버전들, 이를테면, 제1 사용자의 현재 위치로부터 커피 하우스로의 방향들을 제1 사용자에게 제공하는 제1 버전 및 제2 사용자의 현재 위치로부터 커피 하우스로의 방향들을 제2 사용자에게 제공하는 제2 버전이 사용자들 각각에게 제공될 수 있다. 본 개시내용의 구현들은 또한 문맥상 표시자들에 기반하여, 어떤 제안이 적합한지 및/또는 언제 제안을 제공하는 것이 적합한지를 결정한다. 예컨대, (예컨대, 사용자의 다른 대화의 분석에 기반하여 결정된 바와 같이) 사용자가 안좋은 뉴스를 방금 수신했다면, 축하 제안은 대화 내의 사용자에게 제공하기에 적합하지 않다고 결정될 수 있다. 다른 예로서, 사용자가 어떤 것을 싫어한다고 결정된다면(예컨대, 대화 및/또는 이전의 대화에서 그러한 것에 관하여 사용자에 의해 표현되는 감정에 기반함), 그러한 것의 제안은 대화 내의 사용자에게 제공하기에 적합하지 않다고 결정될 수 있다.
[0049] 본 개시내용의 시스템들, 방법들 및 인터페이스들이 클라이언트-서버 시스템의 맥락에서 이제 설명되지만, 시스템들, 방법들 및 인터페이스들은 네트워크를 통해 동작가능하게 연결된 단일 클라이언트-서버 시스템 이외의 시스템들에 적용될 수 있다는 것이 이해되어야 한다. 예컨대, 클라이언트 디바이스들, 제3자 서버, 이메일 서버, 및/또는 제안 애플리케이션이 저장되는 서버는 본원에서 설명된 기능의 일부 또는 전부를 제공할 수 있고 그러한 기능을 제공하기 위해 서버들의 클러스터를 이용할 수 있다. 부가적인 예로서, 클라이언트 하드웨어는 모바일 폰 또는 태블릿 디바이스일 수 있다.
[0050] 이제 도면들을 참조하면, 도 1은 대화로부터 엔티티를 식별하고 사용자가 엔티티에 대해 액션을 취하게 하는 제안을 생성하기 위한 시스템(100)의 블록 다이어그램을 예시한다. 예시된 시스템(100)은 사용자들(104a, 104n)에 의해 액세스되는 클라이언트 디바이스들(102a, 102n), 서버(106), 이메일 서버(108), 제3자 서버(110) 및 검색 서버(112)를 포함한다. 예시된 예에서, 이들 엔티티들은 네트워크(114)를 통해 통신가능하게 커플링된다. 도 1 및 나머지 도면들에서, 참조 번호 이후의 문자, 예컨대 "102a"는 이 특정 참조 번호를 갖는 엘리먼트에 대한 참조번호이다. 뒤따르는 문자가 없는 텍스트 내의 참조 번호, 예컨대 "102"는 이 참조 번호를 갖는 엘리먼트의 상이한 인스턴스들에 대한 일반적인 참조번호이다. 비록 2개의 클라이언트 디바이스들(102a, 102n)만이 예시될지라도, 당업자들은 임의의 수의 클라이언트 디바이스들(102n)이 임의의 수의 사용자들(104n)에 이용가능하다는 것을 인지할 것이다.
[0051] 네트워크(114)는 종래의 타입, 즉 유선 또는 무선일 수 있고, 스타 구성, 토큰 링 구성 또는 다른 구성들을 포함하는 많은 상이한 구성들을 가질 수 있다. 게다가, 네트워크(114)는 LAN(local area network), WAN(wide area network)(예컨대, 인터넷), 및/또는 다수의 디바이스들이 통신할 수 있는 다른 상호연결된 데이터 경로들을 포함할 수 있다. 일부 예시들에서, 네트워크(114)는 피어-투-피어 네트워크일 수 있다. 네트워크(114)는 또한, 여러 상이한 통신 프로토콜들로 데이터를 전송하기 위해 원격통신 네트워크의 부분들에 커플링되거나 그들을 포함할 수 있다. 일부 다른 예시들에서, 네트워크(114)는, 이를테면 SMS(short messaging service), MMS(multimedia messaging service), HTTP(hypertext transfer protocol), 직접 데이터 연결, WAP(Wireless Application Protocol), 이메일 등을 통해 데이터를 전송 및 수신하기 위한 블루투스 통신 네트워크들 또는 셀룰러 통신 네트워크를 포함한다. 비록 도 1이 클라이언트 디바이스들(102a, 102n), 이메일 서버(108), 제3자 서버(110) 및 검색 서버(112)에 커플링된 하나의 네트워크(114)를 예시하더라도, 실제로는 하나 또는 그 초과의 네트워크들(114)이 이들 엔티티들에 연결될 수 있다.
[0052] 도 1의 클라이언트 디바이스들(102a, 102n)이 예로서 사용된다. 비록 2개의 클라이언트 디바이스들(102)만이 예시될지라도, 본 개시내용은 임의의 수의 클라이언트 디바이스들(102)을 갖는 시스템 아키텍처에 적용된다. 예시된 구현에서, 사용자들(104a, 104n)은 신호 라인(116a, 116n)을 통해 클라이언트 디바이스(102a, 102n)와 각각 상호작용한다. 클라이언트 디바이스들(102a, 102n)은 신호 라인(120a, 120n)을 통해 네트워크(114)에 통신가능하게 각각 커플링되고, 서버(106), 이메일 서버(108), 제3자 서버(110) 및 검색 서버(112)와 정보를 교환한다. 예컨대, 클라이언트 디바이스(102a)는 대화 메시지(본원에서 "전자 메시지"로 또한 지칭됨)를 서버(106)에 전송한다. 서버(106)는 대화 메시지를 프로세싱하고, 대화 메시지에 기반하여 제안을 생성한다. 일부 예시들에서, 서버(106)는 하나 또는 그 초과의 대화 메시지들을 수신하고, 하나 또는 그 초과의 대화 메시지들에 기반하여 제안을 생성한다. 다른 예시들에서, 서버(106)는 또한 제안을 생성하기 위해 다른 입력들(예컨대, 이전의 사용자 활동들, 사용자 프로파일 정보 등)을 사용한다. 사용자의 임의의 프로파일 정보 또는 개인 정보의 사용 이전에 인가가 획득된다. 클라이언트 디바이스(102a)는 서버(106)로부터 의도치 않은 지연들 없이 제안을 수신한다. 예컨대, 클라이언트 디바이스(102)는 메시지 "has John's flight landed?"를 전송한 직후 비행기의 도착 시간 및 상태를 포함하는 제안을 수신한다. 일부 예시들에서, 예컨대, 제안이 대화의 향후 시간에 잘 맞춰질 때 또는 서버(106)가 콘텍스트에 대한 더 많은 대화 메시지들 및 제안을 전송하기 위한 확인을 기다릴 때, 지연이 바람직할 수 있다. 예컨대, 클라이언트 디바이스(102a)가 커피 숍들의 맵을 즉시 제안하기보다는 메시지 "let's grab coffee"를 클라이언트 디바이스(102n)에 전송했을 때, 서버(106)는 제안을 생성 및/또는 제공하기 이전에 클라이언트 디바이스(102n)로부터의 메시지(예컨대, "I hate coffee")를 기다릴 수 있다.
[0053] 일부 예시들에서, 클라이언트 디바이스(102)는 메모리 및 프로세서를 포함하는 임의의 컴퓨팅 디바이스일 수 있다. 예컨대, 클라이언트 디바이스(102)는 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 모바일 텔레폰, 개인 휴대 정보 단말, 모바일 이메일 디바이스, 휴대가능 게임 플레이어, 휴대가능 뮤직 플레이어, 하나 또는 그 초과의 프로세서들이 내장되거나 그에 커플링된 텔레비전 또는 네트워크(114)에 액세스할 수 있는 임의의 다른 전자 디바이스 등일 수 있다.
[0054] 서버(106)는 프로세서, 메모리 및 네트워크 통신 능력들을 포함하는 하드웨어 서버일 수 있다. 서버(106)는 신호 라인(122)을 통해 네트워크(114)에 통신가능하게 커플링된다. 일부 예시들에서, 서버(106)는 네트워크(114)를 통해 클라이언트 디바이스들(102), 이메일 서버(108), 제3자 서버(110) 및 검색 서버(112) 중 하나 또는 그 초과에 데이터를 전송하고 그들로부터 데이터를 수신한다. 서버(106)는 선택적으로 소셜 네트워크 애플리케이션(124)을 포함한다.
[0055] 소셜 네트워크는 사용자들이 공통 피처(들)에 의해 연결될 수 있는 네트워크일 수 있다. 공통 피처(들)는 관계들/연결들, 예컨대 친구, 가족, 직장, 관심사 등을 포함할 수 있다. 공통 피처(들)는 명시적으로 정의된 관계들 및 다른 온라인 사용자들과의 소셜 연결들에 의해 암시된 관계들을 포함하는 하나 또는 그 초과의 소셜 네트워킹 시스템들에 의해 제공될 수 있으며, 여기서 관계들은 소셜 그래프를 형성한다. 일부 예들에서, 소셜 그래프는 이들 사용자들의 맵핑 및 그들이 어떻게 관련될 수 있는지를 반영할 수 있다. 서버(106)의 소셜 네트워크 애플리케이션(124)은 사용자들의 등록, 콘텐츠(예컨대, 우편물들, 코멘트들, 사진들, 링크들, 체크-인들 등)의 공개, 다중-사용자 통신 세션들을 호스팅(hosting)하는 것, 그룹들의 관리, 상이한 공유 레벨들을 관리하는 것, 소셜 그래프를 업데이트하는 것 등을 핸들링함으로써 소셜 네트워크를 관리한다. 소셜 네트워크 애플리케이션(124)은 정보, 이를테면 사용자 이름 및 패스워드를 수신함으로써 사용자를 등록하고, 사용자와 연관되고 소셜 그래프의 일부로서 저장되는 사용자 프로파일을 생성한다. 일부 예시들에서, 사용자 프로파일은 관심사들(예컨대, 축구, 독서, 음식, 가입들 등), 활동들(예컨대, 검색 내역, 승인의 표시들, 우편물들, 코멘트들, 다중-사용자 통신 세션들 등), 인구통계(예컨대, 나이, 인종, 위치 등) 및 프로파일 등급 및 명성(예컨대, 지능 등급, 유머 등급 등)을 포함하는 사용자에 관한 부가적인 정보를 포함한다. 시스템(100)은 전통적인 소셜 네트워크 서버들, 이메일 서버들, 마이크로-블로그 서버들, 블로그 서버들, 포럼 서버들, 메시지 서버들 등을 포함하는 다수의 서버들(106)을 포함할 수 있다.
[0056] 게다가, 서버(106) 및 소셜 네트워크 애플리케이션(124)은 하나의 소셜 네트워크를 대표할 수 있다. 네트워크(114)에 커플링된 다수의 소셜 네트워크들이 있을 수 있는데, 소셜 네트워크들 각각은 그 자체적인 서버, 애플리케이션 및 소셜 그래프를 갖는다. 예컨대, 제1 소셜 네트워크는 비즈니스 네트워킹으로 더 지향될 수 있고, 제2 소셜 네트워크는 학계로 더 지향되거나 집중될 수 있으며, 제3 소셜 네트워크는 로컬 비즈니스로 더 지향될 수 있다.
[0057] 이메일 서버(108)는 프로세서, 메모리 및 네트워크 통신 능력들을 포함하는 하드웨어 서버일 수 있다. 이메일 서버(108)는 신호 라인(126)을 통해 네트워크(114)에 통신가능하게 커플링된다. 일부 예시들에서, 이메일 서버(108)는 서버(106)와 사용자 데이터를 교환하여, 서버(106)가 사용자 데이터에 기반하여 대화 메시지로 엔티티에 대한 제안을 생성할 수 있다. 예컨대, 사용자가 대화 중에 장난감을 구입하는 것에 관해 이야기할 때, 서버(106)는 이메일 서버(108)와 통신하여 (예컨대, 이메일들에서 장난감들에 대한 구매 영수증들로부터) 사용자의 구매 내역을 얻을 수 있고, 구매 내역에 적어도 부분적으로 기반하여 제안을 결정한다. 임의의 구매 내역 또는 사용자의 다른 개인 정보의 사용 이전에 인가가 획득된다.
[0058] 제3자 서버(110)는 프로세서, 메모리 및 네트워크 통신 능력들을 포함하는 컴퓨팅 디바이스일 수 있다. 제3자 서버(110)는 신호 라인(128)을 통해 네트워크(114)에 커플링된다. 제3자 서버(110)는 네트워크(114)를 통해 시스템(100)의 클라이언트 디바이스(102), 서버(106) 및 검색 서버(112)로 그리고 이들로부터 데이터를 전송 및 수신한다. 제3자 서버(110)는 상이한 애플리케이션들을 저장할 수 있다. 예컨대, 서버(106)는 제3자 서버(110)에 저장된 대화 애플리케이션으로부터 대화 메시지들을 수신할 수 있다. 다른 예에서, 서버(106)는 제3자 서버(110)에 저장된 애플리케이션에 (예컨대, 제3자 서버(110)의 API(application programming interface)를 통해) 엔티티 정보를 피딩하여 애플리케이션이 엔티티 정보에 기반하여 제안을 생성할 수 있다. 다수의 제3자 서버들이 제공될 수 있으며, 서버(106)는 다양한 팩터들에 기반하여 (엔티티 정보를 제공하고 응답 제안을 수신하기 위해) 적절한 제3자 서버를 선택할 수 있다. 예컨대, 대화에서 엔티티와 연관하여 언급된 엔티티 및/또는 액션(들)의 시맨틱 타입이 다른 이용가능한 제3자 서버들 대신에 정해진 제3자 서버를 선택하기 위해 활용될 수 있다. 이를테면, 제3자 서버(110)는 레스토랑 예약들에 대한 제안들을 제공할 수 있고, "restaurant" 시맨틱 타입인 엔티티에 기반하여 그리고/또는 엔티티와 연관하여 언급되는 "reserve", "book" 및/또는 다른 "reservation" 용어들에 기반하여 선택될 수 있다. 게다가, 일부 구현들에서, 본원에서 설명되는 문맥상 표시자들은 엔티티가 실행가능한지 여부를 결정하기 위해 활용될 수 있고, 서버(106)는 엔티티가 실행가능하다고 결정될 때에만 엔티티 정보를 제3자 서버에 선택적으로 제공할 수 있다. 이는 엔티티가 실행가능하다고 여겨지지 않을 때 제3자 서버로의 엔티티에 대한 엔티티 정보의 일부 송신들을 방지함으로써 네트워크 트래픽을 줄일 수 있다.
[0059] 검색 서버(112)는 프로세서, 메모리 및 네트워크 통신 능력들을 포함하는 컴퓨팅 디바이스일 수 있다. 검색 서버(112)는 신호 라인(130)을 통해 네트워크(114)에 커플링된다. 검색 서버(112)는 사용자로부터의 검색 요청에 대한 응답으로 사용자에게 검색 결과를 제공하는 검색 엔진을 포함한다. 일부 예시들에서, 서버(106)는 검색 서버(112)와 통신하여 엔티티에 관련된 정보를 검색하고, 검색에 대한 응답으로 검색 서버(112)에 의해 리턴된 정보에 기반하여 엔티티에 대한 액션을 취할 제안을 생성한다.
[0060] 일부 예시들에서, 서버(106)는 제안 애플리케이션(132b)을 포함한다. 다른 예시들에서, 제안 애플리케이션(132b)은 부가적으로 또는 대안적으로 클라이언트 디바이스(102) 상에 저장될 수 있다. 예컨대, 제안 애플리케이션(132b)은, 대화로부터 엔티티를 식별하고 엔티티에 대해 사용자가 액션을 취하게 하는 제안을 생성하기 위해 클라이언트 디바이스(102) 상의 제안 애플리케이션(132b)의 일부 및 서버(106) 상의 제안 애플리케이션(132b)의 일부를 포함하는 신-클라이언트 애플리케이션(thin-client application)일 수 있다.
[0061] 제안 애플리케이션(132b)은 대화로부터 적어도 하나의 대화 메시지를 수신하고 대화 메시지로부터 엔티티를 식별한다. 엔티티는 대화 메시지의 부분, 예컨대 대화 메시지에서 사람 또는 오브젝트(object)일 수 있다. 일부 예시들에서, 제안 애플리케이션(132b)은 대화 메시지의 문법적 구성 요소들의 분석에 기반하여 대화 메시지를 파싱하고, 파싱된 대화 메시지로부터 하나 또는 그 초과의 엔티티들을 식별한다. 예컨대, 제안 애플리케이션(132b)은 메시지의 파싱에 기반하여 "great weather!" 메시지가 "great", "weather" 및 "!"를 포함함을 식별하고, 메시지로부터 제1 엔티티인 "great" 및 제2 엔티티인 "weather"를 결정한다.
[0062] 일부 구현들에서, 제안 애플리케이션(132b)은 문맥상 표시자들을 결정하기 위해 전체 대화 또는 심지어 다른 대화들(예컨대, 이전의 대화들, 제3자 애플리케이션으로부터의 대화들)로 분석을 더 확장한다. 예컨대, "would you like to meet at ABC coffee store?" 메시지 및 사용자 프로파일 정보로부터, 제안 애플리케이션(132b)은 "ABC coffee store" 엔티티가 사용자의 사무실 근처에 있다고 결정한다. 임의의 프로파일 정보 또는 사용자의 개인 정보의 사용 이전에 인가가 획득된다. 다른 문맥상 표시자들은 감정 표시자들, 대화 흐름들, 메시지의 시제, 메시지의 최근성(recency), 메시지가 전송된 날짜 및/또는 시간, 엔티티와 연관된 날짜 및/또는 시간, 대화 메타데이터 등을 포함한다.
[0063] 일부 구현들에서, 제안 애플리케이션(132b)은, 사용자가 엔티티에 대해 액션을 취하려고 할 경우, 그 엔티티가 대화의 콘텍스트에 있는지 여부를 결정하는 것에 기반하여, 엔티티가 실행가능한지 여부를 추가로 결정한다. 예컨대, 제안 애플리케이션(132b)은 "I like A" 메시지의 A 엔티티가 비-실행가능하다고 결정하지만, "I am going to buy A" 메시지의 A 엔티티는 실행가능하다고 결정한다. 제안 애플리케이션(132b)은 대화 흐름들, 시제, (예컨대, 이모션 심볼에 기반한) 감정 표시자들, 메시지에 사용되는 동사들, 메시지에서 질문이 이루어지는지 여부, 대화 메타데이터 등을 포함하는 문맥상 표시자들에 기반하여 엔티티가 실행가능한지 여부를 결정한다. 사용자 A가 사용자 B에게 "meet at XYZ?"라고 질문한다면, 제안 애플리케이션(132b)은 단지, 대화 흐름에서 사용자 B의 긍정적(positive) 답신을 수신한 후에 "XYZ" 위치가 실행가능하다고 결정할 것이다.
[0064] 일부 구현들에서, 제안 애플리케이션(132b)은, 문맥상 표시자들에 기반하여, 실행가능한 엔티티에 대한 제안을 생성한다. 예컨대, 제안 애플리케이션(132b)은 제2 사용자가 제1 사용자를 저녁 식사(dinner)에 초대할 때 제안 B를 결정하기 위해 문맥상 표시자들로서 제1 사용자로부터의 "I hate A restaurant," "I like B restaurant," "C restaurant is ok" 메시지들을 사용한다. 예컨대, 제안은 메시지들에서 그러한 엔티티들 각각에 대해 표현되는 대응하는 감정들에 기반하여, B 레스토랑 및/또는 C 레스토랑으로 안내될 수 있지만, A 레스토랑으로는 안내되지 않을 수 있다. 본원에서 설명된 바와 같이, 메시지들은 제2 사용자가 제1 사용자를 저녁 식사에 초대하는 대화로부터의 메시지들일 수 있고 그리고/또는 제2 사용자를 포함할 수 있거나 포함하지 않을 수 있는 다른 대화들로부터의 메시지들일 수 있다. 추가로, 그리고 또한 본원에서 설명되는 바와 같이, 제1 사용자의 메시지들에 기반하여 결정된 제안 B는 (적합한 인가가 획득된다면) 제1 사용자 및/또는 제2 사용자에게 프리젠테이션을 위해 제공될 수 있다. 다른 말로, 일부 구현들에서, 제안 B는 제1 사용자의 메시지들에 기반하여 생성되어, 제2 사용자에게 프리젠테이션을 위해 제공될 수 있다. 이 구현들 중 일부에서, 제1 사용자의 메시지들이 제2 사용자를 또한 포함했던 대화(들)로부터의 메시지들이라고 결정된다면, 제1 사용자의 메시지들에 기반한 제안이 제2 사용자에게만 제공될 수 있다. 일부 다른 구현들에서, 제1 사용자의 메시지들 중 하나 또는 그 초과가 제2 사용자를 포함하지 않는 대화(들)로부터의 메시지들이라 하더라도, 제1 사용자의 메시지들에 기반한 제안이 제2 사용자에게 제공될 수 있다.
[0065] 게다가, 일부 구현들에서, 제안 애플리케이션(132b)은 (예컨대, 제3자 서버(110)에 의해 호스팅되는(hosted)) 별개의 애플리케이션에 엔티티 정보를 피딩할 수 있고, 이에 응답하여, 별개의 애플리케이션으로부터 제안을 얻을 수 있다. 엔티티 정보를 별개의 애플리케이션에 피딩하는 것은 하나 또는 그 초과의 네트워크들을 활용하여 별개의 애플리케이션에 엔티티 정보를 송신하는 것, 그리고 선택적으로 별개의 애플리케이션의 API를 활용하는 것을 포함할 수 있다. 엔티티 정보를 피딩하는 것에 대한 응답으로 제안을 수신하는 것은 엔티티 정보를 송신하는 것에 대한 응답으로 하나 또는 그 초과의 네트워크들을 통해 제안을 수신하는 것을 포함할 수 있고, 선택적으로 API(예컨대, 엔티티 정보를 송신하는 데 활용되는 동일한 API)를 활용할 수 있다.
[0066] 일 예로서, 사용자가 다른 사용자들과의 대화에서 기상(weather)을 언급한다면, 기상 서비스는 시간별 기상 보고를 사용자들에게 전송할 수 있다. 이를테면, 시간별 기상 보고는 모든 사용자들이 보도록 위해 대화의 트랜스크립트에 통합될 수 있고 그리고/또는 대화에 참여하기 위해 활용되는 메시지 교환 클라이언트들/애플리케이션들과는 별개의 애플리케이션들을 통해 사용자들에게 제공될 수 있다. 이러한 방식으로, 제안 애플리케이션(132b)은 사용자들이 클라이언트 디바이스 상에 별개의 애플리케이션을 수동으로 설치하지 않고 사용자들을 별개의 애플리케이션과 연결하고 (예컨대, 대화의 트랜스크립트에서) 대화의 모든 참여자들에게의 프리젠테이션을 위해 적소에 중요한 제안들을 제공한다. 일부 예시들에서, 제안 애플리케이션(132b)은 부가적으로 또는 대안적으로, 사용자가 대화에서 질문에 답신할 가능한 회답을 예측하고, 따라서 사용자 시간을 절약한다. 다른 예시들에서, 제안 애플리케이션(132b)은 부가적으로 또는 대안적으로, 사용자들이 대화에서 그들이 원하는 임의의 정보를 다시 쉽게 참조할 수 있도록 대화의 정보를 체계화한다(organize). 제안 애플리케이션(132b)의 다양한 구현들이 본원에서 보다 상세하게, 예컨대 도 2를 참조로 논의된다.
[0067] 이제 도 2를 참조하면, 제안 애플리케이션(132b)의 예가 보다 상세히 도시된다. 도 2는 일부 구현들에 따라 프로세서(202), 메모리(204), 통신 유닛(208), 저장소(210) 및 제안 애플리케이션(132b)을 포함하는 컴퓨팅 디바이스(200)의 블록 다이어그램이다. 일부 예시들에서, 컴퓨팅 디바이스(200)는 서버(106)이다. 다른 예시들에서, 컴퓨팅 디바이스는 클라이언트 디바이스(102)이다. 또 다른 예시들에서, 컴퓨팅 디바이스는 분산형 컴퓨팅 디바이스, 이를테면 서버(106)와 클라이언트 디바이스(102) 둘 모두에서 동작하는 것이다. 컴퓨팅 디바이스(200)의 컴포넌트들은 도 2에서 버스(206)에 의해 통신가능하게 커플링된 것으로 예시된다.
[0068] 프로세서(202)는 컴퓨테이션(computation)들을 수행하고 디스플레이 디바이스에 전자 디스플레이 신호들을 제공하기 위해, 산술 로직 유닛, 마이크로프로세서, 범용 제어기, 또는 일부 다른 프로세서 어레이 중 일부 또는 전부를 포함한다. 프로세서(202)는 다른 컴포넌트들과 통신하기 위해 버스(206)에 커플링된다. 프로세서(202)는 데이터 신호들을 프로세싱하고, CISC(complex instruction set computer) 아키텍처, RISC(reduced instruction set computer) 아키텍처, 또는 명령 세트들의 조합을 구현하는 아키텍처를 포함하는 다양한 컴퓨팅 아키텍처들을 포함할 수 있다. 비록 도 2가 단일 프로세서를 포함할지라도, 다수의 프로세서들이 포함될 수 있다. 프로세싱 능력은 이미지들의 디스플레이 및 이미지들의 캡처 및 송신을 지원하는 것으로 제한될 수 있다. 프로세싱 능력은 다양한 타입들의 피처 추출 및 샘플링을 포함하는 더 복잡한 태스크들을 수행하는 데 충분할 수 있다. 다른 프로세서들, 운영 시스템들, 센서들, 디스플레이들, 및 물리적 구성들이 가능하다는 것이 당업자에게 자명할 것이다.
[0069] 메모리(204)는 프로세서(202)에 의해 실행될 수 있는 명령들 및/또는 데이터를 저장한다. 메모리(204)는 다른 컴포넌트들과의 통신을 위해 버스(206)에 커플링된다. 명령들 및/또는 데이터는 본원에서 설명되는 기법들 중 임의의 기법 또는 모든 기법을 수행하기 위한 코드를 포함할 수 있다. 메모리(204)는 DRAM(dynamic random access memory) 디바이스, SRAM(static random access memory) 디바이스, 플래시 메모리, 또는 본 기술분야에 알려져 있는 일부 다른 메모리 디바이스일 수 있다. 일부 예시들에서, 메모리(204)는 또한, 비-휘발성 메모리 또는 유사한 영구 저장소 및 매체들, 예컨대, 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 더 영구적으로 정보를 저장하기 위한 본 기술 분야에 알려져 있는 일부 다른 대용량 저장소를 포함한다.
[0070] 통신 유닛(208)은 클라이언트 디바이스들(102), 서버(106), 이메일 서버(108), 제3자 서버(110), 및 검색 서버(112) 중 적어도 하나로 그리고 이들 중 적어도 하나로부터 데이터를 송신 및 수신한다. 통신 유닛(208)은 버스(206)에 커플링된다. 예컨대, 통신 유닛(208)은 클라이언트 디바이스(102)로부터 대화 메시지를 포함하는 데이터를 수신하고, 데이터를 서버(106)에 송신한다. 서버(106)는 서버(106) 상에 저장된 제안 애플리케이션(132b)을 사용하여 대화 메시지에 기반하여 제안을 생성하고, 제안을 클라이언트 디바이스(102)에 송신한다.
[0071] 일부 예시들에서, 통신 유닛(208)은 클라이언트 디바이스(206) 또는 다른 통신 채널로의 직접적인 물리적 연결을 위한 포트를 포함한다. 예컨대, 통신 유닛(208)은 클라이언트 디바이스(206)와의 유선 통신을 위해 RJ45 포트 또는 유사한 포트를 포함한다. 다른 예시들에서, 통신 유닛(208)은, 하나 또는 그 초과의 무선 통신 방법들, 이를테면 IEEE 1502.11, IEEE 1502.16, 블루투스®, 또는 다른 적절한 무선 통신 방법을 사용하여, 클라이언트 디바이스(206) 또는 임의의 다른 통신 채널과 데이터를 교환하기 위한 무선 트랜시버(미도시)를 포함한다.
[0072] 일부 다른 예시들에서, 통신 유닛(208)은, 셀룰러 통신 네트워크, 이를테면, SMS(short messaging service), MMS(multimedia messaging service), HTTP(hypertext transfer protocol), 직접 데이터 연결, WAP(wireless application protocol), 이메일, 또는 다른 적절한 타입의 전자 통신을 통해, 데이터를 전송 및 수신하기 위한 셀룰러 통신 트랜시버를 포함한다. 또 다른 예시에서, 통신 유닛(208)은 유선 포트 및 무선 트랜시버를 포함한다. 당업자에 의해 이해될 바와 같이, 통신 유닛(208)은 또한, 표준 네트워크 프로토콜들, 이를테면 TCP/IP, HTTP, HTTPS 및 SMTP를 사용한 파일들 및/또는 미디어 오브젝트들의 분배를 위해 네트워크(114)로의 다른 종래의 연결들을 제공한다.
[0073] 저장소(210)는 본원에서 설명되는 기능성을 제공하기 위한 데이터를 저장하는 비-일시적 메모리이다. 저장소(210)는 버스(206)에 커플링된다. 저장소(210)는 DRAM(dynamic random access memory) 디바이스, SRAM(static random access memory) 디바이스, 플래시 메모리, 또는 일부 다른 메모리 디바이스들일 수 있다. 일부 예시들에서, 저장소(210)는 또한, 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 디바이스, DVD-ROM 디바이스, DVD-RAM 디바이스, DVD-RW 디바이스, 플래시 메모리 디바이스, 또는 더 영구적으로 정보를 저장하기 위한 일부 다른 대용량 저장소를 포함하는 비-휘발성 메모리 또는 유사한 영구 저장소 및 매체들을 포함한다.
[0074] 일부 예시들에서, 저장소(210)는 소셜 네트워크 내의 사용자들과 연관된 소셜 네트워크 프로파일들, 대화 내의 대화 메시지들, 대화로부터 식별된 실행가능한 엔티티들, 대화 및/또는 다른 대화들로부터 결정된 문맥상 표시자들, 대화의 실행가능한 엔티티들에 기반하여 생성된 제안들 등을 저장한다.
[0075] 일부 예시들에서, 제안 애플리케이션(132b)은 제어기(220), 대화 관리 모듈(222), 모델 구축기(224), 대화 분석기(226), 결정 엔진(228), 제안 생성기(230), 및 사용자 인터페이스 엔진(236)을 포함한다.
[0076] 제어기(220)는 데이터를 수신하고 적합한 컴포넌트에 데이터를 송신하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 제어기(220)는 아래에서 설명되는 데이터를 수신 및 송신하기 위한 기능성을 제공하기 위하여 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 제어기(220)는 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있고, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 제어기(220)는 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[0077] 일부 예시들에서, 제어기(220)는 통신 유닛(208)을 통해 데이터를 수신하고, 제안 애플리케이션(132)의 적합한 모듈에 데이터를 송신한다. 예컨대, 제어기(220)는 통신 유닛(208)을 통해 클라이언트 디바이스(102)로부터 사용자 정보를 수신하고, 그리고 머신 학습 모델을 구축 및 업데이트하기 위해 모델 구축기(224)에 사용자 정보를 송신한다. 다른 예에서, 제어기(220)는 대화 분석기(226)로부터의 대화 내 엔티티의 문맥상 표시자들, 및 엔티티가 실행가능하다는 결정 엔진(228)으로부터의 결정을 수신하며, 그리고 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 생성하기 위해서, 실행가능한 엔티티의 문맥상 표시자들을 제안 생성기(230)에 송신한다.
[0078] 대화 관리 모듈(222)은 대화 세션을 생성 및 관리하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 대화 관리 모듈(222)은 아래에서 설명되는 대화 세션을 생성 및 관리하기 위한 기능성을 제공하기 위하여 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 대화 관리 모듈(222)은 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있고, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 대화 관리 모듈(222)은 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[0079] 일부 예시들에서, 대화 관리 모듈(222)은 대화 세션을 생성하고, 그리고 대화 인터페이스에 대화 세션을 디스플레이하기 위한 그래픽 데이터를 생성하도록 사용자 인터페이스 엔진(236)에게 명령한다. 대화 세션 또는 대화는 비디오 회의, 오디오 회의, 및 인스턴트 메시징 중 적어도 하나를 포함하는 다중-사용자 통신 세션이다. 대화는 적어도 하나의 대화 메시지를 포함한다. 대화 메시지는 비디오 메시지, 오디오 메시지, 텍스트 메시지, 사진(photo), 하이퍼링크 등을 포함할 수 있다. 일부 예시들에서, 대화 관리 모듈(222)은 사용자(104)의 실시간 오디오-비디오 동기 통신 데이터 스트림을 획득하기 위해, 클라이언트 디바이스(102)의 오디오 및 비디오 캡처 디바이스들과 상호작용함으로써, 대화를 생성한다. 예컨대, 대화 관리 모듈(222)은, 클라이언트 디바이스(102)에 포함된 마이크로폰 및 비디오 카메라(예컨대, 웹캠 또는 전방 카메라(forward facing camera))의 기능성을 제어하는, 클라이언트 디바이스(102) 상에 저장된 소프트웨어 구동기와 인터페이싱하고, 그리고 클라이언트 디바이스(102)에 의해 캡처된 오디오-비디오 데이터에 기반하여 대화를 생성한다. 오디오-비디오 데이터는 다양한 오디오 및 비디오 코덱들을 사용하여 인코딩될 수 있다. 다른 예시들에서, 대화 관리 모듈(222)은, 대화에 참여한 사용자들이 문서들, 스크래치패드, 및/또는 컴퓨팅 디바이스 스크린들을 서로 공유하게 할 수 있는 대화를 생성한다.
[0080] 일부 예시들에서, 대화 관리 모듈(222)은 대화의 대화 메시지에 기반하여 제안 생성기(230)에 의해 자동적으로 생성된 제안을 수신하며, 그리고 대화 내의 대화 메시지와 함께 제안을 디스플레이하기 위한 그래픽 데이터를 생성하기 위해 사용자 인터페이스 엔진(236)과 통신한다. 다른 예시들에서, 대화 관리 모듈(222)은 대화에 하나 또는 그 초과의 애플리케이션들 또는 서비스들을 제공하며, 그리고 사용자가 하나 또는 그 초과의 애플리케이션들 또는 서비스들과 상호작용할 수 있도록 대화 인터페이스 내에 하나 또는 그 초과의 툴들을 생성하도록 사용자 인터페이스 엔진(236)에게 명령한다. 예컨대, 대화 관리 모듈(222)은, 사용자가 주제들, 시간 등에 기반하여 대화들을 검색할 수 있도록 대화 인터페이스 내에 검색 박스를 생성하도록 사용자 인터페이스 엔진(236)에게 명령한다.
[0081] 일부 예시들에서, 대화 관리 모듈(222)은 또한, 다른 대화들로부터 대화 메시지들을 수신하기 위해 통신 유닛(208)을 통해 다른 서버들(예컨대, 제3자 서버(110))과 통신한다. 다른 대화들은 다른 서버들 상의 다른 애플리케이션들에 의해 생성될 수 있다. 대화 관리 모듈(222)은 제안을 생성하기 위해 제안 애플리케이션(132b)의 다른 컴포넌트들(예컨대, 224-236)에 대화 메시지들을 포워딩한다. 일부 예시들에서, 대화 관리 모듈(222)은 또한, 저장소(210)에 대화 메시지들을 저장한다.
[0082] 모델 구축기(224)는 머신 학습 모델을 생성 및/또는 업데이트하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 모델 구축기(224)는 아래에서 설명되는 머신 학습 모델을 생성 및/또는 업데이트하기 위한 기능성을 제공하기 위하여 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 모델 구축기(224)는 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있고, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 모델 구축기(224)는 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[0083] 모델 구축기(224)는 대화 관리 모듈(222)에 의해 생성 및 수신되는 대화로부터 정보를 수신하고, 정보로부터 피처들을 추출하고, 추출된 피처들에 기반하여 모델을 생성한다. 모델은 사용자들에 관련된 아이템들, 이를테면, 위치, 관심사들의 리스트 등을 포함한다. 관심사는 사용자가 좋아하는 것에 대한 사용자 표시로부터 명백할 수 있다. 관심사는 또한 사용자의 활동들로부터 추론되는 정보일 수 있다. 예컨대, 사용자가 몇몇의 대화들에서 하이킹 장비에 관해 이야기하면, 모델 구축기(224)는 사용자가 실외 활동들에 관심있다고 추론한다. 일부 예시들에서, 모델 구축기(224)는 또한, 예컨대, 질의들, 문서 리트리벌, 사용자 상호작용들, 이메일들 등을 포함하는 여러 소스들로부터 사용자 정보를 수신하고, 정보에 기반하여 모델을 구축한다. 예컨대, 모델 구축기(224)는 사용자의 검색 내역을 모델에 포함시킨다. 다른 예에서, 질의에 대해 리턴된 문서들의 집합(collection) 및 각각의 문서와 연관된 랭크들을 수신할 때, 모델 구축기(224)는 문서와 질의 간의 관련성을 보여주기 위해 랭크들을 포함하도록 모델을 구축한다.
[0084] 일부 예시들에서, 모델 구축기(224)는 사용자 통계 및 사용자 거동 패턴 데이터, 예컨대, 사용자가 얼마나 자주 대화에 합류하는지, 사용자가 대화들에서 누구와 가장 많이 이야기하는지, 사용자가 다른 사람들과 대화하기 원하는 시간은 언제인지, 사용자가 대화에서 사진들을 공유하는 것을 좋아하는지 여부, 사용자가 어떠한 종류들의 사진들을 공유하는 것을 좋아하는지 등을 포함하도록 모델을 생성한다. 다른 예시들에서, 모델 구축기(224)는 사용자 액션에 관하여 예측들을 하는 데 사용되는 승수(multiplier)들 및 가중치들의 시퀀스를 포함하도록 모델을 생성한다. 일부 예시들에서, 모델 구축기(224)는 사용자들 간의 소셜 관계들에 기반하여 가중치들 및 승수들을 결정한다. 예컨대, 모델 구축기(224)는 대화 관리 모듈(222)로부터 대화 메시지들을 수신한다. 대화 메시지들은 대화에서 발생된 질문 및 질문에 대한 제1 사용자 및 제2 사용자의 회답들을 포함한다. 모델 구축기(224)는, 소셜 네트워크 애플리케이션(124)에 의해 관리되는 소셜 그래프에 기반하여, 제1 사용자가 제3 사용자의 가까운 친구이고 제2 사용자가 제3 사용자를 개인적으로 알지 못한다고 결정하기 위해 소셜 네트워크 애플리케이션(124)과 통신한다. 모델 구축기(224)는 제2 사용자보다 제1 사용자에 더 높은 가중치를 할당한다. 나중에, 모델이 유사한 사용자들의 액션들에 기반하여 사용자의 거동을 예측하는 데 사용될 때, 제1 사용자의 회답은 질문에 대한 제3 사용자의 잠재적 답신을 예측하는데 있어 더 많이 가중될 것이다. 다른 예시들에서, 모델 구축기(224)는 대화 메시지들의 최근성에 기반하여 가중치들 및 승수들을 결정한다. 예컨대, 사용자가 지난 달의 대화에서 게임 A에 관해 이야기하였고 이번 달의 대화에서 게임 B에 관해 이야기하였다면, 모델 구축기(224)는, 사용자가 어떠한 게임 포럼에 가입할 것인지를 예측할 때, 게임 A보다 게임 B에 대해 더 높은 가중치를 결정한다. 일부 다른 예시들에서, 모델 구축기(224)는, 사용자가 대화에 얼마나 자주 합류하는지, 사용자가 다른 사람들과 대화하기에 좋아하는 시간이 언제인지 등을 포함하는 다른 팩터들에 기반하여 가중치들 및 승수들을 결정한다.
[0085] 일부 예시들에서, 모델 구축기(224)는 모델을 생성하고, 모델에 기반하여 사용자를 하나 또는 그 초과의 카테고리들로 맵핑한다. 카테고리는, 아래에서 설명되는 바와 같이, 대화 분석기(226)에 의해 식별된 엔티티일 수 있다. 예컨대, 모델 구축기(224)는 사용자가 야구하기를 좋아한다고 결정하고, 사용자를 카테고리 "sportsman" 및 카테고리 "basketball"로 카테고리화한다. 또는 모델 구축기(224)는 매일 다른 사용자들과 이야기하는 사용자를 카테고리 "talker"로 카테고리화한다.
[0086] 일부 구현들에서, 모델 구축기(224)는 머신 학습 모델을 생성한다. 모델 구축기(224)는, 여러 소스들로부터, 적어도 하나의 대화를 포함하는 데이터를 수집하고, 수집된 데이터로부터 소정의 특성들을 학습하기 위해 머신 학습 알고리즘을 사용한다. 머신 학습 알고리즘들은 회귀 기법들, 인스턴스-기반 알고리즘들, 결정 트리들(decision trees), 베이지안(Bayesian) 알고리즘들, 커널(kernel) 방법들, 클러스터링 방법들, 연관성 규칙 학습, 인공 신경 네트워크들 등을 포함할 수 있지만, 이에 제한되지 않는다. 모델 구축기(224)는 대화의 시맨틱스를 이해하기 위해 시간이 지남에 따라 모델을 트레이닝하고, 실시간 대화로부터 의미를 추론한다. 모델이 진화함에 따라, 제안 작성, 거동 예측 등에서 모델을 사용하는 것의 효율성 및 정확도가 개선된다.
[0087] 모델 구축기(224)는 모델을 트레이닝하기 위한 트레이닝 신호들로서 사용자 액션들을 사용한다. 일부 예시들에서, 모델 구축기(224)는 이전의 대화들에서 사용자의 액션들을 추적하고, 그러한 사용자 액션들로부터 학습하도록 모델을 트레이닝한다. 예컨대, 모델 구축기(224)는, 사용자가 구매 툴과의 대화 인터페이스에서 제시되었던 어떠한 것도 결코 구매하지 않는다는 것을 학습하거나, 2명의 사용자들이 그들 간의 이전의 대화들로부터 그들이 만남 장소로서 특정 커피 하우스를 항상 선정한다는 것을 학습한다. 다른 예시들에서, 모델 구축기(224)는 사용자의 비-채팅(non-chat) 액션들을 추적하고, 비-채팅 액션들로부터 학습하도록 모델을 트레이닝한다. 예컨대, 모델 구축기(224)는 사용자의 구매 내역으로부터 사용자의 좋아하는 초콜릿 브랜드를 학습한다. 모델에 의해 어떤 것이 학습되었는지에 기반하여, 사용자에 대한 제안이 작성될 수 있다. 예컨대, 사용자가 대화에서 휴가를 위한 플로리다로의 비행에 관해 이야기할 때, 사용자에 대해 비행 일정표(flight itinerary)들(예컨대, 시간 및 항공사)의 제안이 작성될 수 있는데, 이는, 사용자들의 이전 액션들로부터 사용자가 이러한 항공사를 좋아하고 종종 대략 그 시간에 비행기에 탑승한다는 것을 모델 구축기(224)가 학습했기 때문이다. 일부 예시들에서, 모델 구축기(224)는 대화에서 사용자에게 제공된 제안에 대한 사용자 반응을 수신하고, 차례로, 모델을 트레이닝하기 위한 트레이닝 신호로서 반응(및 대화로부터의 다른 데이터)을 사용한다(예컨대, 추가의 트레이닝을 통해 모델을 정제하는 데 사용되는 트레이닝 예를 생성하기 위해 반응을 사용함). 상기 예에 대해 계속하면, 사용자가 비행 일정표 제안을 삭제(drop)하거나 대화에서 (예컨대, "I do not like this airline"라고 기록함으로써) 항공사의 비호감도를 명시적으로 언급하면, 모델 구축기(224)는 모델을 트레이닝하기 위한 신호로서 이러한 부정적 반응을 취할 수 있다. 결과적으로, 다른 항공사가 향후 사용자에게 제안될 수 있다.
[0088] 일부 예시들에서, 모델 구축기(224)는, 요청을 수신할 때, 모델을 업데이트한다. 예컨대, 제안 생성기(230)는, 모델을 사용하여 제안을 생성할 때, 모델을 업데이트하도록 모델 구축기(224)에 요청한다. 다른 예시들에서, 모델 구축기(224)는 모델을 업데이트하기 위해 여러 소스들로부터 데이터 및/또는 비-주기적인 데이터를 주기적으로(한 시간에 한번, 하루에 한번, 한 주에 한번 등) 그리고/또는 비-주기적으로 수신하고, 그에 따라서 모델을 업데이트한다. 일부 다른 예시들에서, 모델 구축기(224)는, 일단 대화에서의 사용자 액션, 비-채팅 액션 또는 사용자 반응이 수신되면, 모델을 업데이트한다.
[0089] 대화 분석기(226)는, 대화 메시지로부터 사용자가 액션을 취할 수 있는 엔티티를 식별하고 대화에서 엔티티의 문맥상 표시자들을 결정하기 위해, 대화를 분석하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 대화 분석기(226)는, 대화 메시지로부터 사용자가 액션을 취할 수 있는 엔티티를 식별하고 대화에서 엔티티의 문맥상 표시자들을 결정하기 위해, 아래에서 설명되는 대화를 분석하기 위한 기능성을 제공하도록 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 대화 분석기(226)는 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있고, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 대화 분석기(226)는 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[0090] 대화 분석기(226)는, 모델 구축기(224)에 의해 생성되는 머신 학습 모델에 기반하여, 대화 관리 모듈(222)에 의해 수신되는 대화의 하나 또는 그 초과의 대화 메시지들을 프로세싱한다. 일부 예시들에서, 대화 분석기(226)는 NLP(natural language processing) 기법들을 사용하여 각각의 대화 메시지를 분석한다. 일부 예시들에서, 대화 분석기(226)는 대화 메시지를 파싱하고, 엔티티를 획득하기 위해 파싱된 대화 메시지에 대해 NLP 엔티티 추출을 구현한다. 엔티티는 대화 메시지의 부분, 예컨대, 대화 내의 사람 또는 오브젝트일 수 있고, 엔티티는 다양한 레벨들의 그래뉼러리티(granularity)(예컨대, 레스토랑, 이탈리아 레스토랑, 특정 이탈리아 레스토랑)일 수 있다. 일부 예시들에서, NLP 엔티티 추출은, 머신 학습 모델에서 작동하는 SAFT(semantic annotation for text) 라이브러리에 기반한다. 예컨대, 모델 구축기(224)는 항공편 번호를 수신하고, 항공편 번호들의 일반적인 포맷에 기반하여 대화에서 항공편 번호를 인지하기 위해 주석자를 모델에 구축하고, 주석자를 트레이닝한다. 이러한 항공편 번호가 대화 메시지에서 언급될 때, 대화 분석기(226)는, 대화 메시지의 하나의 엔티티가 항공편 번호라고 결정하기 위해 주석자를 사용하도록 모델 구축기(224)와 통신한다. 다른 예에서, 대화 분석기(226)는 대화 메시지로부터 엔티티들 "beautiful", "weather" 및 "Store A"를 파싱 및 추출한다. 그런 다음, 대화 분석기(226)는, SAFT 라이브러리를 사용하는 언어 시맨틱 분석에 기반하여 "beautiful"이 형용사이고 "weather"이 명사이고, "Store A"가 위치이며 명사라고 결정한다. 대화 분석기(226)에 의해 식별된 엔티티는 사용자가 그 엔티티에 대해 액션을 취할 수 있는지 여부에 의존하여 실행가능하거나 비-실행가능할 수 있다. 엔티티가 실행가능한지 또는 비-실행가능한지 여부에 대한 결정은 결정 엔진(228)을 참조하여 더 상세히 설명된다.
[0091] 엔티티를 식별하는 것과 조합하여(예컨대, 엔티티를 식별하는 것 이전에, 이후에 및/또는 그 동안에), 대화 분석기(226)는 대화에서 엔티티의 문맥상 표시자들을 결정한다. 예컨대, 위치 엔티티에 대해, 대화 분석기(226)는, 대화에서 언제 위치가 언급되었는지, 대화에서 누가 위치를 언급하였는지, 대화의 어떤 콘텐츠가 위치를 포함하였는지, 대화에서 어떠한 종류의 콘텐츠가 위치에 후속되었는지, 그리고/또는 다른 문맥상 표시자들을 결정한다. 일부 예시들에서, 대화 분석기(226)는, 대화에서 엔티티의 문맥상 표시자들을 결정하기 위해 다수의 대화들(예컨대, 이전의 대화들, 다른 애플리케이션들에 의해 생성된 이전의 대화들)을 분석한다.
[0092] 특정 구현들에서, 대화 분석기(226)는 대화에서의 엔티티의 문맥상 표시자들을 결정하기 위해 NLP를 수행한다. 이 구현들 중 일부에서, NLP는 모델 구축기(224)에 의해 생성되는 머신 학습 모델에 기반하며, 그리고 많은 양상들에 있어서 종래의 NLP보다 더 복잡할 수 있다. 일부 예시들에서, 대화 분석기(226)는, 대화에서의 하나 또는 그 초과의 사용자들의 사용자 정보와 조합하여, 패턴 매칭에 기반하여 NLP를 수행한다. 예컨대, 대화 분석기(226)는 패턴 매칭에 기반하여 대화 메시지로부터 "Basil Thai restaurant"이라는 어구(phrase)를 검출하고, 하나 또는 그 초과의 사용자(들)의 사용자 정보에 기반하여, "Basil Thai"로 명명되는 하나 또는 그 초과의 특정 레스토랑들(예컨대, 사용자(들)의 위치(들)에 가장 가까운 "Basil Thai" 레스토랑(들))에 그 어구를 매칭시킬 수 있다. 다른 예로서, 대화 분석기(226)는 사용자 정보와 조합하여, 패턴 매칭에 기반하여 대화 메시지로부터 사용자 A 근처의 특정 "Coffee house"를 검출할 수 있다. 일부 구현들에서, 하나 또는 그 초과의 특정 엔티티들을 선택하기 위해 사용자 정보를 사용하게 되면, 개선된 제안들을 유도할 수 있다. 예컨대, 사용자 정보 없이 "Basil Thai" restaurant"에 기반하여, "Basil Thai"로 명명되는 3개의 레스토랑들이 식별될 수 있으며, 운전 방향이 대화 내의 참여자(들)에게 제안된다면, 제안은 3개의 모든 "Basil Thai restaurants"에 대한 3개의 맵들을 포함할 수 있다. 그런 다음, 참여자(들)는 어떤 맵이 관련되고 정확한지를 선정해야 한다. 다른 한편, 사용자 정보가 활용되는 경우에는, "Basil Thai restaurant"(예컨대, 대화의 모든 참여자들에게 가장 편리한 레스토랑 및/또는 참여자(들)가 가장 자주 방문한 레스토랑)에 대한 오직 하나의 관련되고 정확한 운전 방향 만이 제공될 수 있다.
[0093] 다른 예시들에서, 부가적으로 또는 대안적으로, 대화 분석기(226)는, 대화 메시지에 대한 감정 분석을 수행하고 대화 메시지를 가중치와 연관시킴으로써, 문맥상 표시자들을 결정한다. 예컨대, 대화 분석기(226)는 사용자 A로부터 메시지들 "I hate coffee," "tea is ok" 및 "coke is my favorite"을 수신하고, 코크(coke), 차(tea), 및 커피(coffee)를 포함하는 메시지들에, 각각, 가장 좋은 감정 가중치 내지 최저 감정 가중치를 연관시킨다. 가중치들은 사용자 A의 음료(beverage) 취향을 표시한다. 다른 말로, 가중치들은 "coffee", "tea" 및 "coke"의 엔티티들에 대응하는 각각의 "beverage" 엔티티에 대한 사용자 A의 감정을 각각 표시할 수 있다. 메시지들은, 제안이 제공될 현재 대화로부터의 메시지들이거나, 그리고/또는 (현재 대화의 다른 참여자들을 갖거나 갖지 않는), 사용자를 포함하는 이전 대화로부터의 메시지들일 수 있다. 일부 예시들에서, 대화 분석기(226)는 긍정적 감정을 표시하기 위해 양수(positive number)를 할당하고, 부정적 감정을 표시하기 위해 음수(negative number)를 할당하고, 그리고 무관심을 표시하기 위해 제로를 할당한다. 대화 분석기(226)는 수(number)의 크기를 감정의 가중치 또는 강도로서 사용할 수 있고, 대응하는 엔티티에 감정을 할당할 수 있다. 상기 예의 경우, 대화 분석기(226)는 코크, 차 및 커피를 포함하는 메시지들에, 각각, + 2, + 1 및 - 2를 가중한다. 일부 예시들에서, 대화 분석기(226)는 대화 메시지에 포함된 이모션 심볼 및/또는 다른 비-텍스추얼 엘리먼트로부터 감정을 결정하고, 그 감정에 가중치를 할당한다. 예컨대, 대화 분석기(226)는, (예컨대, 이모션 심볼 "
Figure pct00001
"의 존재 및 행복한 감정에 대한 그러한 심볼의 할당에 기반하여), 메시지 "mom is coming
Figure pct00002
"로부터 사용자가 행복하고 흥분되어 있다고 결정할 수 있으며, 그리고 (예컨대, 이모션 심볼
Figure pct00003
의 존재 및 슬픈 감정에 대한 그러한 심볼의 할당에 기반하여), 메시지 "I wish mom is still here
Figure pct00004
"로부터 사용자가 행복하지 않다고 결정할 수 있다. 대화 분석기(226)는 각각의 메시지를 양수(또는 다른 측정치(measure)) 또는 음수(또는 다른 측정치)와 연관시켜서, 사용자가 얼마나 행복한지를 표시할 수 있다. 일부 예시들에서, 대화 분석기(226)는 대화 메시지들의 수(number) 및 가중치들에 기반하여 전체 감정을 결정할 수 있다. 이러한 정보는 문맥상 표시자들이 되어, 제안을 생성하는 데 기여한다. 예컨대, 사용자가 "I wish mom is still here
Figure pct00005
", "Amy is not here too" 및 "I should go see a movie"라고 말한다면, 대화 분석기(226)는 전반적으로 사용자가 행복하지 않다고 결정한다. 결과적으로, 사용자를 격려하기 위해 비극 영화 대신 코미디 영화가 제안될 수 있다. 따라서, 대화에 대한 감정 분석은 제안이 더 지능적이 되게 한다.
[0094] 특정 예들에서, 대화 분석기(226)는, 분석을 위해 대화 메시지의 하나 초과의 피스를 취함으로써 문맥상 표시자들을 결정한다. 표준 및 종래의 대화형 시맨틱스가 생성될 수 있는데, 예컨대, 대화에서 "Who is the president of the USA?"의 질의에 대한 응답으로 "Barack Obama"가 생성될 수 있고, 대화에서 "Who is the wife of Barack Obama?"의 질의에 대한 응답으로 "Michelle Obama"가 생성될 수 있다. 나중에 대화에서 "him" 및 "her"가 언급될 때, 대화 분석기(226)는 코레퍼런스 레졸루션(coreference resolution)을 사용하여 그를 "Barack Obama"로 지칭하고 그녀를 "Michelle Obama"로 지칭한다. 일부 구현들에서, 대화형 NLP는 종래의 대화형 시맨틱스와 유사할 수 있다. 종래의 대화형 시맨틱스 및 대화형 NLP 둘 모두는 개별적인 메시지들에 대한 시맨틱 분석에 기반할 수 있다. 대화 분석기(226)는, 단일 메시지 만을 분석하는 것이 아니라, 대화에서의 인접하는 및/또는 비-인접하는 메시지들을 추가로 분석할 수 있다. 일부 예시들에서, 대화 분석기(226)는 대화의 각각의 참여자로부터의 대화 흐름들을 추적하기 위해 다수의 대화 메시지들을 분석한다. 대화 분석기(226)는 대화의 가능한 참여자들에 대해 사용자들을 추적하고, 대화 흐름, 즉 어떤 참여자가 어떤 순서로 어떤 메시지를 전송하는 지를 결정한다. 대화 분석기(226)는 추적 정보에 기반하여 문맥상 표시자들을 정제한다. 예컨대, 대화 분석기(226)는 대화의 2개의 인접하는 메시지들 "would you like to meet?" 및 "how about ABC?"를 분석할 수 있다. 대화 분석기(226)는 대화들의 참여자들을 추적하며, 제1 참여자가 제1 메시지를 전송했고 제2 참여자가 제2 메시지를 전송했음을 결정한다. 또한, 대화 분석기(226)는, 위치 엔티티 "ABC"가 제1 참여자로부터의 질문에 응답하도록 제2 참여자에 의해 제안된 것으로 결정한다. 다른 예시들에서, 대화 분석기(226)는 다수의 대화들로부터 추적된 정보에 기반하여 문맥상 표시자들을 정제한다. 대화 분석기(226)는 다수의 대화들에서 발생된 공통 용어(term)들에 기반하여 문맥상 표시자들을 정제할 수 있다. 예컨대, 대화 분석기(226)는, 오늘 사용자 B와 이야기할 때 사용자 A로부터 전송된 메시지 "do you want to go hiking?"로부터 엔티티 "hiking"을 식별한다. 대화 분석기(226)는 대화 흐름들을 추적하고, 이전의 대화에서 사용자 B로부터의 메시지 "I prefer fishing to hiking"가 엔티티 "hiking"에 대한 문맥상 표시자들로서 사용되어야 하는 것으로 결정한다. 대화 분석기(226)는 다수의 대화들에서 발생된 용어들의 개념 클러스터링에 기반하여 문맥상 표시자들을 정제할 수 있다. 예컨대, 대화 분석기(226)는, 다수의 대화들로부터의 "mountain bike", "backpack", "camping"을 포함하는 메시지들이, 진행중인 대화에서 수신된 메시지 "do you want to go hiking"에 대한 문맥상 표시자들로서 사용될 수 있는 것으로 결정하는 데, 이는 "mountain bike," "backpack," "camping" 및 "hiking"의 용어들은 개념 클러스터링에 기반하여 클러스터 "outdoor activity"로 분류될 수 있기 때문이다.
[0095] 일부 예시들에서, 대화 분석기(226)는 또한, 대화를 분석하여, 시제(예컨대, 대화 메시지가 과거 시제인지의 여부), 최근성(예컨대, 대화 메시지가 새로운지의 여부, 새로운 또는 오래된 대화 메시지를 가중하는 방법) 등을 결정한다. 대화 분석기(226)는, 사용자 프로파일 정보(예컨대, 나이, 성별), 대화 메타데이터(예컨대, 대화의 시작 시간 및 종료 시간, 대화의 참여자들, 각각의 대화 메시지와 연관된 타임스탬프들)를 포함하는 데이터를 추가로 수집하고, 수집된 데이터를 문맥상 표시자들로서 사용한다. 사용자의 개인 정보 또는 임의의 프로파일 정보를 사용하기 전에, 인가가 획득된다.
[0096] 결정 엔진(228)은 엔티티가 실행가능한지 여부를 결정하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 결정 엔진(228)은 본원에서 설명되는 엔티티가 실행가능한지 여부를 결정하기 위한 기능성을 제공하도록 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 결정 엔진(228)은 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있고, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 결정 엔진(228)은 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[0097] 대화 분석기(226)는 대화의 대화 메시지로부터 엔티티를 식별하고 대화에서의 엔티티의 문맥상 표시자들을 결정하는 반면, 결정 엔진(228)은 결정된 엔티티가 실행가능한지 여부를 결정한다. 엔티티는, 사용자가 그 엔티티에 대해 액션을 취할 가능성이 있다면, 실행가능하다. 사용자가 엔티티에 대해 액션을 취할 가능성이 있는 경우, 결정 엔진(228)은 대화의 콘텍스트에 그 엔티티가 있을 때, 그 엔티티가 실행가능한 엔티티라고 결정한다. 본원에서 설명된 바와 같이, 사용자가 엔티티에 대해 액션을 취할 가능성이 있는지 여부는, 하나 또는 그 초과의 다양한 기법들을 활용하는 결정 엔진(228)에 의해 결정되며, 본원에서 설명되는 하나 또는 그 초과의 문맥상 파라미터들에 기반한다. 일부 예시들에서, 결정 엔진(228)은 하나 또는 그 초과의 액션 동사들, 하나 또는 그 초과의 동사들의 주어 및/또는 목적어 및 연관된 콘텍스트를 검출하고, 검출된 정보에 기반하여, 실행가능한 엔티티를 결정한다. 액션 동사는, 물리적 또는 정신적 액션, 이를테면 걷기, 읽기, 원하고, 생각하기 등을 표현하는 동사이다. 예컨대, 대화 분석기(226)가 대화에서 사용자 A와 사용자 B 간의 메시지 "meet at supermarket C"로부터 위치 엔티티 "supermarket C"를 식별한다면, 결정 엔진(228)은 액션 동사 "meet", 동사 "meet"의 목적어 "supermarket C"를 검출하며, 그리고 사용자들 A 및 B가 그 장소에서 만날 수 있기 때문에 이러한 위치 엔티티 "supermarket C"는 실행가능하다고 결정할 수 있다. 하지만, 사용자 A가 대화에서 "supermarket C is super good"이라고 언급했기 때문에 대화 분석기(226)가 위치 엔티티 "supermarket C"를 식별한다면, 결정 엔진(228)은 액션 동사 및 연관된 목적어/주어를 검출하는 데 실패한다. 결과적으로, 어떤 액션도 검출되지 않기 때문에, 결정 엔진(228)은, 위치 엔티티 "supermarket C"가 실행가능하다고 결정하지 않을 수 있다. 엔티티가 대화에 나타날 때 마다, 결정 엔진(228)은 그 엔티티를 실행가능한 것으로 또는 비-실행가능한 것으로 분류한다. 엔티티가 실행가능한 것으로 분류될 때, 결정 엔진(228)은 본원에서 설명된 바와 같이 하나 또는 그 초과의 다른 컴포넌트들에 의한 사용을 위해, 실행가능한 엔티티를 강조하거나 또는 그렇지 않으면 주석을 단다.
[0098] 일부 예시들에서, 대화 분석기(226)는 대화의 대화 메시지로부터 식별된 엔티티의 문맥상 표시자들을 결정하기 위해, 대화의 모든 대화 메시지들을 분석한다. 결정 엔진(228)은, 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 일부 예시들에서, 결정 엔진(228)은, 대화 흐름에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 예컨대, 사용자 A가 질문 "meet at ABC?"를 입력한다. 특정 예들에서, 결정 엔진(228)은, 대화 흐름에서 사용자 B의 답신을 수신할 때까지, 위치 "ABC"가 실행가능한지 여부를 결정하지 않을 수 있다. 사용자 B가 "Sure"라고 말한다면, 결정 엔진(228)은 "ABC"가 실행가능하다고 결정한다. 그렇지 않으면, 결정 엔진은 "ABC"를 비-실행가능한 것으로 결정할 수 있다. 다른 예에서, 대화 흐름이, 사용자 A로부터의 제1 메시지 "where would you like to meet?", 사용자 B로부터의 제2 메시지 "how about ABC?", 사용자 A로부터의 제3 메시지 "I like DEF better" 및 사용자 B로부터의 제4 메시지 "DEF is good"를 포함한다면, 결정 엔진(228)은, "ABC"보다는 "DEF"를 실행가능한 엔티티로서 결정할 수 있다. 다른 예시들에서, 결정 엔진(228)은, 메시지의 시제에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 예컨대, 결정 엔진(228)은, 메시지 "I used to take 1234 to New York"에서 항공편 번호 1234는 비-실행가능하다고 결정할 수 있는데, 왜냐하면, 메시지가 과거 시제이기 때문이다. 일부 다른 예시들에서, 결정 엔진(228)은, 감정 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 예컨대, 결정 엔진(228)은, 사용자 A로부터의 메시지 "want pasta for dinner?" 및 사용자 B로부터의 메시지 "I hate pasta"에 기반하여, "pasta"는 비-실행가능하다고 결정한다. 그러나, 결정 엔진(228)은 여전히, "dinner"는 실행가능하다고 결정할 수 있다. 더 많은 세부사항들을 제공하거나 또는 액션을 완료하는 제안(예컨대, 피자 레스토랑)이 여전히 사용자 A에게 제공될 수 있다. 결정 엔진(228)은 또한, 대화 분석기(226)에 의해 결정된 다른 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정한다.
[0099] 결정 엔진(228)은, 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정하며, 이는 본 개시내용을 일부 접근법들과 상이하게 하며, 따라서 유리할 수 있다. 예컨대, 종래의 접근법들은, Alice와 그녀의 친구 간의 이전의 대화에 기반하여, 오늘이 Alice의 생일이라는 것을 결정하여, 그녀의 생일을 축하하기 위해 "Happy Birthday" 메시지와 재미있는 비디오 클립을 그녀에게 자동적으로 전송할 수 있다. 본 개시내용의 구현들은, 문맥상 조건이 적합한 것으로 결정되어야만, 그러한 자동적인 축하 메시지들을 Alice에게 전송한다. Alice가 몇 시간 전에 "my house was burn down"라고 말했다면, 결정 엔진(228)은 어떤 축하 메시지도 Alice에게 전송하지 않기로 결정하는 데, 왜냐하면, 메시지가 Alice에게는 그저 성가신 스팸(spam)일 뿐일 수 있기 때문이다. 다른 예로서, 사용자 A가 이전의 대화에서 메시지 "I love Coffee Shop A"를 제공했고, 그런 다음, 현재의 대화에서, 사용자 B에게 메시지 "Want to grab some coffee"를 제공한다면, 현재의 대화에서의 통합을 위해, "Coffee Shop A"로 안내되는 제안이 사용자 B에게 제공될 수 있다. 제안은, "Coffee Shop A"를 향해 안내되는 사용자 A의 이전의 표현의 긍정적 감정에 기반하여 제공될 수 있으며, 선택적으로는 사용자 B가 이전의 대화에 관여하지 않았더라도 제공될 수 있다.
[00100] 일부 구현들에서, 대화의 문맥상 표시자들에 기반하여, 실행가능한 엔티티를 자동적으로 결정하는 것 외에도, 결정 엔진(228)은 또한, 어느 엔티티가 실행가능한지를 사용자가 수동으로 결정하게 할 수 있다. 결정 엔진(228)이, 엔티티가 실행가능하다는 것을 검출하지 않았더라도, 결정 엔진(228)은, 사용자가 엔티티를 실행가능하게 하도록 할 수 있다. 결과적으로, 대화의 임의의 메시지가 실행가능할 수 있다. 일부 예시들에서, 결정 엔진(228)은, 대화 메시지의 엔티티를 실행가능한 것으로서 마킹하는 표시를 사용자로부터 수신하고, 엔티티에 관련된 정보를 사용자에게 리턴한다. 예컨대, 사용자가 대화 메시지에서 "panda"를 언급한다. 사용자(또는 다른 사용자)는, 이 워드가 메시지에서 가장 중요한 엔티티라는 것을 결정하고, (예컨대, 사용자 인터페이스 입력, 이를테면, "탭 온(tap on)" 또는 워드의 다른 선택을 통해 워드를 라벨링함으로써) 이 워드가 실행가능하다는 것을 표시한다. 이 표시를 수신하는 것에 대한 응답으로, 결정 엔진(228)은, 사용자에게 "panda"에 관련된 정보(예컨대, 검색 서버(112)로부터의 제1 검색 결과)를 리트리브하기 위해, 다른 서버들 또는 애플리케이션들(예컨대, 검색 서버(112) 및/또는 제3자 서버(110))과 통신한다. 일부 예시들에서, 사용자가 엔티티에 대해 액션을 취하기를 원한다는 표시를 수신하는 것에 대한 응답으로, 결정 엔진(228)은 또한, 표시에 기반하여 머신 학습 모델을 트레이닝하기 위해, 표시를 트레이닝 신호로서 모델 구축기(224)에 전송한다. 예컨대, 모델 구축기(224)는, 표시에 기반하여, 표시가 이루어진 메시지, 표시의 포커스였던 워드(들), 및/또는 대화와 연관된 문맥상 표시자들에 기반하는 트레이닝 예 입력 및 실행가능한 엔티티를 표시하는 트레이닝 예 출력을 갖는 긍정적 트레이닝 예를 생성할 수 있다. 모델 구축기(224)는 긍정적 트레이닝 예에 기반하여 모델을 추가로 트레이닝함으로써, 머신 학습 모델을 정제할 수 있다.
[00101] 제안 생성기(230)는 사용자가 엔티티에 대해 액션을 취하게 하는 제안을 생성하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 제안 생성기(230)는, 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 생성하기 위한, 본원에서 설명되는 기능성을 제공하도록 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 제안 생성기(230)는 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있고, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 제안 생성기(230)는 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[00102] 결정 엔진(228)으로부터 실행가능한 엔티티를 수신하는 것에 대한 응답으로, 제안 생성기(230)는 실행가능한 엔티티가 더 풍부한 콘텍스트 및 다음 단계들을 제시하기 위한 제안을 생성한다. 제안은 사용자를 위해 엔티티를 더 실행가능하게 만들거나 또는 사용자를 위한 액션을 완료하는 데 유용한 정보이다. 예컨대, 사용자들이 레스토랑에서 미팅하는 것을 제안할 때, 제안 생성기(230)는 레스토랑에 관한 더 많은 세부사항들을 제공하고 테이블을 예약할 것을 제시할 수 있다. 사용자들이 영화를 보는 것에 관해 이야기할 때, 제안 생성기(230)는 상영 시간(show time)들 또는 영화 스트림에 대한 링크를 제시할 수 있다. 사용자들이 웹사이트로부터의 비디오 클립을 언급할 때, 제안 생성기(230)는 사용자들이 대화에서 플레이하도록 비디오 클립을 가져올 수 있다. 일부 예시들에서, 제안 생성기(230)는 실시간 제안을 생성한다. 예컨대, 사용자들이 레스토랑에서의 점심 식사(lunch)에 관해 이야기할 때, 제안 생성기(230)는 실시간으로 맵을 생성하여 사용자들을 그 레스토랑으로 안내한다.
[00103] 일부 예시들에서, 제안 생성기(230)는 적어도 하나의 제안 툴을 대화 인터페이스에 통합하도록 사용자 인터페이스 엔진(236)에 명령한다. 제안 생성기(230)는 제안 툴을 사용하여 제안을 디스플레이하고, 제안과의 사용자 상호작용들을 수신한다. 예컨대, 제안 생성기(230)는, 사용자가 보고 선택하기 위한 맵을 디스플레이하는 것, 사용자가 보고 스케줄링하기 위한 캘린더를 디스플레이하는 것, 연락 정보를 찾고 공유하는 것, 파일을 공유하는 것, 리마인더(reminder)를 셋업하는 것, 비디오를 디스플레이하거나 또는 화상 통화를 개시하는 것, 스티커들을 공유하는 것, 기상 정보를 디스플레이하는 것, 스포츠 스코어들을 디스플레이하는 것, 제품 또는 서비스(예컨대, 의류들, 영화들, 의료 서비스) 구매 정보를 디스플레이하는 것, 비행 정보를 디스플레이하는 것, 트래픽 데이터를 제공하는 것, 로컬 이벤트 정보를 제공하는 것, 로컬 상인 정보(예컨대, 레스토랑들, 영화관들)를 제공하는 것, 사용자 상태(예컨대, 운전하는 중, 자전거를 타는 중, 달리고 있는 중)를 공유하는 것, 제품(예컨대, 모바일 애플리케이션, 게임)을 찾고 공유하는 것, 제품 또는 서비스에 대해 지불하거나 또는 지불을 받는 것 등을 하기 위해 적어도 하나의 제안 툴을 생성하도록 사용자 인터페이스 엔진(236)에 명령한다. 당업자는 다른 타입들의 제안들이 가능하다는 것을 인지할 것이다.
[00104] 일부 구현들에서, 제안 생성기(230)에 의해 제공되는 제안은 선택가능한 제안이다. 이 구현들 중 일부에서, 대화의 참여자에 의한 제안의 선택에 대한 응답으로, 제안 생성기는 제안(및/또는 관련된 콘텐츠)을 대화의 트랜스크립트에 통합할 수 있다. 예컨대, 제안 생성기(230)는, 제안의 선택에 대한 응답으로, 그 제안(및/또는 관련된 콘텐츠)이, 대화의 모든 참여자들에 대한 트랜스크립트에 정적으로 디스플레이되게 할 수 있다. 이를테면, 제안은 비-정적 그래픽 엘리먼트(예컨대, 인터페이스에서 제시되지만, 트랜스크립트에 완전히 통합되지 않음)로서 수신자들 중 하나 또는 그 초과의 대응하는 대화 인터페이스들에서 그들에게의 프리젠테이션을 위해 사용자 인터페이스 엔진(236)에 처음에 제공될 수 있다. 그런 다음, 참여자들 중 하나 또는 그 초과에 의한 제안의 선택에 대한 응답으로, 제안(및/또는 관련된 콘텐츠)은 대화의 트랜스크립트에 정적으로 통합될 수 있다. 제안이 선택가능한 일부 구현들에서, 제안은 긍정적 인터페이스 엘리먼트 및 부정적 인터페이스 엘리먼트를 포함할 수 있다. 긍정적 인터페이스 엘리먼트의 선택(들)에 대한 응답으로, 제안은 트랜스크립트에 통합될 수 있고, 긍정적 인터페이스 엘리먼트의 선택(들)에 대한 응답으로, 제안은, 트랜스크립트로의 제안의 정적인 통합 없이, 폐기될 수 있다.
[00105] 일부 예시들에서, 제안 생성기(230)는, 모델 구축기(224)로부터의 머신 학습 모델이 사용자 액션들로부터 무엇을 학습하는지에 기반하여 제안을 생성한다. 일부 예시들에서, 모델 구축기(224)는 사용자의 비-채팅 액션들로부터 학습하도록 머신 학습 모델을 트레이닝하고, 제안 생성기(230)는 머신 학습 모델에 기반하여 제안을 생성한다. 예컨대, 사용자가 다음 주말에 Las Vegas로 비행하는 것에 관해 이야기한다면, 결정 엔진(228)은 실행가능한 엔티티 "flight"를 결정하고, 제안 생성기(230)는 머신 학습 모델에서 학습된 사용자의 이전 구매 내역에 기반하여 비행 일정표(예컨대, 시간 및 항공사)의 제안을 제시한다. 다른 예시들에서, 모델 구축기(224)는 이전 제안들에 대한 사용자로부터의 반응들로부터 학습하도록 머신 학습 모델을 트레이닝하고, 제안 생성기(230)는 머신 학습 모델에 기반하여 제안을 생성한다. 제안 생성기(230)는, 대화 인터페이스에서 제시된 이전 제안 툴들에 대해 취해진 사용자 액션들에 기반하여 대화 인터페이스에서 새로운 제안 툴을 커스터마이징하기 위해, 사용자 인터페이스 엔진(236)과 통신할 수 있다. 예컨대, 모델 구축기(224)는, 사용자가, 사용자에게 디스플레이된 대화 인터페이스에서 이전에 제시된 구매 툴들을 사용하여 어떠한 것도 결코 구매도 하지 않았다는 것을 학습하도록 머신 학습 모델을 트레이닝한다. 결과적으로, 제안 생성기(230)는 구매 툴을 더 이상 대화 인터페이스에 통합시키지 않기로 결정한다. 유사하게, 제안 생성기(230)는 트래픽 맵 툴 및 대중 교통 수단을 사용자에게 제공하는 데 사용된다. 제안 생성기(230)는, 사용자가 대중 교통 수단과 항상 상호작용한다는 것을 머신 학습 모델로부터 학습하며, 따라서, 향후에는 대중 교통 수단만을 생성하여 사용자에게 제공하기로 결정한다. 다른 예에서, 사용자 A 및 사용자 B는 항상 Coffee house를 만남 장소(meetup spot)로 논의하거나 선택한다. 사용자 A가 사용자 B에게 "meet today ?"라고 물어볼 때, 제안 생성기(230)는 맵 제안을 생성하고, 맵 툴을 포함시키도록 그리고 맵 툴에서 인근의 Coffee house를 강조하도록 사용자 인터페이스 엔진(236)에 명령한다.
[00106] 다른 예시들에서, 제안 생성기(230)는, 대화 분석기(226)로부터 결정된 대화 분석(예컨대, NLP) 및 문맥상 표시자들에 기반하여, 제안을 생성한다. 제안 생성기(230)는 감정 분석에 기반하여 제안을 생성한다. 예컨대, 사용자 A가 "Coffee house, 8am tomorrow?"라고 묻고, 사용자 B가 "really? early bird on Sunday?"라고 답신한다. 제안 생성기(230)가 실행가능한 엔티티 "Coffee house"에 대한 캘린더 및 맵을 생성할 때, 제안 생성기(230)는 감정 분석에 기반하여 캘린더 상에서 정오 쯤 이용가능한 시간을 강조할 수 있다. 제안 생성기(230)는 대화에서 전달되는 사용자 정보에 기반하여 제안을 생성한다. 예컨대, 사용자 A가 "let's meet tomorrow"라고 말하고 사용자 B가 "great! I'll be in San Francisco"라고 말하면, 대화가 일어날 때 어느 사용자도 샌프란시스코에 있지 않더라도, 제안 생성기(230)는 샌프란시스코의 맵을 사용자 A 및 사용자 B에게 제공할 수 있다. 제안 생성기(230)는 사용자 프로파일 정보에 기반하여 제안을 생성한다. 사용자의 임의의 프로파일 정보 또는 개인 정보의 사용 이전에, 인가가 획득된다.
[00107] 일부 예시들에서, 제안 생성기(230)는, 검색 엔진 및/또는 다른 애플리케이션들로부터의 데이터를 대화로 끌어들임으로써 제안을 생성한다. 예컨대, 제안 생성기(230)는 대화에서의 맵 서비스로부터 위치 주위의 맵 데이터를 수신하고, 실행가능한 위치 엔티티에 대한 맵 제안을 생성한다. 제안을 포함하는 예시적인 대화 인터페이스가 도 10에서 도시된다. 다른 예시들에서, 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 자체 생성하는 대신에, 제안 생성기(230)는 다른 애플리케이션들 및 서비스들에 엔티티 정보를 피딩한다. 다른 애플리케이션들 및 서비스들 자체가 선택적으로, 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 직접적으로 제공할 수 있다. 예컨대, 항공편 번호가 대화에서 언급되면, 제안 생성기(230)는 비행 피드들(예컨대, 지연 정보)을, (예컨대, 그러한 비행 피드들을 대화의 트랜스크립트에 통합시킴으로써 그리고/또는 다른 애플리케이션을 통해 제공되는 통지들을 통해) 대화의 하나 또는 그 초과의 참여자들에게 제공하도록 제3자 서버에 통지한다. 사용자가 좋아하는 친구를 사용자가 대화에서 언급하면, 제안 생성기(230)는, 이 정보를 사용하여 광고로 사용자를 타겟팅하도록 광고 애플리케이션과 통신한다. 사용자가 대화에서 스포츠 게임을 언급하면, 제안 생성기(230)는, 스포츠 게임의 스포츠 스코어들을 사용자에게 제공하도록 제3자 서비스와 통신한다. 상이한 애플리케이션에 의해 제공되는 제안을 포함하는 예시적인 대화 인터페이스가 도 11a 및 도 11b에서 도시된다.
[00108] 일부 예시들에서, 엔티티 정보는 대화의 참여자들을 포함하며, 이 대화로부터 엔티티가 식별된다. 제안 생성기(230)가 엔티티 정보를 다른 서비스들에 피딩할 때, 다른 서비스들은 대화의 참여자들 전부(또는 대화의 참여자들의 서브세트)에게 제안을 제공할 수 있다. 예컨대, 사용자 A가 사용자 B 및 사용자 C와의 대화에서 기상을 언급하면, 제안 생성기(230)로부터 "weather"의 엔티티 정보를 수신한 이후에, 기상 서비스가 시간별 기상 보고를 사용자 A, 사용자 B 및 사용자 C에 전송할 수 있다. 다른 예시들에서, 제안 생성기(230)가 엔티티 정보를 다른 서비스들에 피딩하는 시간에, 제안 생성기(230)는 또한, 대화 인터페이스에서 라이브 대화를 개시하기 위해 대화 관리 모듈(222) 및 사용자 인터페이스 엔진(236)과 통신한다. 다른 서비스는, 라이브 대화에서 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 제공한다. 상기 예에서, 다른 서비스들은, 다른 서비스들에 의해 제공되는 인터페이스에서 또는 대화 관리 모듈(222) 및 사용자 인터페이스 엔진(236)에 의해 제공되는 라이브 대화에서, 시간별 기상 보고를 제공할 수 있다.
[00109] 대화의 콘텍스트를 이해하고 다른 서비스들과 사용자들을 연결함으로써, 제안 생성기(230)는, 더욱 스마트하고 더욱 관련 있으며 더욱 검색가능한 제안들을 사용자에게 제공할 수 있으며, 그러므로, 더욱 유용하고 유효하다. 제안 생성기(230)는 한 단계 더 나아가며, 개인 보조 공간으로 들어간다. "can you recommend me of a show this weekend in San Francisco? can you book a flight to Seattle on Tuesday morning?"이란 사용자 질문들을 수신하고, 다수의 애플리케이션들, 검색들, 비교들 및 서식 채우기들에 기반하여 질문들에 답신하는 대신에, 제안 생성기(230)는 사용자들에 대한 질문들을 하고 그들을 대신하여 질문들에 답신한다. 채팅이 사용자의 스마트 폰 상에서 Go To 애플리케이션이 되고 있기 때문에, 다른 모듈들 및 엔진들과 통합하는 제안 생성기(230)는 이제, 채팅으로부터 정보를 끌어내어 관련 업데이트들을 제공함으로써, 이 영역에 잘 맞는다. 특히, 제안 생성기(230)는 모든 참여자들에게 하나의 장소에서 중요한 업데이트들을 제공하기 위해 다른 서비스들과 통신한다. 제안 생성기(230)에 의해 다른 서비스들과 사용자들을 연결하는 것은 또한, 더 많은 사용자들을 다른 서비스들로 몰아갈 수 있는데, 그 이유는 그것이 다른 서비스를 위한 별개의 모바일 애플리케이션을 다운로드할 것을 사용자들에게 요구하지 않기 때문이다. 게다가, 제안 생성기(230)는, 사용자의 대화들을 이해하여 액션들, 예컨대, 음성 커맨드들 및 착용 장비로 번역하는 것을 포함하는 상이한 타입의 서비스들을 구축하기 위한 디벨로퍼(developer) 컴포넌트들을 제시한다.
[00110] 일부 예시들에서, 제안 생성기(230)는 응답 예측기(232) 및 보고 모듈(234)을 포함한다.
[00111] 응답 예측기(232)는, 대화에서 사용자에 대한 질문을 검출하고 질문에 대한 잠재적 사용자 회답을 결정하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 응답 예측기(232)는, 대화에서 사용자에 대한 질문을 검출하고 질문에 대한 잠재적 사용자 회답을 결정하기 위한, 아래에서 설명되는 기능성을 제공하기 위해, 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 응답 예측기(232)는 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있으며, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 응답 예측기(232)는 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[00112] 사용자들은, 타이핑함으로써(이는 클라이언트 디바이스의 터치 스크린 상에서는 특히 어려울 수 있음), 또는 사용자들이 답신들을 발견하는 다른 장소들로부터 복사하여 붙여넣음으로써, 질문에 회답한다. 응답 예측기(232)는 사용자들의 잠재적 답신을 예측하며, 타이핑 또는 복사-붙이기보다 더 나은 다음 회답을 사용자들에게 공급한다. 예컨대, 사용자의 비행이 언제 착륙할 것인지를 대화에서 사용자에게 물을 때, 응답 예측기(232)는, 실행가능한 엔티티 "flight"에 대한 회답으로서, 비행 정보를 이용가능하게 만들 수 있다.
[00113] 일부 예시들에서, 대화 분석기(226)로부터의 대화 분석 및 문맥상 표시자들 그리고 모델 구축기(224)로부터의 머신 학습 모델에 기반하여, 응답 예측기(232)는, 사용자가 질문에 대해 회답할 것을 얼마나 원하는지를 예측한다. 예컨대, 응답 예측기(232)는, 머신 학습 모델이 대화 히스토리로부터 무엇을 학습했는지에 기반하여, 사용자가 소정의 타입의 질문들에 얼마나 회답하는 경향이 있는지를 결정하고, 그런 다음, 사용자에게 하나 또는 그 초과의 잠재적 회답들을 제시한다. 응답 예측기(232)가, 질문에 대해 사람들의 30%가 A로 응답하고 사람들의 70%가 B로 응답한다는 것을 머신 학습 모델로부터 학습하면, 응답 예측기(232)는 동일한 질문에 답신할 사용자에게 답신 B를 공급할 수 있다. 응답 예측기(232)는, 대화 분석기(226)로부터 수신된 대화 분석 및 문맥상 표시자들 때문에, 특히 유리한 입장에 있다. 사용자들의 위치, 콘텍스트, 및 다른 개인 정보를 아는 것은 응답 예측기(232)가 더욱 쉽게 그리고/또는 정확하게 회답을 예측하는 것을 가능하게 한다. 예컨대, 이전의 대화들에서 사용자 A로부터 메시지들 "I hate coffee" 및 "the tea house on the X street is the best"이 제공되면, 사용자 B가 "which is your favorite place for coffee or tea?"라고 사용자 A에게 물을 때, 응답 예측기(232)는 잠재적 답신으로서 "the tea house on the X street"의 어드레스를 사용자 A에게 쉽게 공급할 수 있다.
[00114] 다른 예시들에서, 응답 예측기(232)는 또한, 질문들의 타입에 기반하여 답신들의 타입을 결정한다. 응답 예측기(232)는, 대화 분석기(226)로부터의 문장 구조의 이해에 기반하여 질문들의 타입을 결정한다. 예컨대, 질문이 "A or B?"라면, 응답 예측기(232)는 잠재적 답신들로서 A 및 B를 제공한다. 또는, 질문이 "do you like A ?"일 때, 응답 예측기(232)는 잠재적 답신들로서 "yes" 및 "no"를 제공한다. 응답 예측기(232)는 또한, 대화 분석기(226)에 의해 결정된 다른 문맥상 표시자들에 기반하여 질문들의 타입을 결정한다. 예컨대, "will you be in Los Angeles tomorrow?"라고 사용자 A에게 묻는다. 이전의 대화들이, 사용자 A가 로스엔젤레스로의 티켓을 갖는다는 것을 보여주면, 응답 예측기(232)는 이것이 예(yes) 또는 아니오(no) 질문이라고 결정하고, 사용자 A에게 잠재적 답신들로서 "yes" 또는 "no"를 제공할 것이다. 그러나, 이전의 대화들이, 사용자 A가 티켓을 예약했지만 며칠 후에 확인 번호를 수신하지 않았다는 것을 보여주면, 응답 예측기(232)는, 이것이 예 또는 아니오 질문이라고 생각하지 않으며, 대신에, 잠재적 답신으로서 "I don't know"를 제공할 수 있다.
[00115] 일부 예시들에서, 응답 예측기(232)는 원-탭 형태 및/또는 다른 단일 선택 형태로 잠재적 사용자 회답을 제공한다. 예컨대, 질문이 "can I send your contact info?"라고 가정하라. 질문은 실행가능한 엔티티 "contact info"를 포함한다. 추가로, 이전의 대화가 "your" 연락 정보를 포함한다고 가정하라. 응답 예측기(232)는 답신으로서 원-탭 연락 정보를 제공할 수 있다. 대화의 콘텍스트에 기반하여 응답 예측기(232)에 의해 제시되는 원-탭 제안은 많은 방식들(예컨대, 시간, 안전)에서 사용자에게 편리하다. 예컨대, 사용자 A가 채팅 대화를 사용자 B에게 전송할 때, 응답 예측기(232)는 "I am driving"라고 말하는 원-탭 제안을 전송하거나, 또는 심지어 사용자 B가 사용자 A에게 응답하도록 "I will be home in 20 minutes"를 전송할 수 있다. 사용자 B가 비행중이고 셀 폰을 켜지 않은 상태일 때, 캘린더에 기반하여, 사용자 B에 대해, 응답 예측기(232)는 계속해서 자동적으로 "I will be available four hours later"라고 응답할 수 있다. 원-탭 회답들을 보여주는 예시적인 인터페이스가 도 10에서 도시된다.
[00116] 보고 모듈(234)은, 대화를 체계화하는 것에 기반하여, 대화에 관련된 하나 또는 그 초과의 보고들을 생성하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 보고 모듈(234)은, 대화를 체계화하는 것에 기반하여, 대화에 관련된 하나 또는 그 초과의 보고들을 생성하기 위한, 아래에서 설명되는 기능성을 제공하기 위해, 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 보고 모듈(234)은 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있으며, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 보고 모듈(234)은 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[00117] 사용자들은 자신들이 대화들에서 공유하는 것들을 잊어버린다. 대화들은 쉽게 검색가능하지 않을 수 있으며, 예컨대, 사용자는 사용자가 실제로 원하는 정보 피스를 찾기 위해 많은 검색 결과들로부터 스크롤 업 및 스크롤 다운할 필요가 있을 수 있다. 보고 모듈(234)은 대화들에 걸친 정보를 어그리게이팅하고, 대화들을 체계화하며, 주제들, 오브젝트들 및/또는 다른 메타데이터에 의해 대화들을 쉽게 검색가능하게 한다.
[00118] 보고 모듈(234)은 대화들, 및 대화 분석기(226)에 의해 대화들로부터 결정된 문맥상 표시자들을 수신하며, 문맥상 표시자들에 기반하여 대화들을 체계화한다. 일부 예시들에서, 보고 모듈(234)은 콘텐츠에 기반하여 대화들을 체계화한다. 예컨대, 보고 모듈(234)은 영화에 관해 이야기하거나 또는 위치를 언급하는 대화들을 찾기 위해 대화들을 체계화한다. 다른 예시들에서, 보고 모듈(234)은 타임라인에 기반하여 대화들을 체계화한다. 예컨대, 보고 모듈(234)은 시간의 내림차순으로 위치를 언급하는 대화들을 체계화한다. 다른 예시들에서, 보고 모듈(234)은 대화 흐름들에 기반하여 대화들을 체계화한다. 예컨대, 보고 모듈(234)은 대화들로부터 위치를 포함하는 대화 메시지들을 리트리브하고, 메시지를 전송한 특정 사용자와 각각의 메시지를 연관시키며, 시간의 내림차순으로 대화 메시지들을 정렬한다. 다른 예에서, 사용자가 "click the search box"라고 말하면, 보고 모듈(234)은, 대화 흐름에서의 다음 메시지가, 사용자가 검색 박스에서 특정하였고 이 순서로 대화를 체계화한다는 워드일 것이라고 결정할 수 있다. 다른 예시들에서, 보고 모듈(234)은 감정 및/또는 다른 피처(들)에 기반하여 대화들을 체계화한다. 예컨대, 보고 모듈(234)은 전자-도서 판독기 또는 종이-도서 판독기로서 사람들을 분류하는 것에 기반하여 대화들을 체계화한다. 당업자는, 본 개시내용의 이점을 가지므로, 보고 모듈(234)이 다른 문맥상 표시자들에 기반하여 대화를 체계화할 수 있음을 이해할 것이다.
[00119] 일부 예시들에서, 보고 모듈(234)은 또한 나중의 후속 동작을 위해 중요한 메시지(예컨대, 실행가능한 엔티티)를 라벨링한다. 라벨은 플래그들, 별들 등일 수 있다. 사용자가 이 메시지를 언급하거나 또는 메시지를 검색할 때, 보고 모듈(234)은 그것을 쉽게 리트리브할 수 있다. 보고 모듈(234)은, 메시지들을 라벨링함으로써 부가적 정보, 예컨대, 이 메시지가 얼마나 자주 언급되었는지, 사용자가 이 메시지를 언제 언급하였는지 등을 획득한다.
[00120] 보고 모듈(234)은 대화들을 체계화하는 것에 기반하여 (예컨대, 저장소(210)에 저장된 데이터베이스에서) 대화들을 인덱싱한다. 보고 모듈(234)이 대화들에 대한 검색 요청을 수신하면, 보고 모듈(234)은 인덱스들을 사용하여 대화들을 검색하고, 보고를 생성하며, 그 보고를 사용자에게 리턴한다. 예컨대, 영화에 관해 이야기하는 대화들에 대한 검색 요청을 수신하는 것에 대한 응답으로, 보고 모듈(234)은 영화에 관한 대화 콘텐츠를 검색한다. 보고 모듈(234)은 대화들의 타임라인에 따라 대화들을 순서화하는 것, 대화에서의 각각의 대화 메시지를 사용자 및 시간과 연관시키는 것, 중요한 엔티티들(예컨대, 영화 이름들, 극장 이름들, 상영 시간, 등)을 강조하는 것 및 인덱스들에 기반하여 이전 대화들로 참조들을 다시 제공하는 것에 기반하여 검색 결과를 체계화한다. 보고 모듈(234)은 대화를 체계화하는 것에 기반하여 사용자에 대한 보고를 생성한다. 대화 보고를 보여주는 예시적 대화 인터페이스가 도 13에 도시된다. 일부 예시들에서, 보고 모듈(234)은 또한 시간 기간 내에 대화들을 체계화 및 요약함으로써 요약을 생성한다. 예컨대, 보고 모듈(234)은 사용자가 1주 내에 얼마나 많은 대화들에 참여하였는지, 사용자가 1주 내에 누구와 이야기하였는지, 사용자가 1주 내에 어떤 주제들에 관해 이야기하였는지, 사용자가 1주 내에 얼마나 많은 사진들을 공유하였는지 등을 보여주는 사용자에 대한 요약을 생성한다. 대화 요약을 보여주는 예시적 대화 인터페이스가 도 14에 도시된다.
[00121] 보고 모듈(234)이 하는 것은 사람이 할 수 있는 사소한 대화 검색 또는 간단한 대화 요약보다 많다. 보고 모듈(234)은 사용자가 대화의 축어적 트랜스크립트를 통해 찾아내고 그리고/또는 스크롤할 필요 없이 사용자에 대한 세부사항들을 리트리브할 수 있다. 보고 모듈(234)은 또한, 사용자에 대한 대화에서 논의된 주제들(예컨대, 게임 스코어들 또는 쇼들)에 대한 업데이트들을 얻는다. 일부 구현들에서, 사용자들이 이벤트들, 장소들, 사람들에 기반하여 공유된 정보의 의미있는 흔적을 다시 볼 수 있기 때문에, 보고 모듈(234)은 검색 결과만을 제공하지 않는다. 보고 모듈(234)은 또한, 사용자들이, 사용자들이 공유하였거나 또는 논의하였던 것들의 집합, 이를테면, 사용자들이 지난 몇 달 동안 이야기하였던 모든 레스토랑들의 리스트와 상호작용하게 할 수 있다. 게다가, 보고 모듈(234)은 대화들로부터 통찰력들을 얻고 콘텍스트, 감정 및/또는 다른 피처들을 판단할 방식을 제공한다. 예컨대, 보고 모듈(234)은 소정의 브랜드들을 향한 감정을 판단하고 트렌딩 주제들을 식별하기 위해 유용한 통찰력들을 얻을 수 있다.
[00122] 사용자 인터페이스 엔진(236)은 대화 메시지들 및 대화의 제안들을 디스플레이하는 대화 인터페이스를 생성하기 위한 코드 및 루틴들일 수 있다. 일부 예시들에서, 사용자 인터페이스 엔진(236)은 대화 메시지들 및 대화의 제안들을 디스플레이하는 사용자 인터페이스를 생성하기 위해 아래에서 설명되는 기능성을 제공하기 위해 프로세서(202)에 의해 실행가능한 명령들의 세트일 수 있다. 다른 예시들에서, 사용자 인터페이스 엔진(236)은 컴퓨팅 디바이스(200)의 메모리(204)에 저장될 수 있으며, 프로세서(202)에 의해 액세스가능하고 실행가능할 수 있다. 일부 예시들에서, 사용자 인터페이스 엔진(236)은 프로세서(202) 및 컴퓨팅 디바이스(200)의 다른 컴포넌트들과의 협력 및 통신을 위해 적응될 수 있다.
[00123] 일부 예시들에서, 대화 관리 모듈(222)은 대화 인터페이스에서 대화 및 대화 메시지들을 디스플레이하기 위한 그래픽 데이터를 생성하도록 사용자 인터페이스 엔진(236)에 명령한다. 다른 예시들에서, 제안 생성기(230)는 대화에서 실행가능한 엔티티에 대한 제안을 생성한다. 대화 관리 모듈(222)은 대화 인터페이스에서 대화 메시지와 함께 제안을 디스플레이하기 위한 그래픽 데이터를 생성하도록 사용자 인터페이스 엔진(236)에 명령한다. 일부 예시들에서, 사용자 인터페이스 엔진(236)은 하나 또는 그 초과의 제안들을 디스플레이하고 제안(들)과의 사용자 상호작용들을 수신하기 위해 대화 인터페이스에서 다수의 제안 툴들을 생성한다.
[00124] 제안은 사용자가 엔티티에 대해 액션을 취하게 하는 정보를 포함한다. 일부 예시들에서, 사용자 인터페이스 엔진(236)은 엔티티를 포함하는 메시지와 병렬로 제안을 제시하기 위한 다수의 제안 툴들을 생성한다. 예컨대, 사용자 인터페이스 엔진(236)은 동일한 스크린 상에 메시지 "go skiing"와 함께 스노우 보고 및 스키 리조트들의 맵 툴을 보여준다. 사용자는 맵 툴을 이용하여 맵을 보고 선택할 수 있다. 또는, 사용자 인터페이스 엔진(236)은 다음 날 회의를 논의하는 메시지와 함께 2명의 사용자들에 대한 2개의 캘린더 툴들을 보여줄 수 있다. 사용자는 캘린더 툴을 사용하여 캘린더를 보고 스케줄링할 수 있다. 또는, 사용자 인터페이스 엔진(236)은 유명 인사의 의상을 논의하는 메시지와 함께 드레스 및 신발에 대한 상이한 구매 툴들을 보여줄 수 있다. 또는, 사용자 인터페이스 엔진(236)은 2명의 사용자들이 다음 날 자유로운 시간들을 강조하는 캘린더 툴을 보여주고, 메시지 "meet for coffee next day?"와 함께 사용자들 둘 모두의 어드레스들 근처의 커피 숍들을 강조하는 맵 툴을 보여줄 수 있다. 또는, 사용자 인터페이스 엔진(236)은 메시지 "go from A to B?"와 함께 교통 맵 툴 및 대중 교통 수단을 보여줄 수 있다. 일부 예시들에서, 제안 툴이 스크린(예컨대, 스마트 폰의 작은 스크린)에 적합할 수 없다면, 사용자 인터페이스 엔진(236)은 먼저 툴 옵션들을 다수의 툴들로서 보여줄 것이다.
[00125] 다른 예시들에서, 사용자 인터페이스 엔진(236)은 하나 또는 그 초과의 제안들을 순차적으로 제시하기 위해 다수의 제안 툴들을 생성한다. 예컨대, 메시지 "meet up for a meal"를 수신할 시, 사용자 인터페이스 엔진(236)은 점심 식사 또는 저녁 식사에 대한 옵션들을 보여준다. 사용자가 점심 식사를 선택할 시, 사용자 인터페이스 엔진(236)은 점심 식사를 위해 오픈된 레스토랑들을 보여준다. 또는, 메시지 "meet for coffee next day"를 수신할 시, 사용자 인터페이스 엔진(236)은 먼저 캘린더 툴을 보여준다. 사용자 인터페이스 엔진(236)은 또한, 모든 사용자들이 이용가능할 때 캘린더 상의 시간들을 강조할 수 있다. 일단 시간이 선택되면, 사용자 인터페이스 엔진(236)은 그 시간에 오픈된 커피 숍들의 맵을 보여준다. 또는, 메시지 "buy skiing equipment in Los Angeles"를 수신할 시, 사용자 인터페이스 엔진(236)은 먼저 Los Angeles에 스포츠 상점들의 맵을 보여준다. 상점이 선택된 후에, 사용자 인터페이스 엔진(236)은 그 상점 내의 장비에 대한 구매 툴을 보여준다. 제안들의 순차적 프리젠테이션을 보여주는 예시적 대화 인터페이스가 도 15에 도시된다.
[00126] 위의 그리고 하기의 설명들에서, 설명을 목적으로, 많은 특정 세부사항들이 본 명세서의 완전한 이해를 제공하기 위해 기술된다. 그러나, 당업자들에게는, 본 개시내용의 이점을 가지므로, 기술이 이러한 특정 세부사항들 없이도 실시될 수 있다는 것이 자명할 것이다. 다른 예시들에서, 설명을 모호하게 하는 것을 회피하기 위해 구조들 및 디바이스들은 블록 다이어그램 형태로 도시된다. 예컨대, 규격은 사용자 인터페이스들 및 특정 하드웨어를 참조로 위의 일부 예시들에서 설명된다. 그러나, 설명은 데이터 및 커맨드들을 수신할 수 있는 임의의 타입의 컴퓨팅 디바이스 및 서비스들을 제공하는 임의의 주변 디바이스들에 적용된다.
[00127] 도 3은, 대화로부터 엔티티를 식별하고 엔티티에 대해 사용자가 액션을 취하게 하는 제안을 생성하기 위한 예시적 방법(300)의 흐름도를 포함한다. 방법(300)은 대화로부터 적어도 하나의 대화 메시지를 수신(302)함으로써 시작된다. 대화 메시지는 비디오 메시지, 오디오 메시지, 텍스트 메시지 등을 포함할 수 있다. 그런 다음, 방법(300)은 대화 메시지로부터 실행가능할 수 있는 엔티티를 식별하며(304), 엔티티의 문맥상 표시자들을 결정한다(306). 엔티티는 대화 메시지에서의 사람, 대화 메시지에서의 오브젝트 등일 수 있다. 일 예에서, 위의 도 2를 참조로 더 상세하게 논의된 대화 분석기(226)는 엔티티를 식별하고, 문맥상 표시자들을 결정할 수 있다. 예컨대, 대화 분석기(226)는 대화 메시지로부터 위치 엔티티를 식별하고, 위치 엔티티의 문맥상 표시자들을 결정할 수 있다. 이를테면, 위치 엔티티에 대해, 대화 분석기(226)는 위치가 언제 언급되었는지, 대화에서 누가 위치를 언급하였는지, 대화의 어떤 콘텐츠가 위치가 인식되게 하였는지, 대화에서 어떤 종류의 콘텐츠가 위치를 따랐는지, 이전 대화들에서 엔티티 및/또는 관련된 엔티티들을 향해 표현된 이전 감정 등에 기반하여 문맥상 표시자들을 결정할 수 있다.
[00128] 다음으로 방법(200)은, 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정한다(208). 일 예에서, 도 2를 참조하여 더 상세히 논의된 결정 엔진(228)은 실행가능한 엔티티를 결정할 수 있다. 예컨대, 대화 분석기(226)가 대화에서 사용자 A와 사용자 B 간의 메시지 "meet at supermarket C"로부터 위치 엔티티 "supermarket C"를 식별하면, 결정 엔진(228)은, 사용자들 A 및 B가 그 장소에서 만날 것이기 때문에 이 위치 엔티티 "supermarket C"가 실행가능하다는 것을 결정할 수 있다. 결정 엔진(228)이, 엔티티가 실행가능하다는 것을 결정하면, 방법(300)은 단계(310)로 이동한다. 그렇지 않으면, 방법(300)은 종료된다. 방법(300)은 엔티티에 대해 액션을 취하게 하는 제안을 사용자에게 제공한다(310). 일 예에서, 위의 도 2를 참조하여 더 상세히 논의되는 제안 생성기(230)는 제안을 제공할 수 있다. 예컨대, 제안 생성기(230)는, 사용자가 "supermarket C"에 도달할 수 있는 방법을 안내하기 위해 "supermarket C"까지의 맵 및 대중교통 수단을 제공한다. 일부 구현들에서, 제안은 대화의 모든 참여자들에게 제공된다. 일부 다른 구현들에서, 제안은 대화의 참여자들의 서브세트에 제공된다. 게다가, 일부 구현들에서, 제안은 처음에 대화의 트랜스크립트로 제안의 즉각적인 통합 없이 하나 또는 그 초과의 참여자들에게 제공될 수 있다. 이 구현들 중 일부에서, 제안은 단지, 제안에 관련되는 "긍정적(affirmative)" 사용자 인터페이스 입력을 제공하는 하나 또는 그 초과(예컨대, 적어도 임계량)에 대한 응답으로 트랜스크립트로 통합될 수 있다.
[00129] 도 4는 대화로부터 엔티티를 식별하고 사용자가 엔티티에 대해 액션을 취하게 하는 제안을 생성하기 위한 특정 예시적 방법(400)의 흐름도이다. 방법(400)은 대화로부터 적어도 하나의 대화 메시지를 수신한다(402). 그런 다음, 방법은 머신 학습 모델에 기반하여 적어도 하나의 대화 메시지에 대한 자연 언어 분석(NLP)을 수행하고(404), 그리고 분석에 기반하여 대화 메시지로부터 실행가능할 수 있는 엔티티를 식별한다(406). 예컨대, 대화 분석기(226)는 파싱, 추출 및 패턴 매칭에 의해 대화 메시지로부터 엔티티들 "beautiful", "weather" 및 "Store A" 를 결정한다. 그런 다음, 대화 분석기(226)는, SAFT 라이브러리를 사용한 언어 시맨틱 분석에 기반하여 "beautiful"이 형용사이고, "weather"가 명사이고, 그리고 "Store A"가 위치인 것을 결정한다. 대화 분석기(226)에 의해 식별된 엔티티는, 사용자가 이에 대한 액션을 취할 수 있는지가 결정되는지 여부에 따라 실행가능하거나 비-실행가능할 수 있다.
[00130] 다음으로, 방법(400)은 분석에 기반하여 엔티티의 문맥상 표시자들을 결정한다(408). 예컨대, 대화 분석기(226)는 사용자 정보와 조합한 패턴 매칭에 기반하여 NLP를 수행한다. 이를테면, 대화 분석기(226)는 사용자 A의 사용자 정보와 조합한 패턴 매칭에 기반하여 대화 메시지로부터, 도시 내의 임의의 무작위 "Coffee house" 대신 사용자 A 근처의 "Coffee house"를 검출할 수 있다. 부가적으로 또는 대안적으로, 대화 분석기(226)는 대화 메시지에 대한 감정 분석을 수행하고 대화 메시지를 가중치와 연관시킴으로써 문맥상 표시자들을 결정할 수 있다. 예컨대, 대화 분석기(226)는 사용자 A로부터 메시지들 "I hate coffee", "tea is ok" 및 "coke is my favorite"을 수신하고, 그리고 코크, 차 및 커피에 각각 가장 좋은 감정 가중치 내지 최저 감정 가중치를 연관시킨다. 가중치는 사용자 A의 음료 취향을 표시한다. 대화 분석기(226)는 부가적으로 그리고/또는 대안적으로 시제(예컨대, 대화 메시지가 과거 시제인지 여부) 및/또는 대화 메시지의 최근성(예컨대, 대화 메시지가 새로운 것인지 여부, 새로운 또는 오래된 대화 메시지에 가중하는 법)을 결정하기 위해 대화를 분석할 수 있고; 그리고/또는 문맥상 표시자들로서 사용자 프로파일 정보(예컨대, 나이, 성) 및/또는 대화 메타데이터(예컨대, 대화의 시작 시간 및 종료 시간, 대화의 참여자들, 각각의 대화 메시지와 연관된 타임스탬프들)를 수집한다.
[00131] 방법(400)은 추가로 대화의 각각의 참여자로부터 대화 흐름들을 추적하고(410) 그리고 추적 정보에 기반하여 문맥상 표시자들을 정제한다(412). 예컨대, 대화 분석기(226)는 대화의 가능한 참여자들에 대한 사용자들을 추적하고 어떤 참여자들가 어떤 메시지를 어떤 순서로 전송하는지를 결정한다. 예컨대, 대화 분석기(226)는 오늘 사용자 B와 이야기할 때 사용자 A로부터 전송된 메시지 "do you want to go hiking?"로부터 엔티티 "hiking"을 식별한다. 대화 분석기(226)는 대화 흐름들을 추적하고 이전의 대화에서 사용자 B로부터의 메시지 "I prefer fishing than hiking"가 엔티티 "hiking"에 대한 문맥상 표시자들로서 사용되어야 하는 것을 결정한다.
[00132] 방법(400)은, 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정한다(414). 결정 엔진(228)은, 대화 흐름에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 예컨대, 사용자 A는 질문 "meet at ABC?"를 입력한다. 결정 엔진(228)은, 대화 흐름에서 사용자 B의 답신을 수신할 때까지 위치 "ABC"가 실행가능한지 여부를 결정하지 않을 것이다. 결정 엔진(228)은, 메시지의 시제에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 예컨대, 결정 엔진(228)은, 과거 시제 메시지의 엔티티가 비-실행가능한 것을 결정할 수 있다. 결정 엔진(228)은 또한, 감정 표시자들 및 다른 문맥상 표시자들에 기반하여, 엔티티가 실행가능한지 여부를 결정한다. 결정 엔진(228)이, 엔티티가 실행가능하다는 것을 결정하면, 방법(400)은 단계(416)로 이동한다. 그렇지 않으면, 방법(400)은 종료된다.
[00133] 방법(400)은 머신 학습 모델 및 문맥상 표시자들에 기반하여 사용자가 엔티티에 대한 액션을 취하게 하는 제안을 결정한다(416). 예컨대, 사용자가 다음 주말에 라스베가스로의 비행에 관해 이야기하면, 결정 엔진(228)은 실행가능한 엔티티 "flight"을 결정하고 제안 생성기(230)는 머신 학습 모델에서 학습된 사용자의 이전 구매 내역에 기반하여 비행 일정표(예컨대, 시간 및 항공사)의 제안을 제시한다. 방법(400)은 엔티티에 대한 액션을 취하게 하는 제안을 사용자에게 제공한다(418).
[00134] 도 5는 대화로부터 실행가능한 엔티티를 수동으로 결정하기 위한 예시적 방법의 흐름도(500)이다. 방법(500)은 대화 메시지의 엔티티를 실행가능한 것으로서 마킹하기 위한 표시를 수신한다(502). 일부 예시들에서, 대화 메시지의 엔티티를 실행가능한 것으로서 마킹하기 위한 표시는 (예컨대, 엔티티에 대응하는, 대화 메시지의 용어(들)에 관련된 사용자 인터페이스 입력에 기반하여) 사용자로부터 수신된다. 방법(500)은 트레이닝 신호로서 사용자 표시, 및 선택적으로 부가적인 데이터(예컨대, 대화 메시지, 문맥상 표시자들)를 머신 학습 모델로 전송한다(504). 방법(500)은 엔티티에 관련된 정보를 검색하고(506) 정보를 사용자에게 제공한다(508). 예컨대, 사용자는 "Green Park Museum"이 메시지의 가장 중요한 워드인 것을 결정하고 이 워드가 워드를 플래깅(flagging)함으로써 실행가능하다는 것을 표시한다. 이 표시를 수신하는 것에 대한 응답으로, 결정 엔진(228)은 "Green Park Museum"에 관련된 정보를 검색하고 최상부 5개의 결과들을 사용자에게 리트리브한다. 결정 엔진(228)은 또한 머신 학습 모델을 트레이닝하기 위해 표시를 트레이닝 신호로서 전송한다.
[00135] 도 6은 머신 학습 모델을 생성하고 업데이트하기 위한 예시적 방법의 흐름도(600)이다. 일 예에서, 위의 도 2를 참조하여 추가로 상세히 논의되는 모델 구축기(224)는 머신 학습 모델을 생성하고 업데이트할 수 있다. 방법(600)은 질의들 및 문서 리트리벌을 포함하는 여러 소스들로부터 데이터를 수신하고(602), 데이터로부터 피처들을 추출하고(604) 그리고 추출된 피처들에 기반하여 머신 학습 모델을 생성한다(606). 예컨대, 모델 구축기(224)는 모델에 사용자의 검색 내역을 포함시킨다. 다른 예에서, 질의에 대해 리턴된 문서들의 집합 및 각각의 문서와 연관된 랭크들을 수신할 때, 모델 구축기(224)는 문서와 질의 간의 관련성을 보여주기 위해 랭크들을 포함하도록 모델을 구축한다. 모델 구축기(224)는 또한 사용자 액션에 관하여 예측들을 하는 데 사용되는 사용자 통계, 사용자 거동 패턴 데이터, 가중치들의 시퀀스 및 승수들을 포함하도록 모델을 생성할 수 있다. 모델 구축기(224)는 머신 학습 모델을 생성하고 대화의 시맨틱스를 이해하도록 시간이 지남에 따라 모델을 트레이닝하고 그리고 실시간 대화로부터 의미를 추론한다. 모델이 진화함에 따라, 제안 작성, 거동 예측 등에서 모델을 사용하는 것의 효율성과 정확도가 개선된다.
[00136] 방법(600)은 사용자 액션을 수신하고(608) ―사용자 액션은 엔티티를 위해 제공된 제안에 대한 반응을 포함함―, 그리고 사용자 액션에 기반하여 머신 학습 모델을 트레이닝한다(610). 이것은 사용자 액션 및 다른 연관된 데이터에 기반하여 트레이닝 예를 생성하는 것 및 트레이닝 예에 기반하여 머신 학습 모델을 트레이닝하는 것을 포함할 수 있다. 예컨대, 모델 구축기(224)는, 사용자가 구매 툴과의 대화 인터페이스에서 제시되었던 어떠한 것도 결코 구매하지 않았다는 것을 학습한다. 다른 예에서, 모델 구축기(224)는 비행 일정표 제안에 관한 코멘트 "I do not like this airline"을 수신한다. 모델 구축기(224)는 모델을 트레이닝하기 위해 이 부정적 반응을 신호로서 취한다. 결과적으로, 다른 항공사가 향후 사용자에게 제안될 수 있다.
[00137] 도 7은 제안을 생성하기 위해 제1 애플리케이션으로부터 제2 애플리케이션으로 엔티티 정보를 피딩하기 위한 예시적 방법의 흐름도(700)이다. 방법(700)은 제1 애플리케이션에 의해 호스팅된(hosted) 대화로부터 적어도 하나의 대화 메시지를 수신하고(702) 그리고 대화 메시지의 엔티티가 실행가능하다는 것을 결정한다(704). 방법(700)은 엔티티 정보를 제2 애플리케이션에 피딩하고(706), 엔티티 정보는 제1 애플리케이션의 대화 참여자들을 포함한다. 다음, 방법은 단계(708)로 이동하고, 여기서 제2 애플리케이션은 사용자가 엔티티에 대해 액션을 취하게 하는 제안을 생성한다. 예컨대, 항공편 번호가 대화에서 언급되면, 제안 생성기(230)는 비행 피드들(예컨대, 지연 정보)을 사용자에게 제공하기 위해 제3자 서버에 통지한다. 사용자가, 사용자가 대화에서 좋아하는 친구를 언급하면, 제안 생성기(230)는 사용자를 광고와 타겟팅하도록 이 정보를 사용하기 위해 광고 애플리케이션과 통신한다. 방법(700)은 제1 애플리케이션의 대화 참여자들에게 제안을 제공한다(710). 예컨대, 사용자 A가 사용자 B 및 사용자 C와의 대화에서 기상을 언급하면, 기상 서비스는, 제안 생성기(230)로부터 "weather"의 엔티티 정보를 수신한 이후 시간별 기상 보고를 사용자들 A, B 및 C에게 전송할 수 있다.
[00138] 도 8은 대화에서 잠재적 사용자 회답을 예측하기 위한 예시적 방법의 흐름도(800)이다. 방법(800)은 대화로부터 적어도 하나의 대화 메시지를 수신하고(802), 대화 메시지의 엔티티가 실행 가능하다고 결정한다(804). 그런 다음, 방법(800)은 대화에서 사용자에 대한 질문을 검출하고(806) ―질문은 엔티티와 관련됨―, 그리고 질문에 대한 잠재적 사용자 회답을 결정한다(808). 일 예에서, 아래의 도 2를 참조로 더 상세하게 논의되는 응답 예측기(232)는 질문을 검출하고, 잠재적 사용자 회답을 결정할 수 있다. 예컨대, 응답 예측기(232)가, 사람들이 질문에 대해 30%는 A라고 응답하고 사람들이 질문에 대해 70%는 B라고 응답하는 것을 학습하면, 응답 예측기(232)는 동일한 질문에 답신할 사용자에게 답신 B를 제공할 수 있다. 또한, 응답 예측기(232)는 문맥상 표시자들(예컨대, 사용자의 위치, 콘텍스트 및 개인 정보)에 기반하여 잠재적 회답을 결정한다. 예컨대, 이전 대화들에서 사용자 A의 메시지가, "I hate coffee"와 "the tea house on the X street is the best"라면, 사용자 B가 사용자 A에게 "which is your favorite place for coffee or tea?"라고 질문할 때, 응답 예측기(232)는 잠재적 답신으로서, "the tea house on the X street"의 어드레스를 사용자 A에게 쉽게 제공할 수 있다.
[00139] 방법(800)은 잠재적인 사용자 회답을 사용자에게 원-탭 형태로 제공한다(810). 예컨대, 사용자 A가 사용자 B에게 채팅 대화를 전송할 때, 응답 예측기(232)는 "I am driving"라고 말하는 원-탭 제안을 전송하거나, 심지어 사용자 B가 사용자 A에 응답하도록 "I will be home in 20 minutes"라고 전송할 수 있다. 그런 다음, 원-탭 제안의 온-탭 선택에 대한 응답으로, 제안은 채팅 대화의 트랜스크립트에 통합될 수 있다. 사용자 B가 비행하고 있고 셀 폰을 켜지 않을 때, 응답 예측기(232)는, 캘린더에 기반하여 사용자 B를 위해, 여전히 자동으로, "I will be available four hours later"라고 응답할 수 있다.
[00140] 도 9는 검색 요청들에 대한 응답으로 대화들 및/또는 대화 메시지들을 선택적으로 리트리브하기 위한 예시적 방법의 흐름도(900)이다. 방법(900)은 적어도 하나의 대화를 수신하고(902), 적어도 하나의 대화로부터 문맥상 표시자들을 결정한다(904). 방법(900)은 문맥상 표시자들에 기반하여 적어도 하나의 대화를 체계화하고(906), 적어도 하나의 대화를 인덱싱한다(908). 일 예에서, 위의 도 2를 참조하여 더 자세히 논의된 보고 모듈(234)은 대화를 체계화하고 인덱싱할 수 있다. 보고 모듈(234)은, 참여자 아이덴티티들, 대화들에서 참조되는 엔티티들, 대화 메시지들의 시간, 다른 대화 콘텐츠 등에 기반하여 대화들을 체계화할 수 있다. 일 예에서, 보고 모듈(234)은 내림차순 시간 순서로 위치를 언급하는 대화들을 체계화할 수 있다. 보고 모듈(234)은 또한 대화 흐름들에 기반하여 대화들을 체계화할 수 있다. 예컨대, 사용자가 "I will search it"이라고 말하면, 보고 모듈(234)은 대화 흐름에서 다음 메시지가 사용자가 검색 박스에 지정한 워드일 것임을 결정할 수 있고 이 순서로 대화를 체계화할 수 있다. 보고 모듈(234)은 또한 감정 및 다른 문맥상 표시자들에 기반하여 대화들을 체계화하고 인덱싱할 수 있다.
[00141] 방법(900)은 적어도 하나의 대화에 대한 검색 요청을 수신하고(910), 적어도 하나의 대화를 인덱싱하는 것에 기반하여 적어도 하나의 대화의 부분을 리트리브한다(912). 예컨대, 영화에 대해 이야기하는 대화들에 대한 검색 요청을 수신하는 것에 대한 응답으로, 보고 모듈(234)은, 영화에 관한 대화 콘텐츠를 검색함으로써 대화를 체계화하는 것, 대화들의 타임라인에 따라 대화들을 순서화하는 것, 대화에서의 각각의 대화 메시지를 사용자 및 시간과 연관시키는 것, 중요한 엔티티들(예컨대, 영화 이름들, 극장 이름들, 상영 시간 등)을 강조하는 것, 및 인덱스들에 기반하여 이전 대화들에 대한 참조를 다시 제공하는 것에 기반하여 사용자에 대한 보고를 생성한다.
[00142] 도 10은 제안을 보여주는 예시적 대화 인터페이스들의 그래프 표현들을 포함한다. 예시된 예에서, 대화 인터페이스들(1000, 1050)이 Aaron의 모바일 스크린에 디스플레이된다. Aaron은 Bob으로부터 메시지 "Want to eat at Park Chow?"(1002)를 수신한다. 도 1 및 2를 참조로 위에서 설명된 제안 애플리케이션(132b)은, "Park Chow"의 위치가 실행가능하다고 결정한다. 따라서, 제안은 Aaron과 Bob이 위치에 대해 액션을 취하게 하도록 생성될 수 있다. 이 예에서, 제안 애플리케이션(132b)은 Aaron 및/또는 Bob에 대해 "Park Chow" 위치의 맵(1004)을 생성한다. Aaron 및/또는 Bob은 맵(1004)을 보거나 공유 버튼(1006)을 사용하여 맵(1004)을 공유할 수 있다. 이 시나리오에서, 맵(1004)은, 메시지(1002)에 응답하기 위해 메시지 Aaron이 "Sure"(1008)를 전송하기 전후로 두 번 디스플레이된다. 상이한 시나리오에서, 결정 엔진(228)은, Aaron이 예컨대, 메시지 "Sure"(1008)로 질문(1002)에 긍정적으로 답신할 경우에만, "Park Chow" 위치가 실행가능하다고 결정한다. 결과적으로, 위치 제안(예컨대, 맵(1004))은, Aaron이 메시지(1008)를 전송한 후에만 한번 디스플레이될 수 있다. 다른 말로, Aaron이 긍정적 상호작용 엘리먼트 "Sure"로 상호작용을 통해 메시지(1008)를 전송할 때까지, 위치 제안은 대화의 트랜스크립트로 통합되지 않을 수 있다. Aaron과 Bob은 대안적으로 "Umm, nope" 옵션(1010)을 선택하여 맵이 사용자들이 원하는 제안이 아니거나, 맵이 틀리거나 다른 부정적 반응들임을 표시할 수 있다. 이러한 상황들에서, 제안은 대화의 트랜스크립트로의 정적 구현 없이 폐기될 수 있다. 도 10에서, 전체 제안 생성 프로세스는, 제안 애플리케이션(132)에 의해 핸들링된다.
[00143] 도 11a는 대화 서비스에 의해 생성된 대화를 보여주는 예시적 대화 인터페이스의 그래프 표현이다. 사용자들(Melissa G., Alice Z., Chris B) 간의 진행중인 대화가 대화 인터페이스(1100) 상에 디스플레이된다. 사용자들(Melissa G., Alice Z., Chris B)은, 이 비제한적인 예에서, 소셜 네트워크의 멤버들일 수 있다. 사용자들 간의 대화 세션이, 소셜 네트워크의 제1 애플리케이션(예컨대, 제안 애플리케이션(132))에 의해 생성되고 관리된다. 대화 인터페이스(1100)는 Melissa의 컴퓨터 스크린 상에 디스플레이될 수 있다. 이 예에서, 사용자들은 그 밤의 계획에 대해 대화하고, 멜리사가 쇼핑에 관심을 표현하고, "Dress Factory is good. I am wondering if they have any discount right now."라고 말한다. 이 메시지에서 중요한 엔티티들이 "Dress Factory" 및 "discount"이라고 제안 애플리케이션(132b)이 식별할 때, 제안 애플리케이션(132b)은 이러한 중요한 엔티티들에 기반하여 제안을 생성한다. 그러나 도 10에서와 같이, 제안 애플리케이션(132b)에 의한 제안을 생성하는 대신, 제안 애플리케이션(132b)은 정보("Dress Factory" 및 "discount")를 다른 서비스(예컨대, 제3자 프로모션 서비스)로 피딩하여 제안을 생성한다.
[00144] 이제, 제3자 프로모션 서비스에 의해 생성된 제안을 보여주는 예시적 대화 인터페이스의 그래픽 표현인 도 11b를 참조한다. 예시된 예에서, 대화 인터페이스(1150)는 Melissa의 모바일 스크린 상에 디스플레이된다. 대화 인터페이스(1150)는 "Dress Factory has 20% off for dress and jewelry until May 30"라는 제안(1152)을 포함한다. 프로모션 서비스는, (예컨대, 대화를 핸들링하는 별개의 서버에 의해 정보가 피딩된 후) 도 11a의 제안 애플리케이션(132b)에 의해 식별된 엔티티들("Dress Factory" 및 "discount")에 기반하여 제안(1152)을 생성한다. 일 예에서, 프로모션 서비스는 인터넷 상에서 엔티티들에 대한 검색을 수행하여 제안(1152)을 생성할 수 있다. 제안 생성기(132b)는 제안(1152)을 수신할 수 있고, 그런 다음, 도 11a의 대화의 참여자들(예컨대, Melissa G., Alice Z., 및/또는 Chris B) 모두 또는 이들의 서브세트에 제안(1152)을 제공할 수 있다. 도 11b는 Alice 또는 Chris에게 보여지는 제안들과 동일한 제안(1152)을 Melissa의 모바일 스크린 상에 디스플레이한다.
[00145] 도 12는 원-탭 회답들을 보여주는 예시적 대화 인터페이스의 그래프 표현이다. 예시된 도 12에서, 대화 인터페이스(1200)는 Aaron의 모바일 스크린 상에 디스플레이된다. Bob으로부터 "when is mom's flight going to land?"라는 질문(1202)을 수신하는 것에 대한 응답으로, 제안 애플리케이션(132b)은, Aaron의 이전 사용자 액션들(예컨대, 구매 내역)에 기반하여 Aaron으로부터 잠재적 응답을 예측하고, Aaron에 대한 원-탭 회답(1204)을 생성한다. 자동 회답(1004)에는 항공편 번호, 도착 시간 및 비행 상태가 나열된다. 따라서, Aaron은 Bob에게 답신을 타이핑할 시간을 절약한다. 유사하게, Bob이 "will you pick her up at the airport?"라는 다른 질문(1206)을 전송할 때, 제안 애플리케이션(132b)은 이 질문이 yes 또는 no 질문이라고 결정하고, Aaron이 선정할 두 옵션들 "YES" 또는 "NO"를 포함하도록 원-탭 자동 회답(1008)을 생성한다.
[00146] 도 13은 대화 보고를 보여주는 예시적 대화 인터페이스의 그래프 표현이다. 대화 인터페이스(1300)는 검색 박스(1302)를 포함하며, 여기서 사용자는 참여자 이름, 주제, 시간, 이들의 조합들 등에 기반하여 대화들을 검색할 수 있다. 도 13에 예시된 예에서, 사용자는 영화 "star wars"에 관한 대화들을 검색했다. 사용자로부터의 검색 요청에 대한 응답으로, 제안 애플리케이션(132b)은 보고를 생성할 수 있다. 특정 예들에서, 보고는 사용자가 주제를 논의했고 대화들의 다른 참여자들, 예컨대, Mellissa, Alice 및 Jenny가 수요일 오후 7:10-7:30 사이에 "star wars"에 대해 논의했던 시점에 대한 요약(1304)으로 시작할 수 있다. 보고는 또한, 시간 순서로 각각의 참여자로부터의 대화 메시지들을 포함할 수 있다. 보고는 또한, 사용자가 검색한 키워드 "star wars"(1306)를 강조할 수 있다. 게다가, 보고는 소정의 엔티티들(예컨대, 배우들("AA"(1108) 및 "BB"1310))을 강조하여, 사용자가 엔티티들에 대한 더 많은 정보(예컨대, 전기, 사진들)를 리트리브 가능하게 할 수 있다. 각각의 강조되고 식별된 엔티티는, 사용자가 인터넷 상에서 엔티티에 대한 검색을 수행할 수 있게 하는 하이퍼링크와 연관될 수 있다.
[00147] 도 14는 대화 요약을 보여주는 예시적 대화 인터페이스의 그래프 표현이다. 예시된 예에서, 대화 인터페이스(1400)는 사용자에 대한 제안 애플리케이션(132b)에 의해 생성되는, 일주일 동안 사용자가 참여한 대화들을 요약하는 대화 요약(1402)을 포함한다. 대화 요약은 2개의 예시적인 부분들(1402 및 1404)을 포함할 수 있다. 제1 부분(1402)에서, 요약은, 지난 주 동안 사용자가 참여한 대화들의 수, 및 대화들에 대한 일부 기본 정보, 예컨대, 하루 중의 시간, 날짜, 다른 참여자들의 아이덴티티들 등을 포함할 수 있다. 제1 부분(1402)은 또한, 각각의 참여자로부터의 대화 메시지들, 각각의 메시지가 전송된 시각 등을 포함하는, 각각의 대화에 대한 추가의 세부사항들을 제공하는, 각각의 대화에 대한 세부 옵션(1406)을 포함할 수 있다. 제2 부분(1404)은, 예컨대, 대화들에서 논의된 주제들(선택적으로 대화들에서 각각의 주제의 백분율을 설명하는 파이 채팅(pie chart)(1408)), 대화들에서 공유된 오디오/시각적 콘텐츠(선택적으로 콘텐츠를 플레이하기 위한 링크(1410)), 두 대화들에서 공유된 사진들(1412)을 포함하는, 지난 주에 수행된 대화들에 대한 핵심적인 정보를 포함할 수 있다.
[00148] 도 15는 제안들의 순차적 프리젠테이션을 보여주는 예시적인 대화 인터페이스의 그래픽 표현을 포함한다. 예시된 도 15에서, 대화 인터페이스(1500)는 사용자의 모바일 스크린 상에 디스플레이된다. 메시지 "meet up for a meal?"(1502)를 수신하는 것에 대한 응답으로, 제안 애플리케이션(132b)은 "lunch," "dinner," "brunch" 등을 위한 옵션들(1504)을 생성하고 디스플레이한다. 사용자는 먼저 사용자에게 제안된 옵션들(1504) 중 하나를 선택하고 생성될 제2 제안을 트리거링할 수 있다. 도 15는 옵션(1506)에서 보여지는 사용자 선택을 수신하는 것에 대한 응답으로 생성된 대화 인터페이스(1550)를 디스플레이한다. 옵션(1506)에서 점심 식사에 대한 사용자의 선택 시에, 제안 애플리케이션(132b)은 점심 식사를 위해 영업중인 특정 레스토랑들을 생성하고 디스플레이한다. 특정 구현들에서, 제안 애플리케이션(132b)은 대화의 모든 참여자들의 소정의 거리 범위 내에 있는 레스토랑들만을 디스플레이할 수 있다. 일부 예들에서, 레스토랑 정보(1508)는 레스토랑 이름, 레스토랑 타입, 리뷰 및 가격을 포함할 수 있다.
[00149] 특정 구현들에서, 디스플레이된 레스토랑 정보는 선택가능하고 실행 가능할 수 있다. 일 예에서, 사용자는 특정 레스토랑을 선택하고 이를 대화의 다른 참여자들에게, 예컨대, 레스토랑 이름을 포함하는 메시지로서, 레스토랑 이름 및 대화에 적절한 미리 채워진 디폴트 워드들(예컨대, "let's meet at... ")을 포함하는 메시지로서 디스플레이할 수 있다. 다른 예에서, 사용자는 특정 레스토랑을 선택하여 인터넷 상에서 레스토랑에 대한 검색을 수행하고, 웹사이트로부터 상인 정보를 리트리브하고, 레스토랑 위치의 맵을 리트리브하는 등을 행할 수 있다. 그런 다음, 사용자는 예컨대, 레스토랑 위치의 맵을 대화 인터페이스에 삽입함으로써 대화의 다른 참여자들에게 리트리브된 정보를 디스플레이하도록 선정할 수 있다.
[00150] 본 명세서에서 "일부 예시들" 또는 "실시예"에 대한 참조는 본 실시예와 관련하여 설명된 특정 피처, 구조 또는 특징이 설명의 적어도 일부 예시들에 포함된다는 것을 의미한다. 본 명세서의 다양한 장소들에서 "일부 예시들에서"이라는 구절의 출현은 반드시 동일한 실시예를 모두 지칭하는 것은 아니다.
[00151] 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘 및 기호 표현의 측면에서 제시된다. 이러한 알고리즘 설명들 및 표현들은 데이터 프로세싱 기술분야의 당업자에 의해 그들의 작업의 내용을 다른 당업자에게 가장 효과적으로 전달하기 위해 사용되는 수단이다. 알고리즘은 여기서 그리고 일반적으로, 원하는 결과를 유도하는 단계들의 일관적인 시퀀스로 간주된다. 단계들은 물리량들의 물리적 조작들을 요구하는 것들이다. 대체로, 반드시 그러한 것은 아니지만, 이러한 양들은 저장, 전달, 결합, 비교 및 그렇지 아니면 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 주로 공통 이용의 이유들로, 이들 신호들을 비트들, 값들, 엘리먼트들, 기호들, 문자들, 항들, 숫자들 등으로 지칭하는 것이 때로는 편리하다고 판명되었다.
[00152] 그러나 이러한 그리고 유사한 용어들 전부는 적합한 물리량들과 연관되어야 하며 이러한 양들에 적용되는 단지 편리한 라벨들일 뿐이라는 것을 염두에 두어야 한다. 하기의 논의로부터 자명한 바와 같이 달리 구체적으로 언급되지 않는 한, 설명 전반에 걸쳐, "프로세싱", "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어들을 활용하는 논의들은 컴퓨터 시스템, 또는 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리(전자)량들로 표현된 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 이러한 정보 저장, 송신, 또는 디스플레이 디바이스 내의 물리량들로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스들을 지칭한다는 것이 인지된다.
[00153] 본 명세서는 또한 본원에서의 동작들을 수행하기 위한 장치에 관한 것이다. 이 장치는 요구되는 목적들을 위해 특별하게 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크들, 광학 디스크들, CD-ROM들 및 자기 디스크들을 포함하는 임의의 타입의 디스크, ROM(read-only memory)들, RAM(random access memory)들, EPROM(erasable programmable read-only memory)들, EEPROM(electrically erasable programmable read-only memory)들, 자기 또는 광학 카드들, 비-휘발성 메모리를 갖는 USB 키들을 포함하는 플래시 메모리들 또는 전자 명령들을 저장하기에 적절한 임의의 타입의 매체들(각각은 컴퓨터 시스템 버스에 커플링됨)과 같은(그러나 이에 제한되지 않음) 비-일시적 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
[00154] 본 명세서는 완전히 하드웨어 실시예, 완전히 소프트웨어 실시예 또는 하드웨어 엘리먼트 및 소프트웨어 엘리먼트 둘 다를 포함하는 실시예들의 형태를 취할 수 있다. 일부 예시들에서, 본 명세서는 펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함(그러나 이에 제한되지 않음)하는 소프트웨어로 구현된다.
[00155] 또한, 설명은 컴퓨터 또는 임의의 명령 실행 시스템에 의해 또는 그와 관련하여 사용하기 위한 프로그램 코드를 제공하는 비-일시적 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체로부터 액세스 가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 이 설명의 목적들을 위해, 비-일시적 컴퓨터 사용가능 또는 컴퓨터 판독가능 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 그와 관련하여 사용하기 위한 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 임의의 장치일 수 있다.
[00156] 프로그램 코드를 저장 및/또는 실행하기에 적절한 데이터 프로세싱 시스템은 시스템 버스를 통해 메모리 엘리먼트들에 간접적으로 또는 직접적으로 커플링되는 적어도 하나의 프로세서를 포함할 것이다. 메모리 엘리먼트들은 프로그램 코드의 실제 실행 동안 이용되는 로컬 메모리, 벌크 저장소, 및 실행 동안 코드가 벌크 저장소로부터 리트리브되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 일시적인 저장을 제공하는 캐시 메모리들을 포함할 수 있다.
[00157] 입력/출력 또는 I/O 디바이스들(키보드들, 디스플레이들, 포인팅 디바이스들 등을 포함(그러나 이에 제한되지 않음)함)은 직접적으로 또는 개재 I/O 제어기들을 통해 시스템에 커플링될 수 있다.
[00158] 네트워크 어댑터들은 또한 데이터 프로세싱 시스템이 개재 사설 또는 공중 네트워크를 통해 다른 데이터 프로세싱 시스템들 또는 원격 프린터들 또는 소셜 네트워크 데이터 저장소들에 커플링되게 할 수 있도록 시스템에 커플링될 수 있다. 모뎀들, 케이블 모뎀 및 이더넷 카드들은 현재 사용 가능한 타입들의 네트워크 어댑터들 중 단지 몇개이다.
[00159] 마지막으로, 본원에서 제시된 알고리즘들 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련되지 않는다. 다양한 범용 시스템들이 본원에서의 교시들에 따라 프로그램들과 함께 사용될 수 있거나, 그것은 요구된 방법 단계들을 수행하기 위해 보다 특수화된 장치를 구성하기에 편리한 것으로 판명될 수 있다. 여러 개의 이러한 시스템을 위해 필요한 구조가 아래의 설명에서 나타날 것이다. 게다가, 본 명세서는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본원에서 설명된 바와 같은 본 명세서의 교시를 구현하기 위해 여러 프로그래밍 언어들이 사용될 수 있다는 것이 인지될 것이다.
[00160] 본원에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황들에서, 프로그램들 또는 피처들이 사용자 정보(예컨대, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호도들 또는 사용자의 현재 위치에 관한 정보)를 수집하는지 여부를 제어하거나, 사용자에 더 관련될 수 있는 콘텐츠를 콘텐츠 서버로부터 수신할지 여부 및/또는 어떻게 수신할지를 제어할 기회가 사용자들에게 제공될 수 있다. 게다가, 소정의 데이터는 그것이 저장되거나 사용되기 전에 하나 또는 그 초과의 방식들로 처리되어서, 개인 식별 가능 정보가 제거될 수 있다. 예컨대, 사용자의 아이덴티티는 사용자에 대한 어떠한 개인 식별 가능 정보도 결정될 수 없도록, 또는 위치 정보(이를테면, 도시, ZIP 코드 또는 주(state) 레벨)가 획득되는 사용자의 지리적 위치가 일반화되어 사용자의 특정 위치를 결정할 수 없도록 처리될 수 있다. 따라서, 사용자는 사용자에 대한 정보가 어떻게 수집되고 시스템의 다양한 컴포넌트들에 의해 어떻게 사용될지에 관한 제어를 가질 수 있다.
[00161] 본 명세서의 실시예들에 대한 전술한 설명은 예시 및 설명의 목적들을 위해 제공되었다. 그것은 한정적이거나 본 명세서를 개시된 정확한 형태로 제한하도록 의도되지 않는다. 다수의 수정들 및 변동들이 위의 교시를 고려하면 가능하다. 본 개시내용의 범위는 이 상세한 설명에 의해서가 아니라 오히려 이 출원의 청구항들에 의해 제한되도록 의도된다. 당업자들에 의해 이해되는 바와 같이, 본 명세서는 그의 사상 또는 본질적인 특성들로부터 벗어남이 없이 다른 특정 형태로 실현될 수 있다. 마찬가지로, 모듈들, 루틴들, 피처들, 속성들, 방법론들 및 다른 양상들의 특정 명명 및 구분은 필수적이거나 중요하지 않으며, 본 명세서 또는 그의 피처들을 구현하는 메커니즘들은 상이한 이름들, 구분들 및/또는 포멧들을 가질 수 있다. 게다가, 당업자에게 자명할 바와 같이, 본 개시내용의 모듈들, 루틴들, 피처들, 속성들, 방법론들 및 다른 양상들은 소프트웨어, 하드웨어, 펌웨어 또는 이 셋의 임의의 조합으로서 구현될 수 있다. 또한, 본 명세서의 컴포넌트(그의 예는 모듈임)가 소프트웨어로 구현될 때마다, 컴포넌트는 독립형 프로그램으로, 더 큰 프로그램의 일부로, 복수의 별개의 프로그램들로, 정적으로 또는 동적으로 링크된 라이브러리로, 커널 로딩 가능 모듈로, 디바이스 구동기로, 그리고/또는 컴퓨터 프로그래밍 분야의 당업자들에게 향후에 또는 현재 알려진 모든 각각의 그리고 임의의 다른 방식으로 구현될 수 있다. 부가적으로, 본 개시내용은 임의의 특정 프로그래밍 언어의 구현, 또는 임의의 특정 운영 시스템 또는 환경에 대한 구현으로 어떤 방식으로도 제한되지 않는다. 그에 따라서, 본 개시내용은 하기의 청구항들에 기술된 본 명세서의 범위를 제한하는 것이 아니라 예시하기 위한 것으로 의도된다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    하나 또는 그 초과의 프로세서들을 사용하여, 메시지 교환 스레드의 트랜스크립트(transcript)에서의 디스플레이를 위해, 제1 사용자에 의해 제출되는 전자 메시지를 수신하는 단계 ―상기 전자 메시지는 상기 제1 사용자의 클라이언트 디바이스를 통해 상기 제1 사용자에 의해 제공되는 사용자 인터페이스 입력에 대한 응답으로 제출되며, 상기 메시지 교환 스레드는 상기 제1 사용자의 제1 메시지 교환 클라이언트 및 제2 사용자의 제2 메시지 교환 클라이언트를 통해 적어도 상기 제1 사용자와 상기 제2 사용자 사이에서 이루어짐―;
    상기 하나 또는 그 초과의 프로세서들을 사용하여, 상기 전자 메시지로부터의 엔티티를 식별하는 단계;
    상기 하나 또는 그 초과의 프로세서들을 사용하여, 상기 엔티티의 문맥상 표시자(contextual indicator)들을 결정하는 단계;
    상기 하나 또는 그 초과의 프로세서들을 사용하여, 상기 문맥상 표시자들에 기반하여, 상기 엔티티가 실행가능(actionable)한지 여부를 결정하는 단계; 및
    상기 엔티티가 실행가능하다는 결정에 대한 응답으로, 상기 제1 메시지 교환 클라이언트 및 상기 제2 메시지 교환 클라이언트를 통한 프리젠테이션을 위해, 상기 엔티티에 관련된 제안을 제공하는 단계
    를 포함하는, 컴퓨터로 구현되는 방법.
  2. 제1 항에 있어서,
    상기 제2 메시지 교환 클라이언트를 통해 상기 제2 사용자에 의한 상기 제안의 긍정적 선택(affirmative selection)을 수신하는 단계; 및
    상기 긍정적 선택에 대한 응답으로, 상기 제1 메시지 교환 클라이언트를 통해 상기 제1 사용자에게의 프리젠테이션을 위한, 상기 제안에 기반한 콘텐츠를 제공하는 단계
    를 더 포함하는, 컴퓨터로 구현되는 방법.
  3. 제2 항에 있어서,
    상기 제안에 기반한 콘텐츠는 상기 제1 사용자의 위치에 기반하는 제1 버전의 콘텐츠이며,
    상기 방법은, 상기 긍정적 선택에 대한 응답으로, 상기 제2 메시지 교환 클라이언트를 통해 상기 제2 사용자에게의 프리젠테이션을 위한, 상기 제2 사용자의 위치에 기반하는 제2 버전의 콘텐츠를 제공하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 엔티티가 실행가능하다는 결정에 대한 응답으로, 상기 메시지 교환 스레드의 트랜스크립트에 상기 제안을 통합하지 않고, 상기 제안이 프리젠테이션을 위해 제공되며,
    상기 방법은,
    상기 제안의 긍정적 선택을 수신하는 단계; 및
    상기 긍정적 선택에 대한 응답으로, 상기 메시지 교환 스레드의 트랜스크립트에 상기 제안에 기반하는 콘텐츠를 통합하는 단계
    를 더 포함하는, 컴퓨터로 구현되는 방법.
  5. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 엔티티가 실행가능하다는 결정에 대한 응답으로, 상기 메시지 교환 스레드의 트랜스크립트에 상기 제안을 통합하지 않고, 상기 제안이 프리젠테이션을 위해 제공되며,
    상기 제안은 긍정적 인터페이스 엘리먼트(affirmative interface element) 및 부정적 인터페이스 엘리먼트(negative interface element)를 포함하며,
    상기 방법은,
    상기 긍정적 인터페이스 엘리먼트 또는 상기 부정적 인터페이스 엘리먼트의 선택에 대해 모니터링하는 단계; 및
    오직 상기 긍정적 인터페이스 엘리먼트의 선택에 대한 응답으로만, 상기 메시지 교환 스레드의 트랜스크립트에 상기 제안에 기반하는 콘텐츠를 통합하는 단계
    를 더 포함하는, 컴퓨터로 구현되는 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 엔티티가 실행가능하다는 결정에 대한 응답으로, 제3자 서버에 상기 엔티티를 송신하는 단계; 및
    상기 엔티티를 송신하는 것에 대한 응답으로 상기 제3자 서버로부터 상기 제안을 수신하는 단계
    를 더 포함하는, 컴퓨터로 구현되는 방법.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 문맥상 표시자들을 결정하는 단계는, 상기 제1 사용자 및 상기 제2 사용자 중 적어도 하나가 관여한(involve) 별개의 이전 메시지 교환 스레드에 기반하여 적어도 하나의 문맥상 표시자를 결정하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  8. 제7 항에 있어서,
    상기 적어도 하나의 문맥상 표시자는 상기 이전 메시지 교환 스레드의 하나 또는 그 초과의 이전 메시지들에서 상기 제1 사용자 및 상기 제2 사용자 중 적어도 하나에 의해 표현되는 감정(sentiment)에 기반하는, 컴퓨터로 구현되는 방법.
  9. 제8 항에 있어서,
    상기 감정은 상기 엔티티에 관련되며,
    상기 적어도 하나의 문맥상 표시자를 결정하는 단계는, 상기 엔티티에 관련되는 상기 감정에 기반하여 상기 적어도 하나의 문맥상 표시자를 결정하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  10. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 문맥상 표시자들을 결정하는 단계는, 상기 제1 사용자 또는 상기 제2 사용자의 이전 메시지의 감정 분석을 수행하는 것에 기반하여 적어도 하나의 문맥상 표시자를 결정하는 단계를 포함하며,
    상기 이전 메시지는 상기 메시지 교환 스레드 또는 이전 메시지 교환 스레드에 있는, 컴퓨터로 구현되는 방법.
  11. 제9 항에 있어서,
    상기 감정 분석을 수행하는 것은 상기 이전 메시지에 포함된 비-텍스추얼(non-textual) 그래픽 엘리먼트에 적어도 부분적으로 기반하는, 컴퓨터로 구현되는 방법.
  12. 제11 항에 있어서,
    상기 이전 메시지는 상기 이전 메시지 교환 스레드에 있으며, 상기 적어도 하나의 문맥상 표시자는 상기 이전 메시지에 있는 상기 엔티티에 관련되는 상기 감정에 기반하여 선택되는, 컴퓨터로 구현되는 방법.
  13. 제1 항 내지 제12 항 중 어느 한 항에 있어서,
    상기 문맥상 표시자들은 상기 제1 사용자의 이전 메시지에 기반하며, 상기 이전 메시지는, 상기 제1 사용자에 의해, 상기 제2 사용자가 관여하지 않는 이전 메시지 교환 스레드에 제출되는, 컴퓨터로 구현되는 방법.
  14. 제1 항 내지 제13 항 중 어느 한 항에 있어서,
    머신 학습 모델에 기반하여 적어도 하나의 전자 메시지에 대해 자연 언어 분석(natural language analysis)을 수행하는 단계를 더 포함하며,
    상기 전자 메시지로부터 실행가능한 엔티티를 식별하는 단계 및 상기 엔티티의 문맥상 표시자들을 결정하는 단계는 상기 자연 언어 분석에 기반하는, 컴퓨터로 구현되는 방법.
  15. 제1 항 내지 제14 항 중 어느 한 항에 있어서,
    추적 정보(tracking information)를 생성하기 위해 상기 메시지 교환 스레드의 각각의 참여자로부터 대화 흐름들을 추적하는 단계; 및
    상기 추적 정보에 기반하여 상기 문맥상 표시자들을 생성하는 단계
    를 더 포함하는, 컴퓨터로 구현되는 방법.
  16. 제1 항 내지 제15 항 중 어느 한 항에 있어서,
    상기 문맥상 표시자들 및 트레이닝된 머신 학습 모델을 사용하여 상기 제안을 결정하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  17. 제16 항에 있어서,
    상기 엔티티에 제공된 상기 제안에 대한 사용자 반응을 수신하는 단계;
    상기 문맥상 표시자들에 기반하여 입력되는 트레이닝 예(training example) 및 상기 사용자 반응에 기반하여 출력되는 트레이닝 예를 갖는 트레이닝 예를 생성하는 단계; 및
    상기 트레이닝 예에 기반하여 트레이닝된 머신 학습 모델을 추가로 트레이닝하는 것에 기반하여 상기 트레이닝된 머신 학습 모델을 수정하는 단계
    를 더 포함하는, 컴퓨터로 구현되는 방법.
  18. 제1 항 내지 제17 항 중 어느 한 항에 있어서,
    컴퓨터 판독가능 매체에서, 상기 문맥상 표시자들에 기반하여 상기 메시지 교환 스레드를 인덱싱하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  19. 컴퓨터 판독가능 프로그램을 포함하는 비-일시적 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터 판독가능 프로그램은, 컴퓨터 상에서 실행될 때, 상기 컴퓨터로 하여금:
    메시지 교환 스레드의 트랜스크립트에서의 디스플레이를 위해, 제1 사용자에 의해 제출되는 전자 메시지를 수신하게 하고 ―상기 전자 메시지는 상기 제1 사용자의 클라이언트 디바이스를 통해 상기 제1 사용자에 의해 제공되는 사용자 인터페이스 입력에 대한 응답으로 제출되며, 상기 메시지 교환 스레드는 상기 제1 사용자의 제1 메시지 교환 클라이언트 및 제2 사용자의 제2 메시지 교환 클라이언트를 통해 적어도 상기 제1 사용자와 상기 제2 사용자 사이에서 이루어짐―;
    상기 전자 메시지로부터 엔티티를 식별하게 하고;
    상기 엔티티의 문맥상 표시자들을 결정하게 하고 ―상기 엔티티에 대한 문맥상 표시자들은 상기 제1 사용자의 이전 메시지에 기반하는 적어도 하나의 문맥상 표시자를 포함하며, 상기 이전 메시지는, 상기 제1 사용자에 의해, 상기 제2 사용자가 관여하지 않은 이전 메시지 교환 스레드에 제출됨―;
    상기 문맥상 표시자들에 기반하여, 상기 엔티티가 실행가능한지 여부를 결정하게 하고; 그리고
    상기 엔티티가 실행가능하다는 결정에 대한 응답으로, 상기 제2 메시지 교환 클라이언트를 통한 프리젠테이션을 위해, 상기 엔티티에 관련된 제안을 제공하게 하는, 컴퓨터 프로그램 제품.
  20. 시스템으로서,
    하나 또는 그 초과의 프로세서들; 및
    명령들을 저장하는 메모리
    를 포함하며, 상기 명령들은, 실행될 때, 상기 시스템으로 하여금:
    메시지 교환 스레드의 트랜스크립트에서의 디스플레이를 위해, 제1 사용자에 의해 제출되는 전자 메시지를 수신하게 하고 ―상기 전자 메시지는 상기 제1 사용자의 클라이언트 디바이스를 통해 상기 제1 사용자에 의해 제공되는 사용자 인터페이스 입력에 대한 응답으로 제출되며, 상기 메시지 교환 스레드는 상기 제1 사용자의 제1 메시지 교환 클라이언트 및 제2 사용자의 제2 메시지 교환 클라이언트를 통해 적어도 상기 제1 사용자와 상기 제2 사용자 사이에서 이루어짐―;
    상기 전자 메시지로부터 엔티티를 식별하게 하고;
    상기 엔티티의 문맥상 표시자들을 결정하게 하고;
    상기 문맥상 표시자들에 기반하여, 상기 엔티티가 실행가능한지 여부를 결정하게 하고; 그리고
    상기 엔티티가 실행가능하다는 결정에 대한 응답으로, 상기 제1 메시지 교환 클라이언트 및 상기 제2 메시지 교환 클라이언트 중 적어도 하나를 통한 프리젠테이션을 위해, 상기 엔티티에 관련된 제안을 제공하게 하며,
    상기 제안은 오직 상기 엔티티가 실행가능하다고 결정될 때만 제공되는, 시스템.
KR1020187019756A 2015-12-21 2016-12-21 메시지 교환 스레드들에 대한 자동적인 제안들 Ceased KR20180093040A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562270454P 2015-12-21 2015-12-21
US62/270,454 2015-12-21
PCT/US2016/068059 WO2017112786A1 (en) 2015-12-21 2016-12-21 Automatic suggestions for message exchange threads
US15/386,162 2016-12-21
US15/386,162 US10530723B2 (en) 2015-12-21 2016-12-21 Automatic suggestions for message exchange threads

Publications (1)

Publication Number Publication Date
KR20180093040A true KR20180093040A (ko) 2018-08-20

Family

ID=59066635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187019756A Ceased KR20180093040A (ko) 2015-12-21 2016-12-21 메시지 교환 스레드들에 대한 자동적인 제안들

Country Status (6)

Country Link
US (2) US10530723B2 (ko)
EP (1) EP3395018A1 (ko)
JP (1) JP6638087B2 (ko)
KR (1) KR20180093040A (ko)
CN (1) CN108781175B (ko)
WO (1) WO2017112786A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022083404A (ja) * 2020-11-24 2022-06-03 Line株式会社 検索方法、コンピュータプログラム、およびコンピュータ装置

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG190611A1 (en) 2009-06-09 2013-06-28 Cimas Ltd Halogenated aliphatic carboxylic acids, oligomers and/or polymers thereof and their use in devitalizing external and internal neoplasms
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
KR20180093040A (ko) 2015-12-21 2018-08-20 구글 엘엘씨 메시지 교환 스레드들에 대한 자동적인 제안들
US10757043B2 (en) 2015-12-21 2020-08-25 Google Llc Automatic suggestions and other content for messaging applications
CN106910513A (zh) * 2015-12-22 2017-06-30 微软技术许可有限责任公司 情绪智能聊天引擎
US10846475B2 (en) * 2015-12-23 2020-11-24 Beijing Xinmei Hutong Technology Co., Ltd. Emoji input method and device thereof
US10212119B2 (en) * 2016-01-13 2019-02-19 Pooja Bisarya Method and system for enabling messaging between users
US20170222956A1 (en) * 2016-02-01 2017-08-03 Priya Jain Method and system for enabling an auto response facility between users
US10757048B2 (en) 2016-04-08 2020-08-25 Microsoft Technology Licensing, Llc Intelligent personal assistant as a contact
US10158593B2 (en) * 2016-04-08 2018-12-18 Microsoft Technology Licensing, Llc Proactive intelligent personal assistant
US10291565B2 (en) 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
US10263933B2 (en) 2016-05-17 2019-04-16 Google Llc Incorporating selectable application links into message exchange threads
US10904168B2 (en) * 2016-06-03 2021-01-26 Spotify Ab System and method for providing digital media content with a conversational messaging environment
US10387461B2 (en) 2016-08-16 2019-08-20 Google Llc Techniques for suggesting electronic messages based on user activity and other context
WO2018057536A1 (en) 2016-09-20 2018-03-29 Google Llc Bot requesting permission for accessing data
CN109952572B (zh) 2016-09-20 2023-11-24 谷歌有限责任公司 基于消息贴纸的建议响应
US10015124B2 (en) * 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US11159473B2 (en) * 2016-10-10 2021-10-26 Facebook, Inc. Systems and methods for sharing content
US10416846B2 (en) 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
CN108075959B (zh) * 2016-11-14 2021-03-12 腾讯科技(深圳)有限公司 一种会话消息处理方法和装置
US10146768B2 (en) 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
US10614164B2 (en) * 2017-02-27 2020-04-07 International Business Machines Corporation Message sentiment based alert
US11494440B1 (en) * 2017-04-12 2022-11-08 Meta Platforms, Inc. Proactive and reactive suggestions for a messaging system
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
US10044862B1 (en) * 2017-04-28 2018-08-07 International Business Machines Corporation Dynamic topic guidance in the context of multi-round conversation
US10891485B2 (en) 2017-05-16 2021-01-12 Google Llc Image archival based on image categories
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10917483B2 (en) * 2017-06-22 2021-02-09 Numberai, Inc. Automated communication-based intelligence engine
FR3067554A1 (fr) * 2017-06-23 2018-12-14 Orange Procede et dispositif de traitement de messages textuels recus par une application de messagerie executee dans un terminal de communication d'un utilisateur
US11699039B2 (en) * 2017-06-28 2023-07-11 Microsoft Technology Licensing, Llc Virtual assistant providing enhanced communication session services
US10585991B2 (en) * 2017-06-29 2020-03-10 Microsoft Technology Licensing, Llc Virtual assistant for generating personalized responses within a communication session
US11258734B1 (en) 2017-08-04 2022-02-22 Grammarly, Inc. Artificial intelligence communication assistance for editing utilizing communication profiles
US20190050774A1 (en) * 2017-08-08 2019-02-14 General Electric Company Methods and apparatus to enhance emotional intelligence using digital technology
US10951558B2 (en) 2017-09-27 2021-03-16 Slack Technologies, Inc. Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US10785222B2 (en) 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US10652189B2 (en) * 2017-10-19 2020-05-12 Chicago Mercantile Exchange Inc. Message encoding and transmission across multiple platforms
US11113604B2 (en) * 2017-11-06 2021-09-07 Google Llc Training and/or utilizing an interaction prediction model to determine when to interact, and/or prompt for interaction, with an application on the basis of an electronic communication
US10601937B2 (en) * 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
US10609511B2 (en) * 2017-12-08 2020-03-31 Facebook, Inc. Techniques for providing meeting location suggestions
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
US10587553B1 (en) * 2017-12-29 2020-03-10 Entefy Inc. Methods and systems to support adaptive multi-participant thread monitoring
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
JP7073122B2 (ja) * 2018-01-31 2022-05-23 Dynabook株式会社 電子機器、制御方法及びプログラム
US10866989B1 (en) * 2018-04-06 2020-12-15 Architecture Technology Corporation Real time recommender modeling system, methods of construction, and methods of use
US20190327200A1 (en) * 2018-04-20 2019-10-24 Microsoft Technology Licensing, Llc Customized controls for handling communication content
US11322264B2 (en) 2018-04-23 2022-05-03 DNAFeed Inc. Systems and methods for human-augmented communications
US11074284B2 (en) * 2018-05-07 2021-07-27 International Business Machines Corporation Cognitive summarization and retrieval of archived communications
US20190384811A1 (en) * 2018-06-14 2019-12-19 Pubali Sen System and method for communication exchange feedback
US10901577B2 (en) 2018-07-17 2021-01-26 Google Llc Methods and systems for input suggestion
US10721190B2 (en) * 2018-07-31 2020-07-21 Microsoft Technology Licensing, Llc Sequence to sequence to classification model for generating recommended messages
US11252117B2 (en) * 2018-08-10 2022-02-15 International Business Machines Corporation Electronic communication message coaching service
CN115550304B (zh) * 2018-08-22 2023-10-10 谷歌有限责任公司 确定一组用户的活动实例集合的方法、设备和存储介质
US10909327B2 (en) * 2018-08-24 2021-02-02 International Business Machines Corporation Unsupervised learning of interpretable conversation models from conversation logs
US11182860B2 (en) * 2018-10-05 2021-11-23 The Toronto-Dominion Bank System and method for providing photo-based estimation
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
US11238226B2 (en) * 2018-11-15 2022-02-01 Nuance Communications, Inc. System and method for accelerating user agent chats
US11048767B2 (en) * 2018-11-16 2021-06-29 Sap Se Combination content search
US12411843B2 (en) * 2018-11-16 2025-09-09 International Business Machines Corporation Intelligent resolution of conflicting information in adaptive dialog systems
US11777874B1 (en) * 2018-12-14 2023-10-03 Carvana, LLC Artificial intelligence conversation engine
CN110209952B (zh) * 2018-12-18 2023-03-24 腾讯科技(深圳)有限公司 信息推荐方法、装置、设备及存储介质
US10956474B2 (en) 2019-03-14 2021-03-23 Microsoft Technology Licensing, Llc Determination of best set of suggested responses
EP3942510A4 (en) * 2019-03-20 2022-04-27 Samsung Electronics Co., Ltd. METHOD AND SYSTEM FOR DELIVERING PERSONALIZED MULTIMODAL OBJECTS IN REAL TIME
JP7104278B2 (ja) * 2019-03-29 2022-07-21 株式会社Aill コミュニケーション支援サーバ、コミュニケーション支援システム、コミュニケーション支援方法、及びコミュニケーション支援プログラム
WO2020202314A1 (ja) * 2019-03-29 2020-10-08 株式会社Aill コミュニケーション支援サーバ、コミュニケーション支援システム、コミュニケーション支援方法、及びコミュニケーション支援プログラム
JP7409781B2 (ja) * 2019-04-01 2024-01-09 Lineヤフー株式会社 出力プログラム、出力装置及び出力方法
US11176520B2 (en) 2019-04-18 2021-11-16 Microsoft Technology Licensing, Llc Email content modification system
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
WO2020246020A1 (ja) * 2019-06-07 2020-12-10 富士通株式会社 情報管理プログラム、情報管理方法および情報管理装置
US10902190B1 (en) * 2019-07-03 2021-01-26 Microsoft Technology Licensing Llc Populating electronic messages with quotes
US12405705B2 (en) * 2019-07-11 2025-09-02 Google Llc System and method for providing an artificial intelligence control surface for a user of a computing device
CN112448879B (zh) * 2019-08-27 2022-09-13 腾讯科技(深圳)有限公司 提醒消息推送方法、装置、终端及计算机可读存储介质
US11551242B2 (en) * 2019-12-13 2023-01-10 Jpmorgan Chase Bank, N.A. System and method for providing intelligent dashboards for critical business flows
US11521611B2 (en) 2019-12-19 2022-12-06 Palo Alto Research Center Incorporated Using conversation structure and content to answer questions in multi-part online interactions
US11555622B2 (en) * 2019-12-19 2023-01-17 International Business Machines Corporation Intelligent context-based control of air flow
NL2024677B1 (en) * 2020-01-15 2021-09-08 Microsoft Technology Licensing Llc Generating suggestions for users based on identifying direct interactions in group chats
US12143527B2 (en) * 2020-02-20 2024-11-12 Grey Wall Software Llc Computer messaging analytics systems and methods
US11023298B1 (en) * 2020-02-28 2021-06-01 Snap Inc. Displaying items based on a configuration file
US11462220B2 (en) * 2020-03-04 2022-10-04 Accenture Global Solutions Limited Infrastructure automation platform to assist in performing actions in response to tasks
AU2020442585A1 (en) * 2020-04-15 2022-09-29 Xero Limited Systems and computer-implemented methods for capital management
US10951564B1 (en) * 2020-04-17 2021-03-16 Slack Technologies, Inc. Direct messaging instance generation
US11436408B2 (en) * 2020-07-01 2022-09-06 Motorola Mobility Llc Targeted natural language responses for electronic communications
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US12120078B2 (en) 2020-09-18 2024-10-15 Khoros, Llc Automated disposition of a community of electronic messages under moderation using a gesture-based computerized tool
US11784949B2 (en) 2020-10-06 2023-10-10 Salesforce, Inc. Limited functionality interface for communication platform
US11741949B2 (en) * 2020-10-30 2023-08-29 Nvidia Corporation Real-time video conference chat filtering using machine learning models
US11283751B1 (en) * 2020-11-03 2022-03-22 International Business Machines Corporation Using speech and facial bio-metrics to deliver text messages at the appropriate time
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US12197875B2 (en) 2021-07-31 2025-01-14 Khoros, Llc Automated predictive response computing platform implementing adaptive data flow sets to exchange data via an omnichannel electronic communication channel independent of data source
US12158903B2 (en) 2020-11-06 2024-12-03 Khoros, Llc Automated response engine to implement internal communication interaction data via a secured omnichannel electronic data channel and external communication interaction data
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11228644B1 (en) * 2020-11-10 2022-01-18 Capital One Services, Llc Systems and methods to generate contextual threads
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
CN112492355B (zh) * 2020-11-25 2022-07-08 北京字跳网络技术有限公司 发布和回复多媒体内容的方法、装置和设备
US11792141B2 (en) * 2021-01-12 2023-10-17 Meta Platforms Technologies, Llc Automated messaging reply-to
US12014731B2 (en) 2021-01-29 2024-06-18 Zoom Video Communications, Inc. Suggesting user actions during a video conference
JP7677816B2 (ja) * 2021-03-26 2025-05-15 本田技研工業株式会社 情報提供システム、及び情報提供システムの制御方法
US11816097B2 (en) 2021-06-08 2023-11-14 Capital One Services, Llc Geographical location determination system
US11743215B1 (en) 2021-06-28 2023-08-29 Meta Platforms Technologies, Llc Artificial reality messaging with destination selection
US20230050045A1 (en) * 2021-08-12 2023-02-16 Yohana Llc Systems and methods for proposal acceptance in a task determination system
EP4396663A4 (en) * 2021-09-01 2025-06-25 Yohana LLC SYSTEMS AND METHODS FOR GENERATING AND PRESENTING DYNAMIC TASK SUMMARIES
US11822562B2 (en) 2022-03-31 2023-11-21 Capital One Services, Llc Unstructured text processing for geographical location determination system
US12235889B2 (en) 2022-08-26 2025-02-25 Google Llc Device messages provided in displayed image compilations based on user content
AT526801A1 (de) * 2022-12-15 2024-07-15 Frequentis Ag Kommunikationssystem für textbasierte Kommunikation
US12261844B2 (en) 2023-03-06 2025-03-25 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
US12332934B2 (en) 2023-04-11 2025-06-17 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US12348465B2 (en) 2023-04-25 2025-07-01 Zoom Communications, Inc. Facilitating user actions for virtual interactions
USD1054441S1 (en) * 2023-05-01 2024-12-17 Airbnb, Inc. Display screen with graphical user interface
US12293335B2 (en) * 2023-05-04 2025-05-06 Christina Massa System and method of automating the recruitment process between employment candidates and recruiting entities
US20240380714A1 (en) * 2023-05-11 2024-11-14 Douglas VORT Systems and methods for visual cue based messaging
TWI846528B (zh) * 2023-06-29 2024-06-21 英業達股份有限公司 具主動聊天應答的客製化設定及更新下載系統及其方法
US20250023930A1 (en) * 2023-07-14 2025-01-16 Google Llc Artificial intelligence (ai)-based document retrieval during a virtual meeting
US12149497B1 (en) * 2023-07-26 2024-11-19 AsqMe Inc. Automation of online response to online query
US20250039334A1 (en) * 2023-07-28 2025-01-30 Zoom Video Communications, Inc. Collaboration using conversational artificial intelligence during video conferencing
JP2025044256A (ja) * 2023-09-19 2025-04-01 ソフトバンクグループ株式会社 システム
US12348476B2 (en) * 2023-10-30 2025-07-01 Zoom Communications, Inc. Message generation based on multichannel context

Family Cites Families (309)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963649A (en) 1995-12-19 1999-10-05 Nec Corporation Message authorization system for authorizing message for electronic document
US6092102A (en) 1997-10-24 2000-07-18 University Of Pittsburgh Of The Commonwealth System Of Higher Education System and method for notifying users about information or events of an enterprise
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
JP2000298676A (ja) 1999-04-14 2000-10-24 Bandai Co Ltd 情報提供装置
AU2001295080A1 (en) 2000-09-29 2002-04-08 Professorq, Inc. Natural-language voice-activated personal assistant
JP2002132804A (ja) 2000-10-24 2002-05-10 Sanyo Electric Co Ltd ユーザ支援システム
US20020103837A1 (en) 2001-01-31 2002-08-01 International Business Machines Corporation Method for handling requests for information in a natural language understanding system
US20050146621A1 (en) 2001-09-10 2005-07-07 Nikon Technologies, Inc. Digital camera system, image storage apparatus, and digital camera
US7636750B2 (en) 2001-10-24 2009-12-22 Sprint Spectrum L.P. Method and system for controlling scope of user participation in a communication session
US7283992B2 (en) 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US20040001099A1 (en) 2002-06-27 2004-01-01 Microsoft Corporation Method and system for associating actions with semantic labels in electronic documents
US7234117B2 (en) 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US20110107223A1 (en) 2003-01-06 2011-05-05 Eric Tilton User Interface For Presenting Presentations
WO2004077291A1 (ja) 2003-02-25 2004-09-10 Matsushita Electric Industrial Co., Ltd. アプリケーションプログラムの予測方法及び移動体端末
KR101196271B1 (ko) 2003-05-16 2012-11-06 구글 잉크. 네트워크된 챗과 미디어 공유 시스템 및 방법
US8645697B1 (en) 2003-08-08 2014-02-04 Radix Holdings, Llc Message authorization
US7363029B2 (en) 2003-09-12 2008-04-22 Core Mobility, Inc. Unified interface for voice, text or picture message authoring
US20120322428A1 (en) 2004-09-30 2012-12-20 Motedata Inc. Network of tags
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7363295B2 (en) 2004-04-19 2008-04-22 Yahoo! Inc. Techniques for inline searching in an instant messenger environment
WO2005125070A2 (en) 2004-06-14 2005-12-29 Semandex Networks, Inc. System and method for providing content-based instant messaging
US7464110B2 (en) 2004-06-30 2008-12-09 Nokia Corporation Automated grouping of image and other user data
US7734927B2 (en) 2004-07-21 2010-06-08 International Business Machines Corporation Real-time voting based authorization in an autonomic workflow process using an electronic messaging system
US7917582B2 (en) 2004-07-27 2011-03-29 Siemens Enterprise Communications, Inc. Method and apparatus for autocorrelation of instant messages
US7720436B2 (en) 2006-01-09 2010-05-18 Nokia Corporation Displaying network objects in mobile devices based on geolocation
US20060150119A1 (en) 2004-12-31 2006-07-06 France Telecom Method for interacting with automated information agents using conversational queries
US7197324B2 (en) 2005-01-31 2007-03-27 Sweeney Robert J Permission based text messaging
US7603413B1 (en) 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
US7860319B2 (en) 2005-05-11 2010-12-28 Hewlett-Packard Development Company, L.P. Image management
US7512580B2 (en) 2005-08-04 2009-03-31 Sap Ag Confidence indicators for automated suggestions
CN1988461A (zh) 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种即时通信工具的聊天场景音乐播放方法和系统
US7747785B2 (en) 2006-04-14 2010-06-29 Microsoft Corporation Instant messaging plug-ins
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2008045811A2 (en) 2006-10-10 2008-04-17 Orgoo, Inc. Integrated electronic mail and instant messaging system
US20080120371A1 (en) 2006-11-16 2008-05-22 Rajat Gopal Relational framework for non-real-time audio/video collaboration
US8995815B2 (en) 2006-12-13 2015-03-31 Quickplay Media Inc. Mobile media pause and resume
JP2008191748A (ja) 2007-02-01 2008-08-21 Oki Electric Ind Co Ltd ユーザ間コミュニケーション方法、ユーザ間コミュニケーションプログラム、ユーザ間コミュニケーション装置
US8654176B2 (en) 2007-06-14 2014-02-18 Sharp Kabushiki Kaisha Operating system that includes an image data receiving device and an operation device for processing image data sets
JP2009009334A (ja) 2007-06-27 2009-01-15 Ricoh Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム
CN101159576B (zh) 2007-08-30 2013-07-17 腾讯科技(深圳)有限公司 聊天方法、聊天室客户端、系统管理后台及服务器
US20110145068A1 (en) 2007-09-17 2011-06-16 King Martin T Associating rendered advertisements with digital content
US8082151B2 (en) 2007-09-18 2011-12-20 At&T Intellectual Property I, Lp System and method of generating responses to text-based messages
US20090119584A1 (en) 2007-11-02 2009-05-07 Steve Herbst Software Tool for Creating Outlines and Mind Maps that Generates Subtopics Automatically
KR101230705B1 (ko) 2007-12-17 2013-02-07 플레이 메가폰 유저와 대화식 시스템 간의 상호작용을 관리하는 시스템 및 방법
US20110022992A1 (en) 2008-03-31 2011-01-27 Koninklijke Philips Electronics N.V. Method for modifying a representation based upon a user instruction
US20090282114A1 (en) 2008-05-08 2009-11-12 Junlan Feng System and method for generating suggested responses to an email
US20090327436A1 (en) 2008-06-30 2009-12-31 Chen Shihn-Cheng Instant messaging network control module
US8166019B1 (en) 2008-07-21 2012-04-24 Sprint Communications Company L.P. Providing suggested actions in response to textual communications
JP5273712B2 (ja) 2008-08-11 2013-08-28 シャープ株式会社 情報処理装置、情報処理方法および情報処理プログラム
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
EP2321948B1 (en) 2008-08-25 2017-11-15 Orange Method to identify and transfer to a wireless device actionable items based on user selected content
US8391618B1 (en) 2008-09-19 2013-03-05 Adobe Systems Incorporated Semantic image classification and search
US8055710B2 (en) 2008-09-24 2011-11-08 International Business Machines Corporation System, method and computer program product for intelligent multi-person chat history injection
USD611053S1 (en) 2008-11-24 2010-03-02 Microsoft Corporation Transitional user interface for a portion of a display screen
USD599363S1 (en) 2008-11-24 2009-09-01 Microsoft Corporation Transitional cursor user interface for a portion of a display screen
US20130036162A1 (en) 2009-02-10 2013-02-07 Mikekoenigs.Com, Inc. Automated Communication Techniques
WO2010096192A1 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Interacting with rendered documents using a multi-function mobile device, such as a mobile phone
US20100228590A1 (en) 2009-03-03 2010-09-09 International Business Machines Corporation Context-aware electronic social networking
JP4739438B2 (ja) 2009-03-26 2011-08-03 株式会社エヌ・ティ・ティ・ドコモ 通信端末及びメール返信方法
JP5568352B2 (ja) 2009-03-30 2014-08-06 アバイア インク. グラフィカルな呼び接続表示を用いて同時進行している複数の通信セッションを管理するシステムと方法。
US9195898B2 (en) 2009-04-14 2015-11-24 Qualcomm Incorporated Systems and methods for image recognition using mobile devices
US20120131520A1 (en) 2009-05-14 2012-05-24 Tang ding-yuan Gesture-based Text Identification and Selection in Images
US9782527B2 (en) 2009-05-27 2017-10-10 Tc1 Llc Monitoring of redundant conductors
US9043407B1 (en) 2009-06-12 2015-05-26 Avaya Inc. Interactive user interface to communication-enabled business process platforms method and apparatus
USD651609S1 (en) 2009-06-26 2012-01-03 Microsoft Corporation Display screen with an animated image
EP2449481A4 (en) 2009-07-02 2013-12-25 Livechime Inc SYSTEM AND METHOD FOR EXTENDING DIGITAL CONTENT
US8635223B2 (en) 2009-07-28 2014-01-21 Fti Consulting, Inc. System and method for providing a classification suggestion for electronically stored information
US9128610B2 (en) 2009-09-30 2015-09-08 At&T Mobility Ii Llc Virtual predictive keypad
US8831279B2 (en) 2011-03-04 2014-09-09 Digimarc Corporation Smartphone-based methods and systems
US8121618B2 (en) 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US8400548B2 (en) 2010-01-05 2013-03-19 Apple Inc. Synchronized, interactive augmented reality displays for multifunction devices
USD624927S1 (en) 2010-01-19 2010-10-05 Microsoft Corporation User interface for a portion of a display screen
US8650210B1 (en) 2010-02-09 2014-02-11 Google Inc. Identifying non-search actions based on a search query
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US8655965B2 (en) 2010-03-05 2014-02-18 Qualcomm Incorporated Automated messaging response in wireless communication systems
US8266109B1 (en) 2010-03-09 2012-09-11 Symantec Corporation Performance of scanning containers for archiving
JP2011211696A (ja) 2010-03-10 2011-10-20 Nikon Corp 画像データ処理システム、画像データ処理プログラム、及び画像データ処理装置
JP5733907B2 (ja) 2010-04-07 2015-06-10 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
US20110252207A1 (en) 2010-04-08 2011-10-13 Oracle International Corporation Dynamic content archiving
US9929982B2 (en) 2010-04-08 2018-03-27 Microsoft Technology Licensing, Llc Designating automated agents as friends in a social network service
US20170098122A1 (en) 2010-06-07 2017-04-06 Affectiva, Inc. Analysis of image content with associated manipulation of expression presentation
USD648343S1 (en) 2010-06-24 2011-11-08 Microsoft Corporation Display screen with user interface
USD648735S1 (en) 2010-06-25 2011-11-15 Microsoft Corporation Display screen with animated user interface
US20120030289A1 (en) 2010-07-30 2012-02-02 Avaya Inc. System and method for multi-model, context-sensitive, real-time collaboration
US8781152B2 (en) 2010-08-05 2014-07-15 Brian Momeyer Identifying visual media content captured by camera-enabled mobile device
KR101722687B1 (ko) 2010-08-10 2017-04-04 삼성전자주식회사 객체간 또는 객체와 유저간에 정보 제공 방법, 그 방법을 수행할 수 있는 유저 디바이스, 및 저장 매체
US9936333B2 (en) 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
US8966590B2 (en) 2010-08-17 2015-02-24 Facebook, Inc. Managing social network accessibility based on age
US9262517B2 (en) 2010-08-18 2016-02-16 At&T Intellectual Property I, L.P. Systems and methods for social media data mining
US8566911B2 (en) 2010-10-06 2013-10-22 Blackberry Limited Method of obtaining authorization for accessing a service
KR101753031B1 (ko) 2010-11-15 2017-06-30 엘지전자 주식회사 이동 단말기 및 이것의 메타데이터 설정 방법
KR101060753B1 (ko) 2011-01-04 2011-08-31 (주)올라웍스 입력 이미지에 포함된 객체에 대한 콜렉션을 수행할 수 있도록 지원하기 위한 방법, 단말 장치 및 컴퓨터 판독 가능한 기록 매체
US20120179717A1 (en) * 2011-01-11 2012-07-12 Sony Corporation System and method for effectively providing entertainment recommendations to device users
US8688698B1 (en) 2011-02-11 2014-04-01 Google Inc. Automatic text suggestion
CA2824627C (en) 2011-02-23 2014-09-30 Bottlenose, Inc. System and method for analyzing messages in a network or across networks
US8938669B1 (en) 2011-03-15 2015-01-20 Google Inc. Inline user addressing in chat and document editing sessions
US8849931B2 (en) 2011-03-15 2014-09-30 Idt Messaging, Llc Linking context-based information to text messages
US20130262574A1 (en) 2011-03-15 2013-10-03 Gabriel Cohen Inline User Addressing in Chat Sessions
US8554701B1 (en) 2011-03-18 2013-10-08 Amazon Technologies, Inc. Determining sentiment of sentences from customer reviews
JP2012221480A (ja) 2011-04-06 2012-11-12 L Is B Corp メッセージ処理システム
US9049259B2 (en) 2011-05-03 2015-06-02 Onepatont Software Limited System and method for dynamically providing visual action or activity news feed
EP2523436A1 (en) 2011-05-11 2012-11-14 Alcatel Lucent Mobile device and method of managing applications for a mobile device
USD658678S1 (en) 2011-05-27 2012-05-01 Microsoft Corporation Display screen with animated user interface
USD658677S1 (en) 2011-05-27 2012-05-01 Microsoft Corporation Display screen with animated user interface
USD658201S1 (en) 2011-05-27 2012-04-24 Microsoft Corporation Display screen with animated user interface
US8832284B1 (en) 2011-06-16 2014-09-09 Google Inc. Virtual socializing
US8589407B2 (en) 2011-06-17 2013-11-19 Google Inc. Automated generation of suggestions for personalized reactions in a social network
US8881250B2 (en) 2011-06-17 2014-11-04 Ebay Inc. Passporting credentials between a mobile app and a web browser
US8700480B1 (en) 2011-06-20 2014-04-15 Amazon Technologies, Inc. Extracting quotes from customer reviews regarding collections of items
US9588668B2 (en) 2011-07-21 2017-03-07 Imerj, Llc Methods of displaying a second view
US9245253B2 (en) 2011-08-19 2016-01-26 Disney Enterprises, Inc. Soft-sending chat messages
US8659667B2 (en) 2011-08-29 2014-02-25 Panasonic Corporation Recipe based real-time assistance for digital image capture and other consumer electronics devices
US9179278B2 (en) 2011-09-01 2015-11-03 Qualcomm Incorporated Systems and methods involving augmented menu using mobile device
US10102546B2 (en) 2011-09-15 2018-10-16 Stephan HEATH System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods and services, auctions, and service providers using geospatial mapping technology, and social networking
RU2542937C2 (ru) 2011-09-30 2015-02-27 Эпл Инк. Использование контекстной информации для облегчения обработки команд в виртуальном помощнике
US20180032997A1 (en) 2012-10-09 2018-02-01 George A. Gordon System, method, and computer program product for determining whether to prompt an action by a platform in connection with a mobile device
KR101521332B1 (ko) 2011-11-08 2015-05-20 주식회사 다음카카오 인스턴트 메시징 서비스 및 인스턴트 메시징 서비스로부터 확장된 복수의 서비스들을 제공하는 방법
US9697016B2 (en) 2011-11-15 2017-07-04 Microsoft Technology Licensing, Llc Search augmented menu and configuration for computer applications
USD673172S1 (en) 2011-11-21 2012-12-25 Microsoft Corporation Display screen with animated graphical user interface
KR101402506B1 (ko) 2011-12-01 2014-06-03 라인 가부시키가이샤 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
USD701228S1 (en) 2012-01-06 2014-03-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD699744S1 (en) 2012-01-06 2014-02-18 Microsoft Corporation Display screen with an animated graphical user interface
AU344579S (en) 2012-01-09 2012-09-27 Samsung Electronics Co Ltd Display screen for an electronic device
USD705802S1 (en) 2012-02-07 2014-05-27 Microsoft Corporation Display screen with animated graphical user interface
USD705251S1 (en) 2012-02-09 2014-05-20 Microsoft Corporation Display screen with animated graphical user interface
GB2499395A (en) 2012-02-14 2013-08-21 British Sky Broadcasting Ltd Search method
US9306878B2 (en) 2012-02-14 2016-04-05 Salesforce.Com, Inc. Intelligent automated messaging for computer-implemented devices
USD699739S1 (en) 2012-02-22 2014-02-18 Microsoft Corporation Display screen with animated graphical user interface
US20130218885A1 (en) * 2012-02-22 2013-08-22 Salesforce.Com, Inc. Systems and methods for context-aware message tagging
USD701527S1 (en) 2012-02-23 2014-03-25 Htc Corporation Display screen with transitional graphical user interface
USD701528S1 (en) 2012-02-24 2014-03-25 Htc Corporation Display screen with transitional graphical user interface
US8620021B2 (en) 2012-03-29 2013-12-31 Digimarc Corporation Image-related methods and arrangements
US8855430B1 (en) 2012-05-30 2014-10-07 Google Inc. Refining image annotations
USD705244S1 (en) 2012-06-20 2014-05-20 Microsoft Corporation Display screen with animated graphical user interface
US20130346235A1 (en) 2012-06-20 2013-12-26 Ebay, Inc. Systems, Methods, and Computer Program Products for Caching of Shopping Items
US9191786B2 (en) 2012-06-27 2015-11-17 At&T Intellectual Property I, L.P. Method and apparatus for generating a suggested message to be sent over a network
US9412136B2 (en) 2012-07-09 2016-08-09 Facebook, Inc. Creation of real-time conversations based on social location information
KR20140011073A (ko) 2012-07-17 2014-01-28 삼성전자주식회사 텍스트 추천 방법 및 장치
US9019415B2 (en) 2012-07-26 2015-04-28 Qualcomm Incorporated Method and apparatus for dual camera shutter
US9195645B2 (en) 2012-07-30 2015-11-24 Microsoft Technology Licensing, Llc Generating string predictions using contexts
KR101899817B1 (ko) 2012-08-01 2018-09-19 엘지전자 주식회사 이동단말기 및 그 제어 방법
USD695755S1 (en) 2012-08-06 2013-12-17 Samsung Electronics Co., Ltd. TV monitor with graphical user interface
US20140047413A1 (en) 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US20140052540A1 (en) 2012-08-20 2014-02-20 Giridhar Rajaram Providing content using inferred topics extracted from communications in a social networking system
KR102068604B1 (ko) 2012-08-28 2020-01-22 삼성전자 주식회사 휴대단말기의 문자 인식장치 및 방법
USD706802S1 (en) 2012-08-28 2014-06-10 Samsung Electronics Co., Ltd. Portable electronic device displaying transitional graphical user interface
US9218333B2 (en) 2012-08-31 2015-12-22 Microsoft Technology Licensing, Llc Context sensitive auto-correction
JP6160996B2 (ja) 2012-09-12 2017-07-12 パナソニックIpマネジメント株式会社 撮像装置
US20140088954A1 (en) 2012-09-27 2014-03-27 Research In Motion Limited Apparatus and method pertaining to automatically-suggested emoticons
US10691743B2 (en) 2014-08-05 2020-06-23 Sri International Multi-dimensional realization of visual content of an image collection
US9299060B2 (en) 2012-10-12 2016-03-29 Google Inc. Automatically suggesting groups based on past user interaction
KR20140052155A (ko) 2012-10-19 2014-05-07 삼성전자주식회사 디스플레이 장치, 디스플레이 장치 제어 방법 및 디스플레이 장치의 제어를 위한 정보처리장치
USD714821S1 (en) 2012-10-24 2014-10-07 Microsoft Corporation Display screen with animated graphical user interface
WO2014068573A1 (en) 2012-10-31 2014-05-08 Aniways Advertising Solutions Ltd. Custom emoticon generation
US20140156801A1 (en) * 2012-12-04 2014-06-05 Mobitv, Inc. Cowatching and connected platforms using a push architecture
US9244905B2 (en) 2012-12-06 2016-01-26 Microsoft Technology Licensing, Llc Communication context based predictive-text suggestion
US20140164506A1 (en) 2012-12-10 2014-06-12 Rawllin International Inc. Multimedia message having portions of networked media content
US20140171133A1 (en) 2012-12-18 2014-06-19 Google Inc. Query response
CN103067490B (zh) 2012-12-26 2015-11-25 腾讯科技(深圳)有限公司 移动终端通讯会话的通知方法、终端、服务器及系统
GB201322037D0 (en) 2013-12-12 2014-01-29 Touchtype Ltd System and method for inputting images/labels into electronic devices
US20140189538A1 (en) 2012-12-31 2014-07-03 Motorola Mobility Llc Recommendations for Applications Based on Device Context
US8930481B2 (en) 2012-12-31 2015-01-06 Huawei Technologies Co., Ltd. Message processing method, terminal and system
US9020956B1 (en) 2012-12-31 2015-04-28 Google Inc. Sentiment and topic based content determination methods and systems
US9374327B2 (en) 2013-01-08 2016-06-21 Vmware, Inc. Intelligent chat system
KR20140091633A (ko) 2013-01-11 2014-07-22 삼성전자주식회사 모바일 장치에서의 상황 인지에 따른 추천 항목을 제공하기 위한 방법 및 이를 위한 모바일 장치
KR101821358B1 (ko) 2013-01-22 2018-01-25 네이버 주식회사 다자간 메신저 서비스를 제공하는 방법 및 시스템
US20140237057A1 (en) * 2013-02-21 2014-08-21 Genesys Telecommunications Laboratories, Inc. System and method for processing private messages in a contact center
JP6255646B2 (ja) 2013-03-04 2018-01-10 株式会社L is B メッセージシステム
USD704726S1 (en) 2013-03-04 2014-05-13 Roger Leslie Maxwell Display screen or portion thereof with animated graphical user interface
US20140344058A1 (en) 2013-03-15 2014-11-20 Fision Holdings, Inc Systems and methods for distributed marketing automation
US20140298364A1 (en) 2013-03-26 2014-10-02 Rawllin International Inc. Recommendations for media content based on emotion
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
US9923849B2 (en) 2013-05-09 2018-03-20 Ebay Inc. System and method for suggesting a phrase based on a context
US10523454B2 (en) 2013-06-13 2019-12-31 Evernote Corporation Initializing chat sessions by pointing to content
US10599765B2 (en) 2013-06-27 2020-03-24 Avaya Inc. Semantic translation model training
CA2918459C (en) 2013-07-16 2019-06-04 Pinterest, Inc. Object based contextual menu controls
US9330110B2 (en) 2013-07-17 2016-05-03 Xerox Corporation Image search system and method for personalized photo applications using semantic networks
US9794198B2 (en) 2013-07-19 2017-10-17 Tencent Technology (Shenzhen) Company Limited Methods and systems for creating auto-reply messages
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
US9161188B2 (en) 2013-08-22 2015-10-13 Yahoo! Inc. System and method for automatically suggesting diverse and personalized message completions
CN104035947B (zh) * 2013-09-16 2016-04-13 腾讯科技(深圳)有限公司 兴趣点推荐方法及装置、获取推荐兴趣点的方法及装置
EP2852105A1 (en) 2013-09-20 2015-03-25 Ignazio Di Tocco Computer system and related process supporting the communication of users located in the same geographical area, in order to establish a starting contact leading to a personal communication
US9401881B2 (en) 2013-09-26 2016-07-26 International Business Machines Corporation Automatic question generation and answering based on monitored messaging sessions
US9329692B2 (en) 2013-09-27 2016-05-03 Microsoft Technology Licensing, Llc Actionable content displayed on a touch screen
US20150100537A1 (en) 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
US8996639B1 (en) 2013-10-15 2015-03-31 Google Inc. Predictive responses to incoming communications
US20150127753A1 (en) 2013-11-04 2015-05-07 Meemo, Llc Word Recognition and Ideograph or In-App Advertising System
EP3080725B1 (en) 2013-12-12 2020-06-10 Mobile Iron, Inc. Application synchronization
KR20150071768A (ko) 2013-12-18 2015-06-29 에스케이하이닉스 주식회사 이미지 센서 및 그 제조방법
US10565268B2 (en) * 2013-12-19 2020-02-18 Adobe Inc. Interactive communication augmented with contextual information
WO2015100362A1 (en) 2013-12-23 2015-07-02 24/7 Customer, Inc. Systems and methods for facilitating dialogue mining
US9519408B2 (en) 2013-12-31 2016-12-13 Google Inc. Systems and methods for guided user actions
US9817813B2 (en) 2014-01-08 2017-11-14 Genesys Telecommunications Laboratories, Inc. Generalized phrases in automatic speech recognition systems
US20150207765A1 (en) 2014-01-17 2015-07-23 Nathaniel Brantingham Messaging Service with Conversation Suggestions
US9721183B2 (en) 2014-01-31 2017-08-01 Hulu, LLC Intelligent determination of aesthetic preferences based on user history and properties
US9515968B2 (en) 2014-02-05 2016-12-06 Facebook, Inc. Controlling access to ideograms
CN106164934A (zh) 2014-02-10 2016-11-23 谷歌公司 智能相机用户界面
CN104836720B (zh) * 2014-02-12 2022-02-25 北京三星通信技术研究有限公司 交互式通信中进行信息推荐的方法及装置
US10095748B2 (en) 2014-03-03 2018-10-09 Microsoft Technology Licensing, Llc Personalized information query suggestions
CN103841007B (zh) 2014-03-04 2017-05-10 腾讯科技(深圳)有限公司 网络游戏系统中的数据处理方法、装置及系统
KR102106787B1 (ko) 2014-03-17 2020-05-06 에스케이텔레콤 주식회사 메신저 프로그램과 어플리케이션 연동 방법, 이를 위한 장치 및 시스템
CN104951428B (zh) 2014-03-26 2019-04-16 阿里巴巴集团控股有限公司 用户意图识别方法及装置
US9544257B2 (en) 2014-04-04 2017-01-10 Blackberry Limited System and method for conducting private messaging
US9213941B2 (en) * 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
US10482163B2 (en) 2014-04-23 2019-11-19 Klickafy, Llc Clickable emoji
CN103995872B (zh) 2014-05-21 2017-04-05 王青 一种在应用中基于场景展开讨论与聊天的方法与系统
US10255449B2 (en) 2014-05-30 2019-04-09 Apple Inc. Permission request
US10445396B2 (en) 2014-05-31 2019-10-15 Apple Inc. Device, method, and graphical user interface for extending functionality of a host application to another application
US9380010B2 (en) 2014-06-03 2016-06-28 International Business Machines Corporation Conversation branching for more efficient resolution
WO2015200350A1 (en) 2014-06-24 2015-12-30 Google Inc. Ranking and selecting images for display from a set of images
WO2016003469A1 (en) 2014-07-03 2016-01-07 Nuance Communications, Inc. System and method for suggesting actions based upon incoming messages
US9082018B1 (en) 2014-09-30 2015-07-14 Google Inc. Method and system for retroactively changing a display characteristic of event indicators on an event timeline
US9043196B1 (en) 2014-07-07 2015-05-26 Machine Zone, Inc. Systems and methods for identifying and suggesting emoticons
US9990105B2 (en) 2014-07-08 2018-06-05 Verizon Patent And Licensing Inc. Accessible contextual controls within a graphical user interface
US20160043817A1 (en) 2014-07-18 2016-02-11 RSS Technologies, LLC Methods and apparatus for locality based broadcasting
EP3757928A1 (en) 2014-07-31 2020-12-30 Samsung Electronics Co., Ltd. Message service providing device and method of providing content via the same
CN104202718A (zh) 2014-08-05 2014-12-10 百度在线网络技术(北京)有限公司 一种向用户提供信息的方法与装置
US10218652B2 (en) 2014-08-08 2019-02-26 Mastercard International Incorporated Systems and methods for integrating a chat function into an e-reader application
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9705832B2 (en) 2014-08-27 2017-07-11 Lenovo (Singapore) Pte. Ltd. Context-aware aggregation of text-based messages
US10447621B2 (en) 2014-09-04 2019-10-15 Microsoft Technology Licensing, Llc App powered extensibility of messages on an existing messaging service
US10146748B1 (en) 2014-09-10 2018-12-04 Google Llc Embedding location information in a media collaboration using natural language processing
JP6561996B2 (ja) 2014-11-07 2019-08-21 ソニー株式会社 情報処理装置、制御方法、および記憶媒体
US20160140477A1 (en) 2014-11-13 2016-05-19 Xerox Corporation Methods and systems for assigning tasks to workers
US9569728B2 (en) 2014-11-14 2017-02-14 Bublup Technologies, Inc. Deriving semantic relationships based on empirical organization of content by users
CN105786455B (zh) 2014-12-17 2020-02-18 深圳市腾讯计算机系统有限公司 一种数据处理方法、装置及终端
US20160179816A1 (en) 2014-12-22 2016-06-23 Quixey, Inc. Near Real Time Auto-Suggest Search Results
US9727218B2 (en) 2015-01-02 2017-08-08 Microsoft Technology Licensing, Llc Contextual browser frame and entry box placement
KR101634086B1 (ko) 2015-01-19 2016-07-08 주식회사 엔씨소프트 감정 분석을 통한 스티커 추천 방법 및 시스템
KR20160089152A (ko) 2015-01-19 2016-07-27 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
US20160224524A1 (en) 2015-02-03 2016-08-04 Nuance Communications, Inc. User generated short phrases for auto-filling, automatically collected during normal text use
US20160226804A1 (en) 2015-02-03 2016-08-04 Google Inc. Methods, systems, and media for suggesting a link to media content
US9661386B2 (en) 2015-02-11 2017-05-23 Google Inc. Methods, systems, and media for presenting a suggestion to watch videos
US10079785B2 (en) 2015-02-12 2018-09-18 Google Llc Determining reply content for a reply to an electronic communication
US20160285816A1 (en) 2015-03-25 2016-09-29 Facebook, Inc. Techniques for automated determination of form responses
US10353542B2 (en) 2015-04-02 2019-07-16 Facebook, Inc. Techniques for context sensitive illustrated graphical user interface elements
US10965622B2 (en) 2015-04-16 2021-03-30 Samsung Electronics Co., Ltd. Method and apparatus for recommending reply message
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US9883358B2 (en) 2015-05-08 2018-01-30 Blackberry Limited Electronic device and method of determining suggested responses to text-based communications
US10909329B2 (en) 2015-05-21 2021-02-02 Baidu Usa Llc Multilingual image question answering
US10504509B2 (en) 2015-05-27 2019-12-10 Google Llc Providing suggested voice-based action queries
US10091140B2 (en) 2015-05-31 2018-10-02 Microsoft Technology Licensing, Llc Context-sensitive generation of conversational responses
KR20160148260A (ko) 2015-06-16 2016-12-26 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10274911B2 (en) 2015-06-25 2019-04-30 Intel Corporation Conversational interface for matching text of spoken input based on context model
US10042866B2 (en) 2015-06-30 2018-08-07 Adobe Systems Incorporated Searching untagged images with text-based queries
US9712466B2 (en) 2015-11-10 2017-07-18 Wrinkl, Inc. Integrating actionable objects into an on-line chat communications platform
WO2017011742A1 (en) 2015-07-15 2017-01-19 Chappy, Inc. Systems and methods for screenshot linking
US20170031575A1 (en) 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Tailored computing experience based on contextual signals
CN105183276A (zh) 2015-08-19 2015-12-23 小米科技有限责任公司 在聊天界面实现游戏的方法、装置及终端设备
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US9467435B1 (en) 2015-09-15 2016-10-11 Mimecast North America, Inc. Electronic message threat protection system for authorized users
US11025569B2 (en) 2015-09-30 2021-06-01 Apple Inc. Shared content presentation with integrated messaging
US10789525B2 (en) 2015-10-02 2020-09-29 Adobe Inc. Modifying at least one attribute of an image with at least one attribute extracted from another image
KR20170048964A (ko) 2015-10-27 2017-05-10 라인 가부시키가이샤 메시지 제공 방법, 장치, 및 컴퓨터 프로그램과, 표시 제어 방법, 장치 및 컴퓨터 프로그램
CN105262675A (zh) 2015-10-29 2016-01-20 北京奇虎科技有限公司 基于电子书进行的聊天控制方法和装置
KR102393928B1 (ko) 2015-11-10 2022-05-04 삼성전자주식회사 응답 메시지를 추천하는 사용자 단말 장치 및 그 방법
US9633048B1 (en) 2015-11-16 2017-04-25 Adobe Systems Incorporated Converting a text sentence to a series of images
US10129193B2 (en) 2015-11-17 2018-11-13 International Business Machines Corporation Identifying relevant content contained in message streams that appear to be irrelevant
US20170147202A1 (en) 2015-11-24 2017-05-25 Facebook, Inc. Augmenting text messages with emotion information
KR102427833B1 (ko) 2015-11-30 2022-08-02 삼성전자주식회사 사용자 단말장치 및 디스플레이 방법
US20170171117A1 (en) 2015-12-10 2017-06-15 International Business Machines Corporation Message Suggestion Using Dynamic Information
KR20180093040A (ko) 2015-12-21 2018-08-20 구글 엘엘씨 메시지 교환 스레드들에 대한 자동적인 제안들
US10757043B2 (en) 2015-12-21 2020-08-25 Google Llc Automatic suggestions and other content for messaging applications
US10732783B2 (en) 2015-12-28 2020-08-04 Microsoft Technology Licensing, Llc Identifying image comments from similar images
KR101712180B1 (ko) 2015-12-29 2017-03-06 라인 가부시키가이샤 메시지를 송수신하기 위한 컴퓨터로 읽을 수 있는 기록매체에 저장된 프로그램, 방법 및 장치
US9560152B1 (en) 2016-01-27 2017-01-31 International Business Machines Corporation Personalized summary of online communications
US20170250935A1 (en) 2016-02-25 2017-08-31 Facebook, Inc. Techniques for messaging bot app interactions
US11477139B2 (en) 2016-02-25 2022-10-18 Meta Platforms, Inc. Techniques for messaging bot rich communication
US20170250930A1 (en) 2016-02-29 2017-08-31 Outbrain Inc. Interactive content recommendation personalization assistant
US20170288942A1 (en) 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Portal for Provisioning Autonomous Software Agents
US10831802B2 (en) 2016-04-11 2020-11-10 Facebook, Inc. Techniques to respond to user requests using natural-language machine learning based on example conversations
US10452671B2 (en) 2016-04-26 2019-10-22 Facebook, Inc. Recommendations from comments on online social networks
US9866693B2 (en) 2016-05-06 2018-01-09 Genesys Telecommunications Laboratories, Inc. System and method for monitoring progress of automated chat conversations
US20170344224A1 (en) 2016-05-27 2017-11-30 Nuance Communications, Inc. Suggesting emojis to users for insertion into text-based messages
CN105898627B (zh) 2016-05-31 2019-04-12 北京奇艺世纪科技有限公司 一种视频播放方法及装置
US10554599B2 (en) 2016-06-12 2020-02-04 Apple Inc. Conversion of detected URL in text message
US10194288B2 (en) 2016-06-12 2019-01-29 Apple Inc. Sticker distribution system for messaging apps
US20170359283A1 (en) 2016-06-12 2017-12-14 Apple Inc. Music creation app in messaging app
US10368208B2 (en) 2016-06-12 2019-07-30 Apple Inc. Layers in messaging applications
US9990128B2 (en) 2016-06-12 2018-06-05 Apple Inc. Messaging application interacting with one or more extension applications
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
US10785175B2 (en) 2016-06-12 2020-09-22 Apple Inc. Polling extension application for interacting with a messaging application
US11088973B2 (en) 2016-06-12 2021-08-10 Apple Inc. Conversion of text relating to media content and media extension apps
US10505872B2 (en) 2016-06-12 2019-12-10 Apple Inc. Messaging application interacting with one or more extension applications
US10852912B2 (en) 2016-06-12 2020-12-01 Apple Inc. Image creation app in messaging app
US20170366479A1 (en) 2016-06-20 2017-12-21 Microsoft Technology Licensing, Llc Communication System
US10254935B2 (en) 2016-06-29 2019-04-09 Google Llc Systems and methods of providing content selection
US10515393B2 (en) 2016-06-30 2019-12-24 Paypal, Inc. Image data detection for micro-expression analysis and targeted data services
US9715496B1 (en) 2016-07-08 2017-07-25 Asapp, Inc. Automatically responding to a request of a user
US20180032499A1 (en) 2016-07-28 2018-02-01 Google Inc. Automatically Generating Spelling Suggestions and Corrections Based on User Context
US10049310B2 (en) 2016-08-30 2018-08-14 International Business Machines Corporation Image text analysis for identifying hidden text
KR20180026983A (ko) 2016-09-05 2018-03-14 삼성전자주식회사 전자 장치 및 그 제어 방법
US10015124B2 (en) 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
CN109952572B (zh) 2016-09-20 2023-11-24 谷歌有限责任公司 基于消息贴纸的建议响应
WO2018057536A1 (en) 2016-09-20 2018-03-29 Google Llc Bot requesting permission for accessing data
WO2018057537A1 (en) 2016-09-20 2018-03-29 Google Llc Bot interaction
US11176931B2 (en) 2016-09-23 2021-11-16 Microsoft Technology Licensing, Llc Conversational bookmarks
CN106484831A (zh) 2016-09-29 2017-03-08 百度在线网络技术(北京)有限公司 搜索系统、方法和装置
US10416846B2 (en) 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US20180196854A1 (en) 2017-01-11 2018-07-12 Google Inc. Application extension for generating automatic search queries
US10146768B2 (en) 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
US10229427B2 (en) 2017-04-10 2019-03-12 Wildfire Systems, Inc. Virtual keyboard trackable referral system
US20180316637A1 (en) 2017-05-01 2018-11-01 Microsoft Technology Licensing, Llc Conversation lens for context
JP7135070B2 (ja) 2017-05-05 2022-09-12 ライブパーソン, インコーポレイテッド 改良されたボットタスク処理のための動的応答予測
US10891485B2 (en) 2017-05-16 2021-01-12 Google Llc Image archival based on image categories
US10827319B2 (en) 2017-06-02 2020-11-03 Apple Inc. Messaging system interacting with dynamic extension app
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022083404A (ja) * 2020-11-24 2022-06-03 Line株式会社 検索方法、コンピュータプログラム、およびコンピュータ装置

Also Published As

Publication number Publication date
CN108781175B (zh) 2021-09-21
US11418471B2 (en) 2022-08-16
WO2017112786A1 (en) 2017-06-29
EP3395018A1 (en) 2018-10-31
CN108781175A (zh) 2018-11-09
US10530723B2 (en) 2020-01-07
US20170180294A1 (en) 2017-06-22
US20200092243A1 (en) 2020-03-19
JP2019508820A (ja) 2019-03-28
JP6638087B2 (ja) 2020-01-29

Similar Documents

Publication Publication Date Title
US11418471B2 (en) Automatic suggestions for message exchange threads
US11502975B2 (en) Automatic suggestions and other content for messaging applications
US11303590B2 (en) Suggested responses based on message stickers
US11887359B2 (en) Content suggestions for content digests for assistant systems
KR102096799B1 (ko) 채팅 대화들에서 임베디드 애플리케이션들과 함께 사용하기 위한 제안된 아이템들
US20200265070A1 (en) Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic
US9946782B2 (en) System and method for message clustering
US20170200128A1 (en) Creating digital events utilizing natural language processing
US10733496B2 (en) Artificial intelligence entity interaction platform
US20150356093A1 (en) Methods and systems relating to ratings
US20130018882A1 (en) Method and System for Sharing Life Experience Information
US20170098283A1 (en) Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source
Wang A mobile world made of functions
WO2015142292A1 (en) Methods and systems for determining similarity between network user profile data and facilitating co-location of network users
TWI897095B (zh) 自然語言訊息處理方法與系統

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20180710

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
AMND Amendment
PG1501 Laying open of application
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190513

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20191125

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20190513

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

X091 Application refused [patent]
AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20191125

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20190712

Comment text: Amendment to Specification, etc.

Patent event code: PX09012R01I

Patent event date: 20190425

Comment text: Amendment to Specification, etc.

Patent event code: PX09012R01I

Patent event date: 20190419

Comment text: Amendment to Specification, etc.

Patent event code: PX09012R01I

Patent event date: 20180711

Comment text: Amendment to Specification, etc.

PX0601 Decision of rejection after re-examination

Comment text: Decision to Refuse Application

Patent event code: PX06014S01D

Patent event date: 20200117

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20191224

Comment text: Decision to Refuse Application

Patent event code: PX06011S01I

Patent event date: 20191125

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20190712

Comment text: Notification of reason for refusal

Patent event code: PX06013S01I

Patent event date: 20190513

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20190425

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20190419

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20180711