Movatterモバイル変換


[0]ホーム

URL:


CN109716727B - Method and system for obtaining permission to access data associated with a user - Google Patents

Method and system for obtaining permission to access data associated with a user
Download PDF

Info

Publication number
CN109716727B
CN109716727BCN201780056982.8ACN201780056982ACN109716727BCN 109716727 BCN109716727 BCN 109716727BCN 201780056982 ACN201780056982 ACN 201780056982ACN 109716727 BCN109716727 BCN 109716727B
Authority
CN
China
Prior art keywords
user
messaging application
data associated
indication
access
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.)
Active
Application number
CN201780056982.8A
Other languages
Chinese (zh)
Other versions
CN109716727A (en
Inventor
谢比恩·冯
理查德·邓恩
安东·沃尔科夫
亚当·罗德里格斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLCfiledCriticalGoogle LLC
Publication of CN109716727ApublicationCriticalpatent/CN109716727A/en
Application grantedgrantedCritical
Publication of CN109716727BpublicationCriticalpatent/CN109716727B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromChinese

对消息应用机器人的许可控制和管理被描述,且包括在与第一用户相关联的第一计算设备上提供消息应用,以使第一用户与另一用户之间的通信,以及在消息应用处检测用户请求,以编程方式确定响应于用户请求的动作需要访问与第一用户相关联的数据,并使许可界面呈现在消息应用中,许可界面使第一用户能够批准或禁止访问与第一用户相关联的数据,并在从第一用户收到指示批准访问与第一用户相关联的数据的用户输入后,访问与第一用户相关联的数据并响应于用户请求执行动作的步骤。

Figure 201780056982

Permission control and management of a messaging application bot is described and includes providing a messaging application on a first computing device associated with a first user to enable communications between the first user and another user, and at the messaging application Detects the user request, programmatically determines that an action in response to the user request requires access to data associated with the first user, and causes a permission interface to be presented in the messaging application, the permission interface enables the first user to approve or disallow access to data associated with the first user The steps of accessing the data associated with the first user and performing an action in response to the user request after receiving user input from the first user indicating approval to access the data associated with the first user.

Figure 201780056982

Description

Method and system for obtaining permission to access data associated with a user
RELATED APPLICATIONS
The present application claims the benefit of U.S. application No.62/397, 047 entitled "robot licensing" filed on 9/20/2016, which is hereby incorporated by reference in its entirety.
Background
Users use messaging services for messaging sessions, such as chat, instant messaging, and the like. The messaging session may be conducted using any user device, such as a computer, mobile device, wearable device, and the like. Automatic assistants with message conversations or tasks (e.g., via a bot or other automatic assistant application) may be used to improve efficiency as users use the message application to conduct more conversations and perform more tasks. While automation can help make messaging more efficient for users, there may be a need to manage permissions relating to when and how a messaging bot accesses user information and which user information the messaging bot is allowed to access.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Disclosure of Invention
Some embodiments may include a computer-implemented method that includes providing a messaging application on a first computing device associated with a first user to enable communication between the first user and at least one other user, and detecting a user request at the messaging application. The method may also include programmatically determining that an action in response to the user request requires access to data associated with the first user, and causing a permission interface to be presented in the messaging application on the first computing device, the permission interface enabling the first user to grant or disallow access to the data associated with the first user. The method may also include, upon receiving user input from the first user indicating approval to access the data associated with the first user, accessing the data associated with the first user and performing an action in response to the user request.
The method may also include providing, in the messaging application, an indication to not perform the action upon receiving user input from the first user prohibiting access to data associated with the first user. In some implementations the first user may comprise a human user and the at least one other user may comprise a secondary agent.
In some implementations, the first user is a human user and the at least one other user includes a second human user, the second human user being different from the first user and associated with a second computing device. The permission interface may be presented in a messaging application on a first computing device associated with a first user and the permission interface is not displayed on a second computing device associated with a second human user.
The method may further comprise: upon receiving user input from the first user that prohibits access to data associated with the first user, providing a first indication for presentation on a first computing device associated with the first user. The method may also include providing a second indication for presentation on a second computing device associated with the at least one other user, the first indication and the second indication indicating a failure to service the user request, wherein the first and second indications are different.
In some embodiments, the first and second indications may include one or more of: different text content, different styles and different formats. In some implementations, the first user includes a human user and the at least one other user includes a second human user different from the first user and an auxiliary agent. The user request may be received from a first computing device associated with a first user. The method may further include initiating a separate session in the messaging application in response to a user request. The separate session may include the first user and the auxiliary agent, and may not include the second human user.
In some implementations, detecting the user request includes analyzing one or more messages received from one or more of the first user and the at least one other user in the messaging application. The one or more messages may include one or more of a text message, a multimedia message, and a command to the secondary proxy. Performing the action in response to the user request may include providing one or more suggestions to the first messaging application.
The method may also include causing the one or more suggestions to be presented in a messaging application. The one or more suggestions may be presented as suggestion elements that, when selected by the first user, cause details about the suggestions to be displayed.
Some embodiments may include a computer-implemented method. The method may include detecting a user request at a messaging application and programmatically determining that an action responsive to the user request requires access to data associated with a first user. The method may also include presenting a permission interface in the messaging application on the first computing device, the permission interface enabling the first user to grant or disallow access to data associated with the first user. The method may also include, upon receiving approval from the first user at the permission interface, accessing data associated with the first user and performing an action in response to the user request.
The method may also include, upon receiving user input from the first user prohibiting access to data associated with the first user, providing an indication in the messaging application that the task is not to be performed. The method may also include providing, upon receiving user input from the first user prohibiting access to data associated with the first user, a first indication for presentation in the messaging application. The method may also include providing a second indication for presentation in a second messaging application associated with the at least one other user, the first and second indications indicating a failure to service the user request, wherein the first and second indications are different.
Some implementations may include a system comprising one or more processors coupled to a non-transitory computer-readable medium having instructions stored thereon, which, when executed by the one or more processors, cause the one or more processors to perform operations. The operations may include providing a messaging application on a first computing device associated with a first user to enable communication between the first user and at least one other user, and detecting a user request at the messaging application. The operations may also include programmatically determining that an action in response to the user request requires access to data associated with the first user, and causing a permission interface to be presented in the messaging application on the first computing device, the permission interface enabling the first user to grant or disallow access to the data associated with the first user. The operations may also include, upon receiving user input from the first user indicating approval to access the data associated with the first user, accessing the data associated with the first user and performing an action in response to the user request.
The operations may also include, upon receiving user input from the first user prohibiting access to data associated with the first user, then providing an indication in the messaging application that no action is to be performed. In some implementations, the first user can include a human user and the at least one other user can include a secondary agent. In some implementations, the first user may include a human user and the at least one other user may include a second human user, different from the first user, associated with a second computing device. The permission interface may be presented in a messaging application on a first computing device associated with a first user, and the permission interface is not displayed on a second computing device associated with a second human user.
Drawings
FIG. 1 illustrates a block diagram of an example environment in which messages may be exchanged between a user and a bot, according to some embodiments.
Fig. 2 is a diagram of an example arrangement of user equipment and robot communication, according to some embodiments.
Fig. 3 is a diagram of an example arrangement of user equipment and robot communication, according to some embodiments.
Fig. 4 is a diagram of an example arrangement of user equipment and robot communication, according to some embodiments.
FIG. 5 is a flow diagram of an example method of managing robot permissions, according to some embodiments.
FIG. 6 is a diagram of an example user interface with a robot message, according to some embodiments.
FIG. 7 is a diagram of an example user interface with a robot message, according to some embodiments.
FIG. 8 is a flow diagram of an example method of managing robot permissions, according to some embodiments.
FIG. 9 is a diagram of an example computing device configured to manage robotic permissions, according to some embodiments.
Detailed Description
One or more embodiments described herein relate to admission control and management of a message application robot.
FIG. 1 illustrates a block diagram of anexample environment 100 for providing a messaging service that, in some embodiments, enables and provides automated assisted brokering, e.g., robotics. Theexemplary environment 100 includes a message server 101, one ormore client devices 115a, 115n, a server 135, and a network 140. The users 125a-125n may be associated withrespective client devices 115a, 115 n. The server 135 may be a third party server, e.g., controlled by a party other than the party providing the messaging service. As described in further detail below, in various embodiments, the server 135 may implement a robotic service. In some implementations, theenvironment 100 may not include one or more of the servers or devices shown in fig. 1, or may include other servers or devices not shown in fig. 1. In fig. 1 and the remaining figures, the letter following the reference number, e.g., "115 a," represents a reference to the element having that particular reference number. Reference numbers without subsequent letters in the text, such as "115," indicate general references to embodiments of the element bearing the reference number.
In the illustrated embodiment, the message server 101, the client device 115, and the server 135 are communicatively coupled via a network 140. In various embodiments, network 140 may be of a conventional type, wired or wireless, and may have many different configurations, including a star configuration, a token ring configuration, or other configurations. Further, network 140 may include a Local Area Network (LAN), a Wide Area Network (WAN) (e.g., the internet), and/or other interconnected data paths over which multiple devices may communicate. In some implementations, the network 140 may be a peer-to-peer network. The network 140 may also be coupled to or comprise a portion of a telecommunications network for transmitting data in a variety of different communication protocols. In some embodiments, network 140 includes
Figure GDA0003135554930000041
A communication network,
Figure GDA0003135554930000042
Or a cellular communication network for sending and receiving data, including via Short Message Service (SMS), Multimedia Message Service (MMS), hypertext transfer protocol (HTTP), direct data connection, email, etc. Although FIG. 1 shows one network 140 coupled to the client device 115, the message server 101, and the server 135, in practiceOne or more networks 140 may be coupled to these entities.
The message server 101 may include a processor, memory, and network communication capabilities. In some embodiments, the message server 101 is a hardware server. In one embodiment, the message server 101 may be embedded in a virtual environment, for example, the message server 101 may be a virtual machine running on a hardware server, which may include one or more other virtual machines. The message server 101 is communicatively coupled to the network 140 by asignal line 102. Thesignal line 102 may be a wired connection, such as ethernet, coaxial cable, fiber optic cable, etc., or a wireless connection, such as Wi-Fi, bluetooth, or other wireless technology. In some implementations, the message server 101 sends data to and receives data from one or more of the client devices 115a-115n, the server 135, and the robot 113 via the network 140. In some implementations, the message server 101 can include a message application 103a that provides client functionality to enable users (e.g., any of the users 125) to exchange messages with other users and/or with the bot. The messaging application 103a may be a server application, a server module of a client-server application, or a distributed application (e.g., having a corresponding client messaging application 103b on one or more client devices 115).
The message server 101 may also include a database 199 that may store messages exchanged via the message server 101, data and/or configurations of one or more robots, and user data associated with one or more users 125, all depending on explicit permissions of the respective users to store such data. In some embodiments, the message server 101 may include one or more secondary agents, such as robots 107a and 111. In other embodiments, the secondary proxy may be implemented on the client device 115a-n instead of on the message server 101.
The messaging application 103a may be code and routines operable by the processor to enable messages to be exchanged between the user 125 and one or more of therobots 105, 107a, 107b, 109a, 109b, 111 and 113. In some embodiments, the messaging application 103a may be implemented using hardware including a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC). In some embodiments, messaging application 103a may be implemented using a combination of hardware and software.
In various implementations, the database 199 may store messages exchanged between one or more client devices 115 when respective users associated with the client devices 115 provide consent for the storage of the messages. In some implementations, the database 199 may store messages exchanged between one or more client devices 115 and one or more bots implemented on different devices, such as another client device, the message server 101, and the server 135, etc., when the respective users associated with the client devices 115 provide consent for the storage of the messages. In embodiments where one or more users are not subscribed to, messages received and sent by those users are not stored.
In some implementations, for example, the message can be encrypted such that only the sender and recipient of the message can view the encrypted message. In some embodiments, the message is stored. In one embodiment, database 199 may further store the configuration and/or data of one or more robots, such as robot 107a, robot 111, etc. In some implementations, when a user 125 provides consent to store user data (e.g., social network data, contacts, images, etc.), database 199 may also store user data associated with the respective user 125 providing such consent.
In some implementations, the messaging application 103a/103b can provide a user interface that enables the user 125 to create a new robot. In these embodiments, the messaging applications 103a/103b may include functionality that enables user-created bots to be included in conversations between users of the messaging applications 103a/103 b.
The client device 115 may be a computing device including memory and a hardware processor, such as a camera, laptop, tablet, mobile phone, wearable device, mobile email device, portable game console, portable music player, reader device, head mounted display, or other electronic device capable of wirelessly accessing the network 140.
In the illustrated embodiment, client device 115a is coupled to network 140 viasignal line 108, andclient device 115n is coupled to network 140 viasignal line 110. The signal lines 108 and 110 may be wired connections, such as Ethernet, or wireless connections, such as Wi-Fi, Bluetooth, or other wireless technologies.Customer premises devices 115a, 115n are accessed by users 125a, 125n, respectively. Theclient devices 115a, 115n in fig. 1 are used as examples. Although fig. 1 shows twoclient devices 115a and 115n, the present disclosure is applicable to a system architecture having one or more client devices 115.
In some implementations, the client device 115 can be a wearable device worn by the user 125. For example, client device 115 may be included as part of a bracelet (clip) (e.g., a bracelet), part of jewelry, or part of a pair of glasses. In another example, the client device 115 may be a smart watch. In various implementations, the user 125 may view messages from the messaging applications 103a/103b on a display of the device, may access messages via a speaker or other output device of the device, and so forth. For example, the user 125 may view information on a display screen of a smart watch or smart bracelet. In another example, the user 125 may access the message via a headset (not shown) coupled to or part of the client device 115, a speaker of the client device 115, a haptic feedback element of the client device 115, or the like.
In some implementations, the messaging application 103b is stored on the client device 115 a. In one implementation, the messaging application 103b (e.g., thin client application, client module, etc.) may be a client application stored on the client device 115a with a corresponding messaging application 103a (e.g., server application, server module, etc.) stored on the messaging server 101. For example, messaging application 103b may transmit a message created by user 125a on client device 115a to messaging application 103a stored on messaging server 101.
In some embodiments, messaging application 103a may be a standalone application stored on messaging server 101. The user 125a may access the messaging application 103a via a web page using a browser or other software on the client device 115 a. In some implementations, the messaging application 103b implemented on the client device 115a can include the same or similar modules as included on the message server 101. In some implementations, the messaging application 103b may be implemented as a standalone client application, for example, in a peer-to-peer or other configuration where one or more client devices 115 include functionality capable of exchanging messages with other client devices 115. In these embodiments, the message server 101 may include limited or no message functionality (e.g., client authentication, backup, etc.). In some embodiments, message server 101 may implement one or more robots, such as robot 107a and robot 111.
Server 135 may include a processor, memory, and network communication capabilities. In some implementations, the server 135 is a hardware server. Server 135 is communicatively coupled to network 140 bysignal line 128. Thesignal line 128 may be a wired connection, such as ethernet, coaxial cable, fiber optic cable, etc., or a wireless connection, such as Wi-Fi, bluetooth, or other wireless technology. In some implementations, the server 135 sends and receives data to one or more of the client device 115 and the message server 101 via the network 140. Although server 135 is shown as one server, various embodiments may include one or more servers 135. Server 135 may implement one or more robots as server applications or server modules, such as robot 109a and robot 113.
In various embodiments, the server 135 may be part of the same entity that manages the message server 101, e.g., a provider of message services. In some implementations, the server 135 can be a third party server, for example, controlled by an entity different from the entity providing the messaging application 103a/103 b. In some implementations, the server 135 provides or hosts the robot.
A bot is an automated service implemented on one or more computers with which a user interacts primarily through text, such as through a messaging application 103a/103 b. The bot may be implemented by a bot provider so that the bot may interact with users of various messaging applications. In some embodiments, the provider of the messaging application 103a/103b may also provide one or more bots. In some embodiments, the bot provided by a provider of a messaging application 103a/103b may be configured such that the bot may be included in other messaging applications, such as provided by other providers. The robot may provide several advantages over other modes. For example, the bot may allow a user to attempt a new service (e.g., a taxi booking service, a restaurant booking service, etc.) without installing an application on the client device or accessing a website. Further, the user may interact with the robot through text, requiring minimal or no learning, as compared to what is required using a website, software application, telephone call such as an Interactive Voice Response (IVR) service, or other means of interacting with the service. The incorporation of robots in messaging services or applications may also allow users to collaborate with other users to accomplish various tasks within the messaging service, such as travel planning, shopping, scheduling events, obtaining information, etc., and eliminate cumbersome operations, such as switching between various applications (e.g., taxi reservation applications, restaurant reservation applications, calendar applications, etc.) or websites to accomplish tasks.
The bot may be implemented as a computer program or application (e.g., a software application) that is configured to interact with one or more users (e.g., any of users 125 a-n) via messaging application 103a/103b to provide information or perform particular actions in messaging application 103. As one example, the information retrieval bot may search for information on the internet and present the most relevant search results within the message app. As another example, the travel robot may have the ability to make travel arrangements through the message application 103, for example, by enabling purchases of travel and hotel tickets within the message app, making hotel reservations within the message app, making rental car reservations within the message app, and so forth. As another example, a taxi robot may have a location to call out a taxi, e.g., to a user (obtained by the taxi robot from the client device 115 when the user 125 allows access to the location information), without having to invoke or call a separate taxi booking app. As another example, the coaching/coaching robot may coach the user, for example, by asking questions that may appear on an examination and providing feedback as to whether the user's response is correct, to guide the user on certain topics within the message app. As another example, a gaming robot may play a game within a message app with the user's counterpart cube or the same party. As another example, a commercial robot may provide services from a particular merchant, for example, by retrieving product information from the merchant's catalog and being able to purchase through a message app. As another example, the interface bot may engage the remote device or vehicle so that a user of the message app can chat with the remote device or vehicle, retrieve information from the remote device or vehicle, and/or provide instructions to the remote device or vehicle.
The capabilities of the robot may include understanding the intent of the user and operating on it. The user's intent can be understood by analyzing and understanding the user's conversation and its context. The robot may also understand a changing context of the session or a changing user emotion and/or intent based on the session evolving over time. For example, if user a suggests to meet and drink coffee, but if user B states that he does not like coffee, the robot may assign a negative emotional score to user B for coffee, and may not suggest a coffee shop for meeting.
Implementing a bot that can communicate with a user of a messaging application 103a/103b can provide a number of advantages. Traditionally, a user may utilize a software application or a website to conduct activities such as paying bills, ordering food, booking tickets, and the like. A problem with this implementation is that the user needs to install or use multiple software applications and websites to perform multiple activities. For example, the user may have to install different software applications to pay a utility bill (utility bill) (e.g., from a utility company), purchase a movie ticket (e.g., a ticketing application from a ticketing services provider), book a restaurant (e.g., from a corresponding restaurant), or may need to access a corresponding website for each event. Another problem with such an implementation is that the user may need to learn a complex user interface, such as one implemented using multiple user interface elements such as windows, buttons, check boxes, dialog boxes, and so forth.
Thus, one or more of the described embodiments have the advantage that a single application enables a user to perform activities involving interaction with any number of participants without having to visit a separate website or install and run a software application, with the technical effect of reducing the consumption of memory, storage and processing resources on the client device. An advantage of the described embodiments is that the conversational interface makes it easier and faster for the user to complete such activities, e.g. without having to learn a complex user interface, which has the technical effect of reducing the consumption of computing resources. Another advantage of the described embodiments is that implementing the bot may enable the various participating entities to provide user interactions at a lower cost, which has the technical effect of reducing the need for deployed computing resources to enable user interactions, such as toll-free phones implemented using one or more communication servers, websites hosted on one or more web servers, customer-supported emails hosted on email servers, and so forth. Another technical effect of the described features is the problem of reducing the consumption of system processing and transmission resources required to complete user tasks over a communication network.
While certain examples herein describe interactions between a robot and one or more users, various types of interactions are possible, such as a one-to-one interaction between a robot and a user 125, a one-to-many interaction between a robot and two or more users (e.g., in a group message session), a many-to-one interaction between multiple robots and users, and a many-to-many interaction between multiple robots and multiple users. Further, in some embodiments, the robots may also be configured to interact with another robot (e.g., robots 107a/107b, 109a/109b, 111, 113, etc.) via the messaging application 103, via direct communication between robots, or a combination. For example, a restaurant reservation robot may interact with a robot of a particular restaurant to reserve a table.
In some embodiments, the bot may use a conversation interface to interact with a user conversation using natural language. In some embodiments, the robot may use a template-based format to create sentences that interact with the user, for example, using a template such as "restaurant R is L in location" in response to a request for a restaurant address. In some cases, the user may be enabled to select a robot interaction format, e.g., whether the robot interacts with the user using natural language, whether the robot uses template-based interactions, etc.
In the case of a bot interacting using a natural language conversation, the content and/or style of the interaction of the bot may dynamically change based on one or more of: the content of the conversation determined using natural language processing, the identity of the users in the conversation, and the context of one or more conversations (e.g., historical information about the interactions of the users, connections between the users in the social graph-based conversation), external conditions (e.g., weather, traffic), the schedule of the users, related contexts associated with the users, etc. In these cases, the content and style of the interaction of the bot only changes based on these factors to which the users participating in the session have provided consent.
As one example, if it is determined that the user of the session is in a formal language (e.g., slang or emoticons, none or minimal), the bot may also interact within the session in the formal language, and vice versa. As another example, if it is determined (based on current and/or past sessions) that the user in the session is a heavy user of emoticons, the robot may also interact with the user using one or more emoticons. As another example, if it is determined that two users in a conversation are remotely connected in a social graph (e.g., have two or more intermediate nodes between them, indicating that they are friends of friends), the bot may use a more formal language in the conversation. In the event that the user participating in the session does not agree that the bot utilizes factors such as the user's social graph, calendar, location, or other contexts associated with the user, the content and style of the interaction of the bot may be a default style, e.g., a neutral style that does not require the use of these factors.
Further, in some embodiments, one or more robots may include functionality to engage in back and forth conversations with a user. For example, if a user requests information about a movie, for example by entering "@ moviebot you can recommend a movie? "the robot" moviebot "may reply with" do you like comedy? The "user may then reply, e.g.," no ", the robot may reply with" OK ". Science fiction movies named "space and stars" have obtained a good evaluation. Is you to order? "the user may then indicate" good, i can go after 6 pm. Please check if Steve can go together ". Once the user agrees to the bot to access information about their contacts and the friend steve agrees to receive messages from the bot, the bot may send a message to the user's friend steve and take further action to book movie tickets for the appropriate time.
In some embodiments, users participating in a session may be enabled to invoke particular robots or robots performing particular tasks, such as by typing in a robot name or robot handle (e.g., taxi, @ taxbot, @ movies, etc.), by using voice commands (e.g., "call bank robots," etc.), by activating user interface elements (e.g., buttons or other elements labeled with robot name or handle), etc. Once the bot is invoked, the user 125 may send a message to the bot through the messaging application 103a/103b in a manner similar to sending messages to other users 125. For example, to order a taxi, the user may type "@ taxi to me taxi"; to book a hotel, the user may type "@ hotelbot to book a 4-person table at a chinese restaurant near me".
In some embodiments, the bot may automatically suggest information or actions within the message session without being specifically invoked. That is, the user may not need to specifically invoke the robot. In these embodiments, the robot may be session-based analysis and understanding on a continuous basis or at discrete points in time. The analysis of the session can be used to understand specific user needs and to determine when help should be suggested by the robot. As one example, if it is determined that a user needs information (e.g., based on the user asking another user a question, based on multiple users indicating that they do not have some information), the robot may search for some information and suggest an answer. As another example, if it is determined that multiple users indicate an interest in eating a chinese meal, the robot may automatically suggest a group of chinese restaurants near the user, including option information such as location, rating, and website links for the restaurants.
In some embodiments, one or more users may be automatically suggested in a message session to invoke one or more robots, as opposed to automatically invoking a robot or waiting for a user to explicitly invoke a robot. In these embodiments, the sessions may be analyzed on a continuous basis or at discrete points in time, and the analysis of the sessions may be used to understand specific user needs and identify when robots should be suggested within the sessions.
In embodiments where the bot may automatically suggest information or actions within a message conversation without being specifically invoked, such functionality may be disabled, for example, if one or more users participating in the message conversation disagree with the bot analyzing the user's conversation. Further, such functionality may also be temporarily disabled based on user input. For example, when the user indicates that the session is private or sensitive, the analysis of the context of the session is suspended until the user provides input that activates the robot. Further, an indication that the analytics functionality is disabled may be provided to the participants in the session, for example, with a user interface element.
In various embodiments, the robot may be implemented in various configurations. For example, as shown in fig. 1,robot 105 is implemented on client device 115 a. In this example, the bot may be a module in a software application local to the client device 115 a. For example, if the user installs a taxi taking application on the client device 115a, the robot functionality may be incorporated as a module into the taxi taking application. In this example, the user may invoke the taxi robot, for example, by sending a message "@ taxi to me". The messaging application 103b may automatically cause the robot module in the taxi taking application to start. In this manner, the bot may be implemented locally on the client device such that a user may join a session with the bot through messaging application 103.
In another example shown in fig. 1, robot 107a is shown as being implemented on client device 115a androbot 107b is shown as being implemented on message server 101. In this example, the robot may be implemented as, for example, a client-server computer program with portions of the robot functionality provided by each of the robot 107a (server module) and therobot 107b (client module). For example, if the robot is a scheduling robot with a handle @ calendar, user 115a may schedule the reminder by typing "@ calendar reminding me to wash the clothes overnight", which may be handled byrobot 107b (client module). Continuing with the example, if the user 115a tells the bot "check if Jim is available to meet at 4", the bot 107a (server module) may contact the user Jim (or Jim's scheduling bot) to exchange messages and provide a reply to the user 115 a.
In another example, robot 109a (server module) is implemented on server 135 and robot 109b (client module) is implemented on client device 115. In this example, the robot functionality is provided by a module implemented on a server 135 and client device 115 that is different from the message server 101. In some implementations, the bot may be implemented as, for example, a distributed application having modules distributed across multiple client devices and servers (e.g., client device 115, server 135, message server 101, etc.). In some embodiments, the robot may be implemented as a server application, such as robot 111 implemented on message server 101 and robot 113 implemented on server 135.
Different embodiments, such as client only, server only, client-server, distributed, etc., may provide different advantages. For example, a client-only implementation allows for providing robot functionality locally, e.g., without network access, which may be advantageous in certain environments, e.g., when a user is outside of a network coverage area, or in any area with low or limited network bandwidth. Embodiments including one or more servers, such as server-only, client-server, or distributed configurations, may allow certain functions, such as financial transactions, ticketing reservations, etc., that may not be provided locally at the client device.
Although fig. 1 shows a different bot than messaging application 103, in some embodiments, one or more bots may be implemented as part of messaging application 103. In embodiments where the robot is implemented as part of the messaging application 103, the user permission is obtained prior to implementing the robot. For example, where the bot is implemented as part of a message application 103a/103b, the message application 103a/103b may provide a bot capable of performing certain activities, such as a translation bot that translates incoming and outgoing messages, a scheduled bot that schedules events on a user's calendar, and the like. In this example, the translation bot can only be activated depending on the particular permissions of the user. If the user does not provide consent, the bot within messaging application 103a/103b is not implemented (e.g., disabled, removed, etc.). If the user provides consent, the bot or messaging application 103a/103b may have limited use of messages exchanged between users through the messaging application 103a/103b to provide specific functions, such as translation, scheduling, and the like.
In some embodiments, a third party other than the provider of the messaging application 103a/103b and the user 125 may provide a bot for a particular purpose that may communicate with the user 125 through the messaging application 103a/103 b. For example, a taxi service provider may provide a taxi robot, a ticketing service may provide a robot that can book tickets for an event, a banking robot may provide the ability to conduct financial transactions, and so on.
When the bot is implemented through the messaging application 103, the bot is allowed to communicate with the user only if authorized by the particular user. For example, if a user invokes a robot, the robot may answer, for example, based on the user invoking the action of the robot. In another example, the user may indicate a particular robot or a particular type of robot that the user may be contacted. For example, the user may allow the travel robot to communicate with her, but not provide authorization for the shopping robot. In this example, the messaging application 103a/103b may allow the travel robot to exchange messages with the user, but filter or reject messages from the shopping robot.
Further, to provide some functionality (e.g., ordering a taxi, making a flight reservation, contacting a friend, etc.), the robot may request that the user allow the robot to access user data, such as location, payment information, a contact list, etc. In this case, the user is presented with an option to allow or deny access to the robot. If the user refuses access, the robot may reply with a message, such as "sorry, i cannot reserve a taxi for you. "additionally, the user may provide access to information on a limited basis, for example, the user may allow a taxi robot to access the current location only when a particular robot calls, but not otherwise. In various embodiments, the user may control the type, amount, and granularity of information that the bot may access, and have the ability to change such permissions at any time (e.g., through a user interface). In some embodiments, the user data may be processed before the robot can access such data, e.g., to remove personally identifiable information, limit information to specific data elements, etc. Further, the user may control the use of user data through the messaging application 103a/103b and one or more robots. For example, a user may specify that a robot providing the ability to conduct financial transactions requires user authorization before completing the transaction, e.g., the robot may send a ticket for the message "movie" space and stars "at $ 12 each. Do i want to continue with the subscription? The optimal price for the "or" shirt is $ 125, which includes shipping costs. Does i deduct money from the credit card with tail number 1234? "and the like.
In some implementations, the messaging application 103a/103b can also provide one or more suggestions, such as suggestion replies, to the user 125 via the user interface (e.g., as buttons or other user interface elements). Suggesting a reply may enable faster interaction, for example, by reducing or eliminating the need for the user to type a response. The suggested reply may enable the user to reply to the message quickly and easily, for example, when the client device lacks text entry functionality (e.g., a smart watch that does not include a keyboard or microphone). The suggested reply may also enable the user to quickly reply to the message, for example, when the user selects the suggested reply (e.g., by selecting a corresponding user interface element on the touch screen). The suggested reply may be generated using a predictive model, such as a machine learning model trained to generate the reply.
For example, messaging applications 103a/103b can implement machine learning, such as a deep learning model, which can enhance user interaction with messaging application 103. The machine learning model may be trained using synthetic data, such as data that is automatically generated by a computer without the use of user information. In some implementations, the machine learning model can be trained, for example, based on sample data, where permissions trained using user data have been explicitly obtained from the user. For example, the sample data may include a received message and a reply sent to the received message. Based on the sample data, the machine learning model may predict a reply to the received message, which may then be provided as a suggested reply. For example, by providing a selection of replies tailored based on the received message and the user's context, user interaction is enhanced by reducing the burden on the user to organize the replies to the received message. For example, when the user provides consent, the suggestion reply may be customized based on the user's previous activities, such as messages earlier in the conversation, messages in a different conversation, and so forth. For example, such activity may be used to determine an appropriate suggested reply to the user, e.g., an interesting reply, a formal reply, etc., based on the user's interaction style. In another example, when the user specifies one or more preferred languages and/or regions, the messaging application 103a/103b can generate a suggestion reply in the user's preferred language. In various examples, the suggested reply may be a text reply, an image, multimedia, and so on.
In some implementations, machine learning can be implemented on the message server 101, on the client device 115, or on both the message server 101 and the client device 115. In some implementations, simple machine learning models can be implemented on the client device 115 (e.g., allowing the models to operate within the memory, storage, and processing constraints of the client device), and complex machine learning models can be implemented on the message server 101. If the user does not agree to use machine learning techniques, such techniques are not implemented. In some implementations, the user may selectively provide consent for machine learning that is only implemented on the client device 115. In these implementations, machine learning may be implemented on the client device 115 such that updates to the machine learning model or user information used by the machine learning model are stored or used locally and are not shared with other devices, such as the message server 101, the server 135, or other client devices 115.
For users who agree to receive suggestions, e.g., based on machine learning techniques, the suggestions may be provided by messaging application 103. For example, the suggestions may include suggestions of content (e.g., movies, books, etc.), schedules (e.g., available time on the user's calendar), events/places (e.g., restaurants, concerts, etc.), and so on. In some implementations, the suggestion can include a suggested reply to the incoming message based on the content of the session if the users participating in the session agree to use the session data. For example, if the first of two users who have agreed to a suggestion based on session content sends a message "do you want to eat something? How about italian dish? ", a reply may be suggested to the first user, e.g.," @ Assistant lunch, Italian dish, 2-person table ". In this example, the suggestion reply includes the robot (identified by the symbol @ and the robot handle assistant). If the first user selects the reply, the assistant bot is added to the session and a message is sent to the bot. The reply from the bot may then be displayed in the session, and either of the two users may send a further message to the bot. In this example, the assistant bot is not provided access to the conversation content, and the suggested reply is generated by messaging application 103.
In some implementations, the content of the suggested reply can be customized based on whether the bot is already present in the conversation or can be incorporated into the conversation. For example, if it is determined that the travel robot can be incorporated into the message app, a suggested reply to the question regarding the cost of the flight ticket to France might be "let us ask the travel robot! "
In various embodiments, a suggestion, such as a suggestion reply, may include one or more of the following: text (e.g., "excellent |), emoticons (e.g., smiley face, pozzy face, etc.), images (e.g., photographs from a user's photo library), text generated based on a template in which user data is inserted into a field of the template (e.g.," her number is < phone number > ", if the user provides access to the user data in which the field" phone number "is filled out based on the user data), links (e.g., uniform resource locators), etc., in some embodiments, the suggestion reply may be formatted and/or stylized, for example, using color, font, layout, etc. For example, a suggested reply that includes a recommendation for a movie may include descriptive text about the movie, images from the movie, and a link to buy tickets. In different embodiments, the suggested reply may be presented as a different type of user interface element, such as a text box, an information card, and so forth.
In various embodiments, the user may control whether they receive suggestions, what types of suggestions they receive, how often the suggestions are made, and the like. For example, the user may refuse to receive suggestions altogether, or may select a particular type of suggestion, or only receive suggestions at certain times of the day. In another example, the user may choose to receive personalized suggestions. In this example, machine learning may be used to provide suggestions based on user preferences regarding their use of data and use of machine learning techniques.
Fig. 2 is a diagram of an example arrangement of one user device and one robot or auxiliary agent in communication, according to some embodiments. In the example arrangement shown in fig. 2, a user device 202 (e.g., 115a-115n in fig. 1) is in a one-to-one session with a robot 204 (e.g., 105, 107a, 107b, 109a, 109b, 111, and/or 113)). A user associated with the user device 202 (e.g., the users 125a-125n) may invoke the bot 204 and join a communication session with the bot 204. Alternatively, the bot 204 may automatically initiate a communication with the user associated with theuser device 202. It should be understood that "user" as described in the examples refers to a human user. However, it should also be understood that the user may include a computer or other non-human system, and that communication between the user and the robot may include communication between the human user and the robot, between a non-human, such as a computer (e.g., a software application running on a computer, etc.), and the robot, and/or between one or more robots and one or more other robots.
Fig. 3 is a schematic diagram of an example arrangement of two or more user devices and a single robot or auxiliary agent in communication, according to some embodiments. In the example arrangement shown in fig. 3, the user device 302 (e.g., 115a-115n in fig. 1) may be in a group message session that includes a bot 308 (e.g., 105, 107a, 107b, 109a, 109b, 111, and/or 113). One or more of the users associated with the user devices 302-306 (e.g., one or more of the users 125a-125n) may interact with the bot 308 and join a communication session with the bot 308. Some or all of the communications from the robots may be placed in a group message session. Moreover, some of the information provided to and from the robot 308 may be available only to, for example, be displayed to, a user associated with the information. The bot 308 may automatically initiate communication with one or more of the users associated with theuser devices 302 and 306.
Fig. 4 is a schematic diagram of an example arrangement of two or more user devices and two or more robots or auxiliary agents in communication, according to some embodiments. In the example arrangement shown in fig. 4, theuser device 402 and optionally 404 (e.g., 115a-115n in fig. 1) may be in a group message session that includes a plurality of bots 406 and 408 (e.g., 105, 107a, 107b, 109a, 109b, 111, and/or 113 in fig. 1). One or more of the users associated with the user devices 402-404 (e.g., one or more of the users 125a-125n) may interact with one or both of the bots 406-408 and join the communication session with the bots 406-408. Some or all of the communications from the robots may be placed in a group message session. Moreover, some of the information provided to and from bots 406 and 408 may be available only for display, for example, to a user associated with the information. The bot 406 and 408 can automatically initiate communication with one or more of the users associated with theuser device 402 and 404.
FIG. 5 is a flow diagram of an example method of managing robot permissions, according to some embodiments. Processing begins at 502, where a request from a user is received at a robot. The request may include a requested task to be performed by the robot. In some embodiments, the request may be a command to the robot. For example, a request containing a command to the reservation robot might be "@ reservationbot to find a nearby hotel," a request containing a command to the assistant robot might be "@ assistant to send my flight details to Jim," and so on. In this example, the robot is identified by a robot handle, e.g., the "@" symbol is followed by the name of the robot (e.g., reservationbot, Assistant, etc.) in order to perform a task and/or provide a response to a request, the robot may need to access user data. The user and the robot may be in a one-to-one communication arrangement (e.g., fig. 2). For example, a user may request a car pickup service, and a car service robot may need to know the user's location in order to determine which cars are available to pick up the user. In another example, a user may wish to book a hotel in a nearby hotel, and the hotel reservation robot may need to know the user's location. In yet another example, the bot may provide the user with a suggested reply that includes shared user information (e.g., photos, calendar entries, flight schedules, etc.), and the suggested bot may need to obtain permission from the user to access data that may be helpful to the suggested reply and provide such data as the actual reply. The request may be a request from a user, or may be an automatically generated request (e.g., from a suggestion reply robot, etc.). Processing continues to 504.
At 504, the permission user interface element is displayed to the user associated with the request. An example of a permission request user interface element is shown in FIG. 6 and described below. The permission user interface element may also be presented as an audio prompt or using other user interfaces and/or output methods. Processing continues to 506. At 506, an indication is received whether the user grants permission for the bot to access or obtain user data. An indication may be received in the form of a user interface element selection (e.g., touching, tapping, selecting an on-screen user interface button, by typing, audio input, gesture input, etc.) that indicates whether the user granted permission. For example, the user may select one of the "not now" or "allow" options shown in the permissions user interface element in FIG. 6. Processing continues to 508.
At 508, the robotic licensing system determines whether a license is granted. Determining whether permission is granted may be accomplished by evaluating the indication received instep 506. If permission is granted, processing continues to 510. If permission is not granted, processing continues to 514.
At 510, an indication of user data shared with the robot may optionally be provided. For example, an indication of "share position data" shown in fig. 7 may be provided as an indication to share user data with the robot according to permission granted by the user. Processing continues to 512. At 512, the robot may perform further processing to complete the task associated with the granted permission. For example, the car service robot may continue to determine which cars may be in locations that are capable of providing car services to the user. In another example, the accommodation robot may use the shared user location to determine nearby unoccupied and rentable accommodation.
At 514, the robot may cause an indication of the rejection of the task to be displayed to the user. For example, the robot may provide an indication such as "sorry i did not get your location — i could not arrange a car", etc. The indication may be displayed on a graphical user interface and/or provided in the form of an audio prompt or other output indication.
FIG. 6 is a schematic diagram of anexample user interface 600 with robotic messages, according to some embodiments. In particular, theuser interface 600 includes a message from the user to the robot (602).Message 602 includes a request ("find me a nearby hotel") that may require use of the user's personal information, such as location information (e.g., find a nearby hotel). In response to the request from the user, the robot may send a message to the user (604) indicating that the robot needs to access the user's location data to complete the request.
The bot may cause a permission allow/disallowinterface element 606 to be displayed. Thepermissions element 606 may include a description of what type of permissions are required (608), and input elements that do not allow or allow, respectively, the bot to access (or receive) permissions for the user data, 610 and 612.
FIG. 7 is a diagram of anexample user interface 700, theuser interface 700 following FIG. 6 and wherein the user has granted permission for the robot to use the user's location data.User interface 700 includeselements 602 and 604 described above in connection with fig. 6. Theuser interface 700 also includes an indication that the user data is shared with the robot (702) in response to the user granting permission, for example, by selecting theinput element 612. Theuser interface 700 also includes a message (704) from the robot indicating that the robot is processing the request, and one or more selectable suggestions (706 and 708) from the robot (704). If the user selects one of the suggestion elements (706, 708), the robot may cause details about the suggestion from the robot, in this example, the suggested nearby hotel identified by the robot, to be displayed.
FIG. 8 is a flow diagram of an example method of managing robot permissions within a group message context (e.g., within a "group chat"), according to some embodiments. Processing begins at 802 with receiving a request from a user at a robot. The robot may need to access user data in order to perform the requested task and/or provide a response to the request. The user and the robot may be in a group communication arrangement (e.g., as shown in fig. 3 or fig. 4) with multiple users and/or robots. For example, in a communication session with multiple users, the user may request, for example, a car pickup service to the multiple users. The car service robot may need to know the location of each user to be included in the pickup service in order to determine which cars are available to the pickup user. In another example, a user may wish to make a hotel reservation at a nearby hotel for a group of users participating in the session. In this example, the hotel reservation robot may need to know information about the user group, such as name, payment information, and the like. The request may be a request from a user, or may be an automatically generated request (e.g., from a suggestion reply robot, etc.). Processing continues to 804.
At 804, optionally, a progress indication is displayed by the robot, and may be displayed to the group in a group session or to the individual user making the request. For example, the car service robot may display a message such as "i am processing it" in the group session. Processing continues to 806.
At 806, the permission user interface element is caused to be displayed to the user associated with the request. An example of a permission request user interface element is shown in fig. 6 and described above. The permission user interface element may also be presented as an audio prompt or using other user interfaces and/or output methods. Processing continues to 808.
At 808, an indication is received of whether one or more users grant permission for the bot to access or acquire corresponding user data. The indication may be received in the form of a user interface element selection (e.g., touching, tapping, selecting an on-screen user interface button, by typing, audio input, gesture input, etc.) that indicates whether the user granted permission. For example, the user may select one of the "not now" or "allowed" shown in the permissions user interface element of FIG. 6. Processing continues to 810.
At 810, the robotic permission system determines whether permission has been granted. Determining whether permission is granted may be accomplished by evaluating the indication received instep 808. If permission is granted, processing continues to 812. If permission is not granted, processing continues to 816.
At 812, the bot may begin a one-to-one chat with the user. The one-to-one chat and the messages exchanged in the one-to-one chat are not visible to the group of users in the group message session. Processing continues to 814.
At 814, the bot may perform further processing to complete tasks associated with permissions granted within a one-to-one user message session. For example, the car service robot may continue to determine which cars may be in locations that are capable of providing car services to the user. In another example, the accommodation robot may use the shared user location to determine nearby unoccupied and rentable accommodation.
At 816, the robot may display an "elegant" indication of the rejection task to the user within the group message session. For example, the robot may provide an indication such as "i am unable to get your location — i am unable to arrange a car", etc. The indication may be displayed on a graphical user interface or provided in the form of an audio prompt or other output indication. The elegant aspect of the rejection message may include the message not explicitly indicating that the user has not granted permission for the robot to use the user's data. In different implementations, the indication may include different textual content, for example, based on the request or other factors. For example, the indication in response to the user prohibiting access to a location in the context of ordering a car may include textual content such as "sorry, unavailable location", "i cannot find a car near you", "car service is unavailable", and so on. In some implementations, different indications may be sent to different participants in the group session. In some implementations, the indication may use different formats, such as a text box, a graphical indication, an animated indication, and so forth. In some implementations, the indication may use different styles, e.g., bold text, italic text, font, color, and the like.
Fig. 9 is a block diagram of anexample computing device 900,computing device 900 being operable to implement one or more features described herein. In one example,computing device 900 may be used to implement a client (or user) device, such as any of client devices 115a-115n shown in FIG. 1.Computing device 900 may be any suitable computer system, server, or other electronic or hardware device as described above.
One or more of the methods described herein may run in a stand-alone program capable of running on any type of computing device, a program running on a web browser, a mobile application ("app") running on a mobile computing device (e.g., a cell phone, smartphone, tablet, wearable device (watch, armband, jewelry, headwear, virtual reality goggles or glasses, augmented reality goggles or glasses, etc.), laptop, etc.). In one example, a client/server architecture may be used, for example, a mobile computing device (as a user device) to send user input data to a server device and receive final output data from the server for output (e.g., for display). In another example, all of the computations may be performed within a mobile app (and/or other app) on the mobile computing device. In another example, the computation may be split between the mobile computing device and one or more server devices.
In some implementations,computing device 900 includes a processor 902, memory 904, and an input/output (I/O)interface 906. The processor 902 may be one or more processors and/or processing circuits to execute program code and control basic operations of thecomputing device 900. A "processor" includes any suitable hardware and/or software system, mechanism, or component that processes data, signals, or other information. A processor can include a system with a general-purpose Central Processing Unit (CPU), multiple processing units, dedicated circuitry for achieving functionality, or other systems. Processing need not be limited to a particular geographic location, or have temporal limitations. For example, a processor may perform its functions in "batch mode," in "real-time," "offline," and so on. Portions of the processing may be performed by different (or the same) processing systems at different times and at different locations. The computer may be any processor in communication with a memory.
Memory 904 is typically provided incomputing device 900 for access by processor 902, and may be any suitable processor-readable storage medium, such as Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory, or the like, suitable for storing instructions to be executed by the processor, and provided separately from processor 902 and/or integrated with processor 902. The memory 904 may store software operated by the processor 902 on thecomputing device 900, including anoperating system 908 and one ormore applications 910, such as messaging applications, robotic applications, and the like. In some implementations, theapplication 910 may include instructions that enable the processor 902 to perform functions described herein, e.g., one or more of the methods of fig. 1 and 2. For example, theapplication 910 may include a message and/or a robotic application, including a program to manage robotic permissions as described herein. For example, one or more of the applications may provide a displayed user interface to display selectable options or controls in response to user input, as well as data based on the selected options. One or more of the methods disclosed herein may operate in several environments and platforms, e.g., as a standalone computer program that may run on any type of computing device, as a web application with web pages, as a mobile application ("app") running on a mobile computing device, etc.
Any software in memory 904 may alternatively be stored on any other suitable storage location or computer-readable medium. In addition, the memory 904 (and/or other connected storage devices) may store messages, permission settings, user preferences and related data structures, parameters, audio data, user preferences, and/or other instructions and data used in features described herein in the database 912. Memory 904 and any other type of storage (magnetic disks, optical disks, tape, or other tangible media) may be considered "storage" or "storage device.
I/O interface 906 may provide functionality to connectcomputing device 900 with other systems and devices. The interface device may be included as part ofcomputing device 900 or may be separate from and in communication withcomputing device 900. For example, network communication devices, wireless communication devices, storage devices, and input/output devices may communicate via the I/O interface 906. In some implementations, the I/O interface 906 can connect to interface devices such as input devices (keyboards, pointing devices, touch screens, microphones, cameras, scanners, sensors, etc.) and/or output devices (display devices, speaker devices, printers, motors, etc.).
Some examples of interface devices that can be connected to I/O interface 906 may include a display device 914, which display device 914 may be used to display content, such as images, video, and/or user interfaces, of an output application as described herein. Display device 914 may be connected tocomputing device 900 through a local connection (e.g., a display bus) and/or through a network connection, and may be any suitable display device. Display device 914 may include any suitable display device, such as a Liquid Crystal Display (LCD), Light Emitting Diode (LED), or plasma display screen, Cathode Ray Tube (CRT), television, monitor, touch screen, 3D display screen, or other visual display device. For example, the display device 914 may be a flat display screen provided on a mobile device, multiple display screens provided in a goggle device, or a monitor screen for a computer device.
I/O interface 906 may interface with other input and output devices. Some examples include one or more cameras that can capture image frames. Orientation sensors, such as gyroscopes and/or accelerometers, may provide sensor data indicating device orientation (which may correspond to field of view orientation in some embodiments) and/or camera orientation. Some implementations may provide a microphone for capturing sound (e.g., voice commands, etc.), an audio speaker device for outputting sound, or other input and output devices.
For ease of illustration, FIG. 9 shows one block of the processor 902, the memory 904, the I/O interface 906, theoperating system 908, and therobot licensing application 910, respectively. These blocks may represent one or more processors or processing circuits, operating systems, memories, I/O interfaces, applications, and/or software modules. In other implementations,computing device 900 may not have all of the components shown and/or may have other elements including other types of elements instead of or in addition to those shown herein. Although in some embodiments described herein user devices (e.g., 115a-115n) are described as performing the described blocks and operations, any suitable component or combination of components of a user device (e.g., 115a-115n) or similar device, or any suitable processor associated with such a system, may perform the described blocks and operations.
The methods described herein may be implemented by computer program instructions or code which may be run on a computer. For example, the code may be embodied by one or more digital processors (e.g., microprocessors or other processing circuits) and may be stored on a computer program product comprising a non-transitory computer-readable medium (e.g., a storage medium) such as a magnetic, optical, electromagnetic, or semiconductor storage medium, including a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a Random Access Memory (RAM), a read-only memory (ROM), flash memory, a rigid magnetic disk, an optical disk, a solid state memory drive, or the like. The program instructions may also be embodied in and provided as electronic signals, for example in the form of software as a service (SaaS) from a server (e.g., a distributed system and/or a cloud computing system). Alternatively, one or more of the methods may be implemented in hardware (logic gates, etc.) or a combination of hardware and software. Example hardware may be a programmable processor (e.g., a Field Programmable Gate Array (FPGA), Complex Programmable Logic Device (CPLD), etc.), a general purpose processor, a graphics processor, an Application Specific Integrated Circuit (ASIC), etc. One or more methods may be performed as part or component of an application running on a system, or as an application or software running with other applications and operating systems.
While the specification has been described with respect to specific embodiments thereof, these specific embodiments are merely illustrative and not restrictive. The concepts illustrated in the examples may be applied to other examples and embodiments.
Where certain embodiments discussed herein may collect or use personal information about a user (e.g., a user's phone number or portion of a phone number, user data, information about the user's social network, the user's location and time, the user's biometric information, the user's activities, and demographic information), the user is provided with one or more opportunities to control whether personal information is collected, whether personal information is stored, whether personal information is used, and how information about the user is collected, stored, and used. That is, the systems and methods discussed herein collect, store, and/or use user personal information exclusively upon receiving explicit authorization from the associated user. In addition, certain data may be processed in one or more ways prior to storage or use in order to remove personally identifiable information. As one example, the identity of the user may be processed so that personally identifiable information cannot be determined. As another example, the geographic location of the user may be generalized to a larger area such that a particular location of the user cannot be determined.
It is noted that the functional blocks, operations, features, methods, devices, and systems described in this disclosure can be integrated or separated into different combinations of systems, devices, and functional blocks, which will be known to those skilled in the art. The routines of particular embodiments may be implemented using any suitable programming language and programming techniques. Different programming techniques, such as object oriented or procedural, may be employed. The routines can run on a single processing device or multiple processors. Although the steps, operations, or computations may be presented in a specific order, the order may be changed in different specific embodiments. In some embodiments, multiple steps or operations shown as sequential in this specification may be performed at the same time. Further embodiments are disclosed below.
1. A computer-implemented method, comprising:
providing a messaging application on a first computing device associated with a first user to enable communication between the first user and at least one other user;
detecting a user request at a messaging application;
programmatically determining that an action in response to the user request requires access to data associated with the first user;
causing a permission interface to be presented in a messaging application on a first computing device, the permission interface enabling a first user to grant or disallow access to data associated with the first user; and
upon receiving user input from the first user indicating approval to access the data associated with the first user, the data associated with the first user is accessed and an action is performed in response to the user request.
2. The computer-implemented method of embodiment 1, further comprising:
upon receiving user input from the first user prohibiting access to data associated with the first user, providing an indication in the messaging application that no action is to be performed.
3. The computer-implemented method of one of embodiments 1 or 2, wherein the first user is a human user and the at least one other user is an auxiliary agent.
4. The computer-executed method of one of embodiments 1, 2, or 3, wherein the first user is a human user and the at least one other user comprises a second human user, the second human user being different from the first user and associated with a second computing device, and the permission interface is presented in a messaging application on the first computing device associated with the first user and the permission interface is not displayed on the second computing device associated with the second human user.
5. The computer-implemented method of one of embodiments 1-4, further comprising:
upon receiving user input from the first user prohibiting access to data associated with the first user,
providing a first indication for presentation on a first computing device associated with a first user, and
providing a second indication for presentation on a second computing device associated with the at least one other user, the first indication and the second indication indicating a failure to service the user request, wherein the first and second indications are different.
6. The computer-implemented method of embodiment 5, wherein the first indication and the second indication have one or more of the following: different text content, different styles and different formats.
7. The computer-implemented method of one of embodiments 1-6, wherein the first user is a human user and the at least one other user comprises a second human user and an assistance agent different from the first user, and wherein the user request is received at a first computing device associated with the first user, the method further comprising, in response to the user request, initiating a separate session in the messaging application, wherein the separate session comprises the first user and the assistance agent and does not comprise the second human user.
8. The computer-implemented method of one of embodiments 1-7, wherein detecting the user request comprises analyzing one or more messages received from one or more of the first user and the at least one other user in the messaging application.
9. The computer-implemented method of embodiment 8, wherein the one or more messages comprise one or more of a text message, a multimedia message, and a command to an auxiliary agent.
10. The computer-implemented method of one of embodiments 1-9, wherein performing an action in response to a user request comprises providing one or more suggestions to a first messaging application.
11. The computer-implemented method of embodiment 10, further comprising causing one or more suggestions to be presented in the messaging application.
12. The computer-implemented method of embodiment 11, wherein the one or more suggestions are presented as suggestion elements that, when selected by the first user, cause details about the suggestions to be displayed.

Claims (20)

Translated fromChinese
1.一种获取访问与用户相关联的数据的许可的方法,其特征在于,包括:1. A method of obtaining permission to access data associated with a user, comprising:在与第一用户相关联的第一计算设备上提供消息应用,以使所述第一用户与第二用户之间能够通信,所述第二用户与第二计算设备相关联,其中,所述第一用户是第一人类用户,并且所述第二用户是与所述第一用户不同的第二人类用户;A messaging application is provided on a first computing device associated with a first user to enable communication between the first user and a second user, the second user being associated with the second computing device, wherein the the first user is a first human user, and the second user is a second human user different from the first user;在所述消息应用检测用户请求;detecting a user request in the messaging application;以编程方式确定响应于所述用户请求的动作需要访问与所述第一用户相关联的数据;programmatically determining that an action in response to the user request requires access to data associated with the first user;通过在所述第一计算设备上本地显示许可界面,使所述许可界面呈现在所述第一计算设备上的所述消息应用中,所述许可界面使所述第一用户能够批准或禁止访问与所述第一用户相关联的所述数据;和The permission interface enables the first user to approve or deny access by causing the permission interface to be presented in the messaging application on the first computing device by locally displaying the permission interface on the first computing device the data associated with the first user; and在从所述第一用户收到指示批准访问与所述第一用户相关联的所述数据的用户输入后,访问与所述第一用户相关联的所述数据,并响应于所述用户请求来执行所述动作。accessing the data associated with the first user after receiving user input from the first user indicating approval to access the data associated with the first user, and in response to the user request to perform the action.2.如权利要求1所述的方法,其特征在于,还包括:2. The method of claim 1, further comprising:在从所述第一用户收到禁止访问与所述第一用户相关联的所述数据的用户输入后,在所述消息应用中提供不执行所述动作的指示。An indication is provided in the messaging application not to perform the action upon receipt of user input from the first user prohibiting access to the data associated with the first user.3.如权利要求1所述的方法,其特征在于,还包括提供来自辅助代理的交互,其中,来自所述辅助代理的所述交互的风格基于所述第一用户和所述辅助代理之间的所述通信的内容。3. The method of claim 1, further comprising providing an interaction from an auxiliary agent, wherein a style of the interaction from the auxiliary agent is based on a relationship between the first user and the auxiliary agent the content of said communication.4.如权利要求3所述的方法,其特征在于,所述交互的所述风格包括基于所述第一用户和所述辅助代理之间的包括表情符号的使用的所述通信的所述内容的所述表情符号的使用,或者所述风格包括基于所述第一用户和所述辅助代理之间的包括正式回复的所述通信的所述内容的所述正式回复。4. The method of claim 3, wherein the style of the interaction includes the content based on the communication between the first user and the assisting agent including use of emojis or the style includes the formal reply based on the content of the communication between the first user and the auxiliary agent including the formal reply.5.如权利要求1所述的方法,其特征在于,还包括:5. The method of claim 1, further comprising:在从所述第一用户收到禁止访问与所述第一用户相关联的所述数据的用户输入后,提供用于呈现在与所述第一用户相关联的所述第一计算设备上的第一指示,其中第一指示包括所述第一用户已禁止访问与所述第一用户相关联的所述数据并且不能执行所述动作的指示。After receiving user input from the first user disabling access to the data associated with the first user, providing for presentation on the first computing device associated with the first user A first indication, wherein the first indication includes an indication that the first user has disabled access to the data associated with the first user and cannot perform the action.6.如权利要求5所述的方法,其特征在于,还包括:6. The method of claim 5, further comprising:提供第二指示,用于呈现在与所述第二用户相关联的第二计算设备上,其中所述第一指示和所述第二指示指示未能服务所述用户请求,其中所述第一指示和所述第二指示不同。providing a second indication for presentation on a second computing device associated with the second user, wherein the first indication and the second indication indicate failure to service the user request, wherein the first The indication is different from the second indication.7.根据权利要求6所述的方法,其特征在于,所述第一指示和所述第二指示具有以下中的一个或多个:不同的文本内容、不同的风格和不同的格式。7. The method of claim 6, wherein the first indication and the second indication have one or more of the following: different textual content, different styles, and different formats.8.如权利要求1所述的方法,其特征在于,其中所述用户请求在与所述第一用户相关联的所述第一计算设备上接收,所述方法还包括,响应于所述用户请求,在所述消息应用中发起单独的会话,其中所述单独的会话包括所述第一用户和辅助代理,并且不包括所述第二用户。8. The method of claim 1, wherein the user request is received on the first computing device associated with the first user, the method further comprising, in response to the user request to initiate a separate session in the messaging application, wherein the separate session includes the first user and the secondary agent and does not include the second user.9.如权利要求1所述的方法,其特征在于,检测所述用户请求包括分析所述消息应用中的从所述第一用户和所述第二用户中的一个或多个接收的一个或多个消息。9. The method of claim 1, wherein detecting the user request comprises analyzing one or more of the message application received from one or more of the first user and the second user multiple messages.10.如权利要求9所述的方法,其特征在于,所述一个或多个消息包括文本消息、多媒体消息和对辅助代理的命令中的一个或多个。10. The method of claim 9, wherein the one or more messages comprise one or more of a text message, a multimedia message, and a command to a secondary agent.11.如权利要求1所述的方法,其特征在于,响应于所述用户请求执行所述动作包括在所述消息应用中提供一个或多个用户可选择的建议,并且其中在用户从所述一个或多个用户可选择的建议中选择特定建议后,相应的消息从所述第一计算设备发送到所述第二用户的所述第二计算设备。11. The method of claim 1, wherein performing the action in response to the user request comprises providing one or more user-selectable suggestions in the messaging application, and wherein when a user selects from the user After selecting a particular suggestion from the one or more user-selectable suggestions, a corresponding message is sent from the first computing device to the second computing device of the second user.12.如权利要求11所述的方法,其特征在于,还包括使所述一个或多个用户可选择的建议呈现在所述消息应用中。12. The method of claim 11, further comprising causing the one or more user-selectable suggestions to be presented in the messaging application.13.如权利要求12所述的方法,其特征在于,所述一个或多个用户可选择的建议作为建议元素被呈现,当由所述第一用户选择时,所述建议元素使得关于所述一个或多个用户可选择的建议的细节被显示。13. The method of claim 12, wherein the one or more user-selectable suggestions are presented as suggestion elements that, when selected by the first user, cause information about the Details of one or more user-selectable suggestions are displayed.14.一种获取访问与用户相关联的数据的许可的方法,其特征在于,包括:14. A method of obtaining permission to access data associated with a user, comprising:在第一计算设备上运行的第一消息应用检测来自第一用户的用户请求,其中,所述第一消息应用所述第一用户与第二用户之间能够通信,所述第二用户与第二计算设备相关联,其中,所述第一用户是第一人类用户,并且所述第二用户是与所述第一用户不同的第二人类用户;A first messaging application running on a first computing device detects a user request from a first user, wherein the first messaging application is capable of communicating between the first user and a second user, the second user and the first user two computing devices are associated, wherein the first user is a first human user and the second user is a second human user different from the first user;响应于所述用户请求,在所述第一消息应用中发起单独的会话,其中所述单独的会话包括所述第一用户和辅助代理,并且不包括所述第二用户;Initiating a separate session in the first messaging application in response to the user request, wherein the separate session includes the first user and an auxiliary agent and does not include the second user;以编程方式确定响应于所述用户请求的动作需要访问与所述第一用户相关联的数据;programmatically determining that an action in response to the user request requires access to data associated with the first user;使许可界面呈现在所述第一计算设备上的所述消息应用中,所述许可界面使所述第一用户能够批准或禁止访问与所述第一用户相关联的所述数据;和causing a permission interface to be presented in the messaging application on the first computing device, the permission interface enabling the first user to approve or disallow access to the data associated with the first user; and在所述许可界面收到来自所述第一用户的批准后,访问与所述第一用户相关联的所述数据并响应于所述用户请求执行所述动作。After the permission interface receives approval from the first user, the data associated with the first user is accessed and the action is performed in response to the user request.15.如权利要求14所述的方法,其特征在于,还包括:15. The method of claim 14, further comprising:在从所述第一用户收到禁止访问与所述第一用户相关联的所述数据的用户输入后,在所述第一消息应用中提供不执行所述动作的指示。An instruction not to perform the action is provided in the first messaging application upon receipt of user input from the first user prohibiting access to the data associated with the first user.16.如权利要求14所述的方法,其特征在于,还包括:16. The method of claim 14, further comprising:在接收到来自所述第一用户的用户输入后,After receiving user input from the first user,禁止访问与所述第一用户相关联的所述数据;prohibit access to said data associated with said first user;提供第一指示,用于呈现在所述第一消息应用中;和providing a first indication for presentation in the first messaging application; and提供第二指示,用于呈现在与所述第二用户相关联的第二消息应用中,所述第一指示和所述第二指示指示未能服务所述用户请求,其中所述第一指示和所述第二指示不同。providing a second indication for presentation in a second messaging application associated with the second user, the first indication and the second indication indicating failure to service the user request, wherein the first indication different from the second indication.17.一种获取访问与用户相关联的数据的许可的系统,其特征在于,包括:17. A system for obtaining permission to access data associated with a user, comprising:一个或多个处理器,耦合到非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有指令,当由所述一个或多个处理器运行时,所述指令使所述一个或多个处理器执行操作,所述操作包括:one or more processors coupled to a non-transitory computer-readable medium having stored thereon instructions that, when executed by the one or more processors, cause the The one or more processors perform operations including:在与第一用户相关联的第一计算设备上提供消息应用,以使所述第一用户与第二用户之间能够通信,所述第二用户与第二计算设备相关联,其中,所述第一用户是第一人类用户,并且所述第二用户是与所述第一用户不同的第二人类用户;A messaging application is provided on a first computing device associated with a first user to enable communication between the first user and a second user, the second user being associated with the second computing device, wherein the the first user is a first human user, and the second user is a second human user different from the first user;在所述消息应用检测用户请求;detecting a user request in the messaging application;以编程方式确定响应于所述用户请求的动作需要访问与所述第一用户相关联的数据;programmatically determining that an action in response to the user request requires access to data associated with the first user;通过在所述第一计算设备上本地显示许可界面,使所述许可界面呈现在所述第一计算设备上的所述消息应用中,所述许可界面使所述第一用户能够批准或禁止访问与所述第一用户相关联的所述数据;和The permission interface enables the first user to approve or deny access by causing the permission interface to be presented in the messaging application on the first computing device by locally displaying the permission interface on the first computing device the data associated with the first user; and在从所述第一用户收到指示批准访问与所述第一用户相关联的所述数据的用户输入后,访问与所述第一用户相关联的所述数据,并响应于所述用户请求执行所述动作。accessing the data associated with the first user after receiving user input from the first user indicating approval to access the data associated with the first user, and in response to the user request perform the action.18.如权利要求17所述的系统,其特征在于,所述操作还包括:18. The system of claim 17, wherein the operations further comprise:在从所述第一用户收到禁止访问与所述第一用户相关联的所述数据的用户输入后,在所述消息应用中提供不执行所述动作的指示。An indication is provided in the messaging application not to perform the action upon receipt of user input from the first user prohibiting access to the data associated with the first user.19.如权利要求17所述的系统,其特征在于,还包括提供来自辅助代理的交互,其中,来自所述辅助代理的所述交互的风格基于所述第一用户和所述辅助代理之间的所述通信的内容。19. The system of claim 17, further comprising providing an interaction from an auxiliary agent, wherein a style of the interaction from the auxiliary agent is based on a relationship between the first user and the auxiliary agent the content of said communication.20.如权利要求17所述的系统,其特征在于,其中所述用户请求在与所述第一用户相关联的所述第一计算设备上接收,所述操作还包括,响应于所述用户请求,在所述消息应用中发起单独的会话,其中所述单独的会话包括所述第一用户和辅助代理,并且不包括所述第二用户。20. The system of claim 17, wherein the user request is received on the first computing device associated with the first user, the operations further comprising, in response to the user request to initiate a separate session in the messaging application, wherein the separate session includes the first user and the secondary agent and does not include the second user.
CN201780056982.8A2016-09-202017-09-19 Method and system for obtaining permission to access data associated with a userActiveCN109716727B (en)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US201662397047P2016-09-202016-09-20
US62/397,0472016-09-20
PCT/US2017/052333WO2018057536A1 (en)2016-09-202017-09-19Bot requesting permission for accessing data

Publications (2)

Publication NumberPublication Date
CN109716727A CN109716727A (en)2019-05-03
CN109716727Btrue CN109716727B (en)2021-10-15

Family

ID=60022179

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201780056982.8AActiveCN109716727B (en)2016-09-202017-09-19 Method and system for obtaining permission to access data associated with a user

Country Status (5)

CountryLink
US (5)US10511450B2 (en)
JP (1)JP6659910B2 (en)
CN (1)CN109716727B (en)
DE (1)DE112017003594T5 (en)
WO (1)WO2018057536A1 (en)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN108781175B (en)2015-12-212021-09-21谷歌有限责任公司Method, medium, and system for automatic suggestion of message exchange contexts
US10757043B2 (en)2015-12-212020-08-25Google LlcAutomatic suggestions and other content for messaging applications
WO2018057541A1 (en)2016-09-202018-03-29Google LlcSuggested responses based on message stickers
CN109716727B (en)2016-09-202021-10-15谷歌有限责任公司 Method and system for obtaining permission to access data associated with a user
US10015124B2 (en)*2016-09-202018-07-03Google LlcAutomatic response suggestions based on images received in messaging applications
US10361975B2 (en)*2016-10-102019-07-23Microsoft Technology Licensing, LlcMessaging bot selection in multi-bot chat sessions
US10416846B2 (en)2016-11-122019-09-17Google LlcDetermining graphical element(s) for inclusion in an electronic communication
US11140101B2 (en)2017-03-272021-10-05Orion Labs, Inc.Bot group messaging method
US10333868B2 (en)*2017-04-142019-06-25Facebook, Inc.Techniques to automate bot creation for web pages
US10891485B2 (en)2017-05-162021-01-12Google LlcImage archival based on image categories
US10348658B2 (en)2017-06-152019-07-09Google LlcSuggested items for use with embedded applications in chat conversations
US10404636B2 (en)2017-06-152019-09-03Google LlcEmbedded programs and interfaces for chat conversations
US10659409B1 (en)*2017-09-292020-05-19Snap Inc.Media access system
US10891526B2 (en)2017-12-222021-01-12Google LlcFunctional image archiving
US20210012778A1 (en)*2018-03-202021-01-14Sony CorporationInformation processing device and information processing system
CN110308877B (en)*2018-03-202024-05-17富士胶片商业创新有限公司 Message providing device and non-transitory computer readable medium
CN110377240B (en)*2018-04-132024-06-14富士胶片商业创新有限公司Message providing apparatus, message providing method, and non-transitory computer readable medium
US10419934B1 (en)*2018-05-092019-09-17Facebook, Inc.Systems and methods for authenticating users based on enriched data
US11373640B1 (en)*2018-08-012022-06-28Amazon Technologies, Inc.Intelligent device grouping
USD950587S1 (en)2018-08-312022-05-03Zoox, Inc.Display screen or portion thereof having a graphical user interface
JP7167592B2 (en)*2018-09-252022-11-09富士フイルムビジネスイノベーション株式会社 Control device and control program
JP6938597B2 (en)*2018-11-222021-09-22株式会社カカオ Instant messaging service methods and equipment that provide scheduling services
US10970911B2 (en)*2019-02-212021-04-06Facebook Technologies, LlcGraphics processing chip with machine-learning based shader
US11596867B2 (en)2019-03-192023-03-07modl.ai ApSAI-based content generation for gaming applications
US10918948B2 (en)*2019-03-192021-02-16modl.ai ApSGame bot generation for gaming applications
US11331581B2 (en)2019-03-192022-05-17modl.ai ApSExperience based game development and methods for use therewith
JP7287040B2 (en)*2019-03-222023-06-06富士フイルムビジネスイノベーション株式会社 Message providing device, program, and display control method
JP7255474B2 (en)*2019-12-172023-04-11トヨタ自動車株式会社 Control device, system, program, terminal device, and control method
US10841251B1 (en)*2020-02-112020-11-17Moveworks, Inc.Multi-domain chatbot
WO2021173611A1 (en)*2020-02-252021-09-02Liveperson, Inc.Intent analysis for call center response generation
US11888790B2 (en)2020-06-262024-01-30Cisco Technology, Inc.Dynamic skill handling mechanism for bot participation in secure multi-user collaboration workspaces
CN111680328B (en)*2020-07-092023-06-23腾讯科技(深圳)有限公司Data processing method, device, server and computer readable storage medium
US11436793B1 (en)2021-02-122022-09-06Facebook Technologies, LlcSystems and methods for graphics rendering based on machine learning
CA3230722A1 (en)2021-09-022023-03-09Yoky MatsuokaSystems and methods for dynamic chat streams
US20230289700A1 (en)*2022-03-092023-09-14Capital One Services, LlcSystems and methods for call compliance and verification
US12184516B2 (en)2022-07-202024-12-31Cisco Technology, Inc.User lifecycle journey and asset data based bot skill selection
US12235889B2 (en)2022-08-262025-02-25Google LlcDevice messages provided in displayed image compilations based on user content
CN115570558B (en)*2022-10-282023-07-11武汉恒新动力科技有限公司Somatosensory collaborative teleoperation system and method for controlled object cluster
WO2024263453A1 (en)*2023-06-212024-12-26Microsoft Technology Licensing, LlcData security for machine learning systems
US20240427928A1 (en)*2023-06-212024-12-26Microsoft Technology Licensing, LlcData security for machine learning systems
USD1080667S1 (en)*2023-07-212025-06-24Samsung Electronics Co., Ltd.Display screen or portion thereof with graphical user interface

Family Cites Families (315)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5963649A (en)*1995-12-191999-10-05Nec CorporationMessage authorization system for authorizing message for electronic document
US6092102A (en)1997-10-242000-07-18University Of Pittsburgh Of The Commonwealth System Of Higher EducationSystem and method for notifying users about information or events of an enterprise
US7904187B2 (en)1999-02-012011-03-08Hoffberg Steven MInternet appliance system and method
JP2000298676A (en)1999-04-142000-10-24Bandai Co Ltd Information provision device
JP4485035B2 (en)*2000-08-292010-06-16富士通株式会社 Virtual space security methods
WO2002027712A1 (en)*2000-09-292002-04-04Professorq, Inc.Natural-language voice-activated personal assistant
JP2002132804A (en)2000-10-242002-05-10Sanyo Electric Co LtdUser support system
US20020103837A1 (en)2001-01-312002-08-01International Business Machines CorporationMethod for handling requests for information in a natural language understanding system
CN100515035C (en)2001-09-102009-07-15株式会社尼康Digital camera system, image storage apparatus, and digital camera
US7636750B2 (en)2001-10-242009-12-22Sprint Spectrum L.P.Method and system for controlling scope of user participation in a communication session
US7283992B2 (en)2001-11-302007-10-16Microsoft CorporationMedia agent to suggest contextually related media content
US20040001099A1 (en)2002-06-272004-01-01Microsoft CorporationMethod and system for associating actions with semantic labels in electronic documents
US7234117B2 (en)2002-08-282007-06-19Microsoft CorporationSystem and method for shared integrated online social interaction
US20110107223A1 (en)2003-01-062011-05-05Eric TiltonUser Interface For Presenting Presentations
WO2004077291A1 (en)2003-02-252004-09-10Matsushita Electric Industrial Co., Ltd.Application program prediction method and mobile terminal
CA2525939C (en)2003-05-162015-09-22Picasa, Inc.Networked chat and media sharing systems and methods
US8645697B1 (en)*2003-08-082014-02-04Radix Holdings, LlcMessage authorization
US7363029B2 (en)*2003-09-122008-04-22Core Mobility, Inc.Unified interface for voice, text or picture message authoring
US20120322428A1 (en)2004-09-302012-12-20Motedata Inc.Network of tags
US10635723B2 (en)2004-02-152020-04-28Google LlcSearch engines and systems with handheld document data capture devices
US7363295B2 (en)2004-04-192008-04-22Yahoo! Inc.Techniques for inline searching in an instant messenger environment
US20060029106A1 (en)2004-06-142006-02-09Semandex Networks, Inc.System and method for providing content-based instant messaging
US7464110B2 (en)2004-06-302008-12-09Nokia CorporationAutomated grouping of image and other user data
US7734927B2 (en)*2004-07-212010-06-08International Business Machines CorporationReal-time voting based authorization in an autonomic workflow process using an electronic messaging system
US7917582B2 (en)2004-07-272011-03-29Siemens Enterprise Communications, Inc.Method and apparatus for autocorrelation of instant messages
US20060150119A1 (en)2004-12-312006-07-06France TelecomMethod for interacting with automated information agents using conversational queries
US7720436B2 (en)2006-01-092010-05-18Nokia CorporationDisplaying network objects in mobile devices based on geolocation
US7197324B2 (en)*2005-01-312007-03-27Sweeney Robert JPermission based text messaging
US7603413B1 (en)2005-04-072009-10-13Aol LlcUsing automated agents to facilitate chat communications
US7860319B2 (en)2005-05-112010-12-28Hewlett-Packard Development Company, L.P.Image management
US7512580B2 (en)2005-08-042009-03-31Sap AgConfidence indicators for automated suggestions
CN1988461A (en)2005-12-232007-06-27腾讯科技(深圳)有限公司Chat scence music playing method and system for instant communication tool
US7747785B2 (en)2006-04-142010-06-29Microsoft CorporationInstant messaging plug-ins
US9318108B2 (en)2010-01-182016-04-19Apple Inc.Intelligent automated assistant
US7752554B2 (en)*2006-10-052010-07-06Microsoft CorporationBot identification and control
US20090187831A1 (en)2006-10-102009-07-23Shahzad TiwanaIntegrated Electronic Mail and Instant Messaging System
US8145708B2 (en)*2006-11-102012-03-27Microsoft CorporationOn-line virtual robot (bot) security agent
US20080120371A1 (en)2006-11-162008-05-22Rajat GopalRelational framework for non-real-time audio/video collaboration
JP2008191748A (en)2007-02-012008-08-21Oki Electric Ind Co LtdInter-user communication method, inter-user communication program and inter-user communication device
US8654176B2 (en)2007-06-142014-02-18Sharp Kabushiki KaishaOperating system that includes an image data receiving device and an operation device for processing image data sets
JP2009009334A (en)2007-06-272009-01-15Ricoh Co Ltd Image processing apparatus, image processing method, and image processing program
TW200910845A (en)*2007-08-172009-03-01Mobot Technology IncLocation based anonymous instant message exchange method and system
CN101159576B (en)2007-08-302013-07-17腾讯科技(深圳)有限公司Chatting method, chatting room client terminal, system management background and server
US8638363B2 (en)2009-02-182014-01-28Google Inc.Automatically capturing information, such as capturing information using a document-aware device
US20110145068A1 (en)2007-09-172011-06-16King Martin TAssociating rendered advertisements with digital content
US8082151B2 (en)2007-09-182011-12-20At&T Intellectual Property I, LpSystem and method of generating responses to text-based messages
US20090119584A1 (en)2007-11-022009-05-07Steve HerbstSoftware Tool for Creating Outlines and Mind Maps that Generates Subtopics Automatically
WO2009079519A2 (en)2007-12-172009-06-25Play MegaphoneSystem and method for managing interaction between a user and an interactive system
JP5616325B2 (en)2008-03-312014-10-29コーニンクレッカ フィリップス エヌ ヴェ How to change the display based on user instructions
US20090282114A1 (en)2008-05-082009-11-12Junlan FengSystem and method for generating suggested responses to an email
US20090327436A1 (en)*2008-06-302009-12-31Chen Shihn-ChengInstant messaging network control module
US8166019B1 (en)2008-07-212012-04-24Sprint Communications Company L.P.Providing suggested actions in response to textual communications
JP5273712B2 (en)2008-08-112013-08-28シャープ株式会社 Information processing apparatus, information processing method, and information processing program
US8805110B2 (en)2008-08-192014-08-12Digimarc CorporationMethods and systems for content processing
WO2010023647A1 (en)2008-08-252010-03-04France TelecomSystem and method to identify and transfer to a wireless device actionable items based on user selected content
US8391618B1 (en)2008-09-192013-03-05Adobe Systems IncorporatedSemantic image classification and search
US8055710B2 (en)2008-09-242011-11-08International Business Machines CorporationSystem, method and computer program product for intelligent multi-person chat history injection
USD611053S1 (en)2008-11-242010-03-02Microsoft CorporationTransitional user interface for a portion of a display screen
USD599363S1 (en)2008-11-242009-09-01Microsoft CorporationTransitional cursor user interface for a portion of a display screen
US20130036162A1 (en)*2009-02-102013-02-07Mikekoenigs.Com, Inc.Automated Communication Techniques
US20100228590A1 (en)2009-03-032010-09-09International Business Machines CorporationContext-aware electronic social networking
JP4739438B2 (en)2009-03-262011-08-03株式会社エヌ・ティ・ティ・ドコモ Communication terminal and mail reply method
US9195898B2 (en)2009-04-142015-11-24Qualcomm IncorporatedSystems and methods for image recognition using mobile devices
US20120131520A1 (en)2009-05-142012-05-24Tang ding-yuanGesture-based Text Identification and Selection in Images
US9782527B2 (en)2009-05-272017-10-10Tc1 LlcMonitoring of redundant conductors
US9043407B1 (en)*2009-06-122015-05-26Avaya Inc.Interactive user interface to communication-enabled business process platforms method and apparatus
USD651609S1 (en)2009-06-262012-01-03Microsoft CorporationDisplay screen with an animated image
WO2011002989A1 (en)2009-07-022011-01-06Livechime, Inc.System and method for enhancing digital content
US8635223B2 (en)2009-07-282014-01-21Fti Consulting, Inc.System and method for providing a classification suggestion for electronically stored information
US9128610B2 (en)2009-09-302015-09-08At&T Mobility Ii LlcVirtual predictive keypad
US8121618B2 (en)2009-10-282012-02-21Digimarc CorporationIntuitive computing methods and systems
US8831279B2 (en)2011-03-042014-09-09Digimarc CorporationSmartphone-based methods and systems
US8400548B2 (en)2010-01-052013-03-19Apple Inc.Synchronized, interactive augmented reality displays for multifunction devices
USD624927S1 (en)2010-01-192010-10-05Microsoft CorporationUser interface for a portion of a display screen
US8650210B1 (en)2010-02-092014-02-11Google Inc.Identifying non-search actions based on a search query
US8782556B2 (en)2010-02-122014-07-15Microsoft CorporationUser-centric soft keyboard predictive technologies
US8655965B2 (en)2010-03-052014-02-18Qualcomm IncorporatedAutomated messaging response in wireless communication systems
US8266109B1 (en)2010-03-092012-09-11Symantec CorporationPerformance of scanning containers for archiving
JP2011211696A (en)2010-03-102011-10-20Nikon CorpImage data processing system, image data processing program, and image data processing apparatus
JP5733907B2 (en)2010-04-072015-06-10キヤノン株式会社 Image processing apparatus, image processing method, and computer program
US20110252207A1 (en)2010-04-082011-10-13Oracle International CorporationDynamic content archiving
US9929982B2 (en)2010-04-082018-03-27Microsoft Technology Licensing, LlcDesignating automated agents as friends in a social network service
US20170098122A1 (en)2010-06-072017-04-06Affectiva, Inc.Analysis of image content with associated manipulation of expression presentation
USD648343S1 (en)2010-06-242011-11-08Microsoft CorporationDisplay screen with user interface
USD648735S1 (en)2010-06-252011-11-15Microsoft CorporationDisplay screen with animated user interface
US20120030289A1 (en)2010-07-302012-02-02Avaya Inc.System and method for multi-model, context-sensitive, real-time collaboration
US8781152B2 (en)2010-08-052014-07-15Brian MomeyerIdentifying visual media content captured by camera-enabled mobile device
KR101722687B1 (en)2010-08-102017-04-04삼성전자주식회사Method for providing information between objects or object and user, user device, and storage medium thereof
US9936333B2 (en)2010-08-102018-04-03Microsoft Technology Licensing, LlcLocation and contextual-based mobile application promotion and delivery
US8966590B2 (en)*2010-08-172015-02-24Facebook, Inc.Managing social network accessibility based on age
US9262517B2 (en)2010-08-182016-02-16At&T Intellectual Property I, L.P.Systems and methods for social media data mining
US8566911B2 (en)*2010-10-062013-10-22Blackberry LimitedMethod of obtaining authorization for accessing a service
KR101753031B1 (en)2010-11-152017-06-30엘지전자 주식회사Mobile terminal and Method for setting metadata thereof
KR101060753B1 (en)2011-01-042011-08-31(주)올라웍스Method, terminal, and computer-readable recording medium for supporting collection of object included in inputted image
US20120179717A1 (en)2011-01-112012-07-12Sony CorporationSystem and method for effectively providing entertainment recommendations to device users
US8688698B1 (en)2011-02-112014-04-01Google Inc.Automatic text suggestion
US20120296991A1 (en)2011-02-232012-11-22Nova SpivackAdaptive system architecture for identifying popular topics from messages
US8849931B2 (en)2011-03-152014-09-30Idt Messaging, LlcLinking context-based information to text messages
US8938669B1 (en)2011-03-152015-01-20Google Inc.Inline user addressing in chat and document editing sessions
US20130262574A1 (en)2011-03-152013-10-03Gabriel CohenInline User Addressing in Chat Sessions
US8554701B1 (en)2011-03-182013-10-08Amazon Technologies, Inc.Determining sentiment of sentences from customer reviews
JP2012221480A (en)2011-04-062012-11-12L Is B CorpMessage processing system
US9049259B2 (en)2011-05-032015-06-02Onepatont Software LimitedSystem and method for dynamically providing visual action or activity news feed
EP2523436A1 (en)2011-05-112012-11-14Alcatel LucentMobile device and method of managing applications for a mobile device
USD658201S1 (en)2011-05-272012-04-24Microsoft CorporationDisplay screen with animated user interface
USD658677S1 (en)2011-05-272012-05-01Microsoft CorporationDisplay screen with animated user interface
USD658678S1 (en)2011-05-272012-05-01Microsoft CorporationDisplay screen with animated user interface
US8832284B1 (en)2011-06-162014-09-09Google Inc.Virtual socializing
US8881250B2 (en)2011-06-172014-11-04Ebay Inc.Passporting credentials between a mobile app and a web browser
US8589407B2 (en)2011-06-172013-11-19Google Inc.Automated generation of suggestions for personalized reactions in a social network
US8700480B1 (en)2011-06-202014-04-15Amazon Technologies, Inc.Extracting quotes from customer reviews regarding collections of items
US9588668B2 (en)2011-07-212017-03-07Imerj, LlcMethods of displaying a second view
US9245253B2 (en)2011-08-192016-01-26Disney Enterprises, Inc.Soft-sending chat messages
US8659667B2 (en)2011-08-292014-02-25Panasonic CorporationRecipe based real-time assistance for digital image capture and other consumer electronics devices
US9179278B2 (en)2011-09-012015-11-03Qualcomm IncorporatedSystems and methods involving augmented menu using mobile device
US10102546B2 (en)2011-09-152018-10-16Stephan HEATHSystem 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
BR102012024861B1 (en)2011-09-302021-02-09Apple Inc. system to disambiguate user input to perform a task
US20180032997A1 (en)2012-10-092018-02-01George A. GordonSystem, method, and computer program product for determining whether to prompt an action by a platform in connection with a mobile device
KR101521332B1 (en)2011-11-082015-05-20주식회사 다음카카오Method of provicing a lot of services extended from a instant messaging service and the instant messaging service
US9697016B2 (en)2011-11-152017-07-04Microsoft Technology Licensing, LlcSearch augmented menu and configuration for computer applications
USD673172S1 (en)2011-11-212012-12-25Microsoft CorporationDisplay screen with animated graphical user interface
KR101402506B1 (en)2011-12-012014-06-03라인 가부시키가이샤System and method for providing information interactively by instant messaging application
USD701228S1 (en)2012-01-062014-03-18Samsung Electronics Co., Ltd.Display screen or portion thereof with transitional graphical user interface
USD699744S1 (en)2012-01-062014-02-18Microsoft CorporationDisplay screen with an animated graphical user interface
AP00390S1 (en)2012-01-092013-05-13Samsung Electronics Co LtdSet comprising a sequence of generated images for a display screen or portion thereof
USD705802S1 (en)2012-02-072014-05-27Microsoft CorporationDisplay screen with animated graphical user interface
USD705251S1 (en)2012-02-092014-05-20Microsoft CorporationDisplay screen with animated graphical user interface
GB2499395A (en)2012-02-142013-08-21British Sky Broadcasting LtdSearch method
US9306878B2 (en)2012-02-142016-04-05Salesforce.Com, Inc.Intelligent automated messaging for computer-implemented devices
USD699739S1 (en)2012-02-222014-02-18Microsoft CorporationDisplay screen with animated graphical user interface
US20130218885A1 (en)2012-02-222013-08-22Salesforce.Com, Inc.Systems and methods for context-aware message tagging
USD701527S1 (en)2012-02-232014-03-25Htc CorporationDisplay screen with transitional graphical user interface
USD701528S1 (en)2012-02-242014-03-25Htc CorporationDisplay screen with transitional graphical user interface
US8620021B2 (en)2012-03-292013-12-31Digimarc CorporationImage-related methods and arrangements
US8855430B1 (en)2012-05-302014-10-07Google Inc.Refining image annotations
USD705244S1 (en)2012-06-202014-05-20Microsoft CorporationDisplay screen with animated graphical user interface
US20130346235A1 (en)2012-06-202013-12-26Ebay, Inc.Systems, Methods, and Computer Program Products for Caching of Shopping Items
US9191786B2 (en)2012-06-272015-11-17At&T Intellectual Property I, L.P.Method and apparatus for generating a suggested message to be sent over a network
US9412136B2 (en)2012-07-092016-08-09Facebook, Inc.Creation of real-time conversations based on social location information
KR20140011073A (en)2012-07-172014-01-28삼성전자주식회사Method and apparatus for recommending text
US9019415B2 (en)2012-07-262015-04-28Qualcomm IncorporatedMethod and apparatus for dual camera shutter
US9195645B2 (en)2012-07-302015-11-24Microsoft Technology Licensing, LlcGenerating string predictions using contexts
KR101899817B1 (en)2012-08-012018-09-19엘지전자 주식회사Mobile terminal and controlling method thereof
USD695755S1 (en)2012-08-062013-12-17Samsung Electronics Co., Ltd.TV monitor with graphical user interface
US20140047413A1 (en)2012-08-092014-02-13Modit, Inc.Developing, Modifying, and Using Applications
US20140052540A1 (en)2012-08-202014-02-20Giridhar RajaramProviding content using inferred topics extracted from communications in a social networking system
KR102068604B1 (en)2012-08-282020-01-22삼성전자 주식회사Apparatus and method for recognizing a character in terminal equipment
USD706802S1 (en)2012-08-282014-06-10Samsung Electronics Co., Ltd.Portable electronic device displaying transitional graphical user interface
US9218333B2 (en)2012-08-312015-12-22Microsoft Technology Licensing, LlcContext sensitive auto-correction
JP6160996B2 (en)2012-09-122017-07-12パナソニックIpマネジメント株式会社 Imaging device
US20140088954A1 (en)2012-09-272014-03-27Research In Motion LimitedApparatus and method pertaining to automatically-suggested emoticons
US10691743B2 (en)2014-08-052020-06-23Sri InternationalMulti-dimensional realization of visual content of an image collection
US9299060B2 (en)2012-10-122016-03-29Google Inc.Automatically suggesting groups based on past user interaction
KR20140052155A (en)2012-10-192014-05-07삼성전자주식회사Display apparatus, method for controlling the display apparatus and processor for controlling the display apparatus
USD714821S1 (en)2012-10-242014-10-07Microsoft CorporationDisplay screen with animated graphical user interface
WO2014068573A1 (en)2012-10-312014-05-08Aniways Advertising Solutions Ltd.Custom emoticon generation
US20140156801A1 (en)2012-12-042014-06-05Mobitv, Inc.Cowatching and connected platforms using a push architecture
US9244905B2 (en)2012-12-062016-01-26Microsoft Technology Licensing, LlcCommunication context based predictive-text suggestion
US20140164506A1 (en)2012-12-102014-06-12Rawllin International Inc.Multimedia message having portions of networked media content
US20140171133A1 (en)2012-12-182014-06-19Google Inc.Query response
CN103067490B (en)2012-12-262015-11-25腾讯科技(深圳)有限公司The Notification Method of mobile terminal communication session, terminal, server and system
GB201322037D0 (en)2013-12-122014-01-29Touchtype LtdSystem and method for inputting images/labels into electronic devices
US20140189538A1 (en)2012-12-312014-07-03Motorola Mobility LlcRecommendations for Applications Based on Device Context
US9020956B1 (en)2012-12-312015-04-28Google Inc.Sentiment and topic based content determination methods and systems
US8930481B2 (en)2012-12-312015-01-06Huawei Technologies Co., Ltd.Message processing method, terminal and system
US9374327B2 (en)2013-01-082016-06-21Vmware, Inc.Intelligent chat system
KR20140091633A (en)2013-01-112014-07-22삼성전자주식회사Method for providing recommended items based on conext awareness and the mobile terminal therefor
KR101821358B1 (en)2013-01-222018-01-25네이버 주식회사Method and system for providing multi-user messenger service
US20140237057A1 (en)2013-02-212014-08-21Genesys Telecommunications Laboratories, Inc.System and method for processing private messages in a contact center
USD704726S1 (en)2013-03-042014-05-13Roger Leslie MaxwellDisplay screen or portion thereof with animated graphical user interface
JP6255646B2 (en)2013-03-042018-01-10株式会社L is B Message system
US20140344058A1 (en)*2013-03-152014-11-20Fision Holdings, IncSystems and methods for distributed marketing automation
US8825474B1 (en)2013-04-162014-09-02Google Inc.Text suggestion output using past interaction data
US9177318B2 (en)2013-04-222015-11-03Palo Alto Research Center IncorporatedMethod 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-092018-03-20Ebay Inc.System and method for suggesting a phrase based on a context
US10523454B2 (en)2013-06-132019-12-31Evernote CorporationInitializing chat sessions by pointing to content
US10599765B2 (en)2013-06-272020-03-24Avaya Inc.Semantic translation model training
AU2014290148A1 (en)2013-07-162016-02-11Pinterest, Inc.Object based contextual menu controls
US9330110B2 (en)2013-07-172016-05-03Xerox CorporationImage search system and method for personalized photo applications using semantic networks
US9794198B2 (en)2013-07-192017-10-17Tencent Technology (Shenzhen) Company LimitedMethods and systems for creating auto-reply messages
US10162884B2 (en)2013-07-232018-12-25Conduent Business Services, LlcSystem and method for auto-suggesting responses based on social conversational contents in customer care services
EP2838060A1 (en)*2013-08-142015-02-18Facebook, Inc.Methods and systems for facilitating e-commerce payments
US9161188B2 (en)2013-08-222015-10-13Yahoo! Inc.System and method for automatically suggesting diverse and personalized message completions
CN104035947B (en)2013-09-162016-04-13腾讯科技(深圳)有限公司Point of interest recommend method and device, acquisition recommend method and the device of point of interest
EP2852105A1 (en)2013-09-202015-03-25Ignazio Di ToccoComputer 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-262016-07-26International Business Machines CorporationAutomatic question generation and answering based on monitored messaging sessions
US9329692B2 (en)2013-09-272016-05-03Microsoft Technology Licensing, LlcActionable content displayed on a touch screen
US20150100537A1 (en)2013-10-032015-04-09Microsoft CorporationEmoji for Text Predictions
US8996639B1 (en)2013-10-152015-03-31Google Inc.Predictive responses to incoming communications
US20150127753A1 (en)2013-11-042015-05-07Meemo, LlcWord Recognition and Ideograph or In-App Advertising System
CN105940397B (en)2013-12-122020-08-14移动熨斗公司Method and system for application synchronization
KR20150071768A (en)2013-12-182015-06-29에스케이하이닉스 주식회사Image sensor and method for fabricating the same
US10565268B2 (en)2013-12-192020-02-18Adobe Inc.Interactive communication augmented with contextual information
US9661067B2 (en)2013-12-232017-05-2324/7 Customer, Inc.Systems and methods for facilitating dialogue mining
US9519408B2 (en)2013-12-312016-12-13Google Inc.Systems and methods for guided user actions
US9817813B2 (en)2014-01-082017-11-14Genesys Telecommunications Laboratories, Inc.Generalized phrases in automatic speech recognition systems
US20150207765A1 (en)2014-01-172015-07-23Nathaniel BrantinghamMessaging Service with Conversation Suggestions
WO2015116971A1 (en)2014-01-312015-08-06Heller Noah RaymondDetermination of aesthetic preferences based on user history
US9515968B2 (en)2014-02-052016-12-06Facebook, Inc.Controlling access to ideograms
EP3105714A4 (en)2014-02-102017-10-04Google, Inc.Smart camera user interface
CN104836720B (en)2014-02-122022-02-25北京三星通信技术研究有限公司 Method and device for information recommendation in interactive communication
US10095748B2 (en)2014-03-032018-10-09Microsoft Technology Licensing, LlcPersonalized information query suggestions
CN103841007B (en)2014-03-042017-05-10腾讯科技(深圳)有限公司Data processing method, device and system in online game system
KR102106787B1 (en)2014-03-172020-05-06에스케이텔레콤 주식회사Method for coupling application with instant messenger, apparatus and system for the same
CN104951428B (en)2014-03-262019-04-16阿里巴巴集团控股有限公司User's intension recognizing method and device
US9544257B2 (en)2014-04-042017-01-10Blackberry LimitedSystem and method for conducting private messaging
US9213941B2 (en)2014-04-222015-12-15Google Inc.Automatic actions based on contextual replies
US10482163B2 (en)2014-04-232019-11-19Klickafy, LlcClickable emoji
CN103995872B (en)2014-05-212017-04-05王青It is a kind of in the application based on developing scenes discussion with chat method and system
US10255449B2 (en)*2014-05-302019-04-09Apple Inc.Permission request
US10445396B2 (en)2014-05-312019-10-15Apple Inc.Device, method, and graphical user interface for extending functionality of a host application to another application
US9380010B2 (en)2014-06-032016-06-28International Business Machines CorporationConversation branching for more efficient resolution
US9858295B2 (en)2014-06-242018-01-02Google LlcRanking and selecting images for display from a set of images
WO2016003469A1 (en)2014-07-032016-01-07Nuance Communications, Inc.System and method for suggesting actions based upon incoming messages
US9043196B1 (en)2014-07-072015-05-26Machine Zone, Inc.Systems and methods for identifying and suggesting emoticons
US9082018B1 (en)2014-09-302015-07-14Google Inc.Method and system for retroactively changing a display characteristic of event indicators on an event timeline
US9990105B2 (en)2014-07-082018-06-05Verizon Patent And Licensing Inc.Accessible contextual controls within a graphical user interface
US20160043817A1 (en)2014-07-182016-02-11RSS Technologies, LLCMethods and apparatus for locality based broadcasting
WO2016018111A1 (en)2014-07-312016-02-04Samsung Electronics Co., Ltd.Message service providing device and method of providing content via the same
CN104202718A (en)2014-08-052014-12-10百度在线网络技术(北京)有限公司Method and device for providing information for user
US10218652B2 (en)2014-08-082019-02-26Mastercard International IncorporatedSystems and methods for integrating a chat function into an e-reader application
US9965559B2 (en)2014-08-212018-05-08Google LlcProviding automatic actions for mobile onscreen content
US9705832B2 (en)2014-08-272017-07-11Lenovo (Singapore) Pte. Ltd.Context-aware aggregation of text-based messages
US10447621B2 (en)2014-09-042019-10-15Microsoft Technology Licensing, LlcApp powered extensibility of messages on an existing messaging service
US10146748B1 (en)2014-09-102018-12-04Google LlcEmbedding location information in a media collaboration using natural language processing
WO2016072117A1 (en)2014-11-072016-05-12ソニー株式会社Information processing device, control method, and storage medium
US20160140477A1 (en)2014-11-132016-05-19Xerox CorporationMethods and systems for assigning tasks to workers
US9569728B2 (en)2014-11-142017-02-14Bublup Technologies, Inc.Deriving semantic relationships based on empirical organization of content by users
CN105786455B (en)2014-12-172020-02-18深圳市腾讯计算机系统有限公司Data processing method and device and terminal
US20160179816A1 (en)2014-12-222016-06-23Quixey, Inc.Near Real Time Auto-Suggest Search Results
US9727218B2 (en)2015-01-022017-08-08Microsoft Technology Licensing, LlcContextual browser frame and entry box placement
KR20160089152A (en)2015-01-192016-07-27주식회사 엔씨소프트Method and computer system of analyzing communication situation based on dialogue act information
KR101634086B1 (en)2015-01-192016-07-08주식회사 엔씨소프트Method and computer system of analyzing communication situation based on emotion information
US20160224524A1 (en)2015-02-032016-08-04Nuance Communications, Inc.User generated short phrases for auto-filling, automatically collected during normal text use
US20160226804A1 (en)2015-02-032016-08-04Google Inc.Methods, systems, and media for suggesting a link to media content
US9661386B2 (en)2015-02-112017-05-23Google Inc.Methods, systems, and media for presenting a suggestion to watch videos
US10079785B2 (en)2015-02-122018-09-18Google LlcDetermining reply content for a reply to an electronic communication
US20160285816A1 (en)*2015-03-252016-09-29Facebook, Inc.Techniques for automated determination of form responses
US10353542B2 (en)2015-04-022019-07-16Facebook, Inc.Techniques for context sensitive illustrated graphical user interface elements
US10965622B2 (en)2015-04-162021-03-30Samsung Electronics Co., Ltd.Method and apparatus for recommending reply message
US9703541B2 (en)2015-04-282017-07-11Google Inc.Entity action suggestion on a mobile device
US9883358B2 (en)2015-05-082018-01-30Blackberry LimitedElectronic device and method of determining suggested responses to text-based communications
US10909329B2 (en)2015-05-212021-02-02Baidu Usa LlcMultilingual image question answering
US10504509B2 (en)2015-05-272019-12-10Google LlcProviding suggested voice-based action queries
US10091140B2 (en)2015-05-312018-10-02Microsoft Technology Licensing, LlcContext-sensitive generation of conversational responses
KR20160148260A (en)2015-06-162016-12-26삼성전자주식회사Electronic device and Method for controlling the electronic device thereof
US10274911B2 (en)2015-06-252019-04-30Intel CorporationConversational interface for matching text of spoken input based on context model
US10042866B2 (en)2015-06-302018-08-07Adobe Systems IncorporatedSearching untagged images with text-based queries
US9712466B2 (en)2015-11-102017-07-18Wrinkl, Inc.Integrating actionable objects into an on-line chat communications platform
EP4170525A1 (en)2015-07-152023-04-26rewardStyle, Inc.Systems and methods for screenshot linking
US20170031575A1 (en)2015-07-282017-02-02Microsoft Technology Licensing, LlcTailored computing experience based on contextual signals
CN105141503A (en)*2015-08-132015-12-09北京北信源软件股份有限公司Novel instant messaging intelligent robot
CN105183276A (en)2015-08-192015-12-23小米科技有限责任公司Method and apparatus for realizing game in chat interface, and and terminal device
CN105068661B (en)*2015-09-072018-09-07百度在线网络技术(北京)有限公司Man-machine interaction method based on artificial intelligence and system
US9467435B1 (en)*2015-09-152016-10-11Mimecast North America, Inc.Electronic message threat protection system for authorized users
US10445425B2 (en)2015-09-152019-10-15Apple Inc.Emoji and canned responses
US11025569B2 (en)2015-09-302021-06-01Apple Inc.Shared content presentation with integrated messaging
US10789525B2 (en)2015-10-022020-09-29Adobe Inc.Modifying at least one attribute of an image with at least one attribute extracted from another image
KR20170048964A (en)2015-10-272017-05-10라인 가부시키가이샤Method and apparatus of providing message, Method and apparatus of controlling display and computer program for executing one of the method
CN105262675A (en)2015-10-292016-01-20北京奇虎科技有限公司Method and apparatus for controlling chat based on electronic book
KR102393928B1 (en)2015-11-102022-05-04삼성전자주식회사User terminal apparatus for recommanding a reply message and method thereof
US9633048B1 (en)2015-11-162017-04-25Adobe Systems IncorporatedConverting a text sentence to a series of images
US10129193B2 (en)2015-11-172018-11-13International Business Machines CorporationIdentifying relevant content contained in message streams that appear to be irrelevant
US20170147202A1 (en)2015-11-242017-05-25Facebook, Inc.Augmenting text messages with emotion information
KR102427833B1 (en)2015-11-302022-08-02삼성전자주식회사User terminal device and method for display thereof
CN105306281B (en)*2015-12-032019-05-14腾讯科技(深圳)有限公司Information processing method and client
US20170171117A1 (en)2015-12-102017-06-15International Business Machines CorporationMessage Suggestion Using Dynamic Information
US10757043B2 (en)2015-12-212020-08-25Google LlcAutomatic suggestions and other content for messaging applications
CN108781175B (en)2015-12-212021-09-21谷歌有限责任公司Method, medium, and system for automatic suggestion of message exchange contexts
US10732783B2 (en)2015-12-282020-08-04Microsoft Technology Licensing, LlcIdentifying image comments from similar images
KR101712180B1 (en)2015-12-292017-03-06라인 가부시키가이샤Computer Readable Recording Medium with Program, method and apparatus for Transmitting/Receiving Message
US9560152B1 (en)2016-01-272017-01-31International Business Machines CorporationPersonalized summary of online communications
US20170250935A1 (en)2016-02-252017-08-31Facebook, Inc.Techniques for messaging bot app interactions
US11477139B2 (en)2016-02-252022-10-18Meta Platforms, Inc.Techniques for messaging bot rich communication
US20170250930A1 (en)2016-02-292017-08-31Outbrain Inc.Interactive content recommendation personalization assistant
US20170288942A1 (en)*2016-03-302017-10-05Microsoft Technology Licensing, LlcPortal for Provisioning Autonomous Software Agents
US10831802B2 (en)*2016-04-112020-11-10Facebook, Inc.Techniques to respond to user requests using natural-language machine learning based on example conversations
US10452671B2 (en)2016-04-262019-10-22Facebook, Inc.Recommendations from comments on online social networks
US9866693B2 (en)2016-05-062018-01-09Genesys Telecommunications Laboratories, Inc.System and method for monitoring progress of automated chat conversations
US20170344224A1 (en)2016-05-272017-11-30Nuance Communications, Inc.Suggesting emojis to users for insertion into text-based messages
CN105898627B (en)2016-05-312019-04-12北京奇艺世纪科技有限公司A kind of video broadcasting method and device
US20170359283A1 (en)2016-06-122017-12-14Apple Inc.Music creation app in messaging app
US9990128B2 (en)2016-06-122018-06-05Apple Inc.Messaging application interacting with one or more extension applications
US10368208B2 (en)2016-06-122019-07-30Apple Inc.Layers in messaging applications
US10595169B2 (en)2016-06-122020-03-17Apple Inc.Message extension app store
US10785175B2 (en)2016-06-122020-09-22Apple Inc.Polling extension application for interacting with a messaging application
US10505872B2 (en)2016-06-122019-12-10Apple Inc.Messaging application interacting with one or more extension applications
US10852912B2 (en)2016-06-122020-12-01Apple Inc.Image creation app in messaging app
US10554599B2 (en)2016-06-122020-02-04Apple Inc.Conversion of detected URL in text message
US10194288B2 (en)2016-06-122019-01-29Apple Inc.Sticker distribution system for messaging apps
US11088973B2 (en)2016-06-122021-08-10Apple Inc.Conversion of text relating to media content and media extension apps
US20170366479A1 (en)*2016-06-202017-12-21Microsoft Technology Licensing, LlcCommunication System
US10254935B2 (en)2016-06-292019-04-09Google LlcSystems and methods of providing content selection
US10445845B2 (en)*2016-06-302019-10-15Paypal, Inc.Communicating in chat sessions using chat bots to provide real-time recommendations for negotiations
US10515393B2 (en)2016-06-302019-12-24Paypal, Inc.Image data detection for micro-expression analysis and targeted data services
CN109792402B (en)2016-07-082020-03-06艾赛普公司Automatically responding to a user's request
US20180032499A1 (en)2016-07-282018-02-01Google Inc.Automatically Generating Spelling Suggestions and Corrections Based on User Context
US10049310B2 (en)2016-08-302018-08-14International Business Machines CorporationImage text analysis for identifying hidden text
KR20180026983A (en)2016-09-052018-03-14삼성전자주식회사Electronic device and control method thereof
WO2018057541A1 (en)2016-09-202018-03-29Google LlcSuggested responses based on message stickers
JP6605151B2 (en)2016-09-202019-11-13グーグル エルエルシー Bot interaction
US10015124B2 (en)2016-09-202018-07-03Google LlcAutomatic response suggestions based on images received in messaging applications
CN109716727B (en)2016-09-202021-10-15谷歌有限责任公司 Method and system for obtaining permission to access data associated with a user
US11176931B2 (en)2016-09-232021-11-16Microsoft Technology Licensing, LlcConversational bookmarks
CN106484831A (en)2016-09-292017-03-08百度在线网络技术(北京)有限公司Search system, method and apparatus
US10416846B2 (en)2016-11-122019-09-17Google LlcDetermining graphical element(s) for inclusion in an electronic communication
US20180196854A1 (en)2017-01-112018-07-12Google Inc.Application extension for generating automatic search queries
US10146768B2 (en)2017-01-252018-12-04Google LlcAutomatic suggested responses to images received in messages using language model
US10229427B2 (en)2017-04-102019-03-12Wildfire Systems, Inc.Virtual keyboard trackable referral system
US20180316637A1 (en)2017-05-012018-11-01Microsoft Technology Licensing, LlcConversation lens for context
EP3619909B1 (en)2017-05-052022-07-27Liveperson, Inc.Dynamic response prediction for improved bot task processing
US10891485B2 (en)2017-05-162021-01-12Google LlcImage archival based on image categories
US10827319B2 (en)2017-06-022020-11-03Apple Inc.Messaging system interacting with dynamic extension app
US10404636B2 (en)2017-06-152019-09-03Google LlcEmbedded programs and interfaces for chat conversations
US10348658B2 (en)2017-06-152019-07-09Google LlcSuggested items for use with embedded applications in chat conversations

Also Published As

Publication numberPublication date
US20220255760A1 (en)2022-08-11
JP6659910B2 (en)2020-03-04
US20200099538A1 (en)2020-03-26
US11336467B2 (en)2022-05-17
US20250047508A1 (en)2025-02-06
CN109716727A (en)2019-05-03
US20230379173A1 (en)2023-11-23
US20180109526A1 (en)2018-04-19
US11700134B2 (en)2023-07-11
JP2019530050A (en)2019-10-17
US12126739B2 (en)2024-10-22
WO2018057536A1 (en)2018-03-29
DE112017003594T5 (en)2019-04-25
US10511450B2 (en)2019-12-17

Similar Documents

PublicationPublication DateTitle
CN109716727B (en) Method and system for obtaining permission to access data associated with a user
CN109691034B (en) Robot interaction
JP6625789B2 (en) Automatic Proposal Response to Received Image in Message Using Language Model
CN110945840B (en)Method and system for providing embedded application associated with messaging application
CN118301115A (en)Suggested items for use with embedded applications in chat conversations
WO2018057541A1 (en)Suggested responses based on message stickers
US20240428272A1 (en)Two way screen mirroring using a smart table
CN112534837B (en) Systems and methods for providing a flexible and integrated communications, dispatch and commerce platform
KhanStandardized architecture for conversational agents aka chatbots
US12277363B2 (en)Smart table system utilizing extended reality
US11853933B1 (en)Systems and methods for an interactive customer interface utilizing customer device context

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant

[8]ページ先頭

©2009-2025 Movatter.jp