BACKGROUND

There are a number of existing software programs for helping users manage their personal information. For instance, personal information management (“PIM”) programs can send, receive, and store electronic messages, and store address books, calendar events and tasks. Other applications also allow users to store and communicate files by the use of a network service, such as ONEDRIVE or other network storage services. Using these services, users can share and collaborate on virtually any type of document.

Although the tools described above individually provide specific features for helping users manage individual types of data, such as electronic messages, contact lists, documents, spreadsheets, images, and videos, there are a number of drawbacks with some existing systems. For instance, there are a number of scenarios where a user's personalized data set becomes too large. In some instances, a user may have tens or even hundreds of thousands of emails, images, documents, tasks lists, etc. This large amount of data can make it very difficult for many users to process, locate, and utilize data files relating to a particular context, such as an activity, person, or event.

There are a number of solutions that have been presented to help users organize and make use of large amounts of personal data. For instance, a number of companies have developed searching tools that enable users to query for relevant information. These tools are helpful for finding individual elements of content, such as a particular file or image. However, such tools may not provide the most accurate results given that the context of some queries may not be accurately represented.

In addition, it can be difficult to use general search tools to find data having specialized formats such as tasks, contact information, images, videos, etc. In some situations, for example, users may have to interact with a large number of applications to find content relating to a particular context, such as an activity or event. Then, once the content is located, the user is challenged with the task of compiling the content into a useable format.

These labor-intensive steps can be inconvenient for users and cause significant inefficiencies with respect to the utilization of computing resources. For example, opening and interacting with multiple applications to locate relevant information regarding a particular context can result in the inefficient utilization of processor cycles, memory, battery power, and network bandwidth. Moreover, some existing systems cause inefficient computer interactions that increase the frequency of inadvertent user inputs which, in turn, cause further inefficiencies with respect to the utilization of computing resources. Given these drawbacks and others, there still exists a need for tools that can efficiently identify and present salient information relating to a particular context.

It is with respect to these and other technical challenges that the disclosure made herein is presented.

SUMMARY

The technologies described herein provide an artificial intelligence (“AI”) driven human-computer interface (“HCI”) for associating low-level content to high-level activities using topics as an abstraction. The associations can be generated by a computing system for use in organizing, retrieving and displaying data in a usable format that improves user interaction with the computing system. In one aspect, the present disclosure provides an AI-driven HCI for associating volumes of low-level content, such as email content and calendar events, with high-level activity descriptions. The associations enable a computing system to provide activity-specific views that present a specific selection of the low-level content in an arrangement that is contextually relevant to a user's current situation.

In some configurations, an AI-based system presents activity-specific views of relevant activity-specific content. In particular, an AI engine can select activity-specific content relating to a multitude of activities. The selected activities can have associated relevance scores exceeding a predefined threshold value. The selected activity-specific content can be used to render user interface (“UI”) elements in a UI for the activities. The UI elements present an activity-specific view of the activity-specific content relating to each activity.

In other configurations, an AI-based system utilizes a schema to auto-generate an application for a specific context. An AI engine selects an activity schema associated with an activity. The schema identifies data sources for obtaining activity-specific content for the activity and can be selected based upon topics associated with the activity. The AI engine also selects a view definition that defines an arrangement of an activity-specific UI for presenting relevant activity-specific content obtained from the data sources identified by the schema. An application is then generated using the schema and the view definition. The application can generate the activity-specific UI for presenting the relevant activity-specific content.

In other configurations, an AI engine generates an activity graph that includes nodes corresponding to activities and that defines clusters of content associated with the activities. A natural language (“NL”) search engine can receive a NL query and parse the NL query to identify entities and intents specified by the NL query. Clusters of content defined by the activity graph can be identified based upon the identified entities and intents. A search can then be made of the identified clusters of content using the entities and intents. Search results identifying the content located by the search can then be returned in response to the NL query.

In other configurations, an AI engine selects a schema that defines an activity-specific UI for presenting activity-specific content based upon one or more topics associated with an activity. A UI can then be presented for receiving edits to the selected schema and the edits can be published for utilization by other users. Data identifying the edits, selection of a different schema for the activity, modification of properties associated with the selected schema, and data describing usage of the schema can be provided to the AI engine for using in improving an AI model utilized to select the schema.

Among many other technical benefits, the techniques disclosed herein can improve a user's interaction with one or more computing devices. For example, using the disclosed technologies a user can interact with only a single application to view and interact with various types of data such as, but not limited to, relevant email messages, images, calendar events, and tasks. This can reduce the utilization of computing resources like processor cycles, memory, network bandwidth, and power.

Improved user interaction can also reduce the likelihood of inadvertent user inputs and thus save computing resources, such as memory resources, processing resources, and networking resources. The reduction of inadvertent inputs can reduce a user's time interacting with a computer, reduce the need for redundant queries for data, and also reduce the need for repeated data retrieval. By providing the right information to users at the right time, many other technical benefits can also result. Other technical benefits not specifically mentioned herein can also be realized through implementations of the disclosed subject matter.

It is to be appreciated that while the technologies disclosed herein are primarily presented in the context of associating low-level content with activities, the disclosed technologies can additionally be utilized to associate low-level content with other types of contexts. It should also be appreciated that the subject matter disclosed herein can be implemented as a computer-controlled apparatus, a computer-implemented method, a computing device, or as an article of manufacture, such as a computer readable medium. These and various other features will be apparent from a reading of the following Detailed Description and a review of the associated drawings.

This Summary is provided to introduce a brief description of some aspects of the disclosed technologies in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages of prior solutions noted in any part of this disclosure.

