A primer in machine reading comprehension

If you’ve been following the various news and announcements from Microsoft on Microsoft Search at events like Build and Microsoft Ignite, you’ve probably come across a demo or two on Machine Reading Comprehension (MRC). For example, a search for “Can I bring my dog to work?” in Microsoft Search in Bing.

Let’s explore what MRC is…

In brief, MRC is the ability to read and understand unstructured text and then answer questions about it or effectively algorithms that can learn to answer questions about new documents with limited amounts of training data, incorporate common sense, and leverage external knowledge about the world. Our primary goal is questioning-answering in the real world: we envision an experience where getting the answers you need to complex questions about your documents is simple, effective, and intuitive.

In 2018 we shared an article describing how Microsoft researchers have created technology that uses artificial intelligence to read a document and answer questions about it about as well as a human.

It’s a major milestone in the push to have search engines such as Bing and intelligent assistants such as Cortana interact with people and provide information in more natural ways, much like people communicate with each other.

For example, today, you can ask Bing a question such as “how long does coca-cola last?”, and get an answer most appropriate to the question asked… but it’s more than that…

A key, additive component of most MRC models is semantic understanding. For example, using the question above, using semantic understanding, search retrieves documents on “soda”. Traditional search experiences would conversely do keyword matching and simply attempt to find one or more documents or articles that have “coca-cola” in them. However, using deep learning, search engines such as Bing, understand that Coca-Cola is a soda, and retrieves related documents and articles (even though it doesn’t have word “Coca-Cola” in it) that satisfies the user’s intent.

Semantic Search Quick Shot.2019-12-04 11_46_27

Above, Machine reading comprehension and semantic understanding in Microsoft Search

To summarize, in search applications, machine comprehension will give a precise answer rather than a URL that contains the answer somewhere within a lengthy web page. Moreover, machine comprehension models can understand specific knowledge embedded in articles that usually cover narrow and specific domains, where the search data that algorithms depend upon is sparse.

To learn more about deep learning and MRC refer to the articles below:

Machine Reading Comprehension

Microsoft creates AI that can read a document and answer questions about it as well as a person

Deep learning and machine reading comprehension

Search notes: Connecting your data into search and services

Microsoft Search is a new cohesive search capability in Microsoft 365 enabling you to find, command, navigate and discover items across your organization’s network of data, transforming your search bar into a resource for collective knowledge. An AI-powered insight engine that connects content across Windows, Office apps, Office.com, SharePoint, OneDrive, and third-party ecosystems to surface relevant, personalized results, whether it’s a recent chat, people card or a document a coworker shared. This allows you to securely and safely get the information you need.

Connectors are a core feature which enable Microsoft Search to connect to integrate with various database, service, and application sources and to push your app’s rich content into Microsoft Search. Connectors help connect your organization’s data and users so they can achieve more.

Microsoft offers a range of approaches so you can build what is most useful to your business scenario, whether you are an end user, administrator or developer.  There are several approaches to connecting in the data you need across your ecosystem of applications.

Group Connectors for Microsoft 365

Whether you are tracking a Twitter feed, managing a project with Trello or watching the latest news headlines with Bing—Office 365 Connectors surfaces all the information you care about in the Office 365 Groups shared inbox, so you can easily collaborate with others and interact with the updates as they happen.

To learn more see also https://support.office.com/en-us/article/Connect-apps-to-your-groups-in-Outlook-ed0ce547-038f-4902-b9b3-9e518ae6fbab.

Microsoft Teams Connectors

Office 365 Connectors are a great way to push your app’s rich content into Microsoft Teams. Any user can connect a team to services like Trello, GitHub, Bing News, or Twitter and get notified of the team’s activity in that service. From tracking a team’s progress in Trello to following important hashtags in Twitter, Office 365 Connectors help your team to stay in sync and get more done.

You can even add actions to your content, turning them into actionable messages, so that users can complete tasks directly in the channel. (To learn more about actionable messages see also https://docs.microsoft.com/en-us/outlook/actionable-messages/.)

In addition, using connectors allows you to couple the incoming data from these connectors directly to your business processes with Microsoft Flow, the Microsoft workflow platform, natively integrated in Office 365 including SharePoint. To learn more about these concepts see also https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/connectors/connectors.

Custom Connectors

Building an Office 365 Connector for your application is easy. All you need to do is register your connector in our developer portal, add an integrated configuration experience to your application, and implement your connector. You can make it easy for your users to discover the connector by publishing to our catalog.

To learn more about how to build your own connectorssee also https://docs.microsoft.com/en-us/outlook/actionable-messages/connectors-dev-dashboard#build-your-own-connector.

In addition, you can use the Microsoft Graph APIs to call Office 365 data for your own applications.  The Microsoft Graph provides a unified programmability model that you can use to build apps for organizations and consumers that interact with the data of millions of users. You can use the Microsoft Graph REST APIs to access data in Azure Active Directory, Office 365 services, Enterprise Mobility and Security services, Windows 10 services, Dynamics 365, and more. To learn more see also https://graph.microsoft.com.

Microsoft 365 Administrators

Use Business Connectivity Services for hybrid implementations to crawl, customize, enrich and display external content.

With Business Connectivity Services, you can use SharePoint and Office clients as interfaces to data that doesn’t live in SharePoint itself. Business Connectivity Services can connect to data that is available through a database, a web service, or data that is published as an OData source or many other types of external data. Business Connectivity Services does this through out-of-the box or custom connectors. The connectors, as the name implies, are the communication bridge between SharePoint and the external system that hosts the external data.

To learn more about Business Connectivity Services see also https://docs.microsoft.com/en-us/sharepoint/administration/business-connectivity-services-overview.

Hybrid connectors include:

  • Microsoft SharePoint 2010
  • Microsoft SharePoint 2013
  • Microsoft SharePoint 2016
  • Microsoft SharePoint 2019
  • Microsoft Exchange Server 2007 and Exchange Server 2007 with Service Pack 1 (SP1)
  • Microsoft Exchange Server 2007 with Service Pack 2 (SP2)
  • Microsoft Exchange 2010
  • EMC Documentum Foundation Server (all versions compatible with DFS Productivity Layer 6.7 SP2)
  • IBM Lotus Notes Domino server and Lotus Notes client of the same version (e.g. v6, v7, v8)

Content available to crawl in/via with native connectors for:

  • Microsoft SQL Server
  • .NET
  • WCF Service
  • SOAP
  • REST Service Connection
  • XML File Connection

Azure Search

Azure Search is a search-as-a-service cloud solution that gives developers APIs and tools for adding a rich search experience over private, heterogenous content in web, mobile, and enterprise applications. Query execution is over a user-defined index.

  • Build a search corpus containing only your data, sourced from multiple content types and platforms.
  • Leverage AI-powered indexing to extract text and features from image files, or entities and key phrases from raw text.
  • Create intuitive search experiences with facet navigation and filters, synonyms, autocomplete, and text analysis for “did you mean” auto-corrected search terms.
  • Add geo-search for “find near me”, language analyzers for non-English full text search, and scoring logic for search rank.

Functionality is exposed through a simple REST APIor.NET SDKthat masks the inherent complexity of information retrieval. In addition to APIs, the Azure portal provides administration and content management support, with tools for prototyping and querying your indexes. Because the service runs in the cloud, infrastructure and availability are managed by Microsoft.

Search Developers

Build fully customizable search applications with Azure Search to index massive amounts of content and add custom enrichment and cognitive search skills, you can incorporate Office 365 data  by using the Microsoft Graph APIsas well as a myriad of external data.

Get started here https://azure.microsoft.com/en-us/services/search/.

Work with our partners

Microsoft 365 partners have developed a range of connectors to help you gather all the data you need.

Please visit Accenture, BAInsight and Raytion for more information.